diff --git a/errors/error.go b/errors/error.go new file mode 100644 index 0000000..06ac931 --- /dev/null +++ b/errors/error.go @@ -0,0 +1,31 @@ +package errors + +import ( + "fmt" + + "github.com/z7zmey/php-parser/position" + "github.com/z7zmey/php-parser/token" +) + +// Error parsing error +type Error struct { + Msg string + Pos position.Position +} + +// NewError creates and returns new Error +func NewError(msg string, t token.Token) *Error { + return &Error{ + Msg: msg, + Pos: position.Position{ + StartLine: t.StartLine, + EndLine: t.EndLine, + StartPos: t.StartPos, + EndPos: t.EndPos, + }, + } +} + +func (e *Error) String() string { + return fmt.Sprintf("%s at line %d", e.Msg, e.Pos.StartLine) +} diff --git a/main.go b/main.go index 8d34d68..8f60985 100644 --- a/main.go +++ b/main.go @@ -9,6 +9,7 @@ import ( "github.com/yookoala/realpath" "github.com/z7zmey/php-parser/comment" + "github.com/z7zmey/php-parser/errors" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/php5" "github.com/z7zmey/php-parser/php7" @@ -20,6 +21,7 @@ func main() { var nodes node.Node var comments comment.Comments var positions position.Positions + var errors []*errors.Error usePhp5 := flag.Bool("php5", false, "use PHP5 parser") flag.Parse() @@ -34,9 +36,13 @@ func main() { src, _ := os.Open(string(path)) if *usePhp5 { - nodes, comments, positions = php5.Parse(src, path) + nodes, comments, positions, errors = php5.Parse(src, path) } else { - nodes, comments, positions = php7.Parse(src, path) + nodes, comments, positions, errors = php7.Parse(src, path) + } + + for _, e := range errors { + fmt.Println(e) } nsResolver := visitor.NewNamespaceResolver() diff --git a/php5/lexer.go b/php5/lexer.go index 0f848af..ae1060d 100644 --- a/php5/lexer.go +++ b/php5/lexer.go @@ -7,16 +7,26 @@ import ( "github.com/cznic/golex/lex" + "github.com/z7zmey/php-parser/errors" "github.com/z7zmey/php-parser/scanner" "github.com/z7zmey/php-parser/token" ) type lexer struct { scanner.Lexer + lastToken *token.Token + errors []*errors.Error } func (l *lexer) Lex(lval *yySymType) int { - return l.Lexer.Lex(lval) + t := l.Lexer.Lex(lval) + l.lastToken = &lval.token + + return t +} + +func (l *lexer) Error(msg string) { + l.errors = append(l.errors, errors.NewError(msg, *l.lastToken)) } func (lval *yySymType) Token(t token.Token) { @@ -30,12 +40,16 @@ func newLexer(src io.Reader, fName string) *lexer { panic(err) } + scanner := scanner.Lexer{ + Lexer: lx, + StateStack: []int{0}, + PhpDocComment: "", + Comments: nil, + } + return &lexer{ - scanner.Lexer{ - Lexer: lx, - StateStack: []int{0}, - PhpDocComment: "", - Comments: nil, - }, + scanner, + nil, + nil, } } diff --git a/php5/parser.go b/php5/parser.go index 4cafe2d..a51a380 100644 --- a/php5/parser.go +++ b/php5/parser.go @@ -4,6 +4,7 @@ package php5 import ( "io" + "github.com/z7zmey/php-parser/errors" "github.com/z7zmey/php-parser/node/expr" "github.com/z7zmey/php-parser/comment" @@ -21,15 +22,17 @@ var positionBuilder position.Builder var parentNode node.Node // Parse the php5 parser entrypoint -func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { +func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions, []*errors.Error) { yyDebug = 0 yyErrorVerbose = true rootnode = stmt.NewStmtList([]node.Node{}) //reset comments = comment.Comments{} positions = position.Positions{} positionBuilder = position.Builder{Positions: &positions} - yyParse(newLexer(src, fName)) - return rootnode, comments, positions + + lexer := newLexer(src, fName) + yyParse(lexer) + return rootnode, comments, positions, lexer.errors } // ListGetFirstNodeComments returns comments of a first node in the list diff --git a/php5/php5.go b/php5/php5.go index d295bb7..510eb94 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -344,62 +344,53 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:3805 +//line php5/php5.y:3824 //line yacctab:1 var yyExca = [...]int{ -1, 1, 1, -1, -2, 0, - -1, 50, - 104, 433, - 105, 433, - -2, 431, - -1, 101, - 78, 330, - -2, 409, - -1, 113, - 78, 449, - 123, 445, - -2, 455, - -1, 153, - 104, 433, - 105, 433, - -2, 431, - -1, 203, - 121, 304, - 124, 304, - -2, 428, - -1, 204, - 104, 433, - 105, 433, - 121, 305, - 124, 305, - -2, 431, - -1, 270, - 78, 449, - -2, 455, - -1, 297, + -1, 2, + 1, 1, + -2, 0, + -1, 51, + 104, 435, + 105, 435, + -2, 433, + -1, 102, 78, 332, -2, 411, - -1, 301, - 123, 446, - -2, 456, - -1, 310, - 78, 331, - -2, 410, - -1, 376, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 272, - -1, 377, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 273, + -1, 114, + 78, 451, + 123, 447, + -2, 457, + -1, 154, + 104, 435, + 105, 435, + -2, 433, + -1, 204, + 121, 306, + 124, 306, + -2, 430, + -1, 205, + 104, 435, + 105, 435, + 121, 307, + 124, 307, + -2, 433, + -1, 271, + 78, 451, + -2, 457, + -1, 298, + 78, 334, + -2, 413, + -1, 302, + 123, 448, + -2, 458, + -1, 311, + 78, 333, + -2, 412, -1, 378, 153, 0, 154, 0, @@ -413,16 +404,16 @@ var yyExca = [...]int{ 156, 0, -2, 275, -1, 380, - 157, 0, - 158, 0, - 159, 0, - 160, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 276, -1, 381, - 157, 0, - 158, 0, - 159, 0, - 160, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 277, -1, 382, 157, 0, @@ -436,77 +427,82 @@ var yyExca = [...]int{ 159, 0, 160, 0, -2, 279, - -1, 390, - 104, 433, - 105, 433, - -2, 431, - -1, 398, - 124, 140, - -2, 145, - -1, 460, - 104, 433, - 105, 433, - 124, 512, - 135, 512, - -2, 431, - -1, 461, - 124, 513, - 135, 513, - -2, 428, + -1, 384, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 280, + -1, 385, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 281, + -1, 392, + 104, 435, + 105, 435, + -2, 433, + -1, 400, + 124, 142, + -2, 147, -1, 462, - 104, 433, - 105, 433, - -2, 431, - -1, 484, - 124, 154, - 135, 154, - -2, 428, - -1, 485, - 104, 433, - 105, 433, - 124, 155, - 135, 155, - -2, 431, - -1, 491, - 123, 470, - -2, 514, - -1, 497, - 123, 470, - -2, 515, - -1, 519, - 78, 330, - -2, 367, - -1, 549, - 124, 140, - -2, 145, - -1, 562, - 124, 140, - -2, 145, - -1, 579, - 121, 306, - 124, 306, - -2, 428, - -1, 580, - 104, 433, - 105, 433, - 121, 307, - 124, 307, - -2, 431, - -1, 679, + 104, 435, + 105, 435, + 124, 514, + 135, 514, + -2, 433, + -1, 463, + 124, 515, + 135, 515, + -2, 430, + -1, 464, + 104, 435, + 105, 435, + -2, 433, + -1, 486, + 124, 156, + 135, 156, + -2, 430, + -1, 487, + 104, 435, + 105, 435, + 124, 157, + 135, 157, + -2, 433, + -1, 493, + 123, 472, + -2, 516, + -1, 499, + 123, 472, + -2, 517, + -1, 521, 78, 332, -2, 369, - -1, 777, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 395, - -1, 778, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 396, + -1, 539, + 93, 135, + 94, 135, + 95, 135, + -2, 0, + -1, 551, + 124, 142, + -2, 147, + -1, 564, + 124, 142, + -2, 147, + -1, 581, + 121, 308, + 124, 308, + -2, 430, + -1, 582, + 104, 435, + 105, 435, + 121, 309, + 124, 309, + -2, 433, + -1, 681, + 78, 334, + -2, 371, -1, 779, 153, 0, 154, 0, @@ -520,16 +516,16 @@ var yyExca = [...]int{ 156, 0, -2, 398, -1, 781, - 157, 0, - 158, 0, - 159, 0, - 160, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 399, -1, 782, - 157, 0, - 158, 0, - 159, 0, - 160, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 400, -1, 783, 157, 0, @@ -543,1318 +539,1360 @@ var yyExca = [...]int{ 159, 0, 160, 0, -2, 402, - -1, 787, - 78, 331, - -2, 368, - -1, 837, - 37, 199, - -2, 196, - -1, 969, - 29, 187, + -1, 785, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 403, + -1, 786, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 404, + -1, 789, + 78, 333, + -2, 370, + -1, 839, + 37, 201, + -2, 198, + -1, 879, + 31, 128, + 32, 128, + 33, 128, + 120, 128, + -2, 0, + -1, 914, + 95, 140, + -2, 0, + -1, 916, + 31, 127, + 32, 127, + 33, 127, + 120, 127, + -2, 0, + -1, 943, + 93, 136, + 94, 136, + 95, 136, + -2, 0, + -1, 971, + 29, 189, -2, 4, - -1, 978, - 124, 140, - -2, 145, - -1, 995, - 121, 191, - -2, 193, + -1, 980, + 124, 142, + -2, 147, + -1, 997, + 121, 193, + -2, 195, } const yyPrivate = 57344 -const yyLast = 8441 +const yyLast = 8512 var yyAct = [...]int{ - 101, 569, 1004, 963, 113, 199, 841, 712, 824, 122, - 130, 418, 338, 916, 563, 592, 604, 60, 450, 565, - 813, 805, 295, 732, 472, 681, 459, 590, 419, 141, - 577, 97, 38, 263, 388, 137, 139, 442, 542, 144, - 314, 114, 430, 157, 318, 445, 129, 178, 329, 117, - 328, 6, 483, 5, 475, 227, 227, 161, 2, 651, - 651, 976, 288, 653, 652, 191, 42, 651, 25, 939, - 905, 938, 957, 935, 651, 491, 951, 120, 653, 652, - 266, 191, 932, 929, 270, 937, 515, 952, 1000, 250, - 257, 673, 675, 674, 676, 661, 662, 663, 654, 656, - 657, 655, 655, 297, 930, 136, 654, 656, 657, 655, - 43, 269, 663, 654, 656, 657, 655, 492, 931, 301, - 819, 271, 895, 735, 327, 310, 707, 4, 315, 319, - 560, 240, 322, 651, 116, 152, 896, 653, 652, 125, - 304, 120, 178, 919, 140, 514, 356, 337, 851, 508, - 504, 448, 203, 120, 584, 177, 179, 180, 178, 584, - 227, 191, 324, 509, 505, 630, 38, 355, 733, 661, - 662, 663, 654, 656, 657, 655, 631, 791, 161, 664, - 665, 357, 309, 726, 449, 120, 616, 583, 421, 231, - 231, 497, 266, 120, 227, 358, 270, 617, 584, 119, - 176, 175, 558, 541, 554, 120, 974, 240, 228, 158, - 125, 229, 120, 559, 272, 555, 651, 103, 677, 659, - 653, 652, 227, 269, 473, 384, 350, 232, 200, 904, - 423, 902, 859, 271, 174, 177, 179, 180, 178, 927, - 668, 667, 658, 660, 671, 672, 669, 670, 673, 675, - 674, 676, 661, 662, 663, 654, 656, 657, 655, 853, - 449, 227, 331, 119, 334, 789, 353, 446, 743, 454, - 348, 311, 230, 230, 132, 119, 456, 300, 637, 228, - 354, 629, 229, 299, 349, 312, 451, 628, 133, 622, - 621, 582, 227, 593, 231, 609, 432, 264, 232, 747, - 449, 608, 394, 446, 447, 391, 595, 119, 446, 594, - 593, 471, 444, 130, 746, 119, 602, 507, 240, 438, - 488, 511, 975, 465, 293, 519, 272, 302, 231, 469, - 292, 159, 286, 502, 119, 477, 478, 280, 253, 38, - 447, 191, 493, 252, 489, 447, 434, 435, 490, 495, - 470, 911, 1016, 496, 539, 928, 231, 519, 6, 503, - 5, 738, 999, 948, 913, 482, 883, 500, 880, 868, - 823, 812, 435, 434, 434, 397, 435, 230, 591, 725, - 176, 175, 544, 691, 461, 463, 294, 437, 632, 623, - 619, 428, 125, 546, 120, 231, 426, 306, 1011, 570, - 978, 570, 575, 570, 578, 890, 227, 484, 138, 264, - 296, 230, 181, 182, 174, 177, 179, 180, 178, 822, - 125, 816, 120, 586, 38, 680, 231, 296, 585, 446, - 446, 807, 806, 874, 4, 562, 549, 398, 537, 230, - 535, 538, 342, 550, 294, 343, 488, 287, 277, 274, - 273, 249, 610, 221, 613, 195, 194, 446, 193, 143, - 446, 228, 446, 121, 229, 607, 447, 447, 134, 715, - 489, 495, 701, 702, 490, 496, 997, 1008, 230, 1007, - 232, 308, 987, 307, 982, 981, 979, 227, 398, 228, - 701, 702, 229, 614, 447, 921, 910, 447, 878, 447, - 809, 351, 612, 1017, 803, 444, 315, 615, 232, 230, - 319, 802, 635, 636, 579, 519, 119, 796, 639, 640, - 710, 697, 679, 545, 519, 543, 540, 499, 396, 346, - 38, 519, 519, 519, 519, 519, 155, 903, 714, 603, - 231, 633, 529, 258, 119, 973, 643, 915, 436, 6, - 570, 5, 889, 698, 646, 888, 227, 227, 227, 433, - 808, 519, 886, 570, 708, 716, 730, 38, 38, 576, - 305, 90, 727, 729, 529, 570, 578, 724, 700, 196, - 223, 224, 703, 266, 705, 227, 227, 270, 828, 872, - 711, 845, 846, 847, 844, 843, 842, 737, 446, 800, - 801, 650, 693, 694, 256, 731, 740, 259, 260, 502, - 294, 728, 678, 736, 269, 125, 734, 739, 453, 422, - 124, 231, 985, 230, 271, 4, 227, 125, 227, 125, - 516, 742, 648, 969, 741, 447, 645, 125, 685, 457, - 513, 452, 510, 444, 752, 425, 424, 721, 466, 125, - 506, 748, 519, 519, 519, 519, 519, 519, 519, 519, + 102, 571, 843, 565, 1006, 965, 714, 807, 420, 826, + 123, 131, 606, 200, 340, 918, 734, 567, 452, 815, + 474, 683, 296, 594, 461, 592, 421, 61, 579, 142, + 319, 315, 39, 98, 264, 390, 158, 517, 130, 2, + 444, 115, 289, 192, 653, 118, 138, 140, 447, 544, + 145, 485, 179, 653, 978, 1002, 228, 228, 162, 477, + 941, 331, 940, 43, 7, 493, 959, 121, 330, 937, + 934, 6, 931, 26, 821, 932, 939, 450, 499, 121, + 121, 267, 44, 656, 658, 659, 657, 953, 432, 933, + 921, 897, 853, 737, 192, 657, 709, 562, 954, 632, + 251, 586, 618, 586, 298, 898, 735, 494, 153, 516, + 633, 653, 585, 619, 270, 655, 654, 137, 358, 325, + 179, 560, 272, 586, 793, 204, 311, 556, 510, 316, + 320, 728, 561, 323, 114, 258, 329, 241, 557, 5, + 506, 305, 511, 675, 677, 676, 678, 663, 664, 665, + 656, 658, 659, 657, 507, 543, 339, 141, 653, 359, + 121, 228, 655, 654, 310, 475, 355, 39, 178, 180, + 181, 179, 121, 360, 451, 159, 357, 350, 312, 162, + 356, 201, 1018, 976, 929, 907, 451, 451, 906, 120, + 192, 351, 313, 267, 133, 228, 665, 656, 658, 659, + 657, 120, 120, 904, 117, 861, 855, 653, 134, 791, + 661, 655, 654, 241, 745, 271, 653, 104, 595, 639, + 655, 654, 301, 228, 352, 631, 270, 386, 300, 177, + 176, 425, 630, 624, 272, 673, 674, 671, 672, 675, + 677, 676, 678, 663, 664, 665, 656, 658, 659, 657, + 302, 623, 663, 664, 665, 656, 658, 659, 657, 597, + 232, 232, 228, 175, 178, 180, 181, 179, 596, 595, + 456, 473, 749, 231, 231, 333, 440, 336, 393, 748, + 604, 294, 120, 611, 293, 273, 740, 453, 295, 610, + 287, 281, 254, 228, 303, 253, 399, 160, 265, 977, + 930, 1001, 950, 915, 885, 449, 882, 870, 825, 446, + 814, 727, 693, 634, 131, 396, 625, 621, 509, 430, + 428, 490, 513, 307, 241, 1013, 521, 271, 980, 297, + 892, 472, 139, 297, 504, 999, 824, 593, 818, 682, + 39, 449, 913, 434, 439, 492, 449, 587, 491, 502, + 498, 564, 505, 497, 809, 808, 876, 463, 465, 521, + 551, 126, 400, 121, 537, 232, 541, 288, 278, 275, + 467, 484, 7, 274, 344, 250, 471, 345, 231, 6, + 486, 222, 479, 480, 196, 195, 194, 144, 548, 495, + 122, 135, 436, 437, 989, 546, 552, 273, 448, 232, + 1010, 572, 1009, 572, 577, 572, 580, 458, 228, 400, + 265, 984, 231, 983, 126, 923, 121, 912, 437, 436, + 436, 126, 437, 121, 880, 588, 39, 232, 703, 704, + 229, 703, 704, 230, 448, 811, 805, 804, 798, 448, + 231, 295, 584, 712, 699, 547, 545, 5, 490, 233, + 542, 501, 539, 398, 348, 540, 615, 156, 981, 126, + 905, 121, 605, 423, 1019, 975, 232, 609, 449, 449, + 874, 917, 492, 498, 891, 491, 497, 890, 309, 231, + 308, 126, 888, 229, 732, 120, 230, 578, 581, 228, + 229, 306, 197, 230, 435, 830, 449, 232, 616, 449, + 614, 449, 233, 446, 295, 617, 224, 225, 316, 233, + 231, 987, 320, 257, 637, 638, 810, 521, 730, 702, + 641, 642, 802, 803, 681, 680, 521, 455, 229, 126, + 353, 230, 39, 521, 521, 521, 521, 521, 120, 645, + 695, 696, 648, 531, 259, 120, 650, 233, 635, 438, + 126, 647, 572, 125, 652, 710, 424, 700, 228, 228, + 228, 448, 448, 521, 7, 572, 718, 125, 726, 39, + 39, 6, 91, 126, 971, 731, 531, 572, 580, 569, + 570, 126, 729, 120, 612, 267, 687, 228, 228, 448, + 124, 459, 448, 713, 448, 705, 739, 707, 573, 295, + 723, 574, 454, 427, 295, 733, 282, 286, 260, 261, + 469, 504, 232, 738, 426, 304, 742, 741, 270, 736, + 126, 299, 321, 126, 816, 231, 272, 864, 228, 595, + 228, 518, 686, 515, 62, 512, 744, 449, 508, 5, + 457, 446, 573, 573, 754, 574, 574, 128, 129, 468, + 322, 54, 263, 317, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 789, 743, 521, 576, 758, 295, 756, 295, 757, + 285, 295, 132, 232, 404, 132, 259, 720, 239, 750, + 402, 438, 463, 295, 790, 792, 231, 226, 234, 259, + 521, 208, 126, 207, 121, 985, 486, 228, 259, 271, + 827, 823, 259, 799, 795, 45, 1007, 438, 725, 572, + 448, 831, 986, 163, 531, 1017, 572, 850, 819, 338, + 812, 703, 704, 531, 559, 991, 828, 813, 957, 832, + 531, 531, 531, 531, 531, 851, 955, 856, 45, 453, + 260, 261, 232, 232, 232, 742, 796, 609, 706, 703, + 704, 858, 469, 260, 261, 231, 231, 231, 925, 896, + 531, 268, 260, 261, 269, 470, 260, 261, 521, 273, + 893, 232, 232, 259, 521, 521, 550, 1003, 284, 998, + 233, 960, 265, 935, 231, 231, 847, 848, 849, 846, + 845, 844, 901, 599, 878, 601, 600, 228, 126, 228, + 877, 760, 521, 883, 881, 572, 889, 884, 759, 854, + 875, 722, 232, 800, 232, 651, 120, 859, 860, 820, + 649, 646, 900, 572, 903, 231, 602, 231, 514, 481, + 39, 395, 324, 203, 202, 841, 285, 260, 261, 887, + 199, 842, 136, 1, 840, 944, 335, 228, 899, 829, + 521, 531, 531, 531, 531, 531, 531, 531, 531, 531, + 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, + 531, 531, 531, 531, 531, 531, 531, 531, 519, 259, + 531, 922, 938, 259, 283, 908, 449, 1008, 256, 39, + 446, 343, 521, 936, 747, 847, 848, 849, 846, 845, + 844, 232, 753, 863, 445, 879, 909, 531, 608, 589, + 590, 519, 521, 591, 231, 521, 873, 894, 521, 684, + 572, 962, 572, 970, 39, 255, 39, 839, 994, 964, + 963, 902, 483, 192, 39, 403, 39, 39, 895, 838, + 521, 835, 575, 260, 261, 572, 970, 260, 261, 956, + 982, 566, 958, 39, 1005, 961, 1004, 39, 39, 521, + 724, 572, 394, 389, 993, 164, 572, 995, 341, 997, + 697, 538, 177, 176, 914, 928, 916, 979, 290, 448, + 460, 161, 39, 572, 1011, 531, 924, 157, 926, 927, + 1012, 531, 531, 318, 572, 1015, 992, 314, 127, 919, + 39, 232, 919, 232, 182, 183, 175, 178, 180, 181, + 179, 943, 528, 607, 231, 947, 231, 996, 948, 531, + 969, 968, 967, 192, 39, 966, 837, 836, 834, 401, + 39, 40, 945, 568, 15, 14, 822, 719, 801, 694, + 11, 841, 249, 75, 972, 76, 116, 842, 266, 64, + 840, 232, 89, 598, 90, 520, 101, 74, 12, 326, + 100, 99, 177, 176, 231, 79, 119, 531, 526, 519, + 3, 41, 0, 990, 0, 0, 0, 0, 519, 0, + 0, 0, 0, 0, 0, 519, 519, 519, 519, 519, + 188, 189, 190, 191, 182, 183, 175, 178, 180, 181, + 179, 847, 848, 849, 846, 845, 844, 0, 1014, 531, + 0, 0, 0, 0, 0, 519, 0, 1020, 169, 171, + 170, 192, 0, 833, 0, 0, 0, 0, 0, 531, + 558, 0, 531, 0, 0, 531, 0, 685, 0, 0, + 0, 0, 0, 0, 688, 689, 690, 691, 692, 0, + 620, 0, 809, 808, 0, 0, 0, 531, 193, 173, + 177, 176, 209, 210, 211, 212, 214, 215, 216, 217, + 218, 219, 220, 221, 213, 0, 531, 0, 0, 0, + 167, 168, 172, 174, 186, 187, 184, 185, 188, 189, + 190, 191, 182, 183, 175, 178, 180, 181, 179, 0, + 0, 0, 0, 0, 0, 0, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 787, - 754, 519, 755, 718, 756, 294, 125, 124, 303, 294, - 231, 231, 231, 294, 125, 294, 281, 285, 571, 320, - 298, 572, 571, 294, 230, 572, 788, 790, 519, 316, - 125, 797, 120, 127, 128, 227, 125, 272, 120, 231, - 231, 131, 684, 321, 123, 467, 814, 570, 461, 829, - 862, 258, 529, 574, 570, 848, 436, 817, 61, 593, - 455, 529, 484, 258, 567, 568, 826, 258, 529, 529, - 529, 529, 529, 849, 830, 740, 262, 451, 131, 854, - 231, 856, 231, 571, 402, 607, 572, 258, 400, 207, - 206, 793, 436, 230, 230, 230, 294, 983, 529, 228, - 284, 852, 229, 825, 821, 267, 519, 1005, 268, 857, - 858, 53, 519, 519, 811, 259, 260, 723, 232, 44, - 264, 238, 230, 230, 232, 984, 467, 259, 260, 557, - 162, 259, 260, 794, 336, 227, 875, 227, 873, 798, - 519, 879, 881, 570, 887, 818, 876, 1015, 882, 989, - 468, 259, 260, 955, 119, 44, 953, 923, 618, 894, - 119, 570, 901, 230, 898, 230, 225, 233, 38, 231, - 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, - 219, 220, 212, 891, 548, 227, 897, 446, 519, 529, - 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, - 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, - 529, 529, 529, 529, 529, 529, 517, 920, 529, 597, - 906, 599, 598, 934, 447, 1001, 885, 38, 996, 258, - 519, 877, 444, 958, 283, 810, 701, 702, 933, 907, - 899, 1, 871, 125, 258, 529, 758, 757, 517, 282, - 519, 720, 230, 519, 649, 647, 519, 644, 570, 960, - 570, 968, 38, 600, 38, 704, 701, 702, 512, 231, - 479, 231, 38, 393, 38, 38, 323, 202, 519, 201, - 942, 198, 258, 570, 968, 135, 980, 255, 333, 827, - 936, 38, 284, 259, 260, 38, 38, 519, 1006, 570, - 912, 341, 914, 745, 570, 993, 751, 861, 259, 260, - 443, 995, 922, 991, 924, 925, 606, 587, 588, 231, - 38, 570, 1009, 529, 589, 917, 1010, 682, 917, 529, - 529, 254, 570, 1013, 837, 992, 954, 941, 38, 956, - 962, 945, 959, 961, 946, 900, 259, 260, 481, 401, - 893, 836, 230, 833, 230, 573, 651, 529, 943, 659, - 653, 652, 38, 564, 977, 1003, 1002, 839, 38, 722, - 970, 392, 387, 840, 163, 339, 838, 695, 536, 926, - 289, 458, 160, 990, 671, 672, 669, 670, 673, 675, - 674, 676, 661, 662, 663, 654, 656, 657, 655, 988, - 156, 317, 230, 313, 126, 529, 517, 526, 605, 994, - 967, 966, 965, 964, 835, 517, 834, 832, 399, 39, - 566, 14, 517, 517, 517, 517, 517, 845, 846, 847, - 844, 843, 842, 13, 1012, 820, 191, 717, 799, 692, - 10, 248, 74, 1018, 75, 115, 265, 529, 63, 892, - 88, 596, 517, 89, 518, 100, 168, 170, 169, 191, - 73, 11, 325, 99, 98, 78, 556, 529, 118, 524, - 529, 3, 40, 529, 683, 176, 175, 0, 0, 0, - 0, 686, 687, 688, 689, 690, 0, 0, 0, 0, - 807, 806, 0, 0, 0, 529, 192, 172, 176, 175, - 0, 0, 0, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 529, 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, 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, - 0, 0, 517, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 0, 0, 0, 0, - 0, 0, 0, 0, 666, 664, 665, 0, 0, 517, - 0, 0, 759, 760, 761, 762, 763, 764, 765, 766, - 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, - 777, 778, 779, 780, 781, 782, 783, 784, 786, 867, - 0, 683, 651, 0, 677, 659, 653, 652, 208, 209, - 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, - 212, 0, 0, 0, 0, 0, 668, 667, 658, 660, - 671, 672, 669, 670, 673, 675, 674, 676, 661, 662, - 663, 654, 656, 657, 655, 347, 0, 517, 0, 0, - 0, 0, 0, 517, 517, 0, 0, 0, 0, 0, - 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, - 219, 220, 212, 30, 0, 0, 0, 0, 0, 0, - 0, 517, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 146, 150, 154, 0, - 0, 0, 164, 0, 0, 0, 866, 0, 0, 0, - 197, 0, 869, 870, 0, 205, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 222, 0, 0, 517, - 234, 235, 236, 237, 0, 0, 239, 50, 241, 242, - 243, 244, 245, 246, 247, 0, 251, 0, 0, 0, - 0, 261, 0, 0, 0, 0, 275, 276, 0, 278, - 279, 0, 153, 0, 0, 0, 0, 0, 0, 0, - 290, 517, 0, 0, 0, 0, 0, 0, 0, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, - 0, 517, 226, 226, 517, 0, 0, 517, 0, 0, + 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 519, 519, 519, 0, 0, 519, 0, 209, 210, 211, + 212, 214, 215, 216, 217, 218, 219, 220, 221, 213, + 0, 0, 0, 0, 0, 0, 0, 668, 666, 667, + 0, 0, 519, 0, 0, 761, 762, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, + 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, + 786, 788, 869, 0, 685, 653, 0, 679, 661, 655, + 654, 209, 210, 211, 212, 214, 215, 216, 217, 218, + 219, 220, 221, 213, 0, 0, 0, 0, 0, 670, + 669, 660, 662, 673, 674, 671, 672, 675, 677, 676, + 678, 663, 664, 665, 656, 658, 659, 657, 0, 0, + 519, 0, 0, 0, 0, 0, 519, 519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 239, 0, 0, 0, 0, 340, 0, 517, + 349, 0, 0, 0, 0, 31, 0, 0, 0, 0, + 0, 0, 0, 0, 519, 209, 210, 211, 212, 214, + 215, 216, 217, 218, 219, 220, 221, 213, 0, 147, + 151, 155, 0, 0, 0, 165, 0, 0, 0, 868, + 0, 0, 51, 198, 0, 871, 872, 0, 206, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, + 0, 0, 519, 235, 236, 237, 238, 0, 154, 240, + 0, 242, 243, 244, 245, 246, 247, 248, 653, 252, + 0, 661, 655, 654, 262, 205, 0, 0, 0, 276, + 277, 0, 279, 280, 0, 0, 0, 0, 227, 227, + 0, 0, 0, 291, 519, 662, 673, 674, 671, 672, + 675, 677, 676, 678, 663, 664, 665, 656, 658, 659, + 657, 910, 0, 0, 519, 0, 0, 519, 0, 0, + 519, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, + 342, 0, 519, 0, 0, 0, 0, 0, 0, 126, + 0, 121, 0, 942, 0, 0, 0, 0, 0, 0, + 0, 519, 0, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 0, 387, + 0, 155, 0, 354, 0, 0, 0, 0, 717, 0, + 0, 0, 0, 0, 0, 406, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 229, 0, + 0, 230, 0, 0, 0, 0, 0, 391, 392, 0, + 0, 0, 0, 0, 0, 0, 0, 233, 0, 0, + 0, 0, 0, 0, 0, 0, 240, 0, 0, 433, + 433, 0, 0, 0, 0, 422, 441, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 716, 0, 0, + 155, 155, 0, 120, 466, 0, 0, 433, 0, 0, + 0, 0, 0, 433, 291, 0, 0, 0, 0, 433, + 433, 0, 0, 155, 443, 0, 433, 496, 0, 0, + 0, 0, 500, 0, 0, 0, 653, 462, 464, 661, + 655, 654, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 478, 0, 0, 0, 0, + 487, 669, 660, 662, 673, 674, 671, 672, 675, 677, + 676, 678, 663, 664, 665, 656, 658, 659, 657, 549, + 0, 0, 0, 0, 0, 0, 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 940, 0, 0, 0, 0, 0, 0, 0, 517, 665, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, 383, 0, 385, 0, 154, 0, - 0, 0, 0, 0, 0, 651, 0, 677, 659, 653, - 652, 0, 404, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 0, 0, 352, 0, 668, - 667, 658, 660, 671, 672, 669, 670, 673, 675, 674, - 676, 661, 662, 663, 654, 656, 657, 655, 0, 0, - 0, 0, 0, 239, 0, 0, 431, 431, 0, 0, - 0, 389, 390, 439, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 909, 154, 154, 0, - 0, 464, 0, 651, 431, 0, 659, 653, 652, 420, - 431, 290, 0, 0, 0, 0, 431, 431, 0, 0, - 154, 0, 0, 431, 494, 666, 664, 665, 0, 498, - 660, 671, 672, 669, 670, 673, 675, 674, 676, 661, - 662, 663, 654, 656, 657, 655, 0, 0, 441, 0, + 0, 4, 0, 83, 84, 72, 18, 105, 106, 13, + 88, 121, 0, 30, 555, 0, 0, 95, 29, 20, + 19, 0, 21, 0, 33, 0, 34, 0, 0, 22, + 0, 155, 0, 23, 24, 38, 45, 16, 25, 36, + 0, 0, 37, 10, 0, 27, 0, 32, 81, 82, + 8, 46, 48, 50, 0, 0, 0, 0, 52, 96, + 0, 94, 110, 111, 112, 107, 108, 0, 582, 0, + 583, 0, 0, 93, 0, 0, 0, 613, 9, 113, + 109, 103, 0, 85, 86, 87, 0, 0, 0, 0, + 80, 53, 0, 0, 0, 78, 42, 28, 47, 49, + 0, 626, 628, 55, 56, 911, 65, 66, 67, 68, + 69, 70, 71, 0, 0, 636, 92, 77, 17, 644, + 35, 0, 63, 0, 97, 0, 0, 0, 58, 57, + 59, 60, 73, 120, 668, 666, 667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 460, 462, 651, 0, 677, 659, 653, 652, 0, - 0, 0, 0, 0, 0, 547, 666, 664, 665, 476, - 0, 0, 551, 0, 485, 0, 0, 668, 667, 658, - 660, 671, 672, 669, 670, 673, 675, 674, 676, 661, - 662, 663, 654, 656, 657, 655, 0, 0, 0, 0, - 553, 0, 0, 0, 651, 865, 677, 659, 653, 652, - 0, 0, 839, 0, 0, 0, 0, 154, 840, 0, - 0, 838, 0, 0, 0, 0, 0, 0, 668, 667, - 658, 660, 671, 672, 669, 670, 673, 675, 674, 676, - 661, 662, 663, 654, 656, 657, 655, 0, 0, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, - 0, 0, 845, 846, 847, 844, 843, 842, 0, 0, - 0, 580, 860, 581, 0, 0, 0, 624, 626, 192, - 172, 176, 175, 0, 831, 0, 0, 0, 0, 0, - 0, 634, 0, 0, 0, 168, 170, 169, 191, 0, - 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, - 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 0, 478, 0, 653, 0, 0, 0, 655, 654, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 342, 701, + 0, 0, 653, 0, 679, 661, 655, 654, 0, 0, + 711, 673, 674, 671, 672, 675, 677, 676, 678, 663, + 664, 665, 656, 658, 659, 657, 670, 669, 660, 662, + 673, 674, 671, 672, 675, 677, 676, 678, 663, 664, + 665, 656, 658, 659, 657, 0, 0, 0, 0, 433, + 391, 715, 715, 0, 0, 0, 0, 0, 0, 0, + 746, 0, 0, 0, 0, 0, 433, 751, 668, 666, + 667, 0, 0, 0, 0, 155, 0, 0, 0, 422, + 422, 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 855, 192, 172, 176, 175, 0, - 0, 0, 0, 0, 340, 699, 0, 0, 651, 0, - 0, 0, 653, 652, 476, 0, 709, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 671, 672, 669, 670, - 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, - 655, 0, 0, 0, 0, 431, 666, 664, 665, 0, - 0, 0, 0, 0, 0, 0, 744, 0, 0, 0, - 0, 0, 431, 749, 0, 0, 0, 792, 0, 0, - 0, 154, 0, 389, 713, 713, 0, 0, 0, 0, - 0, 0, 0, 795, 651, 154, 677, 659, 653, 652, - 0, 0, 0, 0, 0, 0, 666, 664, 665, 0, - 0, 0, 420, 420, 0, 0, 0, 0, 668, 667, - 658, 660, 671, 672, 669, 670, 673, 675, 674, 676, - 661, 662, 663, 654, 656, 657, 655, 0, 0, 0, - 0, 0, 0, 0, 651, 460, 677, 659, 653, 652, - 0, 0, 0, 476, 0, 476, 0, 0, 0, 485, - 0, 0, 0, 0, 0, 804, 0, 0, 668, 667, - 658, 660, 671, 672, 669, 670, 673, 675, 674, 676, - 661, 662, 663, 654, 656, 657, 655, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 850, - 0, 0, 431, 0, 0, 0, 0, 0, 0, 0, - 431, 431, 0, 0, 0, 0, 0, 863, 0, 0, - 0, 0, 0, 0, 82, 83, 71, 17, 104, 105, - 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, - 19, 18, 815, 20, 0, 32, 0, 33, 0, 0, - 21, 0, 0, 0, 22, 23, 37, 44, 15, 24, - 35, 0, 0, 36, 9, 0, 26, 340, 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, - 642, 34, 713, 62, 420, 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, 476, 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, 501, 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, 330, 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, 142, 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, 1019, 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, 330, 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, 142, 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, 1014, 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, 330, 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, 142, 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, 998, 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, - 986, 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, 330, 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, 142, 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, 972, 33, 0, 0, 21, 0, 0, - 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, - 36, 0, 0, 26, 0, 31, 80, 81, 330, 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, 142, 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, 330, - 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, 142, 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, 971, 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, - 330, 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, 142, 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, 950, - 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, 330, 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, 142, - 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, - 949, 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, 330, 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, - 142, 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, 947, 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, - 884, 0, 21, 0, 0, 0, 22, 23, 37, 44, - 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, - 31, 80, 81, 330, 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, 142, 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, 696, 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, 330, 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, 142, 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, 330, 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, 142, 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, 561, 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, 330, 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, 142, 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, 326, 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, 330, 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, 142, 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, 142, 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, 944, - 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, 142, 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, - 918, 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, 142, 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, 719, 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, 142, - 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, 335, 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, - 142, 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, 332, 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, 753, 0, 0, 0, 92, 0, 0, 0, - 0, 142, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 27, 168, 170, 169, 191, 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, 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, 750, 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, - 706, 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, 641, 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, 638, 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, 620, 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, 601, 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, 474, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 552, 0, 0, 0, - 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, + 0, 0, 0, 0, 0, 0, 653, 867, 679, 661, + 655, 654, 462, 666, 667, 0, 0, 0, 0, 0, + 478, 0, 478, 0, 0, 0, 487, 0, 0, 0, + 670, 669, 660, 662, 673, 674, 671, 672, 675, 677, + 676, 678, 663, 664, 665, 656, 658, 659, 657, 0, + 653, 0, 679, 661, 655, 654, 0, 0, 0, 806, 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, 0, 0, 192, 172, 176, 175, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 403, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 427, 0, 0, 192, - 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, + 0, 0, 0, 0, 670, 669, 660, 662, 673, 674, + 671, 672, 675, 677, 676, 678, 663, 664, 665, 656, + 658, 659, 657, 852, 0, 0, 433, 0, 0, 0, + 0, 0, 0, 0, 433, 433, 0, 0, 0, 817, + 0, 865, 0, 0, 0, 0, 0, 0, 4, 0, + 83, 84, 72, 18, 105, 106, 13, 88, 121, 0, + 30, 0, 0, 0, 95, 29, 20, 19, 0, 21, + 0, 33, 0, 34, 0, 0, 22, 0, 0, 0, + 23, 24, 38, 45, 16, 25, 36, 0, 0, 37, + 10, 342, 27, 0, 32, 81, 82, 8, 46, 48, + 50, 0, 0, 0, 0, 52, 96, 0, 94, 110, + 111, 112, 107, 108, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 0, 0, 9, 113, 109, 103, 0, + 85, 86, 87, 0, 0, 0, 0, 80, 53, 715, + 0, 422, 78, 42, 28, 47, 49, 0, 0, 0, + 55, 56, 0, 65, 66, 67, 68, 69, 70, 71, + 0, 0, 0, 92, 77, 17, 503, 35, 0, 63, + 0, 97, 0, 0, 0, 58, 57, 59, 60, 73, + 120, 0, 0, 0, 0, 0, 0, 0, 4, 478, + 83, 84, 72, 18, 105, 106, 13, 88, 121, 0, + 30, 0, 0, 0, 95, 29, 20, 19, 0, 21, + 0, 33, 0, 34, 0, 0, 22, 0, 0, 0, + 23, 24, 38, 45, 16, 25, 36, 0, 0, 37, + 10, 0, 27, 0, 32, 81, 82, 8, 46, 48, + 50, 0, 0, 0, 0, 52, 96, 0, 94, 110, + 111, 112, 107, 108, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 0, 0, 9, 113, 109, 103, 0, + 85, 86, 87, 0, 0, 0, 0, 80, 53, 0, + 0, 0, 78, 42, 28, 47, 49, 0, 0, 0, + 55, 56, 0, 65, 66, 67, 68, 69, 70, 71, + 0, 0, 0, 92, 77, 17, 0, 35, 0, 63, + 0, 97, 0, 0, 0, 58, 57, 59, 60, 73, + 120, 328, 0, 83, 84, 72, 18, 105, 106, 13, + 88, 121, 0, 30, 0, 0, 0, 95, 29, 20, + 19, 0, 21, 0, 33, 0, 34, 0, 0, 22, + 0, 0, 0, 23, 24, 38, 45, 0, 25, 36, + 0, 0, 37, 0, 0, 27, 0, 32, 81, 82, + 332, 46, 48, 50, 0, 0, 0, 0, 52, 96, + 0, 94, 110, 111, 112, 107, 108, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 0, 0, 143, 113, + 109, 103, 0, 85, 86, 87, 0, 0, 0, 0, + 80, 53, 0, 0, 0, 78, 42, 28, 47, 49, + 0, 0, 0, 55, 56, 0, 65, 66, 67, 68, + 69, 70, 71, 0, 0, 0, 92, 77, 17, 1021, + 35, 0, 63, 0, 97, 0, 0, 0, 58, 57, + 59, 60, 73, 120, 328, 0, 83, 84, 72, 18, + 105, 106, 13, 88, 121, 0, 30, 0, 0, 0, + 95, 29, 20, 19, 0, 21, 0, 33, 0, 34, + 0, 0, 22, 0, 0, 0, 23, 24, 38, 45, + 0, 25, 36, 0, 0, 37, 0, 0, 27, 0, + 32, 81, 82, 332, 46, 48, 50, 0, 0, 0, + 0, 52, 96, 0, 94, 110, 111, 112, 107, 108, + 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, + 0, 143, 113, 109, 103, 0, 85, 86, 87, 0, + 0, 0, 0, 80, 53, 0, 0, 0, 78, 42, + 28, 47, 49, 0, 0, 0, 55, 56, 0, 65, + 66, 67, 68, 69, 70, 71, 0, 0, 0, 92, + 77, 17, 1016, 35, 0, 63, 0, 97, 0, 0, + 0, 58, 57, 59, 60, 73, 120, 328, 0, 83, + 84, 72, 18, 105, 106, 13, 88, 121, 0, 30, + 0, 0, 0, 95, 29, 20, 19, 0, 21, 0, + 33, 0, 34, 0, 0, 22, 0, 0, 0, 23, + 24, 38, 45, 0, 25, 36, 0, 0, 37, 0, + 0, 27, 0, 32, 81, 82, 332, 46, 48, 50, + 0, 0, 0, 0, 52, 96, 0, 94, 110, 111, + 112, 107, 108, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 0, 0, 143, 113, 109, 103, 0, 85, + 86, 87, 0, 0, 0, 0, 80, 53, 0, 0, + 0, 78, 42, 28, 47, 49, 0, 0, 0, 55, + 56, 0, 65, 66, 67, 68, 69, 70, 71, 0, + 0, 0, 92, 77, 17, 1000, 35, 0, 63, 0, + 97, 0, 0, 0, 58, 57, 59, 60, 73, 120, + 328, 0, 83, 84, 72, 18, 105, 106, 13, 88, + 121, 0, 30, 0, 0, 0, 95, 29, 20, 19, + 0, 21, 988, 33, 0, 34, 0, 0, 22, 0, + 0, 0, 23, 24, 38, 45, 0, 25, 36, 0, + 0, 37, 0, 0, 27, 0, 32, 81, 82, 332, + 46, 48, 50, 0, 0, 0, 0, 52, 96, 0, + 94, 110, 111, 112, 107, 108, 0, 0, 0, 0, + 0, 0, 93, 0, 0, 0, 0, 143, 113, 109, + 103, 0, 85, 86, 87, 0, 0, 0, 0, 80, + 53, 0, 0, 0, 78, 42, 28, 47, 49, 0, + 0, 0, 55, 56, 0, 65, 66, 67, 68, 69, + 70, 71, 0, 0, 0, 92, 77, 17, 0, 35, + 0, 63, 0, 97, 0, 0, 0, 58, 57, 59, + 60, 73, 120, 328, 0, 83, 84, 72, 18, 105, + 106, 13, 88, 121, 0, 30, 0, 0, 0, 95, + 29, 20, 19, 0, 21, 0, 33, 974, 34, 0, + 0, 22, 0, 0, 0, 23, 24, 38, 45, 0, + 25, 36, 0, 0, 37, 0, 0, 27, 0, 32, + 81, 82, 332, 46, 48, 50, 0, 0, 0, 0, + 52, 96, 0, 94, 110, 111, 112, 107, 108, 0, + 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, + 143, 113, 109, 103, 0, 85, 86, 87, 0, 0, + 0, 0, 80, 53, 0, 0, 0, 78, 42, 28, + 47, 49, 0, 0, 0, 55, 56, 0, 65, 66, + 67, 68, 69, 70, 71, 0, 0, 0, 92, 77, + 17, 0, 35, 0, 63, 0, 97, 0, 0, 0, + 58, 57, 59, 60, 73, 120, 328, 0, 83, 84, + 72, 18, 105, 106, 13, 88, 121, 0, 30, 0, + 0, 0, 95, 29, 20, 19, 0, 21, 0, 33, + 0, 34, 0, 0, 22, 0, 0, 0, 23, 24, + 38, 45, 0, 25, 36, 0, 0, 37, 0, 0, + 27, 0, 32, 81, 82, 332, 46, 48, 50, 0, + 0, 0, 0, 52, 96, 0, 94, 110, 111, 112, + 107, 108, 0, 0, 0, 0, 0, 0, 93, 0, + 0, 0, 0, 143, 113, 109, 103, 0, 85, 86, + 87, 0, 0, 0, 0, 80, 53, 0, 0, 0, + 78, 42, 28, 47, 49, 0, 0, 0, 55, 56, + 0, 65, 66, 67, 68, 69, 70, 71, 0, 0, + 0, 92, 77, 17, 973, 35, 0, 63, 0, 97, + 0, 0, 0, 58, 57, 59, 60, 73, 120, 328, + 0, 83, 84, 72, 18, 105, 106, 13, 88, 121, + 0, 30, 0, 0, 0, 95, 29, 20, 19, 0, + 21, 0, 33, 0, 34, 0, 0, 22, 0, 0, + 0, 23, 24, 38, 45, 0, 25, 36, 0, 0, + 37, 0, 0, 27, 0, 32, 81, 82, 332, 46, + 48, 50, 0, 0, 0, 0, 52, 96, 0, 94, + 110, 111, 112, 107, 108, 0, 0, 0, 0, 0, + 0, 93, 0, 0, 0, 0, 143, 113, 109, 103, + 0, 85, 86, 87, 0, 0, 0, 0, 80, 53, + 0, 0, 0, 78, 42, 28, 47, 49, 0, 0, + 0, 55, 56, 0, 65, 66, 67, 68, 69, 70, + 71, 0, 0, 0, 92, 77, 17, 952, 35, 0, + 63, 0, 97, 0, 0, 0, 58, 57, 59, 60, + 73, 120, 328, 0, 83, 84, 72, 18, 105, 106, + 13, 88, 121, 0, 30, 0, 0, 0, 95, 29, + 20, 19, 0, 21, 0, 33, 0, 34, 0, 0, + 22, 0, 0, 0, 23, 24, 38, 45, 0, 25, + 36, 0, 0, 37, 0, 0, 27, 0, 32, 81, + 82, 332, 46, 48, 50, 0, 0, 0, 0, 52, + 96, 0, 94, 110, 111, 112, 107, 108, 0, 0, + 0, 0, 0, 0, 93, 0, 0, 0, 0, 143, + 113, 109, 103, 0, 85, 86, 87, 0, 0, 0, + 0, 80, 53, 0, 0, 0, 78, 42, 28, 47, + 49, 0, 0, 0, 55, 56, 0, 65, 66, 67, + 68, 69, 70, 71, 0, 0, 0, 92, 77, 17, + 951, 35, 0, 63, 0, 97, 0, 0, 0, 58, + 57, 59, 60, 73, 120, 328, 0, 83, 84, 72, + 18, 105, 106, 13, 88, 121, 0, 30, 0, 0, + 0, 95, 29, 20, 19, 0, 21, 0, 33, 0, + 34, 0, 0, 22, 0, 0, 0, 23, 24, 38, + 45, 0, 25, 36, 0, 0, 37, 0, 0, 27, + 0, 32, 81, 82, 332, 46, 48, 50, 0, 0, + 0, 0, 52, 96, 0, 94, 110, 111, 112, 107, + 108, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 0, 0, 143, 113, 109, 103, 0, 85, 86, 87, + 0, 0, 0, 0, 80, 53, 0, 0, 0, 78, + 42, 28, 47, 49, 0, 0, 0, 55, 56, 0, + 65, 66, 67, 68, 69, 70, 71, 0, 0, 0, + 92, 77, 17, 949, 35, 0, 63, 0, 97, 0, + 0, 0, 58, 57, 59, 60, 73, 120, 328, 0, + 83, 84, 72, 18, 105, 106, 13, 88, 121, 0, + 30, 0, 0, 0, 95, 29, 20, 19, 0, 21, + 0, 33, 0, 34, 886, 0, 22, 0, 0, 0, + 23, 24, 38, 45, 0, 25, 36, 0, 0, 37, + 0, 0, 27, 0, 32, 81, 82, 332, 46, 48, + 50, 0, 0, 0, 0, 52, 96, 0, 94, 110, + 111, 112, 107, 108, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 0, 0, 143, 113, 109, 103, 0, + 85, 86, 87, 0, 0, 0, 0, 80, 53, 0, + 0, 0, 78, 42, 28, 47, 49, 0, 0, 0, + 55, 56, 0, 65, 66, 67, 68, 69, 70, 71, + 0, 0, 0, 92, 77, 17, 0, 35, 0, 63, + 0, 97, 0, 0, 0, 58, 57, 59, 60, 73, + 120, 328, 0, 83, 84, 72, 18, 105, 106, 13, + 88, 121, 0, 30, 0, 0, 0, 95, 29, 20, + 19, 698, 21, 0, 33, 0, 34, 0, 0, 22, + 0, 0, 0, 23, 24, 38, 45, 0, 25, 36, + 0, 0, 37, 0, 0, 27, 0, 32, 81, 82, + 332, 46, 48, 50, 0, 0, 0, 0, 52, 96, + 0, 94, 110, 111, 112, 107, 108, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 0, 0, 143, 113, + 109, 103, 0, 85, 86, 87, 0, 0, 0, 0, + 80, 53, 0, 0, 0, 78, 42, 28, 47, 49, + 0, 0, 0, 55, 56, 0, 65, 66, 67, 68, + 69, 70, 71, 0, 0, 0, 92, 77, 17, 0, + 35, 0, 63, 0, 97, 0, 0, 0, 58, 57, + 59, 60, 73, 120, 328, 0, 83, 84, 72, 18, + 105, 106, 13, 88, 121, 0, 30, 0, 0, 0, + 95, 29, 20, 19, 0, 21, 0, 33, 0, 34, + 0, 0, 22, 0, 0, 0, 23, 24, 38, 45, + 0, 25, 36, 0, 0, 37, 0, 0, 27, 0, + 32, 81, 82, 332, 46, 48, 50, 0, 0, 0, + 0, 52, 96, 0, 94, 110, 111, 112, 107, 108, + 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, + 0, 143, 113, 109, 103, 0, 85, 86, 87, 0, + 0, 0, 0, 80, 53, 0, 0, 0, 78, 42, + 28, 47, 49, 0, 0, 0, 55, 56, 0, 65, + 66, 67, 68, 69, 70, 71, 0, 0, 0, 92, + 77, 17, 563, 35, 0, 63, 0, 97, 0, 0, + 0, 58, 57, 59, 60, 73, 120, 328, 0, 83, + 84, 72, 18, 105, 106, 13, 88, 121, 0, 30, + 0, 0, 0, 95, 29, 20, 19, 0, 21, 0, + 33, 0, 34, 0, 0, 22, 0, 0, 0, 23, + 24, 38, 45, 0, 25, 36, 0, 0, 37, 0, + 0, 27, 0, 32, 81, 82, 332, 46, 48, 50, + 0, 0, 0, 0, 52, 96, 0, 94, 110, 111, + 112, 107, 108, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 0, 0, 143, 113, 109, 103, 0, 85, + 86, 87, 0, 0, 0, 0, 80, 53, 0, 0, + 0, 78, 42, 28, 47, 49, 0, 0, 0, 55, + 56, 0, 65, 66, 67, 68, 69, 70, 71, 0, + 0, 0, 92, 77, 17, 327, 35, 0, 63, 0, + 97, 0, 0, 0, 58, 57, 59, 60, 73, 120, + 328, 0, 83, 84, 72, 18, 105, 106, 13, 88, + 121, 0, 30, 0, 0, 0, 95, 29, 20, 19, + 0, 21, 0, 33, 0, 34, 0, 0, 22, 0, + 0, 0, 23, 24, 38, 45, 0, 25, 36, 0, + 0, 37, 0, 0, 27, 0, 32, 81, 82, 332, + 46, 48, 50, 0, 0, 0, 0, 52, 96, 0, + 94, 110, 111, 112, 107, 108, 0, 0, 0, 0, + 0, 0, 93, 0, 0, 0, 0, 143, 113, 109, + 103, 0, 85, 86, 87, 0, 0, 0, 0, 80, + 53, 0, 0, 0, 78, 42, 28, 47, 49, 0, + 0, 0, 55, 56, 0, 65, 66, 67, 68, 69, + 70, 71, 0, 0, 0, 92, 77, 17, 0, 35, + 0, 63, 0, 97, 0, 0, 0, 58, 57, 59, + 60, 73, 120, 83, 84, 72, 18, 105, 106, 13, + 88, 121, 0, 30, 0, 0, 0, 95, 29, 20, + 19, 0, 21, 0, 33, 0, 34, 0, 0, 22, + 0, 0, 0, 23, 24, 38, 45, 0, 25, 36, + 0, 0, 37, 0, 0, 27, 0, 32, 81, 82, + 0, 0, 0, 0, 0, 0, 0, 0, 52, 96, + 0, 94, 110, 111, 112, 107, 108, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 0, 0, 143, 113, + 109, 103, 0, 85, 86, 87, 0, 0, 0, 0, + 80, 53, 0, 0, 0, 78, 42, 28, 0, 0, + 0, 0, 0, 55, 56, 0, 65, 66, 67, 68, + 69, 70, 71, 0, 0, 0, 92, 77, 17, 0, + 35, 946, 63, 0, 97, 0, 0, 0, 58, 57, + 59, 60, 73, 120, 83, 84, 72, 18, 105, 106, + 13, 88, 121, 0, 30, 0, 0, 0, 95, 29, + 20, 19, 0, 21, 0, 33, 0, 34, 0, 0, + 22, 0, 0, 0, 23, 24, 38, 45, 0, 25, + 36, 0, 0, 37, 0, 0, 27, 0, 32, 81, + 82, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 96, 0, 94, 110, 111, 112, 107, 108, 0, 0, + 0, 0, 0, 0, 93, 0, 0, 0, 0, 143, + 113, 109, 103, 0, 85, 86, 87, 0, 0, 0, + 0, 80, 53, 0, 0, 0, 78, 42, 28, 0, + 0, 0, 0, 0, 55, 56, 0, 65, 66, 67, + 68, 69, 70, 71, 0, 0, 0, 92, 77, 17, + 0, 35, 920, 63, 0, 97, 0, 0, 0, 58, + 57, 59, 60, 73, 120, 83, 84, 72, 18, 105, + 106, 13, 88, 121, 0, 30, 0, 0, 0, 95, + 29, 20, 19, 0, 21, 0, 33, 0, 34, 0, + 0, 22, 0, 0, 0, 23, 24, 38, 45, 0, + 25, 36, 0, 0, 37, 0, 0, 27, 0, 32, + 81, 82, 0, 0, 0, 0, 0, 0, 0, 0, + 52, 96, 0, 94, 110, 111, 112, 107, 108, 0, + 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, + 143, 113, 109, 103, 0, 85, 86, 87, 0, 0, + 0, 0, 80, 53, 0, 0, 0, 78, 42, 28, + 0, 0, 0, 0, 0, 55, 56, 0, 65, 66, + 67, 68, 69, 70, 71, 0, 0, 0, 92, 77, + 17, 0, 35, 721, 63, 0, 97, 0, 0, 0, + 58, 57, 59, 60, 73, 120, 83, 84, 72, 18, + 105, 106, 13, 88, 121, 0, 30, 0, 0, 0, + 95, 29, 20, 19, 0, 21, 0, 33, 0, 34, + 0, 0, 22, 0, 0, 0, 23, 24, 38, 45, + 0, 25, 36, 0, 0, 37, 0, 0, 27, 0, + 32, 81, 82, 0, 0, 0, 0, 0, 0, 0, + 0, 52, 96, 0, 94, 110, 111, 112, 107, 108, + 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, + 0, 143, 113, 109, 103, 0, 85, 86, 87, 0, + 0, 0, 0, 80, 53, 0, 0, 0, 78, 42, + 28, 0, 0, 0, 0, 0, 55, 56, 0, 65, + 66, 67, 68, 69, 70, 71, 0, 0, 0, 92, + 77, 17, 0, 35, 337, 63, 0, 97, 0, 0, + 0, 58, 57, 59, 60, 73, 120, 83, 84, 72, + 18, 105, 106, 13, 88, 121, 0, 30, 0, 0, + 0, 95, 29, 20, 19, 0, 21, 0, 33, 0, + 34, 0, 0, 22, 0, 0, 0, 23, 24, 38, + 45, 0, 25, 36, 0, 0, 37, 0, 0, 27, + 0, 32, 81, 82, 0, 0, 0, 0, 0, 0, + 0, 0, 52, 96, 0, 94, 110, 111, 112, 107, + 108, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 0, 0, 143, 113, 109, 103, 0, 85, 86, 87, + 0, 0, 0, 0, 80, 53, 0, 0, 0, 78, + 42, 28, 0, 0, 0, 0, 0, 55, 56, 0, + 65, 66, 67, 68, 69, 70, 71, 0, 0, 0, + 92, 77, 17, 0, 35, 334, 63, 0, 97, 0, + 0, 0, 58, 57, 59, 60, 73, 120, 83, 84, + 72, 18, 105, 106, 13, 88, 121, 0, 30, 0, + 0, 0, 95, 29, 20, 19, 0, 21, 0, 33, + 0, 34, 0, 0, 22, 0, 0, 0, 23, 24, + 38, 45, 0, 25, 36, 0, 0, 37, 0, 0, + 27, 0, 32, 81, 82, 0, 0, 0, 0, 0, + 0, 0, 0, 52, 96, 0, 94, 110, 111, 112, + 107, 108, 0, 0, 0, 0, 0, 0, 93, 0, + 0, 0, 0, 143, 113, 109, 103, 0, 85, 86, + 87, 0, 192, 0, 0, 80, 53, 0, 0, 0, + 78, 42, 28, 0, 0, 0, 0, 0, 55, 56, + 0, 65, 66, 67, 68, 69, 70, 71, 0, 0, + 0, 92, 77, 17, 0, 35, 0, 63, 0, 97, + 173, 177, 176, 58, 57, 59, 60, 73, 120, 169, + 171, 170, 192, 0, 0, 0, 0, 0, 0, 0, + 0, 167, 168, 172, 174, 186, 187, 184, 185, 188, + 189, 190, 191, 182, 183, 175, 178, 180, 181, 179, + 0, 0, 862, 0, 0, 0, 0, 0, 0, 193, + 173, 177, 176, 169, 171, 170, 192, 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, 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, 395, 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, 345, 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, 344, 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, 666, 664, 665, 0, 0, + 0, 167, 168, 172, 174, 186, 187, 184, 185, 188, + 189, 190, 191, 182, 183, 175, 178, 180, 181, 179, + 0, 0, 857, 193, 173, 177, 176, 668, 666, 667, 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, 651, 0, 677, 659, 653, 652, 168, - 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 668, 667, 658, - 660, 671, 672, 669, 670, 673, 675, 674, 676, 661, - 662, 663, 654, 656, 657, 655, 0, 0, 0, 192, - 172, 176, 175, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 794, 0, 0, 167, 168, 172, 174, 186, + 187, 184, 185, 188, 189, 190, 191, 182, 183, 175, + 178, 180, 181, 179, 797, 653, 0, 679, 661, 655, + 654, 668, 666, 667, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 755, 0, 0, 670, + 669, 660, 662, 673, 674, 671, 672, 675, 677, 676, + 678, 663, 664, 665, 656, 658, 659, 657, 0, 653, + 0, 679, 661, 655, 654, 169, 171, 170, 192, 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, 0, 192, 172, 176, 175, 169, 191, 0, 0, + 0, 0, 0, 670, 669, 660, 662, 673, 674, 671, + 672, 675, 677, 676, 678, 663, 664, 665, 656, 658, + 659, 657, 0, 0, 0, 193, 173, 177, 176, 0, + 0, 0, 0, 169, 171, 170, 192, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 167, 168, 172, + 174, 186, 187, 184, 185, 188, 189, 190, 191, 182, + 183, 175, 178, 180, 181, 179, 752, 0, 0, 0, + 0, 0, 0, 193, 173, 177, 176, 0, 0, 0, + 0, 169, 171, 170, 192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 167, 168, 172, 174, 186, + 187, 184, 185, 188, 189, 190, 191, 182, 183, 175, + 178, 180, 181, 179, 708, 0, 0, 0, 0, 0, + 0, 193, 173, 177, 176, 0, 0, 0, 0, 169, + 171, 170, 192, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 167, 168, 172, 174, 186, 187, 184, + 185, 188, 189, 190, 191, 182, 183, 175, 178, 180, + 181, 179, 643, 0, 0, 0, 0, 0, 0, 193, + 173, 177, 176, 0, 0, 0, 0, 169, 171, 170, + 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 167, 168, 172, 174, 186, 187, 184, 185, 188, + 189, 190, 191, 182, 183, 175, 178, 180, 181, 179, + 640, 0, 0, 0, 0, 0, 0, 193, 173, 177, + 176, 169, 171, 170, 192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, + 168, 172, 174, 186, 187, 184, 185, 188, 189, 190, + 191, 182, 183, 175, 178, 180, 181, 179, 622, 0, + 0, 193, 173, 177, 176, 0, 0, 0, 0, 169, + 171, 170, 192, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 167, 168, 172, 174, 186, 187, 184, + 185, 188, 189, 190, 191, 182, 183, 175, 178, 180, + 181, 179, 603, 0, 0, 0, 0, 0, 0, 193, + 173, 177, 176, 0, 0, 169, 171, 170, 192, 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, 192, 172, 176, 175, 191, 0, + 476, 167, 168, 172, 174, 186, 187, 184, 185, 188, + 189, 190, 191, 182, 183, 175, 178, 180, 181, 179, + 554, 0, 0, 0, 0, 193, 173, 177, 176, 169, + 171, 170, 192, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 167, 168, 172, + 174, 186, 187, 184, 185, 188, 189, 190, 191, 182, + 183, 175, 178, 180, 181, 179, 0, 0, 0, 193, + 173, 177, 176, 169, 171, 170, 192, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 405, 0, + 0, 167, 168, 172, 174, 186, 187, 184, 185, 188, + 189, 190, 191, 182, 183, 175, 178, 180, 181, 179, + 429, 0, 0, 193, 173, 177, 176, 169, 171, 170, + 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 167, 168, 172, 174, 186, + 187, 184, 185, 188, 189, 190, 191, 182, 183, 175, + 178, 180, 181, 179, 0, 0, 0, 193, 173, 177, + 176, 0, 0, 0, 169, 171, 170, 192, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, + 168, 172, 174, 186, 187, 184, 185, 188, 189, 190, + 191, 182, 183, 175, 178, 180, 181, 179, 397, 0, + 0, 0, 0, 0, 193, 173, 177, 176, 0, 0, + 0, 169, 171, 170, 192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 167, 168, 172, 174, + 186, 187, 184, 185, 188, 189, 190, 191, 182, 183, + 175, 178, 180, 181, 179, 347, 0, 0, 0, 0, + 0, 193, 173, 177, 176, 0, 0, 0, 169, 171, + 170, 192, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 167, 168, 172, 174, 186, 187, 184, + 185, 188, 189, 190, 191, 182, 183, 175, 178, 180, + 181, 179, 346, 0, 0, 0, 0, 0, 193, 173, + 177, 176, 0, 0, 0, 169, 171, 170, 192, 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, + 167, 168, 172, 174, 186, 187, 184, 185, 188, 189, + 190, 191, 182, 183, 175, 178, 180, 181, 179, 166, + 0, 0, 0, 0, 0, 193, 173, 177, 176, 668, + 666, 667, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 167, 168, 172, + 174, 186, 187, 184, 185, 188, 189, 190, 191, 182, + 183, 175, 178, 180, 181, 179, 0, 653, 0, 679, + 661, 655, 654, 169, 171, 170, 192, 0, 0, 0, 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, 651, 0, 677, 659, - 653, 652, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 670, 669, 660, 662, 673, 674, 671, 672, 675, + 677, 676, 678, 663, 664, 665, 656, 658, 659, 657, + 0, 0, 0, 193, 173, 177, 176, 171, 170, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 668, 667, 658, 660, 671, 672, 669, 670, 673, 675, - 674, 676, 661, 662, 663, 654, 656, 657, 655, 651, - 0, 0, 659, 653, 652, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 167, 168, 172, 174, 186, + 187, 184, 185, 188, 189, 190, 191, 182, 183, 175, + 178, 180, 181, 179, 0, 0, 193, 173, 177, 176, + 0, 667, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 167, 168, + 172, 174, 186, 187, 184, 185, 188, 189, 190, 191, + 182, 183, 175, 178, 180, 181, 179, 653, 0, 679, + 661, 655, 654, 170, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 668, 667, 658, 660, 671, 672, 669, - 670, 673, 675, 674, 676, 661, 662, 663, 654, 656, - 657, 655, 0, 172, 176, 175, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 651, 0, - 0, 659, 653, 652, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 667, 658, 660, 671, 672, 669, 670, - 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, - 655, 191, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 670, 669, 660, 662, 673, 674, 671, 672, 675, + 677, 676, 678, 663, 664, 665, 656, 658, 659, 657, + 0, 193, 173, 177, 176, 192, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 167, 168, 172, 174, 186, 187, 184, + 185, 188, 189, 190, 191, 182, 183, 175, 178, 180, + 181, 179, 193, 173, 177, 176, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 167, 168, 172, 174, 186, 187, + 184, 185, 188, 189, 190, 191, 182, 183, 175, 178, + 180, 181, 179, 653, 0, 679, 661, 655, 654, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 670, 669, 660, + 662, 673, 674, 671, 672, 675, 677, 676, 678, 663, + 664, 665, 656, 658, 659, 657, 653, 0, 0, 661, + 655, 654, 192, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 670, 669, 660, 662, 673, 674, 671, 672, 675, 677, + 676, 678, 663, 664, 665, 656, 658, 659, 657, 0, + 173, 177, 176, 0, 0, 0, 0, 83, 84, 72, + 0, 105, 106, 126, 88, 121, 0, 0, 0, 0, + 0, 95, 168, 172, 174, 186, 187, 184, 185, 188, + 189, 190, 191, 182, 183, 175, 178, 180, 181, 179, + 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 81, 82, 0, 0, 0, 0, 0, 0, + 0, 0, 52, 96, 0, 94, 110, 111, 112, 107, + 108, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 0, 0, 143, 113, 109, 103, 489, 85, 86, 87, + 0, 0, 0, 0, 80, 53, 0, 0, 0, 78, + 42, 149, 0, 0, 0, 0, 0, 55, 56, 0, + 65, 66, 67, 68, 69, 70, 71, 0, 0, 653, + 92, 77, 661, 655, 654, 0, 63, 482, 97, 0, + 0, 488, 58, 57, 59, 60, 73, 120, 0, 0, + 0, 0, 0, 0, 0, 660, 662, 673, 674, 671, + 672, 675, 677, 676, 678, 663, 664, 665, 656, 658, + 659, 657, 83, 84, 72, 0, 105, 106, 126, 88, + 121, 0, 0, 0, 0, 0, 95, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 82, 0, + 0, 0, 0, 0, 0, 0, 0, 52, 96, 0, + 94, 110, 111, 112, 107, 108, 0, 0, 0, 0, + 0, 0, 93, 0, 192, 0, 0, 143, 113, 109, + 103, 489, 85, 86, 87, 0, 0, 0, 0, 80, + 53, 0, 0, 0, 78, 148, 149, 0, 0, 0, + 0, 0, 55, 56, 0, 65, 66, 67, 68, 69, + 70, 71, 173, 177, 176, 92, 77, 0, 0, 0, + 0, 63, 0, 97, 0, 0, 488, 58, 57, 59, + 60, 73, 120, 0, 0, 172, 174, 186, 187, 184, + 185, 188, 189, 190, 191, 182, 183, 175, 178, 180, + 181, 179, 83, 84, 72, 0, 105, 106, 126, 88, + 121, 0, 0, 0, 0, 0, 95, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 82, 0, + 0, 0, 0, 0, 0, 0, 0, 52, 96, 0, + 94, 110, 111, 112, 107, 108, 0, 0, 0, 0, + 0, 0, 93, 0, 0, 0, 0, 143, 113, 109, + 103, 0, 85, 86, 87, 192, 0, 0, 0, 80, + 53, 0, 0, 0, 78, 148, 149, 0, 0, 0, + 0, 0, 55, 56, 0, 65, 66, 67, 68, 69, + 70, 71, 0, 0, 0, 92, 77, 0, 0, 0, + 0, 63, 0, 97, 177, 176, 866, 58, 57, 59, + 60, 73, 120, 83, 84, 72, 0, 105, 106, 126, + 88, 121, 0, 0, 0, 0, 0, 95, 186, 187, + 184, 185, 188, 189, 190, 191, 182, 183, 175, 178, + 180, 181, 179, 0, 0, 0, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 82, + 0, 0, 0, 0, 0, 0, 0, 0, 52, 96, + 0, 94, 110, 111, 112, 107, 108, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 0, 0, 143, 113, + 109, 103, 0, 85, 86, 87, 0, 0, 0, 0, + 80, 53, 0, 0, 0, 78, 148, 149, 0, 0, + 0, 0, 0, 55, 56, 0, 65, 66, 67, 68, + 69, 70, 71, 0, 0, 0, 92, 77, 0, 0, + 0, 0, 63, 0, 97, 0, 0, 629, 58, 57, + 59, 60, 73, 120, 83, 84, 72, 0, 105, 106, + 126, 88, 121, 0, 0, 0, 0, 0, 95, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, + 82, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 96, 0, 94, 110, 111, 112, 107, 108, 0, 0, + 0, 0, 0, 0, 93, 0, 192, 0, 0, 143, + 113, 109, 103, 0, 85, 86, 87, 0, 0, 0, + 0, 80, 53, 0, 0, 0, 78, 148, 149, 0, + 0, 0, 0, 0, 55, 56, 0, 65, 66, 67, + 68, 69, 70, 71, 173, 177, 176, 92, 77, 0, + 0, 0, 0, 63, 0, 97, 0, 0, 627, 58, + 57, 59, 60, 73, 120, 0, 0, 0, 174, 186, + 187, 184, 185, 188, 189, 190, 191, 182, 183, 175, + 178, 180, 181, 179, 83, 84, 72, 0, 105, 106, + 126, 88, 121, 0, 0, 0, 0, 0, 95, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, + 82, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 96, 0, 94, 110, 111, 112, 107, 108, 0, 0, + 0, 0, 0, 0, 93, 0, 0, 0, 0, 143, + 113, 109, 103, 0, 85, 86, 87, 0, 0, 0, + 0, 80, 53, 0, 0, 0, 78, 148, 149, 0, + 0, 0, 0, 0, 55, 56, 0, 65, 66, 67, + 68, 69, 70, 71, 0, 0, 0, 92, 77, 0, + 0, 0, 0, 63, 0, 97, 0, 0, 292, 58, + 57, 59, 60, 73, 120, 83, 84, 72, 0, 105, + 106, 126, 88, 121, 0, 0, 0, 0, 0, 95, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 81, 82, 0, 0, 0, 0, 0, 0, 0, 0, + 52, 96, 0, 94, 110, 111, 112, 107, 108, 0, + 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, + 143, 113, 109, 103, 0, 85, 86, 87, 0, 192, + 0, 0, 80, 53, 0, 0, 0, 78, 42, 149, + 0, 0, 0, 0, 0, 55, 56, 0, 65, 66, + 67, 68, 69, 70, 71, 0, 0, 0, 92, 77, + 0, 0, 0, 0, 63, 431, 97, 173, 177, 176, + 58, 57, 59, 60, 73, 120, 83, 84, 72, 0, + 105, 106, 126, 88, 121, 0, 0, 0, 0, 0, + 95, 0, 186, 187, 184, 185, 188, 189, 190, 191, + 182, 183, 175, 178, 180, 181, 179, 0, 0, 45, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 82, 0, 0, 0, 0, 0, 0, 0, + 0, 52, 96, 0, 94, 110, 111, 112, 107, 108, + 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, + 0, 143, 113, 109, 103, 0, 85, 86, 87, 0, + 0, 0, 0, 80, 53, 0, 0, 0, 78, 148, + 149, 0, 0, 0, 0, 0, 55, 56, 0, 65, + 66, 67, 68, 69, 70, 71, 0, 0, 0, 92, + 77, 0, 0, 0, 0, 63, 0, 97, 0, 0, + 407, 58, 57, 59, 60, 73, 120, 83, 84, 72, + 0, 105, 106, 126, 88, 121, 0, 0, 0, 0, + 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 81, 82, 0, 0, 0, 0, 0, 0, + 0, 0, 52, 96, 0, 94, 110, 111, 112, 107, + 108, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 0, 0, 143, 113, 109, 103, 0, 85, 86, 87, + 0, 0, 0, 0, 80, 53, 0, 0, 0, 78, + 148, 149, 0, 0, 0, 0, 0, 55, 56, 0, + 65, 66, 67, 68, 69, 70, 71, 0, 0, 0, + 92, 77, 0, 0, 0, 388, 63, 0, 97, 0, + 0, 0, 58, 57, 59, 60, 73, 120, 83, 84, + 72, 0, 105, 106, 126, 88, 121, 0, 0, 0, + 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 81, 82, 0, 0, 0, 0, 0, + 0, 0, 0, 52, 96, 0, 94, 110, 111, 112, + 107, 108, 0, 0, 0, 0, 0, 0, 93, 0, + 0, 0, 0, 143, 113, 109, 103, 0, 85, 86, + 87, 0, 0, 0, 0, 80, 53, 0, 0, 0, + 78, 148, 149, 0, 0, 0, 0, 0, 55, 56, + 0, 65, 66, 67, 68, 69, 70, 71, 0, 0, + 0, 92, 77, 0, 0, 152, 0, 63, 0, 97, + 0, 0, 0, 58, 57, 59, 60, 73, 120, 83, + 84, 72, 0, 105, 106, 126, 88, 121, 0, 0, + 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 81, 82, 0, 0, 0, 0, + 0, 0, 0, 0, 52, 96, 0, 94, 110, 111, + 112, 107, 108, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 0, 0, 143, 113, 109, 103, 0, 85, + 86, 87, 0, 0, 0, 0, 80, 53, 0, 0, + 0, 78, 148, 149, 0, 0, 0, 0, 0, 55, + 56, 0, 65, 66, 67, 68, 69, 70, 71, 0, + 0, 0, 92, 77, 0, 0, 150, 0, 63, 0, + 97, 0, 0, 0, 58, 57, 59, 60, 73, 120, + 83, 84, 72, 0, 105, 106, 126, 88, 121, 0, + 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 81, 82, 0, 0, 0, + 0, 0, 0, 0, 0, 52, 96, 0, 94, 110, + 111, 112, 107, 108, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 0, 0, 143, 113, 109, 103, 0, + 85, 86, 87, 0, 0, 0, 0, 80, 53, 0, + 0, 0, 78, 148, 149, 0, 0, 0, 0, 0, + 55, 56, 0, 65, 66, 67, 68, 69, 70, 71, + 0, 0, 0, 92, 77, 0, 0, 146, 0, 63, + 0, 97, 0, 0, 0, 58, 57, 59, 60, 73, + 120, 83, 84, 72, 0, 105, 106, 126, 88, 121, + 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 81, 82, 0, 0, + 0, 0, 0, 0, 0, 0, 52, 96, 0, 94, + 110, 111, 112, 107, 108, 0, 0, 0, 0, 0, + 0, 93, 0, 0, 0, 0, 143, 113, 109, 103, + 0, 85, 86, 87, 0, 0, 0, 0, 80, 53, + 0, 0, 0, 78, 148, 149, 0, 0, 0, 0, + 0, 55, 56, 0, 65, 66, 67, 68, 69, 70, + 71, 0, 0, 0, 92, 77, 0, 0, 0, 0, + 63, 0, 97, 0, 0, 0, 58, 57, 59, 60, + 73, 120, 83, 84, 72, 0, 105, 106, 126, 442, + 121, 0, 0, 0, 0, 0, 95, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 81, 82, 0, + 0, 0, 0, 0, 0, 0, 0, 52, 96, 0, + 94, 110, 111, 112, 107, 108, 0, 0, 0, 0, + 0, 0, 93, 0, 0, 0, 0, 143, 113, 109, + 103, 0, 85, 86, 87, 0, 0, 0, 0, 80, + 53, 0, 0, 0, 78, 148, 149, 0, 0, 0, + 0, 0, 55, 56, 0, 65, 66, 67, 68, 69, + 70, 71, 0, 0, 0, 92, 77, 0, 0, 0, + 0, 63, 0, 97, 0, 0, 0, 58, 57, 59, + 60, 73, 120, 83, 84, 72, 0, 105, 106, 126, + 88, 121, 0, 0, 0, 0, 0, 95, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 82, + 0, 0, 0, 0, 0, 0, 0, 0, 52, 96, + 0, 94, 110, 111, 112, 107, 108, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 0, 0, 143, 113, + 109, 103, 0, 85, 86, 87, 0, 0, 0, 0, + 80, 53, 105, 106, 126, 78, 42, 149, 0, 0, + 0, 0, 529, 55, 56, 0, 65, 66, 67, 68, + 69, 70, 71, 0, 0, 0, 92, 77, 0, 0, + 0, 0, 63, 0, 97, 0, 0, 0, 58, 57, + 59, 60, 73, 120, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 524, 0, 527, 110, 111, 112, + 107, 108, 0, 0, 0, 0, 0, 0, 530, 0, + 0, 0, 0, 522, 113, 109, 523, 105, 106, 126, + 0, 0, 0, 0, 0, 0, 0, 529, 0, 0, + 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 787, 536, 0, 525, + 0, 0, 0, 535, 534, 532, 533, 0, 0, 524, + 0, 527, 110, 111, 112, 107, 108, 0, 0, 0, + 0, 0, 0, 530, 0, 0, 0, 0, 522, 113, + 109, 523, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 233, 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, 142, 112, 108, 102, 487, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, - 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 651, 91, - 76, 659, 653, 652, 0, 62, 480, 96, 0, 0, - 486, 57, 56, 58, 59, 72, 119, 0, 0, 0, - 0, 0, 0, 0, 658, 660, 671, 672, 669, 670, - 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, - 655, 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, 142, 112, 108, 102, - 487, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 147, 148, 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, 486, 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, 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, 142, 112, 108, 102, - 0, 84, 85, 86, 191, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 147, 148, 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, 176, 175, 864, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, - 120, 0, 0, 0, 0, 0, 94, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 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, 142, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 147, 148, 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, 627, 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, 142, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 147, 148, 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, 625, 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, 142, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 147, 148, 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, 142, - 112, 108, 102, 0, 84, 85, 86, 0, 191, 0, - 0, 79, 52, 0, 0, 0, 77, 41, 148, 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, 429, 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, - 142, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 147, 148, - 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, 405, - 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, 142, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 147, - 148, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 386, 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, 142, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 147, 148, 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, 142, 112, 108, 102, 0, 84, 85, - 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, - 77, 147, 148, 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, 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, 142, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 147, 148, 0, 0, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 145, 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, 142, 112, 108, 102, 0, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 147, 148, 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, 440, 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, 142, 112, 108, 102, - 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 147, 148, 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, 142, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 104, 105, 125, 77, 41, 148, 0, 0, 0, - 0, 527, 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, 522, 0, 525, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 528, 0, 0, - 0, 0, 520, 112, 108, 521, 104, 105, 125, 0, - 0, 0, 0, 0, 0, 0, 527, 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, 785, 534, 0, 523, 0, - 0, 0, 533, 532, 530, 531, 0, 0, 522, 0, - 525, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 528, 0, 0, 0, 0, 520, 112, 108, - 521, 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, 534, 0, 523, 0, 0, 0, 533, 532, 530, - 531, + 0, 0, 536, 0, 525, 0, 0, 0, 535, 534, + 532, 533, } var yyPact = [...]int{ - -1000, -1000, 2402, -1000, -1000, -1000, -1000, 340, 605, 676, - 153, -1000, 346, -1000, -1000, 955, -1000, 285, 285, 5022, - 336, 285, 7755, 7624, 7493, 415, 197, 798, 7886, -1000, - 5684, 335, 333, 332, -1000, 460, 7886, 951, 100, 949, - 947, 7886, -1000, -1000, -1000, -1000, 718, -1000, 717, -1000, - 1182, 330, 7886, 476, 700, 700, 7886, 7886, 7886, 7886, - -1000, -1000, 8148, -1000, 7886, 7886, 7886, 7886, 7886, 7886, - 7886, 328, 7886, -1000, 218, 213, 950, 7886, 699, 706, - 327, 326, 7886, 7886, 325, 7886, 7886, -1000, 212, -1000, - -1000, 912, 897, -1000, 207, 324, 6969, -1000, 205, 199, - -1000, 304, 913, 622, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 158, 193, -1000, 610, 287, -1000, 451, - -1000, 273, 362, -1000, 913, -1000, 150, 627, 617, -1000, - 694, 913, -1000, 946, -1000, 26, 4105, 4891, 8148, 4760, - 793, 100, 538, 7886, 323, -1000, 5637, -1000, 762, -1000, - 5590, -1000, 408, 1234, 5772, -1000, 149, -1000, -1000, 382, - 145, 100, 10, 60, 5772, -1000, 7886, 7886, 7886, 7886, - 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, - 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, - 7886, 706, 7362, 700, 7886, 943, -1000, 5543, 407, 365, - -1000, 713, 709, -1000, 1182, 5496, -1000, -1000, 7231, 7886, - 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, 7886, - 7886, 129, -1000, -1000, -1000, -1000, -1000, 304, 537, 913, - 568, 567, -1000, -1000, -120, -120, -25, -120, 272, 5452, - 267, -120, -120, -120, -120, -120, -120, -120, -1000, 7100, - -1000, -120, 7886, 7886, 441, 735, 719, -1000, 262, 8017, - 700, 5898, 141, 287, 563, -1000, 528, 536, 913, 683, - 158, 193, 561, 7886, 7886, 5772, 5772, 7886, 5772, 5772, - 7886, 531, 735, 731, -1000, 755, 7886, 6969, 185, 89, - 5408, 700, 7886, 7886, 940, -1000, 6252, 304, 65, 7886, - 7886, 158, 451, 181, -1000, 7886, 406, -1000, -1000, 2271, - 304, -1000, 639, 29, -1000, 621, 913, 28, -1000, 613, - 913, 938, 611, 9, 8308, -1000, -1000, -1000, -1000, -1000, - 317, -1000, -1000, -1000, -1000, -1000, 285, 314, 405, 68, - 5772, -1000, 404, 402, -1000, -1000, -1000, -1000, -1000, 197, - -1000, 7886, -1000, -1000, 852, 313, 8308, -1000, 7886, 6121, - 6393, 5815, 5898, 5857, 6805, 6554, 7098, -9, -9, -9, - -25, -120, -25, -25, 71, 71, 1026, 1026, 1026, 1026, - 251, 251, 251, 251, -1000, 5364, 7886, 80, -1000, -1000, - 1117, 780, 78, -6, 3974, -1000, -1000, 312, 684, 677, - 619, 450, 619, 7886, 5898, 200, 5898, 5898, 5898, 5898, - 5898, 5898, 5898, 5898, 5898, 5898, 5898, 5898, 63, -1000, - -1000, 305, 913, 304, 141, 141, 253, -1000, -1000, -1000, - 183, 5772, 180, -1000, -1000, -1000, -1000, 889, 933, 5318, - 191, 419, 287, 176, -1000, -1000, 158, 193, -1000, 7886, - -1000, -1000, 173, 913, 528, 141, 158, 173, 62, -1000, - 1182, -1000, 714, 266, 5270, 164, -1000, -1000, -1000, 163, - 265, -1000, -1000, 6819, 6688, -1000, -1000, 161, 155, -1000, - -1000, 41, 264, -1000, -1000, 1182, 700, 7886, -1000, 287, - 287, -1000, -1000, 152, 5226, 287, 287, -1000, 5178, -1000, - 2140, -1000, -1000, -1000, -1000, 627, 927, 607, -1000, 617, - 925, 603, -1000, 924, 8308, -1000, 5728, -1000, -1000, 528, - 530, 913, 302, 8308, -1000, -1000, -1000, -1000, 705, 560, - 8308, 8308, 8308, 8308, 8308, 259, 509, 4236, 3843, 400, - 7886, 7886, 458, -1000, 914, -1000, -1000, 5130, -10, 684, - -1000, 5772, 7886, 6025, 399, 700, 410, 410, 4629, 921, - 8308, 756, 684, 255, 48, -1000, 100, -1000, -1000, -1000, - 528, 529, 913, 447, 619, -1000, -1000, 33, -1000, -1000, - 1182, -1000, 706, -13, 129, 129, 304, -1000, -1000, 236, - 682, 7886, -1000, 141, -1000, -1000, 142, -1000, -1000, -1000, - -1000, -1000, 7886, -1000, -1000, 189, 174, -1000, 7886, 7886, - 158, 5082, -1000, 528, -1000, -1000, -1000, 7886, -1000, -1000, - -1000, -1000, -1000, -1000, 5034, 700, 5772, 700, -1000, -1000, - -1000, 6407, -1000, -1000, 5772, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 917, -1000, -1000, 916, -1000, - -1000, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, - 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8308, - 8308, 8308, 8308, 8308, 8308, 8308, 8308, 8233, 913, 528, - 8308, 139, 42, 1939, 650, 761, -65, -65, -58, -58, - 1889, 396, -1000, 285, 5022, 506, 390, -1000, 383, 5772, - -1000, 7886, 310, 440, 379, 884, -1000, 8308, 247, 6025, - -1000, -1000, 668, -1000, 700, 298, 668, -1000, -1000, -1000, - -16, -1000, 742, 296, 246, 739, 684, 505, 913, 528, - -1000, 33, 1744, 619, 287, 7886, -1000, 24, 7886, 682, - -1000, 133, 287, -1000, 1788, 682, 7886, 7886, 106, 1732, - -1000, 673, -1000, 6557, -1000, -1000, -1000, -1000, -1000, 1649, - -58, -58, -65, -65, -65, -65, 1538, 1803, 911, -51, - -51, -58, 1460, 5941, 91, 6243, 6043, -66, -66, -66, - -66, 8, 8, 8, 8, 8308, 1187, 528, 245, -1000, - -1000, 8308, 8308, -1000, -1000, -1000, -1000, 5022, -1000, 494, - 285, 311, -1000, 7886, 1049, -1000, -1000, -1000, -1000, -1000, - 377, -1000, 739, 244, 410, -1000, 129, 242, 3712, 8308, - -1000, 443, 619, 436, 433, 282, -1000, 851, -1000, 528, - 1009, -1000, -1000, 827, 1, -1000, 762, 493, -1000, 910, - 619, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 5898, -1000, 105, -1000, -1000, 417, -1000, 103, -56, -1000, - -1000, -1000, 141, 5772, 700, -1000, 5984, 8308, -1000, 1598, - 5728, -1000, 375, 229, -1000, 240, -1000, 4236, -1000, 428, - 4498, -1000, 19, 4498, 374, -1000, -1000, 825, -1000, -1000, - 227, -53, -1000, -17, -54, -1000, 908, 100, -1000, -63, - -50, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 5984, 8308, - -1000, -1000, 4236, 4367, 4236, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 3581, 239, 3450, 3319, -48, -1000, 824, 8308, - -1000, 821, 8308, -64, 903, 8308, -1000, 619, -1000, 623, - 5728, 4236, -1000, -1000, -1000, 3188, 3057, -1000, 426, -1000, - -1000, -1000, 194, -1000, -1000, -75, -1000, 8308, 277, -1000, - -1000, 366, 623, -1000, 364, 363, 732, 776, 544, -1000, - 2926, -1000, 361, -1000, -1000, 817, 8308, -1000, 684, -1000, - -1000, -1000, -1000, 619, 493, 898, 355, -1000, 2795, -1000, - -1000, 238, -47, -1000, 895, -1000, -1000, -1000, 746, 358, - 619, -1000, -1000, 746, -1000, 275, -1000, -1000, -1000, -1000, - -1000, 619, 2664, 815, -1000, 228, 384, -1000, 2533, -1000, + -1000, -1000, 2286, -1000, -1000, -1000, -1000, -1000, 267, 471, + 610, 73, -1000, 269, -1000, -1000, 852, -1000, 209, 209, + 4934, 264, 209, 7826, 7695, 7564, 336, 163, 721, 7957, + -1000, 5808, 263, 262, 261, -1000, 373, 7957, 850, 53, + 844, 843, 7957, -1000, -1000, -1000, -1000, 661, -1000, 659, + -1000, 1185, 258, 7957, 402, 449, 449, 7957, 7957, 7957, + 7957, -1000, -1000, 8219, -1000, 7957, 7957, 7957, 7957, 7957, + 7957, 7957, 252, 7957, -1000, 170, 167, 891, 7957, 595, + 702, 250, 246, 7957, 7957, 245, 7957, 7957, -1000, 166, + -1000, -1000, 887, 781, -1000, 165, 244, 7040, -1000, 159, + 156, -1000, 206, 808, 543, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 103, 160, -1000, 537, 210, -1000, + 372, -1000, 199, 359, -1000, 808, -1000, 57, 571, 540, + -1000, 621, 808, -1000, 842, -1000, -17, 4015, 4803, 8219, + 4672, 718, 53, 485, 7957, 255, -1000, 5761, -1000, 688, + -1000, 5714, -1000, 333, 1259, 5896, -1000, 56, -1000, -1000, + 411, 45, 53, -18, 38, 5896, -1000, 7957, 7957, 7957, + 7957, 7957, 7957, 7957, 7957, 7957, 7957, 7957, 7957, 7957, + 7957, 7957, 7957, 7957, 7957, 7957, 7957, 7957, 7957, 7957, + 7957, 7957, 702, 7433, 449, 7957, 841, -1000, 5667, 332, + 286, -1000, 645, 639, -1000, 1185, 5620, -1000, -1000, 7302, + 7957, 7957, 7957, 7957, 7957, 7957, 7957, 7957, 7957, 7957, + 7957, 7957, 404, -1000, -1000, -1000, -1000, -1000, 206, 474, + 808, 536, 525, -1000, -1000, -115, -115, -47, -115, 196, + 5576, 195, -115, -115, -115, -115, -115, -115, -115, -1000, + 7171, -1000, -115, 7957, 7957, 376, 706, 684, -1000, 219, + 8088, 449, 6065, 67, 210, 524, -1000, 422, 445, 808, + 583, 103, 160, 513, 7957, 7957, 5896, 5896, 7957, 5896, + 5896, 7957, 532, 706, 697, -1000, 710, 7957, 7040, 145, + 30, 5532, 449, 7957, 7957, 839, -1000, 6323, 206, 55, + 7957, 7957, 103, 372, 68, -1000, 7957, 330, -1000, -1000, + 2146, 206, -1000, 613, 19, -1000, 609, 808, 7, -1000, + 606, 808, 838, 604, -27, 8379, -1000, -1000, -1000, -1000, + -1000, -1000, 241, -1000, -1000, -1000, -1000, -1000, 209, 239, + 329, 20, 5896, -1000, 325, 324, -1000, -1000, -1000, -1000, + -1000, 163, -1000, 7957, -1000, -1000, 784, 237, 8379, -1000, + 7957, 6192, 6464, 5939, 6065, 6024, 6876, 6625, 7169, 4, + 4, 4, -47, -115, -47, -47, 100, 100, 953, 953, + 953, 953, 863, 863, 863, 863, -1000, 5488, 7957, 3, + -1000, -1000, 1121, 715, -3, -39, 3882, -1000, -1000, 228, + 519, 628, 563, 368, 563, 7957, 6065, 351, 6065, 6065, + 6065, 6065, 6065, 6065, 6065, 6065, 6065, 6065, 6065, 6065, + -12, -1000, -1000, 224, 808, 206, 67, 67, 212, -1000, + -1000, -1000, 142, 5896, 133, -1000, -1000, -1000, -1000, 803, + 836, 5442, 155, 342, 210, 164, -1000, -1000, 103, 160, + -1000, 7957, -1000, -1000, 148, 808, 422, 67, 103, 148, + -22, -1000, 1185, -1000, 1046, 193, 5394, 125, -1000, -1000, + -1000, 107, 192, -1000, -1000, 6890, 6759, -1000, -1000, 106, + 99, -1000, -1000, -25, 189, -1000, -1000, 1185, 449, 7957, + -1000, 210, 210, -1000, -1000, 93, 5350, 210, 210, -1000, + 5302, -1000, 1759, -1000, -1000, -1000, -1000, 571, 831, 522, + -1000, 540, 830, 517, -1000, 825, 8379, -1000, 5852, -1000, + -1000, 422, 443, 808, 216, 8379, -1000, -1000, -1000, -1000, + 615, 508, 8379, 8379, 8379, 8379, 8379, 188, 447, 4148, + 3749, 323, 7957, 7957, 399, -1000, 737, -1000, -1000, 5254, + -40, 519, -1000, 5896, 7957, 4932, 322, 449, 1529, 1529, + 4541, 821, 8379, 687, 519, 187, -4, -1000, 53, -1000, + -1000, -1000, 422, 436, 808, 365, 563, -1000, -1000, -29, + -1000, -1000, 1185, -1000, 702, -43, 404, 404, 206, -1000, + -1000, 161, 572, 7957, -1000, 67, -1000, -1000, 88, -1000, + -1000, -1000, -1000, -1000, 7957, -1000, -1000, 154, 147, -1000, + 7957, 7957, 103, 5206, -1000, 422, -1000, -1000, -1000, 7957, + -1000, -1000, -1000, -1000, -1000, -1000, 5158, 449, 5896, 449, + -1000, -1000, -1000, 6478, -1000, -1000, 5896, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 818, -1000, -1000, + 811, -1000, -1000, 8379, 8379, 8379, 8379, 8379, 8379, 8379, + 8379, 8379, 8379, 8379, 8379, 8379, 8379, 8379, 8379, 8379, + 8379, 8379, 8379, 8379, 8379, 8379, 8379, 8379, 8379, 8304, + 808, 422, 8379, 83, -11, 5114, 535, 714, -72, -72, + -81, -81, 5070, 317, -1000, 209, 4934, 429, 316, -1000, + 315, 5896, -1000, 7957, 233, 396, 314, 709, -1000, 8379, + 186, 4932, -1000, -1000, 566, -1000, 449, 215, 566, -1000, + -1000, -1000, -62, -1000, 679, 213, 184, 676, 519, 412, + 808, 422, -1000, -29, 1023, 563, 210, 7957, -1000, -32, + 7957, 572, -1000, 80, 210, -1000, 5026, 572, 7957, 7957, + 79, 4982, -1000, 570, -1000, 6628, -1000, -1000, -1000, -1000, + -1000, 1911, -81, -81, -72, -72, -72, -72, 1333, 1788, + 82, 33, 33, -81, 5982, 6108, 1955, 6314, 1571, -14, + -14, -14, -14, 91, 91, 91, 91, 8379, 1190, 422, + 183, -1000, -1000, 8379, 8379, -1000, -1000, -1000, -1000, 4934, + -1000, 375, 209, 234, -1000, 7957, 1051, -1000, -1000, -1000, + -1000, -1000, 303, -1000, 676, 182, 1529, -1000, 404, 180, + 3616, 8379, -1000, 363, 563, 358, 355, 207, -1000, 778, + -1000, 422, 817, -1000, -1000, 767, -30, -1000, 688, 708, + -1000, 802, 563, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 6065, -1000, 77, -1000, -1000, 340, -1000, 62, + 59, -1000, -1000, -1000, 67, 5896, 449, -1000, 6151, 8379, + -1000, 1807, 5852, -1000, 296, 220, -1000, 179, -1000, 4148, + -1000, 352, 4410, -1000, -34, 4410, 294, -1000, -1000, 766, + -1000, -1000, 172, -64, -1000, -46, -66, -1000, 793, 53, + -1000, -67, -59, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 6151, 8379, -1000, -1000, 4148, 4279, 4148, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 3483, 178, 3350, 3217, -37, -1000, + 744, 8379, -1000, 736, 8379, -70, 791, 8379, -1000, 563, + -1000, 564, 5852, 4148, -1000, -1000, -1000, 3084, 2951, -1000, + 346, -1000, -1000, -1000, 171, -1000, -1000, -82, -1000, 8379, + 205, -1000, -1000, 338, 564, -1000, 292, 290, 670, 703, + 433, -1000, 2818, -1000, 273, -1000, -1000, 733, 8379, -1000, + 519, -1000, -1000, -1000, -1000, 563, 708, 789, 214, -1000, + 2685, -1000, -1000, 177, -80, -1000, 787, -1000, -1000, -1000, + 685, 281, 563, -1000, -1000, 685, -1000, 202, -1000, -1000, + -1000, -1000, -1000, 563, 2552, 723, -1000, 58, 345, -1000, + 2419, -1000, } var yyPgo = [...]int{ - 0, 29, 1152, 1151, 46, 40, 44, 571, 1149, 1148, - 4, 217, 134, 42, 1383, 110, 66, 54, 791, 1447, - 1145, 31, 1144, 1143, 1142, 124, 1141, 43, 86, 1140, - 1135, 1134, 1133, 90, 1131, 1130, 26, 1128, 28, 45, - 49, 1126, 738, 33, 1125, 1, 1124, 1122, 17, 1121, - 68, 50, 48, 1120, 1119, 1118, 34, 1117, 1115, 2, - 1113, 1101, 1100, 19, 1099, 1098, 1097, 1096, 1094, 52, - 3, 1093, 1092, 1091, 1090, 1089, 6, 1088, 630, 1087, - 58, 0, 1084, 1083, 1081, 105, 1080, 1062, 604, 1061, - 1060, 62, 11, 1059, 8, 1058, 1057, 1055, 12, 38, - 1054, 1052, 1051, 1049, 1046, 1045, 14, 1043, 23, 1035, - 1033, 1031, 1030, 1029, 30, 1028, 1025, 1023, 1020, 1015, - 1014, 1011, 25, 1007, 1004, 998, 27, 997, 15, 16, - 996, 37, 990, 987, 986, 983, 41, 7, 20, 18, - 22, 981, 978, 970, 5, 969, 968, 960, 13, 921, - 21, 24, + 0, 29, 1091, 1090, 38, 31, 30, 572, 1088, 1086, + 134, 217, 204, 88, 1385, 82, 63, 59, 651, 1422, + 1085, 33, 1081, 1080, 1079, 136, 1078, 36, 37, 1077, + 1076, 1075, 1074, 135, 1073, 1072, 24, 1069, 26, 48, + 45, 1068, 634, 34, 1066, 1, 1065, 1063, 27, 1062, + 73, 68, 61, 1060, 1059, 1058, 35, 1057, 1056, 4, + 1055, 1054, 1053, 17, 1051, 1049, 1048, 1047, 1046, 51, + 5, 1045, 1042, 1041, 1040, 1037, 2, 1033, 631, 1032, + 39, 0, 1018, 1017, 1013, 117, 1007, 1001, 513, 1000, + 998, 42, 8, 995, 9, 991, 990, 988, 14, 49, + 985, 983, 982, 980, 976, 974, 3, 971, 16, 962, + 961, 959, 958, 955, 28, 952, 951, 950, 949, 948, + 947, 945, 21, 939, 933, 930, 25, 929, 23, 12, + 928, 40, 924, 923, 922, 914, 41, 6, 19, 18, + 22, 911, 907, 902, 13, 869, 866, 865, 15, 863, + 7, 20, } var yyR1 = [...]int{ 0, 149, 80, 80, 81, 81, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 82, 82, 4, - 4, 4, 4, 83, 83, 5, 5, 5, 5, 84, - 84, 6, 6, 6, 6, 53, 53, 85, 85, 24, - 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, + 3, 3, 3, 3, 3, 3, 3, 3, 82, 82, + 4, 4, 4, 4, 83, 83, 5, 5, 5, 5, + 84, 84, 6, 6, 6, 6, 53, 53, 85, 85, + 24, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 103, 103, 58, 58, 104, 104, 105, - 105, 59, 101, 101, 56, 51, 52, 144, 144, 145, - 145, 60, 61, 61, 64, 64, 64, 64, 65, 65, - 2, 113, 113, 109, 109, 114, 114, 138, 138, 137, - 137, 137, 147, 147, 148, 148, 57, 57, 102, 102, - 141, 141, 141, 141, 99, 99, 99, 150, 150, 146, - 146, 95, 95, 96, 96, 54, 54, 55, 55, 106, - 106, 107, 107, 63, 63, 62, 62, 62, 62, 140, - 140, 140, 115, 115, 69, 69, 69, 69, 86, 86, - 27, 27, 27, 87, 87, 87, 87, 108, 108, 66, - 66, 66, 66, 68, 116, 116, 143, 143, 117, 117, - 118, 118, 70, 70, 71, 119, 119, 74, 74, 73, - 72, 72, 75, 75, 142, 142, 110, 110, 111, 111, - 120, 120, 76, 76, 76, 76, 76, 76, 112, 112, - 112, 112, 67, 67, 100, 100, 98, 98, 97, 97, - 126, 126, 124, 124, 125, 125, 125, 127, 127, 42, + 26, 26, 26, 26, 26, 103, 103, 58, 58, 104, + 104, 105, 105, 59, 101, 101, 56, 51, 52, 144, + 144, 145, 145, 60, 61, 61, 64, 64, 64, 64, + 65, 65, 2, 113, 113, 109, 109, 114, 114, 138, + 138, 137, 137, 137, 147, 147, 148, 148, 57, 57, + 102, 102, 141, 141, 141, 141, 99, 99, 99, 150, + 150, 146, 146, 95, 95, 96, 96, 54, 54, 55, + 55, 106, 106, 107, 107, 63, 63, 62, 62, 62, + 62, 140, 140, 140, 115, 115, 69, 69, 69, 69, + 86, 86, 27, 27, 27, 87, 87, 87, 87, 108, + 108, 66, 66, 66, 66, 68, 116, 116, 143, 143, + 117, 117, 118, 118, 70, 70, 71, 119, 119, 74, + 74, 73, 72, 72, 75, 75, 142, 142, 110, 110, + 111, 111, 120, 120, 76, 76, 76, 76, 76, 76, + 112, 112, 112, 112, 67, 67, 100, 100, 98, 98, + 97, 97, 126, 126, 124, 124, 125, 125, 125, 127, + 127, 42, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 50, 50, 50, 50, 47, 47, - 47, 47, 46, 46, 1, 94, 94, 93, 93, 93, - 93, 23, 23, 23, 23, 23, 23, 23, 23, 11, - 11, 11, 11, 45, 45, 45, 43, 43, 41, 41, - 134, 134, 133, 49, 49, 49, 121, 121, 121, 139, - 139, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 8, 28, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, + 15, 15, 15, 15, 15, 15, 50, 50, 50, 50, + 47, 47, 47, 47, 46, 46, 1, 94, 94, 93, + 93, 93, 93, 23, 23, 23, 23, 23, 23, 23, + 23, 11, 11, 11, 11, 45, 45, 45, 43, 43, + 41, 41, 134, 134, 133, 49, 49, 49, 121, 121, + 121, 139, 139, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 8, 28, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 35, 35, - 35, 35, 29, 29, 29, 29, 29, 29, 29, 122, - 122, 151, 151, 123, 123, 123, 123, 14, 14, 48, - 48, 16, 17, 18, 19, 19, 135, 135, 128, 130, - 130, 77, 129, 129, 129, 40, 40, 44, 44, 12, - 22, 22, 20, 20, 20, 21, 21, 21, 10, 10, - 10, 9, 9, 13, 13, 131, 131, 132, 132, 132, - 39, 39, 136, 136, 92, 92, 38, 38, 38, 91, - 91, 90, 90, 90, 90, 90, 90, 90, 90, 88, - 88, 88, 88, 33, 33, 33, 33, 33, 33, 34, - 34, 34, 37, 37, 37, 37, 37, 37, 37, 37, - 89, 89, 36, 36, 30, 30, 31, 32, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 35, 35, 35, 35, 29, 29, 29, 29, 29, 29, + 29, 122, 122, 151, 151, 123, 123, 123, 123, 14, + 14, 48, 48, 16, 17, 18, 19, 19, 135, 135, + 128, 130, 130, 77, 129, 129, 129, 40, 40, 44, + 44, 12, 22, 22, 20, 20, 20, 21, 21, 21, + 10, 10, 10, 9, 9, 13, 13, 131, 131, 132, + 132, 132, 39, 39, 136, 136, 92, 92, 38, 38, + 38, 91, 91, 90, 90, 90, 90, 90, 90, 90, + 90, 88, 88, 88, 88, 33, 33, 33, 33, 33, + 33, 34, 34, 34, 37, 37, 37, 37, 37, 37, + 37, 37, 89, 89, 36, 36, 30, 30, 31, 32, } 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, 2, 0, 1, - 1, 1, 4, 1, 2, 3, 5, 8, 3, 5, - 9, 3, 2, 3, 2, 3, 2, 3, 3, 2, - 3, 3, 3, 1, 2, 5, 8, 8, 5, 1, - 6, 3, 3, 0, 9, 0, 4, 1, 0, 1, - 2, 8, 1, 3, 1, 1, 1, 0, 1, 0, - 1, 9, 7, 6, 1, 2, 1, 2, 0, 2, - 1, 0, 2, 0, 2, 1, 3, 0, 2, 1, - 2, 4, 1, 4, 1, 4, 1, 4, 3, 5, - 3, 4, 4, 5, 0, 5, 4, 1, 1, 1, - 4, 0, 4, 0, 5, 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, 3, - 2, 1, 8, 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, 3, 1, - 2, 1, 4, 3, 2, 1, 1, 0, 1, 3, - 6, 3, 4, 6, 2, 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, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 1, 1, 4, 5, 4, 1, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 1, 1, 3, - 2, 1, 9, 10, 2, 2, 4, 4, 4, 4, - 4, 4, 4, 3, 1, 0, 4, 3, 4, 1, - 2, 2, 4, 3, 4, 4, 4, 4, 2, 1, - 1, 3, 2, 1, 3, 2, 1, 1, 4, 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, + 0, 1, 2, 0, 1, 3, 1, 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, 2, 0, + 1, 1, 1, 1, 4, 1, 2, 3, 5, 8, + 3, 5, 9, 3, 2, 3, 2, 3, 2, 3, + 3, 2, 3, 3, 3, 1, 2, 5, 8, 8, + 5, 1, 6, 3, 3, 0, 9, 0, 4, 1, + 0, 1, 2, 8, 1, 3, 1, 1, 1, 0, + 1, 0, 1, 9, 7, 6, 1, 2, 1, 2, + 0, 2, 1, 0, 2, 0, 2, 1, 3, 0, + 2, 1, 2, 4, 1, 4, 1, 4, 1, 4, + 3, 5, 3, 4, 4, 5, 0, 5, 4, 1, + 1, 1, 4, 0, 4, 0, 5, 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, 3, 2, 1, 8, 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, + 3, 1, 2, 1, 4, 3, 2, 1, 1, 0, + 1, 3, 6, 3, 4, 6, 2, 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, 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, 3, 4, - 4, 1, 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, 4, 0, 0, - 2, 5, 3, 3, 1, 6, 4, 4, 2, 2, - 2, 1, 2, 1, 4, 3, 3, 6, 3, 1, - 1, 1, 4, 4, 4, 2, 2, 4, 2, 2, - 1, 3, 1, 1, 3, 3, 3, 3, + 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 1, 1, 4, 5, 4, 1, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, + 1, 3, 2, 1, 9, 10, 2, 2, 4, 4, + 4, 4, 4, 4, 4, 3, 1, 0, 4, 3, + 4, 1, 2, 2, 4, 3, 4, 4, 4, 4, + 2, 1, 1, 3, 2, 1, 3, 2, 1, 1, + 4, 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, 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, + 3, 4, 4, 1, 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, 4, + 0, 0, 2, 5, 3, 3, 1, 6, 4, 4, + 2, 2, 2, 1, 2, 1, 4, 3, 3, 6, + 3, 1, 1, 1, 4, 4, 4, 2, 2, 4, + 2, 2, 1, 3, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -149, -80, -3, -25, -51, -52, 51, 79, 44, - -53, -26, 10, -60, -61, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, - -14, 48, 25, 27, 121, 40, 43, 36, -1, -64, - -2, 97, -16, -15, 37, 52, 99, 53, 100, 54, - -19, 59, 92, -18, 104, 105, 130, 129, 131, 132, - -48, -42, 123, -37, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -29, -47, -46, 118, 96, -20, 91, - 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, - -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, - -30, -81, 82, -11, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -10, -136, -44, -12, -40, -9, 134, - 12, 123, -81, 119, 82, 10, -82, 37, 38, -4, - -81, 82, 121, 135, 122, 10, -85, -48, 123, -48, - -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, - -14, 121, -15, -19, -14, 121, -86, -27, 12, 134, - -87, -1, 12, -100, -14, 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, 123, 119, -14, 10, -144, - 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, - 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -14, 104, 105, -18, -19, -81, 79, 82, - -11, -12, 98, -18, -14, -14, -14, -14, -42, -14, - -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, - -48, -14, 125, 125, -121, 17, -88, -33, 12, 76, - 77, -14, 57, -43, -11, -41, -81, 79, 82, -21, - -10, -136, -12, 123, 123, -14, -14, 123, -14, -14, - 125, -88, 17, 17, 75, -88, 125, 123, -91, -90, - -14, 128, 125, 125, 82, -140, 123, -81, 78, 125, - 119, -10, 134, 78, -140, 119, 124, 121, 119, -80, - -81, 121, 135, -83, -5, -81, 82, -84, -6, -81, - 82, 29, -81, 10, 136, -24, 120, -25, -51, -52, - 51, -25, 122, -146, -25, 122, 21, -144, -98, -97, - -14, -141, 119, 122, 121, 121, 121, 121, 121, 135, - -16, 119, -19, 121, 135, -144, 136, 121, 135, -14, + -1000, -149, -80, -3, 2, -25, -51, -52, 51, 79, + 44, -53, -26, 10, -60, -61, 38, 119, 7, 21, + 20, 23, 30, 34, 35, 39, -50, 46, 98, 19, + 14, -14, 48, 25, 27, 121, 40, 43, 36, -1, + -64, -2, 97, -16, -15, 37, 52, 99, 53, 100, + 54, -19, 59, 92, -18, 104, 105, 130, 129, 131, + 132, -48, -42, 123, -37, 107, 108, 109, 110, 111, + 112, 113, 6, 133, -29, -47, -46, 118, 96, -20, + 91, 49, 50, 4, 5, 84, 85, 86, 11, -35, + -32, -7, 117, 74, 62, 18, 60, 125, -21, -22, + -23, -30, -81, 82, -11, 8, 9, 66, 67, 81, + 63, 64, 65, 80, -10, -136, -44, -12, -40, -9, + 134, 12, 123, -81, 119, 82, 10, -82, 37, 38, + -4, -81, 82, 121, 135, 122, 10, -85, -48, 123, + -48, -25, -1, 79, 123, -48, 121, -14, 97, 98, + 121, -14, 121, -15, -19, -14, 121, -86, -27, 12, + 134, -87, -1, 12, -100, -14, 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, 123, 119, -14, 10, + -144, 128, 10, 10, -15, -19, -14, 52, 52, 136, + 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, + 146, 147, 123, -14, 104, 105, -18, -19, -81, 79, + 82, -11, -12, 98, -18, -14, -14, -14, -14, -42, + -14, -50, -14, -14, -14, -14, -14, -14, -14, -49, + 123, -48, -14, 125, 125, -121, 17, -88, -33, 12, + 76, 77, -14, 57, -43, -11, -41, -81, 79, 82, + -21, -10, -136, -12, 123, 123, -14, -14, 123, -14, + -14, 125, -88, 17, 17, 75, -88, 125, 123, -91, + -90, -14, 128, 125, 125, 82, -140, 123, -81, 78, + 125, 119, -10, 134, 78, -140, 119, 124, 121, 119, + -80, -81, 121, 135, -83, -5, -81, 82, -84, -6, + -81, 82, 29, -81, 10, 136, -24, 120, 2, -25, + -51, -52, 51, -25, 122, -146, -25, 122, 21, -144, + -98, -97, -14, -141, 119, 122, 121, 121, 121, 121, + 121, 135, -16, 119, -19, 121, 135, -144, 136, 121, + 135, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, + -14, -14, -14, -14, -14, -14, -43, -14, 122, -101, + -56, -19, -19, -15, -102, 10, -85, 121, 121, 10, + 123, -65, 55, -113, 55, 58, -14, 128, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -43, -14, 122, -101, -56, -19, - -19, -15, -102, 10, -85, 121, 121, 10, 123, -65, - 55, -113, 55, 58, -14, 128, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -92, -38, - -19, 59, 82, -81, 78, 78, 124, 124, 124, 124, - -13, -14, -13, 118, -33, -33, 17, 125, 57, -14, - 11, -19, -131, -132, -40, -39, -10, -136, 10, 119, - -139, -140, 78, 82, -81, 57, -10, 78, -89, -36, - -19, -15, -19, -15, -14, -13, 117, 75, 75, -13, - -91, 126, -151, 135, 58, -17, -19, -13, -13, 10, - 124, -115, -50, -69, -15, -19, 128, 83, -140, -39, - -40, 10, 52, -13, -14, -39, -40, 10, -14, 121, - -80, 120, -140, -4, 121, 135, 29, -81, 121, 135, - 29, -81, 10, 29, 136, -28, -78, -7, -31, -81, - 79, 82, 60, 125, -8, 62, -79, 18, 74, -11, - 131, 132, 130, 129, 123, 123, -95, -85, -85, -48, - 121, 135, -99, 121, -99, 121, -27, -14, 12, 123, - -28, -14, 122, -14, 124, 135, 29, 29, 124, 135, - 136, 120, 123, -106, -107, -63, -62, 60, 61, -45, - -81, 79, 82, -109, 56, -45, 119, -114, -45, -15, - -19, -19, 91, 124, 135, 123, -81, -127, -125, -124, - -126, 125, -128, 57, 126, 126, -34, 10, 13, 12, - 10, 120, 125, 120, -129, -77, -130, -140, 125, 119, - -10, -14, -40, -81, -131, -40, 124, 135, 124, 124, - 124, 126, 126, 124, -14, 128, -14, 128, 126, 126, - 124, 135, 124, -17, -14, -140, -140, 126, 120, -140, - -140, 120, 120, -5, 10, 29, -6, 10, 29, 10, - -28, 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, -81, - 123, -122, -123, -78, 17, 78, -78, -78, -78, -78, - -78, 124, -54, 93, 94, -96, 22, 121, -98, -14, - 120, 32, 33, -99, 31, -99, 120, 136, -106, -14, - 121, -56, -137, -19, 128, 59, -137, -57, -25, 122, - 10, -28, -103, 41, -106, 124, 135, -144, 82, -81, - 119, -114, -108, 135, -43, 136, -38, -92, 125, -126, - -128, -13, -131, 126, -14, -135, 125, 125, -13, -14, - 120, -134, -36, 58, -17, -17, -69, 10, 10, -78, + -92, -38, -19, 59, 82, -81, 78, 78, 124, 124, + 124, 124, -13, -14, -13, 118, -33, -33, 17, 125, + 57, -14, 11, -19, -131, -132, -40, -39, -10, -136, + 10, 119, -139, -140, 78, 82, -81, 57, -10, 78, + -89, -36, -19, -15, -19, -15, -14, -13, 117, 75, + 75, -13, -91, 126, -151, 135, 58, -17, -19, -13, + -13, 10, 124, -115, -50, -69, -15, -19, 128, 83, + -140, -39, -40, 10, 52, -13, -14, -39, -40, 10, + -14, 121, -80, 120, -140, -4, 121, 135, 29, -81, + 121, 135, 29, -81, 10, 29, 136, -28, -78, -7, + -31, -81, 79, 82, 60, 125, -8, 62, -79, 18, + 74, -11, 131, 132, 130, 129, 123, 123, -95, -85, + -85, -48, 121, 135, -99, 121, -99, 121, -27, -14, + 12, 123, -28, -14, 122, -14, 124, 135, 29, 29, + 124, 135, 136, 120, 123, -106, -107, -63, -62, 60, + 61, -45, -81, 79, 82, -109, 56, -45, 119, -114, + -45, -15, -19, -19, 91, 124, 135, 123, -81, -127, + -125, -124, -126, 125, -128, 57, 126, 126, -34, 10, + 13, 12, 10, 120, 125, 120, -129, -77, -130, -140, + 125, 119, -10, -14, -40, -81, -131, -40, 124, 135, + 124, 124, 124, 126, 126, 124, -14, 128, -14, 128, + 126, 126, 124, 135, 124, -17, -14, -140, -140, 126, + 120, -140, -140, 120, 120, -5, 10, 29, -6, 10, + 29, 10, -28, 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, -81, 123, -122, -123, -78, 17, 78, -78, -78, + -78, -78, -78, 124, -54, 93, 94, -96, 22, 121, + -98, -14, 120, 32, 33, -99, 31, -99, 120, 136, + -106, -14, 121, -56, -137, -19, 128, 59, -137, -57, + -25, 122, 10, -28, -103, 41, -106, 124, 135, -144, + 82, -81, 119, -114, -108, 135, -43, 136, -38, -92, + 125, -126, -128, -13, -131, 126, -14, -135, 125, 125, + -13, -14, 120, -134, -36, 58, -17, -17, -69, 10, + 10, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, 122, -78, -81, -122, 126, - -151, 135, 58, 10, 52, 124, 121, -48, -25, -55, - 93, 94, 121, 121, -14, -150, 122, 121, 120, 121, - 31, -28, 124, -138, 58, -19, 123, -138, -85, 136, - -58, 42, 123, 124, -94, 44, -63, -145, 83, -81, - -108, 120, -66, -110, -67, -68, -111, -120, 47, 38, - 44, -76, 103, 102, 101, 98, 99, 100, -45, -139, - -14, 124, -13, 126, -129, 126, -128, -13, -13, 126, - 120, -133, 57, -14, 128, 126, -78, 122, 124, -78, - -78, -25, 95, -48, 122, -98, -150, -85, 121, -94, - 124, -137, -92, 124, 28, -28, 119, -45, 119, 119, - 123, 12, 120, -112, 12, 121, 135, -1, -76, 10, - -116, -45, 126, 120, 126, 126, -131, -17, -78, 58, - 121, 122, -85, 124, -85, 119, -148, -25, 122, 124, - -148, 121, -85, 12, -85, -85, -93, 12, 128, 136, - 121, 135, 136, 10, -144, 136, -143, 135, 121, 119, - -78, -85, -147, -25, 122, -85, -85, 120, 124, 120, - 120, 124, 135, 12, -28, 12, -28, 136, 10, -28, - -45, -117, -118, -70, -71, -72, -73, -74, -45, 10, - -85, 120, 26, 119, 12, 128, 136, -28, 123, 120, - -70, 121, 121, 45, 29, 78, 24, 121, -85, 12, - -28, -106, -119, -45, -75, -76, 10, 121, 120, 124, - 135, 10, -104, -105, -59, 41, -142, 121, 119, -45, - -59, 123, -85, -45, 120, 12, 124, 119, -85, 120, + -78, -78, -78, -78, -78, -78, -78, 122, -78, -81, + -122, 126, -151, 135, 58, 10, 52, 124, 121, -48, + -25, -55, 93, 94, 121, 121, -14, -150, 122, 121, + 120, 121, 31, -28, 124, -138, 58, -19, 123, -138, + -85, 136, -58, 42, 123, 124, -94, 44, -63, -145, + 83, -81, -108, 120, -66, -110, -67, -68, -111, -120, + 47, 38, 44, -76, 103, 102, 101, 98, 99, 100, + -45, -139, -14, 124, -13, 126, -129, 126, -128, -13, + -13, 126, 120, -133, 57, -14, 128, 126, -78, 122, + 124, -78, -78, -25, 95, -48, 122, -98, -150, -85, + 121, -94, 124, -137, -92, 124, 28, -28, 119, -45, + 119, 119, 123, 12, 120, -112, 12, 121, 135, -1, + -76, 10, -116, -45, 126, 120, 126, 126, -131, -17, + -78, 58, 121, 122, -85, 124, -85, 119, -148, -25, + 122, 124, -148, 121, -85, 12, -85, -85, -93, 12, + 128, 136, 121, 135, 136, 10, -144, 136, -143, 135, + 121, 119, -78, -85, -147, -25, 122, -85, -85, 120, + 124, 120, 120, 124, 135, 12, -28, 12, -28, 136, + 10, -28, -45, -117, -118, -70, -71, -72, -73, -74, + -45, 10, -85, 120, 26, 119, 12, 128, 136, -28, + 123, 120, -70, 121, 121, 45, 29, 78, 24, 121, + -85, 12, -28, -106, -119, -45, -75, -76, 10, 121, + 120, 124, 135, 10, -104, -105, -59, 41, -142, 121, + 119, -45, -59, 123, -85, -45, 120, 12, 124, 119, + -85, 120, } var yyDef = [...]int{ - 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, - 0, 43, 4, 85, 86, 0, 38, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 329, 0, 63, - 0, 0, 0, 0, 69, 0, 0, 0, 87, 0, - 0, 301, 427, 428, 314, 94, 0, 96, 0, 100, - -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 281, 282, 0, 286, 0, 0, 0, 0, 0, 0, - 0, 343, 0, 296, 297, 298, 346, 0, 435, 0, - 0, 0, 0, 0, 0, 0, 0, 412, 413, 414, - 415, 0, 0, 418, 353, 0, 479, 452, 453, 454, - 408, -2, 0, 0, 351, 352, 354, 355, 356, 357, - 358, 359, 360, -2, 0, 457, 0, 0, 460, 472, - 461, 0, 0, 3, 0, 4, 0, 0, 0, 18, - 19, 0, 16, 0, 44, 0, 0, 0, 0, 0, - 0, 87, 0, 216, 0, 52, 0, 301, 329, 54, - 0, 56, 428, -2, 0, 59, 0, 159, 160, 0, - 0, 87, 165, 0, 215, 64, 0, 0, 0, 0, + 3, -2, -2, 2, 6, 7, 8, 9, 0, 0, + 0, 0, 45, 4, 87, 88, 0, 39, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 331, 0, + 65, 0, 0, 0, 0, 71, 0, 0, 0, 89, + 0, 0, 303, 429, 430, 316, 96, 0, 98, 0, + 102, -2, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 283, 284, 0, 288, 0, 0, 0, 0, 0, + 0, 0, 345, 0, 298, 299, 300, 348, 0, 437, + 0, 0, 0, 0, 0, 0, 0, 0, 414, 415, + 416, 417, 0, 0, 420, 355, 0, 481, 454, 455, + 456, 410, -2, 0, 0, 353, 354, 356, 357, 358, + 359, 360, 361, 362, -2, 0, 459, 0, 0, 462, + 474, 463, 0, 0, 3, 0, 4, 0, 0, 0, + 19, 20, 0, 17, 0, 46, 0, 0, 0, 0, + 0, 0, 89, 0, 218, 0, 54, 0, 303, 331, + 56, 0, 58, 430, -2, 0, 61, 0, 161, 162, + 0, 0, 89, 167, 0, 217, 66, 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, 38, 0, 0, 0, - 88, 98, 101, -2, -2, 0, 95, 97, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, + 0, 90, 100, 103, -2, -2, 0, 97, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 478, 234, 247, 249, 248, 433, 330, 0, 0, - 0, 0, 329, 250, 268, 269, 270, 271, 282, 0, - 0, 287, 288, 289, 290, 291, 292, 293, 294, 0, - 345, 295, 463, 463, 0, 347, 348, 491, 493, 0, - 0, 300, 0, 349, 336, 337, 330, 0, 0, 339, - -2, 0, 0, 0, 0, 505, 506, 0, 508, 509, - 463, 0, 0, 0, 362, 0, 463, 479, 0, 421, - 484, 0, 463, 463, 0, 321, 0, -2, 0, 463, - 0, -2, 473, 0, 328, 0, 0, 10, 3, 0, - -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, - 0, 0, 21, 0, 0, 37, 45, 39, 40, 41, - 0, 131, 38, 48, 129, 38, 0, 0, 0, 217, - 219, 51, 124, 124, 53, 55, 57, 58, 60, 0, - 161, 0, 431, 61, 0, 0, 0, 62, 0, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, -2, -2, -2, -2, - -2, -2, -2, -2, 280, 0, 0, 0, 82, 84, - -2, 428, 0, 0, 0, 71, 72, 0, -2, 103, - 0, 0, 0, 0, 231, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 0, 475, - 476, 0, 0, 332, 0, 0, 227, 429, 430, 344, - 0, 464, 0, 299, 492, 489, 490, 0, 0, 0, - 412, 0, 444, 465, 466, 469, 445, 0, 470, 0, - 229, 350, 0, 0, 332, 0, 456, 0, 0, 510, - -2, -2, -2, 428, 0, 0, 416, 361, 417, 0, - 0, 313, 480, 422, 0, 488, 432, 0, 0, 5, - 149, 0, 0, 152, -2, -2, 0, 0, 323, 0, - 447, -2, 517, 0, 0, 0, 448, -2, 0, 9, - 0, 12, 322, 17, 14, 0, 0, 27, 15, 0, - 0, 33, 20, 0, 0, 36, 364, 365, 366, -2, - 0, 0, 0, 419, 372, 373, 374, 353, 0, 0, - 0, 0, 0, 0, 0, 0, 135, 133, 0, 0, - 216, 0, 0, 124, 0, 124, 158, 0, 163, -2, - 166, 214, 0, 285, 0, 0, 0, 0, 0, 0, - 0, 73, -2, 0, 139, 141, 87, 146, 147, 148, - 333, 0, 0, 0, 0, 99, 168, 102, 105, -2, - -2, 232, 0, 0, 478, 478, 331, 283, 228, 225, - 226, 463, 221, 0, 309, 308, 0, 499, 500, 501, - 495, 496, 0, 498, 437, 442, 443, 441, 463, 0, - 446, 0, 447, 331, 341, 448, 502, 0, 503, 504, - 507, 311, 310, 312, 482, 0, 483, 0, 450, 451, - 150, 0, 151, 156, 157, 324, 325, 458, 459, 326, - 327, 462, 11, 23, 26, 0, 29, 32, 0, 22, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 480, 236, 249, 251, 250, 435, 332, 0, + 0, 0, 0, 331, 252, 270, 271, 272, 273, 284, + 0, 0, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 347, 297, 465, 465, 0, 349, 350, 493, 495, + 0, 0, 302, 0, 351, 338, 339, 332, 0, 0, + 341, -2, 0, 0, 0, 0, 507, 508, 0, 510, + 511, 465, 0, 0, 0, 364, 0, 465, 481, 0, + 423, 486, 0, 465, 465, 0, 323, 0, -2, 0, + 465, 0, -2, 475, 0, 330, 0, 0, 11, 3, + 0, -2, 14, 0, 0, 25, 26, 0, 0, 31, + 32, 0, 0, 22, 0, 0, 38, 47, 40, 41, + 42, 43, 0, 133, 39, 50, 131, 39, 0, 0, + 0, 219, 221, 53, 126, 126, 55, 57, 59, 60, + 62, 0, 163, 0, 433, 63, 0, 0, 0, 64, + 0, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, -2, -2, + -2, -2, -2, -2, -2, -2, 282, 0, 0, 0, + 84, 86, -2, 430, 0, 0, 0, 73, 74, 0, + -2, 105, 0, 0, 0, 0, 233, 0, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 0, 477, 478, 0, 0, 334, 0, 0, 229, 431, + 432, 346, 0, 466, 0, 301, 494, 491, 492, 0, + 0, 0, 414, 0, 446, 467, 468, 471, 447, 0, + 472, 0, 231, 352, 0, 0, 334, 0, 458, 0, + 0, 512, -2, -2, -2, 430, 0, 0, 418, 363, + 419, 0, 0, 315, 482, 424, 0, 490, 434, 0, + 0, 5, 151, 0, 0, 154, -2, -2, 0, 0, + 325, 0, 449, -2, 519, 0, 0, 0, 450, -2, + 0, 10, 0, 13, 324, 18, 15, 0, 0, 28, + 16, 0, 0, 34, 21, 0, 0, 37, 366, 367, + 368, -2, 0, 0, 0, 421, 374, 375, 376, 355, + 0, 0, 0, 0, 0, 0, 0, 0, 137, -2, + 0, 0, 218, 0, 0, 126, 0, 126, 160, 0, + 165, -2, 168, 216, 0, 287, 0, 0, 0, 0, + 0, 0, 0, 75, -2, 0, 141, 143, 89, 148, + 149, 150, 335, 0, 0, 0, 0, 101, 170, 104, + 107, -2, -2, 234, 0, 0, 480, 480, 333, 285, + 230, 227, 228, 465, 223, 0, 311, 310, 0, 501, + 502, 503, 497, 498, 0, 500, 439, 444, 445, 443, + 465, 0, 448, 0, 449, 333, 343, 450, 504, 0, + 505, 506, 509, 313, 312, 314, 484, 0, 485, 0, + 452, 453, 152, 0, 153, 158, 159, 326, 327, 460, + 461, 328, 329, 464, 12, 24, 27, 0, 30, 33, + 0, 23, 36, 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, - 419, 0, 421, 426, 0, 0, 382, 383, 405, 406, - 0, 0, 46, 0, 0, 137, 0, 49, 0, 218, - 120, 0, 0, 0, 0, 0, 162, 0, 0, 284, - 65, 83, 107, 109, 0, 0, 107, 68, 116, 38, - 0, 118, 75, 0, 0, 315, 145, 89, 0, 335, - 168, 104, 198, 0, 349, 0, 474, 0, 463, 224, - 220, 0, 444, 494, 0, 434, 463, 463, 0, 0, - 471, 338, 511, 0, 486, 487, 153, 28, 34, 0, - 376, 377, 378, 379, 380, 381, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, -2, -2, -2, - -2, -2, -2, -2, -2, 0, 0, -2, 0, 371, - 420, 422, 0, 363, 516, 407, 42, 0, 136, 0, - 0, 0, 130, 216, 0, 38, 127, 128, 121, 122, - 0, 164, 315, 0, 0, 110, 478, 0, 0, 0, - 70, 0, 0, 0, 0, 0, 142, 0, 90, 334, - 198, 93, 167, 0, 0, 171, 0, -2, 197, 0, - 0, 200, 202, 203, 204, 205, 206, 207, 106, 233, - 230, 477, 0, 223, 438, 0, 436, 0, 0, 467, - 468, 340, 0, 481, 0, 375, 403, 0, 370, 424, - 425, 132, 0, 0, 38, 0, 38, 126, 123, 0, - 0, 108, 0, 0, 0, 119, 38, 0, 38, 38, - 0, 143, 92, 0, 210, 170, 0, 87, 201, 0, - 0, 174, 222, 497, 440, 439, 342, 485, 404, 0, - 47, 38, 138, 0, 125, 38, 66, 114, 38, 111, - 67, 117, 0, 0, 0, 0, 0, 319, 0, 0, - 169, 0, 0, 0, 0, 0, 173, 0, 176, 178, - 423, 134, 50, 112, 38, 0, 0, 76, 0, 91, - 302, 316, 0, 320, 144, 208, 211, 0, 0, 213, - 175, 0, 179, 180, 0, 0, 188, 0, 0, -2, - 0, 303, 0, 38, 317, 0, 0, 212, -2, 177, - 181, 182, 183, 0, 192, 0, 0, 115, 0, 318, - 209, 0, 184, 185, 0, -2, 189, 113, 78, 0, - 0, 190, 74, 77, 79, 0, 172, 194, 38, 186, - 80, 0, 0, 0, 195, 0, 0, 38, 0, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2, 421, 0, 423, 428, 0, 0, 384, 385, + 407, 408, 0, 0, 48, 0, 0, 139, 0, 51, + 0, 220, 122, 0, 0, 0, 0, 0, 164, 0, + 0, 286, 67, 85, 109, 111, 0, 0, 109, 70, + 118, 39, 0, 120, 77, 0, 0, 317, 147, 91, + 0, 337, 170, 106, 200, 0, 351, 0, 476, 0, + 465, 226, 222, 0, 446, 496, 0, 436, 465, 465, + 0, 0, 473, 340, 513, 0, 488, 489, 155, 29, + 35, 0, 378, 379, 380, 381, 382, 383, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, -2, + -2, -2, -2, -2, -2, -2, -2, 0, 0, -2, + 0, 373, 422, 424, 0, 365, 518, 409, 44, 0, + 138, 0, 0, 0, 132, 218, 0, 39, 129, 130, + 123, 124, 0, 166, 317, 0, 0, 112, 480, 0, + 0, 0, 72, 0, 0, 0, 0, 0, 144, 0, + 92, 336, 200, 95, 169, 0, 0, 173, 0, -2, + 199, 0, 0, 202, 204, 205, 206, 207, 208, 209, + 108, 235, 232, 479, 0, 225, 440, 0, 438, 0, + 0, 469, 470, 342, 0, 483, 0, 377, 405, 0, + 372, 426, 427, 134, 0, 0, 39, 0, 39, -2, + 125, 0, 0, 110, 0, 0, 0, 121, 39, 0, + 39, 39, 0, 145, 94, 0, 212, 172, 0, 89, + 203, 0, 0, 176, 224, 499, 442, 441, 344, 487, + 406, 0, 49, 39, -2, 0, -2, 39, 68, 116, + 39, 113, 69, 119, 0, 0, 0, 0, 0, 321, + 0, 0, 171, 0, 0, 0, 0, 0, 175, 0, + 178, 180, 425, -2, 52, 114, 39, 0, 0, 78, + 0, 93, 304, 318, 0, 322, 146, 210, 213, 0, + 0, 215, 177, 0, 181, 182, 0, 0, 190, 0, + 0, -2, 0, 305, 0, 39, 319, 0, 0, 214, + -2, 179, 183, 184, 185, 0, 194, 0, 0, 117, + 0, 320, 211, 0, 186, 187, 0, -2, 191, 115, + 80, 0, 0, 192, 76, 79, 81, 0, 174, 196, + 39, 188, 82, 0, 0, 0, 197, 0, 0, 39, + 0, 83, } var yyTok1 = [...]int{ @@ -2238,19 +2276,21 @@ yydefault: } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:242 + //line php5/php5.y:243 { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + if yyDollar[2].node != nil { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:243 + //line php5/php5.y:248 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:248 + //line php5/php5.y:253 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2259,7 +2299,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:255 + //line php5/php5.y:260 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2268,33 +2308,40 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:265 + //line php5/php5.y:270 { - yyVAL.node = yyDollar[1].node + // error + yyVAL.node = nil } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:267 + //line php5/php5.y:275 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:269 + //line php5/php5.y:277 { yyVAL.node = yyDollar[1].node } case 9: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:279 + { + yyVAL.node = yyDollar[1].node + } + case 10: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:271 + //line php5/php5.y:281 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 10: + case 11: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:277 + //line php5/php5.y:287 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2304,9 +2351,9 @@ yydefault: comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 11: + case 12: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:287 + //line php5/php5.y:297 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2316,34 +2363,22 @@ yydefault: comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 12: + case 13: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:297 + //line php5/php5.y:307 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 13: + case 14: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:303 + //line php5/php5.y:313 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 14: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:309 - { - useType := node.NewIdentifier(yyDollar[2].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) - comments.AddComments(yyVAL.node, yyDollar[2].token.Comments()) - - yyVAL.node = stmt.NewUseList(useType, yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 15: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:319 @@ -2357,38 +2392,50 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 16: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:329 + { + useType := node.NewIdentifier(yyDollar[2].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[2].token.Comments()) + + yyVAL.node = stmt.NewUseList(useType, yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 17: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:339 { yyVAL.node = yyDollar[1].node } - case 17: + case 18: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:334 + //line php5/php5.y:344 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 18: + case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:336 + //line php5/php5.y:346 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 19: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:341 - { - name := name.NewName(yyDollar[1].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - yyVAL.node = stmt.NewUse(nil, name, nil) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) - } case 20: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:351 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + yyVAL.node = stmt.NewUse(nil, name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 21: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:361 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2401,21 +2448,21 @@ yydefault: comments.AddComments(alias, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 21: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:364 - { - name := name.NewName(yyDollar[2].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) - yyVAL.node = stmt.NewUse(nil, name, nil) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[2].list)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) - } case 22: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:374 + { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewUse(nil, name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) + } + case 23: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:384 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2428,33 +2475,33 @@ yydefault: comments.AddComments(alias, yyDollar[4].token.Comments()) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) } - case 23: + case 24: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:390 + //line php5/php5.y:400 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 24: + case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:392 + //line php5/php5.y:402 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 25: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:397 - { - name := name.NewName(yyDollar[1].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - yyVAL.node = stmt.NewUse(nil, name, nil) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) - } case 26: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:407 + { + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + yyVAL.node = stmt.NewUse(nil, name, nil) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 27: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:417 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2467,9 +2514,9 @@ yydefault: comments.AddComments(alias, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 27: + case 28: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:420 + //line php5/php5.y:430 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2479,9 +2526,9 @@ yydefault: comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) } - case 28: + case 29: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:430 + //line php5/php5.y:440 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2494,21 +2541,21 @@ yydefault: comments.AddComments(alias, yyDollar[4].token.Comments()) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) } - case 29: + case 30: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:446 + //line php5/php5.y:456 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 30: + case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:448 + //line php5/php5.y:458 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 31: + case 32: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:453 + //line php5/php5.y:463 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2518,9 +2565,9 @@ yydefault: comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 32: + case 33: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:463 + //line php5/php5.y:473 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2533,9 +2580,9 @@ yydefault: comments.AddComments(alias, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 33: + case 34: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:476 + //line php5/php5.y:486 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2545,9 +2592,9 @@ yydefault: comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) } - case 34: + case 35: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:486 + //line php5/php5.y:496 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2560,9 +2607,9 @@ yydefault: comments.AddComments(alias, yyDollar[4].token.Comments()) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[2].list)) } - case 35: + case 36: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:512 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2578,9 +2625,9 @@ yydefault: yyVAL.node = yyDollar[1].node positions.AddPosition(yyVAL.node, positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, constList.Consts)) } - case 36: + case 37: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:518 + //line php5/php5.y:528 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2596,53 +2643,62 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, constList)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 37: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:537 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - } case 38: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:547 + { + if yyDollar[2].node != nil { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + } + case 39: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:539 + //line php5/php5.y:553 { yyVAL.list = []node.Node{} } - case 39: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:545 - { - yyVAL.node = yyDollar[1].node - } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:547 + //line php5/php5.y:559 { - yyVAL.node = yyDollar[1].node + // error + yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:549 + //line php5/php5.y:564 { yyVAL.node = yyDollar[1].node } case 42: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:566 + { + yyVAL.node = yyDollar[1].node + } + case 43: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:568 + { + yyVAL.node = yyDollar[1].node + } + case 44: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:551 + //line php5/php5.y:570 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 43: + case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:561 + //line php5/php5.y:580 { yyVAL.node = yyDollar[1].node } - case 44: + case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:563 + //line php5/php5.y:582 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2652,17 +2708,17 @@ yydefault: comments.AddComments(label, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 45: + case 47: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:576 + //line php5/php5.y:595 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 46: + case 48: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:582 + //line php5/php5.y:601 { yyVAL.node = stmt.NewIf(yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node) @@ -2676,9 +2732,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 47: + case 49: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:596 + //line php5/php5.y:615 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -2687,9 +2743,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 48: + case 50: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:605 + //line php5/php5.y:624 { if yyDollar[3].altSyntaxNode.isAlt { yyVAL.node = stmt.NewAltWhile(yyDollar[2].node, yyDollar[3].altSyntaxNode.node) @@ -2699,17 +2755,17 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].altSyntaxNode.node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 49: + case 51: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:615 + //line php5/php5.y:634 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 50: + case 52: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:621 + //line php5/php5.y:640 { if yyDollar[9].altSyntaxNode.isAlt { yyVAL.node = stmt.NewAltFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].altSyntaxNode.node) @@ -2719,9 +2775,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].altSyntaxNode.node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 51: + case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:631 + //line php5/php5.y:650 { if yyDollar[3].nodesWithEndToken.endToken.Value == ";" { yyVAL.node = stmt.NewAltSwitch(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -2731,177 +2787,177 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 52: + case 54: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:641 + //line php5/php5.y:660 { yyVAL.node = stmt.NewBreak(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 53: + case 55: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:647 + //line php5/php5.y:666 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 54: + case 56: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:653 + //line php5/php5.y:672 { yyVAL.node = stmt.NewContinue(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 55: + case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:659 + //line php5/php5.y:678 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 56: + case 58: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:665 + //line php5/php5.y:684 { yyVAL.node = stmt.NewReturn(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 57: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:671 - { - yyVAL.node = stmt.NewReturn(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 58: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:677 - { - yyVAL.node = stmt.NewReturn(yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 59: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:690 + { + yyVAL.node = stmt.NewReturn(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 60: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:696 + { + yyVAL.node = stmt.NewReturn(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 61: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:683 + //line php5/php5.y:702 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 60: + case 62: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:689 + //line php5/php5.y:708 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 61: + case 63: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:695 + //line php5/php5.y:714 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 62: + case 64: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:701 + //line php5/php5.y:720 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 63: + case 65: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:707 + //line php5/php5.y:726 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 64: + case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:713 + //line php5/php5.y:732 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 65: + case 67: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:719 + //line php5/php5.y:738 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 66: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:725 - { - if yyDollar[6].foreachVariable.node == nil { - if yyDollar[8].altSyntaxNode.isAlt { - yyVAL.node = stmt.NewAltForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[5].foreachVariable.byRef) - } else { - yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[5].foreachVariable.byRef) - } - } else { - if yyDollar[8].altSyntaxNode.isAlt { - yyVAL.node = stmt.NewAltForeach(yyDollar[3].node, yyDollar[5].foreachVariable.node, yyDollar[6].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[6].foreachVariable.byRef) - } else { - yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].foreachVariable.node, yyDollar[6].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[6].foreachVariable.byRef) - } - } - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].altSyntaxNode.node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 67: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:743 - { - if yyDollar[6].foreachVariable.node == nil { - if yyDollar[8].altSyntaxNode.isAlt { - yyVAL.node = stmt.NewAltForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[5].foreachVariable.byRef) - } else { - yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[5].foreachVariable.byRef) - } - } else { - if yyDollar[8].altSyntaxNode.isAlt { - yyVAL.node = stmt.NewAltForeach(yyDollar[3].node, yyDollar[5].foreachVariable.node, yyDollar[6].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[6].foreachVariable.byRef) - } else { - yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].foreachVariable.node, yyDollar[6].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[6].foreachVariable.byRef) - } - } - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].altSyntaxNode.node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 68: + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:744 + { + if yyDollar[6].foreachVariable.node == nil { + if yyDollar[8].altSyntaxNode.isAlt { + yyVAL.node = stmt.NewAltForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[5].foreachVariable.byRef) + } else { + yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[5].foreachVariable.byRef) + } + } else { + if yyDollar[8].altSyntaxNode.isAlt { + yyVAL.node = stmt.NewAltForeach(yyDollar[3].node, yyDollar[5].foreachVariable.node, yyDollar[6].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[6].foreachVariable.byRef) + } else { + yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].foreachVariable.node, yyDollar[6].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[6].foreachVariable.byRef) + } + } + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].altSyntaxNode.node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 69: + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:762 + { + if yyDollar[6].foreachVariable.node == nil { + if yyDollar[8].altSyntaxNode.isAlt { + yyVAL.node = stmt.NewAltForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[5].foreachVariable.byRef) + } else { + yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[5].foreachVariable.byRef) + } + } else { + if yyDollar[8].altSyntaxNode.isAlt { + yyVAL.node = stmt.NewAltForeach(yyDollar[3].node, yyDollar[5].foreachVariable.node, yyDollar[6].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[6].foreachVariable.byRef) + } else { + yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].foreachVariable.node, yyDollar[6].foreachVariable.node, yyDollar[8].altSyntaxNode.node, yyDollar[6].foreachVariable.byRef) + } + } + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].altSyntaxNode.node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 70: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:761 + //line php5/php5.y:780 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 69: + case 71: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:767 + //line php5/php5.y:786 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 70: + case 72: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:773 + //line php5/php5.y:792 { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -2913,17 +2969,17 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 71: + case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:785 + //line php5/php5.y:804 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 72: + case 74: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:791 + //line php5/php5.y:810 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2933,15 +2989,15 @@ yydefault: comments.AddComments(label, yyDollar[2].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 73: + case 75: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:804 + //line php5/php5.y:823 { yyVAL.list = []node.Node{} } - case 74: + case 76: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:806 + //line php5/php5.y:825 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -2957,47 +3013,47 @@ yydefault: yyVAL.list = append([]node.Node{catch}, yyDollar[9].list...) } - case 75: + case 77: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:824 + //line php5/php5.y:843 { yyVAL.node = nil } - case 76: + case 78: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:826 + //line php5/php5.y:845 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 77: + case 79: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:835 + //line php5/php5.y:854 { yyVAL.list = yyDollar[1].list } - case 78: + case 80: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:837 + //line php5/php5.y:856 { yyVAL.list = []node.Node{} } - case 79: + case 81: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:842 + //line php5/php5.y:861 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 80: + case 82: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:844 + //line php5/php5.y:863 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 81: + case 83: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:849 + //line php5/php5.y:868 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3011,63 +3067,63 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 82: + case 84: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:866 + //line php5/php5.y:885 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 83: + case 85: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:868 + //line php5/php5.y:887 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 84: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:873 - { - yyVAL.node = yyDollar[1].node - } - case 85: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:878 - { - yyVAL.node = yyDollar[1].node - } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:883 + //line php5/php5.y:892 { yyVAL.node = yyDollar[1].node } case 87: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:888 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:897 { - yyVAL.boolWithToken = boolWithToken{false, nil} + yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:890 + //line php5/php5.y:902 { - yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} + yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:895 + //line php5/php5.y:907 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:897 + //line php5/php5.y:909 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 91: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:914 + { + yyVAL.boolWithToken = boolWithToken{false, nil} + } + case 92: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:916 + { + yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} + } + case 93: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:902 + //line php5/php5.y:921 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3077,9 +3133,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 92: + case 94: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:915 + //line php5/php5.y:934 { switch n := yyDollar[1].node.(type) { case *stmt.Class: @@ -3100,9 +3156,9 @@ yydefault: yyVAL.node = yyDollar[1].node } - case 93: + case 95: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:936 + //line php5/php5.y:955 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3112,37 +3168,17 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 94: + case 96: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:950 + //line php5/php5.y:969 { yyVAL.node = stmt.NewClass(nil, nil, nil, nil, nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 95: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:956 - { - classModifier := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(classModifier, yyDollar[1].token.Comments()) - - yyVAL.node = stmt.NewClass(nil, []node.Node{classModifier}, nil, nil, nil, nil, "") - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 96: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:966 - { - yyVAL.node = stmt.NewTrait(nil, nil, "") - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 97: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:972 + //line php5/php5.y:975 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3153,135 +3189,155 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 98: - yyDollar = yyS[yypt-0 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:985 { - yyVAL.node = nil + yyVAL.node = stmt.NewTrait(nil, nil, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 99: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:987 + //line php5/php5.y:991 + { + classModifier := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(classModifier, yyDollar[1].token.Comments()) + + yyVAL.node = stmt.NewClass(nil, []node.Node{classModifier}, nil, nil, nil, nil, "") + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 100: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1004 + { + yyVAL.node = nil + } + case 101: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1006 { yyVAL.node = yyDollar[2].node } - case 100: + case 102: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:992 + //line php5/php5.y:1011 { yyVAL.token = yyDollar[1].token } - case 101: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:997 - { - yyVAL.list = nil - } - case 102: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:999 - { - yyVAL.list = yyDollar[2].list - } case 103: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1004 + //line php5/php5.y:1016 { yyVAL.list = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1006 + //line php5/php5.y:1018 { yyVAL.list = yyDollar[2].list } case 105: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1023 + { + yyVAL.list = nil + } + case 106: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1025 + { + yyVAL.list = yyDollar[2].list + } + case 107: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1011 + //line php5/php5.y:1030 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 106: + case 108: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1013 + //line php5/php5.y:1032 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 107: + case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1018 + //line php5/php5.y:1037 { yyVAL.foreachVariable = foreachVariable{nil, false} } - case 108: + case 110: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1020 + //line php5/php5.y:1039 { yyVAL.foreachVariable = yyDollar[2].foreachVariable } - case 109: + case 111: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1025 + //line php5/php5.y:1044 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } - case 110: + case 112: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1046 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } - case 111: + case 113: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1029 + //line php5/php5.y:1048 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) yyVAL.foreachVariable = foreachVariable{list, false} comments.AddComments(list, yyDollar[1].token.Comments()) } - case 112: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1039 - { - yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} - } - case 113: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1041 - { - yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} - positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1050 + //line php5/php5.y:1058 { yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} } case 115: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1052 + //line php5/php5.y:1060 { yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1061 + //line php5/php5.y:1069 { - yyVAL.node = yyDollar[1].node + yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} } case 117: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1063 + //line php5/php5.y:1071 + { + yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} + positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + } + case 118: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1080 + { + yyVAL.node = yyDollar[1].node + } + case 119: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1082 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 118: + case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1073 + //line php5/php5.y:1092 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3293,9 +3349,9 @@ yydefault: yyVAL.list = []node.Node{constant} } - case 119: + case 121: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1085 + //line php5/php5.y:1104 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3307,76 +3363,76 @@ yydefault: yyVAL.list = append(yyDollar[1].list, constant) } - case 120: + case 122: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1101 + //line php5/php5.y:1120 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } - case 121: + case 123: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1103 + //line php5/php5.y:1122 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } - case 122: + case 124: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1105 + //line php5/php5.y:1124 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } - case 123: + case 125: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1107 + //line php5/php5.y:1126 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } - case 124: + case 126: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1113 + //line php5/php5.y:1132 { yyVAL.list = []node.Node{} } - case 125: + case 127: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1115 + //line php5/php5.y:1134 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) yyVAL.list = append(yyDollar[1].list, _case) comments.AddComments(_case, yyDollar[2].token.Comments()) } - case 126: + case 128: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1122 + //line php5/php5.y:1141 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) yyVAL.list = append(yyDollar[1].list, _default) comments.AddComments(_default, yyDollar[2].token.Comments()) } - case 129: + case 131: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1139 + //line php5/php5.y:1158 { yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} } - case 130: + case 132: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1141 + //line php5/php5.y:1160 { yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } - case 131: + case 133: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1151 + //line php5/php5.y:1170 { yyVAL.list = nil } - case 132: + case 134: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1153 + //line php5/php5.y:1172 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) @@ -3384,15 +3440,15 @@ yydefault: yyVAL.list = append(yyDollar[1].list, _elseIf) } - case 133: + case 135: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1165 + //line php5/php5.y:1184 { yyVAL.list = nil } - case 134: + case 136: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1167 + //line php5/php5.y:1186 { stmts := stmt.NewStmtList(yyDollar[5].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[5].list)) @@ -3403,29 +3459,29 @@ yydefault: yyVAL.list = append(yyDollar[1].list, _elseIf) } - case 135: + case 137: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1182 + //line php5/php5.y:1201 { yyVAL.node = nil } - case 136: + case 138: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1184 + //line php5/php5.y:1203 { yyVAL.node = stmt.NewElse(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 137: + case 139: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1194 + //line php5/php5.y:1213 { yyVAL.node = nil } - case 138: + case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1196 + //line php5/php5.y:1215 { stmts := stmt.NewStmtList(yyDollar[3].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3434,33 +3490,33 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 139: + case 141: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1209 + //line php5/php5.y:1228 { yyVAL.list = yyDollar[1].list } - case 140: + case 142: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1211 + //line php5/php5.y:1230 { yyVAL.list = nil } - case 141: + case 143: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1216 + //line php5/php5.y:1235 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 142: + case 144: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1218 + //line php5/php5.y:1237 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 143: + case 145: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1223 + //line php5/php5.y:1242 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3486,9 +3542,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) } } - case 144: + case 146: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1249 + //line php5/php5.y:1268 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3514,49 +3570,49 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) } } - case 145: + case 147: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1279 + //line php5/php5.y:1298 { yyVAL.node = nil } - case 146: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1281 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 147: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1287 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1293 + //line php5/php5.y:1300 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 149: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1306 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 150: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1312 { yyVAL.node = yyDollar[1].node } - case 149: + case 151: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1299 + //line php5/php5.y:1318 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } - case 150: + case 152: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1301 + //line php5/php5.y:1320 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } - case 151: + case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1303 + //line php5/php5.y:1322 { arg := node.NewArgument(yyDollar[2].node, false, false) positions.AddPosition(arg, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3564,65 +3620,65 @@ yydefault: yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{arg}, yyDollar[3].token} } - case 152: + case 154: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1315 + //line php5/php5.y:1334 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 153: + case 155: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1317 + //line php5/php5.y:1336 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 154: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1322 - { - yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 155: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1328 - { - yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } case 156: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1341 + { + yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 157: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1347 + { + yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 158: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1334 + //line php5/php5.y:1353 { yyVAL.node = node.NewArgument(yyDollar[2].node, false, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 157: + case 159: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1340 + //line php5/php5.y:1359 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 158: + case 160: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1349 + //line php5/php5.y:1368 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 159: + case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1351 + //line php5/php5.y:1370 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 160: + case 162: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1357 + //line php5/php5.y:1376 { name := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3632,25 +3688,25 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 161: + case 163: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1367 + //line php5/php5.y:1386 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 162: + case 164: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1373 + //line php5/php5.y:1392 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 163: + case 165: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1383 + //line php5/php5.y:1402 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[3].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3667,9 +3723,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 164: + case 166: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1400 + //line php5/php5.y:1419 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[3].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3686,9 +3742,9 @@ yydefault: comments.AddComments(variable, yyDollar[3].token.Comments()) comments.AddComments(staticVar, yyDollar[3].token.Comments()) } - case 165: + case 167: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1417 + //line php5/php5.y:1436 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3705,9 +3761,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 166: + case 168: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1434 + //line php5/php5.y:1453 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3724,41 +3780,41 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(staticVar, yyDollar[1].token.Comments()) } - case 167: + case 169: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1456 + //line php5/php5.y:1475 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 168: + case 170: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1458 + //line php5/php5.y:1477 { yyVAL.list = []node.Node{} } - case 169: + case 171: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1464 + //line php5/php5.y:1483 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 170: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1470 - { - yyVAL.node = yyDollar[1].node - } - case 171: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1472 - { - yyVAL.node = yyDollar[1].node - } case 172: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1489 + { + yyVAL.node = yyDollar[1].node + } + case 173: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1491 + { + yyVAL.node = yyDollar[1].node + } + case 174: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1474 + //line php5/php5.y:1493 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3768,97 +3824,97 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[8].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 173: + case 175: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1487 + //line php5/php5.y:1506 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 174: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1496 - { - yyVAL.list = []node.Node{yyDollar[1].node} - } - case 175: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1498 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) - } case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1503 + //line php5/php5.y:1515 { - yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} + yyVAL.list = []node.Node{yyDollar[1].node} } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1505 + //line php5/php5.y:1517 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 178: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1522 + { + yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} + } + case 179: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1524 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } - case 178: + case 180: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1510 + //line php5/php5.y:1529 { yyVAL.list = nil } - case 179: + case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1512 + //line php5/php5.y:1531 { yyVAL.list = yyDollar[1].list } - case 180: + case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1517 + //line php5/php5.y:1536 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 181: + case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1519 + //line php5/php5.y:1538 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 182: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1524 - { - yyVAL.node = yyDollar[1].node - } - case 183: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1526 - { - yyVAL.node = yyDollar[1].node - } case 184: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1543 + { + yyVAL.node = yyDollar[1].node + } + case 185: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1545 + { + yyVAL.node = yyDollar[1].node + } + case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1531 + //line php5/php5.y:1550 { yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 185: + case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1540 + //line php5/php5.y:1559 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 186: + case 188: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1542 + //line php5/php5.y:1561 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 187: + case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1547 + //line php5/php5.y:1566 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3868,15 +3924,15 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 188: + case 190: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1557 + //line php5/php5.y:1576 { yyVAL.node = yyDollar[1].node } - case 189: + case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1562 + //line php5/php5.y:1581 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3886,9 +3942,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 190: + case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1575 + //line php5/php5.y:1594 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3898,47 +3954,47 @@ yydefault: comments.AddComments(alias, yyDollar[4].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 191: + case 193: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1585 + //line php5/php5.y:1604 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 192: + case 194: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1594 + //line php5/php5.y:1613 { yyVAL.node = nil } - case 193: + case 195: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1596 + //line php5/php5.y:1615 { yyVAL.node = yyDollar[1].node } - case 194: + case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1601 + //line php5/php5.y:1620 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } - case 195: + case 197: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1603 + //line php5/php5.y:1622 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } - case 196: + case 198: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1608 + //line php5/php5.y:1627 { yyVAL.list = yyDollar[1].list } - case 197: + case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1610 + //line php5/php5.y:1629 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3946,49 +4002,33 @@ yydefault: yyVAL.list = []node.Node{modifier} } - case 198: + case 200: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1621 + //line php5/php5.y:1640 { yyVAL.list = nil } - case 199: + case 201: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1623 + //line php5/php5.y:1642 { yyVAL.list = yyDollar[1].list } - case 200: + case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1628 + //line php5/php5.y:1647 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 201: + case 203: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1630 + //line php5/php5.y:1649 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 202: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1635 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 203: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1641 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1647 + //line php5/php5.y:1654 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3996,7 +4036,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1653 + //line php5/php5.y:1660 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4004,7 +4044,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1659 + //line php5/php5.y:1666 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4012,15 +4052,31 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1665 + //line php5/php5.y:1672 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 208: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1678 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 209: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1684 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 210: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1674 + //line php5/php5.y:1693 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[3].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4036,9 +4092,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, property) } - case 209: + case 211: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1690 + //line php5/php5.y:1709 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[3].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4054,9 +4110,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, property) } - case 210: + case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1706 + //line php5/php5.y:1725 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4072,9 +4128,9 @@ yydefault: yyVAL.list = []node.Node{property} } - case 211: + case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1722 + //line php5/php5.y:1741 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4090,9 +4146,9 @@ yydefault: yyVAL.list = []node.Node{property} } - case 212: + case 214: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1741 + //line php5/php5.y:1760 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4107,9 +4163,9 @@ yydefault: yyVAL.node = yyDollar[1].node } - case 213: + case 215: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1756 + //line php5/php5.y:1775 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4123,105 +4179,105 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 214: + case 216: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1773 + //line php5/php5.y:1792 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 215: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1775 - { - yyVAL.list = []node.Node{yyDollar[1].node} - } - case 216: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1781 - { - yyVAL.list = nil - } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1783 - { - yyVAL.list = yyDollar[1].list - } - case 218: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1788 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) - } - case 219: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1790 + //line php5/php5.y:1794 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 220: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1795 + case 218: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1800 { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) + yyVAL.list = nil } - case 221: + case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1797 + //line php5/php5.y:1802 { yyVAL.list = yyDollar[1].list } + case 220: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1807 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 221: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1809 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } case 222: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1814 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) + } + case 223: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1816 + { + yyVAL.list = yyDollar[1].list + } + case 224: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1802 + //line php5/php5.y:1821 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = append(yyDollar[1].list, fetch) } - case 223: + case 225: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1809 + //line php5/php5.y:1828 { fetch := expr.NewArrayDimFetch(nil, yyDollar[2].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[2].node)) yyVAL.list = []node.Node{fetch} } - case 224: + case 226: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1819 + //line php5/php5.y:1838 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } - case 225: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1821 - { - yyVAL.list = yyDollar[1].list - } - case 226: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1823 - { - yyVAL.list = yyDollar[1].list - } case 227: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1828 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1840 { - yyVAL.list = nil + yyVAL.list = yyDollar[1].list } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1830 + //line php5/php5.y:1842 { yyVAL.list = yyDollar[1].list } case 229: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1847 + { + yyVAL.list = nil + } + case 230: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1849 + { + yyVAL.list = yyDollar[1].list + } + case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1835 + //line php5/php5.y:1854 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4233,9 +4289,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 230: + case 232: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1850 + //line php5/php5.y:1869 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4245,25 +4301,25 @@ yydefault: comments.AddComments(list, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 231: + case 233: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1860 + //line php5/php5.y:1879 { yyVAL.node = assign.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 232: + case 234: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1866 + //line php5/php5.y:1885 { yyVAL.node = assign.NewReference(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 233: + case 235: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1872 + //line php5/php5.y:1891 { _new := expr.NewNew(yyDollar[5].node, nil) positions.AddPosition(_new, positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[5].node)) @@ -4278,397 +4334,397 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, _new)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 234: + case 236: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1887 + //line php5/php5.y:1906 { yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 235: + case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1893 + //line php5/php5.y:1912 { yyVAL.node = assign.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 236: + case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1899 + //line php5/php5.y:1918 { yyVAL.node = assign.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 237: + case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1905 + //line php5/php5.y:1924 { yyVAL.node = assign.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 238: + case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1911 + //line php5/php5.y:1930 { yyVAL.node = assign.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 239: + case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1917 + //line php5/php5.y:1936 { yyVAL.node = assign.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 240: + case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1923 + //line php5/php5.y:1942 { yyVAL.node = assign.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 241: + case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1929 + //line php5/php5.y:1948 { yyVAL.node = assign.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 242: + case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1935 + //line php5/php5.y:1954 { yyVAL.node = assign.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 243: + case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1941 + //line php5/php5.y:1960 { yyVAL.node = assign.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 244: + case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1947 + //line php5/php5.y:1966 { yyVAL.node = assign.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 245: + case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1953 + //line php5/php5.y:1972 { yyVAL.node = assign.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 246: + case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1959 + //line php5/php5.y:1978 { yyVAL.node = assign.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 247: + case 249: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1965 + //line php5/php5.y:1984 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 248: + case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1971 + //line php5/php5.y:1990 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 249: + case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1977 + //line php5/php5.y:1996 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 250: + case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1983 + //line php5/php5.y:2002 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 251: + case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1989 + //line php5/php5.y:2008 { yyVAL.node = binary.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 252: + case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1995 + //line php5/php5.y:2014 { yyVAL.node = binary.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 253: + case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2001 + //line php5/php5.y:2020 { yyVAL.node = binary.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 254: + case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2007 + //line php5/php5.y:2026 { yyVAL.node = binary.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 255: + case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2013 + //line php5/php5.y:2032 { yyVAL.node = binary.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 256: + case 258: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2019 + //line php5/php5.y:2038 { yyVAL.node = binary.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 257: + case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2025 + //line php5/php5.y:2044 { yyVAL.node = binary.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 258: + case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2031 + //line php5/php5.y:2050 { yyVAL.node = binary.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 259: + case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2037 + //line php5/php5.y:2056 { yyVAL.node = binary.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 260: + case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2043 + //line php5/php5.y:2062 { yyVAL.node = binary.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 261: + case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2049 + //line php5/php5.y:2068 { yyVAL.node = binary.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 262: + case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2055 + //line php5/php5.y:2074 { yyVAL.node = binary.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 263: + case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2061 + //line php5/php5.y:2080 { yyVAL.node = binary.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 264: + case 266: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2067 + //line php5/php5.y:2086 { yyVAL.node = binary.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 265: + case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2073 + //line php5/php5.y:2092 { yyVAL.node = binary.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 266: + case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2079 + //line php5/php5.y:2098 { yyVAL.node = binary.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 267: + case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2085 + //line php5/php5.y:2104 { yyVAL.node = binary.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 268: + case 270: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2091 + //line php5/php5.y:2110 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 269: + case 271: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2097 + //line php5/php5.y:2116 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 270: + case 272: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2103 + //line php5/php5.y:2122 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 271: + case 273: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2109 + //line php5/php5.y:2128 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 272: + case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2115 + //line php5/php5.y:2134 { yyVAL.node = binary.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 273: + case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2121 + //line php5/php5.y:2140 { yyVAL.node = binary.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 274: + case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2127 + //line php5/php5.y:2146 { yyVAL.node = binary.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 275: + case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2133 + //line php5/php5.y:2152 { yyVAL.node = binary.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 276: + case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2139 + //line php5/php5.y:2158 { yyVAL.node = binary.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 277: + case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2145 + //line php5/php5.y:2164 { yyVAL.node = binary.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 278: + case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2151 + //line php5/php5.y:2170 { yyVAL.node = binary.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 279: + case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2157 + //line php5/php5.y:2176 { yyVAL.node = binary.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 280: + case 282: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2163 + //line php5/php5.y:2182 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 281: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2169 - { - yyVAL.node = yyDollar[1].node - } - case 282: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2171 - { - yyVAL.node = yyDollar[1].node - } case 283: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2188 + { + yyVAL.node = yyDollar[1].node + } + case 284: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2190 + { + yyVAL.node = yyDollar[1].node + } + case 285: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2173 + //line php5/php5.y:2192 { yyVAL.node = yyDollar[2].node @@ -4694,87 +4750,87 @@ yydefault: } } } - case 284: + case 286: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2199 + //line php5/php5.y:2218 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 285: + case 287: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2205 + //line php5/php5.y:2224 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 286: + case 288: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2211 + //line php5/php5.y:2230 { yyVAL.node = yyDollar[1].node } - case 287: + case 289: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2213 + //line php5/php5.y:2232 { yyVAL.node = cast.NewInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 288: + case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2219 + //line php5/php5.y:2238 { yyVAL.node = cast.NewDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 289: + case 291: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2225 + //line php5/php5.y:2244 { yyVAL.node = cast.NewString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 290: + case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2231 + //line php5/php5.y:2250 { yyVAL.node = cast.NewArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 291: + case 293: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2237 + //line php5/php5.y:2256 { yyVAL.node = cast.NewObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 292: + case 294: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2243 + //line php5/php5.y:2262 { yyVAL.node = cast.NewBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 293: + case 295: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2249 + //line php5/php5.y:2268 { yyVAL.node = cast.NewUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 294: + case 296: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2255 + //line php5/php5.y:2274 { if strings.EqualFold(yyDollar[1].token.Value, "die") { yyVAL.node = expr.NewDie(yyDollar[2].node) @@ -4784,137 +4840,117 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 295: + case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2265 + //line php5/php5.y:2284 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 296: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2271 - { - yyVAL.node = yyDollar[1].node - } - case 297: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2273 - { - yyVAL.node = yyDollar[1].node - } case 298: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2275 + //line php5/php5.y:2290 { yyVAL.node = yyDollar[1].node } case 299: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2292 + { + yyVAL.node = yyDollar[1].node + } + case 300: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2294 + { + yyVAL.node = yyDollar[1].node + } + case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2277 + //line php5/php5.y:2296 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 300: + case 302: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2283 + //line php5/php5.y:2302 { yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 301: + case 303: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2289 + //line php5/php5.y:2308 { yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 302: + case 304: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:2295 + //line php5/php5.y:2314 { yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].list, nil, yyDollar[8].list, false, yyDollar[2].boolWithToken.value, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 303: + case 305: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:2302 + //line php5/php5.y:2321 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, nil, yyDollar[9].list, true, yyDollar[3].boolWithToken.value, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[10].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 304: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2312 - { - yyVAL.node = expr.NewYield(nil, yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 305: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2318 - { - yyVAL.node = expr.NewYield(nil, yyDollar[2].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 306: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2324 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2331 { - yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) + yyVAL.node = expr.NewYield(nil, yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 307: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2330 + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2337 { - yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) + yyVAL.node = expr.NewYield(nil, yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 308: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2339 + //line php5/php5.y:2343 { - 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]) + yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 309: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2345 + //line php5/php5.y:2349 + { + yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 310: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2358 { 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 310: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2351 - { - str := scalar.NewString(yyDollar[1].token.Value) - positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(str, yyDollar[1].token.Comments()) - - yyVAL.node = expr.NewArrayDimFetch(str, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(str, yyDollar[4].token)) - comments.AddComments(yyVAL.node, comments[str]) - } case 311: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2361 + //line php5/php5.y:2364 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4923,40 +4959,60 @@ yydefault: case 312: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:2370 + { + str := scalar.NewString(yyDollar[1].token.Value) + positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(str, yyDollar[1].token.Comments()) + + yyVAL.node = expr.NewArrayDimFetch(str, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(str, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[str]) + } + case 313: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2380 + { + 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 314: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2389 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 313: + case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2376 + //line php5/php5.y:2395 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 314: + case 316: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2385 + //line php5/php5.y:2404 { yyVAL.token = yyDollar[1].token } - case 315: + case 317: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2390 + //line php5/php5.y:2409 { yyVAL.list = []node.Node{} } - case 316: + case 318: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2392 + //line php5/php5.y:2411 { yyVAL.list = yyDollar[3].list } - case 317: + case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2397 + //line php5/php5.y:2416 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[3].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4972,9 +5028,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 318: + case 320: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2413 + //line php5/php5.y:2432 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4990,9 +5046,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, use) } - case 319: + case 321: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2429 + //line php5/php5.y:2448 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5008,9 +5064,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 320: + case 322: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2445 + //line php5/php5.y:2464 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[2].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5026,9 +5082,9 @@ yydefault: yyVAL.list = []node.Node{use} } - case 321: + case 323: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2464 + //line php5/php5.y:2483 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5038,9 +5094,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(name, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[name]) } - case 322: + case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2474 + //line php5/php5.y:2493 { funcName := name.NewRelative(yyDollar[3].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5050,9 +5106,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(funcName, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[funcName]) } - case 323: + case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2484 + //line php5/php5.y:2503 { funcName := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5062,25 +5118,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(funcName, yyDollar[3].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[funcName]) } - case 324: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2494 - { - yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 325: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2500 - { - yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2506 + //line php5/php5.y:2513 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5088,91 +5128,107 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2512 + //line php5/php5.y:2519 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 328: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2525 + { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 329: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:2531 + { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2518 + //line php5/php5.y:2537 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 329: + case 331: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2527 + //line php5/php5.y:2546 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 330: + case 332: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2533 + //line php5/php5.y:2552 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 331: + case 333: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2539 + //line php5/php5.y:2558 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 332: + case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2545 + //line php5/php5.y:2564 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 333: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2554 - { - yyVAL.node = name.NewName(yyDollar[1].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) - } - case 334: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2560 - { - yyVAL.node = name.NewRelative(yyDollar[3].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 335: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2573 + { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 336: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:2579 + { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 337: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2566 + //line php5/php5.y:2585 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 336: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2575 - { - yyVAL.node = yyDollar[1].node - } - case 337: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2577 - { - yyVAL.node = yyDollar[1].node - } case 338: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2594 + { + yyVAL.node = yyDollar[1].node + } + case 339: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2596 + { + yyVAL.node = yyDollar[1].node + } + case 340: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2582 + //line php5/php5.y:2601 { yyVAL.node = yyDollar[1].node @@ -5208,121 +5264,105 @@ yydefault: } } } - case 339: + case 341: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2618 + //line php5/php5.y:2637 { yyVAL.node = yyDollar[1].node } - case 340: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2624 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) - } - case 341: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2626 - { - yyVAL.list = []node.Node{} - } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2632 + //line php5/php5.y:2643 { - yyVAL.list = yyDollar[2].list + yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 343: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2637 - { - yyVAL.node = nil - } - case 344: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2639 - { - yyVAL.node = nil - } - case 345: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2641 - { - yyVAL.node = yyDollar[1].node - } - case 346: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2646 + //line php5/php5.y:2645 { yyVAL.list = []node.Node{} } + case 344: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2651 + { + yyVAL.list = yyDollar[2].list + } + case 345: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2656 + { + yyVAL.node = nil + } + case 346: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:2658 + { + yyVAL.node = nil + } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2648 + //line php5/php5.y:2660 + { + yyVAL.node = yyDollar[1].node + } + case 348: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:2665 + { + yyVAL.list = []node.Node{} + } + case 349: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2667 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } - case 348: + case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2650 + //line php5/php5.y:2669 { yyVAL.list = yyDollar[1].list } - case 349: + case 351: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2655 + //line php5/php5.y:2674 { yyVAL.nodesWithEndToken = nil } - case 350: + case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2657 + //line php5/php5.y:2676 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 351: + case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2662 + //line php5/php5.y:2681 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 352: + case 354: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2668 + //line php5/php5.y:2687 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 353: + case 355: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2674 + //line php5/php5.y:2693 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 354: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2680 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 355: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2686 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2692 + //line php5/php5.y:2699 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5330,7 +5370,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2698 + //line php5/php5.y:2705 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5338,7 +5378,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2704 + //line php5/php5.y:2711 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5346,7 +5386,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2710 + //line php5/php5.y:2717 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5354,15 +5394,31 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2716 + //line php5/php5.y:2723 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 361: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2729 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 362: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2735 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2722 + //line php5/php5.y:2741 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5372,17 +5428,17 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 362: + case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2732 + //line php5/php5.y:2751 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 363: + case 365: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2741 + //line php5/php5.y:2760 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5392,27 +5448,27 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 364: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2754 - { - yyVAL.node = yyDollar[1].node - } - case 365: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2759 - { - yyVAL.node = yyDollar[1].node - } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2761 + //line php5/php5.y:2773 { yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2763 + //line php5/php5.y:2778 + { + yyVAL.node = yyDollar[1].node + } + case 368: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2780 + { + yyVAL.node = yyDollar[1].node + } + case 369: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:2782 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5422,9 +5478,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(name)) comments.AddComments(yyVAL.node, comments[name]) } - case 368: + case 370: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2773 + //line php5/php5.y:2792 { name := name.NewRelative(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5434,9 +5490,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, comments[name]) } - case 369: + case 371: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2783 + //line php5/php5.y:2802 { name := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5446,313 +5502,313 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, comments[name]) } - case 370: + case 372: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2793 + //line php5/php5.y:2812 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 371: + case 373: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2799 + //line php5/php5.y:2818 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 372: + case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2805 + //line php5/php5.y:2824 { yyVAL.node = yyDollar[1].node } - case 373: + case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2807 + //line php5/php5.y:2826 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 374: + case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2813 + //line php5/php5.y:2832 { yyVAL.node = yyDollar[1].node } - case 375: + case 377: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2818 + //line php5/php5.y:2837 { 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 376: + case 378: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2824 + //line php5/php5.y:2843 { yyVAL.node = binary.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 377: + case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2830 + //line php5/php5.y:2849 { yyVAL.node = binary.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 378: + case 380: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2836 + //line php5/php5.y:2855 { yyVAL.node = binary.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 379: + case 381: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2842 + //line php5/php5.y:2861 { yyVAL.node = binary.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 380: + case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2848 + //line php5/php5.y:2867 { yyVAL.node = binary.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 381: + case 383: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2854 + //line php5/php5.y:2873 { yyVAL.node = binary.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 382: + case 384: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2860 + //line php5/php5.y:2879 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 383: + case 385: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2866 + //line php5/php5.y:2885 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 384: + case 386: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2872 + //line php5/php5.y:2891 { yyVAL.node = binary.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 385: + case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2878 + //line php5/php5.y:2897 { yyVAL.node = binary.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 386: + case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2884 + //line php5/php5.y:2903 { yyVAL.node = binary.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 387: + case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2890 + //line php5/php5.y:2909 { yyVAL.node = binary.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 388: + case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2896 + //line php5/php5.y:2915 { yyVAL.node = binary.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 389: + case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2902 + //line php5/php5.y:2921 { yyVAL.node = binary.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 390: + case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2908 + //line php5/php5.y:2927 { yyVAL.node = binary.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 391: + case 393: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2914 + //line php5/php5.y:2933 { yyVAL.node = binary.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 392: + case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2920 + //line php5/php5.y:2939 { yyVAL.node = binary.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 393: + case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2926 + //line php5/php5.y:2945 { yyVAL.node = binary.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 394: + case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2932 + //line php5/php5.y:2951 { yyVAL.node = binary.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 395: + case 397: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2938 + //line php5/php5.y:2957 { yyVAL.node = binary.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 396: + case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2944 + //line php5/php5.y:2963 { yyVAL.node = binary.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 397: + case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2950 + //line php5/php5.y:2969 { yyVAL.node = binary.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 398: + case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2956 + //line php5/php5.y:2975 { yyVAL.node = binary.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 399: + case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2962 + //line php5/php5.y:2981 { yyVAL.node = binary.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 400: + case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2968 + //line php5/php5.y:2987 { yyVAL.node = binary.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 401: + case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2974 + //line php5/php5.y:2993 { yyVAL.node = binary.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 402: + case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2980 + //line php5/php5.y:2999 { yyVAL.node = binary.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 403: + case 405: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2986 + //line php5/php5.y:3005 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 404: + case 406: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2992 + //line php5/php5.y:3011 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 405: + case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2998 + //line php5/php5.y:3017 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 406: + case 408: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3004 + //line php5/php5.y:3023 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 407: + case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3010 + //line php5/php5.y:3029 { yyVAL.node = yyDollar[2].node } - case 408: + case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3015 + //line php5/php5.y:3034 { yyVAL.node = yyDollar[1].node } - case 409: + case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3017 + //line php5/php5.y:3036 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5762,9 +5818,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(name)) comments.AddComments(yyVAL.node, comments[name]) } - case 410: + case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3027 + //line php5/php5.y:3046 { name := name.NewRelative(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5774,9 +5830,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(name)) comments.AddComments(yyVAL.node, comments[name]) } - case 411: + case 413: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3037 + //line php5/php5.y:3056 { name := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5786,9 +5842,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(name)) comments.AddComments(yyVAL.node, comments[name]) } - case 412: + case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3050 + //line php5/php5.y:3069 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5798,63 +5854,63 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 413: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3060 - { - yyVAL.node = yyDollar[1].node - } - case 414: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3062 - { - yyVAL.node = yyDollar[1].node - } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3064 + //line php5/php5.y:3079 { yyVAL.node = yyDollar[1].node } case 416: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3081 + { + yyVAL.node = yyDollar[1].node + } + case 417: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3083 + { + yyVAL.node = yyDollar[1].node + } + case 418: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3066 + //line php5/php5.y:3085 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 417: + case 419: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3072 + //line php5/php5.y:3091 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 418: + case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3078 + //line php5/php5.y:3097 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 419: + case 421: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3087 + //line php5/php5.y:3106 { yyVAL.list = nil } - case 420: + case 422: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3089 + //line php5/php5.y:3108 { yyVAL.list = yyDollar[1].list } - case 423: + case 425: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3099 + //line php5/php5.y:3118 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5862,9 +5918,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 424: + case 426: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3107 + //line php5/php5.y:3126 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5872,9 +5928,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 425: + case 427: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3115 + //line php5/php5.y:3134 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5882,9 +5938,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 426: + case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3123 + //line php5/php5.y:3142 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5892,51 +5948,51 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 427: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3134 - { - yyVAL.node = yyDollar[1].node - } - case 428: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3136 - { - yyVAL.node = yyDollar[1].node - } case 429: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3141 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3153 { - yyVAL.node = yyDollar[2].node + yyVAL.node = yyDollar[1].node } case 430: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3143 - { - yyVAL.node = yyDollar[2].node - } - case 431: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3149 - { - yyVAL.node = yyDollar[1].node - } - case 432: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:3155 { yyVAL.node = yyDollar[1].node } + case 431: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:3160 + { + yyVAL.node = yyDollar[2].node + } + case 432: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:3162 + { + yyVAL.node = yyDollar[2].node + } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3160 + //line php5/php5.y:3168 { yyVAL.node = yyDollar[1].node } case 434: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3174 + { + yyVAL.node = yyDollar[1].node + } + case 435: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3179 + { + yyVAL.node = yyDollar[1].node + } + case 436: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3165 + //line php5/php5.y:3184 { yyVAL.node = yyDollar[1].node @@ -5989,27 +6045,27 @@ yydefault: } } } - case 435: + case 437: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3218 + //line php5/php5.y:3237 { yyVAL.node = yyDollar[1].node } - case 436: + case 438: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3223 + //line php5/php5.y:3242 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } - case 437: + case 439: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3225 + //line php5/php5.y:3244 { yyVAL.list = []node.Node{} } - case 438: + case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3231 + //line php5/php5.y:3250 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property @@ -6018,58 +6074,58 @@ yydefault: yyVAL.list = yyDollar[2].list } - case 439: + case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3243 + //line php5/php5.y:3262 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = append(yyDollar[1].list, fetch) } - case 440: + case 442: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3250 + //line php5/php5.y:3269 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) yyVAL.list = []node.Node{yyDollar[1].node, fetch} } - case 441: + case 443: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3260 + //line php5/php5.y:3279 { yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].nodesWithEndToken.nodes, yyDollar[1].nodesWithEndToken.endToken)) } - case 442: + case 444: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3268 + //line php5/php5.y:3287 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 443: + case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3270 + //line php5/php5.y:3289 { yyVAL.list = yyDollar[1].list } - case 444: + case 446: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3272 + //line php5/php5.y:3291 { yyVAL.list = nil } - case 445: + case 447: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3277 + //line php5/php5.y:3296 { yyVAL.node = yyDollar[1].node } - case 446: + case 448: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3279 + //line php5/php5.y:3298 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -6079,71 +6135,71 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } - case 447: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3292 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 448: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3298 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } case 449: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3308 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:3311 { - yyVAL.node = yyDollar[1].node + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 450: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3313 + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:3317 { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 451: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3319 - { - 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 452: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:3327 { yyVAL.node = yyDollar[1].node } - case 453: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3328 + case 452: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3332 { - yyVAL.node = yyDollar[1].node + 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 453: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3338 + { + 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 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3329 + //line php5/php5.y:3346 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3335 + //line php5/php5.y:3347 { yyVAL.node = yyDollar[1].node } case 456: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3348 + { + yyVAL.node = yyDollar[1].node + } + case 457: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3354 + { + yyVAL.node = yyDollar[1].node + } + case 458: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3337 + //line php5/php5.y:3356 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -6153,37 +6209,37 @@ yydefault: yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] } - case 457: + case 459: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3347 + //line php5/php5.y:3366 { yyVAL.node = yyDollar[1].node } - case 458: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3352 - { - 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 459: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3358 - { - 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 460: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3371 + { + 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 461: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3377 + { + 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 462: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3364 + //line php5/php5.y:3383 { yyVAL.node = yyDollar[1].node } - case 461: + case 463: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3370 + //line php5/php5.y:3389 { name := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6193,85 +6249,85 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 462: + case 464: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3380 + //line php5/php5.y:3399 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 463: + case 465: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3389 + //line php5/php5.y:3408 { yyVAL.node = nil } - case 464: + case 466: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3391 + //line php5/php5.y:3410 { yyVAL.node = yyDollar[1].node } - case 465: + case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3397 + //line php5/php5.y:3416 { yyVAL.list = yyDollar[1].list } - case 466: + case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3399 + //line php5/php5.y:3418 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) yyVAL.list = []node.Node{fetch} } - case 467: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3409 - { - fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) - positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) - - yyVAL.list = append(yyDollar[1].list, fetch) - } - case 468: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3416 - { - fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) - positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) - - yyVAL.list = append(yyDollar[1].list, fetch) - } case 469: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3428 + { + fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) + positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) + + yyVAL.list = append(yyDollar[1].list, fetch) + } + case 470: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3435 + { + fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) + positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) + + yyVAL.list = append(yyDollar[1].list, fetch) + } + case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3423 + //line php5/php5.y:3442 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) yyVAL.list = []node.Node{fetch} } - case 470: + case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3433 + //line php5/php5.y:3452 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 471: + case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3439 + //line php5/php5.y:3458 { yyVAL.node = yyDollar[2].node } - case 472: + case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3444 + //line php5/php5.y:3463 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6279,9 +6335,9 @@ yydefault: yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 473: + case 475: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3452 + //line php5/php5.y:3471 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6293,15 +6349,15 @@ yydefault: yyDollar[1].simpleIndirectReference.last = n yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 474: + case 476: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3467 + //line php5/php5.y:3486 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 475: + case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3469 + //line php5/php5.y:3488 { if yyDollar[1].node == nil { yyVAL.list = []node.Node{} @@ -6309,17 +6365,17 @@ yydefault: yyVAL.list = []node.Node{yyDollar[1].node} } } - case 476: + case 478: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3481 + //line php5/php5.y:3500 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 477: + case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3487 + //line php5/php5.y:3506 { item := expr.NewList(yyDollar[3].list) positions.AddPosition(item, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6329,27 +6385,27 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(item)) comments.AddComments(yyVAL.node, comments[item]) } - case 478: + case 480: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3497 + //line php5/php5.y:3516 { yyVAL.node = nil } - case 479: + case 481: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3503 + //line php5/php5.y:3522 { yyVAL.list = []node.Node{} } - case 480: + case 482: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3505 + //line php5/php5.y:3524 { yyVAL.list = yyDollar[1].list } - case 481: + case 483: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3510 + //line php5/php5.y:3529 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -6357,9 +6413,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 482: + case 484: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3518 + //line php5/php5.y:3537 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6367,9 +6423,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 483: + case 485: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3526 + //line php5/php5.y:3545 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6377,9 +6433,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 484: + case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3534 + //line php5/php5.y:3553 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6387,9 +6443,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 485: + case 487: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3542 + //line php5/php5.y:3561 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -6397,9 +6453,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 486: + case 488: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3550 + //line php5/php5.y:3569 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -6407,9 +6463,9 @@ yydefault: yyVAL.list = append(yyDollar[1].list, arrayItem) } - case 487: + case 489: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3558 + //line php5/php5.y:3577 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -6417,9 +6473,9 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 488: + case 490: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3566 + //line php5/php5.y:3585 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6427,39 +6483,39 @@ yydefault: yyVAL.list = []node.Node{arrayItem} } - case 489: + case 491: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3577 + //line php5/php5.y:3596 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 490: + case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3579 + //line php5/php5.y:3598 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 491: + case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3586 + //line php5/php5.y:3605 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 492: + case 494: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3588 + //line php5/php5.y:3607 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 493: + case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3598 + //line php5/php5.y:3617 { name := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6469,9 +6525,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 494: + case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3608 + //line php5/php5.y:3627 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6484,9 +6540,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 495: + case 497: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3621 + //line php5/php5.y:3640 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6502,17 +6558,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 496: + case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3637 + //line php5/php5.y:3656 { yyVAL.node = yyDollar[2].node positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 497: + case 499: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3643 + //line php5/php5.y:3662 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6525,23 +6581,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 498: + case 500: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3657 + //line php5/php5.y:3676 { yyVAL.node = yyDollar[2].node } - case 499: + case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3662 + //line php5/php5.y:3681 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 500: + case 502: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3668 + //line php5/php5.y:3687 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -6553,9 +6609,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 501: + case 503: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3680 + //line php5/php5.y:3699 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6565,121 +6621,97 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 502: + case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3693 + //line php5/php5.y:3712 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 503: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3699 - { - yyVAL.node = expr.NewEmpty(yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 504: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3705 - { - yyVAL.node = expr.NewEmpty(yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 505: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3718 + { + yyVAL.node = expr.NewEmpty(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 506: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:3724 + { + yyVAL.node = expr.NewEmpty(yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 507: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3711 + //line php5/php5.y:3730 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 506: + case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3717 + //line php5/php5.y:3736 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 507: + case 509: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3723 + //line php5/php5.y:3742 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 508: + case 510: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3729 + //line php5/php5.y:3748 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 509: + case 511: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3735 + //line php5/php5.y:3754 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 510: + case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3744 + //line php5/php5.y:3763 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 511: + case 513: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3746 + //line php5/php5.y:3765 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 512: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3751 - { - yyVAL.node = yyDollar[1].node - } - case 513: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3753 - { - yyVAL.node = yyDollar[1].node - } case 514: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3758 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3770 { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + yyVAL.node = yyDollar[1].node } case 515: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3768 + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:3772 { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + yyVAL.node = yyDollar[1].node } case 516: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3781 + //line php5/php5.y:3777 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6691,7 +6723,31 @@ yydefault: } case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3794 + //line php5/php5.y:3787 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 518: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:3800 + { + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 519: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:3813 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 17f16f6..f6f909d 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -239,7 +239,12 @@ start: ; top_statement_list: - top_statement_list top_statement { $$ = append($1, $2) } + top_statement_list top_statement + { + if $2 != nil { + $$ = append($1, $2) + } + } | /* empty */ { $$ = []node.Node{} } ; @@ -261,7 +266,12 @@ namespace_name: ; top_statement: - statement + error + { + // error + $$ = nil + } + | statement { $$ = $1 } | function_declaration_statement { $$ = $1 } @@ -534,14 +544,23 @@ constant_declaration: inner_statement_list: inner_statement_list inner_statement - { $$ = append($1, $2) } + { + if $2 != nil { + $$ = append($1, $2) + } + } | /* empty */ { $$ = []node.Node{} } ; inner_statement: - statement + error + { + // error + $$ = nil + } + | statement { $$ = $1 } | function_declaration_statement { $$ = $1 } diff --git a/php7/lexer.go b/php7/lexer.go index e452c93..e752708 100644 --- a/php7/lexer.go +++ b/php7/lexer.go @@ -7,16 +7,26 @@ import ( "github.com/cznic/golex/lex" + "github.com/z7zmey/php-parser/errors" "github.com/z7zmey/php-parser/scanner" "github.com/z7zmey/php-parser/token" ) type lexer struct { scanner.Lexer + lastToken *token.Token + errors []*errors.Error } func (l *lexer) Lex(lval *yySymType) int { - return l.Lexer.Lex(lval) + t := l.Lexer.Lex(lval) + l.lastToken = &lval.token + + return t +} + +func (l *lexer) Error(msg string) { + l.errors = append(l.errors, errors.NewError(msg, *l.lastToken)) } func (lval *yySymType) Token(t token.Token) { @@ -30,12 +40,16 @@ func newLexer(src io.Reader, fName string) *lexer { panic(err) } + scanner := scanner.Lexer{ + Lexer: lx, + StateStack: []int{0}, + PhpDocComment: "", + Comments: nil, + } + return &lexer{ - scanner.Lexer{ - Lexer: lx, - StateStack: []int{0}, - PhpDocComment: "", - Comments: nil, - }, + scanner, + nil, + nil, } } diff --git a/php7/parser.go b/php7/parser.go index 4518a64..93964c9 100644 --- a/php7/parser.go +++ b/php7/parser.go @@ -5,6 +5,7 @@ import ( "io" "github.com/z7zmey/php-parser/comment" + "github.com/z7zmey/php-parser/errors" "github.com/z7zmey/php-parser/node" "github.com/z7zmey/php-parser/node/stmt" "github.com/z7zmey/php-parser/position" @@ -17,15 +18,17 @@ var positions position.Positions var positionBuilder position.Builder // Parse the php7 parser entrypoint -func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions) { +func Parse(src io.Reader, fName string) (node.Node, comment.Comments, position.Positions, []*errors.Error) { yyDebug = 0 yyErrorVerbose = true rootnode = stmt.NewStmtList([]node.Node{}) //reset comments = comment.Comments{} positions = position.Positions{} positionBuilder = position.Builder{&positions} - yyParse(newLexer(src, fName)) - return rootnode, comments, positions + + lexer := newLexer(src, fName) + yyParse(lexer) + return rootnode, comments, positions, lexer.errors } // ListGetFirstNodeComments returns comments of a first node in the list diff --git a/php7/php7.go b/php7/php7.go index a0a40e5..a11e941 100644 --- a/php7/php7.go +++ b/php7/php7.go @@ -344,61 +344,50 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php7/php7.y:2615 +//line php7/php7.y:2635 //line yacctab:1 var yyExca = [...]int{ -1, 1, 1, -1, -2, 0, - -1, 43, - 57, 420, - 78, 420, - 119, 420, - 125, 420, - -2, 415, - -1, 47, - 123, 423, - -2, 432, - -1, 83, + -1, 2, + 1, 1, + -2, 0, + -1, 44, 57, 422, 78, 422, 119, 422, - 123, 425, 125, 422, - -2, 410, - -1, 106, - 78, 383, - -2, 412, - -1, 228, - 57, 420, - 78, 420, - 119, 420, - 125, 420, - -2, 311, - -1, 231, + -2, 417, + -1, 48, 123, 425, - -2, 422, - -1, 234, - 57, 420, - 78, 420, - 119, 420, - 125, 420, + -2, 434, + -1, 84, + 57, 424, + 78, 424, + 119, 424, + 123, 427, + 125, 424, + -2, 412, + -1, 107, + 78, 385, + -2, 414, + -1, 229, + 57, 422, + 78, 422, + 119, 422, + 125, 422, -2, 313, - -1, 352, - 115, 0, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 335, - -1, 353, - 115, 0, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 336, + -1, 232, + 123, 427, + -2, 424, + -1, 235, + 57, 422, + 78, 422, + 119, 422, + 125, 422, + -2, 315, -1, 354, 115, 0, 153, 0, @@ -414,16 +403,18 @@ var yyExca = [...]int{ 156, 0, -2, 338, -1, 356, - 157, 0, - 158, 0, - 159, 0, - 160, 0, + 115, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 339, -1, 357, - 157, 0, - 158, 0, - 159, 0, - 160, 0, + 115, 0, + 153, 0, + 154, 0, + 155, 0, + 156, 0, -2, 340, -1, 358, 157, 0, @@ -438,920 +429,967 @@ var yyExca = [...]int{ 160, 0, -2, 342, -1, 360, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 343, + -1, 361, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 344, + -1, 362, 115, 0, 153, 0, 154, 0, 155, 0, 156, 0, - -2, 343, - -1, 367, - 124, 161, - 135, 161, - -2, 420, - -1, 411, - 124, 460, - 126, 460, - 135, 460, - -2, 420, - -1, 415, - 57, 421, - 78, 421, - 119, 421, - 123, 424, - 125, 421, -2, 345, - -1, 429, - 123, 446, - -2, 413, - -1, 430, + -1, 369, + 124, 163, + 135, 163, + -2, 422, + -1, 413, + 124, 462, + 126, 462, + 135, 462, + -2, 422, + -1, 417, + 57, 423, + 78, 423, + 119, 423, + 123, 426, + 125, 423, + -2, 347, + -1, 431, 123, 448, - -2, 438, - -1, 509, - 123, 446, - -2, 414, - -1, 510, + -2, 415, + -1, 432, + 123, 450, + -2, 440, + -1, 511, 123, 448, - -2, 439, - -1, 569, - 124, 211, - -2, 216, - -1, 594, - 123, 424, - -2, 421, - -1, 646, - 124, 211, - -2, 216, - -1, 651, - 124, 181, - -2, 420, - -1, 659, - 124, 211, - -2, 216, - -1, 684, - 124, 459, - 126, 459, - 135, 459, - -2, 420, - -1, 717, - 124, 182, - -2, 420, - -1, 737, - 12, 263, - -2, 266, - -1, 776, - 124, 181, - -2, 420, - -1, 778, + -2, 416, + -1, 512, + 123, 450, + -2, 441, + -1, 571, + 124, 213, + -2, 218, + -1, 596, + 123, 426, + -2, 423, + -1, 648, + 124, 213, + -2, 218, + -1, 653, + 124, 183, + -2, 422, + -1, 661, + 124, 213, + -2, 218, + -1, 686, + 124, 461, + 126, 461, + 135, 461, + -2, 422, + -1, 719, 124, 184, - -2, 394, - -1, 880, + -2, 422, + -1, 739, + 12, 265, + -2, 268, + -1, 753, + 93, 208, + 94, 208, + 95, 208, + -2, 0, + -1, 778, + 124, 183, + -2, 422, + -1, 780, + 124, 186, + -2, 396, + -1, 800, + 93, 209, + 94, 209, + 95, 209, + -2, 0, + -1, 849, + 31, 199, + 32, 199, + 33, 199, + 120, 199, + -2, 0, + -1, 882, 29, 76, -2, 80, - -1, 912, - 124, 211, - -2, 216, + -1, 885, + 31, 198, + 32, 198, + 33, 198, + 120, 198, + -2, 0, + -1, 914, + 124, 213, + -2, 218, } const yyPrivate = 57344 -const yyLast = 7209 +const yyLast = 7331 var yyAct = [...]int{ - 27, 129, 823, 836, 660, 859, 374, 576, 739, 434, - 872, 106, 835, 791, 664, 772, 809, 673, 783, 563, - 662, 137, 137, 137, 311, 650, 150, 4, 709, 631, - 698, 665, 530, 630, 185, 366, 320, 512, 376, 220, - 520, 403, 131, 79, 571, 315, 314, 222, 8, 7, - 136, 188, 224, 227, 146, 149, 235, 236, 237, 238, - 239, 127, 142, 240, 241, 242, 243, 244, 245, 246, - 125, 249, 139, 140, 257, 258, 259, 124, 2, 253, - 313, 312, 511, 6, 5, 428, 126, 164, 272, 273, - 868, 275, 276, 852, 890, 263, 268, 229, 229, 840, - 81, 839, 178, 866, 862, 891, 404, 682, 104, 833, - 830, 588, 566, 539, 333, 675, 329, 867, 189, 332, - 327, 110, 308, 307, 831, 306, 300, 301, 334, 104, - 330, 317, 114, 120, 328, 322, 323, 675, 757, 307, - 301, 83, 702, 726, 284, 286, 624, 860, 619, 564, - 554, 409, 178, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 164, - 362, 364, 104, 368, 319, 265, 370, 728, 924, 778, - 268, 691, 305, 687, 294, 231, 231, 331, 608, 78, - 378, 386, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 218, 405, 400, 137, 402, 604, - 224, 382, 422, 143, 605, 229, 163, 165, 166, 164, - 105, 413, 853, 289, 224, 291, 282, 43, 595, 516, - 298, 178, 583, 304, 598, 408, 601, 599, 260, 137, - 886, 105, 818, 817, 807, 799, 423, 782, 771, 407, - 517, 137, 725, 861, 715, 429, 509, 401, 696, 229, - 369, 521, 522, 414, 361, 523, 217, 694, 686, 265, - 162, 161, 216, 527, 269, 648, 531, 636, 224, 912, - 421, 228, 234, 626, 842, 596, 587, 290, 826, 416, - 229, 515, 811, 810, 105, 283, 780, 514, 718, 549, - 685, 427, 167, 168, 160, 163, 165, 166, 164, 4, - 659, 646, 644, 231, 285, 645, 178, 533, 569, 552, - 550, 418, 419, 559, 412, 150, 383, 381, 558, 287, - 8, 7, 274, 116, 288, 104, 271, 270, 508, 248, - 518, 109, 219, 215, 183, 182, 181, 418, 135, 419, - 419, 418, 134, 600, 562, 162, 161, 231, 130, 548, - 305, 116, 536, 104, 112, 6, 5, 824, 269, 542, - 568, 293, 578, 292, 579, 557, 575, 580, 581, 573, - 560, 556, 577, 108, 928, 749, 927, 918, 231, 160, - 163, 165, 166, 164, 385, 187, 586, 156, 155, 178, - 224, 590, 133, 224, 570, 111, 766, 767, 406, 367, - 901, 541, 900, 544, 766, 767, 885, 607, 848, 819, - 813, 232, 610, 180, 177, 806, 763, 750, 714, 712, - 133, 585, 116, 111, 710, 708, 179, 158, 162, 161, - 178, 705, 593, 553, 534, 538, 230, 589, 233, 232, - 535, 430, 510, 411, 384, 372, 609, 105, 152, 153, - 157, 159, 171, 172, 169, 170, 173, 174, 175, 176, - 167, 168, 160, 163, 165, 166, 164, 326, 325, 162, - 161, 324, 667, 668, 425, 105, 295, 805, 116, 802, - 104, 116, 800, 759, 812, 606, 907, 884, 857, 855, - 534, 133, 765, 801, 111, 137, 614, 173, 174, 175, - 176, 167, 168, 160, 163, 165, 166, 164, 143, 254, - 534, 534, 788, 625, 420, 781, 731, 674, 574, 618, - 267, 184, 119, 417, 195, 196, 611, 787, 190, 623, - 252, 303, 116, 640, 322, 642, 635, 617, 615, 666, - 116, 4, 647, 700, 116, 613, 113, 133, 288, 716, - 111, 116, 736, 113, 572, 738, 638, 904, 671, 513, - 672, 669, 8, 7, 577, 303, 232, 122, 123, 683, - 641, 656, 303, 255, 256, 76, 77, 116, 377, 104, - 649, 197, 199, 198, 288, 109, 689, 679, 229, 229, - 115, 262, 261, 380, 305, 670, 632, 6, 5, 634, - 521, 133, 105, 303, 111, 531, 743, 744, 745, 742, - 741, 740, 121, 902, 526, 229, 543, 303, 629, 628, - 545, 706, 784, 299, 145, 547, 653, 108, 881, 903, - 701, 713, 318, 279, 280, 224, 147, 697, 669, 720, - 695, 297, 693, 254, 724, 544, 133, 544, 704, 111, - 254, 669, 254, 45, 711, 420, 540, 730, 669, 722, - 723, 145, 751, 752, 688, 232, 224, 747, 892, 792, - 302, 827, 746, 147, 719, 116, 229, 116, 729, 699, - 755, 748, 633, 116, 703, 632, 231, 231, 602, 322, - 230, 191, 654, 612, 118, 652, 406, 616, 756, 224, - 128, 105, 122, 123, 761, 753, 524, 255, 256, 794, - 793, 758, 760, 231, 255, 256, 255, 256, 669, 768, - 773, 770, 775, 546, 795, 764, 796, 785, 577, 789, - 544, 798, 254, 667, 668, 544, 544, 420, 777, 534, - 229, 743, 744, 745, 742, 741, 740, 808, 814, 766, - 767, 699, 133, 632, 375, 111, 816, 373, 804, 769, - 766, 767, 194, 822, 193, 192, 825, 186, 1, 843, - 815, 254, 821, 637, 231, 37, 277, 737, 734, 832, - 735, 379, 367, 651, 661, 529, 828, 221, 519, 254, - 858, 847, 365, 871, 281, 525, 255, 256, 849, 841, - 144, 790, 544, 141, 544, 846, 321, 148, 803, 684, - 254, 834, 844, 851, 865, 251, 669, 658, 820, 856, - 250, 869, 773, 838, 878, 864, 837, 882, 883, 643, - 926, 223, 877, 42, 278, 255, 256, 888, 231, 889, - 41, 15, 14, 893, 597, 887, 266, 48, 47, 896, - 107, 49, 894, 255, 256, 878, 897, 82, 80, 544, - 895, 71, 899, 877, 247, 61, 906, 264, 60, 876, - 717, 875, 874, 873, 255, 256, 733, 910, 44, 663, - 721, 655, 309, 911, 117, 296, 3, 433, 917, 920, - 913, 786, 916, 915, 577, 727, 0, 921, 0, 0, - 922, 0, 0, 0, 669, 0, 0, 925, 0, 0, - 929, 0, 87, 88, 69, 46, 92, 93, 35, 0, - 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, - 0, 18, 0, 29, 776, 30, 0, 0, 19, 0, - 0, 0, 20, 21, 34, 36, 12, 22, 32, 0, - 0, 33, 11, 0, 23, 0, 28, 85, 86, 9, - 38, 39, 40, 0, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 10, 100, 96, - 111, 0, 89, 90, 91, 0, 0, 0, 0, 84, - 52, 0, 0, 0, 73, 74, 24, 76, 77, 0, - 0, 0, 53, 54, 75, 62, 63, 64, 65, 66, - 67, 68, 0, 0, 0, 103, 72, 13, 627, 31, - 0, 59, 0, 51, 0, 0, 0, 56, 55, 57, - 58, 70, 105, 87, 88, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 36, 12, 22, 32, - 0, 0, 33, 11, 0, 23, 0, 28, 85, 86, - 9, 38, 39, 40, 0, 0, 0, 0, 50, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 10, 100, - 96, 111, 0, 89, 90, 91, 0, 0, 0, 0, - 84, 52, 0, 0, 0, 73, 74, 24, 76, 77, - 0, 0, 0, 53, 54, 75, 62, 63, 64, 65, - 66, 67, 68, 0, 0, 0, 103, 72, 13, 537, - 31, 0, 59, 0, 51, 0, 0, 0, 56, 55, - 57, 58, 70, 105, 87, 88, 69, 46, 92, 93, - 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, - 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, - 19, 0, 0, 0, 20, 21, 34, 36, 12, 22, - 32, 0, 0, 33, 11, 0, 23, 0, 28, 85, - 86, 9, 38, 39, 40, 0, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 10, - 100, 96, 111, 0, 89, 90, 91, 0, 0, 0, - 0, 84, 52, 0, 0, 0, 73, 74, 24, 76, - 77, 0, 0, 0, 53, 54, 75, 62, 63, 64, - 65, 66, 67, 68, 0, 0, 0, 103, 72, 13, - 0, 31, 0, 59, 0, 51, 0, 0, 0, 56, - 55, 57, 58, 70, 105, 87, 88, 69, 46, 92, - 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, - 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, - 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, - 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, - 85, 86, 316, 38, 39, 40, 0, 0, 0, 0, - 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 133, 100, 96, 111, 0, 89, 90, 91, 0, 0, - 0, 0, 84, 52, 0, 0, 0, 73, 74, 24, - 76, 77, 0, 0, 0, 53, 54, 75, 62, 63, - 64, 65, 66, 67, 68, 0, 0, 0, 103, 72, - 13, 930, 31, 0, 59, 0, 51, 0, 0, 0, - 56, 55, 57, 58, 70, 105, 87, 88, 69, 46, - 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, - 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, - 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, - 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, - 28, 85, 86, 316, 38, 39, 40, 0, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 89, 90, 91, 0, - 0, 0, 0, 84, 52, 0, 0, 0, 73, 74, - 24, 76, 77, 0, 0, 0, 53, 54, 75, 62, - 63, 64, 65, 66, 67, 68, 0, 0, 0, 103, - 72, 13, 923, 31, 0, 59, 0, 51, 0, 0, - 0, 56, 55, 57, 58, 70, 105, 87, 88, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, - 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, - 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, - 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, - 0, 0, 133, 100, 96, 111, 0, 89, 90, 91, - 0, 0, 0, 0, 84, 52, 0, 0, 0, 73, - 74, 24, 76, 77, 0, 0, 0, 53, 54, 75, - 62, 63, 64, 65, 66, 67, 68, 0, 0, 0, - 103, 72, 13, 919, 31, 0, 59, 0, 51, 0, - 0, 0, 56, 55, 57, 58, 70, 105, 87, 88, - 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, - 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, - 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, - 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, - 23, 0, 28, 85, 86, 316, 38, 39, 40, 0, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 89, 90, - 91, 0, 0, 0, 0, 84, 52, 0, 0, 0, - 73, 74, 24, 76, 77, 0, 0, 0, 53, 54, - 75, 62, 63, 64, 65, 66, 67, 68, 0, 0, - 0, 103, 72, 13, 909, 31, 0, 59, 0, 51, - 0, 0, 0, 56, 55, 57, 58, 70, 105, 87, - 88, 69, 46, 92, 93, 35, 0, 104, 0, 26, - 0, 0, 0, 109, 25, 17, 16, 0, 18, 0, - 29, 0, 30, 0, 0, 19, 0, 0, 0, 20, - 21, 34, 36, 0, 22, 32, 0, 0, 33, 0, - 0, 23, 0, 28, 85, 86, 316, 38, 39, 40, - 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 133, 100, 96, 111, 0, 89, - 90, 91, 0, 0, 0, 0, 84, 52, 0, 0, - 0, 73, 74, 24, 76, 77, 0, 0, 0, 53, - 54, 75, 62, 63, 64, 65, 66, 67, 68, 0, - 0, 0, 103, 72, 13, 908, 31, 0, 59, 0, - 51, 0, 0, 0, 56, 55, 57, 58, 70, 105, - 87, 88, 69, 46, 92, 93, 35, 0, 104, 0, - 26, 0, 0, 0, 109, 25, 17, 16, 0, 18, - 905, 29, 0, 30, 0, 0, 19, 0, 0, 0, - 20, 21, 34, 36, 0, 22, 32, 0, 0, 33, - 0, 0, 23, 0, 28, 85, 86, 316, 38, 39, - 40, 0, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 133, 100, 96, 111, 0, - 89, 90, 91, 0, 0, 0, 0, 84, 52, 0, - 0, 0, 73, 74, 24, 76, 77, 0, 0, 0, - 53, 54, 75, 62, 63, 64, 65, 66, 67, 68, - 0, 0, 0, 103, 72, 13, 0, 31, 0, 59, - 0, 51, 0, 0, 0, 56, 55, 57, 58, 70, - 105, 87, 88, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 0, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 0, 0, 19, 0, 0, - 0, 20, 21, 34, 36, 0, 22, 32, 0, 0, - 33, 0, 0, 23, 0, 28, 85, 86, 316, 38, - 39, 40, 0, 0, 0, 0, 50, 108, 0, 101, - 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 0, 133, 100, 96, 111, - 0, 89, 90, 91, 0, 0, 0, 0, 84, 52, - 0, 0, 0, 73, 74, 24, 76, 77, 0, 0, - 0, 53, 54, 75, 62, 63, 64, 65, 66, 67, - 68, 0, 0, 0, 103, 72, 13, 854, 31, 0, - 59, 0, 51, 0, 0, 0, 56, 55, 57, 58, - 70, 105, 87, 88, 69, 46, 92, 93, 35, 0, - 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, - 0, 18, 0, 29, 850, 30, 0, 0, 19, 0, - 0, 0, 20, 21, 34, 36, 0, 22, 32, 0, - 0, 33, 0, 0, 23, 0, 28, 85, 86, 316, - 38, 39, 40, 0, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 89, 90, 91, 0, 0, 0, 0, 84, - 52, 0, 0, 0, 73, 74, 24, 76, 77, 0, - 0, 0, 53, 54, 75, 62, 63, 64, 65, 66, - 67, 68, 0, 0, 0, 103, 72, 13, 0, 31, - 0, 59, 0, 51, 0, 0, 0, 56, 55, 57, - 58, 70, 105, 87, 88, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 779, 0, 19, - 0, 0, 0, 20, 21, 34, 36, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 316, 38, 39, 40, 0, 0, 0, 0, 50, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, - 96, 111, 0, 89, 90, 91, 0, 0, 0, 0, - 84, 52, 0, 0, 0, 73, 74, 24, 76, 77, - 0, 0, 0, 53, 54, 75, 62, 63, 64, 65, - 66, 67, 68, 0, 0, 0, 103, 72, 13, 0, - 31, 0, 59, 0, 51, 0, 0, 0, 56, 55, - 57, 58, 70, 105, 87, 88, 69, 46, 92, 93, - 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, - 17, 16, 762, 18, 0, 29, 0, 30, 0, 0, - 19, 0, 0, 0, 20, 21, 34, 36, 0, 22, - 32, 0, 0, 33, 0, 0, 23, 0, 28, 85, - 86, 316, 38, 39, 40, 0, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, - 100, 96, 111, 0, 89, 90, 91, 0, 0, 0, - 0, 84, 52, 0, 0, 0, 73, 74, 24, 76, - 77, 0, 0, 0, 53, 54, 75, 62, 63, 64, - 65, 66, 67, 68, 0, 0, 0, 103, 72, 13, - 0, 31, 0, 59, 0, 51, 0, 0, 0, 56, - 55, 57, 58, 70, 105, 87, 88, 69, 46, 92, - 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, - 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, - 0, 19, 0, 0, 0, 20, 21, 34, 36, 0, - 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, - 85, 86, 316, 38, 39, 40, 0, 0, 0, 0, - 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 133, 100, 96, 111, 0, 89, 90, 91, 0, 0, - 0, 0, 84, 52, 0, 0, 678, 73, 74, 24, - 76, 77, 0, 0, 0, 53, 54, 75, 62, 63, - 64, 65, 66, 67, 68, 0, 0, 0, 103, 72, - 13, 0, 31, 0, 59, 0, 51, 0, 0, 0, - 56, 55, 57, 58, 70, 105, 87, 88, 69, 46, - 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, - 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, - 0, 0, 19, 0, 0, 0, 20, 21, 34, 36, - 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, - 28, 85, 86, 316, 38, 39, 40, 0, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 89, 90, 91, 0, - 0, 0, 0, 84, 52, 0, 0, 0, 73, 74, - 24, 76, 77, 0, 0, 0, 53, 54, 75, 62, - 63, 64, 65, 66, 67, 68, 0, 0, 0, 103, - 72, 13, 567, 31, 0, 59, 0, 51, 0, 0, - 0, 56, 55, 57, 58, 70, 105, 87, 88, 69, - 46, 92, 93, 35, 0, 104, 0, 26, 0, 0, - 0, 109, 25, 17, 16, 0, 18, 0, 29, 0, - 30, 0, 0, 19, 0, 0, 0, 20, 21, 34, - 36, 0, 22, 32, 0, 0, 33, 0, 0, 23, - 0, 28, 85, 86, 316, 38, 39, 40, 0, 0, - 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, - 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, - 0, 0, 133, 100, 96, 111, 0, 89, 90, 91, - 0, 0, 0, 0, 84, 52, 0, 0, 0, 73, - 74, 24, 76, 77, 0, 0, 0, 53, 54, 75, - 62, 63, 64, 65, 66, 67, 68, 0, 0, 0, - 103, 72, 13, 310, 31, 0, 59, 0, 51, 0, - 0, 0, 56, 55, 57, 58, 70, 105, 87, 88, - 69, 46, 92, 93, 35, 0, 104, 0, 26, 0, - 0, 0, 109, 25, 17, 16, 0, 18, 0, 29, - 0, 30, 0, 0, 19, 0, 0, 0, 20, 21, - 34, 36, 0, 22, 32, 0, 0, 33, 0, 0, - 23, 0, 28, 85, 86, 316, 38, 39, 40, 0, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 89, 90, - 91, 0, 0, 0, 0, 84, 52, 0, 0, 0, - 73, 74, 24, 76, 77, 0, 0, 0, 53, 54, - 75, 62, 63, 64, 65, 66, 67, 68, 0, 0, - 0, 103, 72, 13, 0, 31, 0, 59, 0, 51, - 0, 0, 0, 56, 55, 57, 58, 70, 105, 441, - 442, 452, 453, 0, 0, 432, 0, 104, 0, 0, - 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, - 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, - 494, 495, 0, 0, 486, 492, 493, 500, 501, 503, - 502, 504, 505, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 496, 507, 506, 0, 0, 443, - 444, 445, 446, 447, 448, 449, 450, 451, 454, 455, - 456, 484, 485, 435, 436, 437, 438, 439, 440, 0, - 0, 87, 88, 69, 46, 92, 93, 35, 0, 104, - 0, 26, 0, 0, 431, 109, 25, 17, 16, 0, - 18, 0, 29, 0, 30, 0, 0, 19, 0, 105, - 0, 20, 21, 34, 132, 0, 22, 32, 0, 0, - 33, 0, 0, 23, 0, 28, 85, 86, 0, 0, - 0, 0, 0, 0, 0, 0, 50, 108, 0, 101, - 97, 98, 99, 94, 95, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 0, 133, 100, 96, 111, - 0, 89, 90, 91, 0, 0, 0, 0, 84, 52, - 0, 0, 0, 73, 74, 24, 0, 0, 0, 0, - 0, 53, 54, 75, 62, 63, 64, 65, 66, 67, - 68, 0, 0, 0, 103, 72, 13, 0, 31, 774, - 59, 0, 51, 0, 0, 0, 56, 55, 57, 58, - 70, 105, 87, 88, 69, 46, 92, 93, 35, 0, - 104, 0, 26, 0, 0, 0, 109, 25, 17, 16, - 0, 18, 0, 29, 0, 30, 0, 0, 19, 0, - 0, 0, 20, 21, 34, 132, 0, 22, 32, 0, - 0, 33, 0, 0, 23, 0, 28, 85, 86, 0, - 0, 0, 0, 0, 0, 0, 0, 50, 108, 0, - 101, 97, 98, 99, 94, 95, 0, 0, 0, 0, - 0, 0, 102, 0, 0, 0, 0, 133, 100, 96, - 111, 0, 89, 90, 91, 0, 0, 0, 0, 84, - 52, 0, 0, 0, 73, 74, 24, 0, 0, 0, - 0, 0, 53, 54, 75, 62, 63, 64, 65, 66, - 67, 68, 0, 0, 0, 103, 72, 13, 0, 31, - 845, 59, 0, 51, 0, 0, 0, 56, 55, 57, - 58, 70, 105, 87, 88, 69, 46, 92, 93, 35, - 0, 104, 0, 26, 0, 0, 0, 109, 25, 17, - 16, 0, 18, 0, 29, 0, 30, 0, 0, 19, - 0, 0, 0, 20, 21, 34, 132, 0, 22, 32, - 0, 0, 33, 0, 0, 23, 0, 28, 85, 86, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, - 96, 111, 0, 89, 90, 91, 0, 0, 0, 0, - 84, 52, 0, 0, 0, 73, 74, 24, 0, 0, - 0, 0, 0, 53, 54, 75, 62, 63, 64, 65, - 66, 67, 68, 0, 0, 0, 103, 72, 13, 0, - 31, 680, 59, 0, 51, 0, 0, 0, 56, 55, - 57, 58, 70, 105, 87, 88, 69, 46, 92, 93, - 35, 0, 104, 0, 26, 0, 0, 0, 109, 25, - 17, 16, 0, 18, 0, 29, 0, 30, 0, 0, - 19, 0, 0, 0, 20, 21, 34, 132, 0, 22, - 32, 0, 0, 33, 0, 0, 23, 0, 28, 85, - 86, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, - 100, 96, 111, 0, 89, 90, 91, 0, 0, 0, - 0, 84, 52, 0, 0, 0, 73, 74, 24, 0, - 0, 0, 0, 0, 53, 54, 75, 62, 63, 64, - 65, 66, 67, 68, 0, 0, 0, 103, 72, 13, - 0, 31, 657, 59, 0, 51, 0, 0, 0, 56, - 55, 57, 58, 70, 105, 87, 88, 69, 46, 92, - 93, 35, 0, 104, 0, 26, 0, 0, 0, 109, - 25, 17, 16, 0, 18, 0, 29, 0, 30, 0, - 0, 19, 0, 0, 0, 20, 21, 34, 132, 0, - 22, 32, 0, 0, 33, 0, 0, 23, 0, 28, - 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, - 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 133, 100, 96, 111, 0, 89, 90, 91, 0, 0, - 0, 0, 84, 52, 0, 0, 0, 73, 74, 24, - 0, 0, 0, 0, 0, 53, 54, 75, 62, 63, - 64, 65, 66, 67, 68, 0, 0, 0, 103, 72, - 13, 0, 31, 639, 59, 0, 51, 0, 0, 0, - 56, 55, 57, 58, 70, 105, 87, 88, 69, 46, - 92, 93, 35, 0, 104, 0, 26, 0, 0, 0, - 109, 25, 17, 16, 0, 18, 0, 29, 0, 30, - 0, 0, 19, 0, 0, 0, 20, 21, 34, 132, - 0, 22, 32, 0, 0, 33, 0, 0, 23, 0, - 28, 85, 86, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 178, 0, - 0, 133, 100, 96, 111, 0, 89, 90, 91, 0, - 0, 0, 0, 84, 52, 0, 0, 0, 73, 74, - 24, 0, 0, 177, 0, 0, 53, 54, 75, 62, - 63, 64, 65, 66, 67, 68, 158, 162, 161, 103, - 72, 13, 0, 31, 0, 59, 0, 51, 0, 0, - 0, 56, 55, 57, 58, 70, 105, 154, 156, 155, - 178, 171, 172, 169, 170, 173, 174, 175, 176, 167, - 168, 160, 163, 165, 166, 164, 0, 0, 0, 0, - 0, 0, 0, 0, 180, 177, 736, 0, 0, 738, - 0, 811, 810, 0, 0, 0, 0, 179, 158, 162, - 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 154, 156, 155, 178, 0, 0, 0, 0, 152, - 153, 157, 159, 171, 172, 169, 170, 173, 174, 175, - 176, 167, 168, 160, 163, 165, 166, 164, 180, 177, - 743, 744, 745, 742, 741, 740, 0, 0, 0, 0, - 754, 179, 158, 162, 161, 0, 0, 0, 0, 0, - 0, 0, 863, 0, 0, 154, 156, 155, 178, 0, - 0, 0, 0, 152, 153, 157, 159, 171, 172, 169, - 170, 173, 174, 175, 176, 167, 168, 160, 163, 165, - 166, 164, 180, 177, 0, 0, 0, 0, 0, 0, - 0, 0, 707, 0, 0, 179, 158, 162, 161, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, - 156, 155, 178, 0, 0, 0, 0, 152, 153, 157, - 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, - 168, 160, 163, 165, 166, 164, 180, 177, 0, 0, - 0, 0, 692, 0, 0, 0, 0, 0, 0, 179, - 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 154, 156, 155, 178, 0, 0, 0, - 0, 152, 153, 157, 159, 171, 172, 169, 170, 173, - 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, - 180, 177, 0, 0, 0, 0, 690, 0, 0, 0, - 0, 0, 0, 179, 158, 162, 161, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 154, 156, 155, - 178, 0, 0, 0, 0, 152, 153, 157, 159, 171, - 172, 169, 170, 173, 174, 175, 176, 167, 168, 160, - 163, 165, 166, 164, 180, 177, 736, 0, 0, 738, - 681, 0, 0, 0, 0, 0, 0, 179, 158, 162, - 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 154, 156, 155, 178, 0, 0, 0, 0, 152, - 153, 157, 159, 171, 172, 169, 170, 173, 174, 175, - 176, 167, 168, 160, 163, 165, 166, 164, 180, 177, - 743, 744, 745, 742, 741, 740, 0, 0, 677, 0, - 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, - 0, 0, 829, 0, 0, 154, 156, 155, 178, 0, - 0, 0, 0, 152, 153, 157, 159, 171, 172, 169, - 170, 173, 174, 175, 176, 167, 168, 160, 163, 165, - 166, 164, 180, 177, 0, 0, 0, 0, 0, 0, - 0, 0, 676, 0, 0, 179, 158, 162, 161, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, - 156, 155, 178, 0, 0, 0, 0, 152, 153, 157, - 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, - 168, 160, 163, 165, 166, 164, 180, 177, 736, 0, - 0, 738, 622, 0, 0, 0, 0, 0, 0, 179, - 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 154, 156, 155, 178, 0, 0, 0, - 0, 152, 153, 157, 159, 171, 172, 169, 170, 173, - 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, - 180, 177, 743, 744, 745, 742, 741, 740, 0, 0, - 621, 0, 0, 179, 158, 162, 161, 0, 0, 0, - 0, 0, 0, 0, 797, 0, 0, 154, 156, 155, - 178, 0, 0, 0, 0, 152, 153, 157, 159, 171, - 172, 169, 170, 173, 174, 175, 176, 167, 168, 160, - 163, 165, 166, 164, 180, 177, 0, 0, 0, 0, - 0, 0, 0, 0, 620, 0, 0, 179, 158, 162, - 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 154, 156, 155, 178, 0, 0, 0, 0, 152, - 153, 157, 159, 171, 172, 169, 170, 173, 174, 175, - 176, 167, 168, 160, 163, 165, 166, 164, 180, 177, - 736, 0, 0, 738, 603, 0, 0, 0, 0, 0, - 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 154, 156, 155, 178, 0, - 0, 0, 0, 152, 153, 157, 159, 171, 172, 169, - 170, 173, 174, 175, 176, 167, 168, 160, 163, 165, - 166, 164, 180, 177, 743, 744, 745, 742, 741, 740, - 0, 0, 594, 0, 0, 179, 158, 162, 161, 0, - 0, 0, 0, 0, 0, 0, 732, 0, 0, 154, - 156, 155, 178, 0, 0, 0, 0, 152, 153, 157, - 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, - 168, 160, 163, 165, 166, 164, 180, 177, 0, 0, - 0, 0, 584, 0, 0, 0, 0, 0, 0, 179, - 158, 162, 161, 0, 0, 0, 0, 0, 0, 565, - 0, 0, 0, 154, 156, 155, 178, 0, 0, 0, - 0, 152, 153, 157, 159, 171, 172, 169, 170, 173, - 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, - 180, 177, 0, 0, 0, 0, 0, 0, 0, 0, - 582, 0, 0, 179, 158, 162, 161, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 154, 156, 155, - 178, 0, 0, 0, 0, 152, 153, 157, 159, 171, - 172, 169, 170, 173, 174, 175, 176, 167, 168, 160, - 163, 165, 166, 164, 180, 177, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 179, 158, 162, - 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 154, 156, 155, 178, 0, 0, 0, 0, 152, - 153, 157, 159, 171, 172, 169, 170, 173, 174, 175, - 176, 167, 168, 160, 163, 165, 166, 164, 180, 177, - 0, 0, 0, 0, 0, 0, 561, 0, 0, 0, - 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 154, 156, 155, 178, 0, - 0, 0, 0, 152, 153, 157, 159, 171, 172, 169, - 170, 173, 174, 175, 176, 167, 168, 160, 163, 165, - 166, 164, 180, 177, 0, 0, 0, 0, 0, 0, - 0, 0, 555, 0, 0, 179, 158, 162, 161, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, - 156, 155, 178, 0, 0, 0, 0, 152, 153, 157, - 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, - 168, 160, 163, 165, 166, 164, 180, 177, 0, 0, - 0, 0, 0, 0, 0, 0, 551, 0, 0, 179, - 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 154, 156, 155, 178, 0, 0, 0, - 0, 152, 153, 157, 159, 171, 172, 169, 170, 173, - 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, - 180, 177, 410, 0, 0, 0, 0, 0, 0, 0, - 415, 0, 0, 179, 158, 162, 161, 0, 0, 0, + 28, 130, 825, 838, 662, 861, 376, 578, 741, 436, + 874, 107, 837, 793, 774, 666, 811, 675, 785, 126, + 652, 633, 138, 138, 138, 664, 221, 151, 711, 565, + 700, 313, 667, 322, 5, 186, 532, 632, 368, 573, + 405, 514, 522, 80, 223, 317, 150, 378, 9, 316, + 132, 189, 8, 225, 228, 128, 143, 236, 237, 238, + 239, 240, 147, 2, 241, 242, 243, 244, 245, 246, + 247, 127, 250, 125, 513, 258, 259, 260, 315, 314, + 137, 7, 6, 430, 264, 165, 854, 870, 864, 273, + 274, 892, 276, 277, 842, 684, 841, 269, 230, 230, + 82, 868, 893, 140, 141, 835, 179, 406, 832, 105, + 677, 541, 590, 568, 335, 869, 331, 334, 309, 254, + 105, 111, 833, 677, 308, 302, 329, 759, 336, 307, + 332, 301, 319, 115, 121, 704, 324, 325, 84, 728, + 330, 44, 306, 308, 626, 302, 621, 105, 566, 285, + 287, 190, 556, 411, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 295, 364, 366, 165, 370, 321, 266, 372, 730, 780, + 219, 269, 862, 232, 232, 693, 229, 235, 333, 79, + 424, 380, 388, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, 689, 407, 402, 138, 404, + 179, 225, 610, 261, 144, 855, 230, 283, 179, 384, + 597, 106, 415, 606, 290, 225, 292, 600, 607, 603, + 601, 299, 106, 585, 305, 410, 926, 409, 888, 820, + 138, 819, 218, 809, 826, 801, 371, 425, 217, 163, + 162, 416, 138, 784, 363, 773, 431, 511, 423, 106, + 230, 727, 523, 524, 717, 698, 525, 179, 696, 688, + 266, 650, 638, 628, 529, 270, 598, 533, 117, 225, + 589, 168, 169, 161, 164, 166, 167, 165, 403, 291, + 914, 230, 164, 166, 167, 165, 284, 828, 863, 782, + 551, 813, 812, 920, 720, 535, 163, 162, 687, 661, + 306, 232, 648, 646, 369, 286, 647, 5, 571, 554, + 418, 552, 414, 385, 383, 561, 288, 151, 669, 670, + 560, 9, 429, 520, 275, 8, 272, 510, 518, 271, + 161, 164, 166, 167, 165, 249, 602, 134, 538, 220, + 112, 117, 216, 105, 550, 232, 564, 184, 413, 519, + 289, 183, 420, 421, 7, 6, 544, 182, 136, 270, + 135, 131, 570, 562, 580, 113, 581, 558, 577, 582, + 583, 575, 751, 387, 579, 559, 232, 188, 420, 427, + 421, 421, 420, 268, 903, 668, 179, 294, 588, 293, + 517, 902, 225, 592, 887, 225, 516, 850, 930, 408, + 929, 821, 543, 815, 546, 572, 157, 156, 179, 609, + 134, 808, 765, 112, 612, 752, 768, 769, 768, 769, + 716, 595, 714, 712, 710, 163, 162, 587, 707, 233, + 555, 540, 181, 178, 537, 738, 591, 386, 740, 120, + 374, 328, 432, 512, 327, 180, 159, 163, 162, 326, + 296, 909, 611, 174, 175, 176, 177, 168, 169, 161, + 164, 166, 167, 165, 844, 106, 807, 153, 154, 158, + 160, 172, 173, 170, 171, 174, 175, 176, 177, 168, + 169, 161, 164, 166, 167, 165, 214, 215, 804, 745, + 746, 747, 744, 743, 742, 802, 761, 138, 616, 738, + 536, 117, 740, 105, 814, 608, 767, 886, 859, 110, + 144, 883, 117, 536, 857, 627, 803, 536, 201, 202, + 203, 204, 206, 207, 208, 209, 210, 211, 212, 213, + 205, 620, 613, 790, 783, 642, 324, 644, 637, 617, + 733, 625, 676, 536, 649, 306, 576, 634, 619, 185, + 5, 109, 419, 745, 746, 747, 744, 743, 742, 298, + 673, 789, 674, 671, 9, 640, 579, 255, 8, 643, + 134, 685, 422, 112, 304, 865, 304, 615, 117, 117, + 658, 105, 196, 197, 114, 651, 114, 289, 691, 233, + 230, 230, 672, 198, 200, 199, 681, 7, 6, 117, + 906, 117, 523, 253, 117, 123, 124, 533, 515, 702, + 191, 117, 263, 304, 231, 262, 234, 230, 718, 574, + 379, 116, 636, 708, 304, 106, 630, 289, 382, 631, + 701, 256, 257, 715, 304, 705, 634, 225, 904, 695, + 671, 722, 703, 699, 697, 46, 726, 546, 134, 546, + 122, 112, 547, 671, 706, 786, 713, 77, 78, 732, + 671, 669, 670, 721, 753, 754, 549, 233, 225, 749, + 134, 545, 528, 112, 748, 255, 300, 542, 230, 146, + 134, 731, 757, 112, 192, 232, 232, 303, 369, 653, + 750, 324, 255, 905, 755, 614, 320, 422, 408, 618, + 690, 225, 701, 106, 634, 894, 762, 280, 281, 794, + 758, 829, 232, 760, 148, 686, 763, 724, 725, 777, + 671, 770, 255, 772, 766, 117, 797, 779, 798, 775, + 579, 791, 546, 800, 787, 796, 795, 546, 546, 256, + 257, 148, 230, 745, 746, 747, 744, 743, 742, 810, + 117, 635, 123, 124, 604, 527, 256, 257, 818, 805, + 129, 816, 768, 769, 119, 824, 146, 548, 827, 536, + 806, 377, 817, 232, 823, 375, 719, 1, 195, 255, + 194, 834, 193, 845, 278, 526, 256, 257, 830, 639, + 187, 255, 38, 849, 739, 736, 422, 771, 768, 769, + 851, 843, 737, 381, 546, 255, 546, 848, 663, 531, + 282, 222, 521, 860, 853, 367, 867, 738, 671, 255, + 740, 846, 858, 871, 252, 873, 880, 866, 839, 884, + 885, 775, 145, 792, 879, 142, 323, 232, 149, 890, + 778, 891, 279, 256, 257, 895, 836, 889, 660, 822, + 251, 898, 840, 645, 896, 256, 257, 880, 899, 928, + 224, 546, 897, 43, 901, 879, 42, 16, 908, 256, + 257, 745, 746, 747, 744, 743, 742, 15, 599, 912, + 267, 49, 48, 256, 257, 913, 108, 50, 83, 81, + 919, 922, 915, 831, 918, 917, 579, 72, 248, 923, + 62, 265, 924, 61, 878, 877, 671, 876, 875, 927, + 735, 4, 931, 88, 89, 70, 47, 93, 94, 36, + 45, 105, 665, 27, 723, 657, 310, 110, 26, 18, + 17, 118, 19, 297, 30, 3, 31, 435, 788, 20, + 729, 0, 0, 21, 22, 35, 37, 13, 23, 33, + 0, 0, 34, 12, 0, 24, 0, 29, 86, 87, + 10, 39, 40, 41, 0, 0, 0, 0, 51, 109, + 0, 102, 98, 99, 100, 95, 96, 0, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 0, 11, 101, + 97, 112, 0, 90, 91, 92, 0, 0, 0, 0, + 85, 53, 0, 0, 0, 74, 75, 25, 77, 78, + 0, 0, 0, 54, 55, 76, 63, 64, 65, 66, + 67, 68, 69, 0, 0, 0, 104, 73, 14, 629, + 32, 0, 60, 0, 52, 0, 0, 0, 57, 56, + 58, 59, 71, 106, 4, 0, 88, 89, 70, 47, + 93, 94, 36, 0, 105, 0, 27, 0, 0, 0, + 110, 26, 18, 17, 0, 19, 0, 30, 0, 31, + 0, 0, 20, 0, 0, 0, 21, 22, 35, 37, + 13, 23, 33, 0, 0, 34, 12, 0, 24, 0, + 29, 86, 87, 10, 39, 40, 41, 0, 0, 0, + 0, 51, 109, 0, 102, 98, 99, 100, 95, 96, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, + 0, 11, 101, 97, 112, 0, 90, 91, 92, 0, + 0, 0, 0, 85, 53, 0, 0, 0, 74, 75, + 25, 77, 78, 0, 0, 0, 54, 55, 76, 63, + 64, 65, 66, 67, 68, 69, 0, 0, 0, 104, + 73, 14, 539, 32, 0, 60, 0, 52, 0, 0, + 0, 57, 56, 58, 59, 71, 106, 4, 0, 88, + 89, 70, 47, 93, 94, 36, 0, 105, 0, 27, + 0, 0, 0, 110, 26, 18, 17, 0, 19, 0, + 30, 0, 31, 0, 0, 20, 0, 0, 0, 21, + 22, 35, 37, 13, 23, 33, 0, 0, 34, 12, + 0, 24, 0, 29, 86, 87, 10, 39, 40, 41, + 0, 0, 0, 0, 51, 109, 0, 102, 98, 99, + 100, 95, 96, 0, 0, 0, 0, 0, 0, 103, + 0, 0, 0, 0, 11, 101, 97, 112, 0, 90, + 91, 92, 0, 0, 0, 0, 85, 53, 0, 0, + 0, 74, 75, 25, 77, 78, 0, 0, 0, 54, + 55, 76, 63, 64, 65, 66, 67, 68, 69, 0, + 0, 0, 104, 73, 14, 0, 32, 0, 60, 0, + 52, 0, 0, 0, 57, 56, 58, 59, 71, 106, + 312, 0, 88, 89, 70, 47, 93, 94, 36, 0, + 105, 0, 27, 0, 0, 0, 110, 26, 18, 17, + 0, 19, 0, 30, 0, 31, 0, 0, 20, 0, + 0, 0, 21, 22, 35, 37, 0, 23, 33, 0, + 0, 34, 0, 0, 24, 0, 29, 86, 87, 318, + 39, 40, 41, 0, 0, 0, 0, 51, 109, 0, + 102, 98, 99, 100, 95, 96, 0, 0, 0, 0, + 0, 0, 103, 0, 0, 0, 0, 134, 101, 97, + 112, 0, 90, 91, 92, 0, 0, 0, 0, 85, + 53, 0, 0, 0, 74, 75, 25, 77, 78, 0, + 0, 0, 54, 55, 76, 63, 64, 65, 66, 67, + 68, 69, 0, 0, 0, 104, 73, 14, 932, 32, + 0, 60, 0, 52, 0, 0, 0, 57, 56, 58, + 59, 71, 106, 312, 0, 88, 89, 70, 47, 93, + 94, 36, 0, 105, 0, 27, 0, 0, 0, 110, + 26, 18, 17, 0, 19, 0, 30, 0, 31, 0, + 0, 20, 0, 0, 0, 21, 22, 35, 37, 0, + 23, 33, 0, 0, 34, 0, 0, 24, 0, 29, + 86, 87, 318, 39, 40, 41, 0, 0, 0, 0, + 51, 109, 0, 102, 98, 99, 100, 95, 96, 0, + 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, + 134, 101, 97, 112, 0, 90, 91, 92, 0, 0, + 0, 0, 85, 53, 0, 0, 0, 74, 75, 25, + 77, 78, 0, 0, 0, 54, 55, 76, 63, 64, + 65, 66, 67, 68, 69, 0, 0, 0, 104, 73, + 14, 925, 32, 0, 60, 0, 52, 0, 0, 0, + 57, 56, 58, 59, 71, 106, 312, 0, 88, 89, + 70, 47, 93, 94, 36, 0, 105, 0, 27, 0, + 0, 0, 110, 26, 18, 17, 0, 19, 0, 30, + 0, 31, 0, 0, 20, 0, 0, 0, 21, 22, + 35, 37, 0, 23, 33, 0, 0, 34, 0, 0, + 24, 0, 29, 86, 87, 318, 39, 40, 41, 0, + 0, 0, 0, 51, 109, 0, 102, 98, 99, 100, + 95, 96, 0, 0, 0, 0, 0, 0, 103, 0, + 0, 0, 0, 134, 101, 97, 112, 0, 90, 91, + 92, 0, 0, 0, 0, 85, 53, 0, 0, 0, + 74, 75, 25, 77, 78, 0, 0, 0, 54, 55, + 76, 63, 64, 65, 66, 67, 68, 69, 0, 0, + 0, 104, 73, 14, 921, 32, 0, 60, 0, 52, + 0, 0, 0, 57, 56, 58, 59, 71, 106, 312, + 0, 88, 89, 70, 47, 93, 94, 36, 0, 105, + 0, 27, 0, 0, 0, 110, 26, 18, 17, 0, + 19, 0, 30, 0, 31, 0, 0, 20, 0, 0, + 0, 21, 22, 35, 37, 0, 23, 33, 0, 0, + 34, 0, 0, 24, 0, 29, 86, 87, 318, 39, + 40, 41, 0, 0, 0, 0, 51, 109, 0, 102, + 98, 99, 100, 95, 96, 0, 0, 0, 0, 0, + 0, 103, 0, 0, 0, 0, 134, 101, 97, 112, + 0, 90, 91, 92, 0, 0, 0, 0, 85, 53, + 0, 0, 0, 74, 75, 25, 77, 78, 0, 0, + 0, 54, 55, 76, 63, 64, 65, 66, 67, 68, + 69, 0, 0, 0, 104, 73, 14, 911, 32, 0, + 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, + 71, 106, 312, 0, 88, 89, 70, 47, 93, 94, + 36, 0, 105, 0, 27, 0, 0, 0, 110, 26, + 18, 17, 0, 19, 0, 30, 0, 31, 0, 0, + 20, 0, 0, 0, 21, 22, 35, 37, 0, 23, + 33, 0, 0, 34, 0, 0, 24, 0, 29, 86, + 87, 318, 39, 40, 41, 0, 0, 0, 0, 51, + 109, 0, 102, 98, 99, 100, 95, 96, 0, 0, + 0, 0, 0, 0, 103, 0, 0, 0, 0, 134, + 101, 97, 112, 0, 90, 91, 92, 0, 0, 0, + 0, 85, 53, 0, 0, 0, 74, 75, 25, 77, + 78, 0, 0, 0, 54, 55, 76, 63, 64, 65, + 66, 67, 68, 69, 0, 0, 0, 104, 73, 14, + 910, 32, 0, 60, 0, 52, 0, 0, 0, 57, + 56, 58, 59, 71, 106, 312, 0, 88, 89, 70, + 47, 93, 94, 36, 0, 105, 0, 27, 0, 0, + 0, 110, 26, 18, 17, 0, 19, 907, 30, 0, + 31, 0, 0, 20, 0, 0, 0, 21, 22, 35, + 37, 0, 23, 33, 0, 0, 34, 0, 0, 24, + 0, 29, 86, 87, 318, 39, 40, 41, 0, 0, + 0, 0, 51, 109, 0, 102, 98, 99, 100, 95, + 96, 0, 0, 0, 0, 0, 0, 103, 0, 0, + 0, 0, 134, 101, 97, 112, 0, 90, 91, 92, + 0, 0, 0, 0, 85, 53, 0, 0, 0, 74, + 75, 25, 77, 78, 0, 0, 0, 54, 55, 76, + 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, + 104, 73, 14, 0, 32, 0, 60, 0, 52, 0, + 0, 0, 57, 56, 58, 59, 71, 106, 312, 0, + 88, 89, 70, 47, 93, 94, 36, 0, 105, 0, + 27, 0, 0, 0, 110, 26, 18, 17, 0, 19, + 0, 30, 0, 31, 0, 0, 20, 0, 0, 0, + 21, 22, 35, 37, 0, 23, 33, 0, 0, 34, + 0, 0, 24, 0, 29, 86, 87, 318, 39, 40, + 41, 0, 0, 0, 0, 51, 109, 0, 102, 98, + 99, 100, 95, 96, 0, 0, 0, 0, 0, 0, + 103, 0, 0, 0, 0, 134, 101, 97, 112, 0, + 90, 91, 92, 0, 0, 0, 0, 85, 53, 0, + 0, 0, 74, 75, 25, 77, 78, 0, 0, 0, + 54, 55, 76, 63, 64, 65, 66, 67, 68, 69, + 0, 0, 0, 104, 73, 14, 856, 32, 0, 60, + 0, 52, 0, 0, 0, 57, 56, 58, 59, 71, + 106, 312, 0, 88, 89, 70, 47, 93, 94, 36, + 0, 105, 0, 27, 0, 0, 0, 110, 26, 18, + 17, 0, 19, 0, 30, 852, 31, 0, 0, 20, + 0, 0, 0, 21, 22, 35, 37, 0, 23, 33, + 0, 0, 34, 0, 0, 24, 0, 29, 86, 87, + 318, 39, 40, 41, 0, 0, 0, 0, 51, 109, + 0, 102, 98, 99, 100, 95, 96, 0, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 0, 134, 101, + 97, 112, 0, 90, 91, 92, 0, 0, 0, 0, + 85, 53, 0, 0, 0, 74, 75, 25, 77, 78, + 0, 0, 0, 54, 55, 76, 63, 64, 65, 66, + 67, 68, 69, 0, 0, 0, 104, 73, 14, 0, + 32, 0, 60, 0, 52, 0, 0, 0, 57, 56, + 58, 59, 71, 106, 312, 0, 88, 89, 70, 47, + 93, 94, 36, 0, 105, 0, 27, 0, 0, 0, + 110, 26, 18, 17, 0, 19, 0, 30, 0, 31, + 781, 0, 20, 0, 0, 0, 21, 22, 35, 37, + 0, 23, 33, 0, 0, 34, 0, 0, 24, 0, + 29, 86, 87, 318, 39, 40, 41, 0, 0, 0, + 0, 51, 109, 0, 102, 98, 99, 100, 95, 96, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, + 0, 134, 101, 97, 112, 0, 90, 91, 92, 0, + 0, 0, 0, 85, 53, 0, 0, 0, 74, 75, + 25, 77, 78, 0, 0, 0, 54, 55, 76, 63, + 64, 65, 66, 67, 68, 69, 0, 0, 0, 104, + 73, 14, 0, 32, 0, 60, 0, 52, 0, 0, + 0, 57, 56, 58, 59, 71, 106, 312, 0, 88, + 89, 70, 47, 93, 94, 36, 0, 105, 0, 27, + 0, 0, 0, 110, 26, 18, 17, 764, 19, 0, + 30, 0, 31, 0, 0, 20, 0, 0, 0, 21, + 22, 35, 37, 0, 23, 33, 0, 0, 34, 0, + 0, 24, 0, 29, 86, 87, 318, 39, 40, 41, + 0, 0, 0, 0, 51, 109, 0, 102, 98, 99, + 100, 95, 96, 0, 0, 0, 0, 0, 0, 103, + 0, 0, 0, 0, 134, 101, 97, 112, 0, 90, + 91, 92, 0, 0, 0, 0, 85, 53, 0, 0, + 0, 74, 75, 25, 77, 78, 0, 0, 0, 54, + 55, 76, 63, 64, 65, 66, 67, 68, 69, 0, + 0, 0, 104, 73, 14, 0, 32, 0, 60, 0, + 52, 0, 0, 0, 57, 56, 58, 59, 71, 106, + 312, 0, 88, 89, 70, 47, 93, 94, 36, 0, + 105, 0, 27, 0, 0, 0, 110, 26, 18, 17, + 0, 19, 0, 30, 0, 31, 0, 0, 20, 0, + 0, 0, 21, 22, 35, 37, 0, 23, 33, 0, + 0, 34, 0, 0, 24, 0, 29, 86, 87, 318, + 39, 40, 41, 0, 0, 0, 0, 51, 109, 0, + 102, 98, 99, 100, 95, 96, 0, 0, 0, 0, + 0, 0, 103, 0, 0, 0, 0, 134, 101, 97, + 112, 0, 90, 91, 92, 0, 0, 0, 0, 85, + 53, 0, 0, 680, 74, 75, 25, 77, 78, 0, + 0, 0, 54, 55, 76, 63, 64, 65, 66, 67, + 68, 69, 0, 0, 0, 104, 73, 14, 0, 32, + 0, 60, 0, 52, 0, 0, 0, 57, 56, 58, + 59, 71, 106, 312, 0, 88, 89, 70, 47, 93, + 94, 36, 0, 105, 0, 27, 0, 0, 0, 110, + 26, 18, 17, 0, 19, 0, 30, 0, 31, 0, + 0, 20, 0, 0, 0, 21, 22, 35, 37, 0, + 23, 33, 0, 0, 34, 0, 0, 24, 0, 29, + 86, 87, 318, 39, 40, 41, 0, 0, 0, 0, + 51, 109, 0, 102, 98, 99, 100, 95, 96, 0, + 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, + 134, 101, 97, 112, 0, 90, 91, 92, 0, 0, + 0, 0, 85, 53, 0, 0, 0, 74, 75, 25, + 77, 78, 0, 0, 0, 54, 55, 76, 63, 64, + 65, 66, 67, 68, 69, 0, 0, 0, 104, 73, + 14, 569, 32, 0, 60, 0, 52, 0, 0, 0, + 57, 56, 58, 59, 71, 106, 312, 0, 88, 89, + 70, 47, 93, 94, 36, 0, 105, 0, 27, 0, + 0, 0, 110, 26, 18, 17, 0, 19, 0, 30, + 0, 31, 0, 0, 20, 0, 0, 0, 21, 22, + 35, 37, 0, 23, 33, 0, 0, 34, 0, 0, + 24, 0, 29, 86, 87, 318, 39, 40, 41, 0, + 0, 0, 0, 51, 109, 0, 102, 98, 99, 100, + 95, 96, 0, 0, 0, 0, 0, 0, 103, 0, + 0, 0, 0, 134, 101, 97, 112, 0, 90, 91, + 92, 0, 0, 0, 0, 85, 53, 0, 0, 0, + 74, 75, 25, 77, 78, 0, 0, 0, 54, 55, + 76, 63, 64, 65, 66, 67, 68, 69, 0, 0, + 0, 104, 73, 14, 311, 32, 0, 60, 0, 52, + 0, 0, 0, 57, 56, 58, 59, 71, 106, 312, + 0, 88, 89, 70, 47, 93, 94, 36, 0, 105, + 0, 27, 0, 0, 0, 110, 26, 18, 17, 0, + 19, 0, 30, 0, 31, 0, 0, 20, 0, 0, + 0, 21, 22, 35, 37, 0, 23, 33, 0, 0, + 34, 0, 0, 24, 0, 29, 86, 87, 318, 39, + 40, 41, 0, 0, 0, 0, 51, 109, 0, 102, + 98, 99, 100, 95, 96, 0, 0, 0, 0, 0, + 0, 103, 0, 0, 0, 0, 134, 101, 97, 112, + 0, 90, 91, 92, 0, 0, 0, 0, 85, 53, + 0, 0, 0, 74, 75, 25, 77, 78, 0, 0, + 0, 54, 55, 76, 63, 64, 65, 66, 67, 68, + 69, 0, 0, 0, 104, 73, 14, 0, 32, 0, + 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, + 71, 106, 443, 444, 454, 455, 0, 0, 434, 0, + 105, 0, 0, 0, 0, 0, 0, 459, 460, 461, + 462, 463, 464, 465, 466, 467, 468, 469, 489, 490, + 491, 492, 493, 481, 482, 483, 484, 485, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 0, + 501, 499, 500, 496, 497, 0, 0, 488, 494, 495, + 502, 503, 505, 504, 506, 507, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 498, 509, 508, + 0, 0, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 456, 457, 458, 486, 487, 437, 438, 439, 440, + 441, 442, 0, 0, 88, 89, 70, 47, 93, 94, + 36, 0, 105, 0, 27, 0, 0, 433, 110, 26, + 18, 17, 0, 19, 0, 30, 0, 31, 0, 0, + 20, 0, 106, 0, 21, 22, 35, 133, 0, 23, + 33, 0, 0, 34, 0, 0, 24, 0, 29, 86, + 87, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 109, 0, 102, 98, 99, 100, 95, 96, 0, 0, + 0, 0, 0, 0, 103, 0, 0, 0, 0, 134, + 101, 97, 112, 0, 90, 91, 92, 0, 0, 0, + 0, 85, 53, 0, 0, 0, 74, 75, 25, 0, + 0, 0, 0, 0, 54, 55, 76, 63, 64, 65, + 66, 67, 68, 69, 0, 0, 0, 104, 73, 14, + 0, 32, 776, 60, 0, 52, 0, 0, 0, 57, + 56, 58, 59, 71, 106, 88, 89, 70, 47, 93, + 94, 36, 0, 105, 0, 27, 0, 0, 0, 110, + 26, 18, 17, 0, 19, 0, 30, 0, 31, 0, + 0, 20, 0, 0, 0, 21, 22, 35, 133, 0, + 23, 33, 0, 0, 34, 0, 0, 24, 0, 29, + 86, 87, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 109, 0, 102, 98, 99, 100, 95, 96, 0, + 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, + 134, 101, 97, 112, 0, 90, 91, 92, 0, 0, + 0, 0, 85, 53, 0, 0, 0, 74, 75, 25, + 0, 0, 0, 0, 0, 54, 55, 76, 63, 64, + 65, 66, 67, 68, 69, 0, 0, 0, 104, 73, + 14, 0, 32, 847, 60, 0, 52, 0, 0, 0, + 57, 56, 58, 59, 71, 106, 88, 89, 70, 47, + 93, 94, 36, 0, 105, 0, 27, 0, 0, 0, + 110, 26, 18, 17, 0, 19, 0, 30, 0, 31, + 0, 0, 20, 0, 0, 0, 21, 22, 35, 133, + 0, 23, 33, 0, 0, 34, 0, 0, 24, 0, + 29, 86, 87, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 109, 0, 102, 98, 99, 100, 95, 96, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, + 0, 134, 101, 97, 112, 0, 90, 91, 92, 0, + 0, 0, 0, 85, 53, 0, 0, 0, 74, 75, + 25, 0, 0, 0, 0, 0, 54, 55, 76, 63, + 64, 65, 66, 67, 68, 69, 0, 0, 0, 104, + 73, 14, 0, 32, 682, 60, 0, 52, 0, 0, + 0, 57, 56, 58, 59, 71, 106, 88, 89, 70, + 47, 93, 94, 36, 0, 105, 0, 27, 0, 0, + 0, 110, 26, 18, 17, 0, 19, 0, 30, 0, + 31, 0, 0, 20, 0, 0, 0, 21, 22, 35, + 133, 0, 23, 33, 0, 0, 34, 0, 0, 24, + 0, 29, 86, 87, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 109, 0, 102, 98, 99, 100, 95, + 96, 0, 0, 0, 0, 0, 0, 103, 0, 0, + 0, 0, 134, 101, 97, 112, 0, 90, 91, 92, + 0, 0, 0, 0, 85, 53, 0, 0, 0, 74, + 75, 25, 0, 0, 0, 0, 0, 54, 55, 76, + 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, + 104, 73, 14, 0, 32, 659, 60, 0, 52, 0, + 0, 0, 57, 56, 58, 59, 71, 106, 88, 89, + 70, 47, 93, 94, 36, 0, 105, 0, 27, 0, + 0, 0, 110, 26, 18, 17, 0, 19, 0, 30, + 0, 31, 0, 0, 20, 0, 0, 0, 21, 22, + 35, 133, 0, 23, 33, 0, 0, 34, 0, 0, + 24, 0, 29, 86, 87, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 109, 0, 102, 98, 99, 100, + 95, 96, 0, 0, 0, 0, 0, 0, 103, 0, + 0, 0, 0, 134, 101, 97, 112, 0, 90, 91, + 92, 0, 0, 0, 0, 85, 53, 0, 0, 0, + 74, 75, 25, 0, 0, 0, 0, 0, 54, 55, + 76, 63, 64, 65, 66, 67, 68, 69, 0, 0, + 0, 104, 73, 14, 0, 32, 641, 60, 0, 52, + 0, 0, 0, 57, 56, 58, 59, 71, 106, 88, + 89, 70, 47, 93, 94, 36, 0, 105, 0, 27, + 0, 0, 0, 110, 26, 18, 17, 0, 19, 0, + 30, 0, 31, 0, 0, 20, 0, 0, 0, 21, + 22, 35, 133, 0, 23, 33, 0, 0, 34, 0, + 0, 24, 0, 29, 86, 87, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 109, 0, 102, 98, 99, + 100, 95, 96, 0, 0, 0, 0, 0, 0, 103, + 0, 179, 0, 0, 134, 101, 97, 112, 0, 90, + 91, 92, 0, 0, 0, 0, 85, 53, 0, 0, + 0, 74, 75, 25, 0, 0, 178, 0, 0, 54, + 55, 76, 63, 64, 65, 66, 67, 68, 69, 159, + 163, 162, 104, 73, 14, 0, 32, 0, 60, 0, + 52, 0, 0, 0, 57, 56, 58, 59, 71, 106, + 155, 157, 156, 179, 172, 173, 170, 171, 174, 175, + 176, 177, 168, 169, 161, 164, 166, 167, 165, 0, + 0, 0, 0, 0, 0, 0, 0, 181, 178, 738, + 0, 0, 740, 0, 813, 812, 0, 0, 0, 0, + 180, 159, 163, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 157, 156, 179, 0, 0, + 0, 0, 153, 154, 158, 160, 172, 173, 170, 171, + 174, 175, 176, 177, 168, 169, 161, 164, 166, 167, + 165, 181, 178, 745, 746, 747, 744, 743, 742, 0, + 0, 0, 0, 756, 180, 159, 163, 162, 0, 0, + 0, 0, 0, 0, 0, 799, 0, 0, 155, 157, + 156, 179, 0, 0, 0, 0, 153, 154, 158, 160, + 172, 173, 170, 171, 174, 175, 176, 177, 168, 169, + 161, 164, 166, 167, 165, 181, 178, 0, 0, 0, + 0, 0, 0, 0, 0, 709, 0, 0, 180, 159, + 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 157, 156, 179, 0, 0, 0, 0, + 153, 154, 158, 160, 172, 173, 170, 171, 174, 175, + 176, 177, 168, 169, 161, 164, 166, 167, 165, 181, + 178, 0, 0, 0, 0, 694, 0, 0, 0, 0, + 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 155, 157, 156, 179, + 0, 0, 0, 0, 153, 154, 158, 160, 172, 173, + 170, 171, 174, 175, 176, 177, 168, 169, 161, 164, + 166, 167, 165, 181, 178, 0, 0, 0, 0, 692, + 0, 0, 0, 0, 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 154, 156, 155, 178, 152, 153, 157, 159, 171, - 172, 169, 170, 173, 174, 175, 176, 167, 168, 160, - 163, 165, 166, 164, 0, 0, 0, 0, 180, 177, + 155, 157, 156, 179, 0, 0, 0, 0, 153, 154, + 158, 160, 172, 173, 170, 171, 174, 175, 176, 177, + 168, 169, 161, 164, 166, 167, 165, 181, 178, 738, + 0, 0, 740, 683, 0, 0, 0, 0, 0, 0, + 180, 159, 163, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 157, 156, 179, 0, 0, + 0, 0, 153, 154, 158, 160, 172, 173, 170, 171, + 174, 175, 176, 177, 168, 169, 161, 164, 166, 167, + 165, 181, 178, 745, 746, 747, 744, 743, 742, 0, + 0, 679, 0, 0, 180, 159, 163, 162, 0, 0, + 0, 0, 0, 0, 0, 734, 0, 0, 155, 157, + 156, 179, 0, 0, 0, 0, 153, 154, 158, 160, + 172, 173, 170, 171, 174, 175, 176, 177, 168, 169, + 161, 164, 166, 167, 165, 181, 178, 0, 0, 0, + 0, 0, 0, 0, 0, 678, 0, 0, 180, 159, + 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 157, 156, 179, 0, 0, 0, 0, + 153, 154, 158, 160, 172, 173, 170, 171, 174, 175, + 176, 177, 168, 169, 161, 164, 166, 167, 165, 181, + 178, 0, 0, 0, 0, 624, 0, 0, 0, 0, + 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 155, 157, 156, 179, + 0, 0, 0, 0, 153, 154, 158, 160, 172, 173, + 170, 171, 174, 175, 176, 177, 168, 169, 161, 164, + 166, 167, 165, 181, 178, 0, 0, 0, 0, 0, + 0, 0, 0, 623, 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 179, 158, 162, 161, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 154, 156, 155, 178, 0, - 0, 0, 0, 152, 153, 157, 159, 171, 172, 169, - 170, 173, 174, 175, 176, 167, 168, 160, 163, 165, - 166, 164, 180, 177, 0, 0, 0, 0, 0, 371, - 0, 0, 0, 0, 0, 179, 158, 162, 161, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, - 156, 155, 178, 0, 0, 0, 0, 152, 153, 157, - 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, - 168, 160, 163, 165, 166, 164, 180, 177, 0, 0, - 0, 0, 0, 151, 0, 0, 0, 0, 0, 179, - 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 154, 156, 155, 178, 0, 0, 0, - 0, 152, 153, 157, 159, 171, 172, 169, 170, 173, - 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, - 180, 177, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 179, 158, 162, 161, 0, 0, 0, + 155, 157, 156, 179, 0, 0, 0, 0, 153, 154, + 158, 160, 172, 173, 170, 171, 174, 175, 176, 177, + 168, 169, 161, 164, 166, 167, 165, 181, 178, 0, + 0, 0, 0, 0, 0, 0, 0, 622, 0, 0, + 180, 159, 163, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 157, 156, 179, 0, 0, + 0, 0, 153, 154, 158, 160, 172, 173, 170, 171, + 174, 175, 176, 177, 168, 169, 161, 164, 166, 167, + 165, 181, 178, 0, 0, 0, 0, 605, 0, 0, + 0, 0, 0, 0, 180, 159, 163, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 155, 157, + 156, 179, 0, 0, 0, 0, 153, 154, 158, 160, + 172, 173, 170, 171, 174, 175, 176, 177, 168, 169, + 161, 164, 166, 167, 165, 181, 178, 0, 0, 0, + 0, 0, 0, 0, 0, 596, 0, 0, 180, 159, + 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 157, 156, 179, 0, 0, 0, 0, + 153, 154, 158, 160, 172, 173, 170, 171, 174, 175, + 176, 177, 168, 169, 161, 164, 166, 167, 165, 181, + 178, 0, 0, 0, 0, 586, 0, 0, 0, 0, + 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, + 0, 0, 567, 0, 0, 0, 155, 157, 156, 179, + 0, 0, 0, 0, 153, 154, 158, 160, 172, 173, + 170, 171, 174, 175, 176, 177, 168, 169, 161, 164, + 166, 167, 165, 181, 178, 0, 0, 0, 0, 0, + 0, 0, 0, 584, 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 152, 153, 157, 159, 171, - 172, 169, 170, 173, 174, 175, 176, 167, 168, 160, - 163, 165, 166, 164, 441, 442, 452, 453, 0, 0, - 880, 0, 0, 0, 0, 0, 0, 0, 0, 457, - 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 487, 488, 489, 490, 491, 479, 480, 481, 482, 483, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 499, 497, 498, 494, 495, 0, 0, 486, - 492, 493, 500, 501, 503, 502, 504, 505, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 879, - 507, 506, 111, 0, 443, 444, 445, 446, 447, 448, - 449, 450, 451, 454, 455, 456, 484, 485, 435, 436, - 437, 438, 439, 440, 0, 0, 441, 442, 452, 453, - 0, 0, 880, 0, 0, 0, 0, 0, 0, 0, - 898, 457, 458, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 487, 488, 489, 490, 491, 479, 480, 481, - 482, 483, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 499, 497, 498, 494, 495, 0, - 0, 486, 492, 493, 500, 501, 503, 502, 504, 505, - 0, 0, 0, 0, 0, 0, 213, 214, 0, 0, - 0, 879, 507, 506, 111, 0, 443, 444, 445, 446, - 447, 448, 449, 450, 451, 454, 455, 456, 484, 485, - 435, 436, 437, 438, 439, 440, 155, 178, 200, 201, - 202, 203, 205, 206, 207, 208, 209, 210, 211, 212, - 204, 0, 870, 0, 0, 0, 0, 0, 0, 426, - 0, 180, 177, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 179, 158, 162, 161, 0, 0, + 155, 157, 156, 179, 0, 0, 0, 0, 153, 154, + 158, 160, 172, 173, 170, 171, 174, 175, 176, 177, + 168, 169, 161, 164, 166, 167, 165, 181, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 178, 0, 0, 0, 0, 152, 153, 157, 159, - 171, 172, 169, 170, 173, 174, 175, 176, 167, 168, - 160, 163, 165, 166, 164, 180, 177, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 179, 158, - 162, 161, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 178, 0, 0, 0, 0, - 152, 153, 157, 159, 171, 172, 169, 170, 173, 174, - 175, 176, 167, 168, 160, 163, 165, 166, 164, 180, - 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 179, 158, 162, 161, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, - 0, 0, 0, 0, 152, 153, 157, 159, 171, 172, - 169, 170, 173, 174, 175, 176, 167, 168, 160, 163, - 165, 166, 164, 180, 177, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 158, 162, 161, + 180, 159, 163, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 157, 156, 179, 0, 0, + 0, 0, 153, 154, 158, 160, 172, 173, 170, 171, + 174, 175, 176, 177, 168, 169, 161, 164, 166, 167, + 165, 181, 178, 0, 0, 0, 0, 0, 0, 563, + 0, 0, 0, 0, 180, 159, 163, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 155, 157, + 156, 179, 0, 0, 0, 0, 153, 154, 158, 160, + 172, 173, 170, 171, 174, 175, 176, 177, 168, 169, + 161, 164, 166, 167, 165, 181, 178, 0, 0, 0, + 0, 0, 0, 0, 0, 557, 0, 0, 180, 159, + 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 157, 156, 179, 0, 0, 0, 0, + 153, 154, 158, 160, 172, 173, 170, 171, 174, 175, + 176, 177, 168, 169, 161, 164, 166, 167, 165, 181, + 178, 0, 0, 0, 0, 0, 0, 0, 0, 553, + 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 155, 157, 156, 179, + 0, 0, 0, 0, 153, 154, 158, 160, 172, 173, + 170, 171, 174, 175, 176, 177, 168, 169, 161, 164, + 166, 167, 165, 181, 178, 412, 0, 0, 0, 0, + 0, 0, 0, 417, 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 0, 0, 0, 0, 0, 152, 153, - 157, 159, 171, 172, 169, 170, 173, 174, 175, 176, - 167, 168, 160, 163, 165, 166, 164, 177, 0, 0, + 0, 0, 0, 0, 155, 157, 156, 179, 153, 154, + 158, 160, 172, 173, 170, 171, 174, 175, 176, 177, + 168, 169, 161, 164, 166, 167, 165, 0, 0, 0, + 0, 181, 178, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 180, 159, 163, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 155, 157, + 156, 179, 0, 0, 0, 0, 153, 154, 158, 160, + 172, 173, 170, 171, 174, 175, 176, 177, 168, 169, + 161, 164, 166, 167, 165, 181, 178, 0, 0, 0, + 0, 0, 373, 0, 0, 0, 0, 0, 180, 159, + 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 157, 156, 179, 0, 0, 0, 0, + 153, 154, 158, 160, 172, 173, 170, 171, 174, 175, + 176, 177, 168, 169, 161, 164, 166, 167, 165, 181, + 178, 0, 0, 0, 0, 0, 152, 0, 0, 0, + 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 155, 157, 156, 179, + 0, 0, 0, 0, 153, 154, 158, 160, 172, 173, + 170, 171, 174, 175, 176, 177, 168, 169, 161, 164, + 166, 167, 165, 181, 178, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 158, 162, 161, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 178, 0, 0, 0, 0, - 0, 0, 153, 157, 159, 171, 172, 169, 170, 173, - 174, 175, 176, 167, 168, 160, 163, 165, 166, 164, - 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 158, 162, 161, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, - 0, 0, 0, 0, 0, 0, 157, 159, 171, 172, - 169, 170, 173, 174, 175, 176, 167, 168, 160, 163, - 165, 166, 164, 177, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 158, 162, 161, 0, - 0, 0, 0, 87, 88, 69, 0, 92, 93, 116, - 0, 104, 0, 0, 0, 0, 0, 109, 0, 0, - 159, 171, 172, 169, 170, 173, 174, 175, 176, 167, - 168, 160, 163, 165, 166, 164, 132, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 108, - 0, 101, 97, 98, 99, 94, 95, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 0, 133, 100, - 96, 111, 532, 89, 90, 91, 0, 0, 0, 0, - 84, 52, 0, 0, 0, 73, 74, 138, 0, 0, - 0, 0, 0, 53, 54, 75, 62, 63, 64, 65, - 66, 67, 68, 0, 0, 0, 103, 72, 0, 0, - 0, 0, 59, 528, 51, 0, 0, 0, 56, 55, - 57, 58, 70, 105, 87, 88, 69, 0, 92, 93, - 116, 0, 104, 0, 0, 0, 0, 0, 109, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 153, 154, + 158, 160, 172, 173, 170, 171, 174, 175, 176, 177, + 168, 169, 161, 164, 166, 167, 165, 443, 444, 454, + 455, 0, 0, 882, 0, 0, 0, 0, 0, 0, + 0, 0, 459, 460, 461, 462, 463, 464, 465, 466, + 467, 468, 469, 489, 490, 491, 492, 493, 481, 482, + 483, 484, 485, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 0, 501, 499, 500, 496, 497, + 0, 0, 488, 494, 495, 502, 503, 505, 504, 506, + 507, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 881, 509, 508, 112, 0, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 456, 457, 458, 486, + 487, 437, 438, 439, 440, 441, 442, 0, 0, 443, + 444, 454, 455, 0, 0, 882, 0, 0, 0, 0, + 0, 0, 0, 900, 459, 460, 461, 462, 463, 464, + 465, 466, 467, 468, 469, 489, 490, 491, 492, 493, + 481, 482, 483, 484, 485, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 0, 501, 499, 500, + 496, 497, 0, 0, 488, 494, 495, 502, 503, 505, + 504, 506, 507, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 881, 509, 508, 112, 0, 445, + 446, 447, 448, 449, 450, 451, 452, 453, 456, 457, + 458, 486, 487, 437, 438, 439, 440, 441, 442, 156, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 872, 0, 0, 0, 0, + 0, 0, 428, 0, 181, 178, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 180, 159, 163, + 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 179, 0, 0, 0, 0, 153, + 154, 158, 160, 172, 173, 170, 171, 174, 175, 176, + 177, 168, 169, 161, 164, 166, 167, 165, 181, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 86, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 108, 0, 101, 97, 98, 99, 94, 95, 0, 0, - 0, 0, 0, 0, 102, 0, 0, 0, 0, 133, - 100, 96, 111, 0, 89, 90, 91, 0, 0, 0, - 0, 84, 52, 0, 0, 0, 73, 74, 138, 0, - 0, 0, 0, 0, 53, 54, 75, 62, 63, 64, - 65, 66, 67, 68, 0, 0, 0, 103, 72, 0, - 0, 0, 0, 59, 0, 51, 0, 0, 225, 56, - 55, 57, 58, 70, 105, 87, 88, 69, 0, 92, - 93, 116, 0, 104, 0, 0, 0, 0, 0, 109, + 0, 180, 159, 163, 162, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, + 0, 0, 0, 153, 154, 158, 160, 172, 173, 170, + 171, 174, 175, 176, 177, 168, 169, 161, 164, 166, + 167, 165, 181, 178, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 180, 159, 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, + 0, 0, 179, 0, 0, 0, 0, 153, 154, 158, + 160, 172, 173, 170, 171, 174, 175, 176, 177, 168, + 169, 161, 164, 166, 167, 165, 181, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, - 50, 108, 0, 101, 97, 98, 99, 94, 95, 0, - 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 133, 100, 96, 111, 532, 89, 90, 91, 0, 0, - 0, 0, 84, 52, 0, 0, 0, 73, 74, 138, - 0, 0, 0, 0, 0, 53, 54, 75, 62, 63, - 64, 65, 66, 67, 68, 0, 0, 0, 103, 72, - 0, 0, 0, 0, 59, 0, 51, 0, 0, 0, - 56, 55, 57, 58, 70, 105, 87, 88, 69, 0, - 92, 93, 116, 0, 104, 0, 0, 0, 0, 0, - 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, + 159, 163, 162, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, + 0, 153, 154, 158, 160, 172, 173, 170, 171, 174, + 175, 176, 177, 168, 169, 161, 164, 166, 167, 165, + 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 159, 163, 162, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, + 0, 0, 0, 0, 0, 154, 158, 160, 172, 173, + 170, 171, 174, 175, 176, 177, 168, 169, 161, 164, + 166, 167, 165, 178, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 159, 163, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 85, 86, 0, 0, 0, 0, 0, 0, 0, - 0, 592, 108, 0, 101, 97, 98, 99, 94, 95, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, - 0, 133, 100, 96, 111, 0, 89, 90, 91, 0, - 0, 0, 0, 84, 52, 0, 0, 0, 73, 74, - 138, 0, 0, 0, 0, 0, 53, 54, 75, 62, - 63, 64, 65, 66, 67, 68, 0, 0, 0, 103, - 72, 0, 0, 0, 0, 59, 0, 51, 0, 0, - 591, 56, 55, 57, 58, 70, 105, 87, 88, 69, - 0, 92, 93, 116, 424, 104, 0, 0, 0, 0, - 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 179, 0, 0, 0, 0, 0, 0, 0, 158, + 160, 172, 173, 170, 171, 174, 175, 176, 177, 168, + 169, 161, 164, 166, 167, 165, 178, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, + 163, 162, 0, 0, 0, 0, 88, 89, 70, 0, + 93, 94, 117, 0, 105, 0, 0, 0, 0, 0, + 110, 0, 0, 160, 172, 173, 170, 171, 174, 175, + 176, 177, 168, 169, 161, 164, 166, 167, 165, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 85, 86, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 108, 0, 101, 97, 98, 99, 94, - 95, 0, 0, 0, 0, 0, 0, 102, 0, 0, - 0, 0, 133, 100, 96, 111, 0, 89, 90, 91, - 0, 0, 0, 0, 84, 52, 0, 0, 0, 73, - 74, 138, 0, 0, 0, 0, 0, 53, 54, 75, - 62, 63, 64, 65, 66, 67, 68, 0, 0, 0, - 103, 72, 0, 0, 0, 0, 59, 0, 51, 0, - 0, 0, 56, 55, 57, 58, 70, 105, 87, 88, - 69, 0, 92, 93, 116, 0, 104, 0, 0, 0, - 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, + 0, 86, 87, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 109, 0, 102, 98, 99, 100, 95, 96, + 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, + 0, 134, 101, 97, 112, 534, 90, 91, 92, 0, + 0, 0, 0, 85, 53, 0, 0, 0, 74, 75, + 139, 0, 0, 0, 0, 0, 54, 55, 76, 63, + 64, 65, 66, 67, 68, 69, 0, 0, 0, 104, + 73, 0, 0, 0, 0, 60, 530, 52, 0, 0, + 0, 57, 56, 58, 59, 71, 106, 88, 89, 70, + 0, 93, 94, 117, 0, 105, 0, 0, 0, 0, + 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 85, 86, 0, 0, 0, 0, 0, - 0, 0, 0, 50, 108, 0, 101, 97, 98, 99, - 94, 95, 0, 0, 0, 0, 0, 0, 102, 0, - 0, 0, 0, 133, 100, 96, 111, 0, 89, 90, - 91, 0, 0, 0, 0, 84, 52, 0, 0, 0, - 73, 74, 138, 0, 0, 0, 0, 0, 53, 54, - 75, 62, 63, 64, 65, 66, 67, 68, 0, 0, - 0, 103, 72, 0, 0, 0, 0, 59, 0, 51, - 0, 0, 387, 56, 55, 57, 58, 70, 105, 87, - 88, 69, 0, 92, 93, 116, 0, 104, 0, 0, - 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, + 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 86, 87, 0, 0, 0, 0, 0, 0, + 0, 0, 227, 109, 0, 102, 98, 99, 100, 95, + 96, 0, 0, 0, 0, 0, 0, 103, 0, 0, + 0, 0, 134, 101, 97, 112, 0, 90, 91, 92, + 0, 0, 0, 0, 85, 53, 0, 0, 0, 74, + 75, 139, 0, 0, 0, 0, 0, 54, 55, 76, + 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, + 104, 73, 0, 0, 0, 0, 60, 0, 52, 0, + 0, 226, 57, 56, 58, 59, 71, 106, 88, 89, + 70, 0, 93, 94, 117, 0, 105, 0, 0, 0, + 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 86, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 108, 0, 101, 97, 98, - 99, 94, 95, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 133, 100, 96, 111, 0, 89, - 90, 91, 0, 0, 0, 0, 84, 52, 0, 0, - 0, 73, 74, 138, 0, 0, 0, 0, 0, 53, - 54, 75, 62, 63, 64, 65, 66, 67, 68, 0, - 0, 0, 103, 72, 0, 0, 0, 363, 59, 0, - 51, 0, 0, 0, 56, 55, 57, 58, 70, 105, - 87, 88, 69, 0, 92, 93, 116, 0, 104, 0, - 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 86, 87, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 109, 0, 102, 98, 99, 100, + 95, 96, 0, 0, 0, 0, 0, 0, 103, 0, + 0, 0, 0, 134, 101, 97, 112, 534, 90, 91, + 92, 0, 0, 0, 0, 85, 53, 0, 0, 0, + 74, 75, 139, 0, 0, 0, 0, 0, 54, 55, + 76, 63, 64, 65, 66, 67, 68, 69, 0, 0, + 0, 104, 73, 0, 0, 0, 0, 60, 0, 52, + 0, 0, 0, 57, 56, 58, 59, 71, 106, 88, + 89, 70, 0, 93, 94, 117, 0, 105, 0, 0, + 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 85, 86, 0, 0, 0, - 0, 0, 0, 0, 0, 50, 108, 0, 101, 97, - 98, 99, 94, 95, 0, 0, 0, 0, 0, 0, - 102, 178, 0, 0, 0, 133, 100, 96, 111, 0, - 89, 90, 91, 0, 0, 0, 0, 84, 52, 0, - 0, 0, 73, 74, 138, 0, 177, 0, 0, 0, - 53, 54, 75, 62, 63, 64, 65, 66, 67, 68, - 162, 161, 0, 103, 72, 0, 0, 0, 0, 59, - 0, 51, 0, 0, 0, 56, 55, 57, 58, 70, - 105, 0, 0, 0, 171, 172, 169, 170, 173, 174, - 175, 176, 167, 168, 160, 163, 165, 166, 164, 441, - 442, 452, 453, 0, 0, 432, 0, 0, 0, 0, - 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, - 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, - 494, 495, 0, 0, 486, 492, 493, 500, 501, 503, - 502, 504, 505, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 496, 507, 506, 0, 0, 443, - 444, 445, 446, 447, 448, 449, 450, 451, 454, 455, - 456, 484, 485, 435, 436, 437, 438, 439, 440, 441, - 442, 452, 453, 0, 0, 914, 0, 0, 0, 0, - 0, 0, 0, 0, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 487, 488, 489, 490, 491, - 479, 480, 481, 482, 483, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 0, 499, 497, 498, - 494, 495, 0, 0, 486, 492, 493, 500, 501, 503, - 502, 504, 505, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 496, 507, 506, 0, 0, 443, - 444, 445, 446, 447, 448, 449, 450, 451, 454, 455, - 456, 484, 485, 743, 744, 745, 742, 741, 740, + 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 86, 87, 0, 0, 0, 0, + 0, 0, 0, 0, 594, 109, 0, 102, 98, 99, + 100, 95, 96, 0, 0, 0, 0, 0, 0, 103, + 0, 0, 0, 0, 134, 101, 97, 112, 0, 90, + 91, 92, 0, 0, 0, 0, 85, 53, 0, 0, + 0, 74, 75, 139, 0, 0, 0, 0, 0, 54, + 55, 76, 63, 64, 65, 66, 67, 68, 69, 0, + 0, 0, 104, 73, 0, 0, 0, 0, 60, 0, + 52, 0, 0, 593, 57, 56, 58, 59, 71, 106, + 88, 89, 70, 0, 93, 94, 117, 426, 105, 0, + 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 86, 87, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 109, 0, 102, 98, + 99, 100, 95, 96, 0, 0, 0, 0, 0, 0, + 103, 0, 0, 0, 0, 134, 101, 97, 112, 0, + 90, 91, 92, 0, 0, 0, 0, 85, 53, 0, + 0, 0, 74, 75, 139, 0, 0, 0, 0, 0, + 54, 55, 76, 63, 64, 65, 66, 67, 68, 69, + 0, 0, 0, 104, 73, 0, 0, 0, 0, 60, + 0, 52, 0, 0, 0, 57, 56, 58, 59, 71, + 106, 88, 89, 70, 0, 93, 94, 117, 0, 105, + 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 86, 87, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 109, 0, 102, + 98, 99, 100, 95, 96, 0, 0, 0, 0, 0, + 0, 103, 0, 0, 0, 0, 134, 101, 97, 112, + 0, 90, 91, 92, 0, 0, 0, 0, 85, 53, + 0, 0, 0, 74, 75, 139, 0, 0, 0, 0, + 0, 54, 55, 76, 63, 64, 65, 66, 67, 68, + 69, 0, 0, 0, 104, 73, 0, 0, 0, 0, + 60, 0, 52, 0, 0, 389, 57, 56, 58, 59, + 71, 106, 88, 89, 70, 0, 93, 94, 117, 0, + 105, 0, 0, 0, 0, 0, 110, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 86, 87, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 109, 0, + 102, 98, 99, 100, 95, 96, 0, 0, 0, 0, + 0, 0, 103, 0, 0, 0, 0, 134, 101, 97, + 112, 0, 90, 91, 92, 0, 0, 0, 0, 85, + 53, 0, 0, 0, 74, 75, 139, 0, 0, 0, + 0, 0, 54, 55, 76, 63, 64, 65, 66, 67, + 68, 69, 0, 0, 0, 104, 73, 0, 0, 0, + 365, 60, 0, 52, 0, 0, 0, 57, 56, 58, + 59, 71, 106, 88, 89, 70, 0, 93, 94, 117, + 0, 105, 0, 0, 0, 0, 0, 110, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 86, 87, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 109, + 0, 102, 98, 99, 100, 95, 96, 0, 0, 0, + 0, 0, 0, 103, 179, 0, 0, 0, 134, 101, + 97, 112, 0, 90, 91, 92, 0, 0, 0, 0, + 85, 53, 0, 0, 0, 74, 75, 139, 0, 178, + 0, 0, 0, 54, 55, 76, 63, 64, 65, 66, + 67, 68, 69, 163, 162, 0, 104, 73, 0, 0, + 0, 0, 60, 0, 52, 0, 0, 0, 57, 56, + 58, 59, 71, 106, 0, 0, 0, 172, 173, 170, + 171, 174, 175, 176, 177, 168, 169, 161, 164, 166, + 167, 165, 443, 444, 454, 455, 0, 0, 434, 0, + 0, 0, 0, 0, 0, 0, 0, 459, 460, 461, + 462, 463, 464, 465, 466, 467, 468, 469, 489, 490, + 491, 492, 493, 481, 482, 483, 484, 485, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 0, + 501, 499, 500, 496, 497, 0, 0, 488, 494, 495, + 502, 503, 505, 504, 506, 507, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 498, 509, 508, + 0, 0, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 456, 457, 458, 486, 487, 437, 438, 439, 440, + 441, 442, 443, 444, 454, 455, 0, 0, 916, 0, + 0, 0, 0, 0, 0, 0, 0, 459, 460, 461, + 462, 463, 464, 465, 466, 467, 468, 469, 489, 490, + 491, 492, 493, 481, 482, 483, 484, 485, 470, 471, + 472, 473, 474, 475, 476, 477, 478, 479, 480, 0, + 501, 499, 500, 496, 497, 0, 0, 488, 494, 495, + 502, 503, 505, 504, 506, 507, 117, 0, 105, 0, + 0, 0, 0, 0, 110, 0, 0, 498, 509, 508, + 0, 0, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 456, 457, 458, 486, 487, 745, 746, 747, 744, + 743, 742, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 655, 109, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 134, 0, 0, 112, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 233, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 0, 656, 0, 0, 654, 0, 0, 0, 0, 0, + 106, } var yyPact = [...]int{ - -1000, -1000, 1190, -1000, -1000, -1000, -1000, -1000, -1000, 251, - 491, 550, 710, -1000, -1000, -1000, 245, 3912, 239, 235, - 6856, 6856, 6856, 170, 644, 6856, -1000, 5152, 233, 232, - 231, -1000, 422, 6856, 777, 283, -10, 496, 775, 774, - 772, 451, 508, 5442, -1000, -1000, 230, -1000, -1000, 157, - 229, 6070, 6856, 333, 333, 6856, 6856, 6856, 6856, 6856, - -1000, -1000, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 226, - 6856, -1000, 818, 6856, 6856, 6856, -1000, -1000, -1000, 123, - -1000, 534, 533, -1000, 488, 224, 223, 6856, 6856, 219, - 6856, 6856, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 779, 797, -1000, 117, 201, 201, 216, -1000, - 486, 687, 173, 687, 262, -1000, -1000, 375, 561, 5, - 608, 687, -1000, -1000, -1000, -1000, 4, -1000, -14, 2893, - 6856, 631, -10, 484, 6856, 6856, 370, 5206, 607, 367, - 366, -1, -1000, -1000, -5, -10, -1000, -17, -7, -1000, - 5206, -1000, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, - 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, - 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 361, 6725, - 6856, 333, 6856, 710, -1000, 5098, 344, -1000, 767, -1000, - 764, -1000, 543, -1000, 558, 214, 3912, 213, 343, 282, - 6594, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, - 6856, 6856, 6856, -1000, -1000, 6856, 6856, 6856, 96, 6070, - 119, 16, -1000, -1000, 5044, 333, 211, -1000, -1000, 123, - 6856, -1000, -1000, 6070, -1000, -80, -80, 12, -80, 4986, - -80, -80, -80, -80, -80, -80, -80, -1000, 6856, -80, - 425, 660, 658, -1000, 165, 6463, 333, 5595, 5541, 5595, - 6856, 3155, 3155, 201, -1000, 501, 182, 201, -1000, -1000, - 6856, 6856, 5206, 5206, 6856, 5206, 5206, 651, -1000, 740, - 517, 660, 6856, -1000, -1000, 5939, -1000, 6070, 749, 486, - 339, 486, -1000, -1000, 1059, -1000, 334, -8, 594, 687, - -1000, 554, 521, 733, 563, -1000, -1000, 710, 6856, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 207, 4932, 206, -1000, - 332, 15, 5206, 4878, -1000, -1000, -1000, -1000, 170, -1000, - 681, -1000, 6856, -1000, 6856, 5702, 5755, 319, 5595, 5487, - 5808, 6841, 3898, 62, 62, 62, 12, -80, 12, 12, - 236, 236, 360, 360, 360, 360, 151, 151, 151, 151, - 360, -1000, 4824, 6856, 5649, 14, -1000, -1000, 4770, -12, - 2762, -1000, -1000, -1000, 205, 543, 518, 542, 419, -1000, - 542, 6856, -1000, 6856, -1000, -1000, 5595, 6856, 5595, 5595, - 5595, 5595, 5595, 5595, 5595, 5595, 5595, 5595, 5595, 5595, - 4716, 116, 4662, 201, -1000, 6856, -1000, 172, -25, 6070, - 6332, -1000, 6070, 4608, 112, -1000, 171, -1000, -1000, -1000, - -1000, 234, 698, 4554, 99, 385, 6856, 72, 201, -1000, - -1000, 6856, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1195, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 262, 522, 588, 770, -1000, -1000, -1000, 258, 3945, 257, + 255, 6889, 6889, 6889, 135, 749, 6889, -1000, 5185, 254, + 248, 244, -1000, 450, 6889, 800, 275, 23, 578, 792, + 790, 788, 509, 520, 402, -1000, -1000, 239, -1000, -1000, + 133, 236, 6103, 6889, 511, 511, 6889, 6889, 6889, 6889, + 6889, -1000, -1000, 6889, 6889, 6889, 6889, 6889, 6889, 6889, + 232, 6889, -1000, 827, 6889, 6889, 6889, -1000, -1000, -1000, + 98, -1000, 557, 554, -1000, 351, 226, 223, 6889, 6889, + 221, 6889, 6889, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 787, 813, -1000, 108, 202, 202, 213, + -1000, 525, 760, 175, 760, 288, -1000, -1000, 349, 614, + 10, 625, 760, -1000, -1000, -1000, -1000, 8, -1000, -18, + 2924, 6889, 695, 23, 524, 6889, 6889, 348, 5239, 662, + 343, 340, 5, -1000, -1000, -5, 23, -1000, -19, -7, + -1000, 5239, -1000, 6889, 6889, 6889, 6889, 6889, 6889, 6889, + 6889, 6889, 6889, 6889, 6889, 6889, 6889, 6889, 6889, 6889, + 6889, 6889, 6889, 6889, 6889, 6889, 6889, 6889, 6889, 589, + 6758, 6889, 511, 6889, 770, -1000, 5131, 339, -1000, 785, + -1000, 781, -1000, 585, -1000, 593, 211, 3945, 210, 336, + 271, 6627, 6889, 6889, 6889, 6889, 6889, 6889, 6889, 6889, + 6889, 6889, 6889, 6889, -1000, -1000, 6889, 6889, 6889, 97, + 6103, 119, 18, -1000, -1000, 5077, 511, 209, -1000, -1000, + 98, 6889, -1000, -1000, 6103, -1000, -82, -82, 16, -82, + 5019, -82, -82, -82, -82, -82, -82, -82, -1000, 6889, + -82, 454, 683, 799, -1000, 143, 6496, 511, 5628, 5574, + 5628, 6889, 3188, 3188, 202, -1000, 550, 291, 202, -1000, + -1000, 6889, 6889, 5239, 5239, 6889, 5239, 5239, 730, -1000, + 700, 575, 683, 6889, -1000, -1000, 5972, -1000, 6103, 779, + 525, 333, 525, -1000, -1000, 1062, -1000, 330, -10, 615, + 760, -1000, 609, 553, 777, 604, -1000, -1000, 770, 6889, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 208, 4965, + 206, -1000, 329, 17, 5239, 4911, -1000, -1000, -1000, -1000, + 135, -1000, 722, -1000, 6889, -1000, 6889, 5735, 5788, 338, + 5628, 5520, 5841, 6874, 3931, 138, 138, 138, 16, -82, + 16, 16, 187, 187, 316, 316, 316, 316, 130, 130, + 130, 130, 316, -1000, 4857, 6889, 5682, 13, -1000, -1000, + 4803, -11, 2791, -1000, -1000, -1000, 205, 585, 583, 611, + 447, -1000, 611, 6889, -1000, 6889, -1000, -1000, 5628, 6889, + 5628, 5628, 5628, 5628, 5628, 5628, 5628, 5628, 5628, 5628, + 5628, 5628, 4749, 117, 4695, 202, -1000, 6889, -1000, 166, + -24, 6103, 6365, -1000, 6103, 4641, 104, -1000, 162, -1000, + -1000, -1000, -1000, 227, 764, 4587, 113, 405, 6889, 96, + 202, -1000, -1000, 6889, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 201, -1000, - -1000, -1000, -1000, 170, 6856, 6856, 96, 170, 543, 13, - -1000, 5206, 4500, 4446, -1000, -1000, -1000, 4392, -1000, 11, - -1000, 5206, 6856, 169, -1000, -1000, 928, -1000, -1000, -1000, - 520, 556, -1000, 687, 522, 685, -1000, 500, -1000, 5206, - 163, 3781, 6856, 6856, 6856, 203, -1000, -1000, 198, 5206, - -1000, 6856, 5649, 161, 333, 587, 3650, -1000, 197, 432, - 518, -1000, 542, -1000, -1000, 418, 2, -1000, 4338, 4284, - 2631, 6841, 3519, -1000, -1000, -1000, 4230, -29, 6856, -1000, - 5206, 333, 187, 154, -1000, -1000, -1000, 67, -1000, -1000, - 671, -1000, -1000, -1000, -1000, 6856, -1000, 5595, -1000, -1000, - 4176, -1000, -1000, 65, 4122, -1000, -1000, 518, 153, 6856, - -1000, -1000, -1000, 144, 6201, 5206, -1000, -1000, 687, 444, - 7, -1000, -1000, 687, 685, -1000, 330, -1000, -1000, -1000, - 4068, 324, 5206, -1000, 323, 318, 432, 5649, 317, -1000, - 140, 511, 333, 185, 6070, -1000, -1000, -1000, 638, 432, - 138, 8, -1000, 59, -1000, -1000, 693, -1000, -1000, -1000, - -1000, 417, 2, 4626, -1000, 542, 3912, 273, 316, -1000, - -1000, -1000, 6856, 5595, -1000, 6070, -29, -1000, -1000, 4014, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3, -1000, - 687, 383, 685, -1000, 7, -1000, 2500, 315, 6856, 392, - -1000, 748, -1000, 134, -1000, 3257, 587, -1000, 6070, 63, - 2369, -1000, 183, 416, 133, 598, 432, 464, -1000, -1000, - 413, -1000, -1000, -1000, 677, 692, 542, 663, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 4464, -1000, -1000, -1000, - -1000, 3024, 5595, 131, 382, 394, 379, 687, 3, -1000, - -1000, 377, 314, -1000, 130, -1000, 6856, 181, 384, 309, - 737, 598, -1000, -1000, -1000, 129, -1000, 128, -1000, 308, - 542, -1000, 255, 255, 175, -1000, 679, -1000, -1000, 4302, - -11, -1000, -27, 7005, -10, -20, -1000, -1000, 3024, -29, - -1000, -1000, -1000, -1000, 174, -1000, -1000, 3388, 3960, -1000, - -1000, -1000, -1000, -1000, 307, 255, 2238, 3257, -1000, -1000, - 81, -1000, 2107, 390, 432, 389, 135, -32, 4032, -1000, - -1000, 677, -1000, 6856, -18, -1000, -46, 7005, -1000, -1000, - 5472, 528, -1000, -1000, -1000, -1000, -1000, 3024, -1000, 388, - 305, -1000, 126, 542, -1000, -1000, -1000, -1000, -30, -1000, - -1000, 676, 6856, -1000, -1000, 5206, -1000, 7005, 6856, -1000, - -1000, 5370, -1000, 301, 299, 588, 620, 499, -1000, 484, - -1000, -1000, 1976, 3024, -1000, -1000, 387, -1000, 1845, 1714, - -1000, 135, -1000, 5206, -1000, -1000, 5206, 166, -1000, -1000, - -1000, -1000, 542, 7105, 7005, 276, 1583, -1000, -1000, -1000, - -1000, -1000, 432, 2, -1000, -1000, 7005, -1000, -1000, -1000, - 1452, 64, -1000, -1000, 255, 275, -1000, -1000, -1000, 1321, - -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 202, -1000, -1000, -1000, -1000, 135, 6889, 6889, 97, 135, + 585, 11, -1000, 5239, 4533, 4479, -1000, -1000, -1000, 4425, + -1000, 9, -1000, 5239, 6889, 159, -1000, -1000, 929, -1000, + -1000, -1000, 527, 567, -1000, 760, 565, 735, -1000, 523, + -1000, 5239, 158, 3814, 6889, 6889, 6889, 204, -1000, -1000, + 199, 5239, -1000, 6889, 5682, 157, 511, 7196, 3683, -1000, + 196, 278, 583, -1000, 611, -1000, -1000, 443, -12, -1000, + 4371, 4317, 2658, 6874, 3552, -1000, -1000, -1000, 4263, -41, + 6889, -1000, 5239, 511, 195, 155, -1000, -1000, -1000, 89, + -1000, -1000, 707, -1000, -1000, -1000, -1000, 6889, -1000, 5628, + -1000, -1000, 4209, -1000, -1000, 69, 4155, -1000, -1000, 583, + 154, 6889, -1000, -1000, -1000, 151, 6234, 5239, -1000, -1000, + 760, 510, 0, -1000, -1000, 760, 735, -1000, 327, -1000, + -1000, -1000, 4101, 323, 5239, -1000, 322, 321, 278, 5682, + 319, -1000, 150, 580, 511, 191, 6103, -1000, -1000, -1000, + 696, 278, 147, 4, -1000, 60, -1000, -1000, 621, -1000, + -1000, -1000, -1000, 441, -12, 4335, -1000, 611, 3945, 270, + 314, -1000, -1000, -1000, 6889, 5628, -1000, 6103, -41, -1000, + -1000, 4047, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -8, -1000, 760, 396, 735, -1000, 0, -1000, 2525, 311, + 6889, 406, -1000, 786, -1000, 141, -1000, 3290, 7196, -1000, + 6103, 63, 2392, -1000, 186, 435, 139, 631, 278, 498, + -1000, -1000, 434, -1000, -1000, -1000, 717, 718, 611, 665, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4065, -1000, + -1000, -1000, -1000, 3057, 5628, 131, 395, 417, 388, 760, + -8, -1000, -1000, 366, 310, -1000, 129, -1000, 6889, 190, + 404, 302, 750, 631, -1000, -1000, -1000, 127, -1000, 125, + -1000, 300, 611, -1000, 132, 132, 184, -1000, 719, -1000, + -1000, 793, -13, -1000, -31, 7038, 23, -25, -1000, -1000, + 3057, -41, -1000, -1000, -1000, -1000, 364, -1000, -1000, 3421, + 3993, -1000, -1000, -1000, -1000, -1000, 296, 132, 2259, 3290, + -1000, -1000, 74, -1000, 2126, 415, 278, 409, 180, -48, + 475, -1000, -1000, 717, -1000, 6889, -20, -1000, -49, 7038, + -1000, -1000, 5505, 411, -1000, -1000, -1000, -1000, -1000, 3057, + -1000, 408, 293, -1000, 124, 611, -1000, -1000, -1000, -1000, + -33, -1000, -1000, 713, 6889, -1000, -1000, 5239, -1000, 7038, + 6889, -1000, -1000, 5403, -1000, 290, 283, 613, 684, 542, + -1000, 524, -1000, -1000, 1993, 3057, -1000, -1000, 352, -1000, + 1860, 1727, -1000, 180, -1000, 5239, -1000, -1000, 5239, 177, + -1000, -1000, -1000, -1000, 611, 7138, 7038, 192, 1594, -1000, + -1000, -1000, -1000, -1000, 278, -12, -1000, -1000, 7038, -1000, + -1000, -1000, 1461, 122, -1000, -1000, 132, 299, -1000, -1000, + -1000, 1328, -1000, } var yyPgo = [...]int{ - 0, 915, 911, 51, 9, 907, 3, 906, 11, 24, - 81, 80, 46, 45, 905, 29, 904, 77, 70, 61, - 902, 0, 50, 901, 900, 35, 237, 38, 20, 899, - 32, 898, 62, 54, 896, 10, 893, 892, 891, 889, - 13, 55, 888, 887, 100, 95, 199, 885, 884, 881, - 5, 878, 85, 41, 877, 141, 43, 871, 870, 868, - 867, 866, 79, 864, 862, 861, 860, 12, 853, 851, - 47, 40, 31, 2, 14, 673, 8, 702, 25, 850, - 849, 843, 37, 82, 550, 840, 121, 838, 837, 831, - 86, 827, 36, 826, 823, 30, 33, 821, 820, 28, - 813, 812, 542, 810, 18, 808, 807, 39, 805, 78, - 1, 4, 804, 17, 801, 44, 800, 798, 797, 7, - 795, 6, 793, 789, 15, 788, 19, 16, + 0, 960, 958, 51, 9, 957, 3, 955, 11, 31, + 79, 78, 49, 45, 953, 21, 951, 73, 19, 55, + 946, 0, 80, 945, 944, 38, 141, 47, 25, 942, + 36, 940, 56, 62, 930, 10, 928, 927, 925, 924, + 13, 46, 923, 921, 100, 84, 199, 920, 918, 917, + 5, 909, 83, 40, 908, 138, 43, 907, 906, 902, + 901, 900, 119, 898, 897, 887, 886, 12, 883, 880, + 44, 42, 32, 2, 15, 665, 8, 771, 20, 879, + 873, 872, 41, 74, 623, 870, 121, 869, 868, 866, + 71, 858, 33, 856, 855, 30, 37, 853, 852, 28, + 845, 835, 459, 833, 18, 832, 831, 26, 829, 63, + 1, 4, 828, 17, 823, 39, 822, 815, 814, 7, + 812, 6, 809, 803, 14, 797, 29, 16, } var yyR1 = [...]int{ @@ -1364,46 +1402,46 @@ var yyR1 = [...]int{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 109, 109, 86, 86, 8, 8, 8, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 77, - 77, 14, 14, 16, 16, 126, 126, 96, 96, 95, - 95, 102, 102, 15, 15, 18, 18, 17, 17, 90, - 90, 110, 110, 20, 20, 20, 20, 20, 20, 9, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 77, 77, 14, 14, 16, 16, 126, 126, 96, 96, + 95, 95, 102, 102, 15, 15, 18, 18, 17, 17, + 90, 90, 110, 110, 20, 20, 20, 20, 20, 20, + 20, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 88, 88, 87, 87, 24, 24, 101, - 101, 25, 10, 1, 1, 2, 2, 11, 11, 120, - 120, 75, 75, 12, 13, 27, 27, 114, 114, 115, - 115, 78, 78, 78, 78, 123, 123, 124, 124, 23, - 23, 80, 80, 80, 80, 99, 99, 99, 127, 127, - 122, 122, 66, 66, 64, 64, 68, 68, 65, 65, - 111, 111, 112, 112, 28, 28, 29, 29, 74, 74, - 72, 72, 72, 73, 73, 82, 82, 108, 108, 30, - 30, 94, 94, 32, 98, 98, 33, 33, 113, 113, - 34, 34, 34, 34, 119, 119, 81, 81, 81, 100, - 100, 35, 35, 36, 37, 37, 37, 37, 39, 39, - 38, 79, 79, 117, 117, 116, 116, 118, 118, 76, - 76, 76, 76, 76, 76, 97, 97, 40, 40, 89, - 89, 67, 19, 91, 91, 41, 92, 92, 93, 93, - 43, 42, 42, 31, 31, 31, 31, 31, 31, 31, + 9, 9, 9, 9, 9, 88, 88, 87, 87, 24, + 24, 101, 101, 25, 10, 1, 1, 2, 2, 11, + 11, 120, 120, 75, 75, 12, 13, 27, 27, 114, + 114, 115, 115, 78, 78, 78, 78, 123, 123, 124, + 124, 23, 23, 80, 80, 80, 80, 99, 99, 99, + 127, 127, 122, 122, 66, 66, 64, 64, 68, 68, + 65, 65, 111, 111, 112, 112, 28, 28, 29, 29, + 74, 74, 72, 72, 72, 73, 73, 82, 82, 108, + 108, 30, 30, 94, 94, 32, 98, 98, 33, 33, + 113, 113, 34, 34, 34, 34, 119, 119, 81, 81, + 81, 100, 100, 35, 35, 36, 37, 37, 37, 37, + 39, 39, 38, 79, 79, 117, 117, 116, 116, 118, + 118, 76, 76, 76, 76, 76, 76, 97, 97, 40, + 40, 89, 89, 67, 19, 91, 91, 41, 92, 92, + 93, 93, 43, 42, 42, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 121, - 3, 3, 104, 104, 103, 103, 50, 50, 51, 51, - 51, 51, 44, 44, 45, 45, 48, 48, 85, 85, - 85, 83, 83, 55, 55, 55, 49, 49, 49, 49, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 121, 3, 3, 104, 104, 103, 103, 50, 50, + 51, 51, 51, 51, 44, 44, 45, 45, 48, 48, + 85, 85, 85, 83, 83, 55, 55, 55, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 56, 56, 56, 21, 21, 22, 22, 54, - 57, 57, 57, 58, 58, 58, 59, 59, 59, 59, - 59, 59, 26, 26, 26, 46, 46, 46, 60, 60, - 61, 61, 61, 61, 61, 61, 52, 52, 52, 53, - 53, 53, 107, 70, 70, 106, 106, 69, 69, 69, - 69, 69, 69, 84, 84, 84, 84, 62, 62, 62, - 62, 62, 62, 62, 63, 63, 63, 63, 47, 47, - 47, 47, 47, 47, 47, 105, 105, 71, + 49, 49, 49, 49, 56, 56, 56, 21, 21, 22, + 22, 54, 57, 57, 57, 58, 58, 58, 59, 59, + 59, 59, 59, 59, 26, 26, 26, 46, 46, 46, + 60, 60, 61, 61, 61, 61, 61, 61, 52, 52, + 52, 53, 53, 53, 107, 70, 70, 106, 106, 69, + 69, 69, 69, 69, 69, 84, 84, 84, 84, 62, + 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, + 47, 47, 47, 47, 47, 47, 47, 105, 105, 71, } var yyR2 = [...]int{ @@ -1416,240 +1454,240 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 3, 1, 3, 2, 1, 1, 1, 1, 1, - 4, 3, 5, 4, 3, 4, 3, 4, 3, 1, - 1, 6, 7, 6, 7, 0, 1, 3, 1, 3, - 1, 3, 1, 1, 2, 1, 3, 1, 2, 3, - 1, 2, 0, 1, 1, 1, 1, 1, 4, 3, - 1, 1, 5, 7, 9, 5, 3, 3, 3, 3, - 3, 3, 1, 2, 6, 7, 9, 5, 1, 6, - 3, 3, 2, 0, 9, 1, 3, 0, 4, 1, - 3, 1, 11, 0, 1, 0, 1, 9, 8, 1, - 2, 1, 1, 6, 7, 0, 2, 0, 2, 0, - 2, 1, 2, 4, 3, 1, 4, 1, 4, 1, - 4, 3, 4, 4, 5, 0, 5, 4, 1, 1, - 1, 4, 5, 6, 1, 3, 6, 7, 3, 6, - 1, 0, 1, 3, 4, 6, 0, 1, 1, 2, - 1, 1, 1, 0, 2, 2, 4, 1, 3, 1, - 2, 3, 1, 1, 3, 1, 1, 3, 2, 0, - 3, 4, 3, 10, 1, 3, 1, 2, 3, 1, - 2, 2, 2, 3, 3, 3, 4, 3, 1, 1, - 3, 1, 3, 1, 1, 0, 1, 1, 2, 1, - 1, 1, 1, 1, 1, 3, 1, 2, 4, 3, - 1, 4, 4, 3, 1, 1, 0, 1, 3, 1, - 8, 3, 2, 6, 5, 3, 4, 2, 3, 3, + 1, 4, 3, 5, 4, 3, 4, 3, 4, 3, + 1, 1, 6, 7, 6, 7, 0, 1, 3, 1, + 3, 1, 3, 1, 1, 2, 1, 3, 1, 2, + 3, 1, 2, 0, 1, 1, 1, 1, 1, 1, + 4, 3, 1, 1, 5, 7, 9, 5, 3, 3, + 3, 3, 3, 3, 1, 2, 6, 7, 9, 5, + 1, 6, 3, 3, 2, 0, 9, 1, 3, 0, + 4, 1, 3, 1, 11, 0, 1, 0, 1, 9, + 8, 1, 2, 1, 1, 6, 7, 0, 2, 0, + 2, 0, 2, 1, 2, 4, 3, 1, 4, 1, + 4, 1, 4, 3, 4, 4, 5, 0, 5, 4, + 1, 1, 1, 4, 5, 6, 1, 3, 6, 7, + 3, 6, 1, 0, 1, 3, 4, 6, 0, 1, + 1, 2, 1, 1, 1, 0, 2, 2, 4, 1, + 3, 1, 2, 3, 1, 1, 3, 1, 1, 3, + 2, 0, 3, 4, 3, 10, 1, 3, 1, 2, + 3, 1, 2, 2, 2, 3, 3, 3, 4, 3, + 1, 1, 3, 1, 3, 1, 1, 0, 1, 1, + 2, 1, 1, 1, 1, 1, 1, 3, 1, 2, + 4, 3, 1, 4, 4, 3, 1, 1, 0, 1, + 3, 1, 8, 3, 2, 6, 5, 3, 4, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 2, 2, 2, 2, 3, 3, 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, 3, 3, 1, 5, 4, 3, - 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 3, 2, 1, 2, 4, 2, 11, 12, 0, - 0, 1, 0, 4, 3, 1, 1, 2, 2, 4, - 4, 2, 1, 1, 1, 1, 0, 3, 0, 1, - 1, 0, 1, 4, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 2, 3, 3, - 1, 1, 1, 3, 3, 1, 1, 0, 1, 1, - 1, 3, 1, 1, 3, 1, 1, 4, 4, 4, - 4, 1, 1, 1, 3, 1, 4, 2, 3, 3, - 1, 4, 4, 3, 3, 3, 1, 3, 1, 1, - 3, 1, 1, 0, 1, 3, 1, 3, 1, 4, - 2, 6, 4, 2, 2, 1, 2, 1, 4, 3, - 3, 3, 6, 3, 1, 1, 2, 1, 5, 4, - 2, 2, 4, 2, 2, 1, 3, 1, + 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 1, 5, + 4, 3, 1, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 1, 3, 2, 1, 2, 4, 2, 11, + 12, 0, 0, 1, 0, 4, 3, 1, 1, 2, + 2, 4, 4, 2, 1, 1, 1, 1, 0, 3, + 0, 1, 1, 0, 1, 4, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, + 3, 3, 1, 1, 1, 3, 3, 1, 1, 0, + 1, 1, 1, 3, 1, 1, 3, 1, 1, 4, + 4, 4, 4, 1, 1, 1, 3, 1, 4, 2, + 3, 3, 1, 4, 4, 3, 3, 3, 1, 3, + 1, 1, 3, 1, 1, 0, 1, 3, 1, 3, + 1, 4, 2, 6, 4, 2, 2, 1, 2, 1, + 4, 3, 3, 3, 6, 3, 1, 1, 2, 1, + 5, 4, 2, 2, 4, 2, 2, 1, 3, 1, } var yyChk = [...]int{ - -1000, -125, -109, -7, -9, -10, -11, -12, -13, 51, - 79, 44, 38, 119, -64, -65, 21, 20, 23, 30, - 34, 35, 39, 46, 98, 19, 14, -21, 48, 25, - 27, 121, 40, 43, 36, 10, 37, -120, 52, 53, - 54, -66, -68, -26, -31, -75, 7, -59, -60, -57, - 59, 125, 92, 104, 105, 130, 129, 131, 132, 123, - -42, -47, 107, 108, 109, 110, 111, 112, 113, 6, - 133, -49, 118, 96, 97, 106, 99, 100, -46, -56, - -51, -44, -54, -55, 91, 49, 50, 4, 5, 84, - 85, 86, 8, 9, 66, 67, 81, 63, 64, 65, - 80, 62, 74, 117, 12, 134, -8, -58, 60, 18, - -86, 82, 123, 82, -86, 119, 10, -16, -77, -102, - -86, 82, 37, 38, -17, -18, -90, -19, 10, -110, - 123, -9, 37, 79, 123, 123, -22, -21, 98, -22, - -22, -94, -32, -46, -98, 37, -33, 12, -91, -41, - -21, 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, 115, 90, 127, - 114, 123, 123, 123, 119, -21, 10, 122, -3, 128, - 52, -75, 10, 10, 10, 93, 94, 93, 95, 94, - 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, - 145, 146, 147, 104, 105, 123, 125, 119, 57, 123, - -107, -106, -70, -69, -21, 128, 59, -21, -26, -56, - 123, -55, 98, 125, -26, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -48, 123, -21, - -85, 17, -84, -62, 12, 76, 77, -21, -21, -21, - 125, 78, 78, -45, -43, -44, -61, 52, -8, -46, - 123, 123, -21, -21, 123, -21, -21, 17, 75, -84, - -84, 17, 119, -46, -82, 123, -82, 123, 82, -86, - 124, -86, 121, 119, -109, 121, -14, -102, -86, 82, - 121, 135, 82, 29, -86, -18, 121, 135, 136, -20, - 120, -9, -10, -11, -12, -13, 51, -21, 21, -3, - -92, -93, -21, -21, 121, 121, 121, 121, 135, 121, - 135, -3, 136, 121, 135, -21, -21, -21, -21, -21, + -1000, -125, -109, -7, 2, -9, -10, -11, -12, -13, + 51, 79, 44, 38, 119, -64, -65, 21, 20, 23, + 30, 34, 35, 39, 46, 98, 19, 14, -21, 48, + 25, 27, 121, 40, 43, 36, 10, 37, -120, 52, + 53, 54, -66, -68, -26, -31, -75, 7, -59, -60, + -57, 59, 125, 92, 104, 105, 130, 129, 131, 132, + 123, -42, -47, 107, 108, 109, 110, 111, 112, 113, + 6, 133, -49, 118, 96, 97, 106, 99, 100, -46, + -56, -51, -44, -54, -55, 91, 49, 50, 4, 5, + 84, 85, 86, 8, 9, 66, 67, 81, 63, 64, + 65, 80, 62, 74, 117, 12, 134, -8, -58, 60, + 18, -86, 82, 123, 82, -86, 119, 10, -16, -77, + -102, -86, 82, 37, 38, -17, -18, -90, -19, 10, + -110, 123, -9, 37, 79, 123, 123, -22, -21, 98, + -22, -22, -94, -32, -46, -98, 37, -33, 12, -91, + -41, -21, 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, 115, 90, + 127, 114, 123, 123, 123, 119, -21, 10, 122, -3, + 128, 52, -75, 10, 10, 10, 93, 94, 93, 95, + 94, 136, 137, 138, 139, 148, 140, 141, 142, 143, + 144, 145, 146, 147, 104, 105, 123, 125, 119, 57, + 123, -107, -106, -70, -69, -21, 128, 59, -21, -26, + -56, 123, -55, 98, 125, -26, -21, -21, -21, -21, + -21, -21, -21, -21, -21, -21, -21, -21, -48, 123, + -21, -85, 17, -84, -62, 12, 76, 77, -21, -21, + -21, 125, 78, 78, -45, -43, -44, -61, 52, -8, + -46, 123, 123, -21, -21, 123, -21, -21, 17, 75, + -84, -84, 17, 119, -46, -82, 123, -82, 123, 82, + -86, 124, -86, 121, 119, -109, 121, -14, -102, -86, + 82, 121, 135, 82, 29, -86, -18, 121, 135, 136, + -20, 120, 2, -9, -10, -11, -12, -13, 51, -21, + 21, -3, -92, -93, -21, -21, 121, 121, 121, 121, + 135, 121, 135, -3, 136, 121, 135, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -45, -21, 122, -21, -101, -25, -26, -21, -90, - -110, 121, 121, 10, -121, 10, -27, 55, -121, -114, - 55, 123, -9, 123, 121, 122, -21, 128, -21, -21, + -21, -21, -21, -45, -21, 122, -21, -101, -25, -26, + -21, -90, -110, 121, 121, 10, -121, 10, -27, 55, + -121, -114, 55, 123, -9, 123, 121, 122, -21, 128, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -22, -21, -53, 10, 119, -46, -107, 126, 135, - 58, -26, 123, -21, -107, 124, -22, 118, -62, -62, - 17, 125, 57, -21, 11, -26, 58, -22, -52, -6, - -46, 119, 10, -5, -4, 98, 99, 100, 101, 102, - 103, 4, 5, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 6, 7, 93, 94, 95, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 35, - 36, 37, 38, 39, 96, 97, 59, 30, 31, 32, - 33, 34, 60, 61, 55, 56, 79, 53, 54, 52, - 62, 63, 65, 64, 66, 67, 81, 80, -52, -6, - -46, -83, -82, 78, 125, 119, 57, 78, -83, -105, - -71, -21, -21, -21, 75, 75, 117, -21, 124, -108, - -30, -21, 83, -107, 10, 121, -109, 120, 121, 121, - 82, -86, -17, 82, -86, 119, 10, 82, -19, -21, - 123, 124, 123, 121, 135, 124, -32, -33, -121, -21, - -41, 122, -21, -126, 135, 29, 124, 120, -121, 123, - -27, -115, 56, -8, 119, -121, -119, -8, -21, -21, - -110, -21, 124, 126, 120, -82, -21, 124, 136, -70, - -21, 128, 59, -107, 124, 126, 124, -63, 10, 13, - 129, 12, 10, 120, 120, 125, 120, -21, 126, -82, - -21, -82, -46, -22, -21, -53, -46, -27, -126, 135, - 124, 124, 120, -126, 135, -21, 124, 120, 119, 82, - -96, -15, -18, -77, 119, -121, 124, -122, -9, 122, - -21, -92, -21, -80, 119, 122, 123, -21, 124, -25, - -78, -26, 128, 59, 125, -23, -9, 122, -88, 123, - -111, -112, -28, -29, -74, -72, 127, 60, 61, -8, - -115, -121, -119, -113, 119, 135, 124, 124, 95, -9, - 122, 120, 136, -21, -26, 123, 124, 126, 13, -21, - 120, 126, 120, -115, 124, -71, 124, -30, -95, -18, - 119, -126, 135, -18, -96, 121, -110, 124, 121, -99, - 121, -99, 121, -111, 121, 124, 58, -26, 123, -107, - -110, -24, 41, 42, -111, 124, 135, -1, 128, -72, - -121, 119, 120, -34, -117, -116, 44, -118, 47, -76, - 103, 102, 101, 98, 99, 100, -113, -8, -9, 122, - 121, -110, -21, -107, 126, -121, -126, 135, -95, 120, - -15, -126, 22, 121, -92, 120, 32, 33, -99, 31, - -99, 124, -124, -9, 122, -78, -26, -107, 126, 28, - 123, 119, 124, -104, 44, -28, -2, 83, 119, -113, - -97, -40, 12, 38, 37, -119, -76, 120, -110, 124, - 120, 119, 120, -18, -126, 120, 121, 124, -21, -127, - 122, 121, 120, 121, 31, -104, -110, 124, 124, 121, - -87, -8, -110, -73, 122, -73, 123, 12, -113, 120, - 121, 135, -121, 136, -89, -67, -6, -3, -81, 121, - 119, -113, 120, -123, -9, 122, -127, -110, 121, -73, - 26, -124, 12, 151, 120, 119, -74, 119, -103, -50, - 12, 128, 136, 120, -40, -21, 121, 135, 136, -6, - 120, -100, -35, -36, -37, -38, -39, -8, -6, 79, - 10, 120, -110, -110, 119, 121, 124, -8, -110, -110, - 124, 135, 12, -21, -121, -67, -21, -121, 120, -35, - 121, 121, 45, 29, 78, 24, -110, 119, 120, 120, - -50, -121, 123, -119, 10, -4, -76, -6, 121, 120, - -110, -111, -6, 120, 124, -73, -79, 121, 119, -110, - 120, + -21, -21, -21, -22, -21, -53, 10, 119, -46, -107, + 126, 135, 58, -26, 123, -21, -107, 124, -22, 118, + -62, -62, 17, 125, 57, -21, 11, -26, 58, -22, + -52, -6, -46, 119, 10, -5, -4, 98, 99, 100, + 101, 102, 103, 4, 5, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 6, 7, 93, 94, 95, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 35, 36, 37, 38, 39, 96, 97, 59, 30, + 31, 32, 33, 34, 60, 61, 55, 56, 79, 53, + 54, 52, 62, 63, 65, 64, 66, 67, 81, 80, + -52, -6, -46, -83, -82, 78, 125, 119, 57, 78, + -83, -105, -71, -21, -21, -21, 75, 75, 117, -21, + 124, -108, -30, -21, 83, -107, 10, 121, -109, 120, + 121, 121, 82, -86, -17, 82, -86, 119, 10, 82, + -19, -21, 123, 124, 123, 121, 135, 124, -32, -33, + -121, -21, -41, 122, -21, -126, 135, 29, 124, 120, + -121, 123, -27, -115, 56, -8, 119, -121, -119, -8, + -21, -21, -110, -21, 124, 126, 120, -82, -21, 124, + 136, -70, -21, 128, 59, -107, 124, 126, 124, -63, + 10, 13, 129, 12, 10, 120, 120, 125, 120, -21, + 126, -82, -21, -82, -46, -22, -21, -53, -46, -27, + -126, 135, 124, 124, 120, -126, 135, -21, 124, 120, + 119, 82, -96, -15, -18, -77, 119, -121, 124, -122, + -9, 122, -21, -92, -21, -80, 119, 122, 123, -21, + 124, -25, -78, -26, 128, 59, 125, -23, -9, 122, + -88, 123, -111, -112, -28, -29, -74, -72, 127, 60, + 61, -8, -115, -121, -119, -113, 119, 135, 124, 124, + 95, -9, 122, 120, 136, -21, -26, 123, 124, 126, + 13, -21, 120, 126, 120, -115, 124, -71, 124, -30, + -95, -18, 119, -126, 135, -18, -96, 121, -110, 124, + 121, -99, 121, -99, 121, -111, 121, 124, 58, -26, + 123, -107, -110, -24, 41, 42, -111, 124, 135, -1, + 128, -72, -121, 119, 120, -34, -117, -116, 44, -118, + 47, -76, 103, 102, 101, 98, 99, 100, -113, -8, + -9, 122, 121, -110, -21, -107, 126, -121, -126, 135, + -95, 120, -15, -126, 22, 121, -92, 120, 32, 33, + -99, 31, -99, 124, -124, -9, 122, -78, -26, -107, + 126, 28, 123, 119, 124, -104, 44, -28, -2, 83, + 119, -113, -97, -40, 12, 38, 37, -119, -76, 120, + -110, 124, 120, 119, 120, -18, -126, 120, 121, 124, + -21, -127, 122, 121, 120, 121, 31, -104, -110, 124, + 124, 121, -87, -8, -110, -73, 122, -73, 123, 12, + -113, 120, 121, 135, -121, 136, -89, -67, -6, -3, + -81, 121, 119, -113, 120, -123, -9, 122, -127, -110, + 121, -73, 26, -124, 12, 151, 120, 119, -74, 119, + -103, -50, 12, 128, 136, 120, -40, -21, 121, 135, + 136, -6, 120, -100, -35, -36, -37, -38, -39, -8, + -6, 79, 10, 120, -110, -110, 119, 121, 124, -8, + -110, -110, 124, 135, 12, -21, -121, -67, -21, -121, + 120, -35, 121, 121, 45, 29, 78, 24, -110, 119, + 120, 120, -50, -121, 123, -119, 10, -4, -76, -6, + 121, 120, -110, -111, -6, 120, 124, -73, -79, 121, + 119, -110, 120, } var yyDef = [...]int{ - 79, -2, 1, 78, 85, 86, 87, 88, 89, 0, - 0, 0, 0, 122, 130, 131, 0, 0, 0, 0, - 417, 417, 417, 0, 382, 0, 142, 0, 0, 0, - 0, 148, 0, 0, 0, 80, 370, 0, 0, 0, - 0, 204, 0, -2, 416, 169, 0, -2, 433, 419, - 0, 453, 0, 0, 0, 0, 0, 0, 0, 0, - 346, 350, 0, 0, 0, 0, 0, 0, 0, 386, - 0, 360, 388, 0, 363, 0, 171, 172, 426, 411, - 431, 0, 0, -2, 0, 0, 0, 0, 0, 0, - 0, 0, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 0, 0, 435, 0, -2, 0, 0, 395, - 82, 0, 0, 0, 0, 79, 80, 0, 0, 0, - 115, 0, 99, 100, 112, 117, 0, 120, 0, 0, - 0, 0, 370, 0, 286, 0, 0, 418, 382, 0, - 0, 0, 232, 233, 0, 370, 235, 236, 0, 284, - 285, 143, 0, 0, 0, 0, 0, 0, 0, 0, + 79, -2, -2, 78, 85, 86, 87, 88, 89, 90, + 0, 0, 0, 0, 123, 132, 133, 0, 0, 0, + 0, 419, 419, 419, 0, 384, 0, 144, 0, 0, + 0, 0, 150, 0, 0, 0, 80, 372, 0, 0, + 0, 0, 206, 0, -2, 418, 171, 0, -2, 435, + 421, 0, 455, 0, 0, 0, 0, 0, 0, 0, + 0, 348, 352, 0, 0, 0, 0, 0, 0, 0, + 388, 0, 362, 390, 0, 365, 0, 173, 174, 428, + 413, 433, 0, 0, -2, 0, 0, 0, 0, 0, + 0, 0, 0, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 0, 0, 437, 0, -2, 0, 0, + 397, 82, 0, 0, 0, 0, 79, 80, 0, 0, + 0, 116, 0, 100, 101, 113, 118, 0, 121, 0, + 0, 0, 0, 372, 0, 288, 0, 0, 420, 384, + 0, 0, 0, 234, 235, 0, 372, 237, 238, 0, + 286, 287, 145, 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, 122, 0, 0, 152, 369, 371, - 0, 170, 175, 369, 177, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 123, 0, 0, 154, 371, + 373, 0, 172, 177, 371, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 310, 312, 0, 417, 0, 0, 453, - 0, 452, 456, 454, 458, 0, 0, 297, -2, 0, - 0, -2, 382, 453, -2, 331, 332, 333, 334, 0, - 351, 352, 353, 354, 355, 356, 357, 358, 417, 359, - 0, 389, 390, 465, 467, 0, 0, 362, 364, 366, - 417, 0, 0, 391, 292, 384, 385, 391, 383, 440, - 0, 0, 480, 481, 0, 483, 484, 0, 407, 0, - 0, 0, 0, 437, 378, 0, 381, 453, 0, 84, - 0, 83, 91, 79, 0, 94, 0, 0, 115, 0, - 96, 0, 0, 0, 115, 118, 98, 0, 0, 121, - 129, 123, 124, 125, 126, 127, 0, 0, 0, 369, - 0, 287, 289, 0, 136, 137, 138, 139, 0, 140, - 0, 369, 0, 141, 0, 314, 315, 316, 317, 318, + 0, 0, 0, 0, 312, 314, 0, 419, 0, 0, + 455, 0, 454, 458, 456, 460, 0, 0, 299, -2, + 0, 0, -2, 384, 455, -2, 333, 334, 335, 336, + 0, 353, 354, 355, 356, 357, 358, 359, 360, 419, + 361, 0, 391, 392, 467, 469, 0, 0, 364, 366, + 368, 419, 0, 0, 393, 294, 386, 387, 393, 385, + 442, 0, 0, 482, 483, 0, 485, 486, 0, 409, + 0, 0, 0, 0, 439, 380, 0, 383, 455, 0, + 84, 0, 83, 92, 79, 0, 95, 0, 0, 116, + 0, 97, 0, 0, 0, 116, 119, 99, 0, 0, + 122, 131, 124, 125, 126, 127, 128, 129, 0, 0, + 0, 371, 0, 289, 291, 0, 138, 139, 140, 141, + 0, 142, 0, 371, 0, 143, 0, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, -2, -2, -2, -2, -2, -2, -2, -2, - -2, 344, 0, 0, 349, 105, 159, -2, 0, 0, - 0, 150, 151, 369, 0, 175, 179, 0, 0, 369, - 0, 0, 205, 0, 208, 122, 295, 0, 298, 299, + 329, 330, 331, 332, -2, -2, -2, -2, -2, -2, + -2, -2, -2, 346, 0, 0, 351, 106, 161, -2, + 0, 0, 0, 152, 153, 371, 0, 177, 181, 0, + 0, 371, 0, 0, 207, 0, 210, 123, 297, 0, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 0, 0, 434, 449, 0, 451, 0, 394, 453, - 0, -2, 453, 0, 0, -2, 0, 361, 466, 463, - 464, 0, 0, 0, 0, 420, 0, 0, 0, -2, - -2, 0, 76, 77, 69, 70, 71, 72, 73, 74, - 75, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 0, -2, - -2, 291, 392, 0, 417, 0, 0, 0, 175, 105, - 485, 487, 0, 0, 406, 409, 408, 0, 225, 105, - 227, 229, 0, 0, 81, 90, 0, 93, 95, 97, - 0, 115, 111, 0, 115, 0, 116, 0, 119, 369, - 0, 0, 0, 286, 0, 0, 231, 234, 0, 237, - 283, 0, 348, 0, 106, 0, 0, 153, 0, -2, - 179, 369, 0, 176, 239, 0, 178, 244, 0, 0, - 0, 296, 0, 427, 429, 430, 0, 0, 0, 455, - 457, 0, 0, 0, -2, 394, 387, 0, 474, 475, - 0, 477, 469, 470, 471, 0, 473, 365, 428, 379, - 0, 380, 444, 0, 0, 443, 445, 179, 0, 106, - 479, 482, 436, 0, 106, 230, 393, 92, 0, 0, - 105, 108, 113, 0, 0, 282, 0, 132, 200, 122, - 0, 0, 288, 135, 195, 195, -2, 347, 0, 160, - 0, -2, 0, 0, 453, 147, 189, 122, 157, -2, - 0, 210, 212, 163, 217, 218, 0, 220, 221, 222, - 369, 0, 180, 265, 239, 0, 0, 0, 0, 202, - 122, 450, 0, 294, -2, 453, 462, 468, 476, 0, - 447, 441, 442, 369, 478, 486, 226, 228, 105, 110, - 0, 0, 106, 114, 105, 128, 0, 0, 286, 0, - 195, 0, 195, 0, 144, 0, 0, -2, 453, 0, - 0, 149, 0, 0, 0, 372, 216, 165, 164, 219, - 0, 239, 173, 238, 0, 0, 0, -2, 264, 267, - 269, 270, 271, 272, 273, 274, 265, 245, 203, 122, - 209, 206, 293, 0, 0, 0, 0, 106, 105, 103, - 107, 0, 0, 133, 0, 191, 0, 0, 0, 0, - 0, 372, 145, 187, 122, 0, -2, 0, -2, 0, - 0, 122, 223, 223, 0, 213, 0, 166, 239, 265, - 0, 276, 369, 0, 370, 0, 268, 174, 207, 461, - 472, 239, 101, 109, 0, 104, 201, 0, 0, 122, - 198, 199, 192, 193, 0, 223, 0, 0, 183, 190, - 0, 155, 0, 0, 0, 0, 0, 214, 265, 168, - 240, 0, 277, 0, 0, 280, 0, 0, 242, 246, - 0, 265, 102, 134, 185, 122, 122, 197, 194, 0, - 0, 146, 0, 0, 158, 122, 224, 122, 0, 375, - 376, 0, 0, 167, 275, 369, 241, 0, 0, 369, - 247, 0, 249, 0, 0, 259, 0, 0, 258, 57, - -2, 290, 0, 196, 122, 188, 0, 156, 0, 0, - 373, 0, 377, 215, 278, 279, 369, 0, 248, 250, - 251, 252, 0, 0, 0, 0, 0, 122, 162, 367, - 374, 281, -2, 253, 254, 255, 257, 260, 186, 368, - 0, 0, 256, 154, 223, 0, 243, 261, 122, 0, - 262, + 310, 311, 0, 0, 0, 436, 451, 0, 453, 0, + 396, 455, 0, -2, 455, 0, 0, -2, 0, 363, + 468, 465, 466, 0, 0, 0, 0, 422, 0, 0, + 0, -2, -2, 0, 76, 77, 69, 70, 71, 72, + 73, 74, 75, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 0, -2, -2, 293, 394, 0, 419, 0, 0, 0, + 177, 106, 487, 489, 0, 0, 408, 411, 410, 0, + 227, 106, 229, 231, 0, 0, 81, 91, 0, 94, + 96, 98, 0, 116, 112, 0, 116, 0, 117, 0, + 120, 371, 0, 0, 0, 288, 0, 0, 233, 236, + 0, 239, 285, 0, 350, 0, 107, 0, 0, 155, + 0, -2, 181, 371, 0, 178, 241, 0, 180, 246, + 0, 0, 0, 298, 0, 429, 431, 432, 0, 0, + 0, 457, 459, 0, 0, 0, -2, 396, 389, 0, + 476, 477, 0, 479, 471, 472, 473, 0, 475, 367, + 430, 381, 0, 382, 446, 0, 0, 445, 447, 181, + 0, 107, 481, 484, 438, 0, 107, 232, 395, 93, + 0, 0, 106, 109, 114, 0, 0, 284, 0, 134, + 202, 123, 0, 0, 290, 137, 197, 197, -2, 349, + 0, 162, 0, -2, 0, 0, 455, 149, 191, 123, + 159, -2, 0, 212, 214, 165, 219, 220, 0, 222, + 223, 224, 371, 0, 182, 267, 241, 0, 0, 0, + 0, 204, 123, 452, 0, 296, -2, 455, 464, 470, + 478, 0, 449, 443, 444, 371, 480, 488, 228, 230, + 106, 111, 0, 0, 107, 115, 106, 130, 0, 0, + 288, 0, 197, 0, 197, 0, 146, 0, 0, -2, + 455, 0, 0, 151, 0, 0, 0, 374, 218, 167, + 166, 221, 0, 241, 175, 240, 0, 0, 0, -2, + 266, 269, 271, 272, 273, 274, 275, 276, 267, 247, + 205, 123, 211, -2, 295, 0, 0, 0, 0, 107, + 106, 104, 108, 0, 0, 135, 0, 193, 0, 0, + 0, 0, 0, 374, 147, 189, 123, 0, -2, 0, + -2, 0, 0, 123, 225, 225, 0, 215, 0, 168, + 241, 267, 0, 278, 371, 0, 372, 0, 270, 176, + -2, 463, 474, 241, 102, 110, 0, 105, 203, 0, + 0, 123, 200, 201, 194, 195, 0, 225, 0, 0, + 185, 192, 0, 157, 0, 0, 0, 0, 0, 216, + 267, 170, 242, 0, 279, 0, 0, 282, 0, 0, + 244, 248, 0, 267, 103, 136, 187, 123, 123, -2, + 196, 0, 0, 148, 0, 0, 160, 123, 226, 123, + 0, 377, 378, 0, 0, 169, 277, 371, 243, 0, + 0, 371, 249, 0, 251, 0, 0, 261, 0, 0, + 260, 57, -2, 292, 0, -2, 123, 190, 0, 158, + 0, 0, 375, 0, 379, 217, 280, 281, 371, 0, + 250, 252, 253, 254, 0, 0, 0, 0, 0, 123, + 164, 369, 376, 283, -2, 255, 256, 257, 259, 262, + 188, 370, 0, 0, 258, 156, 225, 0, 245, 263, + 123, 0, 264, } var yyTok1 = [...]int{ @@ -2490,19 +2528,21 @@ yydefault: } case 78: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:284 + //line php7/php7.y:285 { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + if yyDollar[2].node != nil { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } } case 79: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:285 + //line php7/php7.y:290 { yyVAL.list = []node.Node{} } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:290 + //line php7/php7.y:295 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2511,7 +2551,7 @@ yydefault: } case 81: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:297 + //line php7/php7.y:302 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2520,7 +2560,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:307 + //line php7/php7.y:312 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2528,7 +2568,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:313 + //line php7/php7.y:318 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -2536,7 +2576,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:319 + //line php7/php7.y:324 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -2544,43 +2584,50 @@ yydefault: } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:327 + //line php7/php7.y:333 { - yyVAL.node = yyDollar[1].node + // error + yyVAL.node = nil } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:328 + //line php7/php7.y:337 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:329 + //line php7/php7.y:338 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:330 + //line php7/php7.y:339 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:331 + //line php7/php7.y:340 { yyVAL.node = yyDollar[1].node } case 90: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:341 + { + yyVAL.node = yyDollar[1].node + } + case 91: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:332 + //line php7/php7.y:342 { yyVAL.node = stmt.NewHaltCompiler() } - case 91: + case 92: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:334 + //line php7/php7.y:344 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2590,9 +2637,9 @@ yydefault: comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 92: + case 93: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:344 + //line php7/php7.y:354 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2602,91 +2649,67 @@ yydefault: comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 93: + case 94: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:354 + //line php7/php7.y:364 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 94: + case 95: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:359 + //line php7/php7.y:369 { yyVAL.node = yyDollar[2].node } - case 95: + case 96: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:360 + //line php7/php7.y:370 { yyVAL.node = yyDollar[3].node.(*stmt.GroupUse).SetUseType(yyDollar[2].node) } - case 96: + case 97: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:362 + //line php7/php7.y:372 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 97: + case 98: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:367 + //line php7/php7.y:377 { yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) } - case 98: + case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:369 + //line php7/php7.y:379 { yyVAL.node = stmt.NewConstList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 99: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:378 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:384 + //line php7/php7.y:388 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 101: - yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:393 + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:394 { - name := name.NewName(yyDollar[1].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) - yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[6].token)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) - comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 102: - yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:403 - { - name := name.NewName(yyDollar[2].list) - positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) - yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) - - comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 103: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:416 + //line php7/php7.y:403 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2696,9 +2719,9 @@ yydefault: comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 104: + case 103: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:426 + //line php7/php7.y:413 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2708,57 +2731,81 @@ yydefault: comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 107: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:444 + case 104: + yyDollar = yyS[yypt-6 : yypt+1] + //line php7/php7.y:426 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + name := name.NewName(yyDollar[1].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[6].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) + } + case 105: + yyDollar = yyS[yypt-7 : yypt+1] + //line php7/php7.y:436 + { + name := name.NewName(yyDollar[2].list) + positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) + + comments.AddComments(name, ListGetFirstNodeComments(yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 108: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:445 + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:454 { - yyVAL.list = []node.Node{yyDollar[1].node} + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 109: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:450 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) - } - case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:451 - { - yyVAL.list = []node.Node{yyDollar[1].node} - } - case 111: - yyDollar = yyS[yypt-3 : yypt+1] //line php7/php7.y:455 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 110: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:460 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 112: + case 111: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:456 + //line php7/php7.y:461 { yyVAL.list = []node.Node{yyDollar[1].node} } + case 112: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:465 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } case 113: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:460 + //line php7/php7.y:466 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 114: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:470 { yyVAL.node = yyDollar[1].node } - case 114: + case 115: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:461 + //line php7/php7.y:471 { yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) } - case 115: + case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:466 + //line php7/php7.y:476 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2768,9 +2815,9 @@ yydefault: comments.AddComments(name, ListGetFirstNodeComments(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 116: + case 117: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:476 + //line php7/php7.y:486 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2783,103 +2830,112 @@ yydefault: comments.AddComments(alias, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 117: + case 118: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:491 + //line php7/php7.y:501 { yyVAL.node = yyDollar[1].node } - case 118: + case 119: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:492 + //line php7/php7.y:502 { yyVAL.node = yyDollar[2].node } - case 119: + case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:496 + //line php7/php7.y:506 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 120: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:497 - { - yyVAL.list = []node.Node{yyDollar[1].node} - } case 121: - yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:501 - { - yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) - } - case 122: - yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:502 - { - yyVAL.list = []node.Node{} - } - case 123: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:506 - { - yyVAL.node = yyDollar[1].node - } - case 124: yyDollar = yyS[yypt-1 : yypt+1] //line php7/php7.y:507 { - yyVAL.node = yyDollar[1].node + yyVAL.list = []node.Node{yyDollar[1].node} } - case 125: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:508 - { - yyVAL.node = yyDollar[1].node - } - case 126: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:509 - { - yyVAL.node = yyDollar[1].node - } - case 127: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:510 - { - yyVAL.node = yyDollar[1].node - } - case 128: - yyDollar = yyS[yypt-4 : yypt+1] + case 122: + yyDollar = yyS[yypt-2 : yypt+1] //line php7/php7.y:512 { - yyVAL.node = stmt.NewHaltCompiler() - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + if yyDollar[2].node != nil { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } } - case 129: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:520 + case 123: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:517 { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + yyVAL.list = []node.Node{} } - case 130: + case 124: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:525 + //line php7/php7.y:522 { - yyVAL.node = yyDollar[1].node + // error + yyVAL.node = nil } - case 131: + case 125: yyDollar = yyS[yypt-1 : yypt+1] //line php7/php7.y:526 { yyVAL.node = yyDollar[1].node } - case 132: - yyDollar = yyS[yypt-5 : yypt+1] + case 126: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:527 + { + yyVAL.node = yyDollar[1].node + } + case 127: + yyDollar = yyS[yypt-1 : yypt+1] //line php7/php7.y:528 + { + yyVAL.node = yyDollar[1].node + } + case 128: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:529 + { + yyVAL.node = yyDollar[1].node + } + case 129: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:530 + { + yyVAL.node = yyDollar[1].node + } + case 130: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:532 + { + yyVAL.node = stmt.NewHaltCompiler() + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 131: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:540 + { + yyVAL.node = stmt.NewStmtList(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 132: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:545 + { + yyVAL.node = yyDollar[1].node + } + case 133: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:546 + { + yyVAL.node = yyDollar[1].node + } + case 134: + yyDollar = yyS[yypt-5 : yypt+1] + //line php7/php7.y:548 { if yyDollar[5].altSyntaxNode.isAlt { yyVAL.node = stmt.NewAltWhile(yyDollar[3].node, yyDollar[5].altSyntaxNode.node) @@ -2889,17 +2945,17 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].altSyntaxNode.node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 133: + case 135: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:538 + //line php7/php7.y:558 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 134: + case 136: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:544 + //line php7/php7.y:564 { if yyDollar[9].altSyntaxNode.isAlt { yyVAL.node = stmt.NewAltFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].altSyntaxNode.node) @@ -2909,9 +2965,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].altSyntaxNode.node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 135: + case 137: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:554 + //line php7/php7.y:574 { if yyDollar[5].nodesWithEndToken.endToken.Value == ";" { yyVAL.node = stmt.NewAltSwitch(yyDollar[3].node, yyDollar[5].nodesWithEndToken.nodes) @@ -2921,81 +2977,81 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 136: + case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:564 + //line php7/php7.y:584 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 137: + case 139: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:570 + //line php7/php7.y:590 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 138: + case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:576 + //line php7/php7.y:596 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 139: + case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:582 + //line php7/php7.y:602 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 140: + case 142: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:588 + //line php7/php7.y:608 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 141: + case 143: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:594 + //line php7/php7.y:614 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 142: + case 144: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:600 + //line php7/php7.y:620 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 143: + case 145: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:606 + //line php7/php7.y:626 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 144: + case 146: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:612 + //line php7/php7.y:632 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 145: + case 147: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:618 + //line php7/php7.y:638 { if yyDollar[7].altSyntaxNode.isAlt { yyVAL.node = stmt.NewAltForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[7].altSyntaxNode.node, yyDollar[5].foreachVariable.byRef) @@ -3005,9 +3061,9 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].altSyntaxNode.node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 146: + case 148: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:628 + //line php7/php7.y:648 { if yyDollar[9].altSyntaxNode.isAlt { yyVAL.node = stmt.NewAltForeach(yyDollar[3].node, yyDollar[5].node, yyDollar[7].foreachVariable.node, yyDollar[9].altSyntaxNode.node, yyDollar[7].foreachVariable.byRef) @@ -3017,25 +3073,25 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].altSyntaxNode.node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 147: + case 149: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:638 + //line php7/php7.y:658 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 148: + case 150: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:644 + //line php7/php7.y:664 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 149: + case 151: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:650 + //line php7/php7.y:670 { if yyDollar[6].node == nil { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -3047,17 +3103,17 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 150: + case 152: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:662 + //line php7/php7.y:682 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 151: + case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:668 + //line php7/php7.y:688 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3067,9 +3123,9 @@ yydefault: comments.AddComments(label, yyDollar[2].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 152: + case 154: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:678 + //line php7/php7.y:698 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3079,15 +3135,15 @@ yydefault: comments.AddComments(label, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 153: + case 155: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:689 + //line php7/php7.y:709 { yyVAL.list = []node.Node{} } - case 154: + case 156: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:691 + //line php7/php7.y:711 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[5].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[5].token)) @@ -3101,53 +3157,53 @@ yydefault: comments.AddComments(variable, yyDollar[5].token.Comments()) comments.AddComments(catch, yyDollar[2].token.Comments()) } - case 155: + case 157: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:706 + //line php7/php7.y:726 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 156: + case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:707 + //line php7/php7.y:727 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 157: + case 159: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:711 + //line php7/php7.y:731 { yyVAL.node = nil } - case 158: + case 160: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:713 + //line php7/php7.y:733 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 159: + case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:721 + //line php7/php7.y:741 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 160: + case 162: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:722 + //line php7/php7.y:742 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 161: + case 163: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:726 + //line php7/php7.y:746 { yyVAL.node = yyDollar[1].node } - case 162: + case 164: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:731 + //line php7/php7.y:751 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3157,33 +3213,33 @@ yydefault: comments.AddComments(name, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 163: - yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:743 - { - yyVAL.boolWithToken = boolWithToken{false, nil} - } - case 164: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:744 - { - yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} - } case 165: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:748 + //line php7/php7.y:763 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:749 + //line php7/php7.y:764 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 167: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:768 + { + yyVAL.boolWithToken = boolWithToken{false, nil} + } + case 168: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:769 + { + yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} + } + case 169: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:754 + //line php7/php7.y:774 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3193,9 +3249,9 @@ yydefault: comments.AddComments(name, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 168: + case 170: yyDollar = yyS[yypt-8 : yypt+1] - //line php7/php7.y:764 + //line php7/php7.y:784 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3205,37 +3261,37 @@ yydefault: comments.AddComments(name, yyDollar[2].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 169: + case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:776 + //line php7/php7.y:796 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 170: + case 172: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:777 + //line php7/php7.y:797 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 171: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:782 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 172: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:788 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 173: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:802 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 174: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:808 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 175: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:797 + //line php7/php7.y:817 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3245,9 +3301,9 @@ yydefault: comments.AddComments(name, yyDollar[2].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 174: + case 176: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:810 + //line php7/php7.y:830 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3257,184 +3313,184 @@ yydefault: comments.AddComments(name, yyDollar[2].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 175: + case 177: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:822 + //line php7/php7.y:842 { yyVAL.node = nil } - case 176: + case 178: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:823 + //line php7/php7.y:843 { yyVAL.node = yyDollar[2].node } - case 177: - yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:827 - { - yyVAL.list = nil - } - case 178: - yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:828 - { - yyVAL.list = yyDollar[2].list - } case 179: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:832 + //line php7/php7.y:847 { yyVAL.list = nil } case 180: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:833 + //line php7/php7.y:848 { yyVAL.list = yyDollar[2].list } case 181: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:837 + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:852 { - yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} + yyVAL.list = nil } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:838 + //line php7/php7.y:853 + { + yyVAL.list = yyDollar[2].list + } + case 183: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:857 + { + yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} + } + case 184: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:858 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } - case 183: + case 185: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:840 + //line php7/php7.y:860 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) yyVAL.foreachVariable = foreachVariable{list, false} comments.AddComments(list, yyDollar[1].token.Comments()) } - case 184: + case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:847 + //line php7/php7.y:867 { list := expr.NewShortList(yyDollar[2].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) yyVAL.foreachVariable = foreachVariable{list, false} comments.AddComments(list, yyDollar[1].token.Comments()) } - case 185: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:857 - { - yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} - } - case 186: - yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:859 - { - yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} - positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:867 + //line php7/php7.y:877 { yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} } case 188: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:869 + //line php7/php7.y:879 { yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:876 + //line php7/php7.y:887 { - yyVAL.node = yyDollar[1].node + yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:878 + //line php7/php7.y:889 + { + yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} + positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + } + case 191: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:896 + { + yyVAL.node = yyDollar[1].node + } + case 192: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:898 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 191: + case 193: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:886 + //line php7/php7.y:906 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } - case 192: + case 194: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:887 + //line php7/php7.y:907 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } - case 193: + case 195: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:888 + //line php7/php7.y:908 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } - case 194: + case 196: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:889 + //line php7/php7.y:909 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } - case 195: + case 197: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:893 + //line php7/php7.y:913 { yyVAL.list = []node.Node{} } - case 196: + case 198: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:895 + //line php7/php7.y:915 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) yyVAL.list = append(yyDollar[1].list, _case) comments.AddComments(_case, yyDollar[2].token.Comments()) } - case 197: + case 199: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:902 + //line php7/php7.y:922 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) yyVAL.list = append(yyDollar[1].list, _default) comments.AddComments(_default, yyDollar[2].token.Comments()) } - case 200: + case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:917 + //line php7/php7.y:937 { yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} } - case 201: + case 203: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:919 + //line php7/php7.y:939 { yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } - case 202: + case 204: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:927 + //line php7/php7.y:947 { yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node, nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 203: + case 205: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:933 + //line php7/php7.y:953 { _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) @@ -3443,15 +3499,15 @@ yydefault: comments.AddComments(_elseIf, yyDollar[2].token.Comments()) } - case 204: + case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:944 + //line php7/php7.y:964 { yyVAL.node = yyDollar[1].node } - case 205: + case 207: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:946 + //line php7/php7.y:966 { _else := stmt.NewElse(yyDollar[3].node) positions.AddPosition(_else, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node)) @@ -3460,9 +3516,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[2].token.Comments()) } - case 206: + case 208: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:958 + //line php7/php7.y:978 { stmts := stmt.NewStmtList(yyDollar[6].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[6].list)) @@ -3472,9 +3528,9 @@ yydefault: comments.AddComments(stmts, yyDollar[5].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 207: + case 209: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:968 + //line php7/php7.y:988 { stmts := stmt.NewStmtList(yyDollar[7].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[7].list)) @@ -3485,16 +3541,16 @@ yydefault: comments.AddComments(stmts, yyDollar[6].token.Comments()) comments.AddComments(_elseIf, yyDollar[2].token.Comments()) } - case 208: + case 210: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:982 + //line php7/php7.y:1002 { yyVAL.node = yyDollar[1].node positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } - case 209: + case 211: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:987 + //line php7/php7.y:1007 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -3506,33 +3562,33 @@ yydefault: comments.AddComments(stmts, yyDollar[3].token.Comments()) comments.AddComments(_else, yyDollar[2].token.Comments()) } - case 210: + case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1001 + //line php7/php7.y:1021 { yyVAL.list = yyDollar[1].list } - case 211: + case 213: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1002 + //line php7/php7.y:1022 { yyVAL.list = nil } - case 212: + case 214: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1006 + //line php7/php7.y:1026 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 213: + case 215: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1007 + //line php7/php7.y:1027 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 214: + case 216: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1012 + //line php7/php7.y:1032 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3560,9 +3616,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) } } - case 215: + case 217: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1040 + //line php7/php7.y:1060 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3590,139 +3646,139 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) } } - case 216: + case 218: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1070 + //line php7/php7.y:1090 { yyVAL.node = nil } - case 217: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1071 - { - yyVAL.node = yyDollar[1].node - } - case 218: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1075 - { - yyVAL.node = yyDollar[1].node - } case 219: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1091 + { + yyVAL.node = yyDollar[1].node + } + case 220: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1095 + { + yyVAL.node = yyDollar[1].node + } + case 221: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1077 + //line php7/php7.y:1097 { yyVAL.node = node.NewNullable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 220: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1086 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 221: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1092 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1097 + //line php7/php7.y:1106 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 223: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1112 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 224: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1117 { yyVAL.node = yyDollar[1].node } - case 223: + case 225: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1101 + //line php7/php7.y:1121 { yyVAL.node = nil } - case 224: + case 226: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1102 + //line php7/php7.y:1122 { yyVAL.node = yyDollar[2].node } - case 225: + case 227: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1106 + //line php7/php7.y:1126 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } - case 226: + case 228: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1107 + //line php7/php7.y:1127 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } - case 227: + case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1111 + //line php7/php7.y:1131 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 228: + case 230: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1112 + //line php7/php7.y:1132 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 229: + case 231: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1117 + //line php7/php7.y:1137 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 230: + case 232: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1123 + //line php7/php7.y:1143 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 231: + case 233: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1131 + //line php7/php7.y:1151 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 232: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1132 - { - yyVAL.list = []node.Node{yyDollar[1].node} - } - case 233: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1136 - { - yyVAL.node = yyDollar[1].node - } case 234: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1140 + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1152 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + yyVAL.list = []node.Node{yyDollar[1].node} } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1141 + //line php7/php7.y:1156 + { + yyVAL.node = yyDollar[1].node + } + case 236: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1160 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 237: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1161 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 236: + case 238: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1146 + //line php7/php7.y:1166 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3735,9 +3791,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 237: + case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1159 + //line php7/php7.y:1179 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3750,45 +3806,45 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 238: + case 240: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1174 + //line php7/php7.y:1194 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 239: + case 241: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1175 + //line php7/php7.y:1195 { yyVAL.list = []node.Node{} } - case 240: + case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1180 + //line php7/php7.y:1200 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 241: + case 243: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1186 + //line php7/php7.y:1206 { yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 242: + case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1192 + //line php7/php7.y:1212 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 243: + case 245: yyDollar = yyS[yypt-10 : yypt+1] - //line php7/php7.y:1198 + //line php7/php7.y:1218 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3798,95 +3854,95 @@ yydefault: comments.AddComments(name, yyDollar[4].token.Comments()) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 244: + case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1210 + //line php7/php7.y:1230 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 245: + case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1211 + //line php7/php7.y:1231 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 246: + case 248: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1215 + //line php7/php7.y:1235 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } - case 247: + case 249: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1216 + //line php7/php7.y:1236 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[2].token} } - case 248: + case 250: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1217 + //line php7/php7.y:1237 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } - case 249: + case 251: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1221 + //line php7/php7.y:1241 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 250: + case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1222 + //line php7/php7.y:1242 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 251: - yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1226 - { - yyVAL.node = yyDollar[1].node - } - case 252: - yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1227 - { - yyVAL.node = yyDollar[1].node - } case 253: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1246 + { + yyVAL.node = yyDollar[1].node + } + case 254: + yyDollar = yyS[yypt-2 : yypt+1] + //line php7/php7.y:1247 + { + yyVAL.node = yyDollar[1].node + } + case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1232 + //line php7/php7.y:1252 { yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 254: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1241 - { - alias := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(alias, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 255: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1251 - { - alias := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(alias, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } case 256: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line php7/php7.y:1261 + { + alias := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(alias, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 257: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1271 + { + alias := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(alias, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 258: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1281 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3896,17 +3952,17 @@ yydefault: comments.AddComments(alias, yyDollar[4].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 257: + case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1271 + //line php7/php7.y:1291 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 258: + case 260: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1280 + //line php7/php7.y:1300 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3916,15 +3972,15 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 259: + case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1289 + //line php7/php7.y:1309 { yyVAL.node = yyDollar[1].node } - case 260: + case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1294 + //line php7/php7.y:1314 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3934,76 +3990,60 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 261: + case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1306 + //line php7/php7.y:1326 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } - case 262: + case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1307 + //line php7/php7.y:1327 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } - case 263: + case 265: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1311 + //line php7/php7.y:1331 { yyVAL.list = yyDollar[1].list } - case 264: + case 266: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1313 + //line php7/php7.y:1333 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{modifier} comments.AddComments(modifier, yyDollar[1].token.Comments()) } - case 265: + case 267: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1322 + //line php7/php7.y:1342 { yyVAL.list = nil } - case 266: + case 268: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1323 + //line php7/php7.y:1343 { yyVAL.list = yyDollar[1].list } - case 267: + case 269: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1327 + //line php7/php7.y:1347 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 268: + case 270: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1328 + //line php7/php7.y:1348 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 269: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1333 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 270: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1339 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 271: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1345 + //line php7/php7.y:1353 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4011,7 +4051,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1351 + //line php7/php7.y:1359 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4019,7 +4059,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1357 + //line php7/php7.y:1365 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4027,27 +4067,43 @@ yydefault: } case 274: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1363 + //line php7/php7.y:1371 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 275: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1371 + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1377 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 276: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1372 + //line php7/php7.y:1383 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 277: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1391 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 278: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1392 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 277: + case 279: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1377 + //line php7/php7.y:1397 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4060,9 +4116,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 278: + case 280: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1390 + //line php7/php7.y:1410 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4075,33 +4131,21 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 279: + case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1405 + //line php7/php7.y:1425 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 280: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1406 - { - yyVAL.list = []node.Node{yyDollar[1].node} - } - case 281: - yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1411 - { - name := node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) - yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) - - comments.AddComments(name, yyDollar[1].token.Comments()) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 282: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1426 + { + yyVAL.list = []node.Node{yyDollar[1].node} + } + case 283: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1424 + //line php7/php7.y:1431 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4111,51 +4155,63 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 283: + case 284: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:1444 + { + name := node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) + + comments.AddComments(name, yyDollar[1].token.Comments()) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 285: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1436 + //line php7/php7.y:1456 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 284: + case 286: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1437 + //line php7/php7.y:1457 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 285: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1441 - { - yyVAL.node = yyDollar[1].node - } - case 286: - yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1445 - { - yyVAL.list = nil - } case 287: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1446 + //line php7/php7.y:1461 { - yyVAL.list = yyDollar[1].list + yyVAL.node = yyDollar[1].node } case 288: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1449 + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:1465 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + yyVAL.list = nil } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1450 + //line php7/php7.y:1466 + { + yyVAL.list = yyDollar[1].list + } + case 290: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:1469 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + } + case 291: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:1470 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 290: + case 292: yyDollar = yyS[yypt-8 : yypt+1] - //line php7/php7.y:1455 + //line php7/php7.y:1475 { if yyDollar[2].nodesWithEndToken != nil { yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) @@ -4167,9 +4223,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 291: + case 293: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1470 + //line php7/php7.y:1490 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4181,15 +4237,15 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 292: + case 294: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1481 + //line php7/php7.y:1501 { yyVAL.node = expr.NewNew(yyDollar[2].node, nil) } - case 293: + case 295: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1486 + //line php7/php7.y:1506 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4199,9 +4255,9 @@ yydefault: comments.AddComments(list, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 294: + case 296: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1496 + //line php7/php7.y:1516 { shortList := expr.NewShortList(yyDollar[2].list) positions.AddPosition(shortList, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4211,507 +4267,507 @@ yydefault: comments.AddComments(shortList, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 295: + case 297: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1506 + //line php7/php7.y:1526 { yyVAL.node = assign.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 296: + case 298: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1512 + //line php7/php7.y:1532 { yyVAL.node = assign.NewReference(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 297: + case 299: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1518 + //line php7/php7.y:1538 { yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 298: + case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1524 + //line php7/php7.y:1544 { yyVAL.node = assign.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 299: + case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1530 + //line php7/php7.y:1550 { yyVAL.node = assign.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 300: + case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1536 + //line php7/php7.y:1556 { yyVAL.node = assign.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 301: + case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1542 + //line php7/php7.y:1562 { yyVAL.node = assign.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 302: + case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1548 + //line php7/php7.y:1568 { yyVAL.node = assign.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 303: + case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1554 + //line php7/php7.y:1574 { yyVAL.node = assign.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 304: + case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1560 + //line php7/php7.y:1580 { yyVAL.node = assign.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 305: + case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1566 + //line php7/php7.y:1586 { yyVAL.node = assign.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 306: + case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1572 + //line php7/php7.y:1592 { yyVAL.node = assign.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 307: + case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1578 + //line php7/php7.y:1598 { yyVAL.node = assign.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 308: + case 310: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1584 + //line php7/php7.y:1604 { yyVAL.node = assign.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 309: + case 311: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1590 + //line php7/php7.y:1610 { yyVAL.node = assign.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 310: + case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1596 + //line php7/php7.y:1616 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 311: + case 313: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1602 + //line php7/php7.y:1622 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 312: + case 314: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1608 + //line php7/php7.y:1628 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 313: + case 315: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1614 + //line php7/php7.y:1634 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 314: + case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1620 + //line php7/php7.y:1640 { yyVAL.node = binary.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 315: + case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1626 + //line php7/php7.y:1646 { yyVAL.node = binary.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 316: + case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1632 + //line php7/php7.y:1652 { yyVAL.node = binary.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 317: + case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1638 + //line php7/php7.y:1658 { yyVAL.node = binary.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 318: + case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1644 + //line php7/php7.y:1664 { yyVAL.node = binary.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 319: + case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1650 + //line php7/php7.y:1670 { yyVAL.node = binary.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 320: + case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1656 + //line php7/php7.y:1676 { yyVAL.node = binary.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 321: + case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1662 + //line php7/php7.y:1682 { yyVAL.node = binary.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 322: + case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1668 + //line php7/php7.y:1688 { yyVAL.node = binary.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 323: + case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1674 + //line php7/php7.y:1694 { yyVAL.node = binary.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 324: + case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1680 + //line php7/php7.y:1700 { yyVAL.node = binary.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 325: + case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1686 + //line php7/php7.y:1706 { yyVAL.node = binary.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 326: + case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1692 + //line php7/php7.y:1712 { yyVAL.node = binary.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 327: + case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1698 + //line php7/php7.y:1718 { yyVAL.node = binary.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 328: + case 330: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1704 + //line php7/php7.y:1724 { yyVAL.node = binary.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 329: + case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1710 + //line php7/php7.y:1730 { yyVAL.node = binary.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 330: + case 332: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1716 + //line php7/php7.y:1736 { yyVAL.node = binary.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 331: + case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1722 + //line php7/php7.y:1742 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 332: + case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1728 + //line php7/php7.y:1748 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 333: + case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1734 + //line php7/php7.y:1754 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 334: + case 336: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1740 + //line php7/php7.y:1760 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 335: + case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1746 + //line php7/php7.y:1766 { yyVAL.node = binary.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 336: + case 338: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1752 + //line php7/php7.y:1772 { yyVAL.node = binary.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 337: + case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1758 + //line php7/php7.y:1778 { yyVAL.node = binary.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 338: + case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1764 + //line php7/php7.y:1784 { yyVAL.node = binary.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 339: + case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1770 + //line php7/php7.y:1790 { yyVAL.node = binary.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 340: + case 342: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1776 + //line php7/php7.y:1796 { yyVAL.node = binary.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 341: + case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1782 + //line php7/php7.y:1802 { yyVAL.node = binary.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 342: + case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1788 + //line php7/php7.y:1808 { yyVAL.node = binary.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 343: + case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1794 + //line php7/php7.y:1814 { yyVAL.node = binary.NewSpaceship(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 344: + case 346: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1800 + //line php7/php7.y:1820 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 345: + case 347: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1805 + //line php7/php7.y:1825 { yyVAL.node = yyDollar[2].node } - case 346: + case 348: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1806 + //line php7/php7.y:1826 { yyVAL.node = yyDollar[1].node } - case 347: + case 349: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1808 + //line php7/php7.y:1828 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 348: + case 350: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1814 + //line php7/php7.y:1834 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 349: + case 351: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1820 + //line php7/php7.y:1840 { yyVAL.node = binary.NewCoalesce(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 350: + case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1825 + //line php7/php7.y:1845 { yyVAL.node = yyDollar[1].node } - case 351: + case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1827 + //line php7/php7.y:1847 { yyVAL.node = cast.NewInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 352: + case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1833 + //line php7/php7.y:1853 { yyVAL.node = cast.NewDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 353: + case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1839 + //line php7/php7.y:1859 { yyVAL.node = cast.NewString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 354: + case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1845 + //line php7/php7.y:1865 { yyVAL.node = cast.NewArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 355: + case 357: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1851 + //line php7/php7.y:1871 { yyVAL.node = cast.NewObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 356: + case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1857 + //line php7/php7.y:1877 { yyVAL.node = cast.NewBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 357: + case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1863 + //line php7/php7.y:1883 { yyVAL.node = cast.NewUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 358: + case 360: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1869 + //line php7/php7.y:1889 { if strings.EqualFold(yyDollar[1].token.Value, "die") { yyVAL.node = expr.NewDie(yyDollar[2].node) @@ -4721,132 +4777,132 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 359: + case 361: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1879 + //line php7/php7.y:1899 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 360: + case 362: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1884 + //line php7/php7.y:1904 { yyVAL.node = yyDollar[1].node } - case 361: + case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1886 + //line php7/php7.y:1906 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 362: + case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1892 + //line php7/php7.y:1912 { yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 363: + case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1898 + //line php7/php7.y:1918 { yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 364: + case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1904 + //line php7/php7.y:1924 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 365: + case 367: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1910 + //line php7/php7.y:1930 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 366: + case 368: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1916 + //line php7/php7.y:1936 { yyVAL.node = expr.NewYieldFrom(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 367: + case 369: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:1922 + //line php7/php7.y:1942 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 368: + case 370: yyDollar = yyS[yypt-12 : yypt+1] - //line php7/php7.y:1929 + //line php7/php7.y:1949 { yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 369: + case 371: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1938 + //line php7/php7.y:1958 { yyVAL.str = yylex.(*lexer).PhpDocComment yylex.(*lexer).PhpDocComment = "" } - case 370: + case 372: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1942 + //line php7/php7.y:1962 { yyVAL.boolWithToken = boolWithToken{false, nil} } - case 371: + case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1943 + //line php7/php7.y:1963 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } - case 372: + case 374: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1947 + //line php7/php7.y:1967 { yyVAL.list = []node.Node{} } - case 373: + case 375: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1948 + //line php7/php7.y:1968 { yyVAL.list = yyDollar[3].list } - case 374: + case 376: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1952 + //line php7/php7.y:1972 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 375: + case 377: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1953 + //line php7/php7.y:1973 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 376: + case 378: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1958 + //line php7/php7.y:1978 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4859,9 +4915,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 377: + case 379: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1971 + //line php7/php7.y:1991 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[2].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4874,165 +4930,149 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 378: + case 380: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1987 + //line php7/php7.y:2007 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 379: - yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1993 - { - yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 380: - yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1999 - { - yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } case 381: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2013 + { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 382: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2019 + { + yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 383: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2005 + //line php7/php7.y:2025 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 382: + case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2014 + //line php7/php7.y:2034 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 383: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2019 - { - yyVAL.node = yyDollar[1].node - } - case 384: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2023 - { - yyVAL.node = yyDollar[1].node - } case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2024 + //line php7/php7.y:2039 { yyVAL.node = yyDollar[1].node } case 386: - yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2028 + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2043 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } case 387: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2029 + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2044 { - yyVAL.node = yyDollar[2].node + yyVAL.node = yyDollar[1].node } case 388: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2033 + //line php7/php7.y:2048 + { + yyVAL.node = nil + } + case 389: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2049 + { + yyVAL.node = yyDollar[2].node + } + case 390: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:2053 { yyVAL.list = []node.Node{} } - case 389: + case 391: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2034 + //line php7/php7.y:2054 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } - case 390: + case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2035 + //line php7/php7.y:2055 { yyVAL.list = yyDollar[1].list } - case 391: + case 393: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2039 + //line php7/php7.y:2059 { yyVAL.nodesWithEndToken = nil } - case 392: + case 394: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2040 + //line php7/php7.y:2060 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } - case 393: + case 395: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2045 + //line php7/php7.y:2065 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 394: + case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2051 + //line php7/php7.y:2071 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 395: + case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2057 + //line php7/php7.y:2077 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 396: + case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2066 + //line php7/php7.y:2086 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 397: + case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2072 + //line php7/php7.y:2092 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 398: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2078 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 399: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2084 - { - yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2090 + //line php7/php7.y:2098 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5040,7 +5080,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2096 + //line php7/php7.y:2104 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5048,7 +5088,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2102 + //line php7/php7.y:2110 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5056,7 +5096,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2108 + //line php7/php7.y:2116 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5064,7 +5104,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2114 + //line php7/php7.y:2122 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5072,15 +5112,31 @@ yydefault: } case 405: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2120 + //line php7/php7.y:2128 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 406: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2134 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 407: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2140 + { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2126 + //line php7/php7.y:2146 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5090,165 +5146,149 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 407: + case 409: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2136 + //line php7/php7.y:2156 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 408: + case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2142 + //line php7/php7.y:2162 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 409: + case 411: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2148 + //line php7/php7.y:2168 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 410: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2153 - { - yyVAL.node = yyDollar[1].node - } - case 411: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2154 - { - yyVAL.node = yyDollar[1].node - } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2159 + //line php7/php7.y:2173 + { + yyVAL.node = yyDollar[1].node + } + case 413: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2174 + { + yyVAL.node = yyDollar[1].node + } + case 414: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2179 { yyVAL.node = expr.NewConstFetch(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 413: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2165 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 414: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2175 - { - target := node.NewIdentifier(yyDollar[3].token.Value) - positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) - yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) - - comments.AddComments(target, yyDollar[3].token.Comments()) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } case 415: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2187 + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2185 { - yyVAL.node = yyDollar[1].node + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 416: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2188 + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2195 { - yyVAL.node = yyDollar[1].node + target := node.NewIdentifier(yyDollar[3].token.Value) + positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) + + comments.AddComments(target, yyDollar[3].token.Comments()) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 417: - yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2192 - { - yyVAL.node = nil - } - case 418: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2193 - { - yyVAL.node = yyDollar[1].node - } - case 419: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2197 - { - yyVAL.node = yyDollar[1].node - } - case 420: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2201 - { - yyVAL.node = yyDollar[1].node - } - case 421: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2202 - { - yyVAL.node = yyDollar[2].node - } - case 422: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2203 - { - yyVAL.node = yyDollar[1].node - } - case 423: yyDollar = yyS[yypt-1 : yypt+1] //line php7/php7.y:2207 { yyVAL.node = yyDollar[1].node } - case 424: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2208 - { - yyVAL.node = yyDollar[2].node - } - case 425: + case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2209 + //line php7/php7.y:2208 { yyVAL.node = yyDollar[1].node } - case 426: + case 419: + yyDollar = yyS[yypt-0 : yypt+1] + //line php7/php7.y:2212 + { + yyVAL.node = nil + } + case 420: yyDollar = yyS[yypt-1 : yypt+1] //line php7/php7.y:2213 { yyVAL.node = yyDollar[1].node } - case 427: - yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2215 + case 421: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2217 { - 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]) + yyVAL.node = yyDollar[1].node } - case 428: - yyDollar = yyS[yypt-4 : yypt+1] + case 422: + yyDollar = yyS[yypt-1 : yypt+1] //line php7/php7.y:2221 { - 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]) + yyVAL.node = yyDollar[1].node + } + case 423: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2222 + { + yyVAL.node = yyDollar[2].node + } + case 424: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2223 + { + yyVAL.node = yyDollar[1].node + } + case 425: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2227 + { + yyVAL.node = yyDollar[1].node + } + case 426: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2228 + { + yyVAL.node = yyDollar[2].node + } + case 427: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2229 + { + yyVAL.node = yyDollar[1].node + } + case 428: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2233 + { + yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2227 + //line php7/php7.y:2235 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5256,41 +5296,57 @@ yydefault: } case 430: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2233 + //line php7/php7.y:2241 + { + 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 431: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2247 + { + 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 432: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2253 { yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 431: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2238 - { - yyVAL.node = yyDollar[1].node - } - case 432: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2242 - { - yyVAL.node = yyDollar[1].node - } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2243 + //line php7/php7.y:2258 { yyVAL.node = yyDollar[1].node } case 434: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2262 + { + yyVAL.node = yyDollar[1].node + } + case 435: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2263 + { + yyVAL.node = yyDollar[1].node + } + case 436: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2245 + //line php7/php7.y:2265 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 435: + case 437: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2254 + //line php7/php7.y:2274 { name := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5300,127 +5356,127 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 436: + case 438: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2264 + //line php7/php7.y:2284 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 437: + case 439: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2270 + //line php7/php7.y:2290 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 438: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2279 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 439: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2285 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } case 440: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2293 + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2299 { - yyVAL.node = yyDollar[1].node + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 441: - yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2295 + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2305 { - yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 442: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2313 + { + yyVAL.node = yyDollar[1].node + } + case 443: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2301 + //line php7/php7.y:2315 { 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 443: + case 444: + yyDollar = yyS[yypt-4 : yypt+1] + //line php7/php7.y:2321 + { + 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 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2307 + //line php7/php7.y:2327 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 444: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2313 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } - case 445: - yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2319 - { - yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) - comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) - } case 446: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2328 - { - yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) - } - case 447: yyDollar = yyS[yypt-3 : yypt+1] //line php7/php7.y:2333 { - yyVAL.node = yyDollar[2].node + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 447: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2339 + { + yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 448: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2334 - { - yyVAL.node = yyDollar[1].node - } - case 449: - yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2339 + //line php7/php7.y:2348 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 450: + case 449: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2344 + //line php7/php7.y:2353 { yyVAL.node = yyDollar[2].node } - case 451: + case 450: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2345 + //line php7/php7.y:2354 { yyVAL.node = yyDollar[1].node } - case 452: + case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2350 + //line php7/php7.y:2359 + { + yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + } + case 452: + yyDollar = yyS[yypt-3 : yypt+1] + //line php7/php7.y:2364 + { + yyVAL.node = yyDollar[2].node + } + case 453: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2365 + { + yyVAL.node = yyDollar[1].node + } + case 454: + yyDollar = yyS[yypt-1 : yypt+1] + //line php7/php7.y:2370 { if yyDollar[1].list[len(yyDollar[1].list)-1] == nil { yyVAL.list = yyDollar[1].list[:len(yyDollar[1].list)-1] @@ -5428,65 +5484,65 @@ yydefault: yyVAL.list = yyDollar[1].list } } - case 453: + case 455: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2360 + //line php7/php7.y:2380 { yyVAL.node = nil } - case 454: + case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2361 + //line php7/php7.y:2381 { yyVAL.node = yyDollar[1].node } - case 455: + case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2366 + //line php7/php7.y:2386 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 456: + case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2367 + //line php7/php7.y:2387 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 457: + case 459: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2372 + //line php7/php7.y:2392 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 458: + case 460: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2378 + //line php7/php7.y:2398 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 459: + case 461: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2384 + //line php7/php7.y:2404 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 460: + case 462: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2390 + //line php7/php7.y:2410 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 461: + case 463: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2396 + //line php7/php7.y:2416 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[5].list) @@ -5497,9 +5553,9 @@ yydefault: comments.AddComments(list, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 462: + case 464: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2407 + //line php7/php7.y:2427 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[3].list) @@ -5510,39 +5566,39 @@ yydefault: comments.AddComments(list, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 463: + case 465: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2420 + //line php7/php7.y:2440 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } - case 464: + case 466: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2422 + //line php7/php7.y:2442 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } - case 465: + case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2428 + //line php7/php7.y:2448 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 466: + case 468: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2430 + //line php7/php7.y:2450 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } - case 467: + case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2440 + //line php7/php7.y:2460 { name := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5552,9 +5608,9 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 468: + case 470: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2450 + //line php7/php7.y:2470 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5567,9 +5623,9 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 469: + case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2463 + //line php7/php7.y:2483 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5585,17 +5641,17 @@ yydefault: comments.AddComments(fetch, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 470: + case 472: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2479 + //line php7/php7.y:2499 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 471: + case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2485 + //line php7/php7.y:2505 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5605,9 +5661,9 @@ yydefault: comments.AddComments(name, yyDollar[2].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 472: + case 474: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2495 + //line php7/php7.y:2515 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5620,23 +5676,23 @@ yydefault: comments.AddComments(variable, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 473: + case 475: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2508 + //line php7/php7.y:2528 { yyVAL.node = yyDollar[2].node } - case 474: + case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2512 + //line php7/php7.y:2532 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 475: + case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2518 + //line php7/php7.y:2538 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5648,9 +5704,9 @@ yydefault: } comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 476: + case 478: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2530 + //line php7/php7.y:2550 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[2].token.Value); err == nil { @@ -5668,9 +5724,9 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 477: + case 479: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2548 + //line php7/php7.y:2568 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5680,77 +5736,77 @@ yydefault: comments.AddComments(identifier, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 478: + case 480: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:2561 + //line php7/php7.y:2581 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 479: + case 481: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2567 + //line php7/php7.y:2587 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 480: + case 482: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2573 + //line php7/php7.y:2593 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 481: + case 483: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2579 + //line php7/php7.y:2599 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 482: + case 484: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2585 + //line php7/php7.y:2605 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 483: + case 485: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2591 + //line php7/php7.y:2611 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 484: + case 486: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2597 + //line php7/php7.y:2617 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 485: + case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2605 + //line php7/php7.y:2625 { yyVAL.list = []node.Node{yyDollar[1].node} } - case 486: + case 488: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2606 + //line php7/php7.y:2626 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } - case 487: + case 489: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2610 + //line php7/php7.y:2630 { yyVAL.node = yyDollar[1].node } diff --git a/php7/php7.y b/php7/php7.y index ef688ee..73f42c1 100644 --- a/php7/php7.y +++ b/php7/php7.y @@ -281,7 +281,12 @@ identifier: ; top_statement_list: - top_statement_list top_statement { $$ = append($1, $2) } + top_statement_list top_statement + { + if $2 != nil { + $$ = append($1, $2) + } + } | /* empty */ { $$ = []node.Node{} } ; @@ -324,7 +329,12 @@ name: ; top_statement: - statement { $$ = $1; } + error + { + // error + $$ = nil + } + | statement { $$ = $1; } | function_declaration_statement { $$ = $1; } | class_declaration_statement { $$ = $1; } | trait_declaration_statement { $$ = $1; } @@ -498,12 +508,22 @@ const_list: ; inner_statement_list: - inner_statement_list inner_statement { $$ = append($1, $2) } + inner_statement_list inner_statement + { + if $2 != nil { + $$ = append($1, $2) + } + } | /* empty */ { $$ = []node.Node{} } ; inner_statement: - statement { $$ = $1; } + error + { + // error + $$ = nil + } + | statement { $$ = $1; } | function_declaration_statement { $$ = $1; } | class_declaration_statement { $$ = $1; } | trait_declaration_statement { $$ = $1; }