From 1b2071c0c9d4902cad390baad2acaefb8ee0f863 Mon Sep 17 00:00:00 2001 From: Harshit Gangal Date: Wed, 16 Dec 2020 16:57:09 +0530 Subject: [PATCH 1/3] added show priviliges Signed-off-by: Harshit Gangal --- go/vt/sqlparser/sql.go | 6870 ++++++++++++++++++++-------------------- go/vt/sqlparser/sql.y | 7 +- 2 files changed, 3437 insertions(+), 3440 deletions(-) diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index bcce87c10f6..5ec8b3fb997 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -392,133 +392,134 @@ const VITESS_KEYSPACES = 57602 const VITESS_SHARDS = 57603 const VITESS_TABLETS = 57604 const CODE = 57605 -const NAMES = 57606 -const CHARSET = 57607 -const GLOBAL = 57608 -const SESSION = 57609 -const ISOLATION = 57610 -const LEVEL = 57611 -const READ = 57612 -const WRITE = 57613 -const ONLY = 57614 -const REPEATABLE = 57615 -const COMMITTED = 57616 -const UNCOMMITTED = 57617 -const SERIALIZABLE = 57618 -const CURRENT_TIMESTAMP = 57619 -const DATABASE = 57620 -const CURRENT_DATE = 57621 -const CURRENT_TIME = 57622 -const LOCALTIME = 57623 -const LOCALTIMESTAMP = 57624 -const CURRENT_USER = 57625 -const UTC_DATE = 57626 -const UTC_TIME = 57627 -const UTC_TIMESTAMP = 57628 -const REPLACE = 57629 -const CONVERT = 57630 -const CAST = 57631 -const SUBSTR = 57632 -const SUBSTRING = 57633 -const GROUP_CONCAT = 57634 -const SEPARATOR = 57635 -const TIMESTAMPADD = 57636 -const TIMESTAMPDIFF = 57637 -const MATCH = 57638 -const AGAINST = 57639 -const BOOLEAN = 57640 -const LANGUAGE = 57641 -const WITH = 57642 -const QUERY = 57643 -const EXPANSION = 57644 -const UNUSED = 57645 -const ARRAY = 57646 -const CUME_DIST = 57647 -const DESCRIPTION = 57648 -const DENSE_RANK = 57649 -const EMPTY = 57650 -const EXCEPT = 57651 -const FIRST_VALUE = 57652 -const GROUPING = 57653 -const GROUPS = 57654 -const JSON_TABLE = 57655 -const LAG = 57656 -const LAST_VALUE = 57657 -const LATERAL = 57658 -const LEAD = 57659 -const MEMBER = 57660 -const NTH_VALUE = 57661 -const NTILE = 57662 -const OF = 57663 -const OVER = 57664 -const PERCENT_RANK = 57665 -const RANK = 57666 -const RECURSIVE = 57667 -const ROW_NUMBER = 57668 -const SYSTEM = 57669 -const WINDOW = 57670 -const ACTIVE = 57671 -const ADMIN = 57672 -const BUCKETS = 57673 -const CLONE = 57674 -const COMPONENT = 57675 -const DEFINITION = 57676 -const ENFORCED = 57677 -const EXCLUDE = 57678 -const FOLLOWING = 57679 -const GEOMCOLLECTION = 57680 -const GET_MASTER_PUBLIC_KEY = 57681 -const HISTOGRAM = 57682 -const HISTORY = 57683 -const INACTIVE = 57684 -const INVISIBLE = 57685 -const LOCKED = 57686 -const MASTER_COMPRESSION_ALGORITHMS = 57687 -const MASTER_PUBLIC_KEY_PATH = 57688 -const MASTER_TLS_CIPHERSUITES = 57689 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57690 -const NESTED = 57691 -const NETWORK_NAMESPACE = 57692 -const NOWAIT = 57693 -const NULLS = 57694 -const OJ = 57695 -const OLD = 57696 -const OPTIONAL = 57697 -const ORDINALITY = 57698 -const ORGANIZATION = 57699 -const OTHERS = 57700 -const PATH = 57701 -const PERSIST = 57702 -const PERSIST_ONLY = 57703 -const PRECEDING = 57704 -const PRIVILEGE_CHECKS_USER = 57705 -const PROCESS = 57706 -const RANDOM = 57707 -const REFERENCE = 57708 -const REQUIRE_ROW_FORMAT = 57709 -const RESOURCE = 57710 -const RESPECT = 57711 -const RESTART = 57712 -const RETAIN = 57713 -const REUSE = 57714 -const ROLE = 57715 -const SECONDARY = 57716 -const SECONDARY_ENGINE = 57717 -const SECONDARY_LOAD = 57718 -const SECONDARY_UNLOAD = 57719 -const SKIP = 57720 -const SRID = 57721 -const THREAD_PRIORITY = 57722 -const TIES = 57723 -const UNBOUNDED = 57724 -const VCPU = 57725 -const VISIBLE = 57726 -const FORMAT = 57727 -const TREE = 57728 -const VITESS = 57729 -const TRADITIONAL = 57730 -const LOCAL = 57731 -const LOW_PRIORITY = 57732 +const PRIVILEGES = 57606 +const NAMES = 57607 +const CHARSET = 57608 +const GLOBAL = 57609 +const SESSION = 57610 +const ISOLATION = 57611 +const LEVEL = 57612 +const READ = 57613 +const WRITE = 57614 +const ONLY = 57615 +const REPEATABLE = 57616 +const COMMITTED = 57617 +const UNCOMMITTED = 57618 +const SERIALIZABLE = 57619 +const CURRENT_TIMESTAMP = 57620 +const DATABASE = 57621 +const CURRENT_DATE = 57622 +const CURRENT_TIME = 57623 +const LOCALTIME = 57624 +const LOCALTIMESTAMP = 57625 +const CURRENT_USER = 57626 +const UTC_DATE = 57627 +const UTC_TIME = 57628 +const UTC_TIMESTAMP = 57629 +const REPLACE = 57630 +const CONVERT = 57631 +const CAST = 57632 +const SUBSTR = 57633 +const SUBSTRING = 57634 +const GROUP_CONCAT = 57635 +const SEPARATOR = 57636 +const TIMESTAMPADD = 57637 +const TIMESTAMPDIFF = 57638 +const MATCH = 57639 +const AGAINST = 57640 +const BOOLEAN = 57641 +const LANGUAGE = 57642 +const WITH = 57643 +const QUERY = 57644 +const EXPANSION = 57645 +const UNUSED = 57646 +const ARRAY = 57647 +const CUME_DIST = 57648 +const DESCRIPTION = 57649 +const DENSE_RANK = 57650 +const EMPTY = 57651 +const EXCEPT = 57652 +const FIRST_VALUE = 57653 +const GROUPING = 57654 +const GROUPS = 57655 +const JSON_TABLE = 57656 +const LAG = 57657 +const LAST_VALUE = 57658 +const LATERAL = 57659 +const LEAD = 57660 +const MEMBER = 57661 +const NTH_VALUE = 57662 +const NTILE = 57663 +const OF = 57664 +const OVER = 57665 +const PERCENT_RANK = 57666 +const RANK = 57667 +const RECURSIVE = 57668 +const ROW_NUMBER = 57669 +const SYSTEM = 57670 +const WINDOW = 57671 +const ACTIVE = 57672 +const ADMIN = 57673 +const BUCKETS = 57674 +const CLONE = 57675 +const COMPONENT = 57676 +const DEFINITION = 57677 +const ENFORCED = 57678 +const EXCLUDE = 57679 +const FOLLOWING = 57680 +const GEOMCOLLECTION = 57681 +const GET_MASTER_PUBLIC_KEY = 57682 +const HISTOGRAM = 57683 +const HISTORY = 57684 +const INACTIVE = 57685 +const INVISIBLE = 57686 +const LOCKED = 57687 +const MASTER_COMPRESSION_ALGORITHMS = 57688 +const MASTER_PUBLIC_KEY_PATH = 57689 +const MASTER_TLS_CIPHERSUITES = 57690 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57691 +const NESTED = 57692 +const NETWORK_NAMESPACE = 57693 +const NOWAIT = 57694 +const NULLS = 57695 +const OJ = 57696 +const OLD = 57697 +const OPTIONAL = 57698 +const ORDINALITY = 57699 +const ORGANIZATION = 57700 +const OTHERS = 57701 +const PATH = 57702 +const PERSIST = 57703 +const PERSIST_ONLY = 57704 +const PRECEDING = 57705 +const PRIVILEGE_CHECKS_USER = 57706 +const PROCESS = 57707 +const RANDOM = 57708 +const REFERENCE = 57709 +const REQUIRE_ROW_FORMAT = 57710 +const RESOURCE = 57711 +const RESPECT = 57712 +const RESTART = 57713 +const RETAIN = 57714 +const REUSE = 57715 +const ROLE = 57716 +const SECONDARY = 57717 +const SECONDARY_ENGINE = 57718 +const SECONDARY_LOAD = 57719 +const SECONDARY_UNLOAD = 57720 +const SKIP = 57721 +const SRID = 57722 +const THREAD_PRIORITY = 57723 +const TIES = 57724 +const UNBOUNDED = 57725 +const VCPU = 57726 +const VISIBLE = 57727 +const FORMAT = 57728 +const TREE = 57729 +const VITESS = 57730 +const TRADITIONAL = 57731 +const LOCAL = 57732 +const LOW_PRIORITY = 57733 var yyToknames = [...]string{ "$end", @@ -801,6 +802,7 @@ var yyToknames = [...]string{ "VITESS_SHARDS", "VITESS_TABLETS", "CODE", + "PRIVILEGES", "NAMES", "CHARSET", "GLOBAL", @@ -943,474 +945,452 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 42, - 155, 802, + 155, 803, -2, 87, -1, 43, 136, 110, 236, 110, -2, 104, -1, 50, - 34, 349, - 155, 349, - 167, 349, - 195, 363, - 196, 363, - -2, 351, + 34, 350, + 155, 350, + 167, 350, + 195, 364, + 196, 364, + -2, 352, -1, 55, - 157, 373, - -2, 371, + 157, 374, + -2, 372, -1, 79, - 55, 416, - -2, 424, + 55, 417, + -2, 425, -1, 103, 136, 110, 236, 110, -2, 105, - -1, 448, - 143, 813, - -2, 809, - -1, 449, + -1, 450, 143, 814, -2, 810, - -1, 466, - 55, 417, - -2, 429, - -1, 467, + -1, 451, + 143, 815, + -2, 811, + -1, 468, 55, 418, -2, 430, - -1, 487, - 111, 1102, + -1, 469, + 55, 419, + -2, 431, + -1, 489, + 111, 1104, -2, 80, - -1, 488, - 111, 1002, + -1, 490, + 111, 1003, -2, 81, - -1, 493, - 111, 959, - -2, 773, -1, 495, - 111, 1043, - -2, 775, - -1, 650, + 111, 960, + -2, 774, + -1, 497, + 111, 1044, + -2, 776, + -1, 652, 136, 110, 236, 110, -2, 273, - -1, 1042, - 143, 816, - -2, 812, - -1, 1134, + -1, 1044, + 143, 817, + -2, 813, + -1, 1136, 73, 62, 81, 62, -2, 66, - -1, 1530, - 5, 670, - 18, 670, - 20, 670, - 32, 670, - 82, 670, - -2, 455, - -1, 1740, - 45, 744, - -2, 742, + -1, 1532, + 5, 671, + 18, 671, + 20, 671, + 32, 671, + 82, 671, + -2, 456, + -1, 1742, + 45, 745, + -2, 743, } const yyPrivate = 57344 -const yyLast = 20058 +const yyLast = 19873 var yyAct = [...]int{ - 448, 1834, 1578, 1823, 1740, 1447, 1787, 1716, 1663, 1686, - 1355, 1156, 78, 3, 392, 1207, 1510, 1323, 421, 459, - 407, 1356, 1201, 1511, 1081, 1507, 1400, 808, 1423, 927, - 1155, 1342, 1152, 1424, 630, 663, 764, 1165, 960, 1640, - 1131, 1522, 1495, 1186, 1467, 1282, 113, 804, 627, 125, - 1029, 361, 125, 1209, 1416, 492, 624, 373, 852, 125, - 972, 1036, 1170, 1120, 845, 1113, 815, 818, 422, 32, - 380, 468, 813, 1083, 836, 802, 838, 1062, 1231, 699, - 453, 394, 701, 623, 1006, 1096, 1210, 373, 851, 835, - 373, 125, 373, 849, 1136, 975, 123, 842, 76, 383, - 631, 32, 825, 74, 390, 1197, 376, 777, 1078, 1079, - 125, 125, 104, 992, 73, 31, 79, 105, 125, 778, - 656, 1798, 1321, 125, 114, 115, 116, 1737, 1650, 1688, - 1827, 381, 382, 1784, 1563, 1821, 75, 1763, 629, 1813, - 8, 7, 1579, 455, 1783, 6, 1484, 1762, 1608, 474, - 478, 81, 82, 83, 84, 85, 86, 644, 645, 433, - 639, 439, 440, 437, 438, 653, 436, 435, 434, 489, - 659, 1438, 1214, 1537, 1538, 1437, 441, 442, 352, 96, - 486, 33, 1147, 1148, 67, 37, 38, 353, 1386, 1536, - 454, 1385, 1322, 1212, 1387, 350, 1727, 726, 725, 735, - 736, 728, 729, 730, 731, 732, 733, 734, 727, 671, - 853, 737, 854, 1039, 917, 1146, 641, 101, 118, 119, - 120, 640, 680, 681, 697, 114, 115, 116, 1080, 347, - 682, 452, 101, 93, 683, 680, 681, 451, 359, 97, - 1408, 1180, 98, 99, 1449, 1468, 1643, 1765, 643, 101, - 109, 1187, 110, 1599, 371, 66, 1597, 991, 33, 34, - 35, 67, 37, 38, 1211, 114, 115, 116, 375, 993, - 994, 995, 369, 1572, 1434, 677, 1819, 340, 71, 1221, - 1573, 1222, 1223, 39, 64, 65, 1470, 62, 1219, 949, - 920, 695, 651, 63, 672, 1452, 688, 948, 690, 696, - 675, 676, 673, 674, 342, 343, 344, 1261, 357, 358, - 364, 1451, 1450, 946, 354, 356, 365, 345, 346, 367, - 366, 1812, 51, 341, 349, 362, 1800, 1746, 1717, 1799, - 687, 689, 66, 947, 1114, 1472, 1253, 1476, 950, 1471, - 125, 1469, 1205, 1811, 1205, 1205, 1474, 1543, 642, 626, - 655, 693, 1840, 684, 686, 1473, 1324, 1326, 1706, 100, - 636, 480, 373, 1453, 111, 954, 702, 1433, 1475, 1477, - 1494, 1493, 1492, 637, 100, 649, 373, 373, 666, 667, - 668, 669, 670, 1562, 339, 117, 1260, 661, 1436, 1259, - 708, 100, 1728, 1761, 749, 750, 698, 1250, 42, 44, - 47, 46, 49, 1252, 61, 1744, 1629, 1535, 1347, 1174, - 1311, 1290, 1142, 829, 762, 660, 1213, 727, 1187, 1301, - 737, 1838, 114, 115, 116, 1153, 737, 50, 70, 69, - 700, 1092, 59, 60, 48, 1382, 1298, 685, 988, 1766, - 973, 717, 1719, 928, 1325, 1520, 32, 363, 1778, 646, - 654, 647, 125, 1220, 648, 665, 976, 746, 748, 1013, - 52, 53, 921, 54, 55, 56, 57, 855, 806, 716, - 714, 747, 692, 1011, 1012, 1010, 1554, 373, 1241, 68, - 125, 678, 125, 125, 694, 373, 717, 712, 761, 1707, - 1705, 373, 766, 767, 768, 769, 770, 771, 772, 773, - 1063, 776, 779, 779, 779, 785, 779, 779, 785, 779, - 793, 794, 795, 796, 797, 798, 799, 1067, 711, 709, - 805, 800, 834, 710, 32, 714, 1486, 833, 803, 1251, - 844, 1249, 1237, 1238, 1239, 1173, 1174, 923, 765, 1297, - 819, 717, 780, 782, 784, 786, 788, 790, 791, 974, - 840, 749, 750, 1406, 781, 783, 68, 787, 789, 1836, - 792, 664, 1837, 1177, 1835, 977, 1094, 489, 749, 750, - 1178, 657, 658, 807, 726, 725, 735, 736, 728, 729, - 730, 731, 732, 733, 734, 727, 89, 103, 737, 1749, - 114, 115, 116, 1063, 1814, 1308, 462, 730, 731, 732, - 733, 734, 727, 1805, 1240, 737, 1275, 1276, 1277, 1245, - 1242, 1233, 1243, 1236, 1841, 1232, 715, 716, 714, 1234, - 1235, 1815, 822, 125, 1296, 90, 635, 913, 1093, 66, - 1806, 1283, 1295, 1244, 717, 1817, 125, 1816, 924, 925, - 1649, 1009, 1097, 1098, 1648, 943, 373, 715, 716, 714, - 125, 715, 716, 714, 1807, 125, 1568, 1421, 125, 959, - 1497, 125, 1173, 1575, 1420, 717, 715, 716, 714, 717, - 863, 1419, 1795, 125, 1488, 715, 716, 714, 1217, 817, - 1842, 1776, 1676, 922, 717, 373, 373, 373, 373, 125, - 373, 373, 1646, 717, 1001, 1003, 1004, 951, 963, 1617, - 650, 1002, 844, 1499, 463, 958, 1429, 966, 1498, 968, - 969, 970, 971, 1417, 700, 1272, 962, 715, 716, 714, - 967, 964, 638, 1712, 1519, 945, 1711, 728, 729, 730, - 731, 732, 733, 734, 727, 717, 983, 737, 1030, 1007, - 978, 850, 715, 716, 714, 1703, 1818, 1032, 114, 115, - 116, 1660, 955, 700, 700, 700, 700, 75, 700, 700, - 717, 373, 1432, 641, 979, 980, 981, 982, 640, 984, - 985, 725, 735, 736, 728, 729, 730, 731, 732, 733, - 734, 727, 1703, 1759, 737, 1051, 1054, 986, 114, 115, - 116, 1064, 1031, 1175, 373, 373, 114, 115, 116, 1624, - 1441, 1041, 1008, 1755, 463, 125, 713, 735, 736, 728, - 729, 730, 731, 732, 733, 734, 727, 373, 1042, 737, - 1703, 1753, 479, 1718, 125, 1087, 1558, 373, 484, 1703, - 1745, 125, 1046, 125, 463, 1099, 114, 115, 116, 1117, - 1389, 125, 125, 1703, 463, 1040, 1703, 1702, 373, 916, - 1639, 373, 463, 1132, 1033, 1034, 1616, 463, 1072, 1073, - 1627, 463, 373, 373, 765, 1560, 1559, 1043, 1111, 1556, - 1557, 1108, 410, 409, 412, 413, 414, 415, 1112, 1390, - 1115, 411, 416, 1556, 1555, 1042, 114, 115, 116, 1134, - 1229, 1107, 726, 725, 735, 736, 728, 729, 730, 731, - 732, 733, 734, 727, 1105, 463, 737, 481, 482, 1133, - 1138, 1172, 1040, 1117, 463, 713, 463, 373, 33, 33, - 1188, 1189, 1190, 916, 915, 862, 861, 1508, 1228, 1109, - 489, 1343, 1376, 489, 1145, 1203, 1519, 1144, 1140, 1135, - 1137, 1143, 77, 1350, 1157, 1314, 1160, 125, 125, 125, - 125, 125, 1313, 1106, 125, 125, 1227, 1138, 125, 373, - 1343, 1105, 1204, 1137, 1095, 1351, 1693, 33, 1076, 456, - 953, 1139, 1651, 847, 125, 125, 125, 66, 1448, 1141, - 1047, 1048, 1796, 449, 1053, 1056, 1057, 125, 1665, 1116, - 125, 373, 66, 66, 1254, 1255, 1256, 1257, 1258, 1117, - 1230, 1262, 1263, 1216, 1611, 1264, 1426, 1105, 1266, 1071, - 1246, 1226, 1074, 1075, 1270, 1199, 1200, 1215, 1139, 1652, - 1653, 1654, 1105, 1269, 1659, 634, 1137, 700, 1519, 1007, - 1635, 918, 126, 1202, 1271, 126, 1574, 1273, 1265, 1117, - 374, 66, 126, 66, 1547, 726, 725, 735, 736, 728, - 729, 730, 731, 732, 733, 734, 727, 914, 1394, 737, - 1198, 1122, 1125, 1126, 1127, 1123, 1292, 1124, 1128, 1192, - 374, 1523, 1524, 374, 126, 374, 1191, 125, 91, 1425, - 1523, 1524, 1666, 1214, 1181, 125, 1182, 1183, 1184, 1185, - 1829, 1655, 1008, 126, 126, 1278, 1824, 1549, 1526, 1508, - 1439, 126, 1193, 1194, 1195, 1196, 126, 125, 989, 1289, - 957, 1367, 455, 1529, 1528, 1329, 1368, 1364, 125, 125, - 125, 125, 125, 1426, 1291, 1363, 1352, 1336, 387, 1802, - 125, 1357, 1782, 1500, 125, 1656, 1657, 125, 125, 1307, - 1365, 125, 125, 125, 1348, 1366, 1374, 1345, 1332, 816, - 1780, 1327, 1320, 803, 1388, 1628, 373, 1341, 1328, 454, - 1369, 1340, 1126, 1127, 1771, 1395, 1768, 1391, 1335, 1804, - 1401, 1401, 1786, 1344, 1788, 840, 1330, 1377, 1794, 1346, - 1793, 1379, 1353, 1354, 1331, 1378, 840, 840, 840, 840, - 840, 1741, 1370, 1359, 1360, 1739, 1362, 1402, 962, 952, - 1375, 450, 1133, 1430, 1383, 840, 1380, 1358, 95, 840, - 1361, 1059, 809, 1425, 1412, 373, 926, 1393, 860, 1411, - 1405, 1413, 1414, 1415, 810, 1060, 1409, 1410, 1440, 469, - 1397, 1398, 1399, 1122, 1125, 1126, 1127, 1123, 1157, 1124, - 1128, 1428, 662, 470, 107, 1751, 469, 1418, 125, 1750, - 1691, 1287, 1288, 108, 373, 1403, 121, 1396, 1622, 1577, - 470, 1090, 1427, 1610, 1224, 373, 820, 821, 472, 956, - 471, 1809, 1305, 1097, 1098, 1713, 1130, 476, 457, 458, - 1339, 1044, 1045, 466, 467, 472, 1808, 471, 1338, 460, - 1791, 373, 1772, 1621, 461, 1444, 77, 1030, 1620, 1503, - 1343, 1302, 1442, 1299, 726, 725, 735, 736, 728, 729, - 730, 731, 732, 733, 734, 727, 830, 1443, 737, 1445, - 1466, 1831, 1830, 126, 1088, 1457, 823, 1831, 373, 1742, - 1455, 1644, 1456, 700, 1091, 456, 75, 80, 125, 72, - 384, 1, 1479, 348, 1454, 374, 1077, 1478, 373, 801, - 1041, 1463, 360, 1822, 373, 373, 112, 1580, 1465, 374, - 374, 1509, 1662, 933, 1715, 1357, 1225, 1042, 1506, 1422, - 1512, 1208, 1485, 1464, 1163, 1154, 88, 125, 621, 87, - 691, 1162, 1161, 1704, 1407, 1501, 1179, 1518, 1642, 1548, - 1404, 373, 1748, 373, 1489, 373, 868, 1517, 1401, 1401, - 1401, 1605, 866, 1527, 1540, 867, 865, 1531, 870, 1533, - 869, 1534, 864, 1553, 990, 370, 1129, 1532, 856, 824, - 1513, 1539, 32, 1248, 1544, 1545, 1546, 1247, 929, 1541, - 1464, 1569, 1561, 1542, 125, 126, 1176, 987, 355, 679, - 125, 351, 1551, 1552, 1172, 840, 745, 1337, 1384, 1581, - 373, 373, 373, 1565, 125, 1566, 1567, 1564, 490, 483, - 374, 1658, 1514, 126, 94, 126, 126, 1792, 374, 1769, - 1767, 1738, 1687, 1157, 374, 1157, 1770, 1736, 1803, 1785, - 1089, 1570, 812, 1619, 1502, 1590, 1306, 1576, 774, 1061, - 839, 1586, 1587, 393, 1000, 1595, 408, 405, 406, 1100, - 1349, 1585, 719, 726, 725, 735, 736, 728, 729, 730, - 731, 732, 733, 734, 727, 391, 385, 737, 831, 1121, - 1119, 1118, 843, 1525, 751, 752, 753, 754, 755, 756, - 757, 758, 759, 760, 1357, 1623, 1521, 837, 1104, 1435, - 373, 1632, 1618, 919, 1218, 1571, 633, 465, 373, 92, - 1285, 1391, 1058, 1606, 1286, 1726, 1607, 464, 58, 36, - 377, 1612, 1613, 1614, 1638, 1293, 1294, 1797, 1777, 704, - 473, 1300, 30, 29, 1303, 1304, 28, 23, 22, 21, - 373, 20, 1310, 19, 25, 1631, 1312, 18, 17, 1315, - 1316, 1317, 1318, 1319, 1669, 16, 106, 102, 1637, 1645, - 45, 1647, 43, 41, 40, 652, 126, 27, 26, 15, - 14, 13, 12, 373, 373, 373, 125, 373, 1667, 126, - 11, 10, 1157, 9, 5, 4, 707, 1675, 373, 374, - 373, 24, 763, 126, 2, 0, 373, 1668, 126, 1694, - 1683, 126, 0, 1512, 126, 1696, 1661, 1512, 1692, 1372, - 1373, 1698, 1679, 1681, 1682, 1701, 126, 1700, 1690, 0, - 373, 1685, 1664, 0, 718, 1708, 373, 125, 374, 374, - 374, 374, 126, 374, 374, 1699, 0, 419, 1709, 0, - 1710, 0, 0, 1592, 1593, 0, 1594, 0, 0, 1596, - 0, 1598, 0, 1513, 0, 32, 0, 1513, 0, 1714, - 384, 1735, 0, 0, 373, 1720, 0, 0, 0, 775, - 1743, 0, 1512, 0, 1721, 0, 0, 0, 373, 373, - 373, 0, 0, 0, 0, 0, 1752, 1757, 0, 0, - 0, 1758, 0, 0, 372, 0, 0, 0, 811, 814, - 0, 0, 0, 0, 374, 373, 1764, 125, 0, 0, - 0, 0, 0, 1773, 0, 0, 0, 1357, 0, 0, - 0, 0, 1513, 1779, 491, 1781, 0, 625, 0, 632, - 0, 0, 1790, 1789, 0, 0, 0, 374, 374, 0, - 0, 0, 32, 0, 1801, 0, 0, 0, 126, 0, - 0, 0, 0, 0, 1775, 0, 0, 373, 0, 0, - 374, 1664, 1157, 0, 0, 1461, 1462, 126, 0, 0, - 374, 0, 0, 0, 126, 0, 126, 0, 0, 0, - 0, 0, 0, 0, 126, 126, 1828, 0, 0, 0, - 0, 374, 0, 1839, 374, 0, 1810, 0, 0, 0, - 0, 0, 0, 0, 0, 374, 374, 0, 1005, 0, - 0, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, - 1023, 1024, 1025, 1026, 1027, 1028, 0, 0, 0, 0, - 0, 1515, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1820, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1530, 721, 0, 724, 0, 0, 0, 0, - 374, 738, 739, 740, 741, 742, 743, 744, 1068, 722, - 723, 720, 726, 725, 735, 736, 728, 729, 730, 731, - 732, 733, 734, 727, 0, 0, 737, 0, 0, 0, - 126, 126, 126, 126, 126, 0, 0, 126, 126, 939, - 0, 126, 374, 965, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 938, 0, 0, 0, 126, 126, 126, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 0, 0, 126, 374, 1604, 0, 0, 0, 0, - 0, 1589, 0, 0, 0, 1591, 0, 0, 0, 0, - 0, 996, 997, 998, 999, 0, 1600, 1601, 0, 1458, - 0, 0, 0, 0, 0, 0, 114, 115, 116, 0, - 0, 0, 0, 1615, 0, 0, 0, 937, 0, 726, - 725, 735, 736, 728, 729, 730, 731, 732, 733, 734, - 727, 1625, 1626, 737, 0, 1630, 0, 0, 0, 491, - 0, 0, 0, 0, 0, 0, 1049, 1050, 0, 0, - 0, 0, 0, 703, 705, 0, 0, 0, 0, 0, - 126, 0, 0, 0, 0, 0, 0, 885, 126, 0, - 934, 931, 932, 0, 930, 0, 0, 726, 725, 735, - 736, 728, 729, 730, 731, 732, 733, 734, 727, 0, - 126, 737, 0, 0, 0, 0, 0, 0, 0, 1603, - 0, 126, 126, 126, 126, 126, 0, 941, 944, 0, - 0, 0, 0, 126, 1602, 0, 0, 126, 0, 0, - 126, 126, 0, 0, 126, 126, 126, 0, 0, 0, - 1680, 0, 0, 1151, 0, 0, 0, 0, 0, 374, - 1279, 1280, 1281, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 827, 0, 0, 0, 0, 936, - 0, 0, 491, 0, 0, 0, 0, 0, 857, 0, - 0, 0, 0, 873, 0, 0, 0, 0, 0, 0, - 0, 935, 0, 0, 0, 0, 0, 0, 1722, 1723, - 1724, 1725, 1206, 1729, 0, 1730, 1731, 1732, 374, 1733, - 1734, 726, 725, 735, 736, 728, 729, 730, 731, 732, - 733, 734, 727, 0, 886, 737, 726, 725, 735, 736, - 728, 729, 730, 731, 732, 733, 734, 727, 940, 0, - 737, 126, 0, 1754, 0, 0, 0, 374, 0, 0, - 0, 0, 0, 942, 1760, 0, 0, 0, 374, 0, - 0, 0, 899, 902, 903, 904, 905, 906, 907, 0, - 908, 909, 910, 911, 912, 887, 888, 889, 890, 871, - 872, 900, 0, 874, 374, 875, 876, 877, 878, 879, - 880, 881, 882, 883, 884, 891, 892, 893, 894, 895, - 896, 897, 898, 726, 725, 735, 736, 728, 729, 730, - 731, 732, 733, 734, 727, 0, 0, 737, 0, 0, - 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 126, 0, 491, 0, 0, 0, 0, 0, 0, - 0, 374, 0, 0, 0, 0, 0, 374, 374, 0, - 0, 1309, 0, 1832, 1833, 0, 0, 0, 0, 0, - 0, 901, 0, 0, 0, 0, 0, 0, 0, 1284, - 126, 0, 491, 491, 491, 491, 0, 491, 491, 0, - 0, 1333, 1334, 814, 374, 0, 374, 0, 374, 726, - 725, 735, 736, 728, 729, 730, 731, 732, 733, 734, - 727, 0, 0, 737, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 420, 0, 0, 0, 0, 0, - 0, 0, 1459, 1460, 0, 0, 0, 126, 0, 0, - 0, 0, 0, 126, 0, 0, 0, 1480, 1481, 0, - 1482, 1483, 0, 374, 374, 374, 0, 126, 1035, 0, - 491, 0, 1490, 1491, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 124, 1065, 0, 368, 0, 0, 0, - 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, - 0, 1069, 1070, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 477, 477, 0, 0, - 0, 0, 0, 0, 1101, 124, 0, 0, 0, 0, - 0, 0, 0, 0, 827, 0, 0, 491, 0, 0, - 0, 0, 0, 0, 124, 124, 0, 0, 0, 0, - 0, 0, 124, 374, 0, 491, 0, 124, 491, 0, - 0, 374, 0, 0, 1550, 0, 0, 0, 0, 491, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1487, 1588, 0, 0, - 0, 0, 0, 0, 632, 0, 374, 374, 374, 126, - 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 374, 0, 374, 0, 0, 0, 0, 0, 374, - 0, 1504, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 491, 0, 0, 0, - 0, 0, 0, 374, 0, 0, 0, 0, 0, 374, - 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1274, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 374, 374, 374, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, - 126, 1670, 1671, 1672, 1673, 1674, 0, 0, 0, 1677, - 1678, 0, 0, 0, 124, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1609, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 384, 0, 0, 1065, 0, 0, 0, 1633, 0, - 0, 1634, 0, 0, 1636, 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, 491, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, + 450, 1825, 1580, 1789, 1449, 1742, 1718, 1836, 1512, 1357, + 394, 1688, 1642, 409, 78, 3, 1325, 1665, 1083, 1209, + 1203, 1358, 1509, 1425, 1167, 1157, 1158, 423, 629, 810, + 1513, 1154, 632, 817, 929, 766, 1031, 1402, 1426, 1524, + 1038, 1284, 665, 1211, 1469, 962, 113, 1497, 919, 125, + 1344, 363, 125, 626, 974, 461, 1418, 375, 854, 125, + 1115, 1133, 494, 1172, 1122, 76, 470, 382, 815, 424, + 32, 847, 1085, 820, 840, 396, 804, 838, 701, 455, + 1008, 1233, 1064, 1212, 703, 1098, 851, 375, 633, 1199, + 375, 125, 375, 625, 853, 74, 1138, 827, 385, 392, + 977, 1041, 32, 844, 994, 837, 1080, 1081, 73, 779, + 125, 125, 1800, 79, 1323, 31, 104, 780, 125, 105, + 658, 1739, 1565, 125, 114, 115, 116, 1690, 383, 384, + 1652, 1829, 1786, 1823, 75, 1765, 1764, 1815, 1581, 1785, + 1486, 8, 7, 6, 457, 1610, 641, 1324, 81, 82, + 83, 84, 85, 86, 1538, 476, 480, 1729, 728, 727, + 737, 738, 730, 731, 732, 733, 734, 735, 736, 729, + 1148, 491, 739, 488, 1388, 1188, 699, 1387, 354, 673, + 1389, 33, 1216, 454, 67, 37, 38, 355, 453, 435, + 456, 441, 442, 439, 440, 352, 438, 437, 436, 1410, + 1440, 1539, 1540, 1214, 1439, 1182, 443, 444, 101, 118, + 119, 120, 1149, 1150, 101, 109, 855, 110, 856, 1645, + 643, 682, 683, 642, 1451, 1767, 1082, 96, 684, 349, + 645, 1189, 685, 682, 683, 1601, 1599, 373, 361, 993, + 114, 115, 116, 1470, 377, 114, 115, 116, 371, 1574, + 1436, 698, 951, 1221, 1821, 66, 1575, 922, 677, 678, + 697, 995, 996, 997, 674, 675, 676, 679, 33, 34, + 35, 67, 37, 38, 1213, 653, 1223, 341, 1224, 1225, + 101, 93, 1454, 1263, 1472, 1453, 948, 97, 71, 1814, + 98, 99, 1452, 39, 64, 65, 1802, 62, 950, 1719, + 1116, 952, 1255, 63, 343, 344, 345, 1748, 359, 360, + 366, 690, 1813, 692, 356, 358, 367, 346, 347, 369, + 368, 1801, 348, 1842, 342, 351, 364, 1207, 657, 111, + 644, 1207, 51, 1474, 949, 1478, 1545, 1473, 638, 1471, + 482, 125, 66, 1207, 1476, 689, 691, 628, 1326, 1328, + 1455, 100, 956, 1475, 1730, 686, 688, 100, 704, 1435, + 1176, 1496, 1495, 1494, 375, 639, 1477, 1479, 340, 117, + 1262, 1746, 1564, 1261, 751, 752, 651, 1631, 375, 375, + 1537, 1349, 1313, 1763, 1292, 1144, 668, 669, 670, 671, + 672, 1840, 831, 764, 710, 662, 1155, 887, 1189, 1708, + 739, 1252, 1384, 695, 1094, 700, 1303, 1254, 42, 44, + 47, 46, 49, 729, 61, 716, 739, 1768, 1438, 990, + 656, 719, 1721, 100, 114, 115, 116, 1215, 930, 1300, + 89, 719, 1522, 702, 975, 1222, 1327, 50, 70, 69, + 718, 716, 59, 60, 48, 923, 857, 1780, 365, 32, + 648, 714, 649, 687, 125, 650, 978, 719, 667, 1488, + 748, 750, 1065, 103, 1310, 1065, 925, 749, 1408, 90, + 52, 53, 808, 54, 55, 56, 57, 1751, 1556, 375, + 68, 680, 125, 1179, 125, 125, 1175, 375, 824, 807, + 1180, 763, 1651, 375, 1650, 768, 769, 770, 771, 772, + 773, 774, 775, 875, 778, 781, 781, 781, 787, 781, + 781, 787, 781, 795, 796, 797, 798, 799, 800, 801, + 802, 713, 711, 712, 694, 1176, 1570, 32, 805, 1838, + 1709, 1707, 1839, 1253, 1837, 1251, 696, 821, 751, 752, + 767, 659, 660, 976, 888, 836, 782, 784, 786, 788, + 790, 792, 793, 842, 783, 785, 66, 789, 791, 1015, + 794, 751, 752, 637, 666, 979, 1422, 68, 1011, 819, + 1421, 491, 809, 1013, 1014, 1012, 652, 1816, 1219, 114, + 115, 116, 901, 904, 905, 906, 907, 908, 909, 1843, + 910, 911, 912, 913, 914, 889, 890, 891, 892, 873, + 874, 902, 1499, 876, 1817, 877, 878, 879, 880, 881, + 882, 883, 884, 885, 886, 893, 894, 895, 896, 897, + 898, 899, 900, 1096, 1819, 125, 1423, 1807, 465, 915, + 1818, 732, 733, 734, 735, 736, 729, 1809, 125, 739, + 926, 927, 1577, 1797, 717, 718, 716, 945, 375, 1778, + 1500, 1175, 125, 1678, 1808, 1844, 1648, 125, 1619, 640, + 125, 961, 719, 125, 727, 737, 738, 730, 731, 732, + 733, 734, 735, 736, 729, 125, 1501, 739, 717, 718, + 716, 1431, 903, 1419, 1274, 1095, 1490, 375, 375, 375, + 375, 125, 375, 375, 966, 451, 719, 1521, 1099, 1100, + 1299, 852, 1069, 75, 717, 718, 716, 965, 1003, 1005, + 1006, 1277, 1278, 1279, 481, 1004, 968, 702, 970, 971, + 972, 973, 719, 1705, 1820, 964, 947, 730, 731, 732, + 733, 734, 735, 736, 729, 1714, 980, 739, 1705, 1761, + 1032, 114, 115, 116, 126, 1033, 1713, 126, 1662, 1034, + 1009, 1434, 376, 1177, 126, 1510, 702, 702, 702, 702, + 957, 702, 702, 375, 1521, 981, 982, 983, 984, 643, + 986, 987, 642, 717, 718, 716, 1626, 717, 718, 716, + 465, 464, 376, 1053, 1056, 376, 126, 376, 486, 1066, + 715, 719, 1757, 465, 988, 719, 375, 375, 1010, 483, + 484, 1048, 1720, 1298, 1345, 126, 126, 125, 1705, 1755, + 1043, 1297, 1118, 126, 114, 115, 116, 1378, 126, 375, + 717, 718, 716, 1705, 1747, 1139, 125, 1044, 1560, 375, + 717, 718, 716, 125, 1119, 125, 1705, 465, 719, 1074, + 1075, 1705, 1704, 125, 125, 918, 1641, 1345, 719, 1042, + 375, 1035, 1036, 375, 114, 115, 116, 1134, 1443, 1618, + 465, 1045, 1119, 1089, 375, 375, 767, 1629, 465, 1392, + 1049, 1050, 1119, 1101, 1055, 1058, 1059, 1113, 737, 738, + 730, 731, 732, 733, 734, 735, 736, 729, 1109, 1147, + 739, 1562, 1561, 1174, 1044, 1316, 114, 115, 116, 1073, + 1391, 1140, 1076, 1077, 412, 411, 414, 415, 416, 417, + 1140, 1243, 1135, 413, 418, 1521, 1042, 1558, 1559, 375, + 1183, 77, 1184, 1185, 1186, 1187, 1111, 114, 115, 116, + 1230, 1231, 1558, 1557, 491, 1205, 1145, 491, 1195, 1196, + 1197, 1198, 1142, 1108, 1206, 1146, 33, 1137, 1159, 125, + 125, 125, 125, 125, 1107, 465, 125, 125, 1162, 33, + 125, 375, 1141, 1229, 33, 1239, 1240, 1241, 1119, 465, + 1143, 1141, 715, 465, 918, 917, 125, 125, 125, 1139, + 864, 863, 1315, 458, 1352, 1107, 1107, 1139, 1097, 125, + 1078, 955, 125, 375, 849, 66, 1798, 1667, 1661, 1232, + 1637, 1201, 1202, 920, 1204, 1218, 1353, 1217, 1576, 1549, + 1228, 1695, 1107, 1653, 916, 1248, 1396, 1268, 1200, 1194, + 66, 1193, 91, 1272, 1657, 1428, 636, 1427, 1525, 1526, + 702, 1804, 1450, 66, 1668, 1216, 126, 1242, 66, 1267, + 1009, 1831, 1247, 1244, 1235, 1245, 1238, 1826, 1234, 1531, + 1551, 1528, 1236, 1237, 1190, 1191, 1192, 66, 1510, 376, + 1654, 1655, 1656, 1441, 991, 959, 1246, 1369, 1658, 1659, + 1367, 1428, 1370, 376, 376, 1368, 1530, 1366, 1371, 125, + 1128, 1129, 1365, 1784, 1502, 1334, 818, 125, 1010, 1782, + 1630, 1343, 1342, 1280, 1773, 1124, 1127, 1128, 1129, 1125, + 1770, 1126, 1130, 1806, 1294, 1525, 1526, 1788, 1790, 125, + 1332, 1796, 1291, 1795, 1743, 457, 1741, 954, 1333, 1331, + 125, 125, 125, 125, 125, 1293, 452, 1432, 1427, 1359, + 1354, 1338, 125, 1061, 1414, 928, 125, 862, 664, 125, + 125, 1289, 1290, 125, 125, 125, 1309, 1062, 811, 126, + 1376, 1407, 107, 805, 1329, 1322, 1390, 1624, 375, 1330, + 812, 456, 1307, 1753, 1752, 1350, 1337, 1397, 1693, 1405, + 1347, 389, 1403, 1403, 376, 1579, 1348, 126, 842, 126, + 126, 1346, 376, 1398, 1393, 1355, 1356, 1092, 376, 842, + 842, 842, 842, 842, 1226, 1372, 958, 1377, 1361, 1362, + 1379, 1364, 1099, 1100, 1381, 1135, 1385, 964, 842, 1715, + 1404, 1132, 842, 95, 462, 1382, 1395, 375, 459, 460, + 1413, 1341, 1415, 1416, 1417, 1360, 1622, 1811, 1363, 1340, + 1442, 1810, 1793, 1399, 1400, 1401, 1774, 1124, 1127, 1128, + 1129, 1125, 1159, 1126, 1130, 1623, 471, 463, 1430, 77, + 125, 1420, 1505, 1345, 1429, 1304, 375, 1301, 108, 832, + 472, 121, 825, 465, 1833, 1832, 1833, 375, 728, 727, + 737, 738, 730, 731, 732, 733, 734, 735, 736, 729, + 1744, 1646, 739, 822, 823, 474, 1093, 473, 458, 75, + 80, 72, 1, 375, 350, 1079, 803, 362, 1824, 1032, + 112, 1444, 1582, 728, 727, 737, 738, 730, 731, 732, + 733, 734, 735, 736, 729, 1664, 1445, 739, 1447, 935, + 126, 1717, 1227, 1459, 1468, 1285, 1457, 1467, 1458, 1424, + 375, 1210, 1465, 126, 471, 1480, 702, 1165, 1156, 88, + 125, 1487, 623, 376, 1481, 1456, 87, 126, 472, 693, + 375, 1164, 126, 1163, 1706, 126, 375, 375, 126, 1043, + 1411, 1412, 1511, 1359, 1409, 1181, 1644, 1550, 1406, 1750, + 126, 468, 469, 474, 870, 473, 1044, 1466, 868, 125, + 869, 1514, 376, 376, 376, 376, 126, 376, 376, 867, + 872, 871, 866, 375, 992, 375, 372, 375, 1491, 1131, + 1403, 1403, 1403, 1529, 1519, 858, 1508, 826, 1520, 1250, + 1249, 931, 1563, 1178, 989, 1555, 357, 681, 1541, 353, + 747, 1542, 1544, 1515, 1339, 32, 1174, 1386, 1533, 1543, + 1535, 492, 1536, 1571, 1466, 485, 125, 1546, 1547, 1548, + 1534, 1660, 125, 1553, 1554, 1516, 94, 1794, 842, 1771, + 1567, 1583, 375, 375, 375, 1769, 125, 1740, 376, 1689, + 1772, 1738, 1568, 1569, 1566, 1805, 1787, 1091, 1046, 1047, + 814, 1621, 1504, 1308, 776, 1063, 841, 1159, 395, 1159, + 1002, 410, 407, 408, 1102, 1351, 721, 393, 387, 833, + 1123, 376, 376, 1121, 1120, 1597, 845, 1527, 1523, 839, + 1588, 1589, 126, 1106, 1437, 921, 1220, 1573, 635, 467, + 92, 1090, 1060, 1728, 376, 1609, 466, 58, 36, 1594, + 1595, 126, 1596, 1592, 376, 1598, 379, 1600, 126, 1799, + 126, 1779, 1359, 706, 1625, 475, 30, 29, 126, 126, + 28, 23, 375, 1634, 22, 376, 21, 20, 376, 19, + 375, 25, 18, 17, 1633, 16, 1608, 1613, 106, 376, + 376, 102, 45, 43, 1614, 1615, 1616, 1639, 1393, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 41, + 40, 654, 375, 27, 26, 1640, 15, 14, 13, 12, + 11, 10, 9, 5, 4, 709, 1671, 24, 728, 727, + 737, 738, 730, 731, 732, 733, 734, 735, 736, 729, + 765, 2, 739, 0, 376, 375, 375, 375, 125, 375, + 0, 0, 1669, 0, 0, 0, 1159, 1681, 1683, 1684, + 375, 0, 375, 0, 0, 0, 1685, 0, 375, 1698, + 0, 0, 421, 1696, 126, 126, 126, 126, 126, 1663, + 1701, 126, 126, 0, 1514, 126, 376, 1694, 1514, 1692, + 1710, 1703, 375, 0, 0, 1677, 1666, 0, 375, 125, + 0, 126, 126, 126, 1716, 0, 1620, 0, 0, 1711, + 1722, 1712, 0, 0, 126, 0, 0, 126, 376, 1700, + 0, 0, 0, 0, 0, 1702, 1515, 0, 32, 374, + 1515, 0, 1737, 0, 1745, 0, 375, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 375, 375, 375, 1514, 0, 0, 0, 0, 0, 493, + 1754, 0, 627, 1647, 634, 1649, 0, 1287, 1759, 0, + 0, 1288, 0, 0, 0, 0, 0, 375, 1760, 125, + 1766, 0, 1295, 1296, 1775, 1359, 0, 0, 1302, 0, + 0, 1305, 1306, 0, 1781, 1515, 1783, 0, 0, 1312, + 0, 1670, 1791, 1314, 126, 1792, 1317, 1318, 1319, 1320, + 1321, 0, 126, 0, 0, 32, 1803, 0, 0, 0, + 0, 0, 0, 0, 0, 1687, 941, 0, 0, 375, + 0, 0, 0, 0, 126, 1666, 1159, 0, 0, 0, + 940, 1812, 0, 0, 0, 126, 126, 126, 126, 126, + 0, 0, 0, 0, 0, 0, 1830, 126, 0, 0, + 0, 126, 0, 0, 126, 126, 1374, 1375, 126, 126, + 126, 1841, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 376, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, + 0, 0, 0, 0, 939, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1822, 0, 0, 0, 0, 0, + 0, 0, 0, 1007, 0, 0, 1016, 1017, 1018, 1019, + 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, + 1030, 0, 376, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1612, 0, 936, 933, 934, + 0, 932, 0, 0, 0, 0, 0, 806, 0, 0, + 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, + 0, 376, 0, 1070, 0, 0, 0, 0, 0, 1607, + 0, 0, 376, 0, 943, 946, 728, 727, 737, 738, + 730, 731, 732, 733, 734, 735, 736, 729, 0, 0, + 739, 0, 0, 0, 0, 0, 123, 0, 376, 0, + 0, 0, 1463, 1464, 0, 0, 378, 0, 0, 0, + 1606, 0, 0, 0, 0, 0, 493, 0, 0, 0, + 0, 0, 0, 0, 0, 478, 938, 0, 0, 0, + 705, 707, 0, 0, 0, 376, 0, 0, 631, 0, + 0, 0, 0, 0, 0, 126, 0, 0, 937, 0, + 0, 0, 0, 0, 0, 376, 0, 646, 647, 0, + 1605, 376, 376, 0, 0, 655, 0, 0, 1517, 0, + 661, 728, 727, 737, 738, 730, 731, 732, 733, 734, + 735, 736, 729, 0, 126, 739, 0, 0, 386, 1532, + 0, 0, 0, 0, 0, 0, 942, 0, 376, 0, + 376, 0, 376, 0, 0, 0, 0, 0, 0, 1604, + 0, 944, 728, 727, 737, 738, 730, 731, 732, 733, + 734, 735, 736, 729, 0, 0, 739, 0, 0, 0, + 0, 829, 0, 0, 0, 0, 0, 0, 0, 493, + 0, 126, 0, 0, 0, 859, 0, 126, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 376, 376, 376, + 0, 126, 728, 727, 737, 738, 730, 731, 732, 733, + 734, 735, 736, 729, 0, 0, 739, 0, 1591, 0, + 0, 0, 1593, 0, 0, 0, 422, 0, 0, 0, + 0, 0, 0, 1602, 1603, 1281, 1282, 1283, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1617, 728, 727, 737, 738, 730, 731, 732, 733, 734, + 735, 736, 729, 0, 0, 739, 0, 0, 1627, 1628, + 0, 0, 1632, 0, 0, 124, 1460, 0, 370, 0, + 0, 0, 0, 0, 0, 124, 0, 376, 0, 0, + 0, 0, 0, 0, 0, 376, 728, 727, 737, 738, + 730, 731, 732, 733, 734, 735, 736, 729, 479, 479, + 739, 0, 0, 0, 0, 0, 0, 124, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 376, 663, 0, + 0, 0, 0, 0, 0, 0, 124, 124, 0, 0, + 493, 0, 0, 0, 124, 0, 0, 0, 0, 124, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 376, 376, 376, 126, 376, 0, 1286, 1682, 0, 0, + 0, 0, 0, 0, 0, 376, 0, 376, 0, 493, + 493, 493, 493, 376, 493, 493, 728, 727, 737, 738, + 730, 731, 732, 733, 734, 735, 736, 729, 0, 0, + 739, 0, 0, 0, 0, 0, 0, 376, 0, 0, + 0, 0, 0, 376, 126, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1724, 1725, 1726, 1727, 0, + 1731, 0, 1732, 1733, 1734, 0, 1735, 1736, 728, 727, + 737, 738, 730, 731, 732, 733, 734, 735, 736, 729, + 0, 376, 739, 0, 720, 1037, 0, 493, 0, 0, + 0, 0, 0, 0, 0, 376, 376, 376, 0, 835, + 1756, 1067, 846, 0, 0, 0, 0, 0, 0, 0, + 0, 1762, 0, 0, 0, 0, 0, 0, 1071, 1072, + 386, 0, 376, 0, 126, 0, 0, 0, 0, 777, + 0, 0, 0, 0, 0, 0, 0, 1461, 1462, 0, + 0, 1103, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 829, 1482, 1483, 493, 1484, 1485, 0, 813, 816, + 0, 0, 0, 0, 0, 0, 0, 1492, 1493, 0, + 0, 0, 493, 0, 376, 493, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 493, 627, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, + 0, 0, 0, 0, 723, 0, 726, 0, 0, 0, + 1834, 1835, 740, 741, 742, 743, 744, 745, 746, 0, + 724, 725, 722, 728, 727, 737, 738, 730, 731, 732, + 733, 734, 735, 736, 729, 0, 0, 739, 0, 0, + 0, 634, 865, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 924, 0, 0, 0, 1552, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 953, + 0, 0, 0, 0, 846, 0, 0, 960, 0, 0, + 0, 0, 0, 493, 0, 0, 0, 0, 0, 0, + 0, 0, 969, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 985, 0, + 124, 0, 1590, 0, 0, 1276, 0, 0, 0, 0, + 0, 0, 0, 0, 479, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, + 124, 848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 477, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 124, 0, 124, 846, 0, 0, - 0, 0, 1431, 0, 0, 0, 0, 0, 1689, 384, + 0, 0, 0, 967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1446, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 491, 0, 0, 0, 0, 0, 0, 1825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, + 0, 998, 999, 1000, 1001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1496, 0, 0, 0, 0, + 0, 1067, 0, 1110, 0, 0, 0, 0, 0, 0, + 1114, 0, 1117, 0, 0, 0, 1672, 1673, 1674, 1675, + 1676, 1136, 0, 0, 1679, 1680, 1051, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 491, 0, 124, 1065, 0, - 0, 1516, 1496, 0, 0, 0, 0, 0, 0, 0, + 493, 124, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, + 0, 0, 0, 124, 0, 0, 124, 0, 0, 963, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 124, 0, 0, 0, 0, 0, 0, 0, 1433, + 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, + 0, 0, 0, 1153, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1256, 1257, 1258, 1259, + 1260, 0, 0, 1264, 1265, 0, 0, 1266, 1448, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 493, + 0, 0, 0, 0, 0, 1271, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1273, 0, 0, 1275, + 0, 0, 1208, 0, 0, 493, 0, 0, 0, 0, + 479, 963, 0, 0, 0, 479, 479, 0, 0, 479, + 479, 479, 0, 0, 0, 1068, 493, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1498, 0, 479, 479, 479, 479, 479, 0, + 0, 0, 0, 1087, 0, 0, 0, 0, 0, 0, + 0, 0, 493, 0, 1827, 1067, 0, 0, 1518, 1498, + 0, 0, 124, 0, 0, 0, 0, 0, 963, 124, + 0, 124, 0, 0, 0, 0, 0, 0, 0, 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 124, 0, 0, 0, 0, 124, - 0, 0, 124, 0, 0, 961, 0, 0, 491, 0, - 491, 0, 632, 0, 0, 0, 0, 124, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1582, 1583, 1584, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 477, 961, 0, 0, - 0, 477, 477, 0, 0, 477, 477, 477, 0, 0, - 0, 1066, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1065, 0, 0, - 477, 477, 477, 477, 477, 0, 0, 0, 0, 1085, - 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, - 0, 0, 0, 0, 0, 1641, 0, 0, 124, 0, - 0, 0, 0, 0, 961, 124, 0, 124, 0, 0, - 0, 0, 0, 0, 0, 124, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 493, 0, 493, 0, 634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1641, 1641, 1641, 0, 1684, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1695, 0, 1697, 0, 0, - 0, 0, 0, 1641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1641, 0, 0, - 0, 0, 0, 1641, 0, 0, 0, 0, 0, 0, - 0, 124, 124, 124, 124, 124, 0, 0, 124, 124, - 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1267, 1268, - 124, 1747, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 124, 0, 0, 124, 1756, 491, 491, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1380, 0, 0, + 0, 1311, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1584, 1585, 1586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1335, 1336, 816, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, + 0, 0, 124, 124, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1065, 0, 1774, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1269, 1270, 124, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1067, 124, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 477, 477, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 493, 0, 0, 1446, 0, 0, + 0, 0, 1643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 477, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1641, 0, 0, 0, 0, 0, - 0, 124, 0, 0, 0, 0, 0, 0, 0, 1085, + 0, 0, 0, 0, 0, 0, 479, 479, 0, 0, + 0, 0, 0, 0, 493, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 0, 1643, 1643, 1643, + 0, 1686, 0, 1087, 0, 0, 0, 0, 0, 0, + 0, 0, 1697, 0, 1699, 0, 0, 1503, 0, 0, + 1643, 0, 0, 0, 479, 124, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1068, 124, 124, 124, 124, + 124, 0, 0, 0, 1643, 0, 0, 0, 1373, 0, + 1643, 0, 124, 0, 0, 124, 124, 0, 0, 124, + 1383, 963, 0, 0, 0, 0, 1489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 477, 124, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1066, 124, 124, 124, 124, 124, 0, 0, 0, - 0, 0, 0, 0, 1371, 0, 0, 0, 124, 0, - 0, 124, 124, 0, 0, 124, 1381, 961, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1506, 1758, 493, 493, 0, 0, 0, 0, 0, + 0, 0, 0, 1572, 0, 0, 0, 0, 0, 1578, + 0, 0, 0, 0, 0, 0, 0, 1067, 0, 1776, + 0, 0, 0, 1587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1643, 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, 479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 477, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 961, 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, 124, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1066, 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, 124, 0, 0, 0, 0, 0, 0, 0, 0, + 963, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1611, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, + 0, 386, 0, 0, 0, 0, 0, 0, 1635, 0, + 0, 1636, 0, 0, 1638, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, - 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, + 0, 0, 0, 0, 0, 0, 1723, 0, 0, 0, + 0, 0, 124, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 124, 0, 0, 0, 0, 0, 1691, 386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1777, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1419,1037 +1399,1039 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 605, 593, 0, - 1085, 546, 608, 519, 536, 617, 537, 540, 578, 503, - 559, 237, 534, 0, 523, 499, 530, 500, 521, 548, - 166, 552, 518, 595, 562, 607, 201, 0, 524, 249, - 580, 280, 156, 209, 207, 302, 171, 167, 165, 155, - 188, 214, 248, 298, 242, 614, 204, 569, 0, 289, - 223, 124, 0, 0, 550, 597, 557, 589, 545, 579, - 508, 568, 609, 535, 576, 610, 192, 154, 131, 234, - 290, 173, 0, 0, 0, 114, 115, 116, 0, 1158, - 1159, 0, 0, 0, 0, 0, 150, 0, 573, 604, - 532, 575, 577, 620, 498, 570, 0, 501, 504, 616, - 600, 527, 528, 1392, 0, 0, 0, 0, 0, 0, - 549, 558, 586, 543, 0, 0, 0, 0, 0, 0, - 0, 0, 525, 0, 567, 0, 0, 1066, 505, 502, - 0, 124, 0, 0, 547, 0, 0, 0, 507, 0, - 526, 587, 0, 496, 178, 591, 599, 544, 326, 603, - 542, 541, 606, 260, 0, 294, 182, 200, 145, 197, - 128, 140, 0, 180, 233, 267, 271, 596, 522, 531, - 157, 529, 269, 246, 315, 566, 250, 268, 205, 304, - 261, 314, 327, 328, 163, 227, 321, 299, 324, 336, - 141, 160, 240, 295, 318, 286, 222, 301, 196, 285, - 133, 297, 312, 151, 279, 0, 0, 0, 135, 310, - 293, 220, 193, 194, 134, 0, 265, 164, 176, 159, - 236, 307, 308, 158, 337, 142, 323, 137, 143, 322, - 229, 303, 311, 221, 213, 136, 309, 219, 212, 199, - 170, 184, 258, 208, 259, 185, 225, 224, 226, 0, - 132, 0, 291, 319, 338, 148, 517, 592, 300, 332, - 335, 0, 262, 149, 177, 169, 257, 175, 202, 331, - 333, 334, 147, 228, 144, 187, 287, 198, 206, 584, - 619, 245, 270, 152, 317, 288, 512, 516, 510, 511, - 560, 561, 513, 611, 612, 613, 588, 506, 0, 514, - 515, 0, 594, 601, 602, 565, 127, 138, 203, 615, - 263, 174, 320, 497, 509, 162, 520, 0, 0, 533, - 538, 539, 551, 553, 554, 555, 556, 564, 571, 572, - 574, 581, 582, 583, 585, 590, 598, 618, 129, 130, - 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, - 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, - 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, - 253, 254, 255, 256, 264, 266, 272, 273, 274, 275, - 276, 277, 278, 281, 282, 283, 284, 292, 296, 305, - 306, 316, 325, 329, 181, 313, 330, 0, 210, 563, - 605, 593, 0, 0, 546, 608, 519, 536, 617, 537, - 540, 578, 503, 559, 237, 534, 0, 523, 499, 530, - 500, 521, 548, 166, 552, 518, 595, 562, 607, 201, - 0, 524, 249, 580, 280, 156, 209, 207, 302, 171, - 167, 165, 155, 188, 214, 248, 298, 242, 614, 204, - 569, 0, 289, 223, 0, 0, 0, 550, 597, 557, - 589, 545, 579, 508, 568, 609, 535, 576, 610, 192, - 154, 131, 234, 290, 173, 0, 0, 0, 114, 115, - 116, 0, 1158, 1159, 0, 0, 0, 0, 0, 150, - 0, 573, 604, 532, 575, 577, 620, 498, 570, 0, - 501, 504, 616, 600, 527, 528, 0, 0, 0, 0, - 0, 0, 0, 549, 558, 586, 543, 0, 0, 0, - 0, 0, 0, 0, 0, 525, 0, 567, 0, 0, - 0, 505, 502, 0, 0, 0, 0, 547, 0, 0, - 0, 507, 0, 526, 587, 0, 496, 178, 591, 599, - 544, 326, 603, 542, 541, 606, 260, 0, 294, 182, - 200, 145, 197, 128, 140, 0, 180, 233, 267, 271, - 596, 522, 531, 157, 529, 269, 246, 315, 566, 250, - 268, 205, 304, 261, 314, 327, 328, 163, 227, 321, - 299, 324, 336, 141, 160, 240, 295, 318, 286, 222, - 301, 196, 285, 133, 297, 312, 151, 279, 0, 0, - 0, 135, 310, 293, 220, 193, 194, 134, 0, 265, - 164, 176, 159, 236, 307, 308, 158, 337, 142, 323, - 137, 143, 322, 229, 303, 311, 221, 213, 136, 309, - 219, 212, 199, 170, 184, 258, 208, 259, 185, 225, - 224, 226, 0, 132, 0, 291, 319, 338, 148, 517, - 592, 300, 332, 335, 0, 262, 149, 177, 169, 257, - 175, 202, 331, 333, 334, 147, 228, 144, 187, 287, - 198, 206, 584, 619, 245, 270, 152, 317, 288, 512, - 516, 510, 511, 560, 561, 513, 611, 612, 613, 588, - 506, 0, 514, 515, 0, 594, 601, 602, 565, 127, - 138, 203, 615, 263, 174, 320, 497, 509, 162, 520, - 0, 0, 533, 538, 539, 551, 553, 554, 555, 556, - 564, 571, 572, 574, 581, 582, 583, 585, 590, 598, - 618, 129, 130, 139, 146, 153, 161, 168, 172, 179, - 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, - 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 256, 264, 266, 272, - 273, 274, 275, 276, 277, 278, 281, 282, 283, 284, - 292, 296, 305, 306, 316, 325, 329, 181, 313, 330, - 0, 210, 563, 605, 593, 0, 0, 546, 608, 519, - 536, 617, 537, 540, 578, 503, 559, 237, 534, 0, - 523, 499, 530, 500, 521, 548, 166, 552, 518, 595, - 562, 607, 201, 0, 524, 249, 580, 280, 156, 209, - 207, 302, 171, 167, 165, 155, 188, 214, 248, 298, - 242, 614, 204, 569, 0, 289, 223, 0, 0, 0, - 550, 597, 557, 589, 545, 579, 508, 568, 609, 535, - 576, 610, 192, 154, 131, 234, 290, 173, 0, 0, - 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, - 0, 0, 150, 0, 573, 604, 532, 575, 577, 620, - 498, 570, 0, 501, 504, 616, 600, 527, 528, 0, - 0, 0, 0, 0, 0, 0, 549, 558, 586, 543, - 0, 0, 0, 0, 0, 0, 1505, 0, 525, 0, - 567, 0, 0, 0, 505, 502, 0, 0, 0, 0, - 547, 0, 0, 0, 507, 0, 526, 587, 0, 496, - 178, 591, 599, 544, 326, 603, 542, 541, 606, 260, - 0, 294, 182, 200, 145, 197, 128, 140, 0, 180, - 233, 267, 271, 596, 522, 531, 157, 529, 269, 246, - 315, 566, 250, 268, 205, 304, 261, 314, 327, 328, - 163, 227, 321, 299, 324, 336, 141, 160, 240, 295, - 318, 286, 222, 301, 196, 285, 133, 297, 312, 151, - 279, 0, 0, 0, 135, 310, 293, 220, 193, 194, - 134, 0, 265, 164, 176, 159, 236, 307, 308, 158, - 337, 142, 323, 137, 143, 322, 229, 303, 311, 221, - 213, 136, 309, 219, 212, 199, 170, 184, 258, 208, - 259, 185, 225, 224, 226, 0, 132, 0, 291, 319, - 338, 148, 517, 592, 300, 332, 335, 0, 262, 149, - 177, 169, 257, 175, 202, 331, 333, 334, 147, 228, - 144, 187, 287, 198, 206, 584, 619, 245, 270, 152, - 317, 288, 512, 516, 510, 511, 560, 561, 513, 611, - 612, 613, 588, 506, 0, 514, 515, 0, 594, 601, - 602, 565, 127, 138, 203, 615, 263, 174, 320, 497, - 509, 162, 520, 0, 0, 533, 538, 539, 551, 553, - 554, 555, 556, 564, 571, 572, 574, 581, 582, 583, - 585, 590, 598, 618, 129, 130, 139, 146, 153, 161, - 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, - 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, - 241, 243, 244, 247, 251, 252, 253, 254, 255, 256, - 264, 266, 272, 273, 274, 275, 276, 277, 278, 281, - 282, 283, 284, 292, 296, 305, 306, 316, 325, 329, - 181, 313, 330, 0, 210, 563, 605, 593, 0, 0, - 546, 608, 519, 536, 617, 537, 540, 578, 503, 559, - 237, 534, 0, 523, 499, 530, 500, 521, 548, 166, - 552, 518, 595, 562, 607, 201, 0, 524, 249, 580, - 280, 156, 209, 207, 302, 171, 167, 165, 155, 188, - 214, 248, 298, 242, 614, 204, 569, 0, 289, 223, - 0, 0, 0, 550, 597, 557, 589, 545, 579, 508, - 568, 609, 535, 576, 610, 192, 154, 131, 234, 290, - 173, 66, 0, 0, 114, 115, 116, 0, 0, 0, - 0, 0, 0, 0, 0, 150, 0, 573, 604, 532, - 575, 577, 620, 498, 570, 0, 501, 504, 616, 600, - 527, 528, 0, 0, 0, 0, 0, 0, 0, 549, - 558, 586, 543, 0, 0, 0, 0, 0, 0, 0, - 0, 525, 0, 567, 0, 0, 0, 505, 502, 0, - 0, 0, 0, 547, 0, 0, 0, 507, 0, 526, - 587, 0, 496, 178, 591, 599, 544, 326, 603, 542, - 541, 606, 260, 0, 294, 182, 200, 145, 197, 128, - 140, 0, 180, 233, 267, 271, 596, 522, 531, 157, - 529, 269, 246, 315, 566, 250, 268, 205, 304, 261, - 314, 327, 328, 163, 227, 321, 299, 324, 336, 141, - 160, 240, 295, 318, 286, 222, 301, 196, 285, 133, - 297, 312, 151, 279, 0, 0, 0, 135, 310, 293, - 220, 193, 194, 134, 0, 265, 164, 176, 159, 236, - 307, 308, 158, 337, 142, 323, 137, 143, 322, 229, - 303, 311, 221, 213, 136, 309, 219, 212, 199, 170, - 184, 258, 208, 259, 185, 225, 224, 226, 0, 132, - 0, 291, 319, 338, 148, 517, 592, 300, 332, 335, - 0, 262, 149, 177, 169, 257, 175, 202, 331, 333, - 334, 147, 228, 144, 187, 287, 198, 206, 584, 619, - 245, 270, 152, 317, 288, 512, 516, 510, 511, 560, - 561, 513, 611, 612, 613, 588, 506, 0, 514, 515, - 0, 594, 601, 602, 565, 127, 138, 203, 615, 263, - 174, 320, 497, 509, 162, 520, 0, 0, 533, 538, - 539, 551, 553, 554, 555, 556, 564, 571, 572, 574, - 581, 582, 583, 585, 590, 598, 618, 129, 130, 139, + 0, 607, 595, 0, 1087, 548, 610, 521, 538, 619, + 539, 542, 580, 505, 561, 237, 536, 0, 525, 501, + 532, 502, 523, 550, 166, 554, 520, 597, 564, 609, + 201, 0, 526, 249, 582, 281, 156, 209, 207, 303, + 171, 167, 165, 155, 188, 214, 248, 299, 242, 616, + 204, 571, 0, 290, 223, 124, 0, 0, 552, 599, + 559, 591, 547, 581, 510, 570, 611, 537, 578, 612, + 192, 154, 131, 234, 291, 173, 0, 0, 0, 114, + 115, 116, 0, 1160, 1161, 0, 0, 0, 0, 0, + 150, 0, 575, 606, 534, 577, 579, 622, 500, 572, + 0, 503, 506, 618, 602, 529, 530, 1394, 0, 0, + 0, 0, 0, 0, 551, 560, 588, 545, 0, 0, + 0, 0, 0, 0, 0, 0, 527, 0, 569, 0, + 0, 1068, 507, 504, 0, 124, 0, 0, 549, 0, + 0, 0, 509, 0, 528, 589, 0, 498, 178, 593, + 601, 546, 327, 605, 544, 543, 608, 261, 0, 295, + 182, 200, 145, 197, 128, 140, 0, 180, 233, 268, + 272, 598, 524, 533, 157, 531, 270, 246, 316, 568, + 250, 269, 205, 305, 262, 315, 328, 329, 163, 227, + 322, 300, 325, 337, 141, 160, 240, 296, 319, 287, + 222, 302, 196, 286, 133, 298, 313, 151, 280, 0, + 0, 0, 135, 311, 294, 220, 193, 194, 134, 0, + 266, 164, 176, 159, 236, 308, 309, 158, 338, 142, + 324, 137, 143, 323, 229, 304, 312, 221, 213, 136, + 310, 219, 212, 199, 170, 184, 259, 208, 260, 185, + 225, 224, 226, 0, 132, 0, 292, 320, 339, 148, + 519, 594, 301, 333, 336, 0, 263, 149, 177, 169, + 258, 175, 202, 332, 334, 335, 147, 256, 228, 144, + 187, 288, 198, 206, 586, 621, 245, 271, 152, 318, + 289, 514, 518, 512, 513, 562, 563, 515, 613, 614, + 615, 590, 508, 0, 516, 517, 0, 596, 603, 604, + 567, 127, 138, 203, 617, 264, 174, 321, 499, 511, + 162, 522, 0, 0, 535, 540, 541, 553, 555, 556, + 557, 558, 566, 573, 574, 576, 583, 584, 585, 587, + 592, 600, 620, 129, 130, 139, 146, 153, 161, 168, + 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, + 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, + 243, 244, 247, 251, 252, 253, 254, 255, 257, 265, + 267, 273, 274, 275, 276, 277, 278, 279, 282, 283, + 284, 285, 293, 297, 306, 307, 317, 326, 330, 181, + 314, 331, 0, 210, 565, 607, 595, 0, 0, 548, + 610, 521, 538, 619, 539, 542, 580, 505, 561, 237, + 536, 0, 525, 501, 532, 502, 523, 550, 166, 554, + 520, 597, 564, 609, 201, 0, 526, 249, 582, 281, + 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, + 248, 299, 242, 616, 204, 571, 0, 290, 223, 0, + 0, 0, 552, 599, 559, 591, 547, 581, 510, 570, + 611, 537, 578, 612, 192, 154, 131, 234, 291, 173, + 0, 0, 0, 114, 115, 116, 0, 1160, 1161, 0, + 0, 0, 0, 0, 150, 0, 575, 606, 534, 577, + 579, 622, 500, 572, 0, 503, 506, 618, 602, 529, + 530, 0, 0, 0, 0, 0, 0, 0, 551, 560, + 588, 545, 0, 0, 0, 0, 0, 0, 0, 0, + 527, 0, 569, 0, 0, 0, 507, 504, 0, 0, + 0, 0, 549, 0, 0, 0, 509, 0, 528, 589, + 0, 498, 178, 593, 601, 546, 327, 605, 544, 543, + 608, 261, 0, 295, 182, 200, 145, 197, 128, 140, + 0, 180, 233, 268, 272, 598, 524, 533, 157, 531, + 270, 246, 316, 568, 250, 269, 205, 305, 262, 315, + 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, + 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, + 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, + 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, + 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, + 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, + 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, + 292, 320, 339, 148, 519, 594, 301, 333, 336, 0, + 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, + 147, 256, 228, 144, 187, 288, 198, 206, 586, 621, + 245, 271, 152, 318, 289, 514, 518, 512, 513, 562, + 563, 515, 613, 614, 615, 590, 508, 0, 516, 517, + 0, 596, 603, 604, 567, 127, 138, 203, 617, 264, + 174, 321, 499, 511, 162, 522, 0, 0, 535, 540, + 541, 553, 555, 556, 557, 558, 566, 573, 574, 576, + 583, 584, 585, 587, 592, 600, 620, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 256, 264, 266, 272, 273, 274, 275, 276, - 277, 278, 281, 282, 283, 284, 292, 296, 305, 306, - 316, 325, 329, 181, 313, 330, 0, 210, 563, 605, - 593, 0, 0, 546, 608, 519, 536, 617, 537, 540, - 578, 503, 559, 237, 534, 0, 523, 499, 530, 500, - 521, 548, 166, 552, 518, 595, 562, 607, 201, 0, - 524, 249, 580, 280, 156, 209, 207, 302, 171, 167, - 165, 155, 188, 214, 248, 298, 242, 614, 204, 569, - 0, 289, 223, 0, 0, 0, 550, 597, 557, 589, - 545, 579, 508, 568, 609, 535, 576, 610, 192, 154, - 131, 234, 290, 173, 0, 0, 0, 114, 115, 116, + 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, + 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, + 317, 326, 330, 181, 314, 331, 0, 210, 565, 607, + 595, 0, 0, 548, 610, 521, 538, 619, 539, 542, + 580, 505, 561, 237, 536, 0, 525, 501, 532, 502, + 523, 550, 166, 554, 520, 597, 564, 609, 201, 0, + 526, 249, 582, 281, 156, 209, 207, 303, 171, 167, + 165, 155, 188, 214, 248, 299, 242, 616, 204, 571, + 0, 290, 223, 0, 0, 0, 552, 599, 559, 591, + 547, 581, 510, 570, 611, 537, 578, 612, 192, 154, + 131, 234, 291, 173, 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, - 573, 604, 532, 575, 577, 620, 498, 570, 0, 501, - 504, 616, 600, 527, 528, 0, 0, 0, 0, 0, - 0, 0, 549, 558, 586, 543, 0, 0, 0, 0, - 0, 0, 1382, 0, 525, 0, 567, 0, 0, 0, - 505, 502, 0, 0, 0, 0, 547, 0, 0, 0, - 507, 0, 526, 587, 0, 496, 178, 591, 599, 544, - 326, 603, 542, 541, 606, 260, 0, 294, 182, 200, - 145, 197, 128, 140, 0, 180, 233, 267, 271, 596, - 522, 531, 157, 529, 269, 246, 315, 566, 250, 268, - 205, 304, 261, 314, 327, 328, 163, 227, 321, 299, - 324, 336, 141, 160, 240, 295, 318, 286, 222, 301, - 196, 285, 133, 297, 312, 151, 279, 0, 0, 0, - 135, 310, 293, 220, 193, 194, 134, 0, 265, 164, - 176, 159, 236, 307, 308, 158, 337, 142, 323, 137, - 143, 322, 229, 303, 311, 221, 213, 136, 309, 219, - 212, 199, 170, 184, 258, 208, 259, 185, 225, 224, - 226, 0, 132, 0, 291, 319, 338, 148, 517, 592, - 300, 332, 335, 0, 262, 149, 177, 169, 257, 175, - 202, 331, 333, 334, 147, 228, 144, 187, 287, 198, - 206, 584, 619, 245, 270, 152, 317, 288, 512, 516, - 510, 511, 560, 561, 513, 611, 612, 613, 588, 506, - 0, 514, 515, 0, 594, 601, 602, 565, 127, 138, - 203, 615, 263, 174, 320, 497, 509, 162, 520, 0, - 0, 533, 538, 539, 551, 553, 554, 555, 556, 564, - 571, 572, 574, 581, 582, 583, 585, 590, 598, 618, - 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, - 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, - 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, - 251, 252, 253, 254, 255, 256, 264, 266, 272, 273, - 274, 275, 276, 277, 278, 281, 282, 283, 284, 292, - 296, 305, 306, 316, 325, 329, 181, 313, 330, 0, - 210, 563, 605, 593, 0, 0, 546, 608, 519, 536, - 617, 537, 540, 578, 503, 559, 237, 534, 0, 523, - 499, 530, 500, 521, 548, 166, 552, 518, 595, 562, - 607, 201, 0, 524, 249, 580, 280, 156, 209, 207, - 302, 171, 167, 165, 155, 188, 214, 248, 298, 242, - 614, 204, 569, 0, 289, 223, 0, 0, 0, 550, - 597, 557, 589, 545, 579, 508, 568, 609, 535, 576, - 610, 192, 154, 131, 234, 290, 173, 0, 0, 0, - 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, - 0, 150, 0, 573, 604, 532, 575, 577, 620, 498, - 570, 0, 501, 504, 616, 600, 527, 528, 0, 0, - 0, 0, 0, 0, 0, 549, 558, 586, 543, 0, - 0, 0, 0, 0, 0, 1110, 0, 525, 0, 567, - 0, 0, 0, 505, 502, 0, 0, 0, 0, 547, - 0, 0, 0, 507, 0, 526, 587, 0, 496, 178, - 591, 599, 544, 326, 603, 542, 541, 606, 260, 0, - 294, 182, 200, 145, 197, 128, 140, 0, 180, 233, - 267, 271, 596, 522, 531, 157, 529, 269, 246, 315, - 566, 250, 268, 205, 304, 261, 314, 327, 328, 163, - 227, 321, 299, 324, 336, 141, 160, 240, 295, 318, - 286, 222, 301, 196, 285, 133, 297, 312, 151, 279, - 0, 0, 0, 135, 310, 293, 220, 193, 194, 134, - 0, 265, 164, 176, 159, 236, 307, 308, 158, 337, - 142, 323, 137, 143, 322, 229, 303, 311, 221, 213, - 136, 309, 219, 212, 199, 170, 184, 258, 208, 259, - 185, 225, 224, 226, 0, 132, 0, 291, 319, 338, - 148, 517, 592, 300, 332, 335, 0, 262, 149, 177, - 169, 257, 175, 202, 331, 333, 334, 147, 228, 144, - 187, 287, 198, 206, 584, 619, 245, 270, 152, 317, - 288, 512, 516, 510, 511, 560, 561, 513, 611, 612, - 613, 588, 506, 0, 514, 515, 0, 594, 601, 602, - 565, 127, 138, 203, 615, 263, 174, 320, 497, 509, - 162, 520, 0, 0, 533, 538, 539, 551, 553, 554, - 555, 556, 564, 571, 572, 574, 581, 582, 583, 585, - 590, 598, 618, 129, 130, 139, 146, 153, 161, 168, - 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, - 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, - 243, 244, 247, 251, 252, 253, 254, 255, 256, 264, - 266, 272, 273, 274, 275, 276, 277, 278, 281, 282, - 283, 284, 292, 296, 305, 306, 316, 325, 329, 181, - 313, 330, 0, 210, 563, 605, 593, 0, 0, 546, - 608, 519, 536, 617, 537, 540, 578, 503, 559, 237, - 534, 0, 523, 499, 530, 500, 521, 548, 166, 552, - 518, 595, 562, 607, 201, 0, 524, 249, 580, 280, - 156, 209, 207, 302, 171, 167, 165, 155, 188, 214, - 248, 298, 242, 614, 204, 569, 0, 289, 223, 0, - 0, 0, 550, 597, 557, 589, 545, 579, 508, 568, - 609, 535, 576, 610, 192, 154, 131, 234, 290, 173, - 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 150, 0, 573, 604, 532, 575, - 577, 620, 498, 570, 0, 501, 504, 616, 600, 527, - 528, 0, 0, 0, 0, 0, 0, 0, 549, 558, - 586, 543, 0, 0, 0, 0, 0, 0, 0, 0, - 525, 0, 567, 0, 0, 0, 505, 502, 0, 0, - 0, 0, 547, 0, 0, 0, 507, 0, 526, 587, - 0, 496, 178, 591, 599, 544, 326, 603, 542, 541, - 606, 260, 0, 294, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 267, 271, 596, 522, 531, 157, 529, - 269, 246, 315, 566, 250, 268, 205, 304, 261, 314, - 327, 328, 163, 227, 321, 299, 324, 336, 141, 160, - 240, 295, 318, 286, 222, 301, 196, 285, 133, 297, - 312, 151, 279, 0, 0, 0, 135, 310, 293, 220, - 193, 194, 134, 0, 265, 164, 176, 159, 236, 307, - 308, 158, 337, 142, 323, 137, 143, 322, 229, 303, - 311, 221, 213, 136, 309, 219, 212, 199, 170, 184, - 258, 208, 259, 185, 225, 224, 226, 0, 132, 0, - 291, 319, 338, 148, 517, 592, 300, 332, 335, 0, - 262, 149, 177, 169, 257, 175, 202, 331, 333, 334, - 147, 228, 144, 187, 287, 198, 206, 584, 619, 245, - 270, 152, 317, 288, 512, 516, 510, 511, 560, 561, - 513, 611, 612, 613, 588, 506, 0, 514, 515, 0, - 594, 601, 602, 565, 127, 138, 203, 615, 263, 174, - 320, 497, 509, 162, 520, 0, 0, 533, 538, 539, - 551, 553, 554, 555, 556, 564, 571, 572, 574, 581, - 582, 583, 585, 590, 598, 618, 129, 130, 139, 146, - 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, - 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, - 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, - 255, 256, 264, 266, 272, 273, 274, 275, 276, 277, - 278, 281, 282, 283, 284, 292, 296, 305, 306, 316, - 325, 329, 181, 313, 330, 0, 210, 563, 605, 593, - 0, 0, 546, 608, 519, 536, 617, 537, 540, 578, - 503, 559, 237, 534, 0, 523, 499, 530, 500, 521, - 548, 166, 552, 518, 595, 562, 607, 201, 0, 524, - 249, 580, 280, 156, 209, 207, 302, 171, 167, 165, - 155, 188, 214, 248, 298, 242, 614, 204, 569, 0, - 289, 223, 0, 0, 0, 550, 597, 557, 589, 545, - 579, 508, 568, 609, 535, 576, 610, 192, 154, 131, - 234, 290, 173, 0, 0, 0, 114, 115, 116, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 0, 573, - 604, 532, 575, 577, 620, 498, 570, 0, 501, 504, - 616, 600, 527, 528, 0, 0, 0, 0, 0, 0, - 0, 549, 558, 586, 543, 0, 0, 0, 0, 0, - 0, 0, 0, 525, 0, 567, 0, 0, 0, 505, - 502, 0, 0, 0, 0, 547, 0, 0, 0, 507, - 0, 526, 587, 0, 496, 178, 591, 599, 544, 326, - 603, 542, 541, 606, 260, 0, 294, 182, 200, 145, - 197, 128, 140, 0, 180, 233, 267, 271, 596, 522, - 531, 157, 529, 269, 246, 315, 566, 250, 268, 205, - 304, 261, 314, 327, 328, 163, 227, 321, 299, 324, - 336, 141, 160, 240, 295, 318, 286, 222, 301, 196, - 285, 133, 297, 312, 151, 279, 0, 0, 0, 135, - 310, 293, 220, 193, 194, 134, 0, 265, 164, 176, - 159, 236, 307, 308, 158, 337, 142, 323, 137, 494, - 322, 229, 303, 311, 221, 213, 136, 309, 219, 212, - 199, 170, 184, 258, 208, 259, 185, 225, 224, 226, - 0, 132, 0, 291, 319, 338, 148, 517, 592, 300, - 332, 335, 0, 262, 149, 177, 169, 257, 175, 202, - 331, 333, 334, 147, 495, 493, 488, 487, 198, 206, - 584, 619, 245, 270, 152, 317, 288, 512, 516, 510, - 511, 560, 561, 513, 611, 612, 613, 588, 506, 0, - 514, 515, 0, 594, 601, 602, 565, 127, 138, 203, - 615, 263, 174, 320, 497, 509, 162, 520, 0, 0, - 533, 538, 539, 551, 553, 554, 555, 556, 564, 571, - 572, 574, 581, 582, 583, 585, 590, 598, 618, 129, + 575, 606, 534, 577, 579, 622, 500, 572, 0, 503, + 506, 618, 602, 529, 530, 0, 0, 0, 0, 0, + 0, 0, 551, 560, 588, 545, 0, 0, 0, 0, + 0, 0, 1507, 0, 527, 0, 569, 0, 0, 0, + 507, 504, 0, 0, 0, 0, 549, 0, 0, 0, + 509, 0, 528, 589, 0, 498, 178, 593, 601, 546, + 327, 605, 544, 543, 608, 261, 0, 295, 182, 200, + 145, 197, 128, 140, 0, 180, 233, 268, 272, 598, + 524, 533, 157, 531, 270, 246, 316, 568, 250, 269, + 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, + 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, + 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, + 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, + 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, + 143, 323, 229, 304, 312, 221, 213, 136, 310, 219, + 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, + 226, 0, 132, 0, 292, 320, 339, 148, 519, 594, + 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, + 202, 332, 334, 335, 147, 256, 228, 144, 187, 288, + 198, 206, 586, 621, 245, 271, 152, 318, 289, 514, + 518, 512, 513, 562, 563, 515, 613, 614, 615, 590, + 508, 0, 516, 517, 0, 596, 603, 604, 567, 127, + 138, 203, 617, 264, 174, 321, 499, 511, 162, 522, + 0, 0, 535, 540, 541, 553, 555, 556, 557, 558, + 566, 573, 574, 576, 583, 584, 585, 587, 592, 600, + 620, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, + 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, + 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, + 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, + 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, + 0, 210, 565, 607, 595, 0, 0, 548, 610, 521, + 538, 619, 539, 542, 580, 505, 561, 237, 536, 0, + 525, 501, 532, 502, 523, 550, 166, 554, 520, 597, + 564, 609, 201, 0, 526, 249, 582, 281, 156, 209, + 207, 303, 171, 167, 165, 155, 188, 214, 248, 299, + 242, 616, 204, 571, 0, 290, 223, 0, 0, 0, + 552, 599, 559, 591, 547, 581, 510, 570, 611, 537, + 578, 612, 192, 154, 131, 234, 291, 173, 66, 0, + 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 575, 606, 534, 577, 579, 622, + 500, 572, 0, 503, 506, 618, 602, 529, 530, 0, + 0, 0, 0, 0, 0, 0, 551, 560, 588, 545, + 0, 0, 0, 0, 0, 0, 0, 0, 527, 0, + 569, 0, 0, 0, 507, 504, 0, 0, 0, 0, + 549, 0, 0, 0, 509, 0, 528, 589, 0, 498, + 178, 593, 601, 546, 327, 605, 544, 543, 608, 261, + 0, 295, 182, 200, 145, 197, 128, 140, 0, 180, + 233, 268, 272, 598, 524, 533, 157, 531, 270, 246, + 316, 568, 250, 269, 205, 305, 262, 315, 328, 329, + 163, 227, 322, 300, 325, 337, 141, 160, 240, 296, + 319, 287, 222, 302, 196, 286, 133, 298, 313, 151, + 280, 0, 0, 0, 135, 311, 294, 220, 193, 194, + 134, 0, 266, 164, 176, 159, 236, 308, 309, 158, + 338, 142, 324, 137, 143, 323, 229, 304, 312, 221, + 213, 136, 310, 219, 212, 199, 170, 184, 259, 208, + 260, 185, 225, 224, 226, 0, 132, 0, 292, 320, + 339, 148, 519, 594, 301, 333, 336, 0, 263, 149, + 177, 169, 258, 175, 202, 332, 334, 335, 147, 256, + 228, 144, 187, 288, 198, 206, 586, 621, 245, 271, + 152, 318, 289, 514, 518, 512, 513, 562, 563, 515, + 613, 614, 615, 590, 508, 0, 516, 517, 0, 596, + 603, 604, 567, 127, 138, 203, 617, 264, 174, 321, + 499, 511, 162, 522, 0, 0, 535, 540, 541, 553, + 555, 556, 557, 558, 566, 573, 574, 576, 583, 584, + 585, 587, 592, 600, 620, 129, 130, 139, 146, 153, + 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, + 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, + 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, + 257, 265, 267, 273, 274, 275, 276, 277, 278, 279, + 282, 283, 284, 285, 293, 297, 306, 307, 317, 326, + 330, 181, 314, 331, 0, 210, 565, 607, 595, 0, + 0, 548, 610, 521, 538, 619, 539, 542, 580, 505, + 561, 237, 536, 0, 525, 501, 532, 502, 523, 550, + 166, 554, 520, 597, 564, 609, 201, 0, 526, 249, + 582, 281, 156, 209, 207, 303, 171, 167, 165, 155, + 188, 214, 248, 299, 242, 616, 204, 571, 0, 290, + 223, 0, 0, 0, 552, 599, 559, 591, 547, 581, + 510, 570, 611, 537, 578, 612, 192, 154, 131, 234, + 291, 173, 0, 0, 0, 114, 115, 116, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 575, 606, + 534, 577, 579, 622, 500, 572, 0, 503, 506, 618, + 602, 529, 530, 0, 0, 0, 0, 0, 0, 0, + 551, 560, 588, 545, 0, 0, 0, 0, 0, 0, + 1384, 0, 527, 0, 569, 0, 0, 0, 507, 504, + 0, 0, 0, 0, 549, 0, 0, 0, 509, 0, + 528, 589, 0, 498, 178, 593, 601, 546, 327, 605, + 544, 543, 608, 261, 0, 295, 182, 200, 145, 197, + 128, 140, 0, 180, 233, 268, 272, 598, 524, 533, + 157, 531, 270, 246, 316, 568, 250, 269, 205, 305, + 262, 315, 328, 329, 163, 227, 322, 300, 325, 337, + 141, 160, 240, 296, 319, 287, 222, 302, 196, 286, + 133, 298, 313, 151, 280, 0, 0, 0, 135, 311, + 294, 220, 193, 194, 134, 0, 266, 164, 176, 159, + 236, 308, 309, 158, 338, 142, 324, 137, 143, 323, + 229, 304, 312, 221, 213, 136, 310, 219, 212, 199, + 170, 184, 259, 208, 260, 185, 225, 224, 226, 0, + 132, 0, 292, 320, 339, 148, 519, 594, 301, 333, + 336, 0, 263, 149, 177, 169, 258, 175, 202, 332, + 334, 335, 147, 256, 228, 144, 187, 288, 198, 206, + 586, 621, 245, 271, 152, 318, 289, 514, 518, 512, + 513, 562, 563, 515, 613, 614, 615, 590, 508, 0, + 516, 517, 0, 596, 603, 604, 567, 127, 138, 203, + 617, 264, 174, 321, 499, 511, 162, 522, 0, 0, + 535, 540, 541, 553, 555, 556, 557, 558, 566, 573, + 574, 576, 583, 584, 585, 587, 592, 600, 620, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, - 252, 253, 254, 255, 256, 264, 266, 272, 273, 274, - 275, 276, 277, 278, 281, 282, 283, 284, 292, 296, - 305, 306, 316, 325, 329, 181, 313, 330, 0, 210, - 563, 605, 593, 0, 0, 546, 608, 519, 536, 617, - 537, 540, 578, 503, 559, 237, 534, 0, 523, 499, - 530, 500, 521, 548, 166, 552, 518, 595, 562, 607, - 201, 0, 524, 249, 580, 280, 156, 209, 207, 302, - 171, 167, 165, 155, 188, 214, 248, 298, 242, 614, - 204, 569, 0, 289, 223, 0, 0, 0, 550, 597, - 557, 589, 545, 579, 508, 568, 609, 535, 576, 610, - 192, 154, 131, 234, 290, 173, 0, 0, 0, 114, + 252, 253, 254, 255, 257, 265, 267, 273, 274, 275, + 276, 277, 278, 279, 282, 283, 284, 285, 293, 297, + 306, 307, 317, 326, 330, 181, 314, 331, 0, 210, + 565, 607, 595, 0, 0, 548, 610, 521, 538, 619, + 539, 542, 580, 505, 561, 237, 536, 0, 525, 501, + 532, 502, 523, 550, 166, 554, 520, 597, 564, 609, + 201, 0, 526, 249, 582, 281, 156, 209, 207, 303, + 171, 167, 165, 155, 188, 214, 248, 299, 242, 616, + 204, 571, 0, 290, 223, 0, 0, 0, 552, 599, + 559, 591, 547, 581, 510, 570, 611, 537, 578, 612, + 192, 154, 131, 234, 291, 173, 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, - 150, 0, 573, 604, 532, 575, 577, 620, 498, 570, - 0, 501, 504, 616, 600, 527, 528, 0, 0, 0, - 0, 0, 0, 0, 549, 558, 586, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 525, 0, 567, 0, - 0, 0, 505, 502, 0, 0, 0, 0, 547, 0, - 0, 0, 507, 0, 526, 587, 0, 496, 178, 591, - 599, 544, 326, 603, 542, 541, 606, 260, 0, 294, - 182, 200, 145, 197, 128, 140, 0, 180, 233, 267, - 271, 596, 522, 531, 157, 529, 269, 246, 315, 566, - 250, 268, 205, 304, 261, 314, 327, 328, 163, 227, - 321, 299, 324, 336, 141, 160, 240, 295, 318, 286, - 222, 301, 196, 285, 133, 297, 848, 151, 279, 0, - 0, 0, 135, 310, 293, 220, 193, 194, 134, 0, - 265, 164, 176, 159, 236, 307, 308, 158, 337, 142, - 323, 137, 494, 322, 229, 303, 311, 221, 213, 136, - 309, 219, 212, 199, 170, 184, 258, 208, 259, 185, - 225, 224, 226, 0, 132, 0, 291, 319, 338, 148, - 517, 592, 300, 332, 335, 0, 262, 149, 177, 169, - 257, 175, 202, 331, 333, 334, 147, 495, 493, 488, - 487, 198, 206, 584, 619, 245, 270, 152, 317, 288, - 512, 516, 510, 511, 560, 561, 513, 611, 612, 613, - 588, 506, 0, 514, 515, 0, 594, 601, 602, 565, - 127, 138, 203, 615, 263, 174, 320, 497, 509, 162, - 520, 0, 0, 533, 538, 539, 551, 553, 554, 555, - 556, 564, 571, 572, 574, 581, 582, 583, 585, 590, - 598, 618, 129, 130, 139, 146, 153, 161, 168, 172, - 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, - 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, - 244, 247, 251, 252, 253, 254, 255, 256, 264, 266, - 272, 273, 274, 275, 276, 277, 278, 281, 282, 283, - 284, 292, 296, 305, 306, 316, 325, 329, 181, 313, - 330, 0, 210, 563, 605, 593, 0, 0, 546, 608, - 519, 536, 617, 537, 540, 578, 503, 559, 237, 534, - 0, 523, 499, 530, 500, 521, 548, 166, 552, 518, - 595, 562, 607, 201, 0, 524, 249, 580, 280, 156, - 209, 207, 302, 171, 167, 165, 155, 188, 214, 248, - 298, 242, 614, 204, 569, 0, 289, 223, 0, 0, - 0, 550, 597, 557, 589, 545, 579, 508, 568, 609, - 535, 576, 610, 192, 154, 131, 234, 290, 173, 0, - 0, 0, 114, 115, 116, 0, 0, 0, 0, 0, - 0, 0, 0, 150, 0, 573, 604, 532, 575, 577, - 620, 498, 570, 0, 501, 504, 616, 600, 527, 528, - 0, 0, 0, 0, 0, 0, 0, 549, 558, 586, - 543, 0, 0, 0, 0, 0, 0, 0, 0, 525, - 0, 567, 0, 0, 0, 505, 502, 0, 0, 0, - 0, 547, 0, 0, 0, 507, 0, 526, 587, 0, - 496, 178, 591, 599, 544, 326, 603, 542, 541, 606, - 260, 0, 294, 182, 200, 145, 197, 128, 140, 0, - 180, 233, 267, 271, 596, 522, 531, 157, 529, 269, - 246, 315, 566, 250, 268, 205, 304, 261, 314, 327, - 328, 163, 227, 321, 299, 324, 336, 141, 160, 240, - 295, 318, 286, 222, 301, 196, 285, 133, 297, 485, - 151, 279, 0, 0, 0, 135, 310, 293, 220, 193, - 194, 134, 0, 265, 164, 176, 159, 236, 307, 308, - 158, 337, 142, 323, 137, 494, 322, 229, 303, 311, - 221, 213, 136, 309, 219, 212, 199, 170, 184, 258, - 208, 259, 185, 225, 224, 226, 0, 132, 0, 291, - 319, 338, 148, 517, 592, 300, 332, 335, 0, 262, - 149, 177, 169, 257, 175, 202, 331, 333, 334, 147, - 495, 493, 488, 487, 198, 206, 584, 619, 245, 270, - 152, 317, 288, 512, 516, 510, 511, 560, 561, 513, - 611, 612, 613, 588, 506, 0, 514, 515, 0, 594, - 601, 602, 565, 127, 138, 203, 615, 263, 174, 320, - 497, 509, 162, 520, 0, 0, 533, 538, 539, 551, - 553, 554, 555, 556, 564, 571, 572, 574, 581, 582, - 583, 585, 590, 598, 618, 129, 130, 139, 146, 153, + 150, 0, 575, 606, 534, 577, 579, 622, 500, 572, + 0, 503, 506, 618, 602, 529, 530, 0, 0, 0, + 0, 0, 0, 0, 551, 560, 588, 545, 0, 0, + 0, 0, 0, 0, 1112, 0, 527, 0, 569, 0, + 0, 0, 507, 504, 0, 0, 0, 0, 549, 0, + 0, 0, 509, 0, 528, 589, 0, 498, 178, 593, + 601, 546, 327, 605, 544, 543, 608, 261, 0, 295, + 182, 200, 145, 197, 128, 140, 0, 180, 233, 268, + 272, 598, 524, 533, 157, 531, 270, 246, 316, 568, + 250, 269, 205, 305, 262, 315, 328, 329, 163, 227, + 322, 300, 325, 337, 141, 160, 240, 296, 319, 287, + 222, 302, 196, 286, 133, 298, 313, 151, 280, 0, + 0, 0, 135, 311, 294, 220, 193, 194, 134, 0, + 266, 164, 176, 159, 236, 308, 309, 158, 338, 142, + 324, 137, 143, 323, 229, 304, 312, 221, 213, 136, + 310, 219, 212, 199, 170, 184, 259, 208, 260, 185, + 225, 224, 226, 0, 132, 0, 292, 320, 339, 148, + 519, 594, 301, 333, 336, 0, 263, 149, 177, 169, + 258, 175, 202, 332, 334, 335, 147, 256, 228, 144, + 187, 288, 198, 206, 586, 621, 245, 271, 152, 318, + 289, 514, 518, 512, 513, 562, 563, 515, 613, 614, + 615, 590, 508, 0, 516, 517, 0, 596, 603, 604, + 567, 127, 138, 203, 617, 264, 174, 321, 499, 511, + 162, 522, 0, 0, 535, 540, 541, 553, 555, 556, + 557, 558, 566, 573, 574, 576, 583, 584, 585, 587, + 592, 600, 620, 129, 130, 139, 146, 153, 161, 168, + 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, + 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, + 243, 244, 247, 251, 252, 253, 254, 255, 257, 265, + 267, 273, 274, 275, 276, 277, 278, 279, 282, 283, + 284, 285, 293, 297, 306, 307, 317, 326, 330, 181, + 314, 331, 0, 210, 565, 607, 595, 0, 0, 548, + 610, 521, 538, 619, 539, 542, 580, 505, 561, 237, + 536, 0, 525, 501, 532, 502, 523, 550, 166, 554, + 520, 597, 564, 609, 201, 0, 526, 249, 582, 281, + 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, + 248, 299, 242, 616, 204, 571, 0, 290, 223, 0, + 0, 0, 552, 599, 559, 591, 547, 581, 510, 570, + 611, 537, 578, 612, 192, 154, 131, 234, 291, 173, + 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, + 0, 0, 0, 0, 150, 0, 575, 606, 534, 577, + 579, 622, 500, 572, 0, 503, 506, 618, 602, 529, + 530, 0, 0, 0, 0, 0, 0, 0, 551, 560, + 588, 545, 0, 0, 0, 0, 0, 0, 0, 0, + 527, 0, 569, 0, 0, 0, 507, 504, 0, 0, + 0, 0, 549, 0, 0, 0, 509, 0, 528, 589, + 0, 498, 178, 593, 601, 546, 327, 605, 544, 543, + 608, 261, 0, 295, 182, 200, 145, 197, 128, 140, + 0, 180, 233, 268, 272, 598, 524, 533, 157, 531, + 270, 246, 316, 568, 250, 269, 205, 305, 262, 315, + 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, + 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, + 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, + 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, + 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, + 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, + 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, + 292, 320, 339, 148, 519, 594, 301, 333, 336, 0, + 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, + 147, 256, 228, 144, 187, 288, 198, 206, 586, 621, + 245, 271, 152, 318, 289, 514, 518, 512, 513, 562, + 563, 515, 613, 614, 615, 590, 508, 0, 516, 517, + 0, 596, 603, 604, 567, 127, 138, 203, 617, 264, + 174, 321, 499, 511, 162, 522, 0, 0, 535, 540, + 541, 553, 555, 556, 557, 558, 566, 573, 574, 576, + 583, 584, 585, 587, 592, 600, 620, 129, 130, 139, + 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, + 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, + 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, + 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, + 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, + 317, 326, 330, 181, 314, 331, 0, 210, 565, 607, + 595, 0, 0, 548, 610, 521, 538, 619, 539, 542, + 580, 505, 561, 237, 536, 0, 525, 501, 532, 502, + 523, 550, 166, 554, 520, 597, 564, 609, 201, 0, + 526, 249, 582, 281, 156, 209, 207, 303, 171, 167, + 165, 155, 188, 214, 248, 299, 242, 616, 204, 571, + 0, 290, 223, 0, 0, 0, 552, 599, 559, 591, + 547, 581, 510, 570, 611, 537, 578, 612, 192, 154, + 131, 234, 291, 173, 0, 0, 0, 114, 115, 116, + 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, + 575, 606, 534, 577, 579, 622, 500, 572, 0, 503, + 506, 618, 602, 529, 530, 0, 0, 0, 0, 0, + 0, 0, 551, 560, 588, 545, 0, 0, 0, 0, + 0, 0, 0, 0, 527, 0, 569, 0, 0, 0, + 507, 504, 0, 0, 0, 0, 549, 0, 0, 0, + 509, 0, 528, 589, 0, 498, 178, 593, 601, 546, + 327, 605, 544, 543, 608, 261, 0, 295, 182, 200, + 145, 197, 128, 140, 0, 180, 233, 268, 272, 598, + 524, 533, 157, 531, 270, 246, 316, 568, 250, 269, + 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, + 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, + 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, + 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, + 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, + 496, 323, 229, 304, 312, 221, 213, 136, 310, 219, + 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, + 226, 0, 132, 0, 292, 320, 339, 148, 519, 594, + 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, + 202, 332, 334, 335, 147, 256, 497, 495, 490, 489, + 198, 206, 586, 621, 245, 271, 152, 318, 289, 514, + 518, 512, 513, 562, 563, 515, 613, 614, 615, 590, + 508, 0, 516, 517, 0, 596, 603, 604, 567, 127, + 138, 203, 617, 264, 174, 321, 499, 511, 162, 522, + 0, 0, 535, 540, 541, 553, 555, 556, 557, 558, + 566, 573, 574, 576, 583, 584, 585, 587, 592, 600, + 620, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, + 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, + 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, + 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, + 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, + 0, 210, 565, 607, 595, 0, 0, 548, 610, 521, + 538, 619, 539, 542, 580, 505, 561, 237, 536, 0, + 525, 501, 532, 502, 523, 550, 166, 554, 520, 597, + 564, 609, 201, 0, 526, 249, 582, 281, 156, 209, + 207, 303, 171, 167, 165, 155, 188, 214, 248, 299, + 242, 616, 204, 571, 0, 290, 223, 0, 0, 0, + 552, 599, 559, 591, 547, 581, 510, 570, 611, 537, + 578, 612, 192, 154, 131, 234, 291, 173, 0, 0, + 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 575, 606, 534, 577, 579, 622, + 500, 572, 0, 503, 506, 618, 602, 529, 530, 0, + 0, 0, 0, 0, 0, 0, 551, 560, 588, 545, + 0, 0, 0, 0, 0, 0, 0, 0, 527, 0, + 569, 0, 0, 0, 507, 504, 0, 0, 0, 0, + 549, 0, 0, 0, 509, 0, 528, 589, 0, 498, + 178, 593, 601, 546, 327, 605, 544, 543, 608, 261, + 0, 295, 182, 200, 145, 197, 128, 140, 0, 180, + 233, 268, 272, 598, 524, 533, 157, 531, 270, 246, + 316, 568, 250, 269, 205, 305, 262, 315, 328, 329, + 163, 227, 322, 300, 325, 337, 141, 160, 240, 296, + 319, 287, 222, 302, 196, 286, 133, 298, 850, 151, + 280, 0, 0, 0, 135, 311, 294, 220, 193, 194, + 134, 0, 266, 164, 176, 159, 236, 308, 309, 158, + 338, 142, 324, 137, 496, 323, 229, 304, 312, 221, + 213, 136, 310, 219, 212, 199, 170, 184, 259, 208, + 260, 185, 225, 224, 226, 0, 132, 0, 292, 320, + 339, 148, 519, 594, 301, 333, 336, 0, 263, 149, + 177, 169, 258, 175, 202, 332, 334, 335, 147, 256, + 497, 495, 490, 489, 198, 206, 586, 621, 245, 271, + 152, 318, 289, 514, 518, 512, 513, 562, 563, 515, + 613, 614, 615, 590, 508, 0, 516, 517, 0, 596, + 603, 604, 567, 127, 138, 203, 617, 264, 174, 321, + 499, 511, 162, 522, 0, 0, 535, 540, 541, 553, + 555, 556, 557, 558, 566, 573, 574, 576, 583, 584, + 585, 587, 592, 600, 620, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, - 256, 264, 266, 272, 273, 274, 275, 276, 277, 278, - 281, 282, 283, 284, 292, 296, 305, 306, 316, 325, - 329, 181, 313, 330, 237, 210, 563, 1037, 0, 389, - 0, 0, 0, 166, 0, 388, 0, 0, 0, 201, - 0, 1038, 249, 0, 280, 156, 209, 207, 302, 171, - 167, 165, 155, 188, 214, 248, 298, 242, 432, 204, - 0, 0, 289, 223, 0, 0, 0, 0, 0, 423, - 424, 0, 0, 0, 0, 0, 0, 0, 0, 192, - 154, 131, 234, 290, 173, 66, 0, 0, 114, 115, - 116, 410, 409, 412, 413, 414, 415, 0, 0, 150, - 411, 416, 417, 418, 0, 0, 0, 0, 386, 403, - 0, 431, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 400, 401, 475, 0, 0, 0, 446, 0, 402, - 0, 0, 395, 396, 398, 397, 399, 404, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 178, 445, 0, - 0, 326, 0, 0, 443, 0, 260, 0, 294, 182, - 200, 145, 197, 128, 140, 0, 180, 233, 267, 271, - 0, 0, 0, 157, 0, 269, 246, 315, 0, 250, - 268, 205, 304, 261, 314, 327, 328, 163, 227, 321, - 299, 324, 336, 141, 160, 240, 295, 318, 286, 222, - 301, 196, 285, 133, 297, 312, 151, 279, 0, 0, - 0, 135, 310, 293, 220, 193, 194, 134, 0, 265, - 164, 176, 159, 236, 307, 308, 158, 337, 142, 323, - 137, 143, 322, 229, 303, 311, 221, 213, 136, 309, - 219, 212, 199, 170, 184, 258, 208, 259, 185, 225, - 224, 226, 0, 132, 0, 291, 319, 338, 148, 0, - 0, 300, 332, 335, 0, 262, 149, 177, 169, 257, - 175, 202, 331, 333, 334, 147, 228, 144, 187, 287, - 198, 206, 0, 0, 245, 270, 152, 317, 288, 433, - 444, 439, 440, 437, 438, 0, 436, 435, 434, 447, - 425, 426, 427, 428, 430, 0, 441, 442, 429, 127, - 138, 203, 0, 263, 174, 320, 0, 0, 162, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, - 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, - 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 256, 264, 266, 272, - 273, 274, 275, 276, 277, 278, 281, 282, 283, 284, - 292, 296, 305, 306, 316, 325, 329, 181, 313, 330, - 237, 210, 0, 0, 0, 389, 0, 0, 0, 166, - 0, 388, 0, 0, 0, 201, 0, 0, 249, 0, - 280, 156, 209, 207, 302, 171, 167, 165, 155, 188, - 214, 248, 298, 242, 432, 204, 0, 0, 289, 223, - 0, 0, 0, 0, 0, 423, 424, 0, 0, 0, - 0, 0, 0, 1149, 0, 192, 154, 131, 234, 290, - 173, 66, 0, 0, 114, 115, 116, 410, 409, 412, - 413, 414, 415, 0, 0, 150, 411, 416, 417, 418, - 1150, 0, 0, 0, 386, 403, 0, 431, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 400, 401, 0, - 0, 0, 0, 446, 0, 402, 0, 0, 395, 396, - 398, 397, 399, 404, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 178, 445, 0, 0, 326, 0, 0, - 443, 0, 260, 0, 294, 182, 200, 145, 197, 128, - 140, 0, 180, 233, 267, 271, 0, 0, 0, 157, - 0, 269, 246, 315, 0, 250, 268, 205, 304, 261, - 314, 327, 328, 163, 227, 321, 299, 324, 336, 141, - 160, 240, 295, 318, 286, 222, 301, 196, 285, 133, - 297, 312, 151, 279, 0, 0, 0, 135, 310, 293, - 220, 193, 194, 134, 0, 265, 164, 176, 159, 236, - 307, 308, 158, 337, 142, 323, 137, 143, 322, 229, - 303, 311, 221, 213, 136, 309, 219, 212, 199, 170, - 184, 258, 208, 259, 185, 225, 224, 226, 0, 132, - 0, 291, 319, 338, 148, 0, 0, 300, 332, 335, - 0, 262, 149, 177, 169, 257, 175, 202, 331, 333, - 334, 147, 228, 144, 187, 287, 198, 206, 0, 0, - 245, 270, 152, 317, 288, 433, 444, 439, 440, 437, - 438, 0, 436, 435, 434, 447, 425, 426, 427, 428, - 430, 0, 441, 442, 429, 127, 138, 203, 0, 263, - 174, 320, 0, 0, 162, 0, 0, 0, 0, 0, + 257, 265, 267, 273, 274, 275, 276, 277, 278, 279, + 282, 283, 284, 285, 293, 297, 306, 307, 317, 326, + 330, 181, 314, 331, 0, 210, 565, 607, 595, 0, + 0, 548, 610, 521, 538, 619, 539, 542, 580, 505, + 561, 237, 536, 0, 525, 501, 532, 502, 523, 550, + 166, 554, 520, 597, 564, 609, 201, 0, 526, 249, + 582, 281, 156, 209, 207, 303, 171, 167, 165, 155, + 188, 214, 248, 299, 242, 616, 204, 571, 0, 290, + 223, 0, 0, 0, 552, 599, 559, 591, 547, 581, + 510, 570, 611, 537, 578, 612, 192, 154, 131, 234, + 291, 173, 0, 0, 0, 114, 115, 116, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 575, 606, + 534, 577, 579, 622, 500, 572, 0, 503, 506, 618, + 602, 529, 530, 0, 0, 0, 0, 0, 0, 0, + 551, 560, 588, 545, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 0, 569, 0, 0, 0, 507, 504, + 0, 0, 0, 0, 549, 0, 0, 0, 509, 0, + 528, 589, 0, 498, 178, 593, 601, 546, 327, 605, + 544, 543, 608, 261, 0, 295, 182, 200, 145, 197, + 128, 140, 0, 180, 233, 268, 272, 598, 524, 533, + 157, 531, 270, 246, 316, 568, 250, 269, 205, 305, + 262, 315, 328, 329, 163, 227, 322, 300, 325, 337, + 141, 160, 240, 296, 319, 287, 222, 302, 196, 286, + 133, 298, 487, 151, 280, 0, 0, 0, 135, 311, + 294, 220, 193, 194, 134, 0, 266, 164, 176, 159, + 236, 308, 309, 158, 338, 142, 324, 137, 496, 323, + 229, 304, 312, 221, 213, 136, 310, 219, 212, 199, + 170, 184, 259, 208, 260, 185, 225, 224, 226, 0, + 132, 0, 292, 320, 339, 148, 519, 594, 301, 333, + 336, 0, 263, 149, 177, 169, 258, 175, 202, 332, + 334, 335, 147, 256, 497, 495, 490, 489, 198, 206, + 586, 621, 245, 271, 152, 318, 289, 514, 518, 512, + 513, 562, 563, 515, 613, 614, 615, 590, 508, 0, + 516, 517, 0, 596, 603, 604, 567, 127, 138, 203, + 617, 264, 174, 321, 499, 511, 162, 522, 0, 0, + 535, 540, 541, 553, 555, 556, 557, 558, 566, 573, + 574, 576, 583, 584, 585, 587, 592, 600, 620, 129, + 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, + 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, + 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, + 252, 253, 254, 255, 257, 265, 267, 273, 274, 275, + 276, 277, 278, 279, 282, 283, 284, 285, 293, 297, + 306, 307, 317, 326, 330, 181, 314, 331, 237, 210, + 565, 1039, 0, 391, 0, 0, 0, 166, 0, 390, + 0, 0, 0, 201, 0, 1040, 249, 0, 281, 156, + 209, 207, 303, 171, 167, 165, 155, 188, 214, 248, + 299, 242, 434, 204, 0, 0, 290, 223, 0, 0, + 0, 0, 0, 425, 426, 0, 0, 0, 0, 0, + 0, 0, 0, 192, 154, 131, 234, 291, 173, 66, + 0, 0, 114, 115, 116, 412, 411, 414, 415, 416, + 417, 0, 0, 150, 413, 418, 419, 420, 0, 0, + 0, 0, 388, 405, 0, 433, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 402, 403, 477, 0, 0, + 0, 448, 0, 404, 0, 0, 397, 398, 400, 399, + 401, 406, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 178, 447, 0, 0, 327, 0, 0, 445, 0, + 261, 0, 295, 182, 200, 145, 197, 128, 140, 0, + 180, 233, 268, 272, 0, 0, 0, 157, 0, 270, + 246, 316, 0, 250, 269, 205, 305, 262, 315, 328, + 329, 163, 227, 322, 300, 325, 337, 141, 160, 240, + 296, 319, 287, 222, 302, 196, 286, 133, 298, 313, + 151, 280, 0, 0, 0, 135, 311, 294, 220, 193, + 194, 134, 0, 266, 164, 176, 159, 236, 308, 309, + 158, 338, 142, 324, 137, 143, 323, 229, 304, 312, + 221, 213, 136, 310, 219, 212, 199, 170, 184, 259, + 208, 260, 185, 225, 224, 226, 0, 132, 0, 292, + 320, 339, 148, 0, 0, 301, 333, 336, 0, 263, + 149, 177, 169, 258, 175, 202, 332, 334, 335, 147, + 256, 228, 144, 187, 288, 198, 206, 0, 0, 245, + 271, 152, 318, 289, 435, 446, 441, 442, 439, 440, + 0, 438, 437, 436, 449, 427, 428, 429, 430, 432, + 0, 443, 444, 431, 127, 138, 203, 0, 264, 174, + 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, - 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, - 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, - 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 256, 264, 266, 272, 273, 274, 275, 276, - 277, 278, 281, 282, 283, 284, 292, 296, 305, 306, - 316, 325, 329, 181, 313, 330, 237, 210, 0, 0, - 0, 389, 0, 0, 0, 166, 0, 388, 0, 0, - 0, 201, 0, 0, 249, 0, 280, 156, 209, 207, - 302, 171, 167, 165, 155, 188, 214, 248, 298, 242, - 432, 204, 0, 0, 289, 223, 0, 0, 0, 0, - 0, 423, 424, 0, 0, 0, 0, 0, 0, 0, - 0, 192, 154, 131, 234, 290, 173, 66, 0, 463, - 114, 115, 116, 410, 409, 412, 413, 414, 415, 0, - 0, 150, 411, 416, 417, 418, 0, 0, 0, 0, - 386, 403, 0, 431, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 400, 401, 0, 0, 0, 0, 446, - 0, 402, 0, 0, 395, 396, 398, 397, 399, 404, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, - 445, 0, 0, 326, 0, 0, 443, 0, 260, 0, - 294, 182, 200, 145, 197, 128, 140, 0, 180, 233, - 267, 271, 0, 0, 0, 157, 0, 269, 246, 315, - 0, 250, 268, 205, 304, 261, 314, 327, 328, 163, - 227, 321, 299, 324, 336, 141, 160, 240, 295, 318, - 286, 222, 301, 196, 285, 133, 297, 312, 151, 279, - 0, 0, 0, 135, 310, 293, 220, 193, 194, 134, - 0, 265, 164, 176, 159, 236, 307, 308, 158, 337, - 142, 323, 137, 143, 322, 229, 303, 311, 221, 213, - 136, 309, 219, 212, 199, 170, 184, 258, 208, 259, - 185, 225, 224, 226, 0, 132, 0, 291, 319, 338, - 148, 0, 0, 300, 332, 335, 0, 262, 149, 177, - 169, 257, 175, 202, 331, 333, 334, 147, 228, 144, - 187, 287, 198, 206, 0, 0, 245, 270, 152, 317, - 288, 433, 444, 439, 440, 437, 438, 0, 436, 435, - 434, 447, 425, 426, 427, 428, 430, 0, 441, 442, - 429, 127, 138, 203, 0, 263, 174, 320, 0, 0, + 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, + 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, + 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, + 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, + 255, 257, 265, 267, 273, 274, 275, 276, 277, 278, + 279, 282, 283, 284, 285, 293, 297, 306, 307, 317, + 326, 330, 181, 314, 331, 237, 210, 0, 0, 0, + 391, 0, 0, 0, 166, 0, 390, 0, 0, 0, + 201, 0, 0, 249, 0, 281, 156, 209, 207, 303, + 171, 167, 165, 155, 188, 214, 248, 299, 242, 434, + 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, + 425, 426, 0, 0, 0, 0, 0, 0, 1151, 0, + 192, 154, 131, 234, 291, 173, 66, 0, 0, 114, + 115, 116, 412, 411, 414, 415, 416, 417, 0, 0, + 150, 413, 418, 419, 420, 1152, 0, 0, 0, 388, + 405, 0, 433, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 402, 403, 0, 0, 0, 0, 448, 0, + 404, 0, 0, 397, 398, 400, 399, 401, 406, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 178, 447, + 0, 0, 327, 0, 0, 445, 0, 261, 0, 295, + 182, 200, 145, 197, 128, 140, 0, 180, 233, 268, + 272, 0, 0, 0, 157, 0, 270, 246, 316, 0, + 250, 269, 205, 305, 262, 315, 328, 329, 163, 227, + 322, 300, 325, 337, 141, 160, 240, 296, 319, 287, + 222, 302, 196, 286, 133, 298, 313, 151, 280, 0, + 0, 0, 135, 311, 294, 220, 193, 194, 134, 0, + 266, 164, 176, 159, 236, 308, 309, 158, 338, 142, + 324, 137, 143, 323, 229, 304, 312, 221, 213, 136, + 310, 219, 212, 199, 170, 184, 259, 208, 260, 185, + 225, 224, 226, 0, 132, 0, 292, 320, 339, 148, + 0, 0, 301, 333, 336, 0, 263, 149, 177, 169, + 258, 175, 202, 332, 334, 335, 147, 256, 228, 144, + 187, 288, 198, 206, 0, 0, 245, 271, 152, 318, + 289, 435, 446, 441, 442, 439, 440, 0, 438, 437, + 436, 449, 427, 428, 429, 430, 432, 0, 443, 444, + 431, 127, 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, - 243, 244, 247, 251, 252, 253, 254, 255, 256, 264, - 266, 272, 273, 274, 275, 276, 277, 278, 281, 282, - 283, 284, 292, 296, 305, 306, 316, 325, 329, 181, - 313, 330, 237, 210, 0, 0, 0, 389, 0, 0, - 0, 166, 0, 388, 0, 0, 0, 201, 0, 0, - 249, 0, 280, 156, 209, 207, 302, 171, 167, 165, - 155, 188, 214, 248, 298, 242, 432, 204, 0, 0, - 289, 223, 0, 0, 0, 0, 0, 423, 424, 0, + 243, 244, 247, 251, 252, 253, 254, 255, 257, 265, + 267, 273, 274, 275, 276, 277, 278, 279, 282, 283, + 284, 285, 293, 297, 306, 307, 317, 326, 330, 181, + 314, 331, 237, 210, 0, 0, 0, 391, 0, 0, + 0, 166, 0, 390, 0, 0, 0, 201, 0, 0, + 249, 0, 281, 156, 209, 207, 303, 171, 167, 165, + 155, 188, 214, 248, 299, 242, 434, 204, 0, 0, + 290, 223, 0, 0, 0, 0, 0, 425, 426, 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, 131, - 234, 290, 173, 66, 0, 0, 114, 115, 116, 410, - 409, 412, 413, 414, 415, 0, 0, 150, 411, 416, - 417, 418, 0, 0, 0, 0, 386, 403, 0, 431, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, - 401, 475, 0, 0, 0, 446, 0, 402, 0, 0, - 395, 396, 398, 397, 399, 404, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 178, 445, 0, 0, 326, - 0, 0, 443, 0, 260, 0, 294, 182, 200, 145, - 197, 128, 140, 0, 180, 233, 267, 271, 0, 0, - 0, 157, 0, 269, 246, 315, 0, 250, 268, 205, - 304, 261, 314, 327, 328, 163, 227, 321, 299, 324, - 336, 141, 160, 240, 295, 318, 286, 222, 301, 196, - 285, 133, 297, 312, 151, 279, 0, 0, 0, 135, - 310, 293, 220, 193, 194, 134, 0, 265, 164, 176, - 159, 236, 307, 308, 158, 337, 142, 323, 137, 143, - 322, 229, 303, 311, 221, 213, 136, 309, 219, 212, - 199, 170, 184, 258, 208, 259, 185, 225, 224, 226, - 0, 132, 0, 291, 319, 338, 148, 0, 0, 300, - 332, 335, 0, 262, 149, 177, 169, 257, 175, 202, - 331, 333, 334, 147, 228, 144, 187, 287, 198, 206, - 0, 0, 245, 270, 152, 317, 288, 433, 444, 439, - 440, 437, 438, 0, 436, 435, 434, 447, 425, 426, - 427, 428, 430, 0, 441, 442, 429, 127, 138, 203, - 0, 263, 174, 320, 0, 0, 162, 0, 0, 0, + 234, 291, 173, 66, 0, 465, 114, 115, 116, 412, + 411, 414, 415, 416, 417, 0, 0, 150, 413, 418, + 419, 420, 0, 0, 0, 0, 388, 405, 0, 433, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, + 403, 0, 0, 0, 0, 448, 0, 404, 0, 0, + 397, 398, 400, 399, 401, 406, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 178, 447, 0, 0, 327, + 0, 0, 445, 0, 261, 0, 295, 182, 200, 145, + 197, 128, 140, 0, 180, 233, 268, 272, 0, 0, + 0, 157, 0, 270, 246, 316, 0, 250, 269, 205, + 305, 262, 315, 328, 329, 163, 227, 322, 300, 325, + 337, 141, 160, 240, 296, 319, 287, 222, 302, 196, + 286, 133, 298, 313, 151, 280, 0, 0, 0, 135, + 311, 294, 220, 193, 194, 134, 0, 266, 164, 176, + 159, 236, 308, 309, 158, 338, 142, 324, 137, 143, + 323, 229, 304, 312, 221, 213, 136, 310, 219, 212, + 199, 170, 184, 259, 208, 260, 185, 225, 224, 226, + 0, 132, 0, 292, 320, 339, 148, 0, 0, 301, + 333, 336, 0, 263, 149, 177, 169, 258, 175, 202, + 332, 334, 335, 147, 256, 228, 144, 187, 288, 198, + 206, 0, 0, 245, 271, 152, 318, 289, 435, 446, + 441, 442, 439, 440, 0, 438, 437, 436, 449, 427, + 428, 429, 430, 432, 0, 443, 444, 431, 127, 138, + 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, - 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, - 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, - 252, 253, 254, 255, 256, 264, 266, 272, 273, 274, - 275, 276, 277, 278, 281, 282, 283, 284, 292, 296, - 305, 306, 316, 325, 329, 181, 313, 330, 237, 210, - 0, 0, 0, 389, 0, 0, 0, 166, 0, 388, - 0, 0, 0, 201, 0, 0, 249, 0, 280, 156, - 209, 207, 302, 171, 167, 165, 155, 188, 214, 248, - 298, 242, 432, 204, 0, 0, 289, 223, 0, 0, - 0, 0, 0, 423, 424, 0, 0, 0, 0, 0, - 0, 0, 0, 192, 154, 131, 234, 290, 173, 66, - 0, 0, 114, 115, 116, 410, 1055, 412, 413, 414, - 415, 0, 0, 150, 411, 416, 417, 418, 0, 0, - 0, 0, 386, 403, 0, 431, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 400, 401, 475, 0, 0, - 0, 446, 0, 402, 0, 0, 395, 396, 398, 397, - 399, 404, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 178, 445, 0, 0, 326, 0, 0, 443, 0, - 260, 0, 294, 182, 200, 145, 197, 128, 140, 0, - 180, 233, 267, 271, 0, 0, 0, 157, 0, 269, - 246, 315, 0, 250, 268, 205, 304, 261, 314, 327, - 328, 163, 227, 321, 299, 324, 336, 141, 160, 240, - 295, 318, 286, 222, 301, 196, 285, 133, 297, 312, - 151, 279, 0, 0, 0, 135, 310, 293, 220, 193, - 194, 134, 0, 265, 164, 176, 159, 236, 307, 308, - 158, 337, 142, 323, 137, 143, 322, 229, 303, 311, - 221, 213, 136, 309, 219, 212, 199, 170, 184, 258, - 208, 259, 185, 225, 224, 226, 0, 132, 0, 291, - 319, 338, 148, 0, 0, 300, 332, 335, 0, 262, - 149, 177, 169, 257, 175, 202, 331, 333, 334, 147, - 228, 144, 187, 287, 198, 206, 0, 0, 245, 270, - 152, 317, 288, 433, 444, 439, 440, 437, 438, 0, - 436, 435, 434, 447, 425, 426, 427, 428, 430, 0, - 441, 442, 429, 127, 138, 203, 0, 263, 174, 320, - 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, - 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, - 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, - 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, - 256, 264, 266, 272, 273, 274, 275, 276, 277, 278, - 281, 282, 283, 284, 292, 296, 305, 306, 316, 325, - 329, 181, 313, 330, 237, 210, 0, 0, 0, 389, - 0, 0, 0, 166, 0, 388, 0, 0, 0, 201, - 0, 0, 249, 0, 280, 156, 209, 207, 302, 171, - 167, 165, 155, 188, 214, 248, 298, 242, 432, 204, - 0, 0, 289, 223, 0, 0, 0, 0, 0, 423, - 424, 0, 0, 0, 0, 0, 0, 0, 0, 192, - 154, 131, 234, 290, 173, 66, 0, 0, 114, 115, - 116, 410, 1052, 412, 413, 414, 415, 0, 0, 150, - 411, 416, 417, 418, 0, 0, 0, 0, 386, 403, - 0, 431, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 400, 401, 475, 0, 0, 0, 446, 0, 402, - 0, 0, 395, 396, 398, 397, 399, 404, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 178, 445, 0, - 0, 326, 0, 0, 443, 0, 260, 0, 294, 182, - 200, 145, 197, 128, 140, 0, 180, 233, 267, 271, - 0, 0, 0, 157, 0, 269, 246, 315, 0, 250, - 268, 205, 304, 261, 314, 327, 328, 163, 227, 321, - 299, 324, 336, 141, 160, 240, 295, 318, 286, 222, - 301, 196, 285, 133, 297, 312, 151, 279, 0, 0, - 0, 135, 310, 293, 220, 193, 194, 134, 0, 265, - 164, 176, 159, 236, 307, 308, 158, 337, 142, 323, - 137, 143, 322, 229, 303, 311, 221, 213, 136, 309, - 219, 212, 199, 170, 184, 258, 208, 259, 185, 225, - 224, 226, 0, 132, 0, 291, 319, 338, 148, 0, - 0, 300, 332, 335, 0, 262, 149, 177, 169, 257, - 175, 202, 331, 333, 334, 147, 228, 144, 187, 287, - 198, 206, 0, 0, 245, 270, 152, 317, 288, 433, - 444, 439, 440, 437, 438, 0, 436, 435, 434, 447, - 425, 426, 427, 428, 430, 0, 441, 442, 429, 127, - 138, 203, 0, 263, 174, 320, 0, 0, 162, 0, + 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, + 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, + 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, + 251, 252, 253, 254, 255, 257, 265, 267, 273, 274, + 275, 276, 277, 278, 279, 282, 283, 284, 285, 293, + 297, 306, 307, 317, 326, 330, 181, 314, 331, 237, + 210, 0, 0, 0, 391, 0, 0, 0, 166, 0, + 390, 0, 0, 0, 201, 0, 0, 249, 0, 281, + 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, + 248, 299, 242, 434, 204, 0, 0, 290, 223, 0, + 0, 0, 0, 0, 425, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 192, 154, 131, 234, 291, 173, + 66, 0, 0, 114, 115, 116, 412, 411, 414, 415, + 416, 417, 0, 0, 150, 413, 418, 419, 420, 0, + 0, 0, 0, 388, 405, 0, 433, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 402, 403, 477, 0, + 0, 0, 448, 0, 404, 0, 0, 397, 398, 400, + 399, 401, 406, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 178, 447, 0, 0, 327, 0, 0, 445, + 0, 261, 0, 295, 182, 200, 145, 197, 128, 140, + 0, 180, 233, 268, 272, 0, 0, 0, 157, 0, + 270, 246, 316, 0, 250, 269, 205, 305, 262, 315, + 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, + 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, + 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, + 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, + 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, + 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, + 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, + 292, 320, 339, 148, 0, 0, 301, 333, 336, 0, + 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, + 147, 256, 228, 144, 187, 288, 198, 206, 0, 0, + 245, 271, 152, 318, 289, 435, 446, 441, 442, 439, + 440, 0, 438, 437, 436, 449, 427, 428, 429, 430, + 432, 0, 443, 444, 431, 127, 138, 203, 0, 264, + 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, + 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, + 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, + 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, + 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, + 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, + 317, 326, 330, 181, 314, 331, 237, 210, 0, 0, + 0, 391, 0, 0, 0, 166, 0, 390, 0, 0, + 0, 201, 0, 0, 249, 0, 281, 156, 209, 207, + 303, 171, 167, 165, 155, 188, 214, 248, 299, 242, + 434, 204, 0, 0, 290, 223, 0, 0, 0, 0, + 0, 425, 426, 0, 0, 0, 0, 0, 0, 0, + 0, 192, 154, 131, 234, 291, 173, 66, 0, 0, + 114, 115, 116, 412, 1057, 414, 415, 416, 417, 0, + 0, 150, 413, 418, 419, 420, 0, 0, 0, 0, + 388, 405, 0, 433, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 402, 403, 477, 0, 0, 0, 448, + 0, 404, 0, 0, 397, 398, 400, 399, 401, 406, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 447, 0, 0, 327, 0, 0, 445, 0, 261, 0, + 295, 182, 200, 145, 197, 128, 140, 0, 180, 233, + 268, 272, 0, 0, 0, 157, 0, 270, 246, 316, + 0, 250, 269, 205, 305, 262, 315, 328, 329, 163, + 227, 322, 300, 325, 337, 141, 160, 240, 296, 319, + 287, 222, 302, 196, 286, 133, 298, 313, 151, 280, + 0, 0, 0, 135, 311, 294, 220, 193, 194, 134, + 0, 266, 164, 176, 159, 236, 308, 309, 158, 338, + 142, 324, 137, 143, 323, 229, 304, 312, 221, 213, + 136, 310, 219, 212, 199, 170, 184, 259, 208, 260, + 185, 225, 224, 226, 0, 132, 0, 292, 320, 339, + 148, 0, 0, 301, 333, 336, 0, 263, 149, 177, + 169, 258, 175, 202, 332, 334, 335, 147, 256, 228, + 144, 187, 288, 198, 206, 0, 0, 245, 271, 152, + 318, 289, 435, 446, 441, 442, 439, 440, 0, 438, + 437, 436, 449, 427, 428, 429, 430, 432, 0, 443, + 444, 431, 127, 138, 203, 0, 264, 174, 321, 0, + 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, + 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, + 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, + 241, 243, 244, 247, 251, 252, 253, 254, 255, 257, + 265, 267, 273, 274, 275, 276, 277, 278, 279, 282, + 283, 284, 285, 293, 297, 306, 307, 317, 326, 330, + 181, 314, 331, 237, 210, 0, 0, 0, 391, 0, + 0, 0, 166, 0, 390, 0, 0, 0, 201, 0, + 0, 249, 0, 281, 156, 209, 207, 303, 171, 167, + 165, 155, 188, 214, 248, 299, 242, 434, 204, 0, + 0, 290, 223, 0, 0, 0, 0, 0, 425, 426, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, + 131, 234, 291, 173, 66, 0, 0, 114, 115, 116, + 412, 1054, 414, 415, 416, 417, 0, 0, 150, 413, + 418, 419, 420, 0, 0, 0, 0, 388, 405, 0, + 433, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 402, 403, 477, 0, 0, 0, 448, 0, 404, 0, + 0, 397, 398, 400, 399, 401, 406, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 178, 447, 0, 0, + 327, 0, 0, 445, 0, 261, 0, 295, 182, 200, + 145, 197, 128, 140, 0, 180, 233, 268, 272, 0, + 0, 0, 157, 0, 270, 246, 316, 0, 250, 269, + 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, + 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, + 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, + 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, + 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, + 143, 323, 229, 304, 312, 221, 213, 136, 310, 219, + 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, + 226, 0, 132, 0, 292, 320, 339, 148, 0, 0, + 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, + 202, 332, 334, 335, 147, 256, 228, 144, 187, 288, + 198, 206, 0, 0, 245, 271, 152, 318, 289, 435, + 446, 441, 442, 439, 440, 0, 438, 437, 436, 449, + 427, 428, 429, 430, 432, 0, 443, 444, 431, 127, + 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 256, 264, 266, 272, - 273, 274, 275, 276, 277, 278, 281, 282, 283, 284, - 292, 296, 305, 306, 316, 325, 329, 181, 313, 330, - 456, 210, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 237, 0, 0, 0, 0, 389, 0, - 0, 0, 166, 0, 388, 0, 0, 0, 201, 0, - 0, 249, 0, 280, 156, 209, 207, 302, 171, 167, - 165, 155, 188, 214, 248, 298, 242, 432, 204, 0, - 0, 289, 223, 0, 0, 0, 0, 0, 423, 424, + 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, + 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, + 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, + 458, 210, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 237, 0, 0, 0, 0, 391, 0, + 0, 0, 166, 0, 390, 0, 0, 0, 201, 0, + 0, 249, 0, 281, 156, 209, 207, 303, 171, 167, + 165, 155, 188, 214, 248, 299, 242, 434, 204, 0, + 0, 290, 223, 0, 0, 0, 0, 0, 425, 426, 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, - 131, 234, 290, 173, 66, 0, 0, 114, 115, 116, - 410, 409, 412, 413, 414, 415, 0, 0, 150, 411, - 416, 417, 418, 0, 0, 0, 0, 386, 403, 0, - 431, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 400, 401, 0, 0, 0, 0, 446, 0, 402, 0, - 0, 395, 396, 398, 397, 399, 404, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 178, 445, 0, 0, - 326, 0, 0, 443, 0, 260, 0, 294, 182, 200, - 145, 197, 128, 140, 0, 180, 233, 267, 271, 0, - 0, 0, 157, 0, 269, 246, 315, 0, 250, 268, - 205, 304, 261, 314, 327, 328, 163, 227, 321, 299, - 324, 336, 141, 160, 240, 295, 318, 286, 222, 301, - 196, 285, 133, 297, 312, 151, 279, 0, 0, 0, - 135, 310, 293, 220, 193, 194, 134, 0, 265, 164, - 176, 159, 236, 307, 308, 158, 337, 142, 323, 137, - 143, 322, 229, 303, 311, 221, 213, 136, 309, 219, - 212, 199, 170, 184, 258, 208, 259, 185, 225, 224, - 226, 0, 132, 0, 291, 319, 338, 148, 0, 0, - 300, 332, 335, 0, 262, 149, 177, 169, 257, 175, - 202, 331, 333, 334, 147, 228, 144, 187, 287, 198, - 206, 0, 0, 245, 270, 152, 317, 288, 433, 444, - 439, 440, 437, 438, 0, 436, 435, 434, 447, 425, - 426, 427, 428, 430, 0, 441, 442, 429, 127, 138, - 203, 0, 263, 174, 320, 0, 0, 162, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, - 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, - 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, - 251, 252, 253, 254, 255, 256, 264, 266, 272, 273, - 274, 275, 276, 277, 278, 281, 282, 283, 284, 292, - 296, 305, 306, 316, 325, 329, 181, 313, 330, 237, - 210, 0, 0, 0, 389, 0, 0, 0, 166, 0, - 388, 0, 0, 0, 201, 0, 0, 249, 0, 280, - 156, 209, 207, 302, 171, 167, 165, 155, 188, 214, - 248, 298, 242, 432, 204, 0, 0, 289, 223, 0, - 0, 0, 0, 0, 423, 424, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 154, 131, 234, 290, 173, - 66, 0, 0, 114, 115, 116, 410, 409, 412, 413, - 414, 415, 0, 0, 150, 411, 416, 417, 418, 0, - 0, 0, 0, 386, 403, 0, 431, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 400, 401, 0, 0, - 0, 0, 446, 0, 402, 0, 0, 395, 396, 398, - 397, 399, 404, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 445, 0, 0, 326, 0, 0, 443, - 0, 260, 0, 294, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 267, 271, 0, 0, 0, 157, 0, - 269, 246, 315, 0, 250, 268, 205, 304, 261, 314, - 327, 328, 163, 227, 321, 299, 324, 336, 141, 160, - 240, 295, 318, 286, 222, 301, 196, 285, 133, 297, - 312, 151, 279, 0, 0, 0, 135, 310, 293, 220, - 193, 194, 134, 0, 265, 164, 176, 159, 236, 307, - 308, 158, 337, 142, 323, 137, 143, 322, 229, 303, - 311, 221, 213, 136, 309, 219, 212, 199, 170, 184, - 258, 208, 259, 185, 225, 224, 226, 0, 132, 0, - 291, 319, 338, 148, 0, 0, 300, 332, 335, 0, - 262, 149, 177, 169, 257, 175, 202, 331, 333, 334, - 147, 228, 144, 187, 287, 198, 206, 0, 0, 245, - 270, 152, 317, 288, 433, 444, 439, 440, 437, 438, - 0, 436, 435, 434, 447, 425, 426, 427, 428, 430, - 0, 441, 442, 429, 127, 138, 203, 0, 263, 174, - 320, 0, 0, 162, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, - 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, - 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, - 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, - 255, 256, 264, 266, 272, 273, 274, 275, 276, 277, - 278, 281, 282, 283, 284, 292, 296, 305, 306, 316, - 325, 329, 181, 313, 330, 237, 210, 0, 0, 0, - 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, - 201, 0, 0, 249, 0, 280, 156, 209, 207, 302, - 171, 167, 165, 155, 188, 214, 248, 298, 242, 432, - 204, 0, 0, 289, 223, 0, 0, 0, 0, 0, - 423, 424, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 154, 131, 234, 290, 173, 66, 0, 0, 114, - 115, 116, 410, 409, 412, 413, 414, 415, 0, 0, - 150, 411, 416, 417, 418, 0, 0, 0, 0, 0, - 403, 0, 431, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 400, 401, 0, 0, 0, 0, 446, 0, - 402, 0, 0, 395, 396, 398, 397, 399, 404, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 178, 445, - 0, 0, 326, 0, 0, 443, 0, 260, 0, 294, - 182, 200, 145, 197, 128, 140, 0, 180, 233, 267, - 271, 0, 0, 0, 157, 0, 269, 246, 315, 1826, - 250, 268, 205, 304, 261, 314, 327, 328, 163, 227, - 321, 299, 324, 336, 141, 160, 240, 295, 318, 286, - 222, 301, 196, 285, 133, 297, 312, 151, 279, 0, - 0, 0, 135, 310, 293, 220, 193, 194, 134, 0, - 265, 164, 176, 159, 236, 307, 308, 158, 337, 142, - 323, 137, 143, 322, 229, 303, 311, 221, 213, 136, - 309, 219, 212, 199, 170, 184, 258, 208, 259, 185, - 225, 224, 226, 0, 132, 0, 291, 319, 338, 148, - 0, 0, 300, 332, 335, 0, 262, 149, 177, 169, - 257, 175, 202, 331, 333, 334, 147, 228, 144, 187, - 287, 198, 206, 0, 0, 245, 270, 152, 317, 288, - 433, 444, 439, 440, 437, 438, 0, 436, 435, 434, - 447, 425, 426, 427, 428, 430, 0, 441, 442, 429, - 127, 138, 203, 0, 263, 174, 320, 0, 0, 162, + 131, 234, 291, 173, 66, 0, 0, 114, 115, 116, + 412, 411, 414, 415, 416, 417, 0, 0, 150, 413, + 418, 419, 420, 0, 0, 0, 0, 388, 405, 0, + 433, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 402, 403, 0, 0, 0, 0, 448, 0, 404, 0, + 0, 397, 398, 400, 399, 401, 406, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 178, 447, 0, 0, + 327, 0, 0, 445, 0, 261, 0, 295, 182, 200, + 145, 197, 128, 140, 0, 180, 233, 268, 272, 0, + 0, 0, 157, 0, 270, 246, 316, 0, 250, 269, + 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, + 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, + 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, + 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, + 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, + 143, 323, 229, 304, 312, 221, 213, 136, 310, 219, + 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, + 226, 0, 132, 0, 292, 320, 339, 148, 0, 0, + 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, + 202, 332, 334, 335, 147, 256, 228, 144, 187, 288, + 198, 206, 0, 0, 245, 271, 152, 318, 289, 435, + 446, 441, 442, 439, 440, 0, 438, 437, 436, 449, + 427, 428, 429, 430, 432, 0, 443, 444, 431, 127, + 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, - 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, - 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, - 244, 247, 251, 252, 253, 254, 255, 256, 264, 266, - 272, 273, 274, 275, 276, 277, 278, 281, 282, 283, - 284, 292, 296, 305, 306, 316, 325, 329, 181, 313, - 330, 237, 210, 0, 0, 0, 0, 0, 0, 0, - 166, 0, 0, 0, 0, 0, 201, 0, 0, 249, - 0, 280, 156, 209, 207, 302, 171, 167, 165, 155, - 188, 214, 248, 298, 242, 432, 204, 0, 0, 289, - 223, 0, 0, 0, 0, 0, 423, 424, 0, 0, - 0, 0, 0, 0, 0, 0, 192, 154, 131, 234, - 290, 173, 66, 0, 463, 114, 115, 116, 410, 409, - 412, 413, 414, 415, 0, 0, 150, 411, 416, 417, - 418, 0, 0, 0, 0, 0, 403, 0, 431, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 400, 401, - 0, 0, 0, 0, 446, 0, 402, 0, 0, 395, - 396, 398, 397, 399, 404, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 178, 445, 0, 0, 326, 0, - 0, 443, 0, 260, 0, 294, 182, 200, 145, 197, - 128, 140, 0, 180, 233, 267, 271, 0, 0, 0, - 157, 0, 269, 246, 315, 0, 250, 268, 205, 304, - 261, 314, 327, 328, 163, 227, 321, 299, 324, 336, - 141, 160, 240, 295, 318, 286, 222, 301, 196, 285, - 133, 297, 312, 151, 279, 0, 0, 0, 135, 310, - 293, 220, 193, 194, 134, 0, 265, 164, 176, 159, - 236, 307, 308, 158, 337, 142, 323, 137, 143, 322, - 229, 303, 311, 221, 213, 136, 309, 219, 212, 199, - 170, 184, 258, 208, 259, 185, 225, 224, 226, 0, - 132, 0, 291, 319, 338, 148, 0, 0, 300, 332, - 335, 0, 262, 149, 177, 169, 257, 175, 202, 331, - 333, 334, 147, 228, 144, 187, 287, 198, 206, 0, - 0, 245, 270, 152, 317, 288, 433, 444, 439, 440, - 437, 438, 0, 436, 435, 434, 447, 425, 426, 427, - 428, 430, 0, 441, 442, 429, 127, 138, 203, 0, - 263, 174, 320, 0, 0, 162, 0, 0, 0, 0, + 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, + 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, + 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, + 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, + 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, + 237, 210, 0, 0, 0, 391, 0, 0, 0, 166, + 0, 390, 0, 0, 0, 201, 0, 0, 249, 0, + 281, 156, 209, 207, 303, 171, 167, 165, 155, 188, + 214, 248, 299, 242, 434, 204, 0, 0, 290, 223, + 0, 0, 0, 0, 0, 425, 426, 0, 0, 0, + 0, 0, 0, 0, 0, 192, 154, 131, 234, 291, + 173, 66, 0, 0, 114, 115, 116, 412, 411, 414, + 415, 416, 417, 0, 0, 150, 413, 418, 419, 420, + 0, 0, 0, 0, 388, 405, 0, 433, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 402, 403, 0, + 0, 0, 0, 448, 0, 404, 0, 0, 397, 398, + 400, 399, 401, 406, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 178, 447, 0, 0, 327, 0, 0, + 445, 0, 261, 0, 295, 182, 200, 145, 197, 128, + 140, 0, 180, 233, 268, 272, 0, 0, 0, 157, + 0, 270, 246, 316, 0, 250, 269, 205, 305, 262, + 315, 328, 329, 163, 227, 322, 300, 325, 337, 141, + 160, 240, 296, 319, 287, 222, 302, 196, 286, 133, + 298, 313, 151, 280, 0, 0, 0, 135, 311, 294, + 220, 193, 194, 134, 0, 266, 164, 176, 159, 236, + 308, 309, 158, 338, 142, 324, 137, 143, 323, 229, + 304, 312, 221, 213, 136, 310, 219, 212, 199, 170, + 184, 259, 208, 260, 185, 225, 224, 226, 0, 132, + 0, 292, 320, 339, 148, 0, 0, 301, 333, 336, + 0, 263, 149, 177, 169, 258, 175, 202, 332, 334, + 335, 147, 256, 228, 144, 187, 288, 198, 206, 0, + 0, 245, 271, 152, 318, 289, 435, 446, 441, 442, + 439, 440, 0, 438, 437, 436, 449, 427, 428, 429, + 430, 432, 0, 443, 444, 431, 127, 138, 203, 0, + 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, - 253, 254, 255, 256, 264, 266, 272, 273, 274, 275, - 276, 277, 278, 281, 282, 283, 284, 292, 296, 305, - 306, 316, 325, 329, 181, 313, 330, 237, 210, 0, + 253, 254, 255, 257, 265, 267, 273, 274, 275, 276, + 277, 278, 279, 282, 283, 284, 285, 293, 297, 306, + 307, 317, 326, 330, 181, 314, 331, 237, 210, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, - 0, 0, 201, 0, 0, 249, 0, 280, 156, 209, - 207, 302, 171, 167, 165, 155, 188, 214, 248, 298, - 242, 432, 204, 0, 0, 289, 223, 0, 0, 0, - 0, 0, 423, 424, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 154, 131, 234, 290, 173, 66, 0, - 0, 114, 115, 116, 410, 409, 412, 413, 414, 415, - 0, 0, 150, 411, 416, 417, 418, 0, 0, 0, - 0, 0, 403, 0, 431, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 400, 401, 0, 0, 0, 0, - 446, 0, 402, 0, 0, 395, 396, 398, 397, 399, - 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 178, 445, 0, 0, 326, 0, 0, 443, 0, 260, - 0, 294, 182, 200, 145, 197, 128, 140, 0, 180, - 233, 267, 271, 0, 0, 0, 157, 0, 269, 246, - 315, 0, 250, 268, 205, 304, 261, 314, 327, 328, - 163, 227, 321, 299, 324, 336, 141, 160, 240, 295, - 318, 286, 222, 301, 196, 285, 133, 297, 312, 151, - 279, 0, 0, 0, 135, 310, 293, 220, 193, 194, - 134, 0, 265, 164, 176, 159, 236, 307, 308, 158, - 337, 142, 323, 137, 143, 322, 229, 303, 311, 221, - 213, 136, 309, 219, 212, 199, 170, 184, 258, 208, - 259, 185, 225, 224, 226, 0, 132, 0, 291, 319, - 338, 148, 0, 0, 300, 332, 335, 0, 262, 149, - 177, 169, 257, 175, 202, 331, 333, 334, 147, 228, - 144, 187, 287, 198, 206, 0, 0, 245, 270, 152, - 317, 288, 433, 444, 439, 440, 437, 438, 0, 436, - 435, 434, 447, 425, 426, 427, 428, 430, 0, 441, - 442, 429, 127, 138, 203, 0, 263, 174, 320, 0, - 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 201, 0, 0, 249, 0, 281, 156, 209, + 207, 303, 171, 167, 165, 155, 188, 214, 248, 299, + 242, 434, 204, 0, 0, 290, 223, 0, 0, 0, + 0, 0, 425, 426, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 154, 131, 234, 291, 173, 66, 0, + 0, 114, 115, 116, 412, 411, 414, 415, 416, 417, + 0, 0, 150, 413, 418, 419, 420, 0, 0, 0, + 0, 0, 405, 0, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 402, 403, 0, 0, 0, 0, + 448, 0, 404, 0, 0, 397, 398, 400, 399, 401, + 406, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 178, 447, 0, 0, 327, 0, 0, 445, 0, 261, + 0, 295, 182, 200, 145, 197, 128, 140, 0, 180, + 233, 268, 272, 0, 0, 0, 157, 0, 270, 246, + 316, 1828, 250, 269, 205, 305, 262, 315, 328, 329, + 163, 227, 322, 300, 325, 337, 141, 160, 240, 296, + 319, 287, 222, 302, 196, 286, 133, 298, 313, 151, + 280, 0, 0, 0, 135, 311, 294, 220, 193, 194, + 134, 0, 266, 164, 176, 159, 236, 308, 309, 158, + 338, 142, 324, 137, 143, 323, 229, 304, 312, 221, + 213, 136, 310, 219, 212, 199, 170, 184, 259, 208, + 260, 185, 225, 224, 226, 0, 132, 0, 292, 320, + 339, 148, 0, 0, 301, 333, 336, 0, 263, 149, + 177, 169, 258, 175, 202, 332, 334, 335, 147, 256, + 228, 144, 187, 288, 198, 206, 0, 0, 245, 271, + 152, 318, 289, 435, 446, 441, 442, 439, 440, 0, + 438, 437, 436, 449, 427, 428, 429, 430, 432, 0, + 443, 444, 431, 127, 138, 203, 0, 264, 174, 321, + 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, - 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, - 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, - 241, 243, 244, 247, 251, 252, 253, 254, 255, 256, - 264, 266, 272, 273, 274, 275, 276, 277, 278, 281, - 282, 283, 284, 292, 296, 305, 306, 316, 325, 329, - 181, 313, 330, 237, 210, 0, 0, 0, 0, 0, - 0, 0, 166, 0, 0, 0, 0, 0, 201, 0, - 0, 249, 0, 280, 156, 209, 207, 302, 171, 167, - 165, 155, 188, 214, 248, 298, 242, 0, 204, 0, - 0, 289, 223, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, - 131, 234, 290, 173, 0, 0, 0, 114, 115, 116, - 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, + 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, + 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, + 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, + 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, + 257, 265, 267, 273, 274, 275, 276, 277, 278, 279, + 282, 283, 284, 285, 293, 297, 306, 307, 317, 326, + 330, 181, 314, 331, 237, 210, 0, 0, 0, 0, + 0, 0, 0, 166, 0, 0, 0, 0, 0, 201, + 0, 0, 249, 0, 281, 156, 209, 207, 303, 171, + 167, 165, 155, 188, 214, 248, 299, 242, 434, 204, + 0, 0, 290, 223, 0, 0, 0, 0, 0, 425, + 426, 0, 0, 0, 0, 0, 0, 0, 0, 192, + 154, 131, 234, 291, 173, 66, 0, 465, 114, 115, + 116, 412, 411, 414, 415, 416, 417, 0, 0, 150, + 413, 418, 419, 420, 0, 0, 0, 0, 0, 405, + 0, 433, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 402, 403, 0, 0, 0, 0, 448, 0, 404, + 0, 0, 397, 398, 400, 399, 401, 406, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 178, 447, 0, + 0, 327, 0, 0, 445, 0, 261, 0, 295, 182, + 200, 145, 197, 128, 140, 0, 180, 233, 268, 272, + 0, 0, 0, 157, 0, 270, 246, 316, 0, 250, + 269, 205, 305, 262, 315, 328, 329, 163, 227, 322, + 300, 325, 337, 141, 160, 240, 296, 319, 287, 222, + 302, 196, 286, 133, 298, 313, 151, 280, 0, 0, + 0, 135, 311, 294, 220, 193, 194, 134, 0, 266, + 164, 176, 159, 236, 308, 309, 158, 338, 142, 324, + 137, 143, 323, 229, 304, 312, 221, 213, 136, 310, + 219, 212, 199, 170, 184, 259, 208, 260, 185, 225, + 224, 226, 0, 132, 0, 292, 320, 339, 148, 0, + 0, 301, 333, 336, 0, 263, 149, 177, 169, 258, + 175, 202, 332, 334, 335, 147, 256, 228, 144, 187, + 288, 198, 206, 0, 0, 245, 271, 152, 318, 289, + 435, 446, 441, 442, 439, 440, 0, 438, 437, 436, + 449, 427, 428, 429, 430, 432, 0, 443, 444, 431, + 127, 138, 203, 0, 264, 174, 321, 0, 0, 162, 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, 726, 725, 735, 736, - 728, 729, 730, 731, 732, 733, 734, 727, 0, 0, - 737, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, - 326, 0, 0, 0, 0, 260, 0, 294, 182, 200, - 145, 197, 128, 140, 0, 180, 233, 267, 271, 0, - 0, 0, 157, 0, 269, 246, 315, 0, 250, 268, - 205, 304, 261, 314, 327, 328, 163, 227, 321, 299, - 324, 336, 141, 160, 240, 295, 318, 286, 222, 301, - 196, 285, 133, 297, 312, 151, 279, 0, 0, 0, - 135, 310, 293, 220, 193, 194, 134, 0, 265, 164, - 176, 159, 236, 307, 308, 158, 337, 142, 323, 137, - 143, 322, 229, 303, 311, 221, 213, 136, 309, 219, - 212, 199, 170, 184, 258, 208, 259, 185, 225, 224, - 226, 0, 132, 0, 291, 319, 338, 148, 0, 0, - 300, 332, 335, 0, 262, 149, 177, 169, 257, 175, - 202, 331, 333, 334, 147, 228, 144, 187, 287, 198, - 206, 0, 0, 245, 270, 152, 317, 288, 0, 0, + 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, + 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, + 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, + 244, 247, 251, 252, 253, 254, 255, 257, 265, 267, + 273, 274, 275, 276, 277, 278, 279, 282, 283, 284, + 285, 293, 297, 306, 307, 317, 326, 330, 181, 314, + 331, 237, 210, 0, 0, 0, 0, 0, 0, 0, + 166, 0, 0, 0, 0, 0, 201, 0, 0, 249, + 0, 281, 156, 209, 207, 303, 171, 167, 165, 155, + 188, 214, 248, 299, 242, 434, 204, 0, 0, 290, + 223, 0, 0, 0, 0, 0, 425, 426, 0, 0, + 0, 0, 0, 0, 0, 0, 192, 154, 131, 234, + 291, 173, 66, 0, 0, 114, 115, 116, 412, 411, + 414, 415, 416, 417, 0, 0, 150, 413, 418, 419, + 420, 0, 0, 0, 0, 0, 405, 0, 433, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 402, 403, + 0, 0, 0, 0, 448, 0, 404, 0, 0, 397, + 398, 400, 399, 401, 406, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 447, 0, 0, 327, 0, + 0, 445, 0, 261, 0, 295, 182, 200, 145, 197, + 128, 140, 0, 180, 233, 268, 272, 0, 0, 0, + 157, 0, 270, 246, 316, 0, 250, 269, 205, 305, + 262, 315, 328, 329, 163, 227, 322, 300, 325, 337, + 141, 160, 240, 296, 319, 287, 222, 302, 196, 286, + 133, 298, 313, 151, 280, 0, 0, 0, 135, 311, + 294, 220, 193, 194, 134, 0, 266, 164, 176, 159, + 236, 308, 309, 158, 338, 142, 324, 137, 143, 323, + 229, 304, 312, 221, 213, 136, 310, 219, 212, 199, + 170, 184, 259, 208, 260, 185, 225, 224, 226, 0, + 132, 0, 292, 320, 339, 148, 0, 0, 301, 333, + 336, 0, 263, 149, 177, 169, 258, 175, 202, 332, + 334, 335, 147, 256, 228, 144, 187, 288, 198, 206, + 0, 0, 245, 271, 152, 318, 289, 435, 446, 441, + 442, 439, 440, 0, 438, 437, 436, 449, 427, 428, + 429, 430, 432, 0, 443, 444, 431, 127, 138, 203, + 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 138, - 203, 0, 263, 174, 320, 0, 0, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, + 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, + 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, + 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, + 252, 253, 254, 255, 257, 265, 267, 273, 274, 275, + 276, 277, 278, 279, 282, 283, 284, 285, 293, 297, + 306, 307, 317, 326, 330, 181, 314, 331, 237, 210, + 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, + 0, 0, 0, 201, 0, 0, 249, 0, 281, 156, + 209, 207, 303, 171, 167, 165, 155, 188, 214, 248, + 299, 242, 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 192, 154, 131, 234, 291, 173, 0, + 0, 0, 114, 115, 116, 0, 0, 0, 0, 0, + 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, - 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, - 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, - 251, 252, 253, 254, 255, 256, 264, 266, 272, 273, - 274, 275, 276, 277, 278, 281, 282, 283, 284, 292, - 296, 305, 306, 316, 325, 329, 181, 313, 330, 237, - 210, 0, 0, 826, 0, 0, 0, 0, 166, 0, - 0, 0, 0, 0, 201, 0, 0, 249, 0, 280, - 156, 209, 207, 302, 171, 167, 165, 155, 188, 214, - 248, 298, 242, 0, 204, 0, 0, 289, 223, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 154, 131, 234, 290, 173, - 0, 0, 0, 114, 115, 116, 0, 828, 0, 0, - 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, - 715, 716, 714, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 717, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 0, 0, 0, 326, 0, 0, 0, - 0, 260, 0, 294, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 267, 271, 0, 0, 0, 157, 0, - 269, 246, 315, 0, 250, 268, 205, 304, 261, 314, - 327, 328, 163, 227, 321, 299, 324, 336, 141, 160, - 240, 295, 318, 286, 222, 301, 196, 285, 133, 297, - 312, 151, 279, 0, 0, 0, 135, 310, 293, 220, - 193, 194, 134, 0, 265, 164, 176, 159, 236, 307, - 308, 158, 337, 142, 323, 137, 143, 322, 229, 303, - 311, 221, 213, 136, 309, 219, 212, 199, 170, 184, - 258, 208, 259, 185, 225, 224, 226, 0, 132, 0, - 291, 319, 338, 148, 0, 0, 300, 332, 335, 0, - 262, 149, 177, 169, 257, 175, 202, 331, 333, 334, - 147, 228, 144, 187, 287, 198, 206, 0, 0, 245, - 270, 152, 317, 288, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 138, 203, 0, 263, 174, - 320, 0, 0, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 728, 727, 737, 738, 730, 731, 732, 733, 734, + 735, 736, 729, 0, 0, 739, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 178, 0, 0, 0, 327, 0, 0, 0, 0, + 261, 0, 295, 182, 200, 145, 197, 128, 140, 0, + 180, 233, 268, 272, 0, 0, 0, 157, 0, 270, + 246, 316, 0, 250, 269, 205, 305, 262, 315, 328, + 329, 163, 227, 322, 300, 325, 337, 141, 160, 240, + 296, 319, 287, 222, 302, 196, 286, 133, 298, 313, + 151, 280, 0, 0, 0, 135, 311, 294, 220, 193, + 194, 134, 0, 266, 164, 176, 159, 236, 308, 309, + 158, 338, 142, 324, 137, 143, 323, 229, 304, 312, + 221, 213, 136, 310, 219, 212, 199, 170, 184, 259, + 208, 260, 185, 225, 224, 226, 0, 132, 0, 292, + 320, 339, 148, 0, 0, 301, 333, 336, 0, 263, + 149, 177, 169, 258, 175, 202, 332, 334, 335, 147, + 256, 228, 144, 187, 288, 198, 206, 0, 0, 245, + 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 127, 138, 203, 0, 264, 174, + 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, - 255, 256, 264, 266, 272, 273, 274, 275, 276, 277, - 278, 281, 282, 283, 284, 292, 296, 305, 306, 316, - 325, 329, 181, 313, 330, 237, 210, 0, 0, 0, - 0, 0, 0, 0, 166, 1174, 0, 0, 0, 0, - 201, 0, 0, 249, 0, 280, 156, 209, 207, 302, - 171, 167, 165, 155, 188, 214, 248, 298, 242, 0, - 204, 0, 0, 289, 223, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 154, 131, 234, 290, 173, 0, 0, 0, 114, - 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, - 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 255, 257, 265, 267, 273, 274, 275, 276, 277, 278, + 279, 282, 283, 284, 285, 293, 297, 306, 307, 317, + 326, 330, 181, 314, 331, 237, 210, 0, 0, 828, + 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, + 201, 0, 0, 249, 0, 281, 156, 209, 207, 303, + 171, 167, 165, 155, 188, 214, 248, 299, 242, 0, + 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 192, 154, 131, 234, 291, 173, 0, 0, 0, 114, + 115, 116, 0, 830, 0, 0, 0, 0, 0, 0, + 150, 0, 0, 0, 0, 0, 717, 718, 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, - 0, 1173, 326, 0, 0, 0, 1169, 1166, 0, 1167, - 1168, 200, 628, 197, 128, 140, 1164, 1171, 233, 267, - 271, 0, 0, 0, 157, 0, 269, 246, 315, 0, - 250, 268, 205, 304, 261, 314, 327, 328, 163, 227, - 321, 299, 324, 336, 141, 160, 240, 295, 318, 286, - 222, 301, 196, 285, 133, 297, 312, 151, 279, 0, - 0, 0, 135, 310, 293, 220, 193, 194, 134, 0, - 265, 164, 176, 159, 236, 307, 308, 158, 337, 142, - 323, 137, 143, 322, 229, 303, 311, 221, 213, 136, - 309, 219, 212, 199, 170, 184, 258, 208, 259, 185, - 225, 224, 226, 0, 132, 0, 291, 319, 338, 148, - 0, 0, 300, 332, 335, 0, 262, 149, 177, 169, - 257, 175, 202, 331, 333, 334, 147, 228, 144, 187, - 287, 198, 206, 0, 0, 245, 270, 152, 317, 288, + 0, 0, 327, 0, 0, 0, 0, 261, 0, 295, + 182, 200, 145, 197, 128, 140, 0, 180, 233, 268, + 272, 0, 0, 0, 157, 0, 270, 246, 316, 0, + 250, 269, 205, 305, 262, 315, 328, 329, 163, 227, + 322, 300, 325, 337, 141, 160, 240, 296, 319, 287, + 222, 302, 196, 286, 133, 298, 313, 151, 280, 0, + 0, 0, 135, 311, 294, 220, 193, 194, 134, 0, + 266, 164, 176, 159, 236, 308, 309, 158, 338, 142, + 324, 137, 143, 323, 229, 304, 312, 221, 213, 136, + 310, 219, 212, 199, 170, 184, 259, 208, 260, 185, + 225, 224, 226, 0, 132, 0, 292, 320, 339, 148, + 0, 0, 301, 333, 336, 0, 263, 149, 177, 169, + 258, 175, 202, 332, 334, 335, 147, 256, 228, 144, + 187, 288, 198, 206, 0, 0, 245, 271, 152, 318, + 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 127, 138, 203, 0, 264, 174, 321, 0, 0, + 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, + 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, + 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, + 243, 244, 247, 251, 252, 253, 254, 255, 257, 265, + 267, 273, 274, 275, 276, 277, 278, 279, 282, 283, + 284, 285, 293, 297, 306, 307, 317, 326, 330, 181, + 314, 331, 237, 210, 0, 0, 0, 0, 0, 0, + 0, 166, 1176, 0, 0, 0, 0, 201, 0, 0, + 249, 0, 281, 156, 209, 207, 303, 171, 167, 165, + 155, 188, 214, 248, 299, 242, 0, 204, 0, 0, + 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 154, 131, + 234, 291, 173, 0, 0, 0, 114, 115, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 138, 203, 0, 263, 174, 320, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, - 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, - 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, - 244, 247, 251, 252, 253, 254, 255, 256, 264, 266, - 272, 273, 274, 275, 276, 277, 278, 281, 282, 283, - 284, 292, 296, 305, 306, 316, 325, 329, 181, 313, - 330, 33, 210, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, - 0, 0, 0, 166, 0, 0, 0, 0, 0, 201, - 0, 0, 249, 0, 280, 156, 209, 207, 302, 171, - 167, 165, 155, 188, 214, 248, 298, 242, 0, 204, - 0, 0, 289, 223, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, - 154, 131, 234, 290, 173, 66, 0, 463, 114, 115, - 116, 0, 0, 0, 0, 0, 0, 0, 0, 150, 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, 178, 0, 0, 1175, 327, + 0, 0, 0, 1171, 1168, 0, 1169, 1170, 200, 630, + 197, 128, 140, 1166, 1173, 233, 268, 272, 0, 0, + 0, 157, 0, 270, 246, 316, 0, 250, 269, 205, + 305, 262, 315, 328, 329, 163, 227, 322, 300, 325, + 337, 141, 160, 240, 296, 319, 287, 222, 302, 196, + 286, 133, 298, 313, 151, 280, 0, 0, 0, 135, + 311, 294, 220, 193, 194, 134, 0, 266, 164, 176, + 159, 236, 308, 309, 158, 338, 142, 324, 137, 143, + 323, 229, 304, 312, 221, 213, 136, 310, 219, 212, + 199, 170, 184, 259, 208, 260, 185, 225, 224, 226, + 0, 132, 0, 292, 320, 339, 148, 0, 0, 301, + 333, 336, 0, 263, 149, 177, 169, 258, 175, 202, + 332, 334, 335, 147, 256, 228, 144, 187, 288, 198, + 206, 0, 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 127, 138, + 203, 0, 264, 174, 321, 0, 0, 162, 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, 178, 0, 0, - 0, 326, 0, 0, 0, 0, 260, 0, 294, 182, - 200, 145, 197, 128, 140, 0, 180, 233, 267, 271, - 0, 0, 0, 157, 0, 269, 246, 315, 0, 250, - 268, 205, 304, 261, 314, 327, 328, 163, 227, 321, - 299, 324, 336, 141, 160, 240, 295, 318, 286, 222, - 301, 196, 285, 133, 297, 312, 151, 279, 0, 0, - 0, 135, 310, 293, 220, 193, 194, 134, 0, 265, - 164, 176, 159, 236, 307, 308, 158, 337, 142, 323, - 137, 143, 322, 229, 303, 311, 221, 213, 136, 309, - 219, 212, 199, 170, 184, 258, 208, 259, 185, 225, - 224, 226, 0, 132, 0, 291, 319, 338, 148, 0, - 0, 300, 332, 335, 0, 262, 149, 177, 169, 257, - 175, 202, 331, 333, 334, 147, 228, 144, 187, 287, - 198, 206, 0, 0, 245, 270, 152, 317, 288, 0, + 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, + 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, + 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, + 251, 252, 253, 254, 255, 257, 265, 267, 273, 274, + 275, 276, 277, 278, 279, 282, 283, 284, 285, 293, + 297, 306, 307, 317, 326, 330, 181, 314, 331, 33, + 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 237, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 0, 0, 0, 0, 0, 201, 0, 0, + 249, 0, 281, 156, 209, 207, 303, 171, 167, 165, + 155, 188, 214, 248, 299, 242, 0, 204, 0, 0, + 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 192, 154, 131, + 234, 291, 173, 66, 0, 465, 114, 115, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, - 138, 203, 0, 263, 174, 320, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, - 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, - 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 256, 264, 266, 272, - 273, 274, 275, 276, 277, 278, 281, 282, 283, 284, - 292, 296, 305, 306, 316, 325, 329, 181, 313, 330, - 237, 210, 0, 0, 1084, 0, 0, 0, 0, 166, - 0, 0, 0, 0, 0, 201, 0, 0, 249, 0, - 280, 156, 209, 207, 302, 171, 167, 165, 155, 188, - 214, 248, 298, 242, 0, 204, 0, 0, 289, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 192, 154, 131, 234, 290, - 173, 0, 0, 0, 114, 115, 116, 0, 1086, 0, - 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 178, 0, 0, 0, 327, + 0, 0, 0, 0, 261, 0, 295, 182, 200, 145, + 197, 128, 140, 0, 180, 233, 268, 272, 0, 0, + 0, 157, 0, 270, 246, 316, 0, 250, 269, 205, + 305, 262, 315, 328, 329, 163, 227, 322, 300, 325, + 337, 141, 160, 240, 296, 319, 287, 222, 302, 196, + 286, 133, 298, 313, 151, 280, 0, 0, 0, 135, + 311, 294, 220, 193, 194, 134, 0, 266, 164, 176, + 159, 236, 308, 309, 158, 338, 142, 324, 137, 143, + 323, 229, 304, 312, 221, 213, 136, 310, 219, 212, + 199, 170, 184, 259, 208, 260, 185, 225, 224, 226, + 0, 132, 0, 292, 320, 339, 148, 0, 0, 301, + 333, 336, 0, 263, 149, 177, 169, 258, 175, 202, + 332, 334, 335, 147, 256, 228, 144, 187, 288, 198, + 206, 0, 0, 245, 271, 152, 318, 289, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 127, 138, + 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, + 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, + 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, + 251, 252, 253, 254, 255, 257, 265, 267, 273, 274, + 275, 276, 277, 278, 279, 282, 283, 284, 285, 293, + 297, 306, 307, 317, 326, 330, 181, 314, 331, 237, + 210, 0, 0, 1086, 0, 0, 0, 0, 166, 0, + 0, 0, 0, 0, 201, 0, 0, 249, 0, 281, + 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, + 248, 299, 242, 0, 204, 0, 0, 290, 223, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 192, 154, 131, 234, 291, 173, + 0, 0, 0, 114, 115, 116, 0, 1088, 0, 0, + 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 178, 0, 0, 0, 326, 0, 0, - 0, 0, 260, 0, 294, 182, 200, 145, 197, 128, - 140, 0, 180, 233, 267, 271, 0, 0, 0, 157, - 0, 269, 246, 315, 0, 250, 268, 205, 304, 261, - 314, 327, 328, 163, 227, 321, 299, 324, 336, 141, - 160, 240, 295, 318, 286, 222, 301, 196, 285, 133, - 297, 312, 151, 279, 0, 0, 0, 135, 310, 293, - 220, 193, 194, 134, 0, 265, 164, 176, 159, 236, - 307, 308, 158, 337, 142, 323, 137, 143, 322, 229, - 303, 311, 221, 213, 136, 309, 219, 212, 199, 170, - 184, 258, 208, 259, 185, 225, 224, 226, 0, 132, - 0, 291, 319, 338, 148, 0, 0, 300, 332, 335, - 0, 262, 149, 177, 169, 257, 175, 202, 331, 333, - 334, 147, 228, 144, 187, 287, 198, 206, 0, 0, - 245, 270, 152, 317, 288, 0, 0, 0, 0, 0, + 0, 0, 178, 0, 0, 0, 327, 0, 0, 0, + 0, 261, 0, 295, 182, 200, 145, 197, 128, 140, + 0, 180, 233, 268, 272, 0, 0, 0, 157, 0, + 270, 246, 316, 0, 250, 269, 205, 305, 262, 315, + 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, + 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, + 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, + 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, + 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, + 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, + 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, + 292, 320, 339, 148, 0, 0, 301, 333, 336, 0, + 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, + 147, 256, 228, 144, 187, 288, 198, 206, 0, 0, + 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 127, 138, 203, 0, 263, - 174, 320, 0, 0, 162, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 127, 138, 203, 0, 264, + 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 256, 264, 266, 272, 273, 274, 275, 276, - 277, 278, 281, 282, 283, 284, 292, 296, 305, 306, - 316, 325, 329, 181, 313, 330, 33, 210, 0, 0, + 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, + 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, + 317, 326, 330, 181, 314, 331, 33, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, - 0, 0, 0, 0, 201, 0, 0, 249, 0, 280, - 156, 209, 207, 302, 171, 167, 165, 155, 188, 214, - 248, 298, 242, 0, 204, 0, 0, 289, 223, 0, + 0, 0, 0, 0, 201, 0, 0, 249, 0, 281, + 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, + 248, 299, 242, 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 154, 131, 234, 290, 173, + 0, 0, 0, 0, 192, 154, 131, 234, 291, 173, 66, 0, 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2457,589 +2439,594 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 0, 0, 0, 326, 0, 0, 0, - 0, 260, 0, 294, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 267, 271, 0, 0, 0, 157, 0, - 269, 246, 315, 0, 250, 268, 205, 304, 261, 314, - 327, 328, 163, 227, 321, 299, 324, 336, 141, 160, - 240, 295, 318, 286, 222, 301, 196, 285, 133, 297, - 312, 151, 279, 0, 0, 0, 135, 310, 293, 220, - 193, 194, 134, 0, 265, 164, 176, 159, 236, 307, - 308, 158, 337, 142, 323, 137, 143, 322, 229, 303, - 311, 221, 213, 136, 309, 219, 212, 199, 170, 184, - 258, 208, 259, 185, 225, 224, 226, 0, 132, 0, - 291, 319, 338, 148, 0, 0, 300, 332, 335, 0, - 262, 149, 177, 169, 257, 175, 202, 331, 333, 334, - 147, 228, 144, 187, 287, 198, 206, 0, 0, 245, - 270, 152, 317, 288, 0, 0, 0, 0, 0, 0, + 0, 0, 178, 0, 0, 0, 327, 0, 0, 0, + 0, 261, 0, 295, 182, 200, 145, 197, 128, 140, + 0, 180, 233, 268, 272, 0, 0, 0, 157, 0, + 270, 246, 316, 0, 250, 269, 205, 305, 262, 315, + 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, + 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, + 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, + 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, + 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, + 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, + 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, + 292, 320, 339, 148, 0, 0, 301, 333, 336, 0, + 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, + 147, 256, 228, 144, 187, 288, 198, 206, 0, 0, + 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 138, 203, 0, 263, 174, - 320, 0, 0, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 127, 138, 203, 0, 264, + 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, + 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, + 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, + 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, + 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, + 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, + 317, 326, 330, 181, 314, 331, 237, 210, 0, 0, + 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, + 0, 201, 0, 0, 249, 0, 281, 156, 209, 207, + 303, 171, 167, 165, 155, 188, 214, 248, 299, 242, + 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 192, 154, 131, 234, 291, 173, 0, 0, 0, + 114, 115, 116, 0, 0, 1104, 0, 0, 1105, 0, + 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, - 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, - 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, - 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, - 255, 256, 264, 266, 272, 273, 274, 275, 276, 277, - 278, 281, 282, 283, 284, 292, 296, 305, 306, 316, - 325, 329, 181, 313, 330, 237, 210, 0, 0, 0, - 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, - 201, 0, 0, 249, 0, 280, 156, 209, 207, 302, - 171, 167, 165, 155, 188, 214, 248, 298, 242, 0, - 204, 0, 0, 289, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 154, 131, 234, 290, 173, 0, 0, 0, 114, - 115, 116, 0, 0, 1102, 0, 0, 1103, 0, 0, - 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 0, 0, 0, 327, 0, 0, 0, 0, 261, 0, + 295, 182, 200, 145, 197, 128, 140, 0, 180, 233, + 268, 272, 0, 0, 0, 157, 0, 270, 246, 316, + 0, 250, 269, 205, 305, 262, 315, 328, 329, 163, + 227, 322, 300, 325, 337, 141, 160, 240, 296, 319, + 287, 222, 302, 196, 286, 133, 298, 313, 151, 280, + 0, 0, 0, 135, 311, 294, 220, 193, 194, 134, + 0, 266, 164, 176, 159, 236, 308, 309, 158, 338, + 142, 324, 137, 143, 323, 229, 304, 312, 221, 213, + 136, 310, 219, 212, 199, 170, 184, 259, 208, 260, + 185, 225, 224, 226, 0, 132, 0, 292, 320, 339, + 148, 0, 0, 301, 333, 336, 0, 263, 149, 177, + 169, 258, 175, 202, 332, 334, 335, 147, 256, 228, + 144, 187, 288, 198, 206, 0, 0, 245, 271, 152, + 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 127, 138, 203, 0, 264, 174, 321, 0, + 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, + 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, + 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, + 241, 243, 244, 247, 251, 252, 253, 254, 255, 257, + 265, 267, 273, 274, 275, 276, 277, 278, 279, 282, + 283, 284, 285, 293, 297, 306, 307, 317, 326, 330, + 181, 314, 331, 237, 210, 0, 0, 1086, 0, 0, + 0, 0, 166, 0, 0, 0, 0, 0, 201, 0, + 0, 249, 0, 281, 156, 209, 207, 303, 171, 167, + 165, 155, 188, 214, 248, 299, 242, 0, 204, 0, + 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, + 131, 234, 291, 173, 0, 0, 0, 114, 115, 116, + 0, 1088, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, - 0, 0, 326, 0, 0, 0, 0, 260, 0, 294, - 182, 200, 145, 197, 128, 140, 0, 180, 233, 267, - 271, 0, 0, 0, 157, 0, 269, 246, 315, 0, - 250, 268, 205, 304, 261, 314, 327, 328, 163, 227, - 321, 299, 324, 336, 141, 160, 240, 295, 318, 286, - 222, 301, 196, 285, 133, 297, 312, 151, 279, 0, - 0, 0, 135, 310, 293, 220, 193, 194, 134, 0, - 265, 164, 176, 159, 236, 307, 308, 158, 337, 142, - 323, 137, 143, 322, 229, 303, 311, 221, 213, 136, - 309, 219, 212, 199, 170, 184, 258, 208, 259, 185, - 225, 224, 226, 0, 132, 0, 291, 319, 338, 148, - 0, 0, 300, 332, 335, 0, 262, 149, 177, 169, - 257, 175, 202, 331, 333, 334, 147, 228, 144, 187, - 287, 198, 206, 0, 0, 245, 270, 152, 317, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 138, 203, 0, 263, 174, 320, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, - 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, - 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, - 244, 247, 251, 252, 253, 254, 255, 256, 264, 266, - 272, 273, 274, 275, 276, 277, 278, 281, 282, 283, - 284, 292, 296, 305, 306, 316, 325, 329, 181, 313, - 330, 237, 210, 0, 0, 1084, 0, 0, 0, 0, - 166, 0, 0, 0, 0, 0, 201, 0, 0, 249, - 0, 280, 156, 209, 207, 302, 171, 167, 165, 155, - 188, 214, 248, 298, 242, 0, 204, 0, 0, 289, - 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 192, 154, 131, 234, - 290, 173, 0, 0, 0, 114, 115, 116, 0, 1086, - 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, + 327, 0, 0, 0, 0, 261, 0, 295, 182, 200, + 145, 197, 128, 140, 0, 180, 233, 268, 272, 0, + 0, 0, 157, 0, 270, 246, 316, 0, 1084, 269, + 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, + 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, + 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, + 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, + 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, + 143, 323, 229, 304, 312, 221, 213, 136, 310, 219, + 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, + 226, 0, 132, 0, 292, 320, 339, 148, 0, 0, + 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, + 202, 332, 334, 335, 147, 256, 228, 144, 187, 288, + 198, 206, 0, 0, 245, 271, 152, 318, 289, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, + 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, + 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, + 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, + 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, + 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, + 237, 210, 0, 0, 0, 0, 0, 0, 0, 166, + 0, 861, 0, 0, 0, 201, 0, 0, 249, 0, + 281, 156, 209, 207, 303, 171, 167, 165, 155, 188, + 214, 248, 299, 242, 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 192, 154, 131, 234, 291, + 173, 0, 0, 0, 114, 115, 116, 0, 860, 0, + 0, 0, 0, 0, 0, 150, 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, 178, 0, 0, 0, 326, 0, - 0, 0, 0, 260, 0, 294, 182, 200, 145, 197, - 128, 140, 0, 180, 233, 267, 271, 0, 0, 0, - 157, 0, 269, 246, 315, 0, 1082, 268, 205, 304, - 261, 314, 327, 328, 163, 227, 321, 299, 324, 336, - 141, 160, 240, 295, 318, 286, 222, 301, 196, 285, - 133, 297, 312, 151, 279, 0, 0, 0, 135, 310, - 293, 220, 193, 194, 134, 0, 265, 164, 176, 159, - 236, 307, 308, 158, 337, 142, 323, 137, 143, 322, - 229, 303, 311, 221, 213, 136, 309, 219, 212, 199, - 170, 184, 258, 208, 259, 185, 225, 224, 226, 0, - 132, 0, 291, 319, 338, 148, 0, 0, 300, 332, - 335, 0, 262, 149, 177, 169, 257, 175, 202, 331, - 333, 334, 147, 228, 144, 187, 287, 198, 206, 0, - 0, 245, 270, 152, 317, 288, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 178, 0, 0, 0, 327, 0, 0, + 0, 0, 261, 0, 295, 182, 200, 145, 197, 128, + 140, 0, 180, 233, 268, 272, 0, 0, 0, 157, + 0, 270, 246, 316, 0, 250, 269, 205, 305, 262, + 315, 328, 329, 163, 227, 322, 300, 325, 337, 141, + 160, 240, 296, 319, 287, 222, 302, 196, 286, 133, + 298, 313, 151, 280, 0, 0, 0, 135, 311, 294, + 220, 193, 194, 134, 0, 266, 164, 176, 159, 236, + 308, 309, 158, 338, 142, 324, 137, 143, 323, 229, + 304, 312, 221, 213, 136, 310, 219, 212, 199, 170, + 184, 259, 208, 260, 185, 225, 224, 226, 0, 132, + 0, 292, 320, 339, 148, 0, 0, 301, 333, 336, + 0, 263, 149, 177, 169, 258, 175, 202, 332, 334, + 335, 147, 256, 228, 144, 187, 288, 198, 206, 0, + 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 138, 203, 0, - 263, 174, 320, 0, 0, 162, 0, 0, 0, 0, + 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, - 253, 254, 255, 256, 264, 266, 272, 273, 274, 275, - 276, 277, 278, 281, 282, 283, 284, 292, 296, 305, - 306, 316, 325, 329, 181, 313, 330, 237, 210, 0, - 0, 0, 0, 0, 0, 0, 166, 0, 859, 0, - 0, 0, 201, 0, 0, 249, 0, 280, 156, 209, - 207, 302, 171, 167, 165, 155, 188, 214, 248, 298, - 242, 0, 204, 0, 0, 289, 223, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 154, 131, 234, 290, 173, 0, 0, - 0, 114, 115, 116, 0, 858, 0, 0, 0, 0, + 253, 254, 255, 257, 265, 267, 273, 274, 275, 276, + 277, 278, 279, 282, 283, 284, 285, 293, 297, 306, + 307, 317, 326, 330, 181, 314, 331, 237, 210, 0, + 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, + 0, 0, 201, 0, 0, 249, 0, 281, 156, 209, + 207, 303, 171, 167, 165, 155, 188, 214, 248, 299, + 242, 0, 204, 0, 0, 290, 223, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 192, 154, 131, 234, 291, 173, 0, 0, + 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 178, 0, 0, 0, 327, 0, 0, 0, 0, 261, + 0, 295, 182, 200, 630, 197, 128, 140, 628, 180, + 233, 268, 272, 0, 0, 0, 157, 0, 270, 246, + 316, 0, 250, 269, 205, 305, 262, 315, 328, 329, + 163, 227, 322, 300, 325, 337, 141, 160, 240, 296, + 319, 287, 222, 302, 196, 286, 133, 298, 313, 151, + 280, 0, 0, 0, 135, 311, 294, 220, 193, 194, + 134, 0, 266, 164, 176, 159, 236, 308, 309, 158, + 338, 142, 324, 137, 143, 323, 229, 304, 312, 221, + 213, 136, 310, 219, 212, 199, 170, 184, 259, 208, + 260, 185, 225, 224, 226, 0, 132, 0, 292, 320, + 339, 148, 0, 0, 301, 333, 336, 0, 263, 149, + 177, 169, 258, 175, 202, 332, 334, 335, 147, 256, + 228, 144, 187, 288, 198, 206, 0, 0, 245, 271, + 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 127, 138, 203, 0, 264, 174, 321, + 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 178, 0, 0, 0, 326, 0, 0, 0, 0, 260, - 0, 294, 182, 200, 145, 197, 128, 140, 0, 180, - 233, 267, 271, 0, 0, 0, 157, 0, 269, 246, - 315, 0, 250, 268, 205, 304, 261, 314, 327, 328, - 163, 227, 321, 299, 324, 336, 141, 160, 240, 295, - 318, 286, 222, 301, 196, 285, 133, 297, 312, 151, - 279, 0, 0, 0, 135, 310, 293, 220, 193, 194, - 134, 0, 265, 164, 176, 159, 236, 307, 308, 158, - 337, 142, 323, 137, 143, 322, 229, 303, 311, 221, - 213, 136, 309, 219, 212, 199, 170, 184, 258, 208, - 259, 185, 225, 224, 226, 0, 132, 0, 291, 319, - 338, 148, 0, 0, 300, 332, 335, 0, 262, 149, - 177, 169, 257, 175, 202, 331, 333, 334, 147, 228, - 144, 187, 287, 198, 206, 0, 0, 245, 270, 152, - 317, 288, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, + 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, + 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, + 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, + 257, 265, 267, 273, 274, 275, 276, 277, 278, 279, + 282, 283, 284, 285, 293, 297, 306, 307, 317, 326, + 330, 181, 314, 331, 237, 210, 0, 0, 0, 0, + 0, 0, 0, 166, 0, 0, 0, 0, 0, 201, + 0, 0, 249, 0, 281, 156, 209, 207, 303, 171, + 167, 165, 155, 188, 214, 248, 299, 242, 0, 204, + 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, + 154, 131, 234, 291, 173, 0, 0, 465, 114, 115, + 116, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 138, 203, 0, 263, 174, 320, 0, - 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, - 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, - 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, - 241, 243, 244, 247, 251, 252, 253, 254, 255, 256, - 264, 266, 272, 273, 274, 275, 276, 277, 278, 281, - 282, 283, 284, 292, 296, 305, 306, 316, 325, 329, - 181, 313, 330, 237, 210, 0, 0, 0, 0, 0, - 0, 0, 166, 0, 0, 0, 0, 0, 201, 0, - 0, 249, 0, 280, 156, 209, 207, 302, 171, 167, - 165, 155, 188, 214, 248, 298, 242, 0, 204, 0, - 0, 289, 223, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, - 131, 234, 290, 173, 0, 0, 0, 114, 115, 116, - 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, + 0, 327, 0, 0, 0, 0, 261, 0, 295, 182, + 200, 145, 197, 128, 140, 0, 180, 233, 268, 272, + 0, 0, 0, 157, 0, 270, 246, 316, 0, 250, + 269, 205, 305, 262, 315, 328, 329, 163, 227, 322, + 300, 325, 337, 141, 160, 240, 296, 319, 287, 222, + 302, 196, 286, 133, 298, 313, 151, 280, 0, 0, + 0, 135, 311, 294, 220, 193, 194, 134, 0, 266, + 164, 176, 159, 236, 308, 309, 158, 338, 142, 324, + 137, 143, 323, 229, 304, 312, 221, 213, 136, 310, + 219, 212, 199, 170, 184, 259, 208, 260, 185, 225, + 224, 226, 0, 132, 0, 292, 320, 339, 148, 0, + 0, 301, 333, 336, 0, 263, 149, 177, 169, 258, + 175, 202, 332, 334, 335, 147, 256, 228, 144, 187, + 288, 198, 206, 0, 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, - 326, 0, 0, 0, 0, 260, 0, 294, 182, 200, - 628, 197, 128, 140, 626, 180, 233, 267, 271, 0, - 0, 0, 157, 0, 269, 246, 315, 0, 250, 268, - 205, 304, 261, 314, 327, 328, 163, 227, 321, 299, - 324, 336, 141, 160, 240, 295, 318, 286, 222, 301, - 196, 285, 133, 297, 312, 151, 279, 0, 0, 0, - 135, 310, 293, 220, 193, 194, 134, 0, 265, 164, - 176, 159, 236, 307, 308, 158, 337, 142, 323, 137, - 143, 322, 229, 303, 311, 221, 213, 136, 309, 219, - 212, 199, 170, 184, 258, 208, 259, 185, 225, 224, - 226, 0, 132, 0, 291, 319, 338, 148, 0, 0, - 300, 332, 335, 0, 262, 149, 177, 169, 257, 175, - 202, 331, 333, 334, 147, 228, 144, 187, 287, 198, - 206, 0, 0, 245, 270, 152, 317, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 138, - 203, 0, 263, 174, 320, 0, 0, 162, 0, 0, + 127, 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, - 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, - 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, - 251, 252, 253, 254, 255, 256, 264, 266, 272, 273, - 274, 275, 276, 277, 278, 281, 282, 283, 284, 292, - 296, 305, 306, 316, 325, 329, 181, 313, 330, 237, - 210, 0, 0, 0, 0, 0, 0, 0, 166, 0, - 0, 0, 0, 0, 201, 0, 0, 249, 0, 280, - 156, 209, 207, 302, 171, 167, 165, 155, 188, 214, - 248, 298, 242, 0, 204, 0, 0, 289, 223, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 154, 131, 234, 290, 173, - 0, 0, 463, 114, 115, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, + 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, + 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, + 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, + 244, 247, 251, 252, 253, 254, 255, 257, 265, 267, + 273, 274, 275, 276, 277, 278, 279, 282, 283, 284, + 285, 293, 297, 306, 307, 317, 326, 330, 181, 314, + 331, 237, 210, 0, 0, 0, 0, 0, 0, 0, + 166, 0, 0, 0, 0, 0, 201, 0, 0, 249, + 0, 281, 156, 209, 207, 303, 171, 167, 165, 155, + 188, 214, 248, 299, 242, 0, 204, 0, 0, 290, + 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 192, 154, 131, 234, + 291, 173, 66, 0, 0, 114, 115, 116, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 0, 0, 327, 0, + 0, 0, 0, 261, 0, 295, 182, 200, 145, 197, + 128, 140, 0, 180, 233, 268, 272, 0, 0, 0, + 157, 0, 270, 246, 316, 0, 250, 269, 205, 305, + 262, 315, 328, 329, 163, 227, 322, 300, 325, 337, + 141, 160, 240, 296, 319, 287, 222, 302, 196, 286, + 133, 298, 313, 151, 280, 0, 0, 0, 135, 311, + 294, 220, 193, 194, 134, 0, 266, 164, 176, 159, + 236, 308, 309, 158, 338, 142, 324, 137, 143, 323, + 229, 304, 312, 221, 213, 136, 310, 219, 212, 199, + 170, 184, 259, 208, 260, 185, 225, 224, 226, 0, + 132, 0, 292, 320, 339, 148, 0, 0, 301, 333, + 336, 0, 263, 149, 177, 169, 258, 175, 202, 332, + 334, 335, 147, 256, 228, 144, 187, 288, 198, 206, + 0, 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 0, 0, 0, 326, 0, 0, 0, - 0, 260, 0, 294, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 267, 271, 0, 0, 0, 157, 0, - 269, 246, 315, 0, 250, 268, 205, 304, 261, 314, - 327, 328, 163, 227, 321, 299, 324, 336, 141, 160, - 240, 295, 318, 286, 222, 301, 196, 285, 133, 297, - 312, 151, 279, 0, 0, 0, 135, 310, 293, 220, - 193, 194, 134, 0, 265, 164, 176, 159, 236, 307, - 308, 158, 337, 142, 323, 137, 143, 322, 229, 303, - 311, 221, 213, 136, 309, 219, 212, 199, 170, 184, - 258, 208, 259, 185, 225, 224, 226, 0, 132, 0, - 291, 319, 338, 148, 0, 0, 300, 332, 335, 0, - 262, 149, 177, 169, 257, 175, 202, 331, 333, 334, - 147, 228, 144, 187, 287, 198, 206, 0, 0, 245, - 270, 152, 317, 288, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 127, 138, 203, + 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, + 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, + 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, + 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, + 252, 253, 254, 255, 257, 265, 267, 273, 274, 275, + 276, 277, 278, 279, 282, 283, 284, 285, 293, 297, + 306, 307, 317, 326, 330, 181, 314, 331, 237, 210, + 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, + 0, 0, 0, 201, 0, 0, 249, 0, 281, 156, + 209, 207, 303, 171, 167, 165, 155, 188, 214, 248, + 299, 242, 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 138, 203, 0, 263, 174, - 320, 0, 0, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 192, 154, 131, 234, 291, 173, 0, + 0, 0, 114, 115, 116, 0, 1088, 0, 0, 0, + 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 178, 0, 0, 0, 327, 0, 0, 0, 0, + 261, 0, 295, 182, 200, 145, 197, 128, 140, 0, + 180, 233, 268, 272, 0, 0, 0, 157, 0, 270, + 246, 316, 0, 250, 269, 205, 305, 262, 315, 328, + 329, 163, 227, 322, 300, 325, 337, 141, 160, 240, + 296, 319, 287, 222, 302, 196, 286, 133, 298, 313, + 151, 280, 0, 0, 0, 135, 311, 294, 220, 193, + 194, 134, 0, 266, 164, 176, 159, 236, 308, 309, + 158, 338, 142, 324, 137, 143, 323, 229, 304, 312, + 221, 213, 136, 310, 219, 212, 199, 170, 184, 259, + 208, 260, 185, 225, 224, 226, 0, 132, 0, 292, + 320, 339, 148, 0, 0, 301, 333, 336, 0, 263, + 149, 177, 169, 258, 175, 202, 332, 334, 335, 147, + 256, 228, 144, 187, 288, 198, 206, 0, 0, 245, + 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 127, 138, 203, 0, 264, 174, + 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, - 255, 256, 264, 266, 272, 273, 274, 275, 276, 277, - 278, 281, 282, 283, 284, 292, 296, 305, 306, 316, - 325, 329, 181, 313, 330, 237, 210, 0, 0, 0, + 255, 257, 265, 267, 273, 274, 275, 276, 277, 278, + 279, 282, 283, 284, 285, 293, 297, 306, 307, 317, + 326, 330, 181, 314, 331, 237, 210, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, - 201, 0, 0, 249, 0, 280, 156, 209, 207, 302, - 171, 167, 165, 155, 188, 214, 248, 298, 242, 0, - 204, 0, 0, 289, 223, 0, 0, 0, 0, 0, + 201, 0, 0, 249, 0, 281, 156, 209, 207, 303, + 171, 167, 165, 155, 188, 214, 248, 299, 242, 0, + 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 154, 131, 234, 290, 173, 66, 0, 0, 114, - 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, + 192, 154, 131, 234, 291, 173, 0, 0, 0, 114, + 115, 116, 0, 830, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, - 0, 0, 326, 0, 0, 0, 0, 260, 0, 294, - 182, 200, 145, 197, 128, 140, 0, 180, 233, 267, - 271, 0, 0, 0, 157, 0, 269, 246, 315, 0, - 250, 268, 205, 304, 261, 314, 327, 328, 163, 227, - 321, 299, 324, 336, 141, 160, 240, 295, 318, 286, - 222, 301, 196, 285, 133, 297, 312, 151, 279, 0, - 0, 0, 135, 310, 293, 220, 193, 194, 134, 0, - 265, 164, 176, 159, 236, 307, 308, 158, 337, 142, - 323, 137, 143, 322, 229, 303, 311, 221, 213, 136, - 309, 219, 212, 199, 170, 184, 258, 208, 259, 185, - 225, 224, 226, 0, 132, 0, 291, 319, 338, 148, - 0, 0, 300, 332, 335, 0, 262, 149, 177, 169, - 257, 175, 202, 331, 333, 334, 147, 228, 144, 187, - 287, 198, 206, 0, 0, 245, 270, 152, 317, 288, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 138, 203, 0, 263, 174, 320, 0, 0, 162, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, - 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, - 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, - 244, 247, 251, 252, 253, 254, 255, 256, 264, 266, - 272, 273, 274, 275, 276, 277, 278, 281, 282, 283, - 284, 292, 296, 305, 306, 316, 325, 329, 181, 313, - 330, 237, 210, 0, 0, 0, 0, 0, 0, 0, - 166, 0, 0, 0, 0, 0, 201, 0, 0, 249, - 0, 280, 156, 209, 207, 302, 171, 167, 165, 155, - 188, 214, 248, 298, 242, 0, 204, 0, 0, 289, - 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 192, 154, 131, 234, - 290, 173, 0, 0, 0, 114, 115, 116, 0, 1086, - 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 327, 0, 0, 0, 0, 261, 0, 295, + 182, 200, 145, 197, 128, 140, 0, 180, 233, 268, + 272, 0, 0, 0, 157, 0, 270, 246, 316, 0, + 250, 269, 205, 305, 262, 315, 328, 329, 163, 227, + 322, 300, 325, 337, 141, 160, 240, 296, 319, 287, + 222, 302, 196, 286, 133, 298, 313, 151, 280, 0, + 0, 0, 135, 311, 294, 220, 193, 194, 134, 0, + 266, 164, 176, 159, 236, 308, 309, 158, 338, 142, + 324, 137, 143, 323, 229, 304, 312, 221, 213, 136, + 310, 219, 212, 199, 170, 184, 259, 208, 260, 185, + 225, 224, 226, 0, 132, 0, 292, 320, 339, 148, + 0, 0, 301, 333, 336, 0, 263, 149, 177, 169, + 258, 175, 202, 332, 334, 335, 147, 256, 228, 144, + 187, 288, 198, 206, 0, 0, 245, 271, 152, 318, + 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 127, 138, 203, 0, 264, 174, 321, 0, 0, + 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, + 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, + 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, + 243, 244, 247, 251, 252, 253, 254, 255, 257, 265, + 267, 273, 274, 275, 276, 277, 278, 279, 282, 283, + 284, 285, 293, 297, 306, 307, 317, 326, 330, 181, + 314, 331, 843, 210, 0, 0, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, + 0, 0, 0, 0, 201, 0, 0, 249, 0, 281, + 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, + 248, 299, 242, 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 192, 154, 131, 234, 291, 173, + 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, + 0, 0, 0, 0, 150, 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, 178, 0, 0, 0, 326, 0, - 0, 0, 0, 260, 0, 294, 182, 200, 145, 197, - 128, 140, 0, 180, 233, 267, 271, 0, 0, 0, - 157, 0, 269, 246, 315, 0, 250, 268, 205, 304, - 261, 314, 327, 328, 163, 227, 321, 299, 324, 336, - 141, 160, 240, 295, 318, 286, 222, 301, 196, 285, - 133, 297, 312, 151, 279, 0, 0, 0, 135, 310, - 293, 220, 193, 194, 134, 0, 265, 164, 176, 159, - 236, 307, 308, 158, 337, 142, 323, 137, 143, 322, - 229, 303, 311, 221, 213, 136, 309, 219, 212, 199, - 170, 184, 258, 208, 259, 185, 225, 224, 226, 0, - 132, 0, 291, 319, 338, 148, 0, 0, 300, 332, - 335, 0, 262, 149, 177, 169, 257, 175, 202, 331, - 333, 334, 147, 228, 144, 187, 287, 198, 206, 0, - 0, 245, 270, 152, 317, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 138, 203, 0, - 263, 174, 320, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, - 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, - 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, - 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, - 253, 254, 255, 256, 264, 266, 272, 273, 274, 275, - 276, 277, 278, 281, 282, 283, 284, 292, 296, 305, - 306, 316, 325, 329, 181, 313, 330, 237, 210, 0, - 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, - 0, 0, 201, 0, 0, 249, 0, 280, 156, 209, - 207, 302, 171, 167, 165, 155, 188, 214, 248, 298, - 242, 0, 204, 0, 0, 289, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 154, 131, 234, 290, 173, 0, 0, - 0, 114, 115, 116, 0, 828, 0, 0, 0, 0, - 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 178, 0, 0, 0, 327, 0, 0, 0, + 0, 261, 0, 295, 182, 200, 145, 197, 128, 140, + 0, 180, 233, 268, 272, 0, 0, 0, 157, 0, + 270, 246, 316, 0, 250, 269, 205, 305, 262, 315, + 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, + 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, + 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, + 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, + 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, + 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, + 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, + 292, 320, 339, 148, 0, 0, 301, 333, 336, 0, + 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, + 147, 256, 228, 144, 187, 288, 198, 206, 0, 0, + 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 127, 138, 203, 0, 264, + 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, + 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, + 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, + 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, + 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, + 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, + 317, 326, 330, 181, 314, 331, 237, 210, 0, 0, + 0, 0, 0, 0, 834, 166, 0, 0, 0, 0, + 0, 201, 0, 0, 249, 0, 281, 156, 209, 207, + 303, 171, 167, 165, 155, 188, 214, 248, 299, 242, + 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 192, 154, 131, 234, 291, 173, 0, 0, 0, + 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, + 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 178, 0, 0, 0, 326, 0, 0, 0, 0, 260, - 0, 294, 182, 200, 145, 197, 128, 140, 0, 180, - 233, 267, 271, 0, 0, 0, 157, 0, 269, 246, - 315, 0, 250, 268, 205, 304, 261, 314, 327, 328, - 163, 227, 321, 299, 324, 336, 141, 160, 240, 295, - 318, 286, 222, 301, 196, 285, 133, 297, 312, 151, - 279, 0, 0, 0, 135, 310, 293, 220, 193, 194, - 134, 0, 265, 164, 176, 159, 236, 307, 308, 158, - 337, 142, 323, 137, 143, 322, 229, 303, 311, 221, - 213, 136, 309, 219, 212, 199, 170, 184, 258, 208, - 259, 185, 225, 224, 226, 0, 132, 0, 291, 319, - 338, 148, 0, 0, 300, 332, 335, 0, 262, 149, - 177, 169, 257, 175, 202, 331, 333, 334, 147, 228, - 144, 187, 287, 198, 206, 0, 0, 245, 270, 152, - 317, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 138, 203, 0, 263, 174, 320, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 0, 0, 0, 327, 0, 0, 0, 0, 261, 0, + 295, 182, 200, 145, 197, 128, 140, 0, 180, 233, + 268, 272, 0, 0, 0, 157, 0, 270, 246, 316, + 0, 250, 269, 205, 305, 262, 315, 328, 329, 163, + 227, 322, 300, 325, 337, 141, 160, 240, 296, 319, + 287, 222, 302, 196, 286, 133, 298, 313, 151, 280, + 0, 0, 0, 135, 311, 294, 220, 193, 194, 134, + 0, 266, 164, 176, 159, 236, 308, 309, 158, 338, + 142, 324, 137, 143, 323, 229, 304, 312, 221, 213, + 136, 310, 219, 212, 199, 170, 184, 259, 208, 260, + 185, 225, 224, 226, 0, 132, 0, 292, 320, 339, + 148, 0, 0, 301, 333, 336, 0, 263, 149, 177, + 169, 258, 175, 202, 332, 334, 335, 147, 256, 228, + 144, 187, 288, 198, 206, 0, 0, 245, 271, 152, + 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 127, 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, - 241, 243, 244, 247, 251, 252, 253, 254, 255, 256, - 264, 266, 272, 273, 274, 275, 276, 277, 278, 281, - 282, 283, 284, 292, 296, 305, 306, 316, 325, 329, - 181, 313, 330, 841, 210, 0, 0, 0, 0, 0, - 237, 0, 0, 0, 0, 0, 0, 0, 0, 166, - 0, 0, 0, 0, 0, 201, 0, 0, 249, 0, - 280, 156, 209, 207, 302, 171, 167, 165, 155, 188, - 214, 248, 298, 242, 0, 204, 0, 0, 289, 223, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 192, 154, 131, 234, 290, - 173, 0, 0, 0, 114, 115, 116, 0, 0, 0, - 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 241, 243, 244, 247, 251, 252, 253, 254, 255, 257, + 265, 267, 273, 274, 275, 276, 277, 278, 279, 282, + 283, 284, 285, 293, 297, 306, 307, 317, 326, 330, + 181, 314, 331, 237, 210, 0, 0, 0, 0, 0, + 0, 0, 166, 0, 0, 0, 0, 0, 201, 0, + 0, 249, 0, 281, 156, 209, 207, 303, 171, 167, + 165, 155, 188, 214, 248, 299, 242, 0, 204, 0, + 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, + 131, 234, 291, 173, 0, 0, 0, 114, 115, 116, + 0, 708, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 178, 0, 0, 0, 326, 0, 0, - 0, 0, 260, 0, 294, 182, 200, 145, 197, 128, - 140, 0, 180, 233, 267, 271, 0, 0, 0, 157, - 0, 269, 246, 315, 0, 250, 268, 205, 304, 261, - 314, 327, 328, 163, 227, 321, 299, 324, 336, 141, - 160, 240, 295, 318, 286, 222, 301, 196, 285, 133, - 297, 312, 151, 279, 0, 0, 0, 135, 310, 293, - 220, 193, 194, 134, 0, 265, 164, 176, 159, 236, - 307, 308, 158, 337, 142, 323, 137, 143, 322, 229, - 303, 311, 221, 213, 136, 309, 219, 212, 199, 170, - 184, 258, 208, 259, 185, 225, 224, 226, 0, 132, - 0, 291, 319, 338, 148, 0, 0, 300, 332, 335, - 0, 262, 149, 177, 169, 257, 175, 202, 331, 333, - 334, 147, 228, 144, 187, 287, 198, 206, 0, 0, - 245, 270, 152, 317, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 127, 138, 203, 0, 263, - 174, 320, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, - 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, - 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, - 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 256, 264, 266, 272, 273, 274, 275, 276, - 277, 278, 281, 282, 283, 284, 292, 296, 305, 306, - 316, 325, 329, 181, 313, 330, 237, 210, 0, 0, - 0, 0, 0, 0, 832, 166, 0, 0, 0, 0, - 0, 201, 0, 0, 249, 0, 280, 156, 209, 207, - 302, 171, 167, 165, 155, 188, 214, 248, 298, 242, - 0, 204, 0, 0, 289, 223, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 192, 154, 131, 234, 290, 173, 0, 0, 0, - 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, - 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, + 327, 0, 0, 0, 0, 261, 0, 295, 182, 200, + 145, 197, 128, 140, 0, 180, 233, 268, 272, 0, + 0, 0, 157, 0, 270, 246, 316, 0, 250, 269, + 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, + 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, + 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, + 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, + 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, + 143, 323, 229, 304, 312, 221, 213, 136, 310, 219, + 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, + 226, 0, 132, 0, 292, 320, 339, 148, 0, 0, + 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, + 202, 332, 334, 335, 147, 256, 228, 144, 187, 288, + 198, 206, 0, 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, + 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, + 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, + 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, + 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, + 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, + 237, 210, 0, 0, 0, 0, 0, 0, 0, 166, + 0, 0, 0, 0, 0, 201, 0, 0, 249, 0, + 281, 156, 209, 207, 303, 171, 167, 165, 155, 188, + 214, 248, 299, 242, 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, - 0, 0, 0, 326, 0, 0, 0, 0, 260, 0, - 294, 182, 200, 145, 197, 128, 140, 0, 180, 233, - 267, 271, 0, 0, 0, 157, 0, 269, 246, 315, - 0, 250, 268, 205, 304, 261, 314, 327, 328, 163, - 227, 321, 299, 324, 336, 141, 160, 240, 295, 318, - 286, 222, 301, 196, 285, 133, 297, 312, 151, 279, - 0, 0, 0, 135, 310, 293, 220, 193, 194, 134, - 0, 265, 164, 176, 159, 236, 307, 308, 158, 337, - 142, 323, 137, 143, 322, 229, 303, 311, 221, 213, - 136, 309, 219, 212, 199, 170, 184, 258, 208, 259, - 185, 225, 224, 226, 0, 132, 0, 291, 319, 338, - 148, 0, 0, 300, 332, 335, 0, 262, 149, 177, - 169, 257, 175, 202, 331, 333, 334, 147, 228, 144, - 187, 287, 198, 206, 0, 0, 245, 270, 152, 317, - 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 138, 203, 0, 263, 174, 320, 0, 0, - 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 192, 154, 131, 234, 291, + 173, 0, 0, 0, 114, 115, 116, 0, 0, 0, + 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, - 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, - 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, - 243, 244, 247, 251, 252, 253, 254, 255, 256, 264, - 266, 272, 273, 274, 275, 276, 277, 278, 281, 282, - 283, 284, 292, 296, 305, 306, 316, 325, 329, 181, - 313, 330, 237, 210, 0, 0, 0, 0, 0, 0, - 0, 166, 0, 0, 0, 0, 0, 201, 0, 0, - 249, 0, 280, 156, 209, 207, 302, 171, 167, 165, - 155, 188, 214, 248, 298, 242, 0, 204, 0, 0, - 289, 223, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 154, 131, - 234, 290, 173, 0, 0, 0, 114, 115, 116, 0, - 706, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 381, 0, 178, 0, 0, 0, 327, 0, 0, + 0, 0, 261, 0, 295, 182, 200, 145, 197, 128, + 140, 0, 180, 233, 268, 272, 0, 0, 0, 157, + 0, 270, 246, 316, 0, 250, 269, 205, 305, 262, + 315, 328, 329, 163, 227, 322, 300, 325, 337, 141, + 160, 240, 296, 319, 287, 222, 302, 196, 286, 133, + 298, 313, 151, 280, 0, 0, 0, 135, 311, 294, + 220, 193, 194, 134, 0, 266, 164, 176, 159, 236, + 308, 309, 158, 338, 142, 324, 137, 143, 323, 229, + 304, 312, 221, 213, 136, 310, 219, 212, 199, 170, + 184, 259, 208, 260, 185, 225, 224, 226, 0, 132, + 0, 292, 320, 339, 148, 0, 0, 301, 333, 336, + 0, 263, 149, 177, 169, 258, 175, 202, 332, 334, + 335, 147, 256, 228, 144, 187, 288, 198, 206, 0, + 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 178, 0, 0, 0, 326, - 0, 0, 0, 0, 260, 0, 294, 182, 200, 145, - 197, 128, 140, 0, 180, 233, 267, 271, 0, 0, - 0, 157, 0, 269, 246, 315, 0, 250, 268, 205, - 304, 261, 314, 327, 328, 163, 227, 321, 299, 324, - 336, 141, 160, 240, 295, 318, 286, 222, 301, 196, - 285, 133, 297, 312, 151, 279, 0, 0, 0, 135, - 310, 293, 220, 193, 194, 134, 0, 265, 164, 176, - 159, 236, 307, 308, 158, 337, 142, 323, 137, 143, - 322, 229, 303, 311, 221, 213, 136, 309, 219, 212, - 199, 170, 184, 258, 208, 259, 185, 225, 224, 226, - 0, 132, 0, 291, 319, 338, 148, 0, 0, 300, - 332, 335, 0, 262, 149, 177, 169, 257, 175, 202, - 331, 333, 334, 147, 228, 144, 187, 287, 198, 206, - 0, 0, 245, 270, 152, 317, 288, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 127, 138, 203, 0, + 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 127, 138, 203, - 0, 263, 174, 320, 0, 0, 162, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, + 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, + 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, + 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, + 253, 254, 255, 257, 265, 267, 273, 274, 275, 276, + 277, 278, 279, 282, 283, 284, 285, 293, 297, 306, + 307, 317, 326, 330, 380, 314, 331, 237, 210, 0, + 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, + 0, 0, 201, 0, 0, 249, 0, 281, 156, 209, + 207, 303, 171, 167, 165, 155, 188, 214, 248, 299, + 242, 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, - 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, - 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, - 252, 253, 254, 255, 256, 264, 266, 272, 273, 274, - 275, 276, 277, 278, 281, 282, 283, 284, 292, 296, - 305, 306, 316, 325, 329, 181, 313, 330, 237, 210, - 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, - 0, 0, 0, 201, 0, 0, 249, 0, 280, 156, - 209, 207, 302, 171, 167, 165, 155, 188, 214, 248, - 298, 242, 0, 204, 0, 0, 289, 223, 0, 0, + 0, 0, 192, 154, 131, 234, 291, 173, 0, 0, + 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 192, 154, 131, 234, 290, 173, 0, - 0, 0, 114, 115, 116, 0, 0, 0, 0, 0, - 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, - 0, 178, 0, 0, 0, 326, 0, 0, 0, 0, - 260, 0, 294, 182, 200, 145, 197, 128, 140, 0, - 180, 233, 267, 271, 0, 0, 0, 157, 0, 269, - 246, 315, 0, 250, 268, 205, 304, 261, 314, 327, - 328, 163, 227, 321, 299, 324, 336, 141, 160, 240, - 295, 318, 286, 222, 301, 196, 285, 133, 297, 312, - 151, 279, 0, 0, 0, 135, 310, 293, 220, 193, - 194, 134, 0, 265, 164, 176, 159, 236, 307, 308, - 158, 337, 142, 323, 137, 143, 322, 229, 303, 311, - 221, 213, 136, 309, 219, 212, 199, 170, 184, 258, - 208, 259, 185, 225, 224, 226, 0, 132, 0, 291, - 319, 338, 148, 0, 0, 300, 332, 335, 0, 262, - 149, 177, 169, 257, 175, 202, 331, 333, 334, 147, - 228, 144, 187, 287, 198, 206, 0, 0, 245, 270, - 152, 317, 288, 0, 0, 0, 0, 0, 0, 0, + 178, 0, 122, 0, 327, 0, 0, 0, 0, 261, + 0, 295, 182, 200, 145, 197, 128, 140, 0, 180, + 233, 268, 272, 0, 0, 0, 157, 0, 270, 246, + 316, 0, 250, 269, 205, 305, 262, 315, 328, 329, + 163, 227, 322, 300, 325, 337, 141, 160, 240, 296, + 319, 287, 222, 302, 196, 286, 133, 298, 313, 151, + 280, 0, 0, 0, 135, 311, 294, 220, 193, 194, + 134, 0, 266, 164, 176, 159, 236, 308, 309, 158, + 338, 142, 324, 137, 143, 323, 229, 304, 312, 221, + 213, 136, 310, 219, 212, 199, 170, 184, 259, 208, + 260, 185, 225, 224, 226, 0, 132, 0, 292, 320, + 339, 148, 0, 0, 301, 333, 336, 0, 263, 149, + 177, 169, 258, 175, 202, 332, 334, 335, 147, 256, + 228, 144, 187, 288, 198, 206, 0, 0, 245, 271, + 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 127, 138, 203, 0, 263, 174, 320, + 0, 0, 0, 127, 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, - 256, 264, 266, 272, 273, 274, 275, 276, 277, 278, - 281, 282, 283, 284, 292, 296, 305, 306, 316, 325, - 329, 378, 313, 330, 237, 210, 0, 0, 0, 0, + 257, 265, 267, 273, 274, 275, 276, 277, 278, 279, + 282, 283, 284, 285, 293, 297, 306, 307, 317, 326, + 330, 181, 314, 331, 237, 210, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 201, - 0, 0, 249, 0, 280, 156, 209, 207, 302, 171, - 167, 165, 155, 188, 214, 248, 298, 242, 0, 204, - 0, 0, 289, 223, 0, 0, 0, 0, 0, 0, + 0, 0, 249, 0, 281, 156, 209, 207, 303, 171, + 167, 165, 155, 188, 214, 248, 299, 242, 0, 204, + 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, - 154, 131, 234, 290, 173, 0, 0, 0, 114, 115, + 154, 131, 234, 291, 173, 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 178, 0, 122, - 0, 326, 0, 0, 0, 0, 260, 0, 294, 182, - 200, 145, 197, 128, 140, 0, 180, 233, 267, 271, - 0, 0, 0, 157, 0, 269, 246, 315, 0, 250, - 268, 205, 304, 261, 314, 327, 328, 163, 227, 321, - 299, 324, 336, 141, 160, 240, 295, 318, 286, 222, - 301, 196, 285, 133, 297, 312, 151, 279, 0, 0, - 0, 135, 310, 293, 220, 193, 194, 134, 0, 265, - 164, 176, 159, 236, 307, 308, 158, 337, 142, 323, - 137, 143, 322, 229, 303, 311, 221, 213, 136, 309, - 219, 212, 199, 170, 184, 258, 208, 259, 185, 225, - 224, 226, 0, 132, 0, 291, 319, 338, 148, 0, - 0, 300, 332, 335, 0, 262, 149, 177, 169, 257, - 175, 202, 331, 333, 334, 147, 228, 144, 187, 287, - 198, 206, 0, 0, 245, 270, 152, 317, 288, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, - 138, 203, 0, 263, 174, 320, 0, 0, 162, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, - 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, - 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 256, 264, 266, 272, - 273, 274, 275, 276, 277, 278, 281, 282, 283, 284, - 292, 296, 305, 306, 316, 325, 329, 181, 313, 330, - 237, 210, 0, 0, 0, 0, 0, 0, 0, 166, - 0, 0, 0, 0, 0, 201, 0, 0, 249, 0, - 280, 156, 209, 207, 302, 171, 167, 165, 155, 188, - 214, 248, 298, 242, 0, 204, 0, 0, 289, 223, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 192, 154, 131, 234, 290, - 173, 0, 0, 0, 114, 115, 116, 0, 0, 0, - 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, + 0, 327, 0, 0, 0, 0, 261, 0, 295, 182, + 200, 145, 197, 128, 140, 0, 180, 233, 268, 272, + 0, 0, 0, 157, 0, 270, 246, 316, 0, 250, + 269, 205, 305, 262, 315, 328, 329, 163, 227, 322, + 300, 325, 337, 141, 160, 240, 296, 319, 287, 222, + 302, 196, 286, 133, 298, 313, 151, 280, 0, 0, + 0, 135, 311, 294, 220, 193, 194, 134, 0, 266, + 164, 176, 159, 236, 308, 309, 158, 338, 142, 324, + 137, 143, 323, 229, 304, 312, 221, 213, 136, 310, + 219, 212, 199, 170, 184, 259, 208, 260, 185, 225, + 224, 226, 0, 132, 0, 292, 320, 339, 148, 0, + 0, 301, 333, 336, 0, 263, 149, 177, 169, 258, + 175, 202, 332, 334, 335, 147, 256, 228, 144, 187, + 288, 198, 206, 0, 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 178, 0, 0, 0, 326, 0, 0, - 0, 0, 260, 0, 294, 182, 200, 145, 197, 128, - 140, 0, 180, 233, 267, 271, 0, 0, 0, 157, - 0, 269, 246, 315, 0, 250, 268, 205, 304, 261, - 314, 327, 328, 163, 227, 321, 299, 324, 336, 141, - 160, 240, 295, 318, 286, 222, 301, 196, 285, 133, - 297, 312, 151, 279, 0, 0, 0, 135, 310, 293, - 220, 193, 194, 134, 0, 265, 164, 176, 159, 236, - 307, 308, 158, 337, 142, 323, 137, 143, 322, 229, - 303, 311, 221, 213, 136, 309, 219, 212, 199, 170, - 184, 258, 208, 259, 185, 225, 224, 226, 0, 132, - 0, 291, 319, 338, 148, 0, 0, 300, 332, 335, - 0, 262, 149, 177, 169, 257, 175, 202, 331, 333, - 334, 147, 228, 144, 187, 287, 198, 206, 0, 0, - 245, 270, 152, 317, 288, 0, 0, 0, 0, 0, + 127, 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 127, 138, 203, 0, 263, - 174, 320, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, - 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, - 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, - 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 256, 264, 266, 272, 273, 274, 275, 276, - 277, 278, 281, 282, 283, 284, 292, 296, 305, 306, - 316, 325, 329, 181, 313, 330, 0, 210, + 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, + 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, + 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, + 244, 247, 251, 252, 253, 254, 255, 257, 265, 267, + 273, 274, 275, 276, 277, 278, 279, 282, 283, 284, + 285, 293, 297, 306, 307, 317, 326, 330, 181, 314, + 331, 0, 210, } var yyPact = [...]int{ - 252, -1000, -294, 1331, -1000, -1000, -1000, -1000, -1000, -1000, + 262, -1000, -301, 1284, -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, 1233, 940, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 350, 942, 127, 1122, 61, 731, 215, 55, 19078, 214, + 41, 19465, -1000, 38, -1000, 22, 19465, 31, 18691, -1000, + -1000, -1000, 10531, 1086, -78, -83, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 977, 1197, 1196, 1230, 698, 1312, + -1000, 8970, 8970, 182, 182, 182, 7422, -1000, -1000, 15588, + 19465, 19465, 950, 179, 210, 179, -159, -1000, -1000, -1000, + -1000, -1000, -1000, 1122, -1000, -1000, 94, -1000, -1000, 19465, + 19465, 304, 1122, 81, -1000, -1000, -1000, 19465, 169, 731, + 169, 169, 19465, -1000, 252, -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, 1280, 961, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 506, 998, 79, 1214, 96, 665, 231, 64, 19265, 230, - 41, 19651, -1000, 62, -1000, 39, 19651, 55, 18879, -1000, - -1000, -1000, 10740, 1161, -29, -35, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 963, 1257, 1271, 1277, 752, 1224, - -1000, 9183, 9183, 203, 203, 203, 7639, -1000, -1000, 15784, - 19651, 19651, 949, 201, 218, 201, -144, -1000, -1000, -1000, - -1000, -1000, -1000, 1214, -1000, -1000, 112, -1000, -1000, 19651, - 19651, 303, 1214, 98, -1000, -1000, -1000, 19651, 191, 665, - 191, 191, 19651, -1000, 272, -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, @@ -3058,25 +3045,23 @@ var yyPact = [...]int{ -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, + 19465, 1107, 445, 445, 445, 445, 445, 445, -1000, -16, + 70, 63, 72, -38, 731, 157, -1000, 369, -1000, 64, + -15, -1000, 445, 4998, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 201, -1000, -1000, -1000, -1000, 19465, 18304, 175, + 340, -1000, -1000, -1000, -1000, 709, 720, -1000, 10531, 2421, + 915, 915, -1000, -1000, 230, -1000, -1000, 11692, 11692, 11692, + 11692, 11692, 11692, 11692, 11692, 11692, 11692, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 915, 250, -1000, 10144, 915, 915, 915, 915, 915, + 915, 915, 915, 10531, 915, 915, 915, 915, 915, 915, + 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, + -1000, -1000, -1000, 19465, -1000, 1233, -1000, 940, -1000, -1000, + -1000, 1128, 10531, 10531, 1233, -1000, 1031, 8970, -1000, -1000, + 1224, -1000, -1000, -1000, -1000, 395, 1250, -1000, 12466, 249, + 1247, 17917, -1000, 16362, 17530, 913, 7018, -70, -1000, -1000, + -1000, 335, 15201, -1000, -1000, -1000, 1106, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19651, - 1211, 442, 442, 442, 442, 442, 442, 14, 107, 105, - 80, -36, 665, 142, -1000, 317, -1000, 95, 33, -1000, - 442, 5221, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 209, -1000, -1000, -1000, -1000, 19651, 18493, 175, 376, -1000, - -1000, -1000, -1000, 725, 642, -1000, 10740, 1790, 897, 897, - -1000, -1000, 250, -1000, -1000, 11898, 11898, 11898, 11898, 11898, - 11898, 11898, 11898, 11898, 11898, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 897, - 271, -1000, 10354, 897, 897, 897, 897, 897, 897, 897, - 897, 10740, 897, 897, 897, 897, 897, 897, 897, 897, - 897, 897, 897, 897, 897, 897, 897, 897, -1000, -1000, - -1000, 19651, -1000, 1280, -1000, 961, -1000, -1000, -1000, 1192, - 10740, 10740, 1280, -1000, 1094, 9183, -1000, -1000, 1207, -1000, - -1000, -1000, -1000, 529, 1314, -1000, 12670, 270, 1304, 18107, - -1000, 16556, 17721, 892, 7236, -75, -1000, -1000, -1000, 356, - 15398, -1000, -1000, -1000, 1187, -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, @@ -3088,160 +3073,159 @@ var yyPact = [...]int{ -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, 899, 19465, -1000, -1000, 366, 731, -1000, + 934, -1000, 893, -1000, 923, 58, 334, 19465, 363, 731, + 731, -1000, -1000, -1000, 1104, 317, 1780, 4998, 96, 144, + 98, 19465, 1122, 1077, 910, 195, 19465, 1172, 993, 19465, + 731, -1000, 6210, -1000, 445, -1000, 607, 10531, -1000, -1000, + -1000, -1000, -1000, 445, 19465, 445, 445, 445, 445, 422, + 444, 422, -1000, -1000, -1000, -1000, 4998, 4998, 4998, 4998, + 19465, 4998, 4998, 444, -1000, -1000, -1000, 300, -1000, 992, + -1000, -1000, -1000, -1000, 26, -1000, -1000, -1000, -1000, -1000, + 1284, -1000, -1000, -1000, -143, 10531, 10531, 10531, 10531, 612, + 303, 11692, 476, 454, 11692, 11692, 11692, 11692, 11692, 11692, + 11692, 11692, 11692, 11692, 11692, 11692, 11692, 11692, 11692, 658, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 731, -1000, + 1282, 818, 818, 264, 264, 264, 264, 264, 264, 264, + 264, 264, 12079, 7809, 6210, 698, 891, 1233, 8970, 8970, + 10531, 10531, 9744, 9357, 8970, 1111, 358, 720, 19465, -1000, + -1000, 11305, -1000, -1000, -1000, -1000, -1000, 546, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 19465, 19465, 8970, 8970, 8970, + 8970, 8970, -1000, 909, -1000, -182, 14814, 1196, 698, 1224, + 1160, 1276, 283, 604, 907, -1000, 673, 1196, 14427, 931, + -1000, 1224, -1000, -1000, -1000, 19465, -1000, -1000, 17136, -1000, + -1000, 5806, 19465, 116, 19465, -1000, 781, 1175, -1000, -1000, + -1000, 1188, 14040, 19465, 898, 889, -1000, -1000, 242, 6614, + -70, -1000, 6614, 808, -1000, -117, -77, 8196, 260, -1000, + -1000, -1000, -1000, 4190, 12853, 671, 387, -56, -1000, -1000, + -1000, 923, -1000, 923, 923, 923, 923, -5, -5, -5, + -5, -1000, -1000, -1000, -1000, -1000, 941, 939, -1000, 923, + 923, 923, 923, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 844, 19651, -1000, -1000, 2036, 665, -1000, 977, -1000, - 842, -1000, 951, 91, 351, 19651, 434, 665, 665, -1000, - -1000, -1000, 1185, 332, 1923, 5221, 123, 143, 135, 19651, - 1214, 1159, 889, 208, 19651, 1245, 1038, 19651, 665, -1000, - 6430, -1000, 442, -1000, 634, 10740, -1000, -1000, -1000, -1000, - -1000, 442, 19651, 442, 442, 442, 442, 428, 444, 428, - -1000, -1000, -1000, -1000, 5221, 5221, 5221, 5221, 19651, 5221, - 5221, 444, -1000, -1000, -1000, 319, -1000, 1036, -1000, -1000, - -1000, -1000, 44, -1000, -1000, -1000, -1000, -1000, 1331, -1000, - -1000, -1000, -134, 10740, 10740, 10740, 10740, 598, 323, 11898, - 549, 354, 11898, 11898, 11898, 11898, 11898, 11898, 11898, 11898, - 11898, 11898, 11898, 11898, 11898, 11898, 11898, 705, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 665, -1000, 1329, 786, - 786, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 12284, 8025, 6430, 752, 834, 1280, 9183, 9183, 10740, 10740, - 9955, 9569, 9183, 1189, 393, 642, 19651, -1000, -1000, 11512, - -1000, -1000, -1000, -1000, -1000, 622, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 19651, 19651, 9183, 9183, 9183, 9183, 9183, - -1000, 887, -1000, -179, 15012, 1271, 752, 1207, 1234, 1324, - 310, 547, 883, -1000, 617, 1271, 14626, 941, -1000, 1207, - -1000, -1000, -1000, 19651, -1000, -1000, 17328, -1000, -1000, 6027, - 19651, 150, 19651, -1000, 958, 1171, -1000, -1000, -1000, 1253, - 14240, 19651, 945, 898, -1000, -1000, 269, 6833, -75, -1000, - 6833, 853, -1000, -71, -106, 8411, 289, -1000, -1000, -1000, - -1000, 4415, 13056, 711, 467, -20, -1000, -1000, -1000, 951, - -1000, 951, 951, 951, 951, 15, 15, 15, 15, -1000, - -1000, -1000, -1000, -1000, 996, 989, -1000, 951, 951, 951, - 951, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 980, 980, - 980, 953, 953, 178, 10740, 99, 19651, 1248, 590, 87, - 342, 77, -1000, 1240, 1010, -1000, 332, 803, -1000, -1000, - 449, 449, 374, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 152, -1000, 19651, 19651, 19651, 19651, - 19651, 238, 115, 19651, 19651, 882, -1000, 19651, 5221, -1000, - -1000, -1000, -1000, -1000, -1000, 642, -1000, -1000, -1000, -1000, - -1000, -1000, 442, 19651, 19651, 19651, -1000, -1000, 442, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 19651, -1000, 628, 19651, - 19651, -1000, -1000, -1000, -1000, -1000, 642, 323, 368, 423, - -1000, -1000, 510, -1000, -1000, 2171, -1000, -1000, -1000, -1000, - 549, 11898, 11898, 11898, 452, 2171, 2257, 683, 648, 290, - 469, 469, 284, 284, 284, 284, 284, 601, 601, -1000, - -1000, -1000, 622, -1000, -1000, -1000, 622, 9183, 9183, 880, - 897, 268, -1000, 963, -1000, -1000, 1271, 823, 823, 551, - 516, 424, 1291, 823, 407, 1289, 823, 823, 9183, -1000, - -1000, 486, -1000, 10740, 622, -1000, 267, -1000, 770, 871, - 864, 823, 622, 622, 823, 823, 19651, -1000, -284, -1000, - -96, 286, 897, -1000, 16942, -1000, -1000, 1192, -1000, -1000, - 1138, -1000, 1091, 10740, 10740, 10740, -1000, -1000, -1000, 1192, - 1268, -1000, 1108, 1104, 1287, 9183, 16556, 1207, -1000, -1000, - -1000, 265, 1287, 912, 897, -1000, 19651, 16556, 16556, 16556, - 16556, 16556, -1000, 1063, 1055, -1000, 1078, 1049, 1098, 19651, - -1000, 832, 752, 14240, 150, 859, 16556, 19651, -1000, -1000, - 16556, 19651, 5624, -1000, 853, -75, -99, -1000, -1000, -1000, - -1000, 642, -1000, 753, 798, 4012, -1000, -1000, -1000, -1000, - 179, -1000, -1000, 978, 665, -1000, 1228, 380, 380, 507, - 665, 1226, -1000, -1000, -1000, -1000, 1190, -1000, 457, -22, - -1000, -1000, 15, 15, -1000, -1000, 289, 1183, 289, 289, - 289, 626, 626, -1000, -1000, -1000, -1000, -1000, 583, -1000, - -1000, -1000, 576, -1000, -1000, 977, 575, 1047, 99, -1000, - -1000, 332, 619, 1166, 19651, -1000, -1000, 680, 211, 67, - 88, -1000, -1000, -1000, -1000, 1028, -1000, 713, -1000, -1000, + 938, 938, 938, 924, 924, 161, 10531, 109, 19465, 1177, + 490, 52, 324, 74, -1000, 1170, 962, -1000, 317, 844, + -1000, -1000, 882, 882, 378, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 118, -1000, 19465, 19465, + 19465, 19465, 19465, 222, 91, 19465, 19465, 906, -1000, 19465, + 4998, -1000, -1000, -1000, -1000, -1000, -1000, 720, -1000, -1000, + -1000, -1000, -1000, -1000, 445, 19465, 19465, 19465, -1000, -1000, + 445, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19465, -1000, + 597, 19465, 19465, -1000, -1000, -1000, -1000, -1000, 720, 303, + 339, 313, -1000, -1000, 615, -1000, -1000, 2266, -1000, -1000, + -1000, -1000, 476, 11692, 11692, 11692, 1146, 2266, 2214, 754, + 541, 264, 503, 503, 280, 280, 280, 280, 280, 601, + 601, -1000, -1000, -1000, 546, -1000, -1000, -1000, 546, 8970, + 8970, 904, 915, 241, -1000, 977, -1000, -1000, 1196, 873, + 873, 730, 677, 417, 1245, 873, 394, 1243, 873, 873, + 8970, -1000, -1000, 355, -1000, 10531, 546, -1000, 239, -1000, + 1181, 901, 814, 873, 546, 546, 873, 873, 19465, -1000, + -293, -1000, -142, 278, 915, -1000, 16749, -1000, -1000, 1128, + -1000, -1000, 1072, -1000, 1028, 10531, 10531, 10531, -1000, -1000, + -1000, 1128, 1209, -1000, 1039, 1038, 1240, 8970, 16362, 1224, + -1000, -1000, -1000, 238, 1240, 953, 915, -1000, 19465, 16362, + 16362, 16362, 16362, 16362, -1000, 1020, 1015, -1000, 1008, 1005, + 1016, 19465, -1000, 887, 698, 14040, 116, 744, 16362, 19465, + -1000, -1000, 16362, 19465, 5402, -1000, 808, -70, -114, -1000, + -1000, -1000, -1000, 720, -1000, 813, 788, 3786, -1000, -1000, + -1000, -1000, 177, -1000, -1000, 936, 731, -1000, 1154, 331, + 331, 496, 731, 1140, -1000, -1000, -1000, -1000, 1121, -1000, + 372, -63, -1000, -1000, -5, -5, -1000, -1000, 260, 1103, + 260, 260, 260, 596, 596, -1000, -1000, -1000, -1000, -1000, + 482, -1000, -1000, -1000, 478, -1000, -1000, 934, 544, 995, + 109, -1000, -1000, 317, 594, 1090, 19465, -1000, -1000, 669, + 203, 43, 117, -1000, -1000, -1000, -1000, 991, -1000, 771, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19651, -1000, -1000, - -1000, -1000, -1000, 19651, 905, -1000, -1000, -1000, -1000, 54, - 121, 102, 206, -1000, 5221, -1000, -1000, -1000, -1000, 428, - -1000, 428, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 452, - 2171, 1897, -1000, 11898, 11898, -1000, -1000, 823, 823, 9183, - 6430, 1280, 1192, -1000, -1000, 108, 705, 108, 11898, 11898, - -1000, 11898, 11898, -1000, -168, 926, 416, -1000, 10740, 566, - -1000, 6430, -1000, 11898, 11898, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 217, 216, 215, 19651, -1000, -1000, - 621, 616, 1075, 642, 642, -1000, -1000, 19651, -1000, -1000, - -1000, -1000, 1285, 10740, -1000, 758, -1000, 4818, 1271, 1027, - 19651, 897, 1331, 13455, 19651, 947, -1000, 334, 1171, 1008, - 1026, 999, -1000, -1000, -1000, -1000, 1052, -1000, 1051, -1000, - -1000, -1000, -1000, -1000, 752, 1287, 16556, 918, -1000, 918, - -1000, 264, -1000, -1000, -1000, -98, -118, -1000, -1000, -1000, - 4415, -1000, 4415, -1000, 19651, 176, -1000, 665, 665, 665, - -1000, -1000, -1000, 964, 1025, 11898, -1000, -1000, -1000, 289, - 289, -1000, 339, -1000, -1000, -1000, 802, -1000, 788, 745, - 784, 31, -1000, 930, 1181, 332, 332, -1000, 568, -1000, - 665, -1000, -1000, 19651, 74, -1000, 956, 579, -1000, 19651, - -1000, -1000, -1000, -1000, -1000, -1000, 1232, -175, 665, 19651, - 19651, 19651, -1000, 19651, -1000, 442, 442, -1000, 11898, 2171, - 2171, -1000, -1000, 622, -1000, 1271, -1000, 622, 951, 951, - -1000, 951, 953, -1000, 951, 35, 951, 32, 622, 622, - 2094, 2079, 1955, 1381, 897, -162, -1000, 642, 10740, -1000, - 1182, 923, 897, 897, 897, 775, -1000, 612, 15, -1000, - -1000, -1000, 1283, 1276, 642, -1000, -1000, -1000, 1230, 855, - 718, -1000, -1000, 8797, 779, 1102, 263, 775, 1280, 19651, - 10740, -1000, -1000, 10740, 950, -1000, 10740, -1000, -1000, -1000, - 1280, 1280, 918, -1000, -1000, 307, -1000, -1000, -1000, 4012, - -1000, 768, -1000, 1226, -1000, -1000, -1000, 19651, -12, 1321, - 2171, -1000, -1000, -1000, -1000, 15, 605, 15, 556, -1000, - 552, -1000, -1000, -224, -1000, -1000, 942, 1061, -1000, -1000, - 944, -1000, -1000, -1000, 669, -1000, -1000, 897, -1000, 6430, - -1000, -1000, 908, 1009, -1000, -1000, -1000, -1000, 2171, -1000, - 1192, -1000, -1000, 182, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 11898, 11898, 11898, 11898, 11898, 1271, 595, 642, - 11898, 11898, 16170, 19651, 19651, 13841, 19651, 15, -49, -1000, - 10740, 10740, 1221, -1000, 897, -1000, 913, 19651, 897, 19651, - -1000, 1271, -1000, 642, 642, 19651, 642, 1271, -1000, 99, - 765, -1000, 329, -1000, -135, 289, -1000, 289, 644, 641, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1252, 19651, - -1000, 144, 742, -1000, 331, 19651, 19651, -1000, -1000, -1000, - 770, 770, 770, 770, 75, 622, -1000, 770, 770, 762, - -1000, 762, 762, 286, -1000, -275, -1000, 1153, 1148, 642, - 725, 1319, -1000, 897, 1331, 262, 718, -1000, -1000, 748, - -1000, -1000, 154, 19651, 495, 1220, -1000, 1216, -1000, -1000, - -1000, -1000, -1000, 961, 739, 722, -1000, 19651, 6430, 4415, - 701, -1000, -1000, -1000, -1000, -1000, 622, 78, -181, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -49, 200, -1000, 1115, - 1112, 1275, 19651, 718, 19651, -1000, 19651, -1000, -1000, 594, - -1000, -1000, 131, -1000, -1000, 144, 1097, -1000, -1000, 905, - -1000, 1074, -172, -186, 1123, 1126, 1126, 1148, 1273, 1136, - 1133, -1000, 585, 643, -1000, 902, -1000, -1000, -77, -1000, - 140, -175, -1000, 1071, -1000, 1119, 531, -1000, -1000, -1000, - -1000, 567, -1000, 1269, 1254, -1000, 19651, 177, -1000, -1000, - 134, -1000, -178, -1000, 522, -1000, -1000, -1000, 550, 548, - 664, 76, 897, -183, -1000, -1000, -1000, -1000, 1024, -1000, - 11126, -189, 1018, -1000, 1311, 770, 622, -1000, -1000, 1317, - 390, 390, -1000, -1000, -1000, -1000, -1000, 184, 584, -1000, - -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19465, + -1000, -1000, -1000, -1000, -1000, 19465, 959, -1000, -1000, -1000, + -1000, 34, 95, 89, 193, -1000, 4998, -1000, -1000, -1000, + -1000, 422, -1000, 422, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1146, 2266, 2124, -1000, 11692, 11692, -1000, -1000, 873, + 873, 8970, 6210, 1233, 1128, -1000, -1000, 106, 658, 106, + 11692, 11692, -1000, 11692, 11692, -1000, -175, 905, 349, -1000, + 10531, 578, -1000, 6210, -1000, 11692, 11692, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 208, 207, 206, 19465, + -1000, -1000, 563, 589, 1026, 720, 720, -1000, -1000, 19465, + -1000, -1000, -1000, -1000, 1238, 10531, -1000, 753, -1000, 4594, + 1196, 986, 19465, 915, 1284, 13253, 19465, 834, -1000, 321, + 1175, 956, 979, 1033, -1000, -1000, -1000, -1000, 1014, -1000, + 987, -1000, -1000, -1000, -1000, -1000, 698, 1240, 16362, 791, + -1000, 791, -1000, 237, -1000, -1000, -1000, -134, -91, -1000, + -1000, -1000, 4190, -1000, 4190, -1000, 19465, 165, -1000, 731, + 731, 731, -1000, -1000, -1000, 929, 978, 11692, -1000, -1000, + -1000, 260, 260, -1000, 341, -1000, -1000, -1000, 851, -1000, + 836, 747, 810, 19, -1000, 949, 1096, 317, 317, -1000, + 438, -1000, 731, -1000, -1000, 19465, 50, -1000, 928, 558, + -1000, 19465, -1000, -1000, -1000, -1000, -1000, -1000, 1148, -180, + 731, 19465, 19465, 19465, -1000, 19465, -1000, 445, 445, -1000, + 11692, 2266, 2266, -1000, -1000, 546, -1000, 1196, -1000, 546, + 923, 923, -1000, 923, 924, -1000, 923, 15, 923, 14, + 546, 546, 2079, 2030, 1980, 1939, 915, -166, -1000, 720, + 10531, -1000, 1844, 1476, 915, 915, 915, 778, -1000, 571, + -5, -1000, -1000, -1000, 1211, 1228, 720, -1000, -1000, -1000, + 1129, 683, 695, -1000, -1000, 8583, 786, 1037, 234, 778, + 1233, 19465, 10531, -1000, -1000, 10531, 920, -1000, 10531, -1000, + -1000, -1000, 1233, 1233, 791, -1000, -1000, 274, -1000, -1000, + -1000, 3786, -1000, 764, -1000, 1140, -1000, -1000, -1000, 19465, + -39, 1271, 2266, -1000, -1000, -1000, -1000, -5, 569, -5, + 406, -1000, 404, -1000, -1000, -223, -1000, -1000, 983, 994, + -1000, -1000, 918, -1000, -1000, -1000, 666, -1000, -1000, 915, + -1000, 6210, -1000, -1000, 917, 961, -1000, -1000, -1000, -1000, + 2266, -1000, 1128, -1000, -1000, 162, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 11692, 11692, 11692, 11692, 11692, 1196, + 566, 720, 11692, 11692, 15975, 19465, 19465, 13640, 19465, -5, + -50, -1000, 10531, 10531, 1139, -1000, 915, -1000, 958, 19465, + 915, 19465, -1000, 1196, -1000, 720, 720, 19465, 720, 1196, + -1000, 109, 760, -1000, 370, -1000, -106, 260, -1000, 260, + 664, 653, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1186, 19465, -1000, 115, 721, -1000, 311, 19465, 19465, -1000, + -1000, -1000, 1181, 1181, 1181, 1181, 36, 546, -1000, 1181, + 1181, 755, -1000, 755, 755, 278, -1000, -282, -1000, 1074, + 1071, 720, 709, 1270, -1000, 915, 1284, 228, 695, -1000, + -1000, 742, -1000, -1000, 134, 19465, 383, 1135, -1000, 1134, + -1000, -1000, -1000, -1000, -1000, 940, 727, 711, -1000, 19465, + 6210, 4190, 657, -1000, -1000, -1000, -1000, -1000, 546, 67, + -184, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -50, 178, + -1000, 1049, 1042, 1219, 19465, 695, 19465, -1000, 19465, -1000, + -1000, 562, -1000, -1000, 129, -1000, -1000, 115, 1036, -1000, + -1000, 959, -1000, 1025, -178, -188, 1058, 1060, 1060, 1071, + 1215, 1069, 1066, -1000, 556, 616, -1000, 916, -1000, -1000, + -86, -1000, 110, -180, -1000, 973, -1000, 1053, 555, -1000, + -1000, -1000, -1000, 550, -1000, 1214, 1210, -1000, 19465, 146, + -1000, -1000, 102, -1000, -181, -1000, 505, -1000, -1000, -1000, + 543, 537, 642, 54, 915, -186, -1000, -1000, -1000, -1000, + 975, -1000, 10918, -189, 969, -1000, 1254, 1181, 546, -1000, + -1000, 1256, 360, 360, -1000, -1000, -1000, -1000, -1000, 155, + 559, -1000, -1000, -1000, -1000, } var yyPgo = [...]int{ - 0, 1634, 1632, 12, 115, 80, 1631, 1626, 1625, 1624, - 145, 141, 140, 1623, 1621, 1620, 1612, 1611, 1610, 1609, - 1608, 1607, 1605, 1604, 1603, 1602, 1600, 117, 112, 587, - 1597, 1596, 1595, 1588, 1587, 1584, 1583, 1581, 1579, 1578, - 1577, 1576, 1573, 1572, 116, 1570, 1569, 1568, 1567, 1560, - 1559, 1558, 1557, 1556, 1555, 1552, 103, 1549, 45, 213, - 61, 67, 1547, 71, 1546, 1545, 1544, 1543, 1539, 1277, - 1538, 40, 89, 74, 1537, 41, 1536, 1523, 97, 1522, - 1521, 63, 1520, 1519, 47, 1518, 64, 76, 17, 31, - 1516, 1515, 1502, 1500, 104, 1128, 1499, 1498, 20, 1497, - 1496, 119, 1494, 84, 36, 16, 18, 23, 1493, 81, - 1490, 14, 1489, 77, 1488, 1486, 1484, 1483, 66, 1482, - 72, 85, 19, 1480, 6, 9, 1479, 1478, 1477, 1476, - 1472, 1471, 4, 1470, 1469, 1467, 1464, 27, 1462, 39, - 1461, 65, 42, 25, 10, 1459, 1458, 21, 93, 58, - 88, 1448, 1447, 1446, 822, 1441, 60, 1439, 129, 1438, - 35, 1437, 450, 626, 1436, 1432, 1428, 1427, 1423, 55, - 983, 1677, 82, 102, 1419, 1418, 2404, 38, 73, 24, - 1416, 1415, 1414, 70, 79, 50, 741, 44, 1412, 1410, - 1408, 1406, 1405, 1402, 1396, 214, 1392, 1390, 1389, 43, - 32, 105, 22, 1388, 1386, 1384, 1383, 54, 83, 1382, - 1381, 56, 62, 1380, 95, 26, 29, 1379, 1378, 1376, - 1375, 30, 11, 1374, 100, 34, 53, 28, 33, 86, - 1371, 15, 1369, 1366, 37, 48, 1364, 7, 1363, 8, - 1362, 2, 0, 1357, 5, 1356, 78, 1208, 1, 1353, - 3, 1352, 1349, 75, 1346, 1343, 1341, 1339, 68, 517, - 94, 1337, 107, + 0, 1611, 1610, 14, 115, 79, 1597, 1595, 1594, 1593, + 143, 142, 141, 1592, 1591, 1590, 1589, 1588, 1587, 1586, + 1584, 1583, 1581, 1580, 1579, 1563, 1562, 119, 116, 463, + 1561, 1558, 1555, 1553, 1552, 1551, 1549, 1547, 1546, 1544, + 1541, 1540, 1537, 1536, 113, 1535, 1533, 1531, 1529, 1526, + 1518, 1517, 1516, 1515, 1513, 1512, 95, 1510, 41, 101, + 40, 73, 1509, 66, 1508, 1507, 1506, 1505, 1504, 2015, + 1503, 61, 105, 77, 1499, 39, 1498, 1497, 103, 1496, + 1494, 64, 1493, 1490, 1937, 1489, 71, 74, 16, 50, + 1488, 1487, 1486, 1485, 99, 1171, 1484, 1483, 13, 1482, + 1481, 117, 1480, 80, 35, 8, 27, 30, 1478, 75, + 1476, 10, 1475, 82, 1474, 1473, 1472, 1471, 33, 1470, + 68, 85, 55, 1467, 3, 11, 1466, 1465, 1461, 1460, + 1459, 1457, 5, 1455, 1449, 1447, 1446, 29, 1445, 12, + 1441, 60, 47, 22, 9, 1435, 1431, 21, 86, 58, + 94, 1427, 1424, 1420, 714, 1419, 54, 1417, 127, 1416, + 42, 1414, 420, 563, 1413, 1412, 1411, 1410, 1409, 62, + 695, 1642, 84, 97, 1407, 1405, 2176, 45, 72, 18, + 1399, 1396, 1394, 67, 78, 36, 701, 44, 1392, 1391, + 1390, 1389, 1380, 1378, 1374, 48, 1369, 1368, 1367, 175, + 31, 89, 20, 1366, 1365, 1364, 1354, 56, 93, 1353, + 1351, 53, 63, 1349, 100, 37, 34, 1346, 1342, 1339, + 1338, 25, 26, 1337, 88, 32, 43, 23, 38, 83, + 1331, 19, 1329, 1322, 24, 28, 1321, 6, 1319, 17, + 1315, 2, 0, 1302, 4, 1300, 81, 1213, 7, 1298, + 1, 1297, 1296, 76, 1295, 1294, 1292, 1291, 69, 702, + 96, 1290, 109, } var yyR1 = [...]int{ @@ -3279,54 +3263,54 @@ var yyR1 = [...]int{ 19, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 157, 157, 251, 251, 159, - 159, 155, 155, 158, 158, 156, 156, 156, 160, 160, - 160, 161, 161, 255, 255, 255, 34, 34, 36, 36, - 37, 38, 38, 181, 181, 182, 182, 39, 40, 49, - 49, 49, 49, 49, 49, 51, 51, 51, 7, 7, - 7, 7, 46, 46, 46, 6, 6, 35, 35, 42, - 252, 252, 253, 254, 254, 254, 254, 43, 20, 261, - 44, 45, 45, 56, 56, 56, 52, 52, 52, 55, - 55, 55, 60, 60, 62, 62, 62, 62, 62, 63, - 63, 63, 63, 63, 63, 59, 59, 61, 61, 61, - 61, 174, 174, 174, 173, 173, 70, 70, 71, 71, - 72, 72, 73, 73, 73, 110, 87, 87, 140, 140, - 139, 139, 142, 142, 74, 74, 74, 74, 75, 75, - 76, 76, 77, 77, 180, 180, 179, 179, 179, 178, - 178, 80, 80, 80, 82, 81, 81, 81, 81, 83, - 83, 85, 85, 84, 84, 86, 88, 88, 88, 88, - 88, 89, 89, 69, 69, 69, 69, 69, 69, 69, - 69, 153, 153, 91, 91, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 102, 102, 102, 102, 102, - 102, 92, 92, 92, 92, 92, 92, 92, 58, 58, - 103, 103, 103, 109, 104, 104, 95, 95, 95, 95, + 33, 33, 33, 33, 33, 33, 157, 157, 251, 251, + 159, 159, 155, 155, 158, 158, 156, 156, 156, 160, + 160, 160, 161, 161, 255, 255, 255, 34, 34, 36, + 36, 37, 38, 38, 181, 181, 182, 182, 39, 40, + 49, 49, 49, 49, 49, 49, 51, 51, 51, 7, + 7, 7, 7, 46, 46, 46, 6, 6, 35, 35, + 42, 252, 252, 253, 254, 254, 254, 254, 43, 20, + 261, 44, 45, 45, 56, 56, 56, 52, 52, 52, + 55, 55, 55, 60, 60, 62, 62, 62, 62, 62, + 63, 63, 63, 63, 63, 63, 59, 59, 61, 61, + 61, 61, 174, 174, 174, 173, 173, 70, 70, 71, + 71, 72, 72, 73, 73, 73, 110, 87, 87, 140, + 140, 139, 139, 142, 142, 74, 74, 74, 74, 75, + 75, 76, 76, 77, 77, 180, 180, 179, 179, 179, + 178, 178, 80, 80, 80, 82, 81, 81, 81, 81, + 83, 83, 85, 85, 84, 84, 86, 88, 88, 88, + 88, 88, 89, 89, 69, 69, 69, 69, 69, 69, + 69, 69, 153, 153, 91, 91, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 102, 102, 102, 102, + 102, 102, 92, 92, 92, 92, 92, 92, 92, 58, + 58, 103, 103, 103, 109, 104, 104, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 99, 99, 99, 99, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 97, 98, 98, 98, + 95, 99, 99, 99, 99, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 262, 262, 101, 100, 100, 100, 100, - 100, 100, 100, 54, 54, 54, 54, 54, 185, 185, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 114, 114, 53, 53, 112, 112, 113, - 115, 115, 111, 111, 111, 94, 94, 94, 94, 94, - 94, 94, 94, 96, 96, 96, 116, 116, 117, 117, - 118, 118, 119, 119, 120, 121, 121, 121, 122, 122, - 122, 122, 232, 232, 232, 232, 232, 227, 227, 227, - 227, 228, 228, 228, 64, 64, 64, 64, 66, 66, - 65, 65, 47, 47, 48, 48, 48, 67, 67, 68, - 68, 68, 68, 137, 137, 137, 123, 123, 123, 123, - 128, 128, 128, 124, 124, 126, 126, 126, 127, 127, - 127, 125, 131, 131, 133, 133, 132, 132, 130, 130, - 135, 135, 134, 134, 129, 129, 93, 93, 93, 93, - 93, 138, 138, 138, 138, 143, 143, 105, 105, 107, - 107, 106, 108, 144, 144, 147, 145, 145, 148, 148, - 148, 148, 148, 146, 146, 146, 175, 175, 175, 152, - 152, 162, 162, 163, 163, 154, 154, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 167, 167, 167, - 168, 168, 136, 136, 136, 136, 233, 233, 229, 171, - 171, 172, 172, 176, 176, 177, 177, 169, 169, 169, + 98, 98, 98, 98, 262, 262, 101, 100, 100, 100, + 100, 100, 100, 100, 54, 54, 54, 54, 54, 185, + 185, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 114, 114, 53, 53, 112, 112, + 113, 115, 115, 111, 111, 111, 94, 94, 94, 94, + 94, 94, 94, 94, 96, 96, 96, 116, 116, 117, + 117, 118, 118, 119, 119, 120, 121, 121, 121, 122, + 122, 122, 122, 232, 232, 232, 232, 232, 227, 227, + 227, 227, 228, 228, 228, 64, 64, 64, 64, 66, + 66, 65, 65, 47, 47, 48, 48, 48, 67, 67, + 68, 68, 68, 68, 137, 137, 137, 123, 123, 123, + 123, 128, 128, 128, 124, 124, 126, 126, 126, 127, + 127, 127, 125, 131, 131, 133, 133, 132, 132, 130, + 130, 135, 135, 134, 134, 129, 129, 93, 93, 93, + 93, 93, 138, 138, 138, 138, 143, 143, 105, 105, + 107, 107, 106, 108, 144, 144, 147, 145, 145, 148, + 148, 148, 148, 148, 146, 146, 146, 175, 175, 175, + 152, 152, 162, 162, 163, 163, 154, 154, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, 167, 167, + 167, 168, 168, 136, 136, 136, 136, 233, 233, 229, + 171, 171, 172, 172, 176, 176, 177, 177, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, @@ -3339,7 +3323,7 @@ var yyR1 = [...]int{ 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 170, 170, 170, 170, 170, 170, 170, 170, + 169, 169, 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, @@ -3360,7 +3344,8 @@ var yyR1 = [...]int{ 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 258, 259, 183, 184, 184, 184, + 170, 170, 170, 170, 170, 170, 258, 259, 183, 184, + 184, 184, } var yyR2 = [...]int{ @@ -3395,56 +3380,56 @@ var yyR2 = [...]int{ 7, 5, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 3, 8, 8, 3, 3, 5, 4, 6, 5, 4, 3, - 2, 3, 4, 3, 3, 3, 3, 3, 3, 4, - 4, 4, 4, 4, 5, 7, 4, 4, 4, 4, - 4, 4, 4, 2, 7, 2, 4, 5, 4, 3, - 3, 5, 2, 3, 3, 1, 1, 1, 1, 0, - 1, 0, 1, 1, 1, 0, 2, 2, 0, 2, - 2, 0, 2, 0, 1, 1, 2, 1, 1, 2, - 1, 1, 5, 0, 1, 0, 1, 2, 3, 0, - 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 1, 1, 3, 3, 2, 2, 3, - 1, 3, 2, 1, 2, 1, 2, 2, 2, 0, - 2, 0, 2, 1, 2, 2, 0, 1, 1, 0, - 1, 1, 0, 1, 0, 1, 2, 3, 4, 1, - 1, 1, 1, 1, 1, 1, 3, 1, 2, 3, - 5, 0, 1, 2, 1, 1, 0, 2, 1, 3, - 1, 1, 1, 3, 3, 3, 3, 7, 0, 3, - 1, 3, 1, 3, 4, 4, 4, 3, 2, 4, - 0, 1, 0, 2, 0, 1, 0, 1, 2, 1, - 1, 1, 2, 2, 1, 2, 3, 2, 3, 2, - 2, 2, 1, 1, 3, 3, 0, 5, 4, 5, - 5, 0, 2, 1, 3, 3, 3, 2, 3, 1, - 2, 0, 3, 1, 1, 3, 3, 4, 4, 5, - 3, 4, 5, 6, 2, 1, 2, 1, 2, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 0, 2, - 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, - 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 3, 1, 1, 1, 1, - 4, 5, 5, 6, 4, 4, 6, 6, 6, 8, - 8, 8, 8, 9, 8, 5, 4, 2, 2, 2, + 2, 3, 4, 3, 3, 3, 3, 3, 3, 2, + 4, 4, 4, 4, 4, 5, 7, 4, 4, 4, + 4, 4, 4, 4, 2, 7, 2, 4, 5, 4, + 3, 3, 5, 2, 3, 3, 1, 1, 1, 1, + 0, 1, 0, 1, 1, 1, 0, 2, 2, 0, + 2, 2, 0, 2, 0, 1, 1, 2, 1, 1, + 2, 1, 1, 5, 0, 1, 0, 1, 2, 3, + 0, 3, 3, 3, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 1, 1, 3, 3, 2, 2, + 3, 1, 3, 2, 1, 2, 1, 2, 2, 2, + 0, 2, 0, 2, 1, 2, 2, 0, 1, 1, + 0, 1, 1, 0, 1, 0, 1, 2, 3, 4, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, + 3, 5, 0, 1, 2, 1, 1, 0, 2, 1, + 3, 1, 1, 1, 3, 3, 3, 3, 7, 0, + 3, 1, 3, 1, 3, 4, 4, 4, 3, 2, + 4, 0, 1, 0, 2, 0, 1, 0, 1, 2, + 1, 1, 1, 2, 2, 1, 2, 3, 2, 3, + 2, 2, 2, 1, 1, 3, 3, 0, 5, 4, + 5, 5, 0, 2, 1, 3, 3, 3, 2, 3, + 1, 2, 0, 3, 1, 1, 3, 3, 4, 4, + 5, 3, 4, 5, 6, 2, 1, 2, 1, 2, + 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, + 2, 1, 1, 1, 3, 1, 3, 1, 1, 1, + 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 1, 1, 1, + 1, 4, 5, 5, 6, 4, 4, 6, 6, 6, + 8, 8, 8, 8, 9, 8, 5, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 8, 8, 0, 2, 3, 4, 4, 4, 4, - 4, 4, 4, 0, 3, 4, 7, 3, 1, 1, - 2, 3, 3, 1, 2, 2, 1, 2, 1, 2, - 2, 1, 2, 0, 1, 0, 2, 1, 2, 4, - 0, 2, 1, 3, 5, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 0, 3, 0, 2, - 0, 3, 1, 3, 2, 0, 1, 1, 0, 2, - 4, 4, 0, 2, 2, 1, 1, 3, 3, 3, - 3, 3, 3, 3, 0, 3, 3, 3, 0, 3, - 1, 1, 0, 4, 0, 1, 1, 0, 3, 1, - 3, 2, 1, 0, 2, 4, 0, 9, 3, 5, - 0, 3, 3, 0, 1, 0, 2, 2, 0, 2, - 2, 2, 0, 3, 0, 3, 0, 3, 0, 4, - 0, 3, 0, 4, 0, 1, 2, 1, 5, 4, - 4, 1, 3, 3, 5, 0, 5, 1, 3, 1, - 2, 3, 1, 1, 3, 3, 1, 3, 3, 3, - 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, - 1, 0, 2, 0, 3, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, - 1, 1, 0, 1, 1, 1, 0, 1, 2, 1, + 2, 2, 8, 8, 0, 2, 3, 4, 4, 4, + 4, 4, 4, 4, 0, 3, 4, 7, 3, 1, + 1, 2, 3, 3, 1, 2, 2, 1, 2, 1, + 2, 2, 1, 2, 0, 1, 0, 2, 1, 2, + 4, 0, 2, 1, 3, 5, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 0, 3, 0, + 2, 0, 3, 1, 3, 2, 0, 1, 1, 0, + 2, 4, 4, 0, 2, 2, 1, 1, 3, 3, + 3, 3, 3, 3, 3, 0, 3, 3, 3, 0, + 3, 1, 1, 0, 4, 0, 1, 1, 0, 3, + 1, 3, 2, 1, 0, 2, 4, 0, 9, 3, + 5, 0, 3, 3, 0, 1, 0, 2, 2, 0, + 2, 2, 2, 0, 3, 0, 3, 0, 3, 0, + 4, 0, 3, 0, 4, 0, 1, 2, 1, 5, + 4, 4, 1, 3, 3, 5, 0, 5, 1, 3, + 1, 2, 3, 1, 1, 3, 3, 1, 3, 3, + 3, 3, 3, 2, 1, 2, 1, 1, 1, 1, + 1, 1, 0, 2, 0, 3, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, + 1, 1, 1, 0, 1, 1, 1, 0, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -3479,7 +3464,8 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, + 1, 1, } var yyChk = [...]int{ @@ -3489,373 +3475,373 @@ var yyChk = [...]int{ -43, -4, -258, 6, 7, 8, -50, 10, 11, 31, -23, -24, 146, -25, 147, -26, 149, 148, 182, 150, 175, 70, 208, 209, 211, 212, 213, 214, -51, 180, - 181, 152, 35, 41, 32, 33, 80, 9, 304, 177, - 176, 26, -257, 408, -56, 5, -118, 16, -3, -44, + 181, 152, 35, 41, 32, 33, 80, 9, 305, 177, + 176, 26, -257, 409, -56, 5, -118, 16, -3, -44, -261, -44, -44, -44, -44, -44, -44, -217, -219, 80, 119, 80, -57, 154, -136, -247, 100, 160, 163, 164, - 295, 153, -30, -29, -28, -27, -31, 30, -247, 154, + 296, 153, -30, -29, -28, -27, -31, 30, -247, 154, 156, 268, -245, -242, 83, 84, 85, 154, 154, 155, - 156, -247, 154, -84, -176, -242, -170, 314, 168, 346, - 347, 76, 258, 208, 222, 216, 243, 235, 315, 348, - 169, 198, 233, 236, 282, 166, 349, 280, 263, 271, - 94, 211, 291, 350, 75, 47, 40, 178, 231, 227, - 199, 351, 323, 192, 225, 46, 28, 45, 352, 273, - 248, 44, 353, 79, 319, 275, 226, 272, 152, 354, - 171, 402, 164, 355, 249, 253, 356, 283, 48, 357, - 358, 359, 74, 220, 221, 360, 206, 167, 285, 247, - 165, 34, 276, 316, 54, 186, 286, 42, 251, 41, - 406, 361, 246, 242, 49, 362, 363, 364, 365, 245, - 219, 241, 204, 58, 255, 254, 256, 193, 281, 238, - 366, 367, 368, 172, 77, 369, 228, 19, 370, 371, - 200, 372, 52, 373, 374, 289, 181, 375, 50, 37, - 184, 376, 377, 378, 379, 380, 381, 274, 250, 252, - 161, 188, 270, 318, 382, 224, 383, 173, 185, 180, - 290, 174, 384, 385, 386, 387, 388, 389, 390, 212, - 39, 391, 392, 393, 394, 207, 203, 284, 293, 57, - 78, 260, 395, 218, 163, 201, 396, 209, 51, 195, - 266, 205, 43, 239, 187, 397, 398, 229, 230, 244, - 217, 240, 210, 403, 189, 182, 399, 292, 202, 261, - 320, 194, 237, 234, 196, 400, 156, 190, 191, 401, - 404, 277, 267, 278, 279, 268, 197, 232, 262, 154, - 236, 282, 263, 264, 265, 276, 277, 188, -255, 283, - 154, -155, 137, 146, 273, -159, 274, 267, 268, 197, - -251, -242, 284, 406, 269, 275, 279, 278, -176, 210, - -181, 215, -171, -242, -170, 213, -84, -49, 402, 150, - -183, -183, -183, -104, -69, -90, 103, -95, 30, 24, - -94, -91, -111, -108, -109, 137, 138, 140, 139, 141, - 126, 127, 134, 104, 142, -99, -97, -98, -100, 87, - 86, 95, 88, 89, 90, 91, 96, 97, 98, -171, - -176, -106, -258, 64, 65, 305, 306, 307, 308, 313, - 309, 106, 53, 294, 303, 302, 301, 298, 299, 296, - 297, 311, 312, 159, 295, 153, 132, 304, -242, -170, - 40, 266, 266, -5, -4, -258, 6, 21, 22, -122, - 18, 17, -259, 82, -52, -62, 59, 60, -63, 22, - 36, 63, 61, -45, -61, 128, -69, -176, -61, -154, - 158, -154, -154, -145, -186, 210, -148, 284, 283, -172, - -146, -171, -169, 282, 236, 281, 151, 321, 102, 23, - 25, 105, 137, 17, 106, 136, 305, 146, 68, 322, - 296, 297, 294, 300, 307, 308, 295, 264, 30, 11, - 324, 26, 176, 22, 36, 130, 148, 109, 110, 179, - 24, 177, 98, 327, 20, 71, 12, 14, 328, 329, - 15, 159, 158, 121, 155, 66, 9, 142, 27, 118, - 62, 330, 29, 331, 332, 333, 334, 64, 119, 18, - 298, 299, 32, 407, 335, 313, 183, 132, 69, 55, - 103, 336, 337, 96, 338, 99, 72, 100, 16, 67, - 38, 339, 340, 341, 287, 342, 120, 149, 304, 65, - 343, 153, 265, 6, 310, 31, 175, 63, 344, 154, - 108, 311, 312, 157, 97, 5, 160, 33, 10, 70, - 73, 301, 302, 303, 53, 317, 107, 13, 345, 288, - 101, -218, 119, -208, -211, -171, 170, -235, 166, -84, - -225, -224, -171, -64, 76, -163, 159, 155, -163, 304, - -27, -28, 236, 136, -84, -84, 146, 148, 151, 72, - -29, 194, -22, -84, -162, 159, -242, -162, -162, -84, - 143, -84, 31, -160, 119, 13, -160, -160, -160, -160, - -160, 195, 280, 195, 196, 195, 196, 195, -158, -157, - 271, 272, 266, 270, -242, 295, -242, 188, 154, 189, - 156, -213, 155, 34, 167, 196, 266, 191, -160, -184, - -258, -172, 157, -171, -46, -171, 87, -7, -3, -11, - -10, -12, 111, 81, 102, 100, 101, 118, -69, -92, - 121, 103, 119, 120, 105, 123, 122, 133, 126, 127, - 128, 129, 130, 131, 132, 124, 125, 136, 111, 112, - 113, 114, 115, 116, 117, -153, -258, -109, -258, 144, - 145, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -258, 143, -2, -104, -4, -258, -258, -258, -258, - -258, -258, -258, -258, -114, -69, -258, -262, -101, -258, - -262, -101, -262, -101, -262, -258, -262, -101, -262, -101, - -262, -262, -101, -258, -258, -258, -258, -258, -258, -258, - -183, -252, -253, -87, -84, -118, -3, -44, -137, 20, - 32, -69, -119, -120, -69, -118, 55, -59, -61, -63, - 59, 60, 93, 12, -174, -173, 23, -171, 87, 143, - 12, -85, 27, -84, -71, -72, -73, -74, -87, -110, - -258, 12, -78, -79, -84, -86, -176, 81, 210, -148, - -186, -150, -149, 285, 287, 111, -175, -171, 87, 30, - 31, 82, 81, -84, -188, -191, -193, -192, -194, -189, - -190, 233, 234, 137, 237, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 31, 178, 229, 230, 231, - 232, 249, 250, 251, 252, 253, 254, 255, 256, 216, - 235, 315, 217, 218, 219, 220, 221, 222, 224, 225, - 226, 227, 228, -242, 80, 82, 81, -195, 80, -67, - 199, 111, -84, 103, -242, -242, 31, -216, 111, -166, - 151, 148, 149, -238, 147, 258, 236, 94, 30, 16, - 305, 184, 320, -242, 185, -184, 190, 190, 154, 154, - 203, -84, 40, 81, 157, -78, 24, 72, -84, -242, - -177, -176, -169, -160, 87, -69, -160, -84, -160, -160, - -160, -160, -156, 12, 121, -214, 12, 121, -156, -184, - -184, -184, -184, -84, -184, -184, -214, -161, 119, 72, - -182, 213, 247, 403, 404, 405, -69, -69, -69, -69, - -102, 96, 103, 97, 98, -95, -103, -106, -109, 92, - 121, 119, 120, 105, -95, -95, -95, -95, -95, -95, - -95, -95, -95, -95, -95, -95, -95, -95, -95, -185, - -242, 87, -242, -94, -94, -171, -60, 22, 36, -59, - -172, -177, -169, -56, -259, -259, -118, -59, -59, -69, - -69, -111, 87, -59, -111, 87, -59, -59, -55, 22, - 36, -112, -113, 107, -111, -171, -176, -259, -95, -171, - -171, -59, -60, -60, -59, -59, 81, -254, 287, 288, - 407, -179, 184, -178, 23, -176, 87, -122, -259, -123, - 27, 10, 121, 81, 19, 81, -121, 25, 26, -122, - -96, -171, 88, 91, -70, 81, 12, -63, -84, -173, - 128, -177, -84, -141, 184, -84, 31, 81, -80, -82, - -81, -83, 62, 66, 68, 63, 64, 65, 69, -180, - 23, -71, -3, -258, -84, -78, -260, 81, 12, 73, - -260, 81, 143, -148, -150, 81, 286, 288, 289, 72, - 99, -69, -200, 136, -220, -221, -222, -172, 87, 88, - -208, -209, -210, -223, 170, -234, 161, 163, 164, 160, - -212, 171, -235, 155, 29, 82, -164, 96, 103, -204, - 261, -195, -195, -195, -195, -195, -199, 236, -199, -199, - -199, 80, 80, -195, -195, -195, -195, -201, 80, -201, - -201, -202, 80, -202, -235, 166, -69, -231, -230, -226, - -229, 165, 94, 317, 73, -224, -121, 88, -66, 201, - 111, 202, 204, 205, 24, -233, -229, -216, -242, 87, - -183, -246, 166, 162, 170, 171, 164, 83, 84, 85, - 155, 29, 161, 163, 184, 160, -246, -167, -168, 157, - 23, 155, 29, 184, -84, -84, -84, -84, -84, 151, - 148, 192, -84, -84, -84, -184, -160, -176, -176, -84, - -160, -84, 87, -84, -171, 96, 97, 98, -103, -95, - -95, -95, -58, 179, 102, -259, -259, -59, -59, -258, - 143, -5, -122, -259, -259, 81, 73, 23, 12, 12, - -259, 12, 12, -259, -259, -59, -115, -113, 109, -69, - -259, 143, -259, 81, 81, -259, -259, -259, -259, -259, - -253, 406, 288, -88, 70, 158, 71, -258, -178, -137, - 38, 46, 57, -69, -69, -120, -137, -152, 20, 12, - 53, 53, -89, 13, -61, -71, -63, 143, -89, -93, - 31, 53, -3, -258, -258, -144, -147, -111, -72, -73, - -73, -72, -73, 62, 62, 62, 67, 62, 67, 62, - -81, -176, -259, -259, -3, -141, 73, -71, -84, -71, - -86, -176, 128, -149, -151, 290, 287, 293, -242, 87, - 81, -222, 111, -211, 80, -242, 29, -212, -212, -212, - -215, -242, -215, 29, -197, 30, 96, -205, 262, -199, - -199, -200, 31, -200, -200, -200, -207, 87, -207, 88, - 88, 82, -232, -227, -228, 32, 76, -226, -216, 87, - 37, -171, 82, 156, 207, -68, 300, 87, 83, 72, - -242, 87, -183, -183, -84, -183, -171, -244, 73, 190, - 258, 190, 193, 157, -184, -156, -156, -58, 102, -95, - -95, -259, -259, -60, -172, -118, -137, -187, 137, 233, - 178, 231, 227, 247, 238, 260, 229, 261, -185, -187, - -95, -95, -95, -95, 314, -118, 110, -69, 108, -172, - -95, -95, 155, 155, 155, -142, -171, 39, 87, 87, - 58, -84, -116, 14, -69, 128, -122, -143, 72, -144, - -105, -107, -106, -258, -138, -259, -171, -142, -89, 81, - 111, -76, -75, 72, 73, -77, 72, -75, 62, 62, - -259, -89, -71, -89, -89, 143, 287, 291, 292, -221, - -222, -225, -234, 171, -215, -215, -215, 80, -198, 72, - -95, -200, -200, -242, 137, 82, 81, 82, 81, 82, - 81, -165, 352, 103, -228, -227, -216, -216, 88, -242, - -84, -65, 199, 206, 80, 84, -84, 27, -241, 317, - -243, -242, -171, -171, -171, -84, -160, -160, -95, -259, - -122, -259, -195, -195, -195, -202, -195, 221, -195, 221, - -259, -259, 20, 20, 20, 20, -258, -53, 310, -69, - 81, 81, -258, -258, -258, -259, 81, 87, -199, -117, - 15, 17, 28, -143, 81, -259, -259, 81, 53, 143, - -259, -118, -147, -69, -69, 80, -69, -118, -89, 82, - -139, -171, -203, 258, 10, -199, 87, -199, 88, 88, - 352, 30, 77, 78, 79, 30, 74, 75, -140, 80, - 82, -258, -240, -239, -172, 80, 73, -137, -199, -242, - -95, -95, -95, -95, -95, -122, 87, -95, -95, -139, - -259, -139, -139, -179, -171, -199, -125, -130, -158, -69, - -104, 29, -107, 53, -3, -171, -105, -171, -122, -139, - -122, -231, 82, 81, -206, 161, 29, 160, -98, -200, - -200, 82, 82, 23, -139, -236, -237, 184, 81, 111, - -139, -84, -259, -259, -259, -259, -54, 121, 317, -259, - -259, -259, -259, -259, -259, -88, -128, 402, -131, 42, - -132, 43, 10, -105, 143, 82, 173, -171, -196, 94, - 29, 29, -3, 82, -259, 81, -171, -239, -222, 82, - -259, 315, 69, 318, -125, 47, 239, -133, 51, -134, - -129, 52, 17, -144, -171, -84, 87, -47, 317, -237, - 53, -244, 58, 316, 319, -126, 49, -124, 48, -124, - -132, 17, -135, 44, 45, 87, 80, -48, 198, 406, - 186, -241, 58, -127, 50, 72, 99, 87, 17, 17, - -139, 166, 187, 317, 72, 99, 87, 87, 82, 200, - -258, 318, -249, -250, 72, -95, 183, 319, -250, 72, - 11, 10, -259, -259, -248, 174, 169, 172, 31, -248, - 168, 30, 96, + 156, -247, 154, -84, -176, -242, -170, 315, 168, 347, + 348, 76, 258, 208, 222, 216, 243, 235, 316, 349, + 169, 198, 233, 236, 283, 166, 350, 280, 263, 271, + 94, 211, 292, 351, 75, 47, 40, 178, 231, 227, + 199, 352, 324, 192, 225, 46, 28, 45, 353, 273, + 248, 44, 354, 79, 320, 275, 226, 272, 152, 355, + 171, 403, 164, 356, 249, 253, 357, 284, 48, 358, + 359, 360, 74, 220, 221, 361, 206, 167, 286, 247, + 165, 34, 276, 317, 54, 186, 287, 42, 251, 41, + 407, 362, 246, 242, 49, 363, 364, 365, 366, 245, + 219, 241, 204, 58, 255, 254, 256, 193, 282, 238, + 367, 368, 369, 172, 77, 370, 228, 19, 371, 372, + 200, 373, 52, 374, 375, 290, 181, 376, 50, 37, + 184, 377, 378, 379, 380, 381, 281, 382, 274, 250, + 252, 161, 188, 270, 319, 383, 224, 384, 173, 185, + 180, 291, 174, 385, 386, 387, 388, 389, 390, 391, + 212, 39, 392, 393, 394, 395, 207, 203, 285, 294, + 57, 78, 260, 396, 218, 163, 201, 397, 209, 51, + 195, 266, 205, 43, 239, 187, 398, 399, 229, 230, + 244, 217, 240, 210, 404, 189, 182, 400, 293, 202, + 261, 321, 194, 237, 234, 196, 401, 156, 190, 191, + 402, 405, 277, 267, 278, 279, 268, 197, 232, 262, + 154, 236, 283, 263, 264, 265, 276, 277, 281, 188, + -255, 284, 154, -155, 137, 146, 273, -159, 274, 267, + 268, 197, -251, -242, 285, 407, 269, 275, 279, 278, + -176, 210, -181, 215, -171, -242, -170, 213, -84, -49, + 403, 150, -183, -183, -183, -104, -69, -90, 103, -95, + 30, 24, -94, -91, -111, -108, -109, 137, 138, 140, + 139, 141, 126, 127, 134, 104, 142, -99, -97, -98, + -100, 87, 86, 95, 88, 89, 90, 91, 96, 97, + 98, -171, -176, -106, -258, 64, 65, 306, 307, 308, + 309, 314, 310, 106, 53, 295, 304, 303, 302, 299, + 300, 297, 298, 312, 313, 159, 296, 153, 132, 305, + -242, -170, 40, 266, 266, -5, -4, -258, 6, 21, + 22, -122, 18, 17, -259, 82, -52, -62, 59, 60, + -63, 22, 36, 63, 61, -45, -61, 128, -69, -176, + -61, -154, 158, -154, -154, -145, -186, 210, -148, 285, + 284, -172, -146, -171, -169, 283, 236, 282, 151, 322, + 102, 23, 25, 105, 137, 17, 106, 136, 306, 146, + 68, 323, 297, 298, 295, 301, 308, 309, 296, 264, + 30, 11, 325, 26, 176, 22, 36, 130, 148, 109, + 110, 179, 24, 177, 98, 328, 20, 71, 12, 14, + 329, 330, 15, 159, 158, 121, 155, 66, 9, 142, + 27, 118, 62, 331, 29, 332, 333, 334, 335, 64, + 119, 18, 299, 300, 32, 408, 336, 314, 183, 132, + 69, 55, 103, 337, 338, 96, 339, 99, 72, 100, + 16, 67, 38, 340, 341, 342, 288, 343, 120, 149, + 305, 65, 344, 153, 265, 6, 311, 31, 175, 63, + 345, 154, 108, 312, 313, 157, 97, 5, 160, 33, + 10, 70, 73, 302, 303, 304, 53, 318, 107, 13, + 346, 289, 101, -218, 119, -208, -211, -171, 170, -235, + 166, -84, -225, -224, -171, -64, 76, -163, 159, 155, + -163, 305, -27, -28, 236, 136, -84, -84, 146, 148, + 151, 72, -29, 194, -22, -84, -162, 159, -242, -162, + -162, -84, 143, -84, 31, -160, 119, 13, -160, -160, + -160, -160, -160, 195, 280, 195, 196, 195, 196, 195, + -158, -157, 271, 272, 266, 270, -242, 296, -242, 188, + 154, 189, 156, -213, 155, 34, 167, 196, 266, 191, + -160, -184, -258, -172, 157, -171, -46, -171, 87, -7, + -3, -11, -10, -12, 111, 81, 102, 100, 101, 118, + -69, -92, 121, 103, 119, 120, 105, 123, 122, 133, + 126, 127, 128, 129, 130, 131, 132, 124, 125, 136, + 111, 112, 113, 114, 115, 116, 117, -153, -258, -109, + -258, 144, 145, -95, -95, -95, -95, -95, -95, -95, + -95, -95, -95, -258, 143, -2, -104, -4, -258, -258, + -258, -258, -258, -258, -258, -258, -114, -69, -258, -262, + -101, -258, -262, -101, -262, -101, -262, -258, -262, -101, + -262, -101, -262, -262, -101, -258, -258, -258, -258, -258, + -258, -258, -183, -252, -253, -87, -84, -118, -3, -44, + -137, 20, 32, -69, -119, -120, -69, -118, 55, -59, + -61, -63, 59, 60, 93, 12, -174, -173, 23, -171, + 87, 143, 12, -85, 27, -84, -71, -72, -73, -74, + -87, -110, -258, 12, -78, -79, -84, -86, -176, 81, + 210, -148, -186, -150, -149, 286, 288, 111, -175, -171, + 87, 30, 31, 82, 81, -84, -188, -191, -193, -192, + -194, -189, -190, 233, 234, 137, 237, 239, 240, 241, + 242, 243, 244, 245, 246, 247, 248, 31, 178, 229, + 230, 231, 232, 249, 250, 251, 252, 253, 254, 255, + 256, 216, 235, 316, 217, 218, 219, 220, 221, 222, + 224, 225, 226, 227, 228, -242, 80, 82, 81, -195, + 80, -67, 199, 111, -84, 103, -242, -242, 31, -216, + 111, -166, 151, 148, 149, -238, 147, 258, 236, 94, + 30, 16, 306, 184, 321, -242, 185, -184, 190, 190, + 154, 154, 203, -84, 40, 81, 157, -78, 24, 72, + -84, -242, -177, -176, -169, -160, 87, -69, -160, -84, + -160, -160, -160, -160, -156, 12, 121, -214, 12, 121, + -156, -184, -184, -184, -184, -84, -184, -184, -214, -161, + 119, 72, -182, 213, 247, 404, 405, 406, -69, -69, + -69, -69, -102, 96, 103, 97, 98, -95, -103, -106, + -109, 92, 121, 119, 120, 105, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, + -95, -185, -242, 87, -242, -94, -94, -171, -60, 22, + 36, -59, -172, -177, -169, -56, -259, -259, -118, -59, + -59, -69, -69, -111, 87, -59, -111, 87, -59, -59, + -55, 22, 36, -112, -113, 107, -111, -171, -176, -259, + -95, -171, -171, -59, -60, -60, -59, -59, 81, -254, + 288, 289, 408, -179, 184, -178, 23, -176, 87, -122, + -259, -123, 27, 10, 121, 81, 19, 81, -121, 25, + 26, -122, -96, -171, 88, 91, -70, 81, 12, -63, + -84, -173, 128, -177, -84, -141, 184, -84, 31, 81, + -80, -82, -81, -83, 62, 66, 68, 63, 64, 65, + 69, -180, 23, -71, -3, -258, -84, -78, -260, 81, + 12, 73, -260, 81, 143, -148, -150, 81, 287, 289, + 290, 72, 99, -69, -200, 136, -220, -221, -222, -172, + 87, 88, -208, -209, -210, -223, 170, -234, 161, 163, + 164, 160, -212, 171, -235, 155, 29, 82, -164, 96, + 103, -204, 261, -195, -195, -195, -195, -195, -199, 236, + -199, -199, -199, 80, 80, -195, -195, -195, -195, -201, + 80, -201, -201, -202, 80, -202, -235, 166, -69, -231, + -230, -226, -229, 165, 94, 318, 73, -224, -121, 88, + -66, 201, 111, 202, 204, 205, 24, -233, -229, -216, + -242, 87, -183, -246, 166, 162, 170, 171, 164, 83, + 84, 85, 155, 29, 161, 163, 184, 160, -246, -167, + -168, 157, 23, 155, 29, 184, -84, -84, -84, -84, + -84, 151, 148, 192, -84, -84, -84, -184, -160, -176, + -176, -84, -160, -84, 87, -84, -171, 96, 97, 98, + -103, -95, -95, -95, -58, 179, 102, -259, -259, -59, + -59, -258, 143, -5, -122, -259, -259, 81, 73, 23, + 12, 12, -259, 12, 12, -259, -259, -59, -115, -113, + 109, -69, -259, 143, -259, 81, 81, -259, -259, -259, + -259, -259, -253, 407, 289, -88, 70, 158, 71, -258, + -178, -137, 38, 46, 57, -69, -69, -120, -137, -152, + 20, 12, 53, 53, -89, 13, -61, -71, -63, 143, + -89, -93, 31, 53, -3, -258, -258, -144, -147, -111, + -72, -73, -73, -72, -73, 62, 62, 62, 67, 62, + 67, 62, -81, -176, -259, -259, -3, -141, 73, -71, + -84, -71, -86, -176, 128, -149, -151, 291, 288, 294, + -242, 87, 81, -222, 111, -211, 80, -242, 29, -212, + -212, -212, -215, -242, -215, 29, -197, 30, 96, -205, + 262, -199, -199, -200, 31, -200, -200, -200, -207, 87, + -207, 88, 88, 82, -232, -227, -228, 32, 76, -226, + -216, 87, 37, -171, 82, 156, 207, -68, 301, 87, + 83, 72, -242, 87, -183, -183, -84, -183, -171, -244, + 73, 190, 258, 190, 193, 157, -184, -156, -156, -58, + 102, -95, -95, -259, -259, -60, -172, -118, -137, -187, + 137, 233, 178, 231, 227, 247, 238, 260, 229, 261, + -185, -187, -95, -95, -95, -95, 315, -118, 110, -69, + 108, -172, -95, -95, 155, 155, 155, -142, -171, 39, + 87, 87, 58, -84, -116, 14, -69, 128, -122, -143, + 72, -144, -105, -107, -106, -258, -138, -259, -171, -142, + -89, 81, 111, -76, -75, 72, 73, -77, 72, -75, + 62, 62, -259, -89, -71, -89, -89, 143, 288, 292, + 293, -221, -222, -225, -234, 171, -215, -215, -215, 80, + -198, 72, -95, -200, -200, -242, 137, 82, 81, 82, + 81, 82, 81, -165, 353, 103, -228, -227, -216, -216, + 88, -242, -84, -65, 199, 206, 80, 84, -84, 27, + -241, 318, -243, -242, -171, -171, -171, -84, -160, -160, + -95, -259, -122, -259, -195, -195, -195, -202, -195, 221, + -195, 221, -259, -259, 20, 20, 20, 20, -258, -53, + 311, -69, 81, 81, -258, -258, -258, -259, 81, 87, + -199, -117, 15, 17, 28, -143, 81, -259, -259, 81, + 53, 143, -259, -118, -147, -69, -69, 80, -69, -118, + -89, 82, -139, -171, -203, 258, 10, -199, 87, -199, + 88, 88, 353, 30, 77, 78, 79, 30, 74, 75, + -140, 80, 82, -258, -240, -239, -172, 80, 73, -137, + -199, -242, -95, -95, -95, -95, -95, -122, 87, -95, + -95, -139, -259, -139, -139, -179, -171, -199, -125, -130, + -158, -69, -104, 29, -107, 53, -3, -171, -105, -171, + -122, -139, -122, -231, 82, 81, -206, 161, 29, 160, + -98, -200, -200, 82, 82, 23, -139, -236, -237, 184, + 81, 111, -139, -84, -259, -259, -259, -259, -54, 121, + 318, -259, -259, -259, -259, -259, -259, -88, -128, 403, + -131, 42, -132, 43, 10, -105, 143, 82, 173, -171, + -196, 94, 29, 29, -3, 82, -259, 81, -171, -239, + -222, 82, -259, 316, 69, 319, -125, 47, 239, -133, + 51, -134, -129, 52, 17, -144, -171, -84, 87, -47, + 318, -237, 53, -244, 58, 317, 320, -126, 49, -124, + 48, -124, -132, 17, -135, 44, 45, 87, 80, -48, + 198, 407, 186, -241, 58, -127, 50, 72, 99, 87, + 17, 17, -139, 166, 187, 318, 72, 99, 87, 87, + 82, 200, -258, 319, -249, -250, 72, -95, 183, 320, + -250, 72, 11, 10, -259, -259, -248, 174, 169, 172, + 31, -248, 168, 30, 96, } var yyDef = [...]int{ 32, -2, 2, 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, 670, 0, 409, 409, 409, 409, 409, 409, 409, + 31, 671, 0, 410, 410, 410, 410, 410, 410, 410, 0, 0, -2, -2, 0, 36, 0, 0, 0, 0, - -2, 367, 368, 0, 370, -2, 0, 0, 379, 1156, - 1156, 1156, 0, 0, 0, 0, 1154, 53, 54, 385, - 386, 387, 1, 3, 0, 413, 678, 0, 0, -2, - 411, 0, 0, 785, 785, 785, 0, 82, 83, 0, - 0, 0, 694, 783, 0, 783, 0, 803, 804, 805, + -2, 368, 369, 0, 371, -2, 0, 0, 380, 1158, + 1158, 1158, 0, 0, 0, 0, 1156, 53, 54, 386, + 387, 388, 1, 3, 0, 414, 679, 0, 0, -2, + 412, 0, 0, 786, 786, 786, 0, 82, 83, 0, + 0, 0, 695, 784, 0, 784, 0, 804, 805, 806, 101, 102, 86, -2, 106, 107, 0, 111, 100, 0, - 0, 0, 110, 37, 33, 34, 35, 0, 781, 0, - 781, 781, 0, 310, 493, 813, 814, 942, 943, 944, - 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, - 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, - 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, - 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, - 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, - 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, - 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, - 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, - 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, - 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, - 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, - 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, - 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, - 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, - 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, - 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, - 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, - 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, - 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, - 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, - 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 0, - 0, 358, 358, 358, 358, 358, 358, 0, 0, 0, - 0, 0, 0, 0, 333, 0, 335, 0, 0, 342, - 358, 1157, 364, 365, 352, 350, 347, 348, 366, 369, - 0, 374, 377, 809, 810, 0, 392, 0, 996, 384, - 397, 398, 408, 38, 544, 503, 0, 509, 511, 0, - 546, 547, 548, 549, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 576, 577, 578, 579, 655, - 656, 657, 658, 659, 660, 661, 662, 513, 514, 652, - 0, 762, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 643, 0, 613, 613, 613, 613, 613, 613, 613, - 613, 0, 0, 0, 0, 0, 0, 0, -2, -2, - 1156, 0, 407, 670, 49, 0, 409, 414, 415, 713, - 0, 0, 670, 1155, 0, 0, -2, -2, 425, 431, - 432, 433, 434, 410, 0, 437, 441, 0, 0, 0, - 786, 0, 0, 68, 0, 1127, 766, -2, -2, 0, - 0, 811, 812, -2, 958, -2, 817, 818, 819, 820, - 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, - 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, - 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, - 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, - 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, - 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, - 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, - 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, - 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, - 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, - 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, - 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, - 941, 0, 0, 118, 119, 0, 0, 240, 960, 116, - 0, 234, 175, 707, 0, 0, 0, 0, 0, 88, - 108, 109, 0, 217, 0, 1157, 0, 0, 0, 0, - -2, 0, 302, 0, 0, 0, 0, 0, 0, 309, - 0, 311, 358, 313, 0, 0, 314, 315, 316, 317, - 318, 358, 0, 358, 358, 358, 358, 355, 0, 355, - 353, 354, 345, 346, 1157, 1157, 1157, 1157, 0, 1157, - 1157, 0, 225, 226, 227, 361, 339, 340, 343, 344, - 1158, 1159, 375, 378, 395, 393, 394, 396, 388, 389, - 390, 391, 0, 0, 0, 0, 0, 0, 507, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, - 533, 534, 535, 536, 537, 510, 0, 524, 0, 0, - 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, - 0, 422, 0, 0, 0, 670, 0, 0, 0, 0, - 0, 0, 0, 419, 0, 644, 0, 597, 605, 0, - 598, 606, 599, 607, 600, 0, 601, 608, 602, 609, - 603, 604, 610, 0, 0, 0, 422, 422, 0, 0, - 39, 399, 400, 0, 476, 678, 0, 424, 716, 0, - 0, 679, 671, 672, 675, 678, 0, 446, 435, 426, - 429, 430, 412, 0, 438, 442, 0, 444, 445, 0, - 0, 66, 0, 492, 0, 448, 450, 451, 452, 474, - 0, 0, 0, 0, 62, 64, 493, 0, 1127, 772, - 0, 70, 71, 0, 0, 0, 198, 776, 777, 778, - 774, 257, 0, 0, 186, 182, 126, 127, 128, 175, - 130, 175, 175, 175, 175, 195, 195, 195, 195, 158, - 159, 160, 161, 162, 0, 0, 145, 175, 175, 175, - 175, 165, 166, 167, 168, 169, 170, 171, 172, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 177, 177, - 177, 179, 179, 0, 0, 209, 0, 675, 0, 698, - 0, 0, 97, 0, 806, 99, 217, 0, 218, 1156, - 0, 0, 797, 272, 787, 788, 789, 790, 791, 792, - 793, 794, 795, 796, 0, 271, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 305, 782, 0, 1157, 308, - 494, 815, 816, 312, 359, 360, 319, 336, 320, 322, - 321, 323, 358, 0, 0, 0, 228, 229, 358, 326, - 327, 328, 329, 330, 331, 332, 0, 338, 0, 0, - 0, 376, 380, 381, 382, 383, 545, 504, 505, 506, - 508, 525, 0, 527, 529, 515, 516, 540, 541, 542, - 0, 0, 0, 0, 538, 520, 0, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 565, - 628, 629, 0, 563, 564, 575, 0, 0, 0, 423, - 653, 0, -2, 0, 543, 761, 678, 0, 0, 0, - 0, 548, 655, 0, 548, 655, 0, 0, 0, 420, - 421, 650, 647, 0, 0, 652, 0, 614, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 402, 403, 405, - 0, 496, 1065, 477, 0, 479, 480, 713, 50, 40, - 0, 714, 0, 0, 0, 0, 674, 676, 677, 713, - 0, 663, 0, 0, 501, 0, 0, 427, 46, 443, - 439, 0, 501, 0, 0, 491, 0, 0, 0, 0, - 0, 0, 481, 0, 0, 484, 0, 0, 0, 0, - 475, 0, 0, 0, -2, 0, 0, 0, 60, 61, - 0, 0, 0, 767, 69, 0, 0, 74, 75, 768, - 769, 770, 771, 0, 103, 258, 260, 263, 264, 265, - 120, 122, 123, 0, 0, 238, 1075, 1109, 997, 232, - 232, 995, 245, 230, 231, 117, 189, 187, 0, 184, - 183, 129, 195, 195, 152, 153, 198, 0, 198, 198, - 198, 0, 0, 146, 147, 148, 149, 140, 0, 141, - 142, 143, 0, 144, 239, 0, 0, 682, 210, 211, - 213, 217, 0, 0, 0, 235, 236, 0, 0, 0, - 0, 695, 696, 697, 784, 0, 807, 0, 114, 115, - 266, 1156, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 1156, 0, 1156, 798, - 799, 800, 801, 0, 89, 276, 278, 277, 281, 0, - 0, 0, 0, 303, 1157, 307, 324, 356, 357, 355, - 337, 355, 362, 341, 372, 526, 528, 530, 517, 538, - 521, 0, 518, 0, 0, 512, 580, 0, 0, 422, - 0, 670, 713, 584, 585, 0, 0, 0, 0, 0, - 621, 0, 0, 622, 0, 670, 0, 648, 0, 0, - 596, 0, 615, 0, 0, 616, 617, 618, 619, 620, - 401, 404, 406, 456, 0, 0, 0, 0, 478, 42, - 0, 0, 0, 680, 681, 673, 41, 0, 779, 780, - 664, 665, 666, 0, 436, 447, 428, 0, 678, 755, - 0, 0, 747, 0, 0, 501, 763, 0, 449, 470, - 472, 0, 467, 482, 483, 485, 0, 487, 0, 489, - 490, 453, 454, 455, 0, 501, 0, 501, 63, 501, - 65, 0, 495, 72, 73, 0, 0, 79, 199, 200, - 0, 261, 0, 121, 0, 0, 219, 232, 232, 232, - 223, 233, 224, 0, 191, 0, 188, 125, 185, 198, - 198, 154, 0, 155, 156, 157, 0, 173, 0, 0, - 0, 254, 84, 686, 685, 217, 217, 212, 0, 215, - 0, 808, 176, 0, 0, 708, 709, 0, 712, 0, - 112, 113, 267, 268, 269, 270, 0, 92, 0, 0, - 0, 0, 274, 0, 306, 358, 358, 519, 0, 539, - 522, 581, 582, 0, 654, 678, 44, 0, 175, 175, - 633, 175, 179, 636, 175, 638, 175, 641, 0, 0, - 0, 0, 0, 0, 0, 645, 595, 651, 0, 653, - 0, 0, 0, 0, 0, 0, 462, 0, 195, 718, - 715, 43, 668, 0, 502, 440, 47, 51, 0, 755, - 746, 757, 759, 0, 0, 0, 751, 0, 670, 0, - 0, 464, 471, 0, 0, 465, 0, 466, 486, 488, - -2, 670, 501, 58, 59, 0, 76, 77, 78, 259, - 262, 0, 237, 0, 220, 221, 222, 0, 193, 0, - 190, 150, 151, 196, 197, 195, 0, 195, 0, 180, - 0, 246, 255, 0, 683, 684, 0, 0, 214, 216, - 458, 699, 700, 701, 0, 711, 98, 0, 275, 0, - 90, 91, 0, 0, 280, 304, 325, 334, 523, 583, - 713, 586, 630, 195, 634, 635, 637, 639, 640, 642, - 588, 587, 0, 0, 0, 0, 0, 678, 0, 649, - 0, 0, 0, 0, 0, 476, 0, 195, 738, 48, - 0, 0, 0, 52, 0, 760, 0, 0, 0, 0, - 67, 678, 764, 765, 468, 0, 473, 678, 57, 209, - 0, 460, 201, 194, 0, 198, 174, 198, 0, 0, - 256, 687, 688, 689, 690, 691, 692, 693, 0, 0, - 710, 0, 93, 94, 0, 0, 0, 45, 631, 632, - 0, 0, 0, 0, 623, 0, 646, 0, 0, 0, - 498, 0, 0, 496, 463, 720, 719, 732, 736, 669, - 667, 0, 758, 0, 750, 753, 749, 752, 55, 0, - 56, 208, 0, 0, 206, 0, 203, 205, 192, 163, - 164, 178, 181, 0, 0, 0, 298, 0, 0, 0, - 0, 282, 589, 591, 590, 592, 0, 0, 0, 594, - 611, 612, 497, 499, 500, 457, 738, 0, 731, 734, - -2, 0, 0, 748, 0, 469, 0, 461, 124, 0, - 202, 204, 702, 459, 297, 0, 0, 95, 96, 89, - 593, 0, 0, 0, 725, 723, 723, 736, 0, 740, - 0, 745, 0, 756, 754, 0, 207, 85, 704, 299, - 0, 92, 624, 0, 627, 728, 0, 721, 724, 722, - 733, 0, 739, 0, 0, 737, 0, 0, 705, 706, - 0, 279, 625, 717, 0, 726, 727, 735, 0, 0, - 0, 0, 0, 0, 729, 730, 741, 743, 241, 703, - 0, 0, 242, 243, 0, 0, 0, 626, 244, 0, - 0, 0, 300, 301, 247, 249, 250, 0, 0, 248, - 251, 252, 253, + 0, 0, 110, 37, 33, 34, 35, 0, 782, 0, + 782, 782, 0, 310, 494, 814, 815, 943, 944, 945, + 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, + 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, + 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, + 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, + 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, + 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, + 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, + 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, + 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, + 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, + 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, + 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, + 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, + 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, + 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, + 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, + 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, + 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, + 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, + 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, + 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, + 0, 0, 359, 359, 359, 359, 359, 359, 319, 0, + 0, 0, 0, 0, 0, 0, 334, 0, 336, 0, + 0, 343, 359, 1159, 365, 366, 353, 351, 348, 349, + 367, 370, 0, 375, 378, 810, 811, 0, 393, 0, + 997, 385, 398, 399, 409, 38, 545, 504, 0, 510, + 512, 0, 547, 548, 549, 550, 551, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 577, 578, 579, + 580, 656, 657, 658, 659, 660, 661, 662, 663, 514, + 515, 653, 0, 763, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 644, 0, 614, 614, 614, 614, 614, + 614, 614, 614, 0, 0, 0, 0, 0, 0, 0, + -2, -2, 1158, 0, 408, 671, 49, 0, 410, 415, + 416, 714, 0, 0, 671, 1157, 0, 0, -2, -2, + 426, 432, 433, 434, 435, 411, 0, 438, 442, 0, + 0, 0, 787, 0, 0, 68, 0, 1129, 767, -2, + -2, 0, 0, 812, 813, -2, 959, -2, 818, 819, + 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, + 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, + 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, + 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, + 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, + 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, + 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, + 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, + 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, + 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, + 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, + 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, + 940, 941, 942, 0, 0, 118, 119, 0, 0, 240, + 961, 116, 0, 234, 175, 708, 0, 0, 0, 0, + 0, 88, 108, 109, 0, 217, 0, 1159, 0, 0, + 0, 0, -2, 0, 302, 0, 0, 0, 0, 0, + 0, 309, 0, 311, 359, 313, 0, 0, 314, 315, + 316, 317, 318, 359, 0, 359, 359, 359, 359, 356, + 0, 356, 354, 355, 346, 347, 1159, 1159, 1159, 1159, + 0, 1159, 1159, 0, 225, 226, 227, 362, 340, 341, + 344, 345, 1160, 1161, 376, 379, 396, 394, 395, 397, + 389, 390, 391, 392, 0, 0, 0, 0, 0, 0, + 508, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 532, 533, 534, 535, 536, 537, 538, 511, 0, 525, + 0, 0, 0, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 0, 423, 0, 0, 0, 671, 0, 0, + 0, 0, 0, 0, 0, 420, 0, 645, 0, 598, + 606, 0, 599, 607, 600, 608, 601, 0, 602, 609, + 603, 610, 604, 605, 611, 0, 0, 0, 423, 423, + 0, 0, 39, 400, 401, 0, 477, 679, 0, 425, + 717, 0, 0, 680, 672, 673, 676, 679, 0, 447, + 436, 427, 430, 431, 413, 0, 439, 443, 0, 445, + 446, 0, 0, 66, 0, 493, 0, 449, 451, 452, + 453, 475, 0, 0, 0, 0, 62, 64, 494, 0, + 1129, 773, 0, 70, 71, 0, 0, 0, 198, 777, + 778, 779, 775, 257, 0, 0, 186, 182, 126, 127, + 128, 175, 130, 175, 175, 175, 175, 195, 195, 195, + 195, 158, 159, 160, 161, 162, 0, 0, 145, 175, + 175, 175, 175, 165, 166, 167, 168, 169, 170, 171, + 172, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 177, 177, 177, 179, 179, 0, 0, 209, 0, 676, + 0, 699, 0, 0, 97, 0, 807, 99, 217, 0, + 218, 1158, 0, 0, 798, 272, 788, 789, 790, 791, + 792, 793, 794, 795, 796, 797, 0, 271, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 305, 783, 0, + 1159, 308, 495, 816, 817, 312, 360, 361, 320, 337, + 321, 323, 322, 324, 359, 0, 0, 0, 228, 229, + 359, 327, 328, 329, 330, 331, 332, 333, 0, 339, + 0, 0, 0, 377, 381, 382, 383, 384, 546, 505, + 506, 507, 509, 526, 0, 528, 530, 516, 517, 541, + 542, 543, 0, 0, 0, 0, 539, 521, 0, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 566, 629, 630, 0, 564, 565, 576, 0, 0, + 0, 424, 654, 0, -2, 0, 544, 762, 679, 0, + 0, 0, 0, 549, 656, 0, 549, 656, 0, 0, + 0, 421, 422, 651, 648, 0, 0, 653, 0, 615, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, + 404, 406, 0, 497, 1066, 478, 0, 480, 481, 714, + 50, 40, 0, 715, 0, 0, 0, 0, 675, 677, + 678, 714, 0, 664, 0, 0, 502, 0, 0, 428, + 46, 444, 440, 0, 502, 0, 0, 492, 0, 0, + 0, 0, 0, 0, 482, 0, 0, 485, 0, 0, + 0, 0, 476, 0, 0, 0, -2, 0, 0, 0, + 60, 61, 0, 0, 0, 768, 69, 0, 0, 74, + 75, 769, 770, 771, 772, 0, 103, 258, 260, 263, + 264, 265, 120, 122, 123, 0, 0, 238, 1077, 1111, + 998, 232, 232, 996, 245, 230, 231, 117, 189, 187, + 0, 184, 183, 129, 195, 195, 152, 153, 198, 0, + 198, 198, 198, 0, 0, 146, 147, 148, 149, 140, + 0, 141, 142, 143, 0, 144, 239, 0, 0, 683, + 210, 211, 213, 217, 0, 0, 0, 235, 236, 0, + 0, 0, 0, 696, 697, 698, 785, 0, 808, 0, + 114, 115, 266, 1158, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 1158, 0, + 1158, 799, 800, 801, 802, 0, 89, 276, 278, 277, + 281, 0, 0, 0, 0, 303, 1159, 307, 325, 357, + 358, 356, 338, 356, 363, 342, 373, 527, 529, 531, + 518, 539, 522, 0, 519, 0, 0, 513, 581, 0, + 0, 423, 0, 671, 714, 585, 586, 0, 0, 0, + 0, 0, 622, 0, 0, 623, 0, 671, 0, 649, + 0, 0, 597, 0, 616, 0, 0, 617, 618, 619, + 620, 621, 402, 405, 407, 457, 0, 0, 0, 0, + 479, 42, 0, 0, 0, 681, 682, 674, 41, 0, + 780, 781, 665, 666, 667, 0, 437, 448, 429, 0, + 679, 756, 0, 0, 748, 0, 0, 502, 764, 0, + 450, 471, 473, 0, 468, 483, 484, 486, 0, 488, + 0, 490, 491, 454, 455, 456, 0, 502, 0, 502, + 63, 502, 65, 0, 496, 72, 73, 0, 0, 79, + 199, 200, 0, 261, 0, 121, 0, 0, 219, 232, + 232, 232, 223, 233, 224, 0, 191, 0, 188, 125, + 185, 198, 198, 154, 0, 155, 156, 157, 0, 173, + 0, 0, 0, 254, 84, 687, 686, 217, 217, 212, + 0, 215, 0, 809, 176, 0, 0, 709, 710, 0, + 713, 0, 112, 113, 267, 268, 269, 270, 0, 92, + 0, 0, 0, 0, 274, 0, 306, 359, 359, 520, + 0, 540, 523, 582, 583, 0, 655, 679, 44, 0, + 175, 175, 634, 175, 179, 637, 175, 639, 175, 642, + 0, 0, 0, 0, 0, 0, 0, 646, 596, 652, + 0, 654, 0, 0, 0, 0, 0, 0, 463, 0, + 195, 719, 716, 43, 669, 0, 503, 441, 47, 51, + 0, 756, 747, 758, 760, 0, 0, 0, 752, 0, + 671, 0, 0, 465, 472, 0, 0, 466, 0, 467, + 487, 489, -2, 671, 502, 58, 59, 0, 76, 77, + 78, 259, 262, 0, 237, 0, 220, 221, 222, 0, + 193, 0, 190, 150, 151, 196, 197, 195, 0, 195, + 0, 180, 0, 246, 255, 0, 684, 685, 0, 0, + 214, 216, 459, 700, 701, 702, 0, 712, 98, 0, + 275, 0, 90, 91, 0, 0, 280, 304, 326, 335, + 524, 584, 714, 587, 631, 195, 635, 636, 638, 640, + 641, 643, 589, 588, 0, 0, 0, 0, 0, 679, + 0, 650, 0, 0, 0, 0, 0, 477, 0, 195, + 739, 48, 0, 0, 0, 52, 0, 761, 0, 0, + 0, 0, 67, 679, 765, 766, 469, 0, 474, 679, + 57, 209, 0, 461, 201, 194, 0, 198, 174, 198, + 0, 0, 256, 688, 689, 690, 691, 692, 693, 694, + 0, 0, 711, 0, 93, 94, 0, 0, 0, 45, + 632, 633, 0, 0, 0, 0, 624, 0, 647, 0, + 0, 0, 499, 0, 0, 497, 464, 721, 720, 733, + 737, 670, 668, 0, 759, 0, 751, 754, 750, 753, + 55, 0, 56, 208, 0, 0, 206, 0, 203, 205, + 192, 163, 164, 178, 181, 0, 0, 0, 298, 0, + 0, 0, 0, 282, 590, 592, 591, 593, 0, 0, + 0, 595, 612, 613, 498, 500, 501, 458, 739, 0, + 732, 735, -2, 0, 0, 749, 0, 470, 0, 462, + 124, 0, 202, 204, 703, 460, 297, 0, 0, 95, + 96, 89, 594, 0, 0, 0, 726, 724, 724, 737, + 0, 741, 0, 746, 0, 757, 755, 0, 207, 85, + 705, 299, 0, 92, 625, 0, 628, 729, 0, 722, + 725, 723, 734, 0, 740, 0, 0, 738, 0, 0, + 706, 707, 0, 279, 626, 718, 0, 727, 728, 736, + 0, 0, 0, 0, 0, 0, 730, 731, 742, 744, + 241, 704, 0, 0, 242, 243, 0, 0, 0, 627, + 244, 0, 0, 0, 300, 301, 247, 249, 250, 0, + 0, 248, 251, 252, 253, } var yyTok1 = [...]int{ @@ -3864,7 +3850,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 104, 3, 3, 3, 131, 123, 3, 80, 82, 128, 126, 81, 127, 143, 129, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 408, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 409, 112, 111, 113, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -3930,7 +3916,7 @@ var yyTok3 = [...]int{ 57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394, 57720, 395, 57721, 396, 57722, 397, 57723, 398, 57724, 399, 57725, 400, 57726, 401, 57727, 402, 57728, 403, 57729, 404, - 57730, 405, 57731, 406, 57732, 407, 0, + 57730, 405, 57731, 406, 57732, 407, 57733, 408, 0, } var yyErrorMessages = [...]struct { @@ -6019,82 +6005,82 @@ yydefault: yyVAL.statement = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilter}} } case 319: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1835 { - yyVAL.statement = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: Privilege}} } case 320: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1839 { - yyVAL.statement = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilter}} } case 321: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1843 { - yyVAL.statement = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilter}} } case 322: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1847 { - yyVAL.statement = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilter}} } case 323: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1851 { - yyVAL.statement = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilter}} } case 324: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1855 { - yyVAL.statement = &Show{&ShowTableStatus{DatabaseName: yyDollar[4].str, Filter: yyDollar[5].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilter}} } case 325: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1859 { - yyVAL.statement = &Show{&ShowColumns{Full: yyDollar[2].str, Table: yyDollar[5].tableName, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter}} + yyVAL.statement = &Show{&ShowTableStatus{DatabaseName: yyDollar[4].str, Filter: yyDollar[5].showFilter}} } case 326: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-7 : yypt+1] //line sql.y:1863 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowColumns{Full: yyDollar[2].str, Table: yyDollar[5].tableName, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter}} } case 327: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1867 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} } case 328: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1872 +//line sql.y:1871 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 329: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1876 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} } case 330: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1880 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 331: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1884 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } case 332: yyDollar = yyS[yypt-4 : yypt+1] @@ -6103,33 +6089,39 @@ yydefault: yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 333: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1892 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 334: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1896 + { + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} + } + case 335: + yyDollar = yyS[yypt-7 : yypt+1] +//line sql.y:1900 { showTablesOpt := &ShowTablesOpt{DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} yyVAL.statement = &Show{&ShowLegacy{Extended: string(yyDollar[2].str), Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} } - case 335: + case 336: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1901 +//line sql.y:1905 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 336: + case 337: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1905 +//line sql.y:1909 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } - case 337: + case 338: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1909 +//line sql.y:1913 { // this is ugly, but I couldn't find a better way for now if yyDollar[3].str == "processlist" { @@ -6139,58 +6131,52 @@ yydefault: yyVAL.statement = &Show{&ShowLegacy{Type: yyDollar[3].str, ShowTablesOpt: showTablesOpt, Scope: ImplicitScope}} } } - case 338: + case 339: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1919 +//line sql.y:1923 { showTablesOpt := &ShowTablesOpt{Filter: yyDollar[4].showFilter} yyVAL.statement = &Show{&ShowLegacy{Scope: VitessMetadataScope, Type: string(yyDollar[3].bytes), ShowTablesOpt: showTablesOpt}} } - case 339: + case 340: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1924 +//line sql.y:1928 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 340: + case 341: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1928 +//line sql.y:1932 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 341: + case 342: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1932 +//line sql.y:1936 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} } - case 342: + case 343: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1936 +//line sql.y:1940 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 343: + case 344: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1941 +//line sql.y:1945 { // This should probably be a different type (ShowVitessTopoOpt), but // just getting the thing working for now showTablesOpt := &ShowTablesOpt{Filter: yyDollar[3].showFilter} yyVAL.statement = &Show{&ShowLegacy{Type: yyDollar[2].str, ShowTablesOpt: showTablesOpt}} } - case 344: + case 345: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1955 +//line sql.y:1959 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].colIdent.String()), Scope: ImplicitScope}} } - case 345: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1961 - { - yyVAL.str = string(yyDollar[1].bytes) - } case 346: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:1965 @@ -6199,7 +6185,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1971 +//line sql.y:1969 { yyVAL.str = string(yyDollar[1].bytes) } @@ -6210,34 +6196,34 @@ yydefault: yyVAL.str = string(yyDollar[1].bytes) } case 349: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1981 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:1979 { - yyVAL.str = "" + yyVAL.str = string(yyDollar[1].bytes) } case 350: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1985 { - yyVAL.str = "extended " + yyVAL.str = "" } case 351: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1991 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:1989 { - yyVAL.str = "" + yyVAL.str = "extended " } case 352: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:1995 { - yyVAL.str = "full " + yyVAL.str = "" } case 353: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2001 +//line sql.y:1999 { - yyVAL.str = string(yyDollar[1].bytes) + yyVAL.str = "full " } case 354: yyDollar = yyS[yypt-1 : yypt+1] @@ -6246,16 +6232,16 @@ yydefault: yyVAL.str = string(yyDollar[1].bytes) } case 355: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2011 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2009 { - yyVAL.str = "" + yyVAL.str = string(yyDollar[1].bytes) } case 356: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2015 { - yyVAL.str = yyDollar[2].tableIdent.v + yyVAL.str = "" } case 357: yyDollar = yyS[yypt-2 : yypt+1] @@ -6264,43 +6250,43 @@ yydefault: yyVAL.str = yyDollar[2].tableIdent.v } case 358: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2025 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2023 { - yyVAL.showFilter = nil + yyVAL.str = yyDollar[2].tableIdent.v } case 359: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2029 { - yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} + yyVAL.showFilter = nil } case 360: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2033 { - yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} + yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } case 361: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2039 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2037 { - yyVAL.showFilter = nil + yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } case 362: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2043 { - yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} + yyVAL.showFilter = nil } case 363: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2049 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2047 { - yyVAL.empty = struct{}{} + yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } case 364: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2053 { yyVAL.empty = struct{}{} @@ -6312,124 +6298,124 @@ yydefault: yyVAL.empty = struct{}{} } case 366: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2063 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2061 { - yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} + yyVAL.empty = struct{}{} } case 367: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2067 { - yyVAL.statement = &Use{DBName: TableIdent{v: ""}} + yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } case 368: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2073 +//line sql.y:2071 { - yyVAL.statement = &Begin{} + yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } case 369: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2077 { yyVAL.statement = &Begin{} } case 370: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2081 + { + yyVAL.statement = &Begin{} + } + case 371: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2083 +//line sql.y:2087 { yyVAL.statement = &Commit{} } - case 371: + case 372: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2089 +//line sql.y:2093 { yyVAL.statement = &Rollback{} } - case 372: + case 373: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2093 +//line sql.y:2097 { yyVAL.statement = &SRollback{Name: yyDollar[5].colIdent} } - case 373: + case 374: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2098 +//line sql.y:2102 { yyVAL.empty = struct{}{} } - case 374: + case 375: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2100 +//line sql.y:2104 { yyVAL.empty = struct{}{} } - case 375: + case 376: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2103 +//line sql.y:2107 { yyVAL.empty = struct{}{} } - case 376: + case 377: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2105 +//line sql.y:2109 { yyVAL.empty = struct{}{} } - case 377: + case 378: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2110 +//line sql.y:2114 { yyVAL.statement = &Savepoint{Name: yyDollar[2].colIdent} } - case 378: + case 379: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2116 +//line sql.y:2120 { yyVAL.statement = &Release{Name: yyDollar[3].colIdent} } - case 379: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2121 - { - yyVAL.explainType = EmptyType - } case 380: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2125 { - yyVAL.explainType = JSONType + yyVAL.explainType = EmptyType } case 381: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2129 { - yyVAL.explainType = TreeType + yyVAL.explainType = JSONType } case 382: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2133 { - yyVAL.explainType = VitessType + yyVAL.explainType = TreeType } case 383: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2137 { - yyVAL.explainType = TraditionalType + yyVAL.explainType = VitessType } case 384: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2141 { - yyVAL.explainType = AnalyzeType + yyVAL.explainType = TraditionalType } case 385: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2147 +//line sql.y:2145 { - yyVAL.bytes = yyDollar[1].bytes + yyVAL.explainType = AnalyzeType } case 386: yyDollar = yyS[yypt-1 : yypt+1] @@ -6445,15 +6431,15 @@ yydefault: } case 388: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2161 +//line sql.y:2159 { - yyVAL.statement = yyDollar[1].selStmt + yyVAL.bytes = yyDollar[1].bytes } case 389: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2165 { - yyVAL.statement = yyDollar[1].statement + yyVAL.statement = yyDollar[1].selStmt } case 390: yyDollar = yyS[yypt-1 : yypt+1] @@ -6468,13 +6454,13 @@ yydefault: yyVAL.statement = yyDollar[1].statement } case 392: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2178 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2177 { - yyVAL.str = "" + yyVAL.statement = yyDollar[1].statement } case 393: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2182 { yyVAL.str = "" @@ -6486,22 +6472,22 @@ yydefault: yyVAL.str = "" } case 395: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2192 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2190 { - yyVAL.statement = &OtherRead{} + yyVAL.str = "" } case 396: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2196 { - yyVAL.statement = &Explain{Type: yyDollar[2].explainType, Statement: yyDollar[3].statement} + yyVAL.statement = &OtherRead{} } case 397: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2202 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2200 { - yyVAL.statement = &OtherAdmin{} + yyVAL.statement = &Explain{Type: yyDollar[2].explainType, Statement: yyDollar[3].statement} } case 398: yyDollar = yyS[yypt-2 : yypt+1] @@ -6510,203 +6496,203 @@ yydefault: yyVAL.statement = &OtherAdmin{} } case 399: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2210 + { + yyVAL.statement = &OtherAdmin{} + } + case 400: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2212 +//line sql.y:2216 { yyVAL.statement = &LockTables{Tables: yyDollar[3].tableAndLockTypes} } - case 400: + case 401: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2218 +//line sql.y:2222 { yyVAL.tableAndLockTypes = TableAndLockTypes{yyDollar[1].tableAndLockType} } - case 401: + case 402: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2222 +//line sql.y:2226 { yyVAL.tableAndLockTypes = append(yyDollar[1].tableAndLockTypes, yyDollar[3].tableAndLockType) } - case 402: + case 403: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2228 +//line sql.y:2232 { yyVAL.tableAndLockType = &TableAndLockType{Table: yyDollar[1].aliasedTableName, Lock: yyDollar[2].lockType} } - case 403: + case 404: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2234 +//line sql.y:2238 { yyVAL.lockType = Read } - case 404: + case 405: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2238 +//line sql.y:2242 { yyVAL.lockType = ReadLocal } - case 405: + case 406: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2242 +//line sql.y:2246 { yyVAL.lockType = Write } - case 406: + case 407: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2246 +//line sql.y:2250 { yyVAL.lockType = LowPriorityWrite } - case 407: + case 408: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2252 +//line sql.y:2256 { yyVAL.statement = &UnlockTables{} } - case 408: + case 409: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2258 +//line sql.y:2262 { yyVAL.statement = &DDL{Action: FlushDDLAction} } - case 409: + case 410: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2262 +//line sql.y:2266 { setAllowComments(yylex, true) } - case 410: + case 411: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2266 +//line sql.y:2270 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } - case 411: + case 412: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2272 +//line sql.y:2276 { yyVAL.bytes2 = nil } - case 412: + case 413: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2276 +//line sql.y:2280 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } - case 413: + case 414: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2282 +//line sql.y:2286 { yyVAL.boolean = true } - case 414: + case 415: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2286 +//line sql.y:2290 { yyVAL.boolean = false } - case 415: + case 416: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2290 +//line sql.y:2294 { yyVAL.boolean = true } - case 416: + case 417: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2295 +//line sql.y:2299 { yyVAL.str = "" } - case 417: + case 418: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2299 +//line sql.y:2303 { yyVAL.str = SQLNoCacheStr } - case 418: + case 419: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2303 +//line sql.y:2307 { yyVAL.str = SQLCacheStr } - case 419: + case 420: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2308 +//line sql.y:2312 { yyVAL.boolean = false } - case 420: + case 421: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2312 +//line sql.y:2316 { yyVAL.boolean = true } - case 421: + case 422: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2316 +//line sql.y:2320 { yyVAL.boolean = true } - case 422: + case 423: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2321 +//line sql.y:2325 { yyVAL.selectExprs = nil } - case 423: + case 424: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2325 +//line sql.y:2329 { yyVAL.selectExprs = yyDollar[1].selectExprs } - case 424: + case 425: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2330 +//line sql.y:2334 { yyVAL.strs = nil } - case 425: + case 426: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2334 +//line sql.y:2338 { yyVAL.strs = []string{yyDollar[1].str} } - case 426: + case 427: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2338 +//line sql.y:2342 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } - case 427: + case 428: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2342 +//line sql.y:2346 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } - case 428: + case 429: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2346 +//line sql.y:2350 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } - case 429: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2352 - { - yyVAL.str = SQLNoCacheStr - } case 430: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2356 { - yyVAL.str = SQLCacheStr + yyVAL.str = SQLNoCacheStr } case 431: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2360 { - yyVAL.str = DistinctStr + yyVAL.str = SQLCacheStr } case 432: yyDollar = yyS[yypt-1 : yypt+1] @@ -6718,176 +6704,176 @@ yydefault: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2368 { - yyVAL.str = StraightJoinHint + yyVAL.str = DistinctStr } case 434: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2372 { - yyVAL.str = SQLCalcFoundRowsStr + yyVAL.str = StraightJoinHint } case 435: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2378 +//line sql.y:2376 { - yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} + yyVAL.str = SQLCalcFoundRowsStr } case 436: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2382 { - yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[3].selectExpr) + yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } case 437: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2386 + { + yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[3].selectExpr) + } + case 438: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2388 +//line sql.y:2392 { yyVAL.selectExpr = &StarExpr{} } - case 438: + case 439: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2392 +//line sql.y:2396 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } - case 439: + case 440: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2396 +//line sql.y:2400 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 440: + case 441: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2400 +//line sql.y:2404 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 441: + case 442: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2405 +//line sql.y:2409 { yyVAL.colIdent = ColIdent{} } - case 442: + case 443: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2409 +//line sql.y:2413 { yyVAL.colIdent = yyDollar[1].colIdent } - case 443: + case 444: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2413 +//line sql.y:2417 { yyVAL.colIdent = yyDollar[2].colIdent } - case 445: + case 446: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2420 +//line sql.y:2424 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 446: + case 447: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2425 +//line sql.y:2429 { yyVAL.tableExprs = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } - case 447: + case 448: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2429 +//line sql.y:2433 { yyVAL.tableExprs = yyDollar[2].tableExprs } - case 448: + case 449: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2435 +//line sql.y:2439 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 449: + case 450: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2439 +//line sql.y:2443 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } - case 452: + case 453: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2449 +//line sql.y:2453 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } - case 453: + case 454: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2453 +//line sql.y:2457 { yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].derivedTable, As: yyDollar[3].tableIdent} } - case 454: + case 455: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2457 +//line sql.y:2461 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } - case 455: + case 456: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2463 +//line sql.y:2467 { yyVAL.derivedTable = &DerivedTable{yyDollar[2].selStmt} } - case 456: + case 457: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2469 +//line sql.y:2473 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } - case 457: + case 458: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2473 +//line sql.y:2477 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitions, As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHints} } - case 458: + case 459: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2478 +//line sql.y:2482 { yyVAL.columns = nil } - case 459: + case 460: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2482 +//line sql.y:2486 { yyVAL.columns = yyDollar[2].columns } - case 460: + case 461: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2488 +//line sql.y:2492 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 461: + case 462: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2492 +//line sql.y:2496 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 462: + case 463: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2498 +//line sql.y:2502 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } - case 463: + case 464: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2502 +//line sql.y:2506 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } - case 464: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2515 - { - yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} - } case 465: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2519 @@ -6901,91 +6887,91 @@ yydefault: yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } case 467: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2527 { - yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr} + yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } case 468: + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2531 + { + yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr} + } + case 469: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2533 +//line sql.y:2537 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 469: + case 470: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2535 +//line sql.y:2539 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } - case 470: + case 471: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2539 +//line sql.y:2543 { yyVAL.joinCondition = JoinCondition{} } - case 471: + case 472: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2541 +//line sql.y:2545 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 472: + case 473: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2545 +//line sql.y:2549 { yyVAL.joinCondition = JoinCondition{} } - case 473: + case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2547 +//line sql.y:2551 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 474: + case 475: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2550 +//line sql.y:2554 { yyVAL.empty = struct{}{} } - case 475: + case 476: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2552 +//line sql.y:2556 { yyVAL.empty = struct{}{} } - case 476: + case 477: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2555 +//line sql.y:2559 { yyVAL.tableIdent = NewTableIdent("") } - case 477: + case 478: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2559 +//line sql.y:2563 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 478: + case 479: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2563 +//line sql.y:2567 { yyVAL.tableIdent = yyDollar[2].tableIdent } - case 480: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2570 - { - yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) - } case 481: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2576 +//line sql.y:2574 { - yyVAL.joinType = NormalJoinType + yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } case 482: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2580 { yyVAL.joinType = NormalJoinType @@ -6997,44 +6983,50 @@ yydefault: yyVAL.joinType = NormalJoinType } case 484: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2590 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2588 { - yyVAL.joinType = StraightJoinType + yyVAL.joinType = NormalJoinType } case 485: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2596 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2594 { - yyVAL.joinType = LeftJoinType + yyVAL.joinType = StraightJoinType } case 486: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2600 { yyVAL.joinType = LeftJoinType } case 487: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2604 { - yyVAL.joinType = RightJoinType + yyVAL.joinType = LeftJoinType } case 488: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2608 { yyVAL.joinType = RightJoinType } case 489: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2614 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2612 { - yyVAL.joinType = NaturalJoinType + yyVAL.joinType = RightJoinType } case 490: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2618 + { + yyVAL.joinType = NaturalJoinType + } + case 491: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2622 { if yyDollar[2].joinType == LeftJoinType { yyVAL.joinType = NaturalLeftJoinType @@ -7042,419 +7034,413 @@ yydefault: yyVAL.joinType = NaturalRightJoinType } } - case 491: + case 492: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2628 +//line sql.y:2632 { yyVAL.tableName = yyDollar[2].tableName } - case 492: + case 493: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2632 +//line sql.y:2636 { yyVAL.tableName = yyDollar[1].tableName } - case 493: + case 494: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2638 +//line sql.y:2642 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 494: + case 495: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2642 +//line sql.y:2646 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 495: + case 496: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2648 +//line sql.y:2652 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 496: + case 497: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2653 +//line sql.y:2657 { yyVAL.indexHints = nil } - case 497: + case 498: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2657 +//line sql.y:2661 { yyVAL.indexHints = &IndexHints{Type: UseOp, Indexes: yyDollar[4].columns} } - case 498: + case 499: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2661 +//line sql.y:2665 { yyVAL.indexHints = &IndexHints{Type: UseOp} } - case 499: + case 500: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2665 +//line sql.y:2669 { yyVAL.indexHints = &IndexHints{Type: IgnoreOp, Indexes: yyDollar[4].columns} } - case 500: + case 501: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2669 +//line sql.y:2673 { yyVAL.indexHints = &IndexHints{Type: ForceOp, Indexes: yyDollar[4].columns} } - case 501: + case 502: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2674 +//line sql.y:2678 { yyVAL.expr = nil } - case 502: + case 503: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2678 +//line sql.y:2682 { yyVAL.expr = yyDollar[2].expr } - case 503: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2684 - { - yyVAL.expr = yyDollar[1].expr - } case 504: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2688 { - yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} + yyVAL.expr = yyDollar[1].expr } case 505: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2692 { - yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} + yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } case 506: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2696 { - yyVAL.expr = &XorExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} + yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } case 507: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2700 { - yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} + yyVAL.expr = &XorExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } case 508: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2704 { - yyVAL.expr = &IsExpr{Operator: yyDollar[3].isExprOperator, Expr: yyDollar[1].expr} + yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } case 509: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2708 { - yyVAL.expr = yyDollar[1].expr + yyVAL.expr = &IsExpr{Operator: yyDollar[3].isExprOperator, Expr: yyDollar[1].expr} } case 510: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2712 { - yyVAL.expr = &Default{ColName: yyDollar[2].str} + yyVAL.expr = yyDollar[1].expr } case 511: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2718 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2716 { - yyVAL.str = "" + yyVAL.expr = &Default{ColName: yyDollar[2].str} } case 512: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2722 { - yyVAL.str = string(yyDollar[2].colIdent.String()) + yyVAL.str = "" } case 513: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2728 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2726 { - yyVAL.boolVal = BoolVal(true) + yyVAL.str = string(yyDollar[2].colIdent.String()) } case 514: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2732 { - yyVAL.boolVal = BoolVal(false) + yyVAL.boolVal = BoolVal(true) } case 515: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2738 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2736 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].comparisonExprOperator, Right: yyDollar[3].expr} + yyVAL.boolVal = BoolVal(false) } case 516: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2742 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InOp, Right: yyDollar[3].colTuple} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].comparisonExprOperator, Right: yyDollar[3].expr} } case 517: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2746 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInOp, Right: yyDollar[4].colTuple} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InOp, Right: yyDollar[3].colTuple} } case 518: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2750 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeOp, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInOp, Right: yyDollar[4].colTuple} } case 519: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2754 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeOp, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeOp, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } case 520: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:2758 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpOp, Right: yyDollar[3].expr} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeOp, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } case 521: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2762 { - yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpOp, Right: yyDollar[4].expr} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpOp, Right: yyDollar[3].expr} } case 522: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:2766 { - yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenOp, From: yyDollar[3].expr, To: yyDollar[5].expr} + yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpOp, Right: yyDollar[4].expr} } case 523: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:2770 { - yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenOp, From: yyDollar[4].expr, To: yyDollar[6].expr} + yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenOp, From: yyDollar[3].expr, To: yyDollar[5].expr} } case 524: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:2774 { - yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} + yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenOp, From: yyDollar[4].expr, To: yyDollar[6].expr} } case 525: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2780 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2778 { - yyVAL.isExprOperator = IsNullOp + yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } case 526: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2784 { - yyVAL.isExprOperator = IsNotNullOp + yyVAL.isExprOperator = IsNullOp } case 527: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2788 { - yyVAL.isExprOperator = IsTrueOp + yyVAL.isExprOperator = IsNotNullOp } case 528: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2792 { - yyVAL.isExprOperator = IsNotTrueOp + yyVAL.isExprOperator = IsTrueOp } case 529: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2796 { - yyVAL.isExprOperator = IsFalseOp + yyVAL.isExprOperator = IsNotTrueOp } case 530: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2800 { - yyVAL.isExprOperator = IsNotFalseOp + yyVAL.isExprOperator = IsFalseOp } case 531: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2806 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2804 { - yyVAL.comparisonExprOperator = EqualOp + yyVAL.isExprOperator = IsNotFalseOp } case 532: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2810 { - yyVAL.comparisonExprOperator = LessThanOp + yyVAL.comparisonExprOperator = EqualOp } case 533: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2814 { - yyVAL.comparisonExprOperator = GreaterThanOp + yyVAL.comparisonExprOperator = LessThanOp } case 534: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2818 { - yyVAL.comparisonExprOperator = LessEqualOp + yyVAL.comparisonExprOperator = GreaterThanOp } case 535: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2822 { - yyVAL.comparisonExprOperator = GreaterEqualOp + yyVAL.comparisonExprOperator = LessEqualOp } case 536: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2826 { - yyVAL.comparisonExprOperator = NotEqualOp + yyVAL.comparisonExprOperator = GreaterEqualOp } case 537: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2830 { - yyVAL.comparisonExprOperator = NullSafeEqualOp + yyVAL.comparisonExprOperator = NotEqualOp } case 538: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2835 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2834 { - yyVAL.expr = nil + yyVAL.comparisonExprOperator = NullSafeEqualOp } case 539: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2839 { - yyVAL.expr = yyDollar[2].expr + yyVAL.expr = nil } case 540: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2845 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2843 { - yyVAL.colTuple = yyDollar[1].valTuple + yyVAL.expr = yyDollar[2].expr } case 541: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2849 { - yyVAL.colTuple = yyDollar[1].subquery + yyVAL.colTuple = yyDollar[1].valTuple } case 542: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2853 { - yyVAL.colTuple = ListArg(yyDollar[1].bytes) + yyVAL.colTuple = yyDollar[1].subquery } case 543: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2859 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:2857 { - yyVAL.subquery = &Subquery{yyDollar[2].selStmt} + yyVAL.colTuple = ListArg(yyDollar[1].bytes) } case 544: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2865 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2863 { - yyVAL.exprs = Exprs{yyDollar[1].expr} + yyVAL.subquery = &Subquery{yyDollar[2].selStmt} } case 545: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2869 { - yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) + yyVAL.exprs = Exprs{yyDollar[1].expr} } case 546: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2875 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:2873 { - yyVAL.expr = yyDollar[1].expr + yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } case 547: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2879 { - yyVAL.expr = yyDollar[1].boolVal + yyVAL.expr = yyDollar[1].expr } case 548: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2883 { - yyVAL.expr = yyDollar[1].colName + yyVAL.expr = yyDollar[1].boolVal } case 549: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2887 { - yyVAL.expr = yyDollar[1].expr + yyVAL.expr = yyDollar[1].colName } case 550: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2891 { - yyVAL.expr = yyDollar[1].subquery + yyVAL.expr = yyDollar[1].expr } case 551: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2895 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndOp, Right: yyDollar[3].expr} + yyVAL.expr = yyDollar[1].subquery } case 552: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2899 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndOp, Right: yyDollar[3].expr} } case 553: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2903 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrOp, Right: yyDollar[3].expr} } case 554: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2907 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorOp, Right: yyDollar[3].expr} } case 555: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2911 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusOp, Right: yyDollar[3].expr} } case 556: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2915 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusOp, Right: yyDollar[3].expr} } case 557: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2919 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultOp, Right: yyDollar[3].expr} } case 558: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2923 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivOp, Right: yyDollar[3].expr} } case 559: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2927 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivOp, Right: yyDollar[3].expr} } case 560: yyDollar = yyS[yypt-3 : yypt+1] @@ -7466,65 +7452,71 @@ yydefault: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2935 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} } case 562: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2939 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftOp, Right: yyDollar[3].expr} } case 563: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2943 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightOp, Right: yyDollar[3].expr} } case 564: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2947 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } case 565: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2951 { - yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } case 566: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2955 { - yyVAL.expr = &UnaryExpr{Operator: BinaryOp, Expr: yyDollar[2].expr} + yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } case 567: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2959 { - yyVAL.expr = &UnaryExpr{Operator: UBinaryOp, Expr: yyDollar[2].expr} + yyVAL.expr = &UnaryExpr{Operator: BinaryOp, Expr: yyDollar[2].expr} } case 568: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2963 { - yyVAL.expr = &UnaryExpr{Operator: Utf8Op, Expr: yyDollar[2].expr} + yyVAL.expr = &UnaryExpr{Operator: UBinaryOp, Expr: yyDollar[2].expr} } case 569: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2967 { - yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Op, Expr: yyDollar[2].expr} + yyVAL.expr = &UnaryExpr{Operator: Utf8Op, Expr: yyDollar[2].expr} } case 570: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2971 { - yyVAL.expr = &UnaryExpr{Operator: Latin1Op, Expr: yyDollar[2].expr} + yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Op, Expr: yyDollar[2].expr} } case 571: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2975 + { + yyVAL.expr = &UnaryExpr{Operator: Latin1Op, Expr: yyDollar[2].expr} + } + case 572: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2979 { if num, ok := yyDollar[2].expr.(*Literal); ok && num.Type == IntVal { yyVAL.expr = num @@ -7532,9 +7524,9 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UPlusOp, Expr: yyDollar[2].expr} } } - case 572: + case 573: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2983 +//line sql.y:2987 { if num, ok := yyDollar[2].expr.(*Literal); ok && num.Type == IntVal { // Handle double negative @@ -7548,21 +7540,21 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].expr} } } - case 573: + case 574: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2997 +//line sql.y:3001 { yyVAL.expr = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].expr} } - case 574: + case 575: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3001 +//line sql.y:3005 { yyVAL.expr = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].expr} } - case 575: + case 576: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3005 +//line sql.y:3009 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -7570,17 +7562,11 @@ yydefault: // will be non-trivial because of grammar conflicts. yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 580: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3023 - { - yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprs} - } case 581: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:3027 { - yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} + yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprs} } case 582: yyDollar = yyS[yypt-5 : yypt+1] @@ -7589,28 +7575,28 @@ yydefault: yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } case 583: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:3035 { - yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} + yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } case 584: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3045 + yyDollar = yyS[yypt-6 : yypt+1] +//line sql.y:3039 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } case 585: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:3049 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprs} } case 586: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:3053 { - yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} + yyVAL.expr = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprs} } case 587: yyDollar = yyS[yypt-6 : yypt+1] @@ -7622,13 +7608,13 @@ yydefault: yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:3061 { - yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} + yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } case 589: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] //line sql.y:3065 { - yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} + yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } case 590: yyDollar = yyS[yypt-8 : yypt+1] @@ -7640,7 +7626,7 @@ yydefault: yyDollar = yyS[yypt-8 : yypt+1] //line sql.y:3073 { - yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} + yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } case 592: yyDollar = yyS[yypt-8 : yypt+1] @@ -7649,166 +7635,166 @@ yydefault: yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } case 593: - yyDollar = yyS[yypt-9 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] //line sql.y:3081 { - yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].matchExprOption} + yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } case 594: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-9 : yypt+1] //line sql.y:3085 { - yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].boolean, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str, Limit: yyDollar[7].limit} + yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].matchExprOption} } case 595: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] //line sql.y:3089 { - yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} + yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].boolean, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str, Limit: yyDollar[7].limit} } case 596: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:3093 { - yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} + yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } case 597: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3103 + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:3097 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")} + yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } case 598: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3107 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")} } case 599: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3111 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")} } case 600: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3116 +//line sql.y:3115 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")} } case 601: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3121 +//line sql.y:3120 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")} } case 602: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3126 +//line sql.y:3125 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")} } case 603: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3132 +//line sql.y:3130 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")} } case 604: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3137 +//line sql.y:3136 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")} + yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")} } case 605: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3142 +//line sql.y:3141 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].expr} + yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")} } case 606: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3146 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].expr} } case 607: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3150 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].expr} } case 608: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3155 +//line sql.y:3154 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].expr} } case 609: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3160 +//line sql.y:3159 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].expr} } case 610: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3165 +//line sql.y:3164 { - yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].expr} } case 611: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3169 { - yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} + yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].expr} } case 612: yyDollar = yyS[yypt-8 : yypt+1] //line sql.y:3173 { - yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} + yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 615: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3183 + case 613: + yyDollar = yyS[yypt-8 : yypt+1] +//line sql.y:3177 { - yyVAL.expr = yyDollar[2].expr + yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } case 616: - yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3193 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:3187 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = yyDollar[2].expr } case 617: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:3197 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprs} } case 618: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:3201 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprs} } case 619: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:3205 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprs} } case 620: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:3209 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprs} } case 621: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:3213 { - yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} + yyVAL.expr = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprs} } case 622: yyDollar = yyS[yypt-4 : yypt+1] @@ -7817,105 +7803,105 @@ yydefault: yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } case 623: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3223 + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:3221 { - yyVAL.matchExprOption = NoOption + yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } case 624: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:3227 { - yyVAL.matchExprOption = BooleanModeOpt + yyVAL.matchExprOption = NoOption } case 625: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:3231 { - yyVAL.matchExprOption = NaturalLanguageModeOpt + yyVAL.matchExprOption = BooleanModeOpt } case 626: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:3235 { - yyVAL.matchExprOption = NaturalLanguageModeWithQueryExpansionOpt + yyVAL.matchExprOption = NaturalLanguageModeOpt } case 627: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-7 : yypt+1] //line sql.y:3239 { - yyVAL.matchExprOption = QueryExpansionOpt + yyVAL.matchExprOption = NaturalLanguageModeWithQueryExpansionOpt } case 628: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3245 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:3243 { - yyVAL.str = string(yyDollar[1].colIdent.String()) + yyVAL.matchExprOption = QueryExpansionOpt } case 629: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3249 { - yyVAL.str = string(yyDollar[1].bytes) + yyVAL.str = string(yyDollar[1].colIdent.String()) } case 630: - yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3255 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3253 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} + yyVAL.str = string(yyDollar[1].bytes) } case 631: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3259 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: yyDollar[3].str, Operator: CharacterSetOp} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 632: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:3263 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: string(yyDollar[3].colIdent.String())} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: yyDollar[3].str, Operator: CharacterSetOp} } case 633: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:3267 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: string(yyDollar[3].colIdent.String())} } case 634: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3271 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 635: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3275 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} - yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length - yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 636: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3281 + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:3279 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} + yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length + yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale } case 637: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3285 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 638: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3289 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 639: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3293 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} @@ -7924,143 +7910,149 @@ yydefault: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3297 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 641: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3301 { - yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } case 642: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3305 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } case 643: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:3309 + { + yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} + } + case 644: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3310 +//line sql.y:3314 { yyVAL.expr = nil } - case 644: + case 645: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3314 +//line sql.y:3318 { yyVAL.expr = yyDollar[1].expr } - case 645: + case 646: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3319 +//line sql.y:3323 { yyVAL.str = string("") } - case 646: + case 647: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3323 +//line sql.y:3327 { yyVAL.str = " separator '" + string(yyDollar[2].bytes) + "'" } - case 647: + case 648: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3329 +//line sql.y:3333 { yyVAL.whens = []*When{yyDollar[1].when} } - case 648: + case 649: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3333 +//line sql.y:3337 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } - case 649: + case 650: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3339 +//line sql.y:3343 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } - case 650: + case 651: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3344 +//line sql.y:3348 { yyVAL.expr = nil } - case 651: + case 652: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3348 +//line sql.y:3352 { yyVAL.expr = yyDollar[2].expr } - case 652: + case 653: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3354 +//line sql.y:3358 { yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } - case 653: + case 654: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3358 +//line sql.y:3362 { yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } - case 654: + case 655: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3362 +//line sql.y:3366 { yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } - case 655: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3368 - { - yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) - } case 656: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3372 { - yyVAL.expr = NewHexLiteral(yyDollar[1].bytes) + yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) } case 657: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3376 { - yyVAL.expr = NewBitLiteral(yyDollar[1].bytes) + yyVAL.expr = NewHexLiteral(yyDollar[1].bytes) } case 658: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3380 { - yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) + yyVAL.expr = NewBitLiteral(yyDollar[1].bytes) } case 659: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3384 { - yyVAL.expr = NewFloatLiteral(yyDollar[1].bytes) + yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) } case 660: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3388 { - yyVAL.expr = NewHexNumLiteral(yyDollar[1].bytes) + yyVAL.expr = NewFloatLiteral(yyDollar[1].bytes) } case 661: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3392 { - yyVAL.expr = NewArgument(yyDollar[1].bytes) + yyVAL.expr = NewHexNumLiteral(yyDollar[1].bytes) } case 662: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3396 { - yyVAL.expr = &NullVal{} + yyVAL.expr = NewArgument(yyDollar[1].bytes) } case 663: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3402 +//line sql.y:3400 + { + yyVAL.expr = &NullVal{} + } + case 664: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3406 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -8069,80 +8061,74 @@ yydefault: } yyVAL.expr = NewIntLiteral([]byte("1")) } - case 664: + case 665: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3411 +//line sql.y:3415 { yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) } - case 665: + case 666: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3415 +//line sql.y:3419 { yyVAL.expr = NewArgument(yyDollar[1].bytes) } - case 666: + case 667: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3420 +//line sql.y:3424 { yyVAL.exprs = nil } - case 667: + case 668: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3424 +//line sql.y:3428 { yyVAL.exprs = yyDollar[3].exprs } - case 668: + case 669: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3429 +//line sql.y:3433 { yyVAL.expr = nil } - case 669: + case 670: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3433 +//line sql.y:3437 { yyVAL.expr = yyDollar[2].expr } - case 670: + case 671: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3438 +//line sql.y:3442 { yyVAL.orderBy = nil } - case 671: + case 672: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3442 +//line sql.y:3446 { yyVAL.orderBy = yyDollar[3].orderBy } - case 672: + case 673: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3448 +//line sql.y:3452 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } - case 673: + case 674: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3452 +//line sql.y:3456 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } - case 674: + case 675: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3458 +//line sql.y:3462 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].orderDirection} } - case 675: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3463 - { - yyVAL.orderDirection = AscOrder - } case 676: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:3467 { yyVAL.orderDirection = AscOrder @@ -8151,43 +8137,43 @@ yydefault: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3471 { - yyVAL.orderDirection = DescOrder + yyVAL.orderDirection = AscOrder } case 678: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3476 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3475 { - yyVAL.limit = nil + yyVAL.orderDirection = DescOrder } case 679: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:3480 { - yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} + yyVAL.limit = nil } case 680: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3484 { - yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} + yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } case 681: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:3488 { - yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} + yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } case 682: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3493 + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:3492 { - yyVAL.indexOptions = nil + yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } case 683: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:3497 { - yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption, yyDollar[2].indexOption} + yyVAL.indexOptions = nil } case 684: yyDollar = yyS[yypt-2 : yypt+1] @@ -8196,10 +8182,10 @@ yydefault: yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption, yyDollar[2].indexOption} } case 685: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:3505 { - yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} + yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption, yyDollar[2].indexOption} } case 686: yyDollar = yyS[yypt-1 : yypt+1] @@ -8208,10 +8194,10 @@ yydefault: yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } case 687: - yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3516 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3513 { - yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} + yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } case 688: yyDollar = yyS[yypt-3 : yypt+1] @@ -8233,7 +8219,7 @@ yydefault: } case 691: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3534 +//line sql.y:3532 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } @@ -8250,16 +8236,16 @@ yydefault: yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 694: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3547 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:3546 { - yyVAL.str = "" + yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } case 695: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:3551 { - yyVAL.str = string(yyDollar[3].bytes) + yyVAL.str = "" } case 696: yyDollar = yyS[yypt-3 : yypt+1] @@ -8274,22 +8260,22 @@ yydefault: yyVAL.str = string(yyDollar[3].bytes) } case 698: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3564 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:3563 { - yyVAL.str = "" + yyVAL.str = string(yyDollar[3].bytes) } case 699: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:3568 { - yyVAL.str = yyDollar[3].str + yyVAL.str = "" } case 700: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3574 + yyDollar = yyS[yypt-3 : yypt+1] +//line sql.y:3572 { - yyVAL.str = string(yyDollar[1].bytes) + yyVAL.str = yyDollar[3].str } case 701: yyDollar = yyS[yypt-1 : yypt+1] @@ -8298,28 +8284,28 @@ yydefault: yyVAL.str = string(yyDollar[1].bytes) } case 702: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3583 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3582 { - yyVAL.str = "" + yyVAL.str = string(yyDollar[1].bytes) } case 703: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:3587 { - yyVAL.str = yyDollar[2].str + yyVAL.str = "" } case 704: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3592 + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:3591 { - yyVAL.str = "cascaded" + yyVAL.str = yyDollar[2].str } case 705: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:3596 { - yyVAL.str = string(yyDollar[1].bytes) + yyVAL.str = "cascaded" } case 706: yyDollar = yyS[yypt-1 : yypt+1] @@ -8328,338 +8314,344 @@ yydefault: yyVAL.str = string(yyDollar[1].bytes) } case 707: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3604 + { + yyVAL.str = string(yyDollar[1].bytes) + } + case 708: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3605 +//line sql.y:3609 { yyVAL.str = "" } - case 708: + case 709: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3609 +//line sql.y:3613 { yyVAL.str = yyDollar[3].str } - case 709: + case 710: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3615 +//line sql.y:3619 { yyVAL.str = string(yyDollar[1].bytes) } - case 710: + case 711: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3619 +//line sql.y:3623 { yyVAL.str = string(yyDollar[1].bytes) } - case 711: + case 712: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3623 +//line sql.y:3627 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'@" + string(yyDollar[2].bytes) } - case 712: + case 713: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3627 +//line sql.y:3631 { yyVAL.str = string(yyDollar[1].bytes) } - case 713: + case 714: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3632 +//line sql.y:3636 { yyVAL.lock = NoLock } - case 714: + case 715: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3636 +//line sql.y:3640 { yyVAL.lock = ForUpdateLock } - case 715: + case 716: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3640 +//line sql.y:3644 { yyVAL.lock = ShareModeLock } - case 716: + case 717: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3645 +//line sql.y:3649 { yyVAL.selectInto = nil } - case 717: + case 718: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:3649 +//line sql.y:3653 { yyVAL.selectInto = &SelectInto{Type: IntoOutfileS3, FileName: string(yyDollar[4].bytes), Charset: yyDollar[5].str, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } - case 718: + case 719: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3653 +//line sql.y:3657 { yyVAL.selectInto = &SelectInto{Type: IntoDumpfile, FileName: string(yyDollar[3].bytes), Charset: "", FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } - case 719: + case 720: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3657 +//line sql.y:3661 { yyVAL.selectInto = &SelectInto{Type: IntoOutfile, FileName: string(yyDollar[3].bytes), Charset: yyDollar[4].str, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } - case 720: + case 721: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3662 +//line sql.y:3666 { yyVAL.str = "" } - case 721: + case 722: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3666 +//line sql.y:3670 { yyVAL.str = " format csv" + yyDollar[3].str } - case 722: + case 723: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3670 +//line sql.y:3674 { yyVAL.str = " format text" + yyDollar[3].str } - case 723: + case 724: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3675 +//line sql.y:3679 { yyVAL.str = "" } - case 724: + case 725: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3679 +//line sql.y:3683 { yyVAL.str = " header" } - case 725: + case 726: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3684 +//line sql.y:3688 { yyVAL.str = "" } - case 726: + case 727: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3688 +//line sql.y:3692 { yyVAL.str = " manifest on" } - case 727: + case 728: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3692 +//line sql.y:3696 { yyVAL.str = " manifest off" } - case 728: + case 729: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3697 +//line sql.y:3701 { yyVAL.str = "" } - case 729: + case 730: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3701 +//line sql.y:3705 { yyVAL.str = " overwrite on" } - case 730: + case 731: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3705 +//line sql.y:3709 { yyVAL.str = " overwrite off" } - case 731: + case 732: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3711 +//line sql.y:3715 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 732: + case 733: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3716 +//line sql.y:3720 { yyVAL.str = "" } - case 733: + case 734: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3720 +//line sql.y:3724 { yyVAL.str = " lines" + yyDollar[2].str + yyDollar[3].str } - case 734: + case 735: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3725 +//line sql.y:3729 { yyVAL.str = "" } - case 735: + case 736: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3729 +//line sql.y:3733 { yyVAL.str = " starting by '" + string(yyDollar[3].bytes) + "'" } - case 736: + case 737: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3734 +//line sql.y:3738 { yyVAL.str = "" } - case 737: + case 738: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3738 +//line sql.y:3742 { yyVAL.str = " terminated by '" + string(yyDollar[3].bytes) + "'" } - case 738: + case 739: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3743 +//line sql.y:3747 { yyVAL.str = "" } - case 739: + case 740: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3747 +//line sql.y:3751 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str + yyDollar[3].str + yyDollar[4].str } - case 740: + case 741: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3752 +//line sql.y:3756 { yyVAL.str = "" } - case 741: + case 742: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3756 +//line sql.y:3760 { yyVAL.str = " escaped by '" + string(yyDollar[3].bytes) + "'" } - case 742: + case 743: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3761 +//line sql.y:3765 { yyVAL.str = "" } - case 743: + case 744: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3765 +//line sql.y:3769 { yyVAL.str = yyDollar[1].str + " enclosed by '" + string(yyDollar[4].bytes) + "'" } - case 744: + case 745: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3770 +//line sql.y:3774 { yyVAL.str = "" } - case 745: + case 746: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3774 +//line sql.y:3778 { yyVAL.str = " optionally" } - case 746: + case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3787 +//line sql.y:3791 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } - case 747: + case 748: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3791 +//line sql.y:3795 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } - case 748: + case 749: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3795 +//line sql.y:3799 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } - case 749: + case 750: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3799 +//line sql.y:3803 { yyVAL.ins = &Insert{Rows: yyDollar[4].values} } - case 750: + case 751: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3803 +//line sql.y:3807 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } - case 751: + case 752: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3809 +//line sql.y:3813 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 752: + case 753: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3813 +//line sql.y:3817 { yyVAL.columns = Columns{yyDollar[3].colIdent} } - case 753: + case 754: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3817 +//line sql.y:3821 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 754: + case 755: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3821 +//line sql.y:3825 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } - case 755: + case 756: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3826 +//line sql.y:3830 { yyVAL.updateExprs = nil } - case 756: + case 757: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3830 +//line sql.y:3834 { yyVAL.updateExprs = yyDollar[5].updateExprs } - case 757: + case 758: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3836 +//line sql.y:3840 { yyVAL.values = Values{yyDollar[1].valTuple} } - case 758: + case 759: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3840 +//line sql.y:3844 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } - case 759: + case 760: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3846 +//line sql.y:3850 { yyVAL.valTuple = yyDollar[1].valTuple } - case 760: + case 761: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3850 +//line sql.y:3854 { yyVAL.valTuple = ValTuple{} } - case 761: + case 762: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3856 +//line sql.y:3860 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } - case 762: + case 763: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3862 +//line sql.y:3866 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = yyDollar[1].valTuple[0] @@ -8667,202 +8659,196 @@ yydefault: yyVAL.expr = yyDollar[1].valTuple } } - case 763: + case 764: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3872 +//line sql.y:3876 { yyVAL.updateExprs = UpdateExprs{yyDollar[1].updateExpr} } - case 764: + case 765: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3876 +//line sql.y:3880 { yyVAL.updateExprs = append(yyDollar[1].updateExprs, yyDollar[3].updateExpr) } - case 765: + case 766: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3882 +//line sql.y:3886 { yyVAL.updateExpr = &UpdateExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } - case 766: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3888 - { - yyVAL.setExprs = SetExprs{yyDollar[1].setExpr} - } case 767: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3892 { - yyVAL.setExprs = append(yyDollar[1].setExprs, yyDollar[3].setExpr) + yyVAL.setExprs = SetExprs{yyDollar[1].setExpr} } case 768: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3898 +//line sql.y:3896 { - yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("on"))} + yyVAL.setExprs = append(yyDollar[1].setExprs, yyDollar[3].setExpr) } case 769: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:3902 { - yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("off"))} + yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("on"))} } case 770: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:3906 { - yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].expr} + yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("off"))} } case 771: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:3910 { - yyVAL.setExpr = &SetExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Scope: ImplicitScope, Expr: yyDollar[2].expr} + yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].expr} } case 772: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:3914 + { + yyVAL.setExpr = &SetExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Scope: ImplicitScope, Expr: yyDollar[2].expr} + } + case 773: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:3918 { yyDollar[2].setExpr.Scope = yyDollar[1].scope yyVAL.setExpr = yyDollar[2].setExpr } - case 774: + case 775: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3922 +//line sql.y:3926 { yyVAL.bytes = []byte("charset") } - case 776: + case 777: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3929 +//line sql.y:3933 { yyVAL.expr = NewStrLiteral([]byte(yyDollar[1].colIdent.String())) } - case 777: + case 778: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3933 +//line sql.y:3937 { yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) } - case 778: + case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3937 +//line sql.y:3941 { yyVAL.expr = &Default{} } - case 781: + case 782: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3946 +//line sql.y:3950 { yyVAL.boolean = false } - case 782: + case 783: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3948 +//line sql.y:3952 { yyVAL.boolean = true } - case 783: + case 784: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3951 +//line sql.y:3955 { yyVAL.boolean = false } - case 784: + case 785: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3953 +//line sql.y:3957 { yyVAL.boolean = true } - case 785: + case 786: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3956 +//line sql.y:3960 { yyVAL.ignore = false } - case 786: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3958 - { - yyVAL.ignore = true - } case 787: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3962 { - yyVAL.empty = struct{}{} + yyVAL.ignore = true } case 788: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3964 +//line sql.y:3966 { yyVAL.empty = struct{}{} } case 789: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3966 +//line sql.y:3968 { yyVAL.empty = struct{}{} } case 790: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3968 +//line sql.y:3970 { yyVAL.empty = struct{}{} } case 791: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3970 +//line sql.y:3972 { yyVAL.empty = struct{}{} } case 792: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3972 +//line sql.y:3974 { yyVAL.empty = struct{}{} } case 793: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3974 +//line sql.y:3976 { yyVAL.empty = struct{}{} } case 794: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3976 +//line sql.y:3978 { yyVAL.empty = struct{}{} } case 795: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3978 +//line sql.y:3980 { yyVAL.empty = struct{}{} } case 796: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3980 +//line sql.y:3982 { yyVAL.empty = struct{}{} } case 797: - yyDollar = yyS[yypt-0 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:3984 { yyVAL.empty = struct{}{} } case 798: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3986 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:3988 { yyVAL.empty = struct{}{} } case 799: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3988 +//line sql.y:3990 { yyVAL.empty = struct{}{} } @@ -8874,124 +8860,130 @@ yydefault: } case 801: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3994 +//line sql.y:3996 { yyVAL.empty = struct{}{} } case 802: - yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3997 + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:3998 { - yyVAL.str = "" + yyVAL.empty = struct{}{} } case 803: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3999 + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:4001 { - yyVAL.str = string(yyDollar[1].bytes) + yyVAL.str = "" } case 804: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4001 +//line sql.y:4003 { yyVAL.str = string(yyDollar[1].bytes) } case 805: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4003 +//line sql.y:4005 { yyVAL.str = string(yyDollar[1].bytes) } case 806: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:4007 + { + yyVAL.str = string(yyDollar[1].bytes) + } + case 807: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4006 +//line sql.y:4010 { yyVAL.indexOptions = nil } - case 807: + case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4008 +//line sql.y:4012 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 808: + case 809: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4012 +//line sql.y:4016 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[2].colIdent.String())} } - case 809: + case 810: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4018 +//line sql.y:4022 { yyVAL.colIdent = yyDollar[1].colIdent } - case 810: + case 811: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4022 +//line sql.y:4026 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 812: + case 813: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4029 +//line sql.y:4033 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 813: + case 814: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4035 +//line sql.y:4039 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 814: + case 815: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4039 +//line sql.y:4043 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 816: + case 817: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4046 +//line sql.y:4050 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1154: + case 1156: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4408 +//line sql.y:4413 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1155: + case 1157: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4417 +//line sql.y:4422 { decNesting(yylex) } - case 1156: + case 1158: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4422 +//line sql.y:4427 { skipToEnd(yylex) } - case 1157: + case 1159: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4427 +//line sql.y:4432 { skipToEnd(yylex) } - case 1158: + case 1160: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4431 +//line sql.y:4436 { skipToEnd(yylex) } - case 1159: + case 1161: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4435 +//line sql.y:4440 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index cd5e674e070..3766fe3ea03 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -213,7 +213,7 @@ func skipToEnd(yylex interface{}) { // Supported SHOW tokens %token COLLATION DATABASES SCHEMAS TABLES VITESS_METADATA VSCHEMA FULL PROCESSLIST COLUMNS FIELDS ENGINES PLUGINS EXTENDED -%token KEYSPACES VITESS_KEYSPACES VITESS_SHARDS VITESS_TABLETS CODE +%token KEYSPACES VITESS_KEYSPACES VITESS_SHARDS VITESS_TABLETS CODE PRIVILEGES // SET tokens %token NAMES CHARSET GLOBAL SESSION ISOLATION LEVEL READ WRITE ONLY REPEATABLE COMMITTED UNCOMMITTED SERIALIZABLE @@ -1831,6 +1831,10 @@ show_statement: { $$ = &Show{&ShowBasic{Command: Database, Filter: $3}} } +| SHOW PRIVILEGES + { + $$ = &Show{&ShowBasic{Command: Privilege}} + } | SHOW PROCEDURE STATUS like_or_where_opt { $$ = &Show{&ShowBasic{Command: Procedure, Filter: $4}} @@ -4319,6 +4323,7 @@ non_reserved_keyword: | PERSIST_ONLY | PRECEDING | PRIVILEGE_CHECKS_USER +| PRIVILEGES | PROCESS | PLUGINS | POINT From d491e0f87d6c5d7c815624e762ac99f8f407430e Mon Sep 17 00:00:00 2001 From: Harshit Gangal Date: Wed, 16 Dec 2020 18:16:51 +0530 Subject: [PATCH 2/3] add parsing test Signed-off-by: Harshit Gangal --- go/vt/sqlparser/ast_funcs.go | 2 + go/vt/sqlparser/constants.go | 2 + go/vt/sqlparser/parse_test.go | 18 +- go/vt/sqlparser/sql.go | 7174 +++++++++++++++++---------------- go/vt/sqlparser/sql.y | 17 +- go/vt/sqlparser/token.go | 2 + 6 files changed, 3633 insertions(+), 3582 deletions(-) diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index b4fee44f583..9a69e7ca451 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -1209,6 +1209,8 @@ func (ty ShowCommandType) ToString() string { return DatabaseStr case Function: return FunctionStr + case Privilege: + return PrivilegeStr case Procedure: return ProcedureStr case StatusGlobal: diff --git a/go/vt/sqlparser/constants.go b/go/vt/sqlparser/constants.go index 97a4e094354..dacc6b82d5c 100644 --- a/go/vt/sqlparser/constants.go +++ b/go/vt/sqlparser/constants.go @@ -199,6 +199,7 @@ const ( CollationStr = " collation" DatabaseStr = " databases" FunctionStr = " function status" + PrivilegeStr = " privileges" ProcedureStr = " procedure status" StatusGlobalStr = " global status" StatusSessionStr = " status" @@ -413,6 +414,7 @@ const ( Collation Database Function + Privilege Procedure StatusGlobal StatusSession diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index e2e3e00bc6c..4913c6b5614 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -1272,8 +1272,7 @@ var ( input: "show create event e", output: "show create event", }, { - input: "show create function f", - output: "show create function", + input: "show create function f", }, { input: "show create procedure p", output: "show create procedure", @@ -1305,23 +1304,18 @@ var ( input: "show engine INNODB", output: "show engine", }, { - input: "show engines", - output: "show engines", + input: "show engines", }, { input: "show storage engines", output: "show storage", }, { - input: "show errors", - output: "show errors", + input: "show errors", }, { - input: "show events", - output: "show events", + input: "show events", }, { - input: "show function code func", - output: "show function", + input: "show function code func", }, { - input: "show function status", - output: "show function", + input: "show function status", }, { input: "show grants for 'root@localhost'", output: "show grants", diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 5ec8b3fb997..3d545b15b33 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -393,133 +393,134 @@ const VITESS_SHARDS = 57603 const VITESS_TABLETS = 57604 const CODE = 57605 const PRIVILEGES = 57606 -const NAMES = 57607 -const CHARSET = 57608 -const GLOBAL = 57609 -const SESSION = 57610 -const ISOLATION = 57611 -const LEVEL = 57612 -const READ = 57613 -const WRITE = 57614 -const ONLY = 57615 -const REPEATABLE = 57616 -const COMMITTED = 57617 -const UNCOMMITTED = 57618 -const SERIALIZABLE = 57619 -const CURRENT_TIMESTAMP = 57620 -const DATABASE = 57621 -const CURRENT_DATE = 57622 -const CURRENT_TIME = 57623 -const LOCALTIME = 57624 -const LOCALTIMESTAMP = 57625 -const CURRENT_USER = 57626 -const UTC_DATE = 57627 -const UTC_TIME = 57628 -const UTC_TIMESTAMP = 57629 -const REPLACE = 57630 -const CONVERT = 57631 -const CAST = 57632 -const SUBSTR = 57633 -const SUBSTRING = 57634 -const GROUP_CONCAT = 57635 -const SEPARATOR = 57636 -const TIMESTAMPADD = 57637 -const TIMESTAMPDIFF = 57638 -const MATCH = 57639 -const AGAINST = 57640 -const BOOLEAN = 57641 -const LANGUAGE = 57642 -const WITH = 57643 -const QUERY = 57644 -const EXPANSION = 57645 -const UNUSED = 57646 -const ARRAY = 57647 -const CUME_DIST = 57648 -const DESCRIPTION = 57649 -const DENSE_RANK = 57650 -const EMPTY = 57651 -const EXCEPT = 57652 -const FIRST_VALUE = 57653 -const GROUPING = 57654 -const GROUPS = 57655 -const JSON_TABLE = 57656 -const LAG = 57657 -const LAST_VALUE = 57658 -const LATERAL = 57659 -const LEAD = 57660 -const MEMBER = 57661 -const NTH_VALUE = 57662 -const NTILE = 57663 -const OF = 57664 -const OVER = 57665 -const PERCENT_RANK = 57666 -const RANK = 57667 -const RECURSIVE = 57668 -const ROW_NUMBER = 57669 -const SYSTEM = 57670 -const WINDOW = 57671 -const ACTIVE = 57672 -const ADMIN = 57673 -const BUCKETS = 57674 -const CLONE = 57675 -const COMPONENT = 57676 -const DEFINITION = 57677 -const ENFORCED = 57678 -const EXCLUDE = 57679 -const FOLLOWING = 57680 -const GEOMCOLLECTION = 57681 -const GET_MASTER_PUBLIC_KEY = 57682 -const HISTOGRAM = 57683 -const HISTORY = 57684 -const INACTIVE = 57685 -const INVISIBLE = 57686 -const LOCKED = 57687 -const MASTER_COMPRESSION_ALGORITHMS = 57688 -const MASTER_PUBLIC_KEY_PATH = 57689 -const MASTER_TLS_CIPHERSUITES = 57690 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57691 -const NESTED = 57692 -const NETWORK_NAMESPACE = 57693 -const NOWAIT = 57694 -const NULLS = 57695 -const OJ = 57696 -const OLD = 57697 -const OPTIONAL = 57698 -const ORDINALITY = 57699 -const ORGANIZATION = 57700 -const OTHERS = 57701 -const PATH = 57702 -const PERSIST = 57703 -const PERSIST_ONLY = 57704 -const PRECEDING = 57705 -const PRIVILEGE_CHECKS_USER = 57706 -const PROCESS = 57707 -const RANDOM = 57708 -const REFERENCE = 57709 -const REQUIRE_ROW_FORMAT = 57710 -const RESOURCE = 57711 -const RESPECT = 57712 -const RESTART = 57713 -const RETAIN = 57714 -const REUSE = 57715 -const ROLE = 57716 -const SECONDARY = 57717 -const SECONDARY_ENGINE = 57718 -const SECONDARY_LOAD = 57719 -const SECONDARY_UNLOAD = 57720 -const SKIP = 57721 -const SRID = 57722 -const THREAD_PRIORITY = 57723 -const TIES = 57724 -const UNBOUNDED = 57725 -const VCPU = 57726 -const VISIBLE = 57727 -const FORMAT = 57728 -const TREE = 57729 -const VITESS = 57730 -const TRADITIONAL = 57731 -const LOCAL = 57732 -const LOW_PRIORITY = 57733 +const FUNCTION = 57607 +const NAMES = 57608 +const CHARSET = 57609 +const GLOBAL = 57610 +const SESSION = 57611 +const ISOLATION = 57612 +const LEVEL = 57613 +const READ = 57614 +const WRITE = 57615 +const ONLY = 57616 +const REPEATABLE = 57617 +const COMMITTED = 57618 +const UNCOMMITTED = 57619 +const SERIALIZABLE = 57620 +const CURRENT_TIMESTAMP = 57621 +const DATABASE = 57622 +const CURRENT_DATE = 57623 +const CURRENT_TIME = 57624 +const LOCALTIME = 57625 +const LOCALTIMESTAMP = 57626 +const CURRENT_USER = 57627 +const UTC_DATE = 57628 +const UTC_TIME = 57629 +const UTC_TIMESTAMP = 57630 +const REPLACE = 57631 +const CONVERT = 57632 +const CAST = 57633 +const SUBSTR = 57634 +const SUBSTRING = 57635 +const GROUP_CONCAT = 57636 +const SEPARATOR = 57637 +const TIMESTAMPADD = 57638 +const TIMESTAMPDIFF = 57639 +const MATCH = 57640 +const AGAINST = 57641 +const BOOLEAN = 57642 +const LANGUAGE = 57643 +const WITH = 57644 +const QUERY = 57645 +const EXPANSION = 57646 +const UNUSED = 57647 +const ARRAY = 57648 +const CUME_DIST = 57649 +const DESCRIPTION = 57650 +const DENSE_RANK = 57651 +const EMPTY = 57652 +const EXCEPT = 57653 +const FIRST_VALUE = 57654 +const GROUPING = 57655 +const GROUPS = 57656 +const JSON_TABLE = 57657 +const LAG = 57658 +const LAST_VALUE = 57659 +const LATERAL = 57660 +const LEAD = 57661 +const MEMBER = 57662 +const NTH_VALUE = 57663 +const NTILE = 57664 +const OF = 57665 +const OVER = 57666 +const PERCENT_RANK = 57667 +const RANK = 57668 +const RECURSIVE = 57669 +const ROW_NUMBER = 57670 +const SYSTEM = 57671 +const WINDOW = 57672 +const ACTIVE = 57673 +const ADMIN = 57674 +const BUCKETS = 57675 +const CLONE = 57676 +const COMPONENT = 57677 +const DEFINITION = 57678 +const ENFORCED = 57679 +const EXCLUDE = 57680 +const FOLLOWING = 57681 +const GEOMCOLLECTION = 57682 +const GET_MASTER_PUBLIC_KEY = 57683 +const HISTOGRAM = 57684 +const HISTORY = 57685 +const INACTIVE = 57686 +const INVISIBLE = 57687 +const LOCKED = 57688 +const MASTER_COMPRESSION_ALGORITHMS = 57689 +const MASTER_PUBLIC_KEY_PATH = 57690 +const MASTER_TLS_CIPHERSUITES = 57691 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57692 +const NESTED = 57693 +const NETWORK_NAMESPACE = 57694 +const NOWAIT = 57695 +const NULLS = 57696 +const OJ = 57697 +const OLD = 57698 +const OPTIONAL = 57699 +const ORDINALITY = 57700 +const ORGANIZATION = 57701 +const OTHERS = 57702 +const PATH = 57703 +const PERSIST = 57704 +const PERSIST_ONLY = 57705 +const PRECEDING = 57706 +const PRIVILEGE_CHECKS_USER = 57707 +const PROCESS = 57708 +const RANDOM = 57709 +const REFERENCE = 57710 +const REQUIRE_ROW_FORMAT = 57711 +const RESOURCE = 57712 +const RESPECT = 57713 +const RESTART = 57714 +const RETAIN = 57715 +const REUSE = 57716 +const ROLE = 57717 +const SECONDARY = 57718 +const SECONDARY_ENGINE = 57719 +const SECONDARY_LOAD = 57720 +const SECONDARY_UNLOAD = 57721 +const SKIP = 57722 +const SRID = 57723 +const THREAD_PRIORITY = 57724 +const TIES = 57725 +const UNBOUNDED = 57726 +const VCPU = 57727 +const VISIBLE = 57728 +const FORMAT = 57729 +const TREE = 57730 +const VITESS = 57731 +const TRADITIONAL = 57732 +const LOCAL = 57733 +const LOW_PRIORITY = 57734 var yyToknames = [...]string{ "$end", @@ -803,6 +804,7 @@ var yyToknames = [...]string{ "VITESS_TABLETS", "CODE", "PRIVILEGES", + "FUNCTION", "NAMES", "CHARSET", "GLOBAL", @@ -945,2085 +947,2100 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 42, - 155, 803, + 155, 806, -2, 87, -1, 43, 136, 110, 236, 110, -2, 104, -1, 50, - 34, 350, - 155, 350, - 167, 350, - 195, 364, - 196, 364, - -2, 352, + 34, 353, + 155, 353, + 167, 353, + 195, 367, + 196, 367, + -2, 355, -1, 55, - 157, 374, - -2, 372, + 157, 377, + -2, 375, -1, 79, - 55, 417, - -2, 425, + 55, 420, + -2, 428, -1, 103, 136, 110, 236, 110, -2, 105, - -1, 450, - 143, 814, - -2, 810, - -1, 451, - 143, 815, - -2, 811, - -1, 468, - 55, 418, - -2, 430, - -1, 469, - 55, 419, - -2, 431, - -1, 489, - 111, 1104, + -1, 452, + 143, 817, + -2, 813, + -1, 453, + 143, 818, + -2, 814, + -1, 470, + 55, 421, + -2, 433, + -1, 471, + 55, 422, + -2, 434, + -1, 491, + 111, 1108, -2, 80, - -1, 490, - 111, 1003, + -1, 492, + 111, 1007, -2, 81, - -1, 495, - 111, 960, - -2, 774, -1, 497, - 111, 1044, - -2, 776, - -1, 652, + 111, 963, + -2, 777, + -1, 499, + 111, 1048, + -2, 779, + -1, 654, 136, 110, 236, 110, -2, 273, - -1, 1044, - 143, 817, - -2, 813, - -1, 1136, + -1, 1052, + 143, 820, + -2, 816, + -1, 1144, 73, 62, 81, 62, -2, 66, - -1, 1532, - 5, 671, - 18, 671, - 20, 671, - 32, 671, - 82, 671, - -2, 456, - -1, 1742, - 45, 745, - -2, 743, + -1, 1540, + 5, 674, + 18, 674, + 20, 674, + 32, 674, + 82, 674, + -2, 459, + -1, 1750, + 45, 748, + -2, 746, } const yyPrivate = 57344 -const yyLast = 19873 +const yyLast = 20011 var yyAct = [...]int{ - 450, 1825, 1580, 1789, 1449, 1742, 1718, 1836, 1512, 1357, - 394, 1688, 1642, 409, 78, 3, 1325, 1665, 1083, 1209, - 1203, 1358, 1509, 1425, 1167, 1157, 1158, 423, 629, 810, - 1513, 1154, 632, 817, 929, 766, 1031, 1402, 1426, 1524, - 1038, 1284, 665, 1211, 1469, 962, 113, 1497, 919, 125, - 1344, 363, 125, 626, 974, 461, 1418, 375, 854, 125, - 1115, 1133, 494, 1172, 1122, 76, 470, 382, 815, 424, - 32, 847, 1085, 820, 840, 396, 804, 838, 701, 455, - 1008, 1233, 1064, 1212, 703, 1098, 851, 375, 633, 1199, - 375, 125, 375, 625, 853, 74, 1138, 827, 385, 392, - 977, 1041, 32, 844, 994, 837, 1080, 1081, 73, 779, - 125, 125, 1800, 79, 1323, 31, 104, 780, 125, 105, - 658, 1739, 1565, 125, 114, 115, 116, 1690, 383, 384, - 1652, 1829, 1786, 1823, 75, 1765, 1764, 1815, 1581, 1785, - 1486, 8, 7, 6, 457, 1610, 641, 1324, 81, 82, - 83, 84, 85, 86, 1538, 476, 480, 1729, 728, 727, - 737, 738, 730, 731, 732, 733, 734, 735, 736, 729, - 1148, 491, 739, 488, 1388, 1188, 699, 1387, 354, 673, - 1389, 33, 1216, 454, 67, 37, 38, 355, 453, 435, - 456, 441, 442, 439, 440, 352, 438, 437, 436, 1410, - 1440, 1539, 1540, 1214, 1439, 1182, 443, 444, 101, 118, - 119, 120, 1149, 1150, 101, 109, 855, 110, 856, 1645, - 643, 682, 683, 642, 1451, 1767, 1082, 96, 684, 349, - 645, 1189, 685, 682, 683, 1601, 1599, 373, 361, 993, - 114, 115, 116, 1470, 377, 114, 115, 116, 371, 1574, - 1436, 698, 951, 1221, 1821, 66, 1575, 922, 677, 678, - 697, 995, 996, 997, 674, 675, 676, 679, 33, 34, - 35, 67, 37, 38, 1213, 653, 1223, 341, 1224, 1225, - 101, 93, 1454, 1263, 1472, 1453, 948, 97, 71, 1814, - 98, 99, 1452, 39, 64, 65, 1802, 62, 950, 1719, - 1116, 952, 1255, 63, 343, 344, 345, 1748, 359, 360, - 366, 690, 1813, 692, 356, 358, 367, 346, 347, 369, - 368, 1801, 348, 1842, 342, 351, 364, 1207, 657, 111, - 644, 1207, 51, 1474, 949, 1478, 1545, 1473, 638, 1471, - 482, 125, 66, 1207, 1476, 689, 691, 628, 1326, 1328, - 1455, 100, 956, 1475, 1730, 686, 688, 100, 704, 1435, - 1176, 1496, 1495, 1494, 375, 639, 1477, 1479, 340, 117, - 1262, 1746, 1564, 1261, 751, 752, 651, 1631, 375, 375, - 1537, 1349, 1313, 1763, 1292, 1144, 668, 669, 670, 671, - 672, 1840, 831, 764, 710, 662, 1155, 887, 1189, 1708, - 739, 1252, 1384, 695, 1094, 700, 1303, 1254, 42, 44, - 47, 46, 49, 729, 61, 716, 739, 1768, 1438, 990, - 656, 719, 1721, 100, 114, 115, 116, 1215, 930, 1300, - 89, 719, 1522, 702, 975, 1222, 1327, 50, 70, 69, - 718, 716, 59, 60, 48, 923, 857, 1780, 365, 32, - 648, 714, 649, 687, 125, 650, 978, 719, 667, 1488, - 748, 750, 1065, 103, 1310, 1065, 925, 749, 1408, 90, - 52, 53, 808, 54, 55, 56, 57, 1751, 1556, 375, - 68, 680, 125, 1179, 125, 125, 1175, 375, 824, 807, - 1180, 763, 1651, 375, 1650, 768, 769, 770, 771, 772, - 773, 774, 775, 875, 778, 781, 781, 781, 787, 781, - 781, 787, 781, 795, 796, 797, 798, 799, 800, 801, - 802, 713, 711, 712, 694, 1176, 1570, 32, 805, 1838, - 1709, 1707, 1839, 1253, 1837, 1251, 696, 821, 751, 752, - 767, 659, 660, 976, 888, 836, 782, 784, 786, 788, - 790, 792, 793, 842, 783, 785, 66, 789, 791, 1015, - 794, 751, 752, 637, 666, 979, 1422, 68, 1011, 819, - 1421, 491, 809, 1013, 1014, 1012, 652, 1816, 1219, 114, - 115, 116, 901, 904, 905, 906, 907, 908, 909, 1843, - 910, 911, 912, 913, 914, 889, 890, 891, 892, 873, - 874, 902, 1499, 876, 1817, 877, 878, 879, 880, 881, - 882, 883, 884, 885, 886, 893, 894, 895, 896, 897, - 898, 899, 900, 1096, 1819, 125, 1423, 1807, 465, 915, - 1818, 732, 733, 734, 735, 736, 729, 1809, 125, 739, - 926, 927, 1577, 1797, 717, 718, 716, 945, 375, 1778, - 1500, 1175, 125, 1678, 1808, 1844, 1648, 125, 1619, 640, - 125, 961, 719, 125, 727, 737, 738, 730, 731, 732, - 733, 734, 735, 736, 729, 125, 1501, 739, 717, 718, - 716, 1431, 903, 1419, 1274, 1095, 1490, 375, 375, 375, - 375, 125, 375, 375, 966, 451, 719, 1521, 1099, 1100, - 1299, 852, 1069, 75, 717, 718, 716, 965, 1003, 1005, - 1006, 1277, 1278, 1279, 481, 1004, 968, 702, 970, 971, - 972, 973, 719, 1705, 1820, 964, 947, 730, 731, 732, - 733, 734, 735, 736, 729, 1714, 980, 739, 1705, 1761, - 1032, 114, 115, 116, 126, 1033, 1713, 126, 1662, 1034, - 1009, 1434, 376, 1177, 126, 1510, 702, 702, 702, 702, - 957, 702, 702, 375, 1521, 981, 982, 983, 984, 643, - 986, 987, 642, 717, 718, 716, 1626, 717, 718, 716, - 465, 464, 376, 1053, 1056, 376, 126, 376, 486, 1066, - 715, 719, 1757, 465, 988, 719, 375, 375, 1010, 483, - 484, 1048, 1720, 1298, 1345, 126, 126, 125, 1705, 1755, - 1043, 1297, 1118, 126, 114, 115, 116, 1378, 126, 375, - 717, 718, 716, 1705, 1747, 1139, 125, 1044, 1560, 375, - 717, 718, 716, 125, 1119, 125, 1705, 465, 719, 1074, - 1075, 1705, 1704, 125, 125, 918, 1641, 1345, 719, 1042, - 375, 1035, 1036, 375, 114, 115, 116, 1134, 1443, 1618, - 465, 1045, 1119, 1089, 375, 375, 767, 1629, 465, 1392, - 1049, 1050, 1119, 1101, 1055, 1058, 1059, 1113, 737, 738, - 730, 731, 732, 733, 734, 735, 736, 729, 1109, 1147, - 739, 1562, 1561, 1174, 1044, 1316, 114, 115, 116, 1073, - 1391, 1140, 1076, 1077, 412, 411, 414, 415, 416, 417, - 1140, 1243, 1135, 413, 418, 1521, 1042, 1558, 1559, 375, - 1183, 77, 1184, 1185, 1186, 1187, 1111, 114, 115, 116, - 1230, 1231, 1558, 1557, 491, 1205, 1145, 491, 1195, 1196, - 1197, 1198, 1142, 1108, 1206, 1146, 33, 1137, 1159, 125, - 125, 125, 125, 125, 1107, 465, 125, 125, 1162, 33, - 125, 375, 1141, 1229, 33, 1239, 1240, 1241, 1119, 465, - 1143, 1141, 715, 465, 918, 917, 125, 125, 125, 1139, - 864, 863, 1315, 458, 1352, 1107, 1107, 1139, 1097, 125, - 1078, 955, 125, 375, 849, 66, 1798, 1667, 1661, 1232, - 1637, 1201, 1202, 920, 1204, 1218, 1353, 1217, 1576, 1549, - 1228, 1695, 1107, 1653, 916, 1248, 1396, 1268, 1200, 1194, - 66, 1193, 91, 1272, 1657, 1428, 636, 1427, 1525, 1526, - 702, 1804, 1450, 66, 1668, 1216, 126, 1242, 66, 1267, - 1009, 1831, 1247, 1244, 1235, 1245, 1238, 1826, 1234, 1531, - 1551, 1528, 1236, 1237, 1190, 1191, 1192, 66, 1510, 376, - 1654, 1655, 1656, 1441, 991, 959, 1246, 1369, 1658, 1659, - 1367, 1428, 1370, 376, 376, 1368, 1530, 1366, 1371, 125, - 1128, 1129, 1365, 1784, 1502, 1334, 818, 125, 1010, 1782, - 1630, 1343, 1342, 1280, 1773, 1124, 1127, 1128, 1129, 1125, - 1770, 1126, 1130, 1806, 1294, 1525, 1526, 1788, 1790, 125, - 1332, 1796, 1291, 1795, 1743, 457, 1741, 954, 1333, 1331, - 125, 125, 125, 125, 125, 1293, 452, 1432, 1427, 1359, - 1354, 1338, 125, 1061, 1414, 928, 125, 862, 664, 125, - 125, 1289, 1290, 125, 125, 125, 1309, 1062, 811, 126, - 1376, 1407, 107, 805, 1329, 1322, 1390, 1624, 375, 1330, - 812, 456, 1307, 1753, 1752, 1350, 1337, 1397, 1693, 1405, - 1347, 389, 1403, 1403, 376, 1579, 1348, 126, 842, 126, - 126, 1346, 376, 1398, 1393, 1355, 1356, 1092, 376, 842, - 842, 842, 842, 842, 1226, 1372, 958, 1377, 1361, 1362, - 1379, 1364, 1099, 1100, 1381, 1135, 1385, 964, 842, 1715, - 1404, 1132, 842, 95, 462, 1382, 1395, 375, 459, 460, - 1413, 1341, 1415, 1416, 1417, 1360, 1622, 1811, 1363, 1340, - 1442, 1810, 1793, 1399, 1400, 1401, 1774, 1124, 1127, 1128, - 1129, 1125, 1159, 1126, 1130, 1623, 471, 463, 1430, 77, - 125, 1420, 1505, 1345, 1429, 1304, 375, 1301, 108, 832, - 472, 121, 825, 465, 1833, 1832, 1833, 375, 728, 727, - 737, 738, 730, 731, 732, 733, 734, 735, 736, 729, - 1744, 1646, 739, 822, 823, 474, 1093, 473, 458, 75, - 80, 72, 1, 375, 350, 1079, 803, 362, 1824, 1032, - 112, 1444, 1582, 728, 727, 737, 738, 730, 731, 732, - 733, 734, 735, 736, 729, 1664, 1445, 739, 1447, 935, - 126, 1717, 1227, 1459, 1468, 1285, 1457, 1467, 1458, 1424, - 375, 1210, 1465, 126, 471, 1480, 702, 1165, 1156, 88, - 125, 1487, 623, 376, 1481, 1456, 87, 126, 472, 693, - 375, 1164, 126, 1163, 1706, 126, 375, 375, 126, 1043, - 1411, 1412, 1511, 1359, 1409, 1181, 1644, 1550, 1406, 1750, - 126, 468, 469, 474, 870, 473, 1044, 1466, 868, 125, - 869, 1514, 376, 376, 376, 376, 126, 376, 376, 867, - 872, 871, 866, 375, 992, 375, 372, 375, 1491, 1131, - 1403, 1403, 1403, 1529, 1519, 858, 1508, 826, 1520, 1250, - 1249, 931, 1563, 1178, 989, 1555, 357, 681, 1541, 353, - 747, 1542, 1544, 1515, 1339, 32, 1174, 1386, 1533, 1543, - 1535, 492, 1536, 1571, 1466, 485, 125, 1546, 1547, 1548, - 1534, 1660, 125, 1553, 1554, 1516, 94, 1794, 842, 1771, - 1567, 1583, 375, 375, 375, 1769, 125, 1740, 376, 1689, - 1772, 1738, 1568, 1569, 1566, 1805, 1787, 1091, 1046, 1047, - 814, 1621, 1504, 1308, 776, 1063, 841, 1159, 395, 1159, - 1002, 410, 407, 408, 1102, 1351, 721, 393, 387, 833, - 1123, 376, 376, 1121, 1120, 1597, 845, 1527, 1523, 839, - 1588, 1589, 126, 1106, 1437, 921, 1220, 1573, 635, 467, - 92, 1090, 1060, 1728, 376, 1609, 466, 58, 36, 1594, - 1595, 126, 1596, 1592, 376, 1598, 379, 1600, 126, 1799, - 126, 1779, 1359, 706, 1625, 475, 30, 29, 126, 126, - 28, 23, 375, 1634, 22, 376, 21, 20, 376, 19, - 375, 25, 18, 17, 1633, 16, 1608, 1613, 106, 376, - 376, 102, 45, 43, 1614, 1615, 1616, 1639, 1393, 753, - 754, 755, 756, 757, 758, 759, 760, 761, 762, 41, - 40, 654, 375, 27, 26, 1640, 15, 14, 13, 12, - 11, 10, 9, 5, 4, 709, 1671, 24, 728, 727, - 737, 738, 730, 731, 732, 733, 734, 735, 736, 729, - 765, 2, 739, 0, 376, 375, 375, 375, 125, 375, - 0, 0, 1669, 0, 0, 0, 1159, 1681, 1683, 1684, - 375, 0, 375, 0, 0, 0, 1685, 0, 375, 1698, - 0, 0, 421, 1696, 126, 126, 126, 126, 126, 1663, - 1701, 126, 126, 0, 1514, 126, 376, 1694, 1514, 1692, - 1710, 1703, 375, 0, 0, 1677, 1666, 0, 375, 125, - 0, 126, 126, 126, 1716, 0, 1620, 0, 0, 1711, - 1722, 1712, 0, 0, 126, 0, 0, 126, 376, 1700, - 0, 0, 0, 0, 0, 1702, 1515, 0, 32, 374, - 1515, 0, 1737, 0, 1745, 0, 375, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 375, 375, 375, 1514, 0, 0, 0, 0, 0, 493, - 1754, 0, 627, 1647, 634, 1649, 0, 1287, 1759, 0, - 0, 1288, 0, 0, 0, 0, 0, 375, 1760, 125, - 1766, 0, 1295, 1296, 1775, 1359, 0, 0, 1302, 0, - 0, 1305, 1306, 0, 1781, 1515, 1783, 0, 0, 1312, - 0, 1670, 1791, 1314, 126, 1792, 1317, 1318, 1319, 1320, - 1321, 0, 126, 0, 0, 32, 1803, 0, 0, 0, - 0, 0, 0, 0, 0, 1687, 941, 0, 0, 375, - 0, 0, 0, 0, 126, 1666, 1159, 0, 0, 0, - 940, 1812, 0, 0, 0, 126, 126, 126, 126, 126, - 0, 0, 0, 0, 0, 0, 1830, 126, 0, 0, - 0, 126, 0, 0, 126, 126, 1374, 1375, 126, 126, - 126, 1841, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 376, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 939, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1822, 0, 0, 0, 0, 0, - 0, 0, 0, 1007, 0, 0, 1016, 1017, 1018, 1019, - 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, - 1030, 0, 376, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1612, 0, 936, 933, 934, - 0, 932, 0, 0, 0, 0, 0, 806, 0, 0, - 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, - 0, 376, 0, 1070, 0, 0, 0, 0, 0, 1607, - 0, 0, 376, 0, 943, 946, 728, 727, 737, 738, - 730, 731, 732, 733, 734, 735, 736, 729, 0, 0, - 739, 0, 0, 0, 0, 0, 123, 0, 376, 0, - 0, 0, 1463, 1464, 0, 0, 378, 0, 0, 0, - 1606, 0, 0, 0, 0, 0, 493, 0, 0, 0, - 0, 0, 0, 0, 0, 478, 938, 0, 0, 0, - 705, 707, 0, 0, 0, 376, 0, 0, 631, 0, - 0, 0, 0, 0, 0, 126, 0, 0, 937, 0, - 0, 0, 0, 0, 0, 376, 0, 646, 647, 0, - 1605, 376, 376, 0, 0, 655, 0, 0, 1517, 0, - 661, 728, 727, 737, 738, 730, 731, 732, 733, 734, - 735, 736, 729, 0, 126, 739, 0, 0, 386, 1532, - 0, 0, 0, 0, 0, 0, 942, 0, 376, 0, - 376, 0, 376, 0, 0, 0, 0, 0, 0, 1604, - 0, 944, 728, 727, 737, 738, 730, 731, 732, 733, - 734, 735, 736, 729, 0, 0, 739, 0, 0, 0, - 0, 829, 0, 0, 0, 0, 0, 0, 0, 493, - 0, 126, 0, 0, 0, 859, 0, 126, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 376, 376, 376, - 0, 126, 728, 727, 737, 738, 730, 731, 732, 733, - 734, 735, 736, 729, 0, 0, 739, 0, 1591, 0, - 0, 0, 1593, 0, 0, 0, 422, 0, 0, 0, - 0, 0, 0, 1602, 1603, 1281, 1282, 1283, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1617, 728, 727, 737, 738, 730, 731, 732, 733, 734, - 735, 736, 729, 0, 0, 739, 0, 0, 1627, 1628, - 0, 0, 1632, 0, 0, 124, 1460, 0, 370, 0, - 0, 0, 0, 0, 0, 124, 0, 376, 0, 0, - 0, 0, 0, 0, 0, 376, 728, 727, 737, 738, - 730, 731, 732, 733, 734, 735, 736, 729, 479, 479, - 739, 0, 0, 0, 0, 0, 0, 124, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 376, 663, 0, - 0, 0, 0, 0, 0, 0, 124, 124, 0, 0, - 493, 0, 0, 0, 124, 0, 0, 0, 0, 124, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 376, 376, 376, 126, 376, 0, 1286, 1682, 0, 0, - 0, 0, 0, 0, 0, 376, 0, 376, 0, 493, - 493, 493, 493, 376, 493, 493, 728, 727, 737, 738, - 730, 731, 732, 733, 734, 735, 736, 729, 0, 0, - 739, 0, 0, 0, 0, 0, 0, 376, 0, 0, - 0, 0, 0, 376, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1724, 1725, 1726, 1727, 0, - 1731, 0, 1732, 1733, 1734, 0, 1735, 1736, 728, 727, - 737, 738, 730, 731, 732, 733, 734, 735, 736, 729, - 0, 376, 739, 0, 720, 1037, 0, 493, 0, 0, - 0, 0, 0, 0, 0, 376, 376, 376, 0, 835, - 1756, 1067, 846, 0, 0, 0, 0, 0, 0, 0, - 0, 1762, 0, 0, 0, 0, 0, 0, 1071, 1072, - 386, 0, 376, 0, 126, 0, 0, 0, 0, 777, - 0, 0, 0, 0, 0, 0, 0, 1461, 1462, 0, - 0, 1103, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 829, 1482, 1483, 493, 1484, 1485, 0, 813, 816, - 0, 0, 0, 0, 0, 0, 0, 1492, 1493, 0, - 0, 0, 493, 0, 376, 493, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 493, 627, 0, 0, + 452, 1844, 1833, 1588, 1750, 1457, 1797, 1726, 1650, 396, + 1166, 1365, 425, 1673, 1696, 1217, 1520, 1333, 411, 1091, + 1517, 1366, 1521, 1211, 1410, 78, 3, 1165, 1433, 934, + 631, 771, 1352, 1162, 1434, 634, 815, 1175, 1039, 1532, + 463, 1505, 1477, 981, 822, 496, 113, 1046, 1219, 125, + 1292, 365, 125, 967, 384, 1141, 1426, 377, 628, 125, + 1130, 859, 1123, 843, 472, 820, 852, 1180, 825, 842, + 1093, 809, 31, 811, 1241, 667, 76, 1016, 1072, 457, + 1220, 398, 627, 845, 426, 32, 1106, 377, 858, 1146, + 377, 125, 377, 635, 387, 856, 832, 1207, 924, 394, + 849, 74, 1088, 1089, 984, 104, 105, 784, 1002, 73, + 125, 125, 1331, 706, 1049, 385, 386, 32, 125, 785, + 660, 1808, 123, 125, 1747, 8, 114, 115, 116, 7, + 79, 1573, 380, 1660, 1698, 1837, 1794, 1224, 6, 1196, + 1831, 75, 1773, 1823, 1589, 1793, 1772, 458, 1494, 1618, + 478, 482, 33, 643, 1332, 67, 37, 38, 1222, 459, + 101, 118, 119, 120, 633, 81, 82, 83, 84, 85, + 86, 1448, 1546, 1396, 96, 1447, 1395, 1157, 1158, 1397, + 356, 1156, 490, 648, 649, 677, 114, 115, 116, 357, + 675, 657, 1547, 1548, 704, 456, 663, 354, 437, 455, + 443, 444, 441, 442, 1418, 440, 439, 438, 1190, 645, + 644, 101, 109, 1459, 110, 445, 446, 860, 1653, 861, + 686, 687, 1090, 647, 1775, 1197, 66, 101, 93, 1221, + 1609, 351, 1607, 375, 97, 1077, 1444, 98, 99, 1001, + 363, 1737, 733, 732, 742, 743, 735, 736, 737, 738, + 739, 740, 741, 734, 379, 1478, 744, 695, 688, 697, + 373, 1229, 689, 686, 687, 1829, 1003, 1004, 1005, 703, + 678, 1582, 114, 115, 116, 676, 681, 682, 1583, 342, + 1231, 1460, 1232, 1233, 956, 927, 679, 680, 702, 683, + 655, 694, 696, 1462, 1271, 1461, 1480, 953, 955, 1822, + 1810, 1727, 1756, 1124, 100, 1263, 344, 345, 346, 1215, + 361, 362, 368, 630, 466, 700, 358, 360, 369, 347, + 348, 371, 370, 646, 350, 349, 111, 343, 353, 366, + 1215, 1809, 1821, 957, 954, 1553, 1850, 1215, 1716, 1334, + 1336, 1184, 125, 659, 640, 1482, 484, 1486, 1260, 1481, + 1848, 1479, 1463, 961, 1262, 100, 1484, 690, 693, 709, + 1443, 1504, 1503, 1502, 641, 1483, 377, 653, 1184, 341, + 117, 100, 1270, 1311, 1754, 1269, 756, 757, 1485, 1487, + 377, 377, 1572, 1223, 1639, 692, 708, 1545, 1357, 1321, + 1446, 1300, 1152, 836, 1771, 114, 115, 116, 769, 664, + 691, 737, 738, 739, 740, 741, 734, 715, 1163, 744, + 1308, 114, 115, 116, 744, 665, 1776, 1392, 1102, 998, + 670, 671, 672, 673, 674, 1197, 721, 1335, 735, 736, + 737, 738, 739, 740, 741, 734, 699, 89, 744, 1738, + 705, 650, 724, 651, 734, 1023, 652, 744, 701, 669, + 707, 367, 68, 724, 982, 1788, 125, 985, 1729, 1021, + 1022, 1020, 935, 1530, 1230, 1564, 32, 1183, 658, 1717, + 1715, 928, 1496, 493, 103, 754, 90, 753, 755, 862, + 1261, 377, 1259, 719, 125, 813, 125, 125, 1846, 377, + 684, 1847, 1073, 1845, 1183, 377, 1073, 1187, 1318, 772, + 930, 1416, 812, 1759, 1188, 756, 757, 718, 768, 807, + 829, 716, 773, 774, 775, 776, 777, 778, 779, 780, + 717, 783, 786, 786, 786, 792, 786, 786, 792, 786, + 800, 801, 802, 803, 804, 805, 806, 826, 1824, 810, + 1815, 841, 756, 757, 32, 1659, 787, 789, 791, 793, + 795, 797, 798, 1658, 946, 668, 639, 840, 788, 790, + 851, 794, 796, 983, 799, 1825, 986, 1816, 945, 1307, + 847, 733, 732, 742, 743, 735, 736, 737, 738, 739, + 740, 741, 734, 1251, 824, 744, 728, 654, 731, 661, + 662, 814, 1851, 1578, 745, 746, 747, 748, 749, 750, + 751, 1430, 729, 730, 727, 733, 732, 742, 743, 735, + 736, 737, 738, 739, 740, 741, 734, 66, 1429, 744, + 1227, 114, 115, 116, 1285, 1286, 1287, 125, 1293, 1019, + 467, 920, 944, 722, 723, 721, 1827, 1247, 1248, 1249, + 125, 1498, 931, 932, 723, 721, 722, 723, 721, 950, + 377, 724, 642, 1507, 125, 1826, 1817, 1805, 1852, 125, + 1786, 724, 125, 966, 724, 125, 742, 743, 735, 736, + 737, 738, 739, 740, 741, 734, 1306, 125, 744, 125, + 1686, 722, 723, 721, 1305, 941, 938, 939, 1656, 937, + 1585, 377, 377, 125, 377, 377, 125, 377, 377, 724, + 870, 1508, 1627, 722, 723, 721, 114, 115, 116, 1250, + 969, 1509, 1439, 929, 1255, 1252, 1243, 1253, 1246, 1427, + 1242, 724, 948, 951, 1244, 1245, 1282, 958, 1431, 987, + 971, 1722, 851, 1721, 707, 965, 483, 1670, 1254, 75, + 1017, 77, 970, 1107, 1108, 1040, 722, 723, 721, 1442, + 974, 973, 976, 975, 1042, 977, 978, 979, 980, 962, + 645, 644, 1353, 952, 724, 1386, 990, 857, 377, 993, + 1011, 1013, 1014, 1147, 943, 707, 707, 1012, 707, 707, + 1518, 707, 707, 1185, 1104, 1713, 1828, 1061, 1064, 1529, + 114, 115, 116, 1074, 1041, 1116, 942, 1713, 1769, 66, + 33, 377, 377, 996, 988, 989, 1115, 991, 992, 1018, + 994, 995, 125, 1765, 467, 1052, 467, 1056, 722, 723, + 721, 485, 486, 1051, 377, 114, 115, 116, 772, 1451, + 1127, 125, 1713, 1763, 377, 1529, 724, 1126, 125, 1634, + 125, 1713, 1755, 1713, 467, 947, 1103, 1703, 125, 125, + 720, 1082, 1083, 1097, 488, 377, 1043, 1044, 377, 1728, + 949, 1713, 1712, 1109, 1115, 722, 723, 721, 1568, 377, + 377, 1806, 1053, 1142, 66, 493, 414, 413, 416, 417, + 418, 419, 1052, 724, 1127, 415, 420, 1127, 1057, 1058, + 1121, 1117, 1063, 1066, 1067, 114, 115, 116, 33, 1399, + 1182, 114, 115, 116, 1118, 1239, 923, 1649, 1626, 467, + 1400, 1122, 1148, 1125, 1637, 467, 1155, 1081, 1570, 1569, + 1084, 1085, 1144, 1360, 377, 1566, 1567, 1566, 1565, 1148, + 1119, 1353, 1143, 1115, 467, 1238, 1127, 467, 720, 467, + 1150, 923, 922, 1213, 1154, 1361, 869, 868, 33, 1145, + 1153, 1214, 1170, 1324, 125, 125, 125, 125, 125, 1323, + 1115, 125, 125, 1237, 1147, 125, 377, 460, 1105, 1086, + 960, 1661, 66, 1149, 854, 1191, 1675, 1192, 1193, 1194, + 1195, 1151, 1669, 125, 125, 125, 1645, 925, 1212, 1584, + 1149, 1240, 1557, 1203, 1204, 1205, 1206, 125, 1147, 1529, + 125, 377, 453, 921, 1404, 1208, 1054, 1055, 1202, 1201, + 91, 1226, 1236, 1256, 1209, 1210, 1435, 1225, 1662, 1663, + 1664, 1436, 66, 1198, 1199, 1200, 638, 1264, 1265, 1266, + 1267, 1268, 1458, 1017, 1272, 1273, 1665, 1676, 1274, 1533, + 1534, 66, 1224, 1839, 1834, 1559, 1536, 1518, 1449, 1098, + 707, 126, 999, 964, 126, 1539, 1538, 1276, 1279, 378, + 1436, 126, 1374, 1280, 1373, 1132, 1135, 1136, 1137, 1133, + 1281, 1134, 1138, 1283, 1342, 1533, 1534, 1377, 1375, 1275, + 1666, 1667, 1378, 1376, 823, 1812, 1792, 125, 1379, 378, + 1136, 1137, 378, 126, 378, 125, 1510, 1302, 1288, 1790, + 1638, 1351, 1018, 1132, 1135, 1136, 1137, 1133, 1350, 1134, + 1138, 1781, 126, 126, 1778, 1814, 1796, 125, 1798, 1340, + 126, 1804, 1803, 1751, 1749, 126, 458, 1341, 125, 125, + 125, 125, 125, 1301, 1339, 1299, 1367, 959, 459, 454, + 125, 95, 1440, 1069, 125, 1435, 1346, 125, 125, 1362, + 1317, 125, 125, 125, 1422, 1358, 1050, 1070, 1330, 933, + 867, 391, 1297, 1298, 1398, 1338, 377, 816, 666, 1384, + 810, 1345, 1355, 1415, 107, 1405, 1401, 1337, 1761, 817, + 1411, 1411, 1356, 1315, 1354, 1760, 108, 1701, 1413, 121, + 1406, 1632, 1369, 1370, 1587, 1372, 1100, 1368, 969, 1380, + 1371, 847, 1387, 1107, 1108, 1412, 1389, 1385, 1363, 1364, + 1234, 963, 847, 847, 847, 847, 847, 1393, 1390, 1723, + 1140, 1388, 464, 1050, 1819, 377, 461, 462, 1143, 1403, + 1421, 847, 1423, 1424, 1425, 847, 1818, 77, 1450, 1801, + 1782, 493, 473, 1630, 493, 1407, 1408, 1409, 473, 1349, + 1631, 1438, 465, 1513, 1353, 1167, 474, 1348, 125, 1428, + 1841, 1840, 474, 1312, 377, 1309, 837, 1437, 830, 1841, + 1752, 1654, 1101, 460, 75, 377, 80, 72, 1295, 827, + 828, 476, 1296, 475, 1, 470, 471, 476, 352, 475, + 1087, 808, 364, 1303, 1304, 1832, 1452, 112, 1590, 1310, + 1672, 377, 1313, 1314, 940, 1725, 1235, 1040, 1432, 1218, + 1320, 1453, 1173, 1455, 1322, 1164, 88, 1325, 1326, 1327, + 1328, 1329, 625, 1465, 87, 1466, 698, 1172, 1171, 1714, + 1417, 1454, 1419, 1420, 1189, 1652, 1558, 1414, 377, 1476, + 1467, 1758, 875, 873, 126, 1488, 1475, 1473, 125, 874, + 1489, 872, 877, 876, 871, 1000, 374, 1139, 377, 707, + 1495, 863, 831, 1258, 377, 377, 1257, 1052, 378, 936, + 1367, 1571, 1519, 1186, 1522, 1051, 997, 1382, 1383, 359, + 685, 355, 378, 378, 752, 1347, 1394, 125, 1464, 494, + 487, 1668, 1524, 94, 1802, 1779, 1777, 1748, 1528, 1516, + 1697, 377, 1780, 377, 1746, 377, 1527, 1813, 1411, 1411, + 1411, 1537, 1795, 1550, 1099, 819, 1629, 1512, 1541, 1316, + 1543, 1511, 1544, 1563, 781, 1071, 846, 397, 1549, 1010, + 412, 409, 1554, 1555, 1556, 410, 1182, 1110, 1359, 726, + 1551, 1579, 1542, 1552, 125, 395, 1523, 389, 32, 838, + 125, 1131, 1129, 1561, 1562, 1128, 850, 1535, 126, 1591, + 377, 377, 377, 1575, 125, 1576, 1577, 1531, 1574, 844, + 1114, 847, 732, 742, 743, 735, 736, 737, 738, 739, + 740, 741, 734, 378, 1445, 744, 126, 926, 126, 126, + 1228, 378, 1581, 637, 469, 92, 1068, 378, 1736, 1617, + 468, 58, 36, 381, 1807, 1787, 1605, 711, 477, 30, + 29, 28, 23, 22, 21, 20, 1600, 1580, 19, 25, + 18, 17, 16, 1586, 106, 102, 45, 43, 41, 40, + 656, 27, 26, 1471, 1472, 15, 14, 1595, 13, 1367, + 1633, 1596, 1597, 12, 11, 10, 9, 5, 4, 714, + 377, 1642, 1167, 24, 770, 2, 0, 0, 377, 0, + 1401, 758, 759, 760, 761, 762, 763, 764, 765, 766, + 767, 0, 0, 1641, 0, 1648, 0, 1602, 1603, 1616, + 1604, 0, 0, 1606, 0, 1608, 1647, 1622, 1623, 1624, + 377, 0, 0, 0, 0, 0, 0, 0, 0, 1525, + 0, 0, 0, 0, 1679, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, + 1540, 0, 0, 377, 377, 377, 125, 377, 0, 126, + 0, 1689, 1691, 1692, 0, 0, 0, 1677, 377, 0, + 377, 0, 126, 0, 0, 1693, 377, 1522, 1628, 0, + 0, 1522, 378, 0, 1709, 1706, 126, 1702, 1685, 0, + 0, 126, 1704, 1700, 126, 1711, 0, 126, 0, 0, + 377, 376, 1671, 1718, 0, 0, 377, 125, 1724, 126, + 0, 126, 1708, 0, 1730, 0, 0, 1474, 1710, 1719, + 0, 1720, 0, 378, 378, 126, 378, 378, 126, 378, + 378, 495, 0, 0, 629, 1655, 636, 1657, 1499, 1599, + 0, 1745, 0, 1601, 377, 0, 1522, 0, 0, 1523, + 1753, 32, 0, 1523, 1610, 1611, 0, 0, 377, 377, + 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1768, 1625, 1767, 1678, 1474, 0, 0, 0, 0, 1762, + 1731, 0, 0, 0, 480, 377, 0, 125, 0, 1635, + 1636, 1774, 1367, 1640, 1783, 0, 0, 1695, 0, 0, + 378, 0, 0, 1789, 0, 1791, 0, 0, 0, 0, + 0, 0, 1800, 1799, 0, 0, 0, 1167, 1523, 1167, + 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, + 0, 0, 0, 378, 378, 0, 0, 377, 32, 0, + 0, 0, 0, 0, 126, 1820, 0, 388, 0, 0, + 0, 0, 0, 0, 892, 0, 378, 0, 0, 0, + 1785, 0, 1621, 126, 0, 1838, 378, 0, 0, 0, + 126, 0, 126, 1849, 0, 0, 0, 0, 0, 0, + 126, 126, 0, 0, 0, 0, 0, 378, 1690, 0, + 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 378, 378, 733, 732, 742, 743, 735, 736, 737, + 738, 739, 740, 741, 734, 0, 0, 744, 1015, 0, + 0, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, + 1033, 1034, 1035, 1036, 1037, 1038, 0, 1830, 0, 0, + 0, 0, 0, 0, 0, 0, 1732, 1733, 1734, 1735, + 0, 1739, 0, 1740, 1741, 1742, 378, 1743, 1744, 0, + 880, 0, 0, 0, 0, 0, 1167, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1078, 0, + 0, 0, 0, 0, 0, 0, 126, 126, 126, 126, + 126, 1764, 0, 126, 126, 0, 0, 126, 378, 0, + 0, 893, 1770, 0, 0, 0, 1674, 0, 0, 0, + 495, 0, 0, 0, 0, 126, 126, 126, 0, 0, + 0, 0, 0, 0, 710, 712, 0, 0, 0, 126, + 0, 0, 126, 378, 0, 0, 0, 0, 0, 906, + 909, 910, 911, 912, 913, 914, 0, 915, 916, 917, + 918, 919, 894, 895, 896, 897, 878, 879, 907, 0, + 881, 0, 882, 883, 884, 885, 886, 887, 888, 889, + 890, 891, 898, 899, 900, 901, 902, 903, 904, 905, + 0, 0, 0, 1468, 1615, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 33, 34, 35, 67, 37, + 38, 1842, 1843, 733, 732, 742, 743, 735, 736, 737, + 738, 739, 740, 741, 734, 71, 0, 744, 0, 126, + 39, 64, 65, 0, 62, 834, 0, 126, 0, 0, + 63, 0, 0, 495, 0, 0, 0, 0, 0, 864, + 908, 0, 0, 0, 0, 1674, 1167, 0, 0, 126, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 126, 126, 126, 126, 126, 0, 0, 0, 0, 66, + 0, 0, 126, 0, 0, 725, 126, 0, 0, 126, + 126, 0, 0, 126, 126, 126, 733, 732, 742, 743, + 735, 736, 737, 738, 739, 740, 741, 734, 378, 0, + 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 388, 0, 1289, 1290, 1291, 0, 0, 0, 0, + 782, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 467, 0, 0, 42, 44, 47, 46, 49, + 0, 61, 0, 0, 0, 0, 0, 0, 0, 818, + 821, 0, 0, 1614, 0, 0, 0, 378, 0, 0, + 0, 0, 0, 0, 50, 70, 69, 1620, 0, 59, + 60, 48, 733, 732, 742, 743, 735, 736, 737, 738, + 739, 740, 741, 734, 0, 0, 744, 0, 0, 0, + 126, 0, 0, 0, 495, 424, 378, 52, 53, 0, + 54, 55, 56, 57, 0, 0, 0, 378, 733, 732, + 742, 743, 735, 736, 737, 738, 739, 740, 741, 734, + 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 378, 0, 495, 495, 0, 495, 495, + 0, 495, 495, 0, 124, 0, 0, 372, 0, 0, + 0, 0, 0, 1613, 124, 733, 732, 742, 743, 735, + 736, 737, 738, 739, 740, 741, 734, 0, 0, 744, + 378, 0, 0, 0, 0, 0, 0, 481, 481, 0, + 126, 0, 0, 0, 0, 0, 124, 0, 0, 0, + 378, 0, 0, 0, 0, 68, 378, 378, 0, 0, + 0, 0, 0, 0, 0, 124, 124, 0, 0, 0, + 0, 0, 1045, 124, 495, 1612, 0, 0, 124, 126, + 0, 0, 0, 0, 0, 0, 0, 0, 1075, 0, + 0, 0, 0, 378, 0, 378, 0, 378, 0, 0, + 0, 0, 0, 0, 0, 1079, 1080, 0, 0, 0, + 0, 0, 0, 0, 972, 733, 732, 742, 743, 735, + 736, 737, 738, 739, 740, 741, 734, 0, 1111, 744, + 0, 0, 0, 0, 0, 0, 126, 0, 834, 0, + 0, 495, 126, 0, 0, 1469, 1470, 0, 0, 0, + 0, 0, 378, 378, 378, 0, 126, 0, 0, 495, + 1490, 1491, 495, 1492, 1493, 1006, 1007, 1008, 1009, 0, + 0, 0, 1294, 495, 629, 1500, 1501, 733, 732, 742, + 743, 735, 736, 737, 738, 739, 740, 741, 734, 0, + 0, 744, 733, 732, 742, 743, 735, 736, 737, 738, + 739, 740, 741, 734, 0, 0, 744, 0, 733, 732, + 742, 743, 735, 736, 737, 738, 739, 740, 741, 734, + 1059, 1060, 744, 0, 0, 0, 0, 0, 636, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 378, 0, 0, 0, 0, 0, 0, 0, + 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, + 495, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, - 0, 0, 0, 0, 723, 0, 726, 0, 0, 0, - 1834, 1835, 740, 741, 742, 743, 744, 745, 746, 0, - 724, 725, 722, 728, 727, 737, 738, 730, 731, 732, - 733, 734, 735, 736, 729, 0, 0, 739, 0, 0, - 0, 634, 865, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 924, 0, 0, 0, 1552, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 953, - 0, 0, 0, 0, 846, 0, 0, 960, 0, 0, - 0, 0, 0, 493, 0, 0, 0, 0, 0, 0, - 0, 0, 969, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 985, 0, - 124, 0, 1590, 0, 0, 1276, 0, 0, 0, 0, - 0, 0, 0, 0, 479, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, - 124, 848, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1284, 0, 1161, 0, 0, + 0, 0, 0, 0, 0, 378, 378, 378, 126, 378, + 1598, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 378, 0, 378, 0, 0, 0, 0, 0, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 378, 0, 0, 0, 1216, 0, 378, 126, 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, 998, 999, 1000, 1001, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, + 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, + 378, 378, 378, 0, 0, 481, 0, 0, 0, 0, + 0, 1075, 0, 0, 0, 0, 0, 0, 0, 124, + 0, 124, 853, 0, 0, 0, 0, 378, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1680, 1681, 1682, 1683, 1684, 0, + 495, 0, 1687, 1688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1067, 0, 1110, 0, 0, 0, 0, 0, 0, - 1114, 0, 1117, 0, 0, 0, 1672, 1673, 1674, 1675, - 1676, 1136, 0, 0, 1679, 1680, 1051, 1052, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 493, 124, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, - 0, 0, 0, 124, 0, 0, 124, 0, 0, 963, + 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 124, 0, 0, 0, 0, 0, 0, 0, 1433, - 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, - 0, 0, 0, 1153, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1256, 1257, 1258, 1259, - 1260, 0, 0, 1264, 1265, 0, 0, 1266, 1448, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 493, - 0, 0, 0, 0, 0, 1271, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1273, 0, 0, 1275, - 0, 0, 1208, 0, 0, 493, 0, 0, 0, 0, - 479, 963, 0, 0, 0, 479, 479, 0, 0, 479, - 479, 479, 0, 0, 0, 1068, 493, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1343, 1344, + 821, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1456, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, + 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 495, 0, 0, 0, 124, + 0, 0, 0, 0, 124, 0, 0, 124, 0, 0, + 968, 0, 0, 0, 0, 0, 495, 0, 0, 0, + 0, 0, 124, 0, 124, 0, 0, 0, 0, 0, + 0, 0, 1506, 0, 0, 0, 0, 0, 124, 0, + 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 495, 0, 0, 1075, 0, 0, 1526, 1506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1498, 0, 479, 479, 479, 479, 479, 0, - 0, 0, 0, 1087, 0, 0, 0, 0, 0, 0, - 0, 0, 493, 0, 1827, 1067, 0, 0, 1518, 1498, - 0, 0, 124, 0, 0, 0, 0, 0, 963, 124, - 0, 124, 0, 0, 0, 0, 0, 0, 0, 124, - 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 493, 0, 493, 0, 634, + 0, 0, 1835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 495, 0, 495, 0, 636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 481, 968, 0, 0, 0, 481, + 481, 0, 0, 481, 481, 481, 0, 0, 0, 1076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1380, 0, 0, - 0, 1311, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1584, 1585, 1586, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 481, 481, + 481, 481, 481, 1497, 1592, 1593, 1594, 1095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1335, 1336, 816, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, - 0, 0, 124, 124, 0, 0, 124, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, + 0, 0, 968, 124, 0, 124, 0, 0, 1514, 0, + 0, 0, 0, 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1269, 1270, 124, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1067, 124, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 493, 0, 0, 1446, 0, 0, - 0, 0, 1643, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 479, 479, 0, 0, - 0, 0, 0, 0, 493, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, + 0, 0, 0, 0, 495, 0, 0, 0, 0, 0, + 0, 0, 1651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 124, 0, 1643, 1643, 1643, - 0, 1686, 0, 1087, 0, 0, 0, 0, 0, 0, - 0, 0, 1697, 0, 1699, 0, 0, 1503, 0, 0, - 1643, 0, 0, 0, 479, 124, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1068, 124, 124, 124, 124, - 124, 0, 0, 0, 1643, 0, 0, 0, 1373, 0, - 1643, 0, 124, 0, 0, 124, 124, 0, 0, 124, - 1383, 963, 0, 0, 0, 0, 1489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1749, 0, + 0, 0, 0, 0, 495, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, + 124, 124, 124, 124, 0, 0, 124, 124, 0, 0, + 124, 0, 0, 0, 0, 0, 0, 1651, 1651, 1651, + 0, 1694, 0, 0, 0, 0, 0, 0, 1277, 1278, + 124, 0, 1705, 1619, 1707, 0, 0, 0, 0, 0, + 1651, 0, 124, 0, 0, 124, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, + 0, 0, 0, 0, 1651, 1643, 0, 0, 1644, 0, + 1651, 1646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1506, 1758, 493, 493, 0, 0, 0, 0, 0, - 0, 0, 0, 1572, 0, 0, 0, 0, 0, 1578, - 0, 0, 0, 0, 0, 0, 0, 1067, 0, 1776, - 0, 0, 0, 1587, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 481, 481, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1757, 0, + 0, 0, 0, 0, 481, 0, 0, 0, 0, 0, + 0, 0, 1766, 495, 495, 0, 0, 0, 0, 0, + 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, + 1095, 0, 0, 0, 0, 0, 0, 1075, 0, 1784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 481, 124, 0, 0, 1699, 388, 0, 0, 0, + 0, 0, 1076, 124, 124, 124, 124, 124, 0, 0, + 0, 0, 0, 0, 0, 1381, 0, 0, 0, 124, + 0, 0, 124, 124, 0, 0, 124, 1391, 968, 0, + 0, 1651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1643, 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, 479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 963, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1611, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, - 0, 386, 0, 0, 0, 0, 0, 0, 1635, 0, - 0, 1636, 0, 0, 1638, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1723, 0, 0, 0, - 0, 0, 124, 0, 0, 0, 0, 0, 124, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 124, 0, 0, 0, 0, 0, 1691, 386, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1777, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1068, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 607, 595, 0, 1087, 548, 610, 521, 538, 619, - 539, 542, 580, 505, 561, 237, 536, 0, 525, 501, - 532, 502, 523, 550, 166, 554, 520, 597, 564, 609, - 201, 0, 526, 249, 582, 281, 156, 209, 207, 303, - 171, 167, 165, 155, 188, 214, 248, 299, 242, 616, - 204, 571, 0, 290, 223, 124, 0, 0, 552, 599, - 559, 591, 547, 581, 510, 570, 611, 537, 578, 612, - 192, 154, 131, 234, 291, 173, 0, 0, 0, 114, - 115, 116, 0, 1160, 1161, 0, 0, 0, 0, 0, - 150, 0, 575, 606, 534, 577, 579, 622, 500, 572, - 0, 503, 506, 618, 602, 529, 530, 1394, 0, 0, - 0, 0, 0, 0, 551, 560, 588, 545, 0, 0, - 0, 0, 0, 0, 0, 0, 527, 0, 569, 0, - 0, 1068, 507, 504, 0, 124, 0, 0, 549, 0, - 0, 0, 509, 0, 528, 589, 0, 498, 178, 593, - 601, 546, 327, 605, 544, 543, 608, 261, 0, 295, - 182, 200, 145, 197, 128, 140, 0, 180, 233, 268, - 272, 598, 524, 533, 157, 531, 270, 246, 316, 568, - 250, 269, 205, 305, 262, 315, 328, 329, 163, 227, - 322, 300, 325, 337, 141, 160, 240, 296, 319, 287, - 222, 302, 196, 286, 133, 298, 313, 151, 280, 0, - 0, 0, 135, 311, 294, 220, 193, 194, 134, 0, - 266, 164, 176, 159, 236, 308, 309, 158, 338, 142, - 324, 137, 143, 323, 229, 304, 312, 221, 213, 136, - 310, 219, 212, 199, 170, 184, 259, 208, 260, 185, - 225, 224, 226, 0, 132, 0, 292, 320, 339, 148, - 519, 594, 301, 333, 336, 0, 263, 149, 177, 169, - 258, 175, 202, 332, 334, 335, 147, 256, 228, 144, - 187, 288, 198, 206, 586, 621, 245, 271, 152, 318, - 289, 514, 518, 512, 513, 562, 563, 515, 613, 614, - 615, 590, 508, 0, 516, 517, 0, 596, 603, 604, - 567, 127, 138, 203, 617, 264, 174, 321, 499, 511, - 162, 522, 0, 0, 535, 540, 541, 553, 555, 556, - 557, 558, 566, 573, 574, 576, 583, 584, 585, 587, - 592, 600, 620, 129, 130, 139, 146, 153, 161, 168, - 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, - 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, - 243, 244, 247, 251, 252, 253, 254, 255, 257, 265, - 267, 273, 274, 275, 276, 277, 278, 279, 282, 283, - 284, 285, 293, 297, 306, 307, 317, 326, 330, 181, - 314, 331, 0, 210, 565, 607, 595, 0, 0, 548, - 610, 521, 538, 619, 539, 542, 580, 505, 561, 237, - 536, 0, 525, 501, 532, 502, 523, 550, 166, 554, - 520, 597, 564, 609, 201, 0, 526, 249, 582, 281, - 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, - 248, 299, 242, 616, 204, 571, 0, 290, 223, 0, - 0, 0, 552, 599, 559, 591, 547, 581, 510, 570, - 611, 537, 578, 612, 192, 154, 131, 234, 291, 173, - 0, 0, 0, 114, 115, 116, 0, 1160, 1161, 0, - 0, 0, 0, 0, 150, 0, 575, 606, 534, 577, - 579, 622, 500, 572, 0, 503, 506, 618, 602, 529, - 530, 0, 0, 0, 0, 0, 0, 0, 551, 560, - 588, 545, 0, 0, 0, 0, 0, 0, 0, 0, - 527, 0, 569, 0, 0, 0, 507, 504, 0, 0, - 0, 0, 549, 0, 0, 0, 509, 0, 528, 589, - 0, 498, 178, 593, 601, 546, 327, 605, 544, 543, - 608, 261, 0, 295, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 268, 272, 598, 524, 533, 157, 531, - 270, 246, 316, 568, 250, 269, 205, 305, 262, 315, - 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, - 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, - 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, - 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, - 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, - 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, - 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, - 292, 320, 339, 148, 519, 594, 301, 333, 336, 0, - 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, - 147, 256, 228, 144, 187, 288, 198, 206, 586, 621, - 245, 271, 152, 318, 289, 514, 518, 512, 513, 562, - 563, 515, 613, 614, 615, 590, 508, 0, 516, 517, - 0, 596, 603, 604, 567, 127, 138, 203, 617, 264, - 174, 321, 499, 511, 162, 522, 0, 0, 535, 540, - 541, 553, 555, 556, 557, 558, 566, 573, 574, 576, - 583, 584, 585, 587, 592, 600, 620, 129, 130, 139, - 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, - 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, - 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, - 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, - 317, 326, 330, 181, 314, 331, 0, 210, 565, 607, - 595, 0, 0, 548, 610, 521, 538, 619, 539, 542, - 580, 505, 561, 237, 536, 0, 525, 501, 532, 502, - 523, 550, 166, 554, 520, 597, 564, 609, 201, 0, - 526, 249, 582, 281, 156, 209, 207, 303, 171, 167, - 165, 155, 188, 214, 248, 299, 242, 616, 204, 571, - 0, 290, 223, 0, 0, 0, 552, 599, 559, 591, - 547, 581, 510, 570, 611, 537, 578, 612, 192, 154, - 131, 234, 291, 173, 0, 0, 0, 114, 115, 116, - 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, - 575, 606, 534, 577, 579, 622, 500, 572, 0, 503, - 506, 618, 602, 529, 530, 0, 0, 0, 0, 0, - 0, 0, 551, 560, 588, 545, 0, 0, 0, 0, - 0, 0, 1507, 0, 527, 0, 569, 0, 0, 0, - 507, 504, 0, 0, 0, 0, 549, 0, 0, 0, - 509, 0, 528, 589, 0, 498, 178, 593, 601, 546, - 327, 605, 544, 543, 608, 261, 0, 295, 182, 200, - 145, 197, 128, 140, 0, 180, 233, 268, 272, 598, - 524, 533, 157, 531, 270, 246, 316, 568, 250, 269, - 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, - 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, - 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, - 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, - 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, - 143, 323, 229, 304, 312, 221, 213, 136, 310, 219, - 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, - 226, 0, 132, 0, 292, 320, 339, 148, 519, 594, - 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, - 202, 332, 334, 335, 147, 256, 228, 144, 187, 288, - 198, 206, 586, 621, 245, 271, 152, 318, 289, 514, - 518, 512, 513, 562, 563, 515, 613, 614, 615, 590, - 508, 0, 516, 517, 0, 596, 603, 604, 567, 127, - 138, 203, 617, 264, 174, 321, 499, 511, 162, 522, - 0, 0, 535, 540, 541, 553, 555, 556, 557, 558, - 566, 573, 574, 576, 583, 584, 585, 587, 592, 600, - 620, 129, 130, 139, 146, 153, 161, 168, 172, 179, - 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, - 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, - 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, - 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, - 0, 210, 565, 607, 595, 0, 0, 548, 610, 521, - 538, 619, 539, 542, 580, 505, 561, 237, 536, 0, - 525, 501, 532, 502, 523, 550, 166, 554, 520, 597, - 564, 609, 201, 0, 526, 249, 582, 281, 156, 209, - 207, 303, 171, 167, 165, 155, 188, 214, 248, 299, - 242, 616, 204, 571, 0, 290, 223, 0, 0, 0, - 552, 599, 559, 591, 547, 581, 510, 570, 611, 537, - 578, 612, 192, 154, 131, 234, 291, 173, 66, 0, - 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, - 0, 0, 150, 0, 575, 606, 534, 577, 579, 622, - 500, 572, 0, 503, 506, 618, 602, 529, 530, 0, - 0, 0, 0, 0, 0, 0, 551, 560, 588, 545, - 0, 0, 0, 0, 0, 0, 0, 0, 527, 0, - 569, 0, 0, 0, 507, 504, 0, 0, 0, 0, - 549, 0, 0, 0, 509, 0, 528, 589, 0, 498, - 178, 593, 601, 546, 327, 605, 544, 543, 608, 261, - 0, 295, 182, 200, 145, 197, 128, 140, 0, 180, - 233, 268, 272, 598, 524, 533, 157, 531, 270, 246, - 316, 568, 250, 269, 205, 305, 262, 315, 328, 329, - 163, 227, 322, 300, 325, 337, 141, 160, 240, 296, - 319, 287, 222, 302, 196, 286, 133, 298, 313, 151, - 280, 0, 0, 0, 135, 311, 294, 220, 193, 194, - 134, 0, 266, 164, 176, 159, 236, 308, 309, 158, - 338, 142, 324, 137, 143, 323, 229, 304, 312, 221, - 213, 136, 310, 219, 212, 199, 170, 184, 259, 208, - 260, 185, 225, 224, 226, 0, 132, 0, 292, 320, - 339, 148, 519, 594, 301, 333, 336, 0, 263, 149, - 177, 169, 258, 175, 202, 332, 334, 335, 147, 256, - 228, 144, 187, 288, 198, 206, 586, 621, 245, 271, - 152, 318, 289, 514, 518, 512, 513, 562, 563, 515, - 613, 614, 615, 590, 508, 0, 516, 517, 0, 596, - 603, 604, 567, 127, 138, 203, 617, 264, 174, 321, - 499, 511, 162, 522, 0, 0, 535, 540, 541, 553, - 555, 556, 557, 558, 566, 573, 574, 576, 583, 584, - 585, 587, 592, 600, 620, 129, 130, 139, 146, 153, - 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, - 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, - 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, - 257, 265, 267, 273, 274, 275, 276, 277, 278, 279, - 282, 283, 284, 285, 293, 297, 306, 307, 317, 326, - 330, 181, 314, 331, 0, 210, 565, 607, 595, 0, - 0, 548, 610, 521, 538, 619, 539, 542, 580, 505, - 561, 237, 536, 0, 525, 501, 532, 502, 523, 550, - 166, 554, 520, 597, 564, 609, 201, 0, 526, 249, - 582, 281, 156, 209, 207, 303, 171, 167, 165, 155, - 188, 214, 248, 299, 242, 616, 204, 571, 0, 290, - 223, 0, 0, 0, 552, 599, 559, 591, 547, 581, - 510, 570, 611, 537, 578, 612, 192, 154, 131, 234, - 291, 173, 0, 0, 0, 114, 115, 116, 0, 0, - 0, 0, 0, 0, 0, 0, 150, 0, 575, 606, - 534, 577, 579, 622, 500, 572, 0, 503, 506, 618, - 602, 529, 530, 0, 0, 0, 0, 0, 0, 0, - 551, 560, 588, 545, 0, 0, 0, 0, 0, 0, - 1384, 0, 527, 0, 569, 0, 0, 0, 507, 504, - 0, 0, 0, 0, 549, 0, 0, 0, 509, 0, - 528, 589, 0, 498, 178, 593, 601, 546, 327, 605, - 544, 543, 608, 261, 0, 295, 182, 200, 145, 197, - 128, 140, 0, 180, 233, 268, 272, 598, 524, 533, - 157, 531, 270, 246, 316, 568, 250, 269, 205, 305, - 262, 315, 328, 329, 163, 227, 322, 300, 325, 337, - 141, 160, 240, 296, 319, 287, 222, 302, 196, 286, - 133, 298, 313, 151, 280, 0, 0, 0, 135, 311, - 294, 220, 193, 194, 134, 0, 266, 164, 176, 159, - 236, 308, 309, 158, 338, 142, 324, 137, 143, 323, - 229, 304, 312, 221, 213, 136, 310, 219, 212, 199, - 170, 184, 259, 208, 260, 185, 225, 224, 226, 0, - 132, 0, 292, 320, 339, 148, 519, 594, 301, 333, - 336, 0, 263, 149, 177, 169, 258, 175, 202, 332, - 334, 335, 147, 256, 228, 144, 187, 288, 198, 206, - 586, 621, 245, 271, 152, 318, 289, 514, 518, 512, - 513, 562, 563, 515, 613, 614, 615, 590, 508, 0, - 516, 517, 0, 596, 603, 604, 567, 127, 138, 203, - 617, 264, 174, 321, 499, 511, 162, 522, 0, 0, - 535, 540, 541, 553, 555, 556, 557, 558, 566, 573, - 574, 576, 583, 584, 585, 587, 592, 600, 620, 129, - 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, - 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, - 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, - 252, 253, 254, 255, 257, 265, 267, 273, 274, 275, - 276, 277, 278, 279, 282, 283, 284, 285, 293, 297, - 306, 307, 317, 326, 330, 181, 314, 331, 0, 210, - 565, 607, 595, 0, 0, 548, 610, 521, 538, 619, - 539, 542, 580, 505, 561, 237, 536, 0, 525, 501, - 532, 502, 523, 550, 166, 554, 520, 597, 564, 609, - 201, 0, 526, 249, 582, 281, 156, 209, 207, 303, - 171, 167, 165, 155, 188, 214, 248, 299, 242, 616, - 204, 571, 0, 290, 223, 0, 0, 0, 552, 599, - 559, 591, 547, 581, 510, 570, 611, 537, 578, 612, - 192, 154, 131, 234, 291, 173, 0, 0, 0, 114, - 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, - 150, 0, 575, 606, 534, 577, 579, 622, 500, 572, - 0, 503, 506, 618, 602, 529, 530, 0, 0, 0, - 0, 0, 0, 0, 551, 560, 588, 545, 0, 0, - 0, 0, 0, 0, 1112, 0, 527, 0, 569, 0, - 0, 0, 507, 504, 0, 0, 0, 0, 549, 0, - 0, 0, 509, 0, 528, 589, 0, 498, 178, 593, - 601, 546, 327, 605, 544, 543, 608, 261, 0, 295, - 182, 200, 145, 197, 128, 140, 0, 180, 233, 268, - 272, 598, 524, 533, 157, 531, 270, 246, 316, 568, - 250, 269, 205, 305, 262, 315, 328, 329, 163, 227, - 322, 300, 325, 337, 141, 160, 240, 296, 319, 287, - 222, 302, 196, 286, 133, 298, 313, 151, 280, 0, - 0, 0, 135, 311, 294, 220, 193, 194, 134, 0, - 266, 164, 176, 159, 236, 308, 309, 158, 338, 142, - 324, 137, 143, 323, 229, 304, 312, 221, 213, 136, - 310, 219, 212, 199, 170, 184, 259, 208, 260, 185, - 225, 224, 226, 0, 132, 0, 292, 320, 339, 148, - 519, 594, 301, 333, 336, 0, 263, 149, 177, 169, - 258, 175, 202, 332, 334, 335, 147, 256, 228, 144, - 187, 288, 198, 206, 586, 621, 245, 271, 152, 318, - 289, 514, 518, 512, 513, 562, 563, 515, 613, 614, - 615, 590, 508, 0, 516, 517, 0, 596, 603, 604, - 567, 127, 138, 203, 617, 264, 174, 321, 499, 511, - 162, 522, 0, 0, 535, 540, 541, 553, 555, 556, - 557, 558, 566, 573, 574, 576, 583, 584, 585, 587, - 592, 600, 620, 129, 130, 139, 146, 153, 161, 168, - 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, - 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, - 243, 244, 247, 251, 252, 253, 254, 255, 257, 265, - 267, 273, 274, 275, 276, 277, 278, 279, 282, 283, - 284, 285, 293, 297, 306, 307, 317, 326, 330, 181, - 314, 331, 0, 210, 565, 607, 595, 0, 0, 548, - 610, 521, 538, 619, 539, 542, 580, 505, 561, 237, - 536, 0, 525, 501, 532, 502, 523, 550, 166, 554, - 520, 597, 564, 609, 201, 0, 526, 249, 582, 281, - 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, - 248, 299, 242, 616, 204, 571, 0, 290, 223, 0, - 0, 0, 552, 599, 559, 591, 547, 581, 510, 570, - 611, 537, 578, 612, 192, 154, 131, 234, 291, 173, - 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 150, 0, 575, 606, 534, 577, - 579, 622, 500, 572, 0, 503, 506, 618, 602, 529, - 530, 0, 0, 0, 0, 0, 0, 0, 551, 560, - 588, 545, 0, 0, 0, 0, 0, 0, 0, 0, - 527, 0, 569, 0, 0, 0, 507, 504, 0, 0, - 0, 0, 549, 0, 0, 0, 509, 0, 528, 589, - 0, 498, 178, 593, 601, 546, 327, 605, 544, 543, - 608, 261, 0, 295, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 268, 272, 598, 524, 533, 157, 531, - 270, 246, 316, 568, 250, 269, 205, 305, 262, 315, - 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, - 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, - 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, - 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, - 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, - 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, - 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, - 292, 320, 339, 148, 519, 594, 301, 333, 336, 0, - 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, - 147, 256, 228, 144, 187, 288, 198, 206, 586, 621, - 245, 271, 152, 318, 289, 514, 518, 512, 513, 562, - 563, 515, 613, 614, 615, 590, 508, 0, 516, 517, - 0, 596, 603, 604, 567, 127, 138, 203, 617, 264, - 174, 321, 499, 511, 162, 522, 0, 0, 535, 540, - 541, 553, 555, 556, 557, 558, 566, 573, 574, 576, - 583, 584, 585, 587, 592, 600, 620, 129, 130, 139, - 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, - 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, - 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, - 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, - 317, 326, 330, 181, 314, 331, 0, 210, 565, 607, - 595, 0, 0, 548, 610, 521, 538, 619, 539, 542, - 580, 505, 561, 237, 536, 0, 525, 501, 532, 502, - 523, 550, 166, 554, 520, 597, 564, 609, 201, 0, - 526, 249, 582, 281, 156, 209, 207, 303, 171, 167, - 165, 155, 188, 214, 248, 299, 242, 616, 204, 571, - 0, 290, 223, 0, 0, 0, 552, 599, 559, 591, - 547, 581, 510, 570, 611, 537, 578, 612, 192, 154, - 131, 234, 291, 173, 0, 0, 0, 114, 115, 116, - 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, - 575, 606, 534, 577, 579, 622, 500, 572, 0, 503, - 506, 618, 602, 529, 530, 0, 0, 0, 0, 0, - 0, 0, 551, 560, 588, 545, 0, 0, 0, 0, - 0, 0, 0, 0, 527, 0, 569, 0, 0, 0, - 507, 504, 0, 0, 0, 0, 549, 0, 0, 0, - 509, 0, 528, 589, 0, 498, 178, 593, 601, 546, - 327, 605, 544, 543, 608, 261, 0, 295, 182, 200, - 145, 197, 128, 140, 0, 180, 233, 268, 272, 598, - 524, 533, 157, 531, 270, 246, 316, 568, 250, 269, - 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, - 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, - 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, - 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, - 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, - 496, 323, 229, 304, 312, 221, 213, 136, 310, 219, - 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, - 226, 0, 132, 0, 292, 320, 339, 148, 519, 594, - 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, - 202, 332, 334, 335, 147, 256, 497, 495, 490, 489, - 198, 206, 586, 621, 245, 271, 152, 318, 289, 514, - 518, 512, 513, 562, 563, 515, 613, 614, 615, 590, - 508, 0, 516, 517, 0, 596, 603, 604, 567, 127, - 138, 203, 617, 264, 174, 321, 499, 511, 162, 522, - 0, 0, 535, 540, 541, 553, 555, 556, 557, 558, - 566, 573, 574, 576, 583, 584, 585, 587, 592, 600, - 620, 129, 130, 139, 146, 153, 161, 168, 172, 179, - 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, - 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, - 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, - 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, - 0, 210, 565, 607, 595, 0, 0, 548, 610, 521, - 538, 619, 539, 542, 580, 505, 561, 237, 536, 0, - 525, 501, 532, 502, 523, 550, 166, 554, 520, 597, - 564, 609, 201, 0, 526, 249, 582, 281, 156, 209, - 207, 303, 171, 167, 165, 155, 188, 214, 248, 299, - 242, 616, 204, 571, 0, 290, 223, 0, 0, 0, - 552, 599, 559, 591, 547, 581, 510, 570, 611, 537, - 578, 612, 192, 154, 131, 234, 291, 173, 0, 0, - 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, - 0, 0, 150, 0, 575, 606, 534, 577, 579, 622, - 500, 572, 0, 503, 506, 618, 602, 529, 530, 0, - 0, 0, 0, 0, 0, 0, 551, 560, 588, 545, - 0, 0, 0, 0, 0, 0, 0, 0, 527, 0, - 569, 0, 0, 0, 507, 504, 0, 0, 0, 0, - 549, 0, 0, 0, 509, 0, 528, 589, 0, 498, - 178, 593, 601, 546, 327, 605, 544, 543, 608, 261, - 0, 295, 182, 200, 145, 197, 128, 140, 0, 180, - 233, 268, 272, 598, 524, 533, 157, 531, 270, 246, - 316, 568, 250, 269, 205, 305, 262, 315, 328, 329, - 163, 227, 322, 300, 325, 337, 141, 160, 240, 296, - 319, 287, 222, 302, 196, 286, 133, 298, 850, 151, - 280, 0, 0, 0, 135, 311, 294, 220, 193, 194, - 134, 0, 266, 164, 176, 159, 236, 308, 309, 158, - 338, 142, 324, 137, 496, 323, 229, 304, 312, 221, - 213, 136, 310, 219, 212, 199, 170, 184, 259, 208, - 260, 185, 225, 224, 226, 0, 132, 0, 292, 320, - 339, 148, 519, 594, 301, 333, 336, 0, 263, 149, - 177, 169, 258, 175, 202, 332, 334, 335, 147, 256, - 497, 495, 490, 489, 198, 206, 586, 621, 245, 271, - 152, 318, 289, 514, 518, 512, 513, 562, 563, 515, - 613, 614, 615, 590, 508, 0, 516, 517, 0, 596, - 603, 604, 567, 127, 138, 203, 617, 264, 174, 321, - 499, 511, 162, 522, 0, 0, 535, 540, 541, 553, - 555, 556, 557, 558, 566, 573, 574, 576, 583, 584, - 585, 587, 592, 600, 620, 129, 130, 139, 146, 153, - 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, - 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, - 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, - 257, 265, 267, 273, 274, 275, 276, 277, 278, 279, - 282, 283, 284, 285, 293, 297, 306, 307, 317, 326, - 330, 181, 314, 331, 0, 210, 565, 607, 595, 0, - 0, 548, 610, 521, 538, 619, 539, 542, 580, 505, - 561, 237, 536, 0, 525, 501, 532, 502, 523, 550, - 166, 554, 520, 597, 564, 609, 201, 0, 526, 249, - 582, 281, 156, 209, 207, 303, 171, 167, 165, 155, - 188, 214, 248, 299, 242, 616, 204, 571, 0, 290, - 223, 0, 0, 0, 552, 599, 559, 591, 547, 581, - 510, 570, 611, 537, 578, 612, 192, 154, 131, 234, - 291, 173, 0, 0, 0, 114, 115, 116, 0, 0, - 0, 0, 0, 0, 0, 0, 150, 0, 575, 606, - 534, 577, 579, 622, 500, 572, 0, 503, 506, 618, - 602, 529, 530, 0, 0, 0, 0, 0, 0, 0, - 551, 560, 588, 545, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 0, 569, 0, 0, 0, 507, 504, - 0, 0, 0, 0, 549, 0, 0, 0, 509, 0, - 528, 589, 0, 498, 178, 593, 601, 546, 327, 605, - 544, 543, 608, 261, 0, 295, 182, 200, 145, 197, - 128, 140, 0, 180, 233, 268, 272, 598, 524, 533, - 157, 531, 270, 246, 316, 568, 250, 269, 205, 305, - 262, 315, 328, 329, 163, 227, 322, 300, 325, 337, - 141, 160, 240, 296, 319, 287, 222, 302, 196, 286, - 133, 298, 487, 151, 280, 0, 0, 0, 135, 311, - 294, 220, 193, 194, 134, 0, 266, 164, 176, 159, - 236, 308, 309, 158, 338, 142, 324, 137, 496, 323, - 229, 304, 312, 221, 213, 136, 310, 219, 212, 199, - 170, 184, 259, 208, 260, 185, 225, 224, 226, 0, - 132, 0, 292, 320, 339, 148, 519, 594, 301, 333, - 336, 0, 263, 149, 177, 169, 258, 175, 202, 332, - 334, 335, 147, 256, 497, 495, 490, 489, 198, 206, - 586, 621, 245, 271, 152, 318, 289, 514, 518, 512, - 513, 562, 563, 515, 613, 614, 615, 590, 508, 0, - 516, 517, 0, 596, 603, 604, 567, 127, 138, 203, - 617, 264, 174, 321, 499, 511, 162, 522, 0, 0, - 535, 540, 541, 553, 555, 556, 557, 558, 566, 573, - 574, 576, 583, 584, 585, 587, 592, 600, 620, 129, - 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, - 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, - 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, - 252, 253, 254, 255, 257, 265, 267, 273, 274, 275, - 276, 277, 278, 279, 282, 283, 284, 285, 293, 297, - 306, 307, 317, 326, 330, 181, 314, 331, 237, 210, - 565, 1039, 0, 391, 0, 0, 0, 166, 0, 390, - 0, 0, 0, 201, 0, 1040, 249, 0, 281, 156, - 209, 207, 303, 171, 167, 165, 155, 188, 214, 248, - 299, 242, 434, 204, 0, 0, 290, 223, 0, 0, - 0, 0, 0, 425, 426, 0, 0, 0, 0, 0, - 0, 0, 0, 192, 154, 131, 234, 291, 173, 66, - 0, 0, 114, 115, 116, 412, 411, 414, 415, 416, - 417, 0, 0, 150, 413, 418, 419, 420, 0, 0, - 0, 0, 388, 405, 0, 433, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 402, 403, 477, 0, 0, - 0, 448, 0, 404, 0, 0, 397, 398, 400, 399, - 401, 406, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 178, 447, 0, 0, 327, 0, 0, 445, 0, - 261, 0, 295, 182, 200, 145, 197, 128, 140, 0, - 180, 233, 268, 272, 0, 0, 0, 157, 0, 270, - 246, 316, 0, 250, 269, 205, 305, 262, 315, 328, - 329, 163, 227, 322, 300, 325, 337, 141, 160, 240, - 296, 319, 287, 222, 302, 196, 286, 133, 298, 313, - 151, 280, 0, 0, 0, 135, 311, 294, 220, 193, - 194, 134, 0, 266, 164, 176, 159, 236, 308, 309, - 158, 338, 142, 324, 137, 143, 323, 229, 304, 312, - 221, 213, 136, 310, 219, 212, 199, 170, 184, 259, - 208, 260, 185, 225, 224, 226, 0, 132, 0, 292, - 320, 339, 148, 0, 0, 301, 333, 336, 0, 263, - 149, 177, 169, 258, 175, 202, 332, 334, 335, 147, - 256, 228, 144, 187, 288, 198, 206, 0, 0, 245, - 271, 152, 318, 289, 435, 446, 441, 442, 439, 440, - 0, 438, 437, 436, 449, 427, 428, 429, 430, 432, - 0, 443, 444, 431, 127, 138, 203, 0, 264, 174, - 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, - 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, - 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, - 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, - 255, 257, 265, 267, 273, 274, 275, 276, 277, 278, - 279, 282, 283, 284, 285, 293, 297, 306, 307, 317, - 326, 330, 181, 314, 331, 237, 210, 0, 0, 0, - 391, 0, 0, 0, 166, 0, 390, 0, 0, 0, - 201, 0, 0, 249, 0, 281, 156, 209, 207, 303, - 171, 167, 165, 155, 188, 214, 248, 299, 242, 434, - 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, - 425, 426, 0, 0, 0, 0, 0, 0, 1151, 0, - 192, 154, 131, 234, 291, 173, 66, 0, 0, 114, - 115, 116, 412, 411, 414, 415, 416, 417, 0, 0, - 150, 413, 418, 419, 420, 1152, 0, 0, 0, 388, - 405, 0, 433, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 402, 403, 0, 0, 0, 0, 448, 0, - 404, 0, 0, 397, 398, 400, 399, 401, 406, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 178, 447, - 0, 0, 327, 0, 0, 445, 0, 261, 0, 295, - 182, 200, 145, 197, 128, 140, 0, 180, 233, 268, - 272, 0, 0, 0, 157, 0, 270, 246, 316, 0, - 250, 269, 205, 305, 262, 315, 328, 329, 163, 227, - 322, 300, 325, 337, 141, 160, 240, 296, 319, 287, - 222, 302, 196, 286, 133, 298, 313, 151, 280, 0, - 0, 0, 135, 311, 294, 220, 193, 194, 134, 0, - 266, 164, 176, 159, 236, 308, 309, 158, 338, 142, - 324, 137, 143, 323, 229, 304, 312, 221, 213, 136, - 310, 219, 212, 199, 170, 184, 259, 208, 260, 185, - 225, 224, 226, 0, 132, 0, 292, 320, 339, 148, - 0, 0, 301, 333, 336, 0, 263, 149, 177, 169, - 258, 175, 202, 332, 334, 335, 147, 256, 228, 144, - 187, 288, 198, 206, 0, 0, 245, 271, 152, 318, - 289, 435, 446, 441, 442, 439, 440, 0, 438, 437, - 436, 449, 427, 428, 429, 430, 432, 0, 443, 444, - 431, 127, 138, 203, 0, 264, 174, 321, 0, 0, - 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, - 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, - 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, - 243, 244, 247, 251, 252, 253, 254, 255, 257, 265, - 267, 273, 274, 275, 276, 277, 278, 279, 282, 283, - 284, 285, 293, 297, 306, 307, 317, 326, 330, 181, - 314, 331, 237, 210, 0, 0, 0, 391, 0, 0, - 0, 166, 0, 390, 0, 0, 0, 201, 0, 0, - 249, 0, 281, 156, 209, 207, 303, 171, 167, 165, - 155, 188, 214, 248, 299, 242, 434, 204, 0, 0, - 290, 223, 0, 0, 0, 0, 0, 425, 426, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 154, 131, - 234, 291, 173, 66, 0, 465, 114, 115, 116, 412, - 411, 414, 415, 416, 417, 0, 0, 150, 413, 418, - 419, 420, 0, 0, 0, 0, 388, 405, 0, 433, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, - 403, 0, 0, 0, 0, 448, 0, 404, 0, 0, - 397, 398, 400, 399, 401, 406, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 178, 447, 0, 0, 327, - 0, 0, 445, 0, 261, 0, 295, 182, 200, 145, - 197, 128, 140, 0, 180, 233, 268, 272, 0, 0, - 0, 157, 0, 270, 246, 316, 0, 250, 269, 205, - 305, 262, 315, 328, 329, 163, 227, 322, 300, 325, - 337, 141, 160, 240, 296, 319, 287, 222, 302, 196, - 286, 133, 298, 313, 151, 280, 0, 0, 0, 135, - 311, 294, 220, 193, 194, 134, 0, 266, 164, 176, - 159, 236, 308, 309, 158, 338, 142, 324, 137, 143, - 323, 229, 304, 312, 221, 213, 136, 310, 219, 212, - 199, 170, 184, 259, 208, 260, 185, 225, 224, 226, - 0, 132, 0, 292, 320, 339, 148, 0, 0, 301, - 333, 336, 0, 263, 149, 177, 169, 258, 175, 202, - 332, 334, 335, 147, 256, 228, 144, 187, 288, 198, - 206, 0, 0, 245, 271, 152, 318, 289, 435, 446, - 441, 442, 439, 440, 0, 438, 437, 436, 449, 427, - 428, 429, 430, 432, 0, 443, 444, 431, 127, 138, - 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, - 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, - 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, - 251, 252, 253, 254, 255, 257, 265, 267, 273, 274, - 275, 276, 277, 278, 279, 282, 283, 284, 285, 293, - 297, 306, 307, 317, 326, 330, 181, 314, 331, 237, - 210, 0, 0, 0, 391, 0, 0, 0, 166, 0, - 390, 0, 0, 0, 201, 0, 0, 249, 0, 281, - 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, - 248, 299, 242, 434, 204, 0, 0, 290, 223, 0, - 0, 0, 0, 0, 425, 426, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 154, 131, 234, 291, 173, - 66, 0, 0, 114, 115, 116, 412, 411, 414, 415, - 416, 417, 0, 0, 150, 413, 418, 419, 420, 0, - 0, 0, 0, 388, 405, 0, 433, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 402, 403, 477, 0, - 0, 0, 448, 0, 404, 0, 0, 397, 398, 400, - 399, 401, 406, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 447, 0, 0, 327, 0, 0, 445, - 0, 261, 0, 295, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 268, 272, 0, 0, 0, 157, 0, - 270, 246, 316, 0, 250, 269, 205, 305, 262, 315, - 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, - 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, - 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, - 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, - 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, - 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, - 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, - 292, 320, 339, 148, 0, 0, 301, 333, 336, 0, - 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, - 147, 256, 228, 144, 187, 288, 198, 206, 0, 0, - 245, 271, 152, 318, 289, 435, 446, 441, 442, 439, - 440, 0, 438, 437, 436, 449, 427, 428, 429, 430, - 432, 0, 443, 444, 431, 127, 138, 203, 0, 264, - 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, - 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, - 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, - 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, - 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, - 317, 326, 330, 181, 314, 331, 237, 210, 0, 0, - 0, 391, 0, 0, 0, 166, 0, 390, 0, 0, - 0, 201, 0, 0, 249, 0, 281, 156, 209, 207, - 303, 171, 167, 165, 155, 188, 214, 248, 299, 242, - 434, 204, 0, 0, 290, 223, 0, 0, 0, 0, - 0, 425, 426, 0, 0, 0, 0, 0, 0, 0, - 0, 192, 154, 131, 234, 291, 173, 66, 0, 0, - 114, 115, 116, 412, 1057, 414, 415, 416, 417, 0, - 0, 150, 413, 418, 419, 420, 0, 0, 0, 0, - 388, 405, 0, 433, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 402, 403, 477, 0, 0, 0, 448, - 0, 404, 0, 0, 397, 398, 400, 399, 401, 406, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, - 447, 0, 0, 327, 0, 0, 445, 0, 261, 0, - 295, 182, 200, 145, 197, 128, 140, 0, 180, 233, - 268, 272, 0, 0, 0, 157, 0, 270, 246, 316, - 0, 250, 269, 205, 305, 262, 315, 328, 329, 163, - 227, 322, 300, 325, 337, 141, 160, 240, 296, 319, - 287, 222, 302, 196, 286, 133, 298, 313, 151, 280, - 0, 0, 0, 135, 311, 294, 220, 193, 194, 134, - 0, 266, 164, 176, 159, 236, 308, 309, 158, 338, - 142, 324, 137, 143, 323, 229, 304, 312, 221, 213, - 136, 310, 219, 212, 199, 170, 184, 259, 208, 260, - 185, 225, 224, 226, 0, 132, 0, 292, 320, 339, - 148, 0, 0, 301, 333, 336, 0, 263, 149, 177, - 169, 258, 175, 202, 332, 334, 335, 147, 256, 228, - 144, 187, 288, 198, 206, 0, 0, 245, 271, 152, - 318, 289, 435, 446, 441, 442, 439, 440, 0, 438, - 437, 436, 449, 427, 428, 429, 430, 432, 0, 443, - 444, 431, 127, 138, 203, 0, 264, 174, 321, 0, - 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, - 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, - 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, - 241, 243, 244, 247, 251, 252, 253, 254, 255, 257, - 265, 267, 273, 274, 275, 276, 277, 278, 279, 282, - 283, 284, 285, 293, 297, 306, 307, 317, 326, 330, - 181, 314, 331, 237, 210, 0, 0, 0, 391, 0, - 0, 0, 166, 0, 390, 0, 0, 0, 201, 0, - 0, 249, 0, 281, 156, 209, 207, 303, 171, 167, - 165, 155, 188, 214, 248, 299, 242, 434, 204, 0, - 0, 290, 223, 0, 0, 0, 0, 0, 425, 426, - 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, - 131, 234, 291, 173, 66, 0, 0, 114, 115, 116, - 412, 1054, 414, 415, 416, 417, 0, 0, 150, 413, - 418, 419, 420, 0, 0, 0, 0, 388, 405, 0, - 433, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 402, 403, 477, 0, 0, 0, 448, 0, 404, 0, - 0, 397, 398, 400, 399, 401, 406, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 178, 447, 0, 0, - 327, 0, 0, 445, 0, 261, 0, 295, 182, 200, - 145, 197, 128, 140, 0, 180, 233, 268, 272, 0, - 0, 0, 157, 0, 270, 246, 316, 0, 250, 269, - 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, - 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, - 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, - 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, - 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, - 143, 323, 229, 304, 312, 221, 213, 136, 310, 219, - 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, - 226, 0, 132, 0, 292, 320, 339, 148, 0, 0, - 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, - 202, 332, 334, 335, 147, 256, 228, 144, 187, 288, - 198, 206, 0, 0, 245, 271, 152, 318, 289, 435, - 446, 441, 442, 439, 440, 0, 438, 437, 436, 449, - 427, 428, 429, 430, 432, 0, 443, 444, 431, 127, - 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, + 0, 0, 0, 0, 0, 0, 0, 968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, - 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, - 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, - 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, - 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, - 458, 210, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 237, 0, 0, 0, 0, 391, 0, - 0, 0, 166, 0, 390, 0, 0, 0, 201, 0, - 0, 249, 0, 281, 156, 209, 207, 303, 171, 167, - 165, 155, 188, 214, 248, 299, 242, 434, 204, 0, - 0, 290, 223, 0, 0, 0, 0, 0, 425, 426, - 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, - 131, 234, 291, 173, 66, 0, 0, 114, 115, 116, - 412, 411, 414, 415, 416, 417, 0, 0, 150, 413, - 418, 419, 420, 0, 0, 0, 0, 388, 405, 0, - 433, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 402, 403, 0, 0, 0, 0, 448, 0, 404, 0, - 0, 397, 398, 400, 399, 401, 406, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 178, 447, 0, 0, - 327, 0, 0, 445, 0, 261, 0, 295, 182, 200, - 145, 197, 128, 140, 0, 180, 233, 268, 272, 0, - 0, 0, 157, 0, 270, 246, 316, 0, 250, 269, - 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, - 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, - 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, - 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, - 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, - 143, 323, 229, 304, 312, 221, 213, 136, 310, 219, - 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, - 226, 0, 132, 0, 292, 320, 339, 148, 0, 0, - 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, - 202, 332, 334, 335, 147, 256, 228, 144, 187, 288, - 198, 206, 0, 0, 245, 271, 152, 318, 289, 435, - 446, 441, 442, 439, 440, 0, 438, 437, 436, 449, - 427, 428, 429, 430, 432, 0, 443, 444, 431, 127, - 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, + 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, - 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, - 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, - 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, - 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, - 237, 210, 0, 0, 0, 391, 0, 0, 0, 166, - 0, 390, 0, 0, 0, 201, 0, 0, 249, 0, - 281, 156, 209, 207, 303, 171, 167, 165, 155, 188, - 214, 248, 299, 242, 434, 204, 0, 0, 290, 223, - 0, 0, 0, 0, 0, 425, 426, 0, 0, 0, - 0, 0, 0, 0, 0, 192, 154, 131, 234, 291, - 173, 66, 0, 0, 114, 115, 116, 412, 411, 414, - 415, 416, 417, 0, 0, 150, 413, 418, 419, 420, - 0, 0, 0, 0, 388, 405, 0, 433, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 402, 403, 0, - 0, 0, 0, 448, 0, 404, 0, 0, 397, 398, - 400, 399, 401, 406, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 178, 447, 0, 0, 327, 0, 0, - 445, 0, 261, 0, 295, 182, 200, 145, 197, 128, - 140, 0, 180, 233, 268, 272, 0, 0, 0, 157, - 0, 270, 246, 316, 0, 250, 269, 205, 305, 262, - 315, 328, 329, 163, 227, 322, 300, 325, 337, 141, - 160, 240, 296, 319, 287, 222, 302, 196, 286, 133, - 298, 313, 151, 280, 0, 0, 0, 135, 311, 294, - 220, 193, 194, 134, 0, 266, 164, 176, 159, 236, - 308, 309, 158, 338, 142, 324, 137, 143, 323, 229, - 304, 312, 221, 213, 136, 310, 219, 212, 199, 170, - 184, 259, 208, 260, 185, 225, 224, 226, 0, 132, - 0, 292, 320, 339, 148, 0, 0, 301, 333, 336, - 0, 263, 149, 177, 169, 258, 175, 202, 332, 334, - 335, 147, 256, 228, 144, 187, 288, 198, 206, 0, - 0, 245, 271, 152, 318, 289, 435, 446, 441, 442, - 439, 440, 0, 438, 437, 436, 449, 427, 428, 429, - 430, 432, 0, 443, 444, 431, 127, 138, 203, 0, - 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, + 0, 0, 124, 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, 129, 130, - 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, - 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, - 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, - 253, 254, 255, 257, 265, 267, 273, 274, 275, 276, - 277, 278, 279, 282, 283, 284, 285, 293, 297, 306, - 307, 317, 326, 330, 181, 314, 331, 237, 210, 0, - 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, - 0, 0, 201, 0, 0, 249, 0, 281, 156, 209, - 207, 303, 171, 167, 165, 155, 188, 214, 248, 299, - 242, 434, 204, 0, 0, 290, 223, 0, 0, 0, - 0, 0, 425, 426, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 154, 131, 234, 291, 173, 66, 0, - 0, 114, 115, 116, 412, 411, 414, 415, 416, 417, - 0, 0, 150, 413, 418, 419, 420, 0, 0, 0, - 0, 0, 405, 0, 433, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 402, 403, 0, 0, 0, 0, - 448, 0, 404, 0, 0, 397, 398, 400, 399, 401, - 406, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 178, 447, 0, 0, 327, 0, 0, 445, 0, 261, - 0, 295, 182, 200, 145, 197, 128, 140, 0, 180, - 233, 268, 272, 0, 0, 0, 157, 0, 270, 246, - 316, 1828, 250, 269, 205, 305, 262, 315, 328, 329, - 163, 227, 322, 300, 325, 337, 141, 160, 240, 296, - 319, 287, 222, 302, 196, 286, 133, 298, 313, 151, - 280, 0, 0, 0, 135, 311, 294, 220, 193, 194, - 134, 0, 266, 164, 176, 159, 236, 308, 309, 158, - 338, 142, 324, 137, 143, 323, 229, 304, 312, 221, - 213, 136, 310, 219, 212, 199, 170, 184, 259, 208, - 260, 185, 225, 224, 226, 0, 132, 0, 292, 320, - 339, 148, 0, 0, 301, 333, 336, 0, 263, 149, - 177, 169, 258, 175, 202, 332, 334, 335, 147, 256, - 228, 144, 187, 288, 198, 206, 0, 0, 245, 271, - 152, 318, 289, 435, 446, 441, 442, 439, 440, 0, - 438, 437, 436, 449, 427, 428, 429, 430, 432, 0, - 443, 444, 431, 127, 138, 203, 0, 264, 174, 321, - 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, - 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, - 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, - 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, - 257, 265, 267, 273, 274, 275, 276, 277, 278, 279, - 282, 283, 284, 285, 293, 297, 306, 307, 317, 326, - 330, 181, 314, 331, 237, 210, 0, 0, 0, 0, - 0, 0, 0, 166, 0, 0, 0, 0, 0, 201, - 0, 0, 249, 0, 281, 156, 209, 207, 303, 171, - 167, 165, 155, 188, 214, 248, 299, 242, 434, 204, - 0, 0, 290, 223, 0, 0, 0, 0, 0, 425, - 426, 0, 0, 0, 0, 0, 0, 0, 0, 192, - 154, 131, 234, 291, 173, 66, 0, 465, 114, 115, - 116, 412, 411, 414, 415, 416, 417, 0, 0, 150, - 413, 418, 419, 420, 0, 0, 0, 0, 0, 405, - 0, 433, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 402, 403, 0, 0, 0, 0, 448, 0, 404, - 0, 0, 397, 398, 400, 399, 401, 406, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 178, 447, 0, - 0, 327, 0, 0, 445, 0, 261, 0, 295, 182, - 200, 145, 197, 128, 140, 0, 180, 233, 268, 272, - 0, 0, 0, 157, 0, 270, 246, 316, 0, 250, - 269, 205, 305, 262, 315, 328, 329, 163, 227, 322, - 300, 325, 337, 141, 160, 240, 296, 319, 287, 222, - 302, 196, 286, 133, 298, 313, 151, 280, 0, 0, - 0, 135, 311, 294, 220, 193, 194, 134, 0, 266, - 164, 176, 159, 236, 308, 309, 158, 338, 142, 324, - 137, 143, 323, 229, 304, 312, 221, 213, 136, 310, - 219, 212, 199, 170, 184, 259, 208, 260, 185, 225, - 224, 226, 0, 132, 0, 292, 320, 339, 148, 0, - 0, 301, 333, 336, 0, 263, 149, 177, 169, 258, - 175, 202, 332, 334, 335, 147, 256, 228, 144, 187, - 288, 198, 206, 0, 0, 245, 271, 152, 318, 289, - 435, 446, 441, 442, 439, 440, 0, 438, 437, 436, - 449, 427, 428, 429, 430, 432, 0, 443, 444, 431, - 127, 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, - 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, - 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, - 244, 247, 251, 252, 253, 254, 255, 257, 265, 267, - 273, 274, 275, 276, 277, 278, 279, 282, 283, 284, - 285, 293, 297, 306, 307, 317, 326, 330, 181, 314, - 331, 237, 210, 0, 0, 0, 0, 0, 0, 0, - 166, 0, 0, 0, 0, 0, 201, 0, 0, 249, - 0, 281, 156, 209, 207, 303, 171, 167, 165, 155, - 188, 214, 248, 299, 242, 434, 204, 0, 0, 290, - 223, 0, 0, 0, 0, 0, 425, 426, 0, 0, - 0, 0, 0, 0, 0, 0, 192, 154, 131, 234, - 291, 173, 66, 0, 0, 114, 115, 116, 412, 411, - 414, 415, 416, 417, 0, 0, 150, 413, 418, 419, - 420, 0, 0, 0, 0, 0, 405, 0, 433, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 402, 403, - 0, 0, 0, 0, 448, 0, 404, 0, 0, 397, - 398, 400, 399, 401, 406, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 178, 447, 0, 0, 327, 0, - 0, 445, 0, 261, 0, 295, 182, 200, 145, 197, - 128, 140, 0, 180, 233, 268, 272, 0, 0, 0, - 157, 0, 270, 246, 316, 0, 250, 269, 205, 305, - 262, 315, 328, 329, 163, 227, 322, 300, 325, 337, - 141, 160, 240, 296, 319, 287, 222, 302, 196, 286, - 133, 298, 313, 151, 280, 0, 0, 0, 135, 311, - 294, 220, 193, 194, 134, 0, 266, 164, 176, 159, - 236, 308, 309, 158, 338, 142, 324, 137, 143, 323, - 229, 304, 312, 221, 213, 136, 310, 219, 212, 199, - 170, 184, 259, 208, 260, 185, 225, 224, 226, 0, - 132, 0, 292, 320, 339, 148, 0, 0, 301, 333, - 336, 0, 263, 149, 177, 169, 258, 175, 202, 332, - 334, 335, 147, 256, 228, 144, 187, 288, 198, 206, - 0, 0, 245, 271, 152, 318, 289, 435, 446, 441, - 442, 439, 440, 0, 438, 437, 436, 449, 427, 428, - 429, 430, 432, 0, 443, 444, 431, 127, 138, 203, - 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, + 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1076, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 609, 597, + 0, 1095, 550, 612, 523, 540, 621, 541, 544, 582, + 507, 563, 238, 538, 0, 527, 503, 534, 504, 525, + 552, 166, 556, 522, 599, 566, 611, 202, 0, 528, + 250, 584, 282, 156, 210, 208, 304, 171, 167, 165, + 155, 189, 215, 249, 300, 243, 618, 205, 573, 0, + 291, 224, 124, 0, 0, 554, 601, 561, 593, 549, + 583, 512, 572, 613, 539, 580, 614, 193, 154, 131, + 235, 292, 173, 0, 0, 0, 114, 115, 116, 0, + 1168, 1169, 0, 0, 0, 0, 0, 150, 0, 577, + 608, 536, 579, 581, 624, 502, 574, 0, 505, 508, + 620, 604, 531, 532, 1402, 0, 0, 0, 0, 0, + 0, 553, 562, 590, 547, 0, 0, 0, 0, 0, + 0, 0, 0, 529, 0, 571, 0, 0, 1076, 509, + 506, 0, 124, 0, 0, 551, 0, 0, 0, 511, + 0, 530, 591, 0, 500, 178, 595, 603, 548, 328, + 607, 546, 545, 610, 262, 0, 296, 182, 201, 145, + 198, 128, 140, 0, 180, 234, 269, 273, 600, 526, + 535, 157, 533, 271, 247, 317, 570, 251, 270, 206, + 306, 263, 316, 329, 330, 163, 228, 323, 301, 326, + 338, 141, 160, 241, 297, 320, 288, 223, 303, 197, + 287, 133, 299, 314, 151, 281, 0, 0, 0, 135, + 312, 295, 221, 194, 195, 134, 0, 267, 164, 176, + 159, 237, 309, 310, 158, 339, 142, 325, 137, 143, + 324, 230, 305, 313, 222, 214, 136, 311, 220, 213, + 200, 170, 185, 260, 209, 261, 186, 226, 225, 227, + 0, 132, 0, 293, 321, 340, 148, 521, 596, 302, + 334, 337, 0, 264, 149, 177, 169, 259, 175, 203, + 333, 335, 336, 147, 257, 183, 229, 144, 188, 289, + 199, 207, 588, 623, 246, 272, 152, 319, 290, 516, + 520, 514, 515, 564, 565, 517, 615, 616, 617, 592, + 510, 0, 518, 519, 0, 598, 605, 606, 569, 127, + 138, 204, 619, 265, 174, 322, 501, 513, 162, 524, + 0, 0, 537, 542, 543, 555, 557, 558, 559, 560, + 568, 575, 576, 578, 585, 586, 587, 589, 594, 602, + 622, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 184, 187, 190, 191, 192, 196, 212, 216, 217, 218, + 219, 231, 232, 233, 236, 239, 240, 242, 244, 245, + 248, 252, 253, 254, 255, 256, 258, 266, 268, 274, + 275, 276, 277, 278, 279, 280, 283, 284, 285, 286, + 294, 298, 307, 308, 318, 327, 331, 181, 315, 332, + 0, 211, 567, 609, 597, 0, 0, 550, 612, 523, + 540, 621, 541, 544, 582, 507, 563, 238, 538, 0, + 527, 503, 534, 504, 525, 552, 166, 556, 522, 599, + 566, 611, 202, 0, 528, 250, 584, 282, 156, 210, + 208, 304, 171, 167, 165, 155, 189, 215, 249, 300, + 243, 618, 205, 573, 0, 291, 224, 0, 0, 0, + 554, 601, 561, 593, 549, 583, 512, 572, 613, 539, + 580, 614, 193, 154, 131, 235, 292, 173, 0, 0, + 0, 114, 115, 116, 0, 1168, 1169, 0, 0, 0, + 0, 0, 150, 0, 577, 608, 536, 579, 581, 624, + 502, 574, 0, 505, 508, 620, 604, 531, 532, 0, + 0, 0, 0, 0, 0, 0, 553, 562, 590, 547, + 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, + 571, 0, 0, 0, 509, 506, 0, 0, 0, 0, + 551, 0, 0, 0, 511, 0, 530, 591, 0, 500, + 178, 595, 603, 548, 328, 607, 546, 545, 610, 262, + 0, 296, 182, 201, 145, 198, 128, 140, 0, 180, + 234, 269, 273, 600, 526, 535, 157, 533, 271, 247, + 317, 570, 251, 270, 206, 306, 263, 316, 329, 330, + 163, 228, 323, 301, 326, 338, 141, 160, 241, 297, + 320, 288, 223, 303, 197, 287, 133, 299, 314, 151, + 281, 0, 0, 0, 135, 312, 295, 221, 194, 195, + 134, 0, 267, 164, 176, 159, 237, 309, 310, 158, + 339, 142, 325, 137, 143, 324, 230, 305, 313, 222, + 214, 136, 311, 220, 213, 200, 170, 185, 260, 209, + 261, 186, 226, 225, 227, 0, 132, 0, 293, 321, + 340, 148, 521, 596, 302, 334, 337, 0, 264, 149, + 177, 169, 259, 175, 203, 333, 335, 336, 147, 257, + 183, 229, 144, 188, 289, 199, 207, 588, 623, 246, + 272, 152, 319, 290, 516, 520, 514, 515, 564, 565, + 517, 615, 616, 617, 592, 510, 0, 518, 519, 0, + 598, 605, 606, 569, 127, 138, 204, 619, 265, 174, + 322, 501, 513, 162, 524, 0, 0, 537, 542, 543, + 555, 557, 558, 559, 560, 568, 575, 576, 578, 585, + 586, 587, 589, 594, 602, 622, 129, 130, 139, 146, + 153, 161, 168, 172, 179, 184, 187, 190, 191, 192, + 196, 212, 216, 217, 218, 219, 231, 232, 233, 236, + 239, 240, 242, 244, 245, 248, 252, 253, 254, 255, + 256, 258, 266, 268, 274, 275, 276, 277, 278, 279, + 280, 283, 284, 285, 286, 294, 298, 307, 308, 318, + 327, 331, 181, 315, 332, 0, 211, 567, 609, 597, + 0, 0, 550, 612, 523, 540, 621, 541, 544, 582, + 507, 563, 238, 538, 0, 527, 503, 534, 504, 525, + 552, 166, 556, 522, 599, 566, 611, 202, 0, 528, + 250, 584, 282, 156, 210, 208, 304, 171, 167, 165, + 155, 189, 215, 249, 300, 243, 618, 205, 573, 0, + 291, 224, 0, 0, 0, 554, 601, 561, 593, 549, + 583, 512, 572, 613, 539, 580, 614, 193, 154, 131, + 235, 292, 173, 0, 0, 0, 114, 115, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 577, + 608, 536, 579, 581, 624, 502, 574, 0, 505, 508, + 620, 604, 531, 532, 0, 0, 0, 0, 0, 0, + 0, 553, 562, 590, 547, 0, 0, 0, 0, 0, + 0, 1515, 0, 529, 0, 571, 0, 0, 0, 509, + 506, 0, 0, 0, 0, 551, 0, 0, 0, 511, + 0, 530, 591, 0, 500, 178, 595, 603, 548, 328, + 607, 546, 545, 610, 262, 0, 296, 182, 201, 145, + 198, 128, 140, 0, 180, 234, 269, 273, 600, 526, + 535, 157, 533, 271, 247, 317, 570, 251, 270, 206, + 306, 263, 316, 329, 330, 163, 228, 323, 301, 326, + 338, 141, 160, 241, 297, 320, 288, 223, 303, 197, + 287, 133, 299, 314, 151, 281, 0, 0, 0, 135, + 312, 295, 221, 194, 195, 134, 0, 267, 164, 176, + 159, 237, 309, 310, 158, 339, 142, 325, 137, 143, + 324, 230, 305, 313, 222, 214, 136, 311, 220, 213, + 200, 170, 185, 260, 209, 261, 186, 226, 225, 227, + 0, 132, 0, 293, 321, 340, 148, 521, 596, 302, + 334, 337, 0, 264, 149, 177, 169, 259, 175, 203, + 333, 335, 336, 147, 257, 183, 229, 144, 188, 289, + 199, 207, 588, 623, 246, 272, 152, 319, 290, 516, + 520, 514, 515, 564, 565, 517, 615, 616, 617, 592, + 510, 0, 518, 519, 0, 598, 605, 606, 569, 127, + 138, 204, 619, 265, 174, 322, 501, 513, 162, 524, + 0, 0, 537, 542, 543, 555, 557, 558, 559, 560, + 568, 575, 576, 578, 585, 586, 587, 589, 594, 602, + 622, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 184, 187, 190, 191, 192, 196, 212, 216, 217, 218, + 219, 231, 232, 233, 236, 239, 240, 242, 244, 245, + 248, 252, 253, 254, 255, 256, 258, 266, 268, 274, + 275, 276, 277, 278, 279, 280, 283, 284, 285, 286, + 294, 298, 307, 308, 318, 327, 331, 181, 315, 332, + 0, 211, 567, 609, 597, 0, 0, 550, 612, 523, + 540, 621, 541, 544, 582, 507, 563, 238, 538, 0, + 527, 503, 534, 504, 525, 552, 166, 556, 522, 599, + 566, 611, 202, 0, 528, 250, 584, 282, 156, 210, + 208, 304, 171, 167, 165, 155, 189, 215, 249, 300, + 243, 618, 205, 573, 0, 291, 224, 0, 0, 0, + 554, 601, 561, 593, 549, 583, 512, 572, 613, 539, + 580, 614, 193, 154, 131, 235, 292, 173, 66, 0, + 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 577, 608, 536, 579, 581, 624, + 502, 574, 0, 505, 508, 620, 604, 531, 532, 0, + 0, 0, 0, 0, 0, 0, 553, 562, 590, 547, + 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, + 571, 0, 0, 0, 509, 506, 0, 0, 0, 0, + 551, 0, 0, 0, 511, 0, 530, 591, 0, 500, + 178, 595, 603, 548, 328, 607, 546, 545, 610, 262, + 0, 296, 182, 201, 145, 198, 128, 140, 0, 180, + 234, 269, 273, 600, 526, 535, 157, 533, 271, 247, + 317, 570, 251, 270, 206, 306, 263, 316, 329, 330, + 163, 228, 323, 301, 326, 338, 141, 160, 241, 297, + 320, 288, 223, 303, 197, 287, 133, 299, 314, 151, + 281, 0, 0, 0, 135, 312, 295, 221, 194, 195, + 134, 0, 267, 164, 176, 159, 237, 309, 310, 158, + 339, 142, 325, 137, 143, 324, 230, 305, 313, 222, + 214, 136, 311, 220, 213, 200, 170, 185, 260, 209, + 261, 186, 226, 225, 227, 0, 132, 0, 293, 321, + 340, 148, 521, 596, 302, 334, 337, 0, 264, 149, + 177, 169, 259, 175, 203, 333, 335, 336, 147, 257, + 183, 229, 144, 188, 289, 199, 207, 588, 623, 246, + 272, 152, 319, 290, 516, 520, 514, 515, 564, 565, + 517, 615, 616, 617, 592, 510, 0, 518, 519, 0, + 598, 605, 606, 569, 127, 138, 204, 619, 265, 174, + 322, 501, 513, 162, 524, 0, 0, 537, 542, 543, + 555, 557, 558, 559, 560, 568, 575, 576, 578, 585, + 586, 587, 589, 594, 602, 622, 129, 130, 139, 146, + 153, 161, 168, 172, 179, 184, 187, 190, 191, 192, + 196, 212, 216, 217, 218, 219, 231, 232, 233, 236, + 239, 240, 242, 244, 245, 248, 252, 253, 254, 255, + 256, 258, 266, 268, 274, 275, 276, 277, 278, 279, + 280, 283, 284, 285, 286, 294, 298, 307, 308, 318, + 327, 331, 181, 315, 332, 0, 211, 567, 609, 597, + 0, 0, 550, 612, 523, 540, 621, 541, 544, 582, + 507, 563, 238, 538, 0, 527, 503, 534, 504, 525, + 552, 166, 556, 522, 599, 566, 611, 202, 0, 528, + 250, 584, 282, 156, 210, 208, 304, 171, 167, 165, + 155, 189, 215, 249, 300, 243, 618, 205, 573, 0, + 291, 224, 0, 0, 0, 554, 601, 561, 593, 549, + 583, 512, 572, 613, 539, 580, 614, 193, 154, 131, + 235, 292, 173, 0, 0, 0, 114, 115, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 577, + 608, 536, 579, 581, 624, 502, 574, 0, 505, 508, + 620, 604, 531, 532, 0, 0, 0, 0, 0, 0, + 0, 553, 562, 590, 547, 0, 0, 0, 0, 0, + 0, 1392, 0, 529, 0, 571, 0, 0, 0, 509, + 506, 0, 0, 0, 0, 551, 0, 0, 0, 511, + 0, 530, 591, 0, 500, 178, 595, 603, 548, 328, + 607, 546, 545, 610, 262, 0, 296, 182, 201, 145, + 198, 128, 140, 0, 180, 234, 269, 273, 600, 526, + 535, 157, 533, 271, 247, 317, 570, 251, 270, 206, + 306, 263, 316, 329, 330, 163, 228, 323, 301, 326, + 338, 141, 160, 241, 297, 320, 288, 223, 303, 197, + 287, 133, 299, 314, 151, 281, 0, 0, 0, 135, + 312, 295, 221, 194, 195, 134, 0, 267, 164, 176, + 159, 237, 309, 310, 158, 339, 142, 325, 137, 143, + 324, 230, 305, 313, 222, 214, 136, 311, 220, 213, + 200, 170, 185, 260, 209, 261, 186, 226, 225, 227, + 0, 132, 0, 293, 321, 340, 148, 521, 596, 302, + 334, 337, 0, 264, 149, 177, 169, 259, 175, 203, + 333, 335, 336, 147, 257, 183, 229, 144, 188, 289, + 199, 207, 588, 623, 246, 272, 152, 319, 290, 516, + 520, 514, 515, 564, 565, 517, 615, 616, 617, 592, + 510, 0, 518, 519, 0, 598, 605, 606, 569, 127, + 138, 204, 619, 265, 174, 322, 501, 513, 162, 524, + 0, 0, 537, 542, 543, 555, 557, 558, 559, 560, + 568, 575, 576, 578, 585, 586, 587, 589, 594, 602, + 622, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 184, 187, 190, 191, 192, 196, 212, 216, 217, 218, + 219, 231, 232, 233, 236, 239, 240, 242, 244, 245, + 248, 252, 253, 254, 255, 256, 258, 266, 268, 274, + 275, 276, 277, 278, 279, 280, 283, 284, 285, 286, + 294, 298, 307, 308, 318, 327, 331, 181, 315, 332, + 0, 211, 567, 609, 597, 0, 0, 550, 612, 523, + 540, 621, 541, 544, 582, 507, 563, 238, 538, 0, + 527, 503, 534, 504, 525, 552, 166, 556, 522, 599, + 566, 611, 202, 0, 528, 250, 584, 282, 156, 210, + 208, 304, 171, 167, 165, 155, 189, 215, 249, 300, + 243, 618, 205, 573, 0, 291, 224, 0, 0, 0, + 554, 601, 561, 593, 549, 583, 512, 572, 613, 539, + 580, 614, 193, 154, 131, 235, 292, 173, 0, 0, + 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 577, 608, 536, 579, 581, 624, + 502, 574, 0, 505, 508, 620, 604, 531, 532, 0, + 0, 0, 0, 0, 0, 0, 553, 562, 590, 547, + 0, 0, 0, 0, 0, 0, 1120, 0, 529, 0, + 571, 0, 0, 0, 509, 506, 0, 0, 0, 0, + 551, 0, 0, 0, 511, 0, 530, 591, 0, 500, + 178, 595, 603, 548, 328, 607, 546, 545, 610, 262, + 0, 296, 182, 201, 145, 198, 128, 140, 0, 180, + 234, 269, 273, 600, 526, 535, 157, 533, 271, 247, + 317, 570, 251, 270, 206, 306, 263, 316, 329, 330, + 163, 228, 323, 301, 326, 338, 141, 160, 241, 297, + 320, 288, 223, 303, 197, 287, 133, 299, 314, 151, + 281, 0, 0, 0, 135, 312, 295, 221, 194, 195, + 134, 0, 267, 164, 176, 159, 237, 309, 310, 158, + 339, 142, 325, 137, 143, 324, 230, 305, 313, 222, + 214, 136, 311, 220, 213, 200, 170, 185, 260, 209, + 261, 186, 226, 225, 227, 0, 132, 0, 293, 321, + 340, 148, 521, 596, 302, 334, 337, 0, 264, 149, + 177, 169, 259, 175, 203, 333, 335, 336, 147, 257, + 183, 229, 144, 188, 289, 199, 207, 588, 623, 246, + 272, 152, 319, 290, 516, 520, 514, 515, 564, 565, + 517, 615, 616, 617, 592, 510, 0, 518, 519, 0, + 598, 605, 606, 569, 127, 138, 204, 619, 265, 174, + 322, 501, 513, 162, 524, 0, 0, 537, 542, 543, + 555, 557, 558, 559, 560, 568, 575, 576, 578, 585, + 586, 587, 589, 594, 602, 622, 129, 130, 139, 146, + 153, 161, 168, 172, 179, 184, 187, 190, 191, 192, + 196, 212, 216, 217, 218, 219, 231, 232, 233, 236, + 239, 240, 242, 244, 245, 248, 252, 253, 254, 255, + 256, 258, 266, 268, 274, 275, 276, 277, 278, 279, + 280, 283, 284, 285, 286, 294, 298, 307, 308, 318, + 327, 331, 181, 315, 332, 0, 211, 567, 609, 597, + 0, 0, 550, 612, 523, 540, 621, 541, 544, 582, + 507, 563, 238, 538, 0, 527, 503, 534, 504, 525, + 552, 166, 556, 522, 599, 566, 611, 202, 0, 528, + 250, 584, 282, 156, 210, 208, 304, 171, 167, 165, + 155, 189, 215, 249, 300, 243, 618, 205, 573, 0, + 291, 224, 0, 0, 0, 554, 601, 561, 593, 549, + 583, 512, 572, 613, 539, 580, 614, 193, 154, 131, + 235, 292, 173, 0, 0, 0, 114, 115, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 577, + 608, 536, 579, 581, 624, 502, 574, 0, 505, 508, + 620, 604, 531, 532, 0, 0, 0, 0, 0, 0, + 0, 553, 562, 590, 547, 0, 0, 0, 0, 0, + 0, 0, 0, 529, 0, 571, 0, 0, 0, 509, + 506, 0, 0, 0, 0, 551, 0, 0, 0, 511, + 0, 530, 591, 0, 500, 178, 595, 603, 548, 328, + 607, 546, 545, 610, 262, 0, 296, 182, 201, 145, + 198, 128, 140, 0, 180, 234, 269, 273, 600, 526, + 535, 157, 533, 271, 247, 317, 570, 251, 270, 206, + 306, 263, 316, 329, 330, 163, 228, 323, 301, 326, + 338, 141, 160, 241, 297, 320, 288, 223, 303, 197, + 287, 133, 299, 314, 151, 281, 0, 0, 0, 135, + 312, 295, 221, 194, 195, 134, 0, 267, 164, 176, + 159, 237, 309, 310, 158, 339, 142, 325, 137, 143, + 324, 230, 305, 313, 222, 214, 136, 311, 220, 213, + 200, 170, 185, 260, 209, 261, 186, 226, 225, 227, + 0, 132, 0, 293, 321, 340, 148, 521, 596, 302, + 334, 337, 0, 264, 149, 177, 169, 259, 175, 203, + 333, 335, 336, 147, 257, 183, 229, 144, 188, 289, + 199, 207, 588, 623, 246, 272, 152, 319, 290, 516, + 520, 514, 515, 564, 565, 517, 615, 616, 617, 592, + 510, 0, 518, 519, 0, 598, 605, 606, 569, 127, + 138, 204, 619, 265, 174, 322, 501, 513, 162, 524, + 0, 0, 537, 542, 543, 555, 557, 558, 559, 560, + 568, 575, 576, 578, 585, 586, 587, 589, 594, 602, + 622, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 184, 187, 190, 191, 192, 196, 212, 216, 217, 218, + 219, 231, 232, 233, 236, 239, 240, 242, 244, 245, + 248, 252, 253, 254, 255, 256, 258, 266, 268, 274, + 275, 276, 277, 278, 279, 280, 283, 284, 285, 286, + 294, 298, 307, 308, 318, 327, 331, 181, 315, 332, + 0, 211, 567, 609, 597, 0, 0, 550, 612, 523, + 540, 621, 541, 544, 582, 507, 563, 238, 538, 0, + 527, 503, 534, 504, 525, 552, 166, 556, 522, 599, + 566, 611, 202, 0, 528, 250, 584, 282, 156, 210, + 208, 304, 171, 167, 165, 155, 189, 215, 249, 300, + 243, 618, 205, 573, 0, 291, 224, 0, 0, 0, + 554, 601, 561, 593, 549, 583, 512, 572, 613, 539, + 580, 614, 193, 154, 131, 235, 292, 173, 0, 0, + 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 577, 608, 536, 579, 581, 624, + 502, 574, 0, 505, 508, 620, 604, 531, 532, 0, + 0, 0, 0, 0, 0, 0, 553, 562, 590, 547, + 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, + 571, 0, 0, 0, 509, 506, 0, 0, 0, 0, + 551, 0, 0, 0, 511, 0, 530, 591, 0, 500, + 178, 595, 603, 548, 328, 607, 546, 545, 610, 262, + 0, 296, 182, 201, 145, 198, 128, 140, 0, 180, + 234, 269, 273, 600, 526, 535, 157, 533, 271, 247, + 317, 570, 251, 270, 206, 306, 263, 316, 329, 330, + 163, 228, 323, 301, 326, 338, 141, 160, 241, 297, + 320, 288, 223, 303, 197, 287, 133, 299, 314, 151, + 281, 0, 0, 0, 135, 312, 295, 221, 194, 195, + 134, 0, 267, 164, 176, 159, 237, 309, 310, 158, + 339, 142, 325, 137, 498, 324, 230, 305, 313, 222, + 214, 136, 311, 220, 213, 200, 170, 185, 260, 209, + 261, 186, 226, 225, 227, 0, 132, 0, 293, 321, + 340, 148, 521, 596, 302, 334, 337, 0, 264, 149, + 177, 169, 259, 175, 203, 333, 335, 336, 147, 257, + 183, 499, 497, 492, 491, 199, 207, 588, 623, 246, + 272, 152, 319, 290, 516, 520, 514, 515, 564, 565, + 517, 615, 616, 617, 592, 510, 0, 518, 519, 0, + 598, 605, 606, 569, 127, 138, 204, 619, 265, 174, + 322, 501, 513, 162, 524, 0, 0, 537, 542, 543, + 555, 557, 558, 559, 560, 568, 575, 576, 578, 585, + 586, 587, 589, 594, 602, 622, 129, 130, 139, 146, + 153, 161, 168, 172, 179, 184, 187, 190, 191, 192, + 196, 212, 216, 217, 218, 219, 231, 232, 233, 236, + 239, 240, 242, 244, 245, 248, 252, 253, 254, 255, + 256, 258, 266, 268, 274, 275, 276, 277, 278, 279, + 280, 283, 284, 285, 286, 294, 298, 307, 308, 318, + 327, 331, 181, 315, 332, 0, 211, 567, 609, 597, + 0, 0, 550, 612, 523, 540, 621, 541, 544, 582, + 507, 563, 238, 538, 0, 527, 503, 534, 504, 525, + 552, 166, 556, 522, 599, 566, 611, 202, 0, 528, + 250, 584, 282, 156, 210, 208, 304, 171, 167, 165, + 155, 189, 215, 249, 300, 243, 618, 205, 573, 0, + 291, 224, 0, 0, 0, 554, 601, 561, 593, 549, + 583, 512, 572, 613, 539, 580, 614, 193, 154, 131, + 235, 292, 173, 0, 0, 0, 114, 115, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 577, + 608, 536, 579, 581, 624, 502, 574, 0, 505, 508, + 620, 604, 531, 532, 0, 0, 0, 0, 0, 0, + 0, 553, 562, 590, 547, 0, 0, 0, 0, 0, + 0, 0, 0, 529, 0, 571, 0, 0, 0, 509, + 506, 0, 0, 0, 0, 551, 0, 0, 0, 511, + 0, 530, 591, 0, 500, 178, 595, 603, 548, 328, + 607, 546, 545, 610, 262, 0, 296, 182, 201, 145, + 198, 128, 140, 0, 180, 234, 269, 273, 600, 526, + 535, 157, 533, 271, 247, 317, 570, 251, 270, 206, + 306, 263, 316, 329, 330, 163, 228, 323, 301, 326, + 338, 141, 160, 241, 297, 320, 288, 223, 303, 197, + 287, 133, 299, 855, 151, 281, 0, 0, 0, 135, + 312, 295, 221, 194, 195, 134, 0, 267, 164, 176, + 159, 237, 309, 310, 158, 339, 142, 325, 137, 498, + 324, 230, 305, 313, 222, 214, 136, 311, 220, 213, + 200, 170, 185, 260, 209, 261, 186, 226, 225, 227, + 0, 132, 0, 293, 321, 340, 148, 521, 596, 302, + 334, 337, 0, 264, 149, 177, 169, 259, 175, 203, + 333, 335, 336, 147, 257, 183, 499, 497, 492, 491, + 199, 207, 588, 623, 246, 272, 152, 319, 290, 516, + 520, 514, 515, 564, 565, 517, 615, 616, 617, 592, + 510, 0, 518, 519, 0, 598, 605, 606, 569, 127, + 138, 204, 619, 265, 174, 322, 501, 513, 162, 524, + 0, 0, 537, 542, 543, 555, 557, 558, 559, 560, + 568, 575, 576, 578, 585, 586, 587, 589, 594, 602, + 622, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 184, 187, 190, 191, 192, 196, 212, 216, 217, 218, + 219, 231, 232, 233, 236, 239, 240, 242, 244, 245, + 248, 252, 253, 254, 255, 256, 258, 266, 268, 274, + 275, 276, 277, 278, 279, 280, 283, 284, 285, 286, + 294, 298, 307, 308, 318, 327, 331, 181, 315, 332, + 0, 211, 567, 609, 597, 0, 0, 550, 612, 523, + 540, 621, 541, 544, 582, 507, 563, 238, 538, 0, + 527, 503, 534, 504, 525, 552, 166, 556, 522, 599, + 566, 611, 202, 0, 528, 250, 584, 282, 156, 210, + 208, 304, 171, 167, 165, 155, 189, 215, 249, 300, + 243, 618, 205, 573, 0, 291, 224, 0, 0, 0, + 554, 601, 561, 593, 549, 583, 512, 572, 613, 539, + 580, 614, 193, 154, 131, 235, 292, 173, 0, 0, + 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 577, 608, 536, 579, 581, 624, + 502, 574, 0, 505, 508, 620, 604, 531, 532, 0, + 0, 0, 0, 0, 0, 0, 553, 562, 590, 547, + 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, + 571, 0, 0, 0, 509, 506, 0, 0, 0, 0, + 551, 0, 0, 0, 511, 0, 530, 591, 0, 500, + 178, 595, 603, 548, 328, 607, 546, 545, 610, 262, + 0, 296, 182, 201, 145, 198, 128, 140, 0, 180, + 234, 269, 273, 600, 526, 535, 157, 533, 271, 247, + 317, 570, 251, 270, 206, 306, 263, 316, 329, 330, + 163, 228, 323, 301, 326, 338, 141, 160, 241, 297, + 320, 288, 223, 303, 197, 287, 133, 299, 489, 151, + 281, 0, 0, 0, 135, 312, 295, 221, 194, 195, + 134, 0, 267, 164, 176, 159, 237, 309, 310, 158, + 339, 142, 325, 137, 498, 324, 230, 305, 313, 222, + 214, 136, 311, 220, 213, 200, 170, 185, 260, 209, + 261, 186, 226, 225, 227, 0, 132, 0, 293, 321, + 340, 148, 521, 596, 302, 334, 337, 0, 264, 149, + 177, 169, 259, 175, 203, 333, 335, 336, 147, 257, + 183, 499, 497, 492, 491, 199, 207, 588, 623, 246, + 272, 152, 319, 290, 516, 520, 514, 515, 564, 565, + 517, 615, 616, 617, 592, 510, 0, 518, 519, 0, + 598, 605, 606, 569, 127, 138, 204, 619, 265, 174, + 322, 501, 513, 162, 524, 0, 0, 537, 542, 543, + 555, 557, 558, 559, 560, 568, 575, 576, 578, 585, + 586, 587, 589, 594, 602, 622, 129, 130, 139, 146, + 153, 161, 168, 172, 179, 184, 187, 190, 191, 192, + 196, 212, 216, 217, 218, 219, 231, 232, 233, 236, + 239, 240, 242, 244, 245, 248, 252, 253, 254, 255, + 256, 258, 266, 268, 274, 275, 276, 277, 278, 279, + 280, 283, 284, 285, 286, 294, 298, 307, 308, 318, + 327, 331, 181, 315, 332, 238, 211, 567, 1047, 0, + 393, 0, 0, 0, 166, 0, 392, 0, 0, 0, + 202, 0, 1048, 250, 0, 282, 156, 210, 208, 304, + 171, 167, 165, 155, 189, 215, 249, 300, 243, 436, + 205, 0, 0, 291, 224, 0, 0, 0, 0, 0, + 427, 428, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 154, 131, 235, 292, 173, 66, 0, 0, 114, + 115, 116, 414, 413, 416, 417, 418, 419, 0, 0, + 150, 415, 420, 421, 422, 0, 0, 0, 0, 390, + 407, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 404, 405, 479, 0, 0, 0, 450, 0, + 406, 0, 0, 399, 400, 402, 401, 403, 408, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 178, 449, + 0, 0, 328, 0, 0, 447, 0, 262, 0, 296, + 182, 201, 145, 198, 128, 140, 0, 180, 234, 269, + 273, 0, 0, 0, 157, 0, 271, 247, 317, 0, + 251, 270, 206, 306, 263, 316, 329, 330, 163, 228, + 323, 301, 326, 338, 141, 160, 241, 297, 320, 288, + 223, 303, 197, 287, 133, 299, 314, 151, 281, 0, + 0, 0, 135, 312, 295, 221, 194, 195, 134, 0, + 267, 164, 176, 159, 237, 309, 310, 158, 339, 142, + 325, 137, 143, 324, 230, 305, 313, 222, 214, 136, + 311, 220, 213, 200, 170, 185, 260, 209, 261, 186, + 226, 225, 227, 0, 132, 0, 293, 321, 340, 148, + 0, 0, 302, 334, 337, 0, 264, 149, 177, 169, + 259, 175, 203, 333, 335, 336, 147, 257, 183, 229, + 144, 188, 289, 199, 207, 0, 0, 246, 272, 152, + 319, 290, 437, 448, 443, 444, 441, 442, 0, 440, + 439, 438, 451, 429, 430, 431, 432, 434, 0, 445, + 446, 433, 127, 138, 204, 0, 265, 174, 322, 0, + 0, 162, 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, 129, - 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, - 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, - 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, - 252, 253, 254, 255, 257, 265, 267, 273, 274, 275, - 276, 277, 278, 279, 282, 283, 284, 285, 293, 297, - 306, 307, 317, 326, 330, 181, 314, 331, 237, 210, - 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, - 0, 0, 0, 201, 0, 0, 249, 0, 281, 156, - 209, 207, 303, 171, 167, 165, 155, 188, 214, 248, - 299, 242, 0, 204, 0, 0, 290, 223, 0, 0, + 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, + 168, 172, 179, 184, 187, 190, 191, 192, 196, 212, + 216, 217, 218, 219, 231, 232, 233, 236, 239, 240, + 242, 244, 245, 248, 252, 253, 254, 255, 256, 258, + 266, 268, 274, 275, 276, 277, 278, 279, 280, 283, + 284, 285, 286, 294, 298, 307, 308, 318, 327, 331, + 181, 315, 332, 238, 211, 0, 0, 0, 393, 0, + 0, 0, 166, 0, 392, 0, 0, 0, 202, 0, + 0, 250, 0, 282, 156, 210, 208, 304, 171, 167, + 165, 155, 189, 215, 249, 300, 243, 436, 205, 0, + 0, 291, 224, 0, 0, 0, 0, 0, 427, 428, + 0, 0, 0, 0, 0, 0, 1159, 0, 193, 154, + 131, 235, 292, 173, 66, 0, 0, 114, 115, 116, + 414, 413, 416, 417, 418, 419, 0, 0, 150, 415, + 420, 421, 422, 1160, 0, 0, 0, 390, 407, 0, + 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 404, 405, 0, 0, 0, 0, 450, 0, 406, 0, + 0, 399, 400, 402, 401, 403, 408, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 178, 449, 0, 0, + 328, 0, 0, 447, 0, 262, 0, 296, 182, 201, + 145, 198, 128, 140, 0, 180, 234, 269, 273, 0, + 0, 0, 157, 0, 271, 247, 317, 0, 251, 270, + 206, 306, 263, 316, 329, 330, 163, 228, 323, 301, + 326, 338, 141, 160, 241, 297, 320, 288, 223, 303, + 197, 287, 133, 299, 314, 151, 281, 0, 0, 0, + 135, 312, 295, 221, 194, 195, 134, 0, 267, 164, + 176, 159, 237, 309, 310, 158, 339, 142, 325, 137, + 143, 324, 230, 305, 313, 222, 214, 136, 311, 220, + 213, 200, 170, 185, 260, 209, 261, 186, 226, 225, + 227, 0, 132, 0, 293, 321, 340, 148, 0, 0, + 302, 334, 337, 0, 264, 149, 177, 169, 259, 175, + 203, 333, 335, 336, 147, 257, 183, 229, 144, 188, + 289, 199, 207, 0, 0, 246, 272, 152, 319, 290, + 437, 448, 443, 444, 441, 442, 0, 440, 439, 438, + 451, 429, 430, 431, 432, 434, 0, 445, 446, 433, + 127, 138, 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 192, 154, 131, 234, 291, 173, 0, - 0, 0, 114, 115, 116, 0, 0, 0, 0, 0, - 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, + 179, 184, 187, 190, 191, 192, 196, 212, 216, 217, + 218, 219, 231, 232, 233, 236, 239, 240, 242, 244, + 245, 248, 252, 253, 254, 255, 256, 258, 266, 268, + 274, 275, 276, 277, 278, 279, 280, 283, 284, 285, + 286, 294, 298, 307, 308, 318, 327, 331, 181, 315, + 332, 238, 211, 0, 0, 0, 393, 0, 0, 0, + 166, 0, 392, 0, 0, 0, 202, 0, 0, 250, + 0, 282, 156, 210, 208, 304, 171, 167, 165, 155, + 189, 215, 249, 300, 243, 436, 205, 0, 0, 291, + 224, 0, 0, 0, 0, 0, 427, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 154, 131, 235, + 292, 173, 66, 0, 467, 114, 115, 116, 414, 413, + 416, 417, 418, 419, 0, 0, 150, 415, 420, 421, + 422, 0, 0, 0, 0, 390, 407, 0, 435, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 404, 405, + 0, 0, 0, 0, 450, 0, 406, 0, 0, 399, + 400, 402, 401, 403, 408, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 449, 0, 0, 328, 0, + 0, 447, 0, 262, 0, 296, 182, 201, 145, 198, + 128, 140, 0, 180, 234, 269, 273, 0, 0, 0, + 157, 0, 271, 247, 317, 0, 251, 270, 206, 306, + 263, 316, 329, 330, 163, 228, 323, 301, 326, 338, + 141, 160, 241, 297, 320, 288, 223, 303, 197, 287, + 133, 299, 314, 151, 281, 0, 0, 0, 135, 312, + 295, 221, 194, 195, 134, 0, 267, 164, 176, 159, + 237, 309, 310, 158, 339, 142, 325, 137, 143, 324, + 230, 305, 313, 222, 214, 136, 311, 220, 213, 200, + 170, 185, 260, 209, 261, 186, 226, 225, 227, 0, + 132, 0, 293, 321, 340, 148, 0, 0, 302, 334, + 337, 0, 264, 149, 177, 169, 259, 175, 203, 333, + 335, 336, 147, 257, 183, 229, 144, 188, 289, 199, + 207, 0, 0, 246, 272, 152, 319, 290, 437, 448, + 443, 444, 441, 442, 0, 440, 439, 438, 451, 429, + 430, 431, 432, 434, 0, 445, 446, 433, 127, 138, + 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 129, 130, 139, 146, 153, 161, 168, 172, 179, 184, + 187, 190, 191, 192, 196, 212, 216, 217, 218, 219, + 231, 232, 233, 236, 239, 240, 242, 244, 245, 248, + 252, 253, 254, 255, 256, 258, 266, 268, 274, 275, + 276, 277, 278, 279, 280, 283, 284, 285, 286, 294, + 298, 307, 308, 318, 327, 331, 181, 315, 332, 238, + 211, 0, 0, 0, 393, 0, 0, 0, 166, 0, + 392, 0, 0, 0, 202, 0, 0, 250, 0, 282, + 156, 210, 208, 304, 171, 167, 165, 155, 189, 215, + 249, 300, 243, 436, 205, 0, 0, 291, 224, 0, + 0, 0, 0, 0, 427, 428, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 154, 131, 235, 292, 173, + 66, 0, 0, 114, 115, 116, 414, 413, 416, 417, + 418, 419, 0, 0, 150, 415, 420, 421, 422, 0, + 0, 0, 0, 390, 407, 0, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 404, 405, 479, 0, + 0, 0, 450, 0, 406, 0, 0, 399, 400, 402, + 401, 403, 408, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 178, 449, 0, 0, 328, 0, 0, 447, + 0, 262, 0, 296, 182, 201, 145, 198, 128, 140, + 0, 180, 234, 269, 273, 0, 0, 0, 157, 0, + 271, 247, 317, 0, 251, 270, 206, 306, 263, 316, + 329, 330, 163, 228, 323, 301, 326, 338, 141, 160, + 241, 297, 320, 288, 223, 303, 197, 287, 133, 299, + 314, 151, 281, 0, 0, 0, 135, 312, 295, 221, + 194, 195, 134, 0, 267, 164, 176, 159, 237, 309, + 310, 158, 339, 142, 325, 137, 143, 324, 230, 305, + 313, 222, 214, 136, 311, 220, 213, 200, 170, 185, + 260, 209, 261, 186, 226, 225, 227, 0, 132, 0, + 293, 321, 340, 148, 0, 0, 302, 334, 337, 0, + 264, 149, 177, 169, 259, 175, 203, 333, 335, 336, + 147, 257, 183, 229, 144, 188, 289, 199, 207, 0, + 0, 246, 272, 152, 319, 290, 437, 448, 443, 444, + 441, 442, 0, 440, 439, 438, 451, 429, 430, 431, + 432, 434, 0, 445, 446, 433, 127, 138, 204, 0, + 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 728, 727, 737, 738, 730, 731, 732, 733, 734, - 735, 736, 729, 0, 0, 739, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 178, 0, 0, 0, 327, 0, 0, 0, 0, - 261, 0, 295, 182, 200, 145, 197, 128, 140, 0, - 180, 233, 268, 272, 0, 0, 0, 157, 0, 270, - 246, 316, 0, 250, 269, 205, 305, 262, 315, 328, - 329, 163, 227, 322, 300, 325, 337, 141, 160, 240, - 296, 319, 287, 222, 302, 196, 286, 133, 298, 313, - 151, 280, 0, 0, 0, 135, 311, 294, 220, 193, - 194, 134, 0, 266, 164, 176, 159, 236, 308, 309, - 158, 338, 142, 324, 137, 143, 323, 229, 304, 312, - 221, 213, 136, 310, 219, 212, 199, 170, 184, 259, - 208, 260, 185, 225, 224, 226, 0, 132, 0, 292, - 320, 339, 148, 0, 0, 301, 333, 336, 0, 263, - 149, 177, 169, 258, 175, 202, 332, 334, 335, 147, - 256, 228, 144, 187, 288, 198, 206, 0, 0, 245, - 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 138, 203, 0, 264, 174, - 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, + 139, 146, 153, 161, 168, 172, 179, 184, 187, 190, + 191, 192, 196, 212, 216, 217, 218, 219, 231, 232, + 233, 236, 239, 240, 242, 244, 245, 248, 252, 253, + 254, 255, 256, 258, 266, 268, 274, 275, 276, 277, + 278, 279, 280, 283, 284, 285, 286, 294, 298, 307, + 308, 318, 327, 331, 181, 315, 332, 238, 211, 0, + 0, 0, 393, 0, 0, 0, 166, 0, 392, 0, + 0, 0, 202, 0, 0, 250, 0, 282, 156, 210, + 208, 304, 171, 167, 165, 155, 189, 215, 249, 300, + 243, 436, 205, 0, 0, 291, 224, 0, 0, 0, + 0, 0, 427, 428, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 154, 131, 235, 292, 173, 66, 0, + 0, 114, 115, 116, 414, 1065, 416, 417, 418, 419, + 0, 0, 150, 415, 420, 421, 422, 0, 0, 0, + 0, 390, 407, 0, 435, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 404, 405, 479, 0, 0, 0, + 450, 0, 406, 0, 0, 399, 400, 402, 401, 403, + 408, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 178, 449, 0, 0, 328, 0, 0, 447, 0, 262, + 0, 296, 182, 201, 145, 198, 128, 140, 0, 180, + 234, 269, 273, 0, 0, 0, 157, 0, 271, 247, + 317, 0, 251, 270, 206, 306, 263, 316, 329, 330, + 163, 228, 323, 301, 326, 338, 141, 160, 241, 297, + 320, 288, 223, 303, 197, 287, 133, 299, 314, 151, + 281, 0, 0, 0, 135, 312, 295, 221, 194, 195, + 134, 0, 267, 164, 176, 159, 237, 309, 310, 158, + 339, 142, 325, 137, 143, 324, 230, 305, 313, 222, + 214, 136, 311, 220, 213, 200, 170, 185, 260, 209, + 261, 186, 226, 225, 227, 0, 132, 0, 293, 321, + 340, 148, 0, 0, 302, 334, 337, 0, 264, 149, + 177, 169, 259, 175, 203, 333, 335, 336, 147, 257, + 183, 229, 144, 188, 289, 199, 207, 0, 0, 246, + 272, 152, 319, 290, 437, 448, 443, 444, 441, 442, + 0, 440, 439, 438, 451, 429, 430, 431, 432, 434, + 0, 445, 446, 433, 127, 138, 204, 0, 265, 174, + 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, - 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, - 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, - 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, - 255, 257, 265, 267, 273, 274, 275, 276, 277, 278, - 279, 282, 283, 284, 285, 293, 297, 306, 307, 317, - 326, 330, 181, 314, 331, 237, 210, 0, 0, 828, - 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, - 201, 0, 0, 249, 0, 281, 156, 209, 207, 303, - 171, 167, 165, 155, 188, 214, 248, 299, 242, 0, - 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 154, 131, 234, 291, 173, 0, 0, 0, 114, - 115, 116, 0, 830, 0, 0, 0, 0, 0, 0, - 150, 0, 0, 0, 0, 0, 717, 718, 716, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, - 0, 0, 327, 0, 0, 0, 0, 261, 0, 295, - 182, 200, 145, 197, 128, 140, 0, 180, 233, 268, - 272, 0, 0, 0, 157, 0, 270, 246, 316, 0, - 250, 269, 205, 305, 262, 315, 328, 329, 163, 227, - 322, 300, 325, 337, 141, 160, 240, 296, 319, 287, - 222, 302, 196, 286, 133, 298, 313, 151, 280, 0, - 0, 0, 135, 311, 294, 220, 193, 194, 134, 0, - 266, 164, 176, 159, 236, 308, 309, 158, 338, 142, - 324, 137, 143, 323, 229, 304, 312, 221, 213, 136, - 310, 219, 212, 199, 170, 184, 259, 208, 260, 185, - 225, 224, 226, 0, 132, 0, 292, 320, 339, 148, - 0, 0, 301, 333, 336, 0, 263, 149, 177, 169, - 258, 175, 202, 332, 334, 335, 147, 256, 228, 144, - 187, 288, 198, 206, 0, 0, 245, 271, 152, 318, - 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 138, 203, 0, 264, 174, 321, 0, 0, + 153, 161, 168, 172, 179, 184, 187, 190, 191, 192, + 196, 212, 216, 217, 218, 219, 231, 232, 233, 236, + 239, 240, 242, 244, 245, 248, 252, 253, 254, 255, + 256, 258, 266, 268, 274, 275, 276, 277, 278, 279, + 280, 283, 284, 285, 286, 294, 298, 307, 308, 318, + 327, 331, 181, 315, 332, 238, 211, 0, 0, 0, + 393, 0, 0, 0, 166, 0, 392, 0, 0, 0, + 202, 0, 0, 250, 0, 282, 156, 210, 208, 304, + 171, 167, 165, 155, 189, 215, 249, 300, 243, 436, + 205, 0, 0, 291, 224, 0, 0, 0, 0, 0, + 427, 428, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 154, 131, 235, 292, 173, 66, 0, 0, 114, + 115, 116, 414, 1062, 416, 417, 418, 419, 0, 0, + 150, 415, 420, 421, 422, 0, 0, 0, 0, 390, + 407, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 404, 405, 479, 0, 0, 0, 450, 0, + 406, 0, 0, 399, 400, 402, 401, 403, 408, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 178, 449, + 0, 0, 328, 0, 0, 447, 0, 262, 0, 296, + 182, 201, 145, 198, 128, 140, 0, 180, 234, 269, + 273, 0, 0, 0, 157, 0, 271, 247, 317, 0, + 251, 270, 206, 306, 263, 316, 329, 330, 163, 228, + 323, 301, 326, 338, 141, 160, 241, 297, 320, 288, + 223, 303, 197, 287, 133, 299, 314, 151, 281, 0, + 0, 0, 135, 312, 295, 221, 194, 195, 134, 0, + 267, 164, 176, 159, 237, 309, 310, 158, 339, 142, + 325, 137, 143, 324, 230, 305, 313, 222, 214, 136, + 311, 220, 213, 200, 170, 185, 260, 209, 261, 186, + 226, 225, 227, 0, 132, 0, 293, 321, 340, 148, + 0, 0, 302, 334, 337, 0, 264, 149, 177, 169, + 259, 175, 203, 333, 335, 336, 147, 257, 183, 229, + 144, 188, 289, 199, 207, 0, 0, 246, 272, 152, + 319, 290, 437, 448, 443, 444, 441, 442, 0, 440, + 439, 438, 451, 429, 430, 431, 432, 434, 0, 445, + 446, 433, 127, 138, 204, 0, 265, 174, 322, 0, + 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, + 168, 172, 179, 184, 187, 190, 191, 192, 196, 212, + 216, 217, 218, 219, 231, 232, 233, 236, 239, 240, + 242, 244, 245, 248, 252, 253, 254, 255, 256, 258, + 266, 268, 274, 275, 276, 277, 278, 279, 280, 283, + 284, 285, 286, 294, 298, 307, 308, 318, 327, 331, + 181, 315, 332, 460, 211, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 238, 0, 0, 0, + 0, 393, 0, 0, 0, 166, 0, 392, 0, 0, + 0, 202, 0, 0, 250, 0, 282, 156, 210, 208, + 304, 171, 167, 165, 155, 189, 215, 249, 300, 243, + 436, 205, 0, 0, 291, 224, 0, 0, 0, 0, + 0, 427, 428, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 154, 131, 235, 292, 173, 66, 0, 0, + 114, 115, 116, 414, 413, 416, 417, 418, 419, 0, + 0, 150, 415, 420, 421, 422, 0, 0, 0, 0, + 390, 407, 0, 435, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 404, 405, 0, 0, 0, 0, 450, + 0, 406, 0, 0, 399, 400, 402, 401, 403, 408, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 449, 0, 0, 328, 0, 0, 447, 0, 262, 0, + 296, 182, 201, 145, 198, 128, 140, 0, 180, 234, + 269, 273, 0, 0, 0, 157, 0, 271, 247, 317, + 0, 251, 270, 206, 306, 263, 316, 329, 330, 163, + 228, 323, 301, 326, 338, 141, 160, 241, 297, 320, + 288, 223, 303, 197, 287, 133, 299, 314, 151, 281, + 0, 0, 0, 135, 312, 295, 221, 194, 195, 134, + 0, 267, 164, 176, 159, 237, 309, 310, 158, 339, + 142, 325, 137, 143, 324, 230, 305, 313, 222, 214, + 136, 311, 220, 213, 200, 170, 185, 260, 209, 261, + 186, 226, 225, 227, 0, 132, 0, 293, 321, 340, + 148, 0, 0, 302, 334, 337, 0, 264, 149, 177, + 169, 259, 175, 203, 333, 335, 336, 147, 257, 183, + 229, 144, 188, 289, 199, 207, 0, 0, 246, 272, + 152, 319, 290, 437, 448, 443, 444, 441, 442, 0, + 440, 439, 438, 451, 429, 430, 431, 432, 434, 0, + 445, 446, 433, 127, 138, 204, 0, 265, 174, 322, + 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, + 161, 168, 172, 179, 184, 187, 190, 191, 192, 196, + 212, 216, 217, 218, 219, 231, 232, 233, 236, 239, + 240, 242, 244, 245, 248, 252, 253, 254, 255, 256, + 258, 266, 268, 274, 275, 276, 277, 278, 279, 280, + 283, 284, 285, 286, 294, 298, 307, 308, 318, 327, + 331, 181, 315, 332, 238, 211, 0, 0, 0, 393, + 0, 0, 0, 166, 0, 392, 0, 0, 0, 202, + 0, 0, 250, 0, 282, 156, 210, 208, 304, 171, + 167, 165, 155, 189, 215, 249, 300, 243, 436, 205, + 0, 0, 291, 224, 0, 0, 0, 0, 0, 427, + 428, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 154, 131, 235, 292, 173, 66, 0, 0, 114, 115, + 116, 414, 413, 416, 417, 418, 419, 0, 0, 150, + 415, 420, 421, 422, 0, 0, 0, 0, 390, 407, + 0, 435, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 404, 405, 0, 0, 0, 0, 450, 0, 406, + 0, 0, 399, 400, 402, 401, 403, 408, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 178, 449, 0, + 0, 328, 0, 0, 447, 0, 262, 0, 296, 182, + 201, 145, 198, 128, 140, 0, 180, 234, 269, 273, + 0, 0, 0, 157, 0, 271, 247, 317, 0, 251, + 270, 206, 306, 263, 316, 329, 330, 163, 228, 323, + 301, 326, 338, 141, 160, 241, 297, 320, 288, 223, + 303, 197, 287, 133, 299, 314, 151, 281, 0, 0, + 0, 135, 312, 295, 221, 194, 195, 134, 0, 267, + 164, 176, 159, 237, 309, 310, 158, 339, 142, 325, + 137, 143, 324, 230, 305, 313, 222, 214, 136, 311, + 220, 213, 200, 170, 185, 260, 209, 261, 186, 226, + 225, 227, 0, 132, 0, 293, 321, 340, 148, 0, + 0, 302, 334, 337, 0, 264, 149, 177, 169, 259, + 175, 203, 333, 335, 336, 147, 257, 183, 229, 144, + 188, 289, 199, 207, 0, 0, 246, 272, 152, 319, + 290, 437, 448, 443, 444, 441, 442, 0, 440, 439, + 438, 451, 429, 430, 431, 432, 434, 0, 445, 446, + 433, 127, 138, 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, - 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, - 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, - 243, 244, 247, 251, 252, 253, 254, 255, 257, 265, - 267, 273, 274, 275, 276, 277, 278, 279, 282, 283, - 284, 285, 293, 297, 306, 307, 317, 326, 330, 181, - 314, 331, 237, 210, 0, 0, 0, 0, 0, 0, - 0, 166, 1176, 0, 0, 0, 0, 201, 0, 0, - 249, 0, 281, 156, 209, 207, 303, 171, 167, 165, - 155, 188, 214, 248, 299, 242, 0, 204, 0, 0, - 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 154, 131, - 234, 291, 173, 0, 0, 0, 114, 115, 116, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, + 172, 179, 184, 187, 190, 191, 192, 196, 212, 216, + 217, 218, 219, 231, 232, 233, 236, 239, 240, 242, + 244, 245, 248, 252, 253, 254, 255, 256, 258, 266, + 268, 274, 275, 276, 277, 278, 279, 280, 283, 284, + 285, 286, 294, 298, 307, 308, 318, 327, 331, 181, + 315, 332, 238, 211, 0, 0, 0, 0, 0, 0, + 0, 166, 0, 0, 0, 0, 0, 202, 0, 0, + 250, 0, 282, 156, 210, 208, 304, 171, 167, 165, + 155, 189, 215, 249, 300, 243, 436, 205, 0, 0, + 291, 224, 0, 0, 0, 0, 0, 427, 428, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 154, 131, + 235, 292, 173, 66, 0, 0, 114, 115, 116, 414, + 413, 416, 417, 418, 419, 0, 0, 150, 415, 420, + 421, 422, 0, 0, 0, 0, 0, 407, 0, 435, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, + 405, 0, 0, 0, 0, 450, 0, 406, 0, 0, + 399, 400, 402, 401, 403, 408, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 178, 449, 0, 0, 328, + 0, 0, 447, 0, 262, 0, 296, 182, 201, 145, + 198, 128, 140, 0, 180, 234, 269, 273, 0, 0, + 0, 157, 0, 271, 247, 317, 1836, 251, 270, 206, + 306, 263, 316, 329, 330, 163, 228, 323, 301, 326, + 338, 141, 160, 241, 297, 320, 288, 223, 303, 197, + 287, 133, 299, 314, 151, 281, 0, 0, 0, 135, + 312, 295, 221, 194, 195, 134, 0, 267, 164, 176, + 159, 237, 309, 310, 158, 339, 142, 325, 137, 143, + 324, 230, 305, 313, 222, 214, 136, 311, 220, 213, + 200, 170, 185, 260, 209, 261, 186, 226, 225, 227, + 0, 132, 0, 293, 321, 340, 148, 0, 0, 302, + 334, 337, 0, 264, 149, 177, 169, 259, 175, 203, + 333, 335, 336, 147, 257, 183, 229, 144, 188, 289, + 199, 207, 0, 0, 246, 272, 152, 319, 290, 437, + 448, 443, 444, 441, 442, 0, 440, 439, 438, 451, + 429, 430, 431, 432, 434, 0, 445, 446, 433, 127, + 138, 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 184, 187, 190, 191, 192, 196, 212, 216, 217, 218, + 219, 231, 232, 233, 236, 239, 240, 242, 244, 245, + 248, 252, 253, 254, 255, 256, 258, 266, 268, 274, + 275, 276, 277, 278, 279, 280, 283, 284, 285, 286, + 294, 298, 307, 308, 318, 327, 331, 181, 315, 332, + 238, 211, 0, 0, 0, 0, 0, 0, 0, 166, + 0, 0, 0, 0, 0, 202, 0, 0, 250, 0, + 282, 156, 210, 208, 304, 171, 167, 165, 155, 189, + 215, 249, 300, 243, 436, 205, 0, 0, 291, 224, + 0, 0, 0, 0, 0, 427, 428, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 154, 131, 235, 292, + 173, 66, 0, 467, 114, 115, 116, 414, 413, 416, + 417, 418, 419, 0, 0, 150, 415, 420, 421, 422, + 0, 0, 0, 0, 0, 407, 0, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 404, 405, 0, + 0, 0, 0, 450, 0, 406, 0, 0, 399, 400, + 402, 401, 403, 408, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 178, 449, 0, 0, 328, 0, 0, + 447, 0, 262, 0, 296, 182, 201, 145, 198, 128, + 140, 0, 180, 234, 269, 273, 0, 0, 0, 157, + 0, 271, 247, 317, 0, 251, 270, 206, 306, 263, + 316, 329, 330, 163, 228, 323, 301, 326, 338, 141, + 160, 241, 297, 320, 288, 223, 303, 197, 287, 133, + 299, 314, 151, 281, 0, 0, 0, 135, 312, 295, + 221, 194, 195, 134, 0, 267, 164, 176, 159, 237, + 309, 310, 158, 339, 142, 325, 137, 143, 324, 230, + 305, 313, 222, 214, 136, 311, 220, 213, 200, 170, + 185, 260, 209, 261, 186, 226, 225, 227, 0, 132, + 0, 293, 321, 340, 148, 0, 0, 302, 334, 337, + 0, 264, 149, 177, 169, 259, 175, 203, 333, 335, + 336, 147, 257, 183, 229, 144, 188, 289, 199, 207, + 0, 0, 246, 272, 152, 319, 290, 437, 448, 443, + 444, 441, 442, 0, 440, 439, 438, 451, 429, 430, + 431, 432, 434, 0, 445, 446, 433, 127, 138, 204, + 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, + 130, 139, 146, 153, 161, 168, 172, 179, 184, 187, + 190, 191, 192, 196, 212, 216, 217, 218, 219, 231, + 232, 233, 236, 239, 240, 242, 244, 245, 248, 252, + 253, 254, 255, 256, 258, 266, 268, 274, 275, 276, + 277, 278, 279, 280, 283, 284, 285, 286, 294, 298, + 307, 308, 318, 327, 331, 181, 315, 332, 238, 211, + 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, + 0, 0, 0, 202, 0, 0, 250, 0, 282, 156, + 210, 208, 304, 171, 167, 165, 155, 189, 215, 249, + 300, 243, 436, 205, 0, 0, 291, 224, 0, 0, + 0, 0, 0, 427, 428, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 154, 131, 235, 292, 173, 66, + 0, 0, 114, 115, 116, 414, 413, 416, 417, 418, + 419, 0, 0, 150, 415, 420, 421, 422, 0, 0, + 0, 0, 0, 407, 0, 435, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 404, 405, 0, 0, 0, + 0, 450, 0, 406, 0, 0, 399, 400, 402, 401, + 403, 408, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 178, 449, 0, 0, 328, 0, 0, 447, 0, + 262, 0, 296, 182, 201, 145, 198, 128, 140, 0, + 180, 234, 269, 273, 0, 0, 0, 157, 0, 271, + 247, 317, 0, 251, 270, 206, 306, 263, 316, 329, + 330, 163, 228, 323, 301, 326, 338, 141, 160, 241, + 297, 320, 288, 223, 303, 197, 287, 133, 299, 314, + 151, 281, 0, 0, 0, 135, 312, 295, 221, 194, + 195, 134, 0, 267, 164, 176, 159, 237, 309, 310, + 158, 339, 142, 325, 137, 143, 324, 230, 305, 313, + 222, 214, 136, 311, 220, 213, 200, 170, 185, 260, + 209, 261, 186, 226, 225, 227, 0, 132, 0, 293, + 321, 340, 148, 0, 0, 302, 334, 337, 0, 264, + 149, 177, 169, 259, 175, 203, 333, 335, 336, 147, + 257, 183, 229, 144, 188, 289, 199, 207, 0, 0, + 246, 272, 152, 319, 290, 437, 448, 443, 444, 441, + 442, 0, 440, 439, 438, 451, 429, 430, 431, 432, + 434, 0, 445, 446, 433, 127, 138, 204, 0, 265, + 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, + 146, 153, 161, 168, 172, 179, 184, 187, 190, 191, + 192, 196, 212, 216, 217, 218, 219, 231, 232, 233, + 236, 239, 240, 242, 244, 245, 248, 252, 253, 254, + 255, 256, 258, 266, 268, 274, 275, 276, 277, 278, + 279, 280, 283, 284, 285, 286, 294, 298, 307, 308, + 318, 327, 331, 181, 315, 332, 238, 211, 0, 0, + 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, + 0, 202, 0, 0, 250, 0, 282, 156, 210, 208, + 304, 171, 167, 165, 155, 189, 215, 249, 300, 243, + 0, 205, 0, 0, 291, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 154, 131, 235, 292, 173, 0, 0, 0, + 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, + 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 178, 0, 0, 1175, 327, - 0, 0, 0, 1171, 1168, 0, 1169, 1170, 200, 630, - 197, 128, 140, 1166, 1173, 233, 268, 272, 0, 0, - 0, 157, 0, 270, 246, 316, 0, 250, 269, 205, - 305, 262, 315, 328, 329, 163, 227, 322, 300, 325, - 337, 141, 160, 240, 296, 319, 287, 222, 302, 196, - 286, 133, 298, 313, 151, 280, 0, 0, 0, 135, - 311, 294, 220, 193, 194, 134, 0, 266, 164, 176, - 159, 236, 308, 309, 158, 338, 142, 324, 137, 143, - 323, 229, 304, 312, 221, 213, 136, 310, 219, 212, - 199, 170, 184, 259, 208, 260, 185, 225, 224, 226, - 0, 132, 0, 292, 320, 339, 148, 0, 0, 301, - 333, 336, 0, 263, 149, 177, 169, 258, 175, 202, - 332, 334, 335, 147, 256, 228, 144, 187, 288, 198, - 206, 0, 0, 245, 271, 152, 318, 289, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, + 732, 742, 743, 735, 736, 737, 738, 739, 740, 741, + 734, 0, 0, 744, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 0, 0, 0, 328, 0, 0, 0, 0, 262, 0, + 296, 182, 201, 145, 198, 128, 140, 0, 180, 234, + 269, 273, 0, 0, 0, 157, 0, 271, 247, 317, + 0, 251, 270, 206, 306, 263, 316, 329, 330, 163, + 228, 323, 301, 326, 338, 141, 160, 241, 297, 320, + 288, 223, 303, 197, 287, 133, 299, 314, 151, 281, + 0, 0, 0, 135, 312, 295, 221, 194, 195, 134, + 0, 267, 164, 176, 159, 237, 309, 310, 158, 339, + 142, 325, 137, 143, 324, 230, 305, 313, 222, 214, + 136, 311, 220, 213, 200, 170, 185, 260, 209, 261, + 186, 226, 225, 227, 0, 132, 0, 293, 321, 340, + 148, 0, 0, 302, 334, 337, 0, 264, 149, 177, + 169, 259, 175, 203, 333, 335, 336, 147, 257, 183, + 229, 144, 188, 289, 199, 207, 0, 0, 246, 272, + 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 127, 138, 204, 0, 265, 174, 322, + 0, 0, 162, 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, 127, 138, - 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, - 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, - 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, - 251, 252, 253, 254, 255, 257, 265, 267, 273, 274, - 275, 276, 277, 278, 279, 282, 283, 284, 285, 293, - 297, 306, 307, 317, 326, 330, 181, 314, 331, 33, - 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 237, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 0, 0, 0, 0, 0, 201, 0, 0, - 249, 0, 281, 156, 209, 207, 303, 171, 167, 165, - 155, 188, 214, 248, 299, 242, 0, 204, 0, 0, - 290, 223, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 154, 131, - 234, 291, 173, 66, 0, 465, 114, 115, 116, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, + 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, + 161, 168, 172, 179, 184, 187, 190, 191, 192, 196, + 212, 216, 217, 218, 219, 231, 232, 233, 236, 239, + 240, 242, 244, 245, 248, 252, 253, 254, 255, 256, + 258, 266, 268, 274, 275, 276, 277, 278, 279, 280, + 283, 284, 285, 286, 294, 298, 307, 308, 318, 327, + 331, 181, 315, 332, 238, 211, 0, 0, 833, 0, + 0, 0, 0, 166, 0, 0, 0, 0, 0, 202, + 0, 0, 250, 0, 282, 156, 210, 208, 304, 171, + 167, 165, 155, 189, 215, 249, 300, 243, 0, 205, + 0, 0, 291, 224, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 154, 131, 235, 292, 173, 0, 0, 0, 114, 115, + 116, 0, 835, 0, 0, 0, 0, 0, 0, 150, + 0, 0, 0, 0, 0, 722, 723, 721, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, + 0, 328, 0, 0, 0, 0, 262, 0, 296, 182, + 201, 145, 198, 128, 140, 0, 180, 234, 269, 273, + 0, 0, 0, 157, 0, 271, 247, 317, 0, 251, + 270, 206, 306, 263, 316, 329, 330, 163, 228, 323, + 301, 326, 338, 141, 160, 241, 297, 320, 288, 223, + 303, 197, 287, 133, 299, 314, 151, 281, 0, 0, + 0, 135, 312, 295, 221, 194, 195, 134, 0, 267, + 164, 176, 159, 237, 309, 310, 158, 339, 142, 325, + 137, 143, 324, 230, 305, 313, 222, 214, 136, 311, + 220, 213, 200, 170, 185, 260, 209, 261, 186, 226, + 225, 227, 0, 132, 0, 293, 321, 340, 148, 0, + 0, 302, 334, 337, 0, 264, 149, 177, 169, 259, + 175, 203, 333, 335, 336, 147, 257, 183, 229, 144, + 188, 289, 199, 207, 0, 0, 246, 272, 152, 319, + 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 127, 138, 204, 0, 265, 174, 322, 0, 0, + 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, + 172, 179, 184, 187, 190, 191, 192, 196, 212, 216, + 217, 218, 219, 231, 232, 233, 236, 239, 240, 242, + 244, 245, 248, 252, 253, 254, 255, 256, 258, 266, + 268, 274, 275, 276, 277, 278, 279, 280, 283, 284, + 285, 286, 294, 298, 307, 308, 318, 327, 331, 181, + 315, 332, 238, 211, 0, 0, 0, 0, 0, 0, + 0, 166, 1184, 0, 0, 0, 0, 202, 0, 0, + 250, 0, 282, 156, 210, 208, 304, 171, 167, 165, + 155, 189, 215, 249, 300, 243, 0, 205, 0, 0, + 291, 224, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 154, 131, + 235, 292, 173, 0, 0, 0, 114, 115, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 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, 178, 0, 0, 0, 327, - 0, 0, 0, 0, 261, 0, 295, 182, 200, 145, - 197, 128, 140, 0, 180, 233, 268, 272, 0, 0, - 0, 157, 0, 270, 246, 316, 0, 250, 269, 205, - 305, 262, 315, 328, 329, 163, 227, 322, 300, 325, - 337, 141, 160, 240, 296, 319, 287, 222, 302, 196, - 286, 133, 298, 313, 151, 280, 0, 0, 0, 135, - 311, 294, 220, 193, 194, 134, 0, 266, 164, 176, - 159, 236, 308, 309, 158, 338, 142, 324, 137, 143, - 323, 229, 304, 312, 221, 213, 136, 310, 219, 212, - 199, 170, 184, 259, 208, 260, 185, 225, 224, 226, - 0, 132, 0, 292, 320, 339, 148, 0, 0, 301, - 333, 336, 0, 263, 149, 177, 169, 258, 175, 202, - 332, 334, 335, 147, 256, 228, 144, 187, 288, 198, - 206, 0, 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 138, - 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 130, 139, 146, 153, 161, 168, 172, 179, 183, - 186, 189, 190, 191, 195, 211, 215, 216, 217, 218, - 230, 231, 232, 235, 238, 239, 241, 243, 244, 247, - 251, 252, 253, 254, 255, 257, 265, 267, 273, 274, - 275, 276, 277, 278, 279, 282, 283, 284, 285, 293, - 297, 306, 307, 317, 326, 330, 181, 314, 331, 237, - 210, 0, 0, 1086, 0, 0, 0, 0, 166, 0, - 0, 0, 0, 0, 201, 0, 0, 249, 0, 281, - 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, - 248, 299, 242, 0, 204, 0, 0, 290, 223, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 154, 131, 234, 291, 173, - 0, 0, 0, 114, 115, 116, 0, 1088, 0, 0, - 0, 0, 0, 0, 150, 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, 178, 0, 0, 1183, 328, + 0, 0, 0, 1179, 1176, 0, 1177, 1178, 201, 632, + 198, 128, 140, 1174, 1181, 234, 269, 273, 0, 0, + 0, 157, 0, 271, 247, 317, 0, 251, 270, 206, + 306, 263, 316, 329, 330, 163, 228, 323, 301, 326, + 338, 141, 160, 241, 297, 320, 288, 223, 303, 197, + 287, 133, 299, 314, 151, 281, 0, 0, 0, 135, + 312, 295, 221, 194, 195, 134, 0, 267, 164, 176, + 159, 237, 309, 310, 158, 339, 142, 325, 137, 143, + 324, 230, 305, 313, 222, 214, 136, 311, 220, 213, + 200, 170, 185, 260, 209, 261, 186, 226, 225, 227, + 0, 132, 0, 293, 321, 340, 148, 0, 0, 302, + 334, 337, 0, 264, 149, 177, 169, 259, 175, 203, + 333, 335, 336, 147, 257, 183, 229, 144, 188, 289, + 199, 207, 0, 0, 246, 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, + 138, 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 0, 0, 0, 327, 0, 0, 0, - 0, 261, 0, 295, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 268, 272, 0, 0, 0, 157, 0, - 270, 246, 316, 0, 250, 269, 205, 305, 262, 315, - 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, - 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, - 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, - 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, - 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, - 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, - 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, - 292, 320, 339, 148, 0, 0, 301, 333, 336, 0, - 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, - 147, 256, 228, 144, 187, 288, 198, 206, 0, 0, - 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, + 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 184, 187, 190, 191, 192, 196, 212, 216, 217, 218, + 219, 231, 232, 233, 236, 239, 240, 242, 244, 245, + 248, 252, 253, 254, 255, 256, 258, 266, 268, 274, + 275, 276, 277, 278, 279, 280, 283, 284, 285, 286, + 294, 298, 307, 308, 318, 327, 331, 181, 315, 332, + 33, 211, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 238, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 0, 0, 0, 0, 0, 202, 0, + 0, 250, 0, 282, 156, 210, 208, 304, 171, 167, + 165, 155, 189, 215, 249, 300, 243, 0, 205, 0, + 0, 291, 224, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 154, + 131, 235, 292, 173, 66, 0, 467, 114, 115, 116, + 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 127, 138, 203, 0, 264, - 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, - 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, - 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, - 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, - 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, - 317, 326, 330, 181, 314, 331, 33, 210, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, - 0, 0, 0, 0, 201, 0, 0, 249, 0, 281, - 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, - 248, 299, 242, 0, 204, 0, 0, 290, 223, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 154, 131, 234, 291, 173, - 66, 0, 0, 114, 115, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, + 328, 0, 0, 0, 0, 262, 0, 296, 182, 201, + 145, 198, 128, 140, 0, 180, 234, 269, 273, 0, + 0, 0, 157, 0, 271, 247, 317, 0, 251, 270, + 206, 306, 263, 316, 329, 330, 163, 228, 323, 301, + 326, 338, 141, 160, 241, 297, 320, 288, 223, 303, + 197, 287, 133, 299, 314, 151, 281, 0, 0, 0, + 135, 312, 295, 221, 194, 195, 134, 0, 267, 164, + 176, 159, 237, 309, 310, 158, 339, 142, 325, 137, + 143, 324, 230, 305, 313, 222, 214, 136, 311, 220, + 213, 200, 170, 185, 260, 209, 261, 186, 226, 225, + 227, 0, 132, 0, 293, 321, 340, 148, 0, 0, + 302, 334, 337, 0, 264, 149, 177, 169, 259, 175, + 203, 333, 335, 336, 147, 257, 183, 229, 144, 188, + 289, 199, 207, 0, 0, 246, 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 0, 0, 0, 327, 0, 0, 0, - 0, 261, 0, 295, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 268, 272, 0, 0, 0, 157, 0, - 270, 246, 316, 0, 250, 269, 205, 305, 262, 315, - 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, - 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, - 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, - 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, - 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, - 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, - 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, - 292, 320, 339, 148, 0, 0, 301, 333, 336, 0, - 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, - 147, 256, 228, 144, 187, 288, 198, 206, 0, 0, - 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, + 127, 138, 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 127, 138, 203, 0, 264, - 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, - 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, - 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, - 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, - 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, - 317, 326, 330, 181, 314, 331, 237, 210, 0, 0, - 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, - 0, 201, 0, 0, 249, 0, 281, 156, 209, 207, - 303, 171, 167, 165, 155, 188, 214, 248, 299, 242, - 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, + 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, + 179, 184, 187, 190, 191, 192, 196, 212, 216, 217, + 218, 219, 231, 232, 233, 236, 239, 240, 242, 244, + 245, 248, 252, 253, 254, 255, 256, 258, 266, 268, + 274, 275, 276, 277, 278, 279, 280, 283, 284, 285, + 286, 294, 298, 307, 308, 318, 327, 331, 181, 315, + 332, 238, 211, 0, 0, 1094, 0, 0, 0, 0, + 166, 0, 0, 0, 0, 0, 202, 0, 0, 250, + 0, 282, 156, 210, 208, 304, 171, 167, 165, 155, + 189, 215, 249, 300, 243, 0, 205, 0, 0, 291, + 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 154, 131, 235, + 292, 173, 0, 0, 0, 114, 115, 116, 0, 1096, + 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 192, 154, 131, 234, 291, 173, 0, 0, 0, - 114, 115, 116, 0, 0, 1104, 0, 0, 1105, 0, - 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, - 0, 0, 0, 327, 0, 0, 0, 0, 261, 0, - 295, 182, 200, 145, 197, 128, 140, 0, 180, 233, - 268, 272, 0, 0, 0, 157, 0, 270, 246, 316, - 0, 250, 269, 205, 305, 262, 315, 328, 329, 163, - 227, 322, 300, 325, 337, 141, 160, 240, 296, 319, - 287, 222, 302, 196, 286, 133, 298, 313, 151, 280, - 0, 0, 0, 135, 311, 294, 220, 193, 194, 134, - 0, 266, 164, 176, 159, 236, 308, 309, 158, 338, - 142, 324, 137, 143, 323, 229, 304, 312, 221, 213, - 136, 310, 219, 212, 199, 170, 184, 259, 208, 260, - 185, 225, 224, 226, 0, 132, 0, 292, 320, 339, - 148, 0, 0, 301, 333, 336, 0, 263, 149, 177, - 169, 258, 175, 202, 332, 334, 335, 147, 256, 228, - 144, 187, 288, 198, 206, 0, 0, 245, 271, 152, - 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 138, 203, 0, 264, 174, 321, 0, - 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 0, 0, 328, 0, + 0, 0, 0, 262, 0, 296, 182, 201, 145, 198, + 128, 140, 0, 180, 234, 269, 273, 0, 0, 0, + 157, 0, 271, 247, 317, 0, 251, 270, 206, 306, + 263, 316, 329, 330, 163, 228, 323, 301, 326, 338, + 141, 160, 241, 297, 320, 288, 223, 303, 197, 287, + 133, 299, 314, 151, 281, 0, 0, 0, 135, 312, + 295, 221, 194, 195, 134, 0, 267, 164, 176, 159, + 237, 309, 310, 158, 339, 142, 325, 137, 143, 324, + 230, 305, 313, 222, 214, 136, 311, 220, 213, 200, + 170, 185, 260, 209, 261, 186, 226, 225, 227, 0, + 132, 0, 293, 321, 340, 148, 0, 0, 302, 334, + 337, 0, 264, 149, 177, 169, 259, 175, 203, 333, + 335, 336, 147, 257, 183, 229, 144, 188, 289, 199, + 207, 0, 0, 246, 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, - 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, - 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, - 241, 243, 244, 247, 251, 252, 253, 254, 255, 257, - 265, 267, 273, 274, 275, 276, 277, 278, 279, 282, - 283, 284, 285, 293, 297, 306, 307, 317, 326, 330, - 181, 314, 331, 237, 210, 0, 0, 1086, 0, 0, - 0, 0, 166, 0, 0, 0, 0, 0, 201, 0, - 0, 249, 0, 281, 156, 209, 207, 303, 171, 167, - 165, 155, 188, 214, 248, 299, 242, 0, 204, 0, - 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, - 131, 234, 291, 173, 0, 0, 0, 114, 115, 116, - 0, 1088, 0, 0, 0, 0, 0, 0, 150, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 127, 138, + 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 129, 130, 139, 146, 153, 161, 168, 172, 179, 184, + 187, 190, 191, 192, 196, 212, 216, 217, 218, 219, + 231, 232, 233, 236, 239, 240, 242, 244, 245, 248, + 252, 253, 254, 255, 256, 258, 266, 268, 274, 275, + 276, 277, 278, 279, 280, 283, 284, 285, 286, 294, + 298, 307, 308, 318, 327, 331, 181, 315, 332, 33, + 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 238, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 0, 0, 0, 0, 0, 202, 0, 0, + 250, 0, 282, 156, 210, 208, 304, 171, 167, 165, + 155, 189, 215, 249, 300, 243, 0, 205, 0, 0, + 291, 224, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 154, 131, + 235, 292, 173, 66, 0, 0, 114, 115, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, - 327, 0, 0, 0, 0, 261, 0, 295, 182, 200, - 145, 197, 128, 140, 0, 180, 233, 268, 272, 0, - 0, 0, 157, 0, 270, 246, 316, 0, 1084, 269, - 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, - 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, - 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, - 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, - 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, - 143, 323, 229, 304, 312, 221, 213, 136, 310, 219, - 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, - 226, 0, 132, 0, 292, 320, 339, 148, 0, 0, - 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, - 202, 332, 334, 335, 147, 256, 228, 144, 187, 288, - 198, 206, 0, 0, 245, 271, 152, 318, 289, 0, + 0, 0, 0, 0, 0, 178, 0, 0, 0, 328, + 0, 0, 0, 0, 262, 0, 296, 182, 201, 145, + 198, 128, 140, 0, 180, 234, 269, 273, 0, 0, + 0, 157, 0, 271, 247, 317, 0, 251, 270, 206, + 306, 263, 316, 329, 330, 163, 228, 323, 301, 326, + 338, 141, 160, 241, 297, 320, 288, 223, 303, 197, + 287, 133, 299, 314, 151, 281, 0, 0, 0, 135, + 312, 295, 221, 194, 195, 134, 0, 267, 164, 176, + 159, 237, 309, 310, 158, 339, 142, 325, 137, 143, + 324, 230, 305, 313, 222, 214, 136, 311, 220, 213, + 200, 170, 185, 260, 209, 261, 186, 226, 225, 227, + 0, 132, 0, 293, 321, 340, 148, 0, 0, 302, + 334, 337, 0, 264, 149, 177, 169, 259, 175, 203, + 333, 335, 336, 147, 257, 183, 229, 144, 188, 289, + 199, 207, 0, 0, 246, 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, - 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, + 138, 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, - 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, - 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, - 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, - 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, - 237, 210, 0, 0, 0, 0, 0, 0, 0, 166, - 0, 861, 0, 0, 0, 201, 0, 0, 249, 0, - 281, 156, 209, 207, 303, 171, 167, 165, 155, 188, - 214, 248, 299, 242, 0, 204, 0, 0, 290, 223, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 192, 154, 131, 234, 291, - 173, 0, 0, 0, 114, 115, 116, 0, 860, 0, - 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 184, 187, 190, 191, 192, 196, 212, 216, 217, 218, + 219, 231, 232, 233, 236, 239, 240, 242, 244, 245, + 248, 252, 253, 254, 255, 256, 258, 266, 268, 274, + 275, 276, 277, 278, 279, 280, 283, 284, 285, 286, + 294, 298, 307, 308, 318, 327, 331, 181, 315, 332, + 238, 211, 0, 0, 0, 0, 0, 0, 0, 166, + 0, 0, 0, 0, 0, 202, 0, 0, 250, 0, + 282, 156, 210, 208, 304, 171, 167, 165, 155, 189, + 215, 249, 300, 243, 0, 205, 0, 0, 291, 224, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 154, 131, 235, 292, + 173, 0, 0, 0, 114, 115, 116, 0, 0, 1112, + 0, 0, 1113, 0, 0, 150, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 178, 0, 0, 0, 328, 0, 0, + 0, 0, 262, 0, 296, 182, 201, 145, 198, 128, + 140, 0, 180, 234, 269, 273, 0, 0, 0, 157, + 0, 271, 247, 317, 0, 251, 270, 206, 306, 263, + 316, 329, 330, 163, 228, 323, 301, 326, 338, 141, + 160, 241, 297, 320, 288, 223, 303, 197, 287, 133, + 299, 314, 151, 281, 0, 0, 0, 135, 312, 295, + 221, 194, 195, 134, 0, 267, 164, 176, 159, 237, + 309, 310, 158, 339, 142, 325, 137, 143, 324, 230, + 305, 313, 222, 214, 136, 311, 220, 213, 200, 170, + 185, 260, 209, 261, 186, 226, 225, 227, 0, 132, + 0, 293, 321, 340, 148, 0, 0, 302, 334, 337, + 0, 264, 149, 177, 169, 259, 175, 203, 333, 335, + 336, 147, 257, 183, 229, 144, 188, 289, 199, 207, + 0, 0, 246, 272, 152, 319, 290, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 127, 138, 204, + 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, + 130, 139, 146, 153, 161, 168, 172, 179, 184, 187, + 190, 191, 192, 196, 212, 216, 217, 218, 219, 231, + 232, 233, 236, 239, 240, 242, 244, 245, 248, 252, + 253, 254, 255, 256, 258, 266, 268, 274, 275, 276, + 277, 278, 279, 280, 283, 284, 285, 286, 294, 298, + 307, 308, 318, 327, 331, 181, 315, 332, 238, 211, + 0, 0, 1094, 0, 0, 0, 0, 166, 0, 0, + 0, 0, 0, 202, 0, 0, 250, 0, 282, 156, + 210, 208, 304, 171, 167, 165, 155, 189, 215, 249, + 300, 243, 0, 205, 0, 0, 291, 224, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 154, 131, 235, 292, 173, 0, + 0, 0, 114, 115, 116, 0, 1096, 0, 0, 0, + 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 178, 0, 0, 0, 327, 0, 0, - 0, 0, 261, 0, 295, 182, 200, 145, 197, 128, - 140, 0, 180, 233, 268, 272, 0, 0, 0, 157, - 0, 270, 246, 316, 0, 250, 269, 205, 305, 262, - 315, 328, 329, 163, 227, 322, 300, 325, 337, 141, - 160, 240, 296, 319, 287, 222, 302, 196, 286, 133, - 298, 313, 151, 280, 0, 0, 0, 135, 311, 294, - 220, 193, 194, 134, 0, 266, 164, 176, 159, 236, - 308, 309, 158, 338, 142, 324, 137, 143, 323, 229, - 304, 312, 221, 213, 136, 310, 219, 212, 199, 170, - 184, 259, 208, 260, 185, 225, 224, 226, 0, 132, - 0, 292, 320, 339, 148, 0, 0, 301, 333, 336, - 0, 263, 149, 177, 169, 258, 175, 202, 332, 334, - 335, 147, 256, 228, 144, 187, 288, 198, 206, 0, - 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 138, 203, 0, - 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, - 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, - 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, - 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, - 253, 254, 255, 257, 265, 267, 273, 274, 275, 276, - 277, 278, 279, 282, 283, 284, 285, 293, 297, 306, - 307, 317, 326, 330, 181, 314, 331, 237, 210, 0, - 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, - 0, 0, 201, 0, 0, 249, 0, 281, 156, 209, - 207, 303, 171, 167, 165, 155, 188, 214, 248, 299, - 242, 0, 204, 0, 0, 290, 223, 0, 0, 0, + 0, 178, 0, 0, 0, 328, 0, 0, 0, 0, + 262, 0, 296, 182, 201, 145, 198, 128, 140, 0, + 180, 234, 269, 273, 0, 0, 0, 157, 0, 271, + 247, 317, 0, 1092, 270, 206, 306, 263, 316, 329, + 330, 163, 228, 323, 301, 326, 338, 141, 160, 241, + 297, 320, 288, 223, 303, 197, 287, 133, 299, 314, + 151, 281, 0, 0, 0, 135, 312, 295, 221, 194, + 195, 134, 0, 267, 164, 176, 159, 237, 309, 310, + 158, 339, 142, 325, 137, 143, 324, 230, 305, 313, + 222, 214, 136, 311, 220, 213, 200, 170, 185, 260, + 209, 261, 186, 226, 225, 227, 0, 132, 0, 293, + 321, 340, 148, 0, 0, 302, 334, 337, 0, 264, + 149, 177, 169, 259, 175, 203, 333, 335, 336, 147, + 257, 183, 229, 144, 188, 289, 199, 207, 0, 0, + 246, 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 154, 131, 234, 291, 173, 0, 0, - 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, - 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 127, 138, 204, 0, 265, + 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, + 146, 153, 161, 168, 172, 179, 184, 187, 190, 191, + 192, 196, 212, 216, 217, 218, 219, 231, 232, 233, + 236, 239, 240, 242, 244, 245, 248, 252, 253, 254, + 255, 256, 258, 266, 268, 274, 275, 276, 277, 278, + 279, 280, 283, 284, 285, 286, 294, 298, 307, 308, + 318, 327, 331, 181, 315, 332, 238, 211, 0, 0, + 0, 0, 0, 0, 0, 166, 0, 866, 0, 0, + 0, 202, 0, 0, 250, 0, 282, 156, 210, 208, + 304, 171, 167, 165, 155, 189, 215, 249, 300, 243, + 0, 205, 0, 0, 291, 224, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 154, 131, 235, 292, 173, 0, 0, 0, + 114, 115, 116, 0, 865, 0, 0, 0, 0, 0, + 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 178, 0, 0, 0, 327, 0, 0, 0, 0, 261, - 0, 295, 182, 200, 630, 197, 128, 140, 628, 180, - 233, 268, 272, 0, 0, 0, 157, 0, 270, 246, - 316, 0, 250, 269, 205, 305, 262, 315, 328, 329, - 163, 227, 322, 300, 325, 337, 141, 160, 240, 296, - 319, 287, 222, 302, 196, 286, 133, 298, 313, 151, - 280, 0, 0, 0, 135, 311, 294, 220, 193, 194, - 134, 0, 266, 164, 176, 159, 236, 308, 309, 158, - 338, 142, 324, 137, 143, 323, 229, 304, 312, 221, - 213, 136, 310, 219, 212, 199, 170, 184, 259, 208, - 260, 185, 225, 224, 226, 0, 132, 0, 292, 320, - 339, 148, 0, 0, 301, 333, 336, 0, 263, 149, - 177, 169, 258, 175, 202, 332, 334, 335, 147, 256, - 228, 144, 187, 288, 198, 206, 0, 0, 245, 271, - 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 127, 138, 203, 0, 264, 174, 321, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 0, 0, 0, 328, 0, 0, 0, 0, 262, 0, + 296, 182, 201, 145, 198, 128, 140, 0, 180, 234, + 269, 273, 0, 0, 0, 157, 0, 271, 247, 317, + 0, 251, 270, 206, 306, 263, 316, 329, 330, 163, + 228, 323, 301, 326, 338, 141, 160, 241, 297, 320, + 288, 223, 303, 197, 287, 133, 299, 314, 151, 281, + 0, 0, 0, 135, 312, 295, 221, 194, 195, 134, + 0, 267, 164, 176, 159, 237, 309, 310, 158, 339, + 142, 325, 137, 143, 324, 230, 305, 313, 222, 214, + 136, 311, 220, 213, 200, 170, 185, 260, 209, 261, + 186, 226, 225, 227, 0, 132, 0, 293, 321, 340, + 148, 0, 0, 302, 334, 337, 0, 264, 149, 177, + 169, 259, 175, 203, 333, 335, 336, 147, 257, 183, + 229, 144, 188, 289, 199, 207, 0, 0, 246, 272, + 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 127, 138, 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, - 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, - 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, - 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, - 257, 265, 267, 273, 274, 275, 276, 277, 278, 279, - 282, 283, 284, 285, 293, 297, 306, 307, 317, 326, - 330, 181, 314, 331, 237, 210, 0, 0, 0, 0, - 0, 0, 0, 166, 0, 0, 0, 0, 0, 201, - 0, 0, 249, 0, 281, 156, 209, 207, 303, 171, - 167, 165, 155, 188, 214, 248, 299, 242, 0, 204, - 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, - 154, 131, 234, 291, 173, 0, 0, 465, 114, 115, + 161, 168, 172, 179, 184, 187, 190, 191, 192, 196, + 212, 216, 217, 218, 219, 231, 232, 233, 236, 239, + 240, 242, 244, 245, 248, 252, 253, 254, 255, 256, + 258, 266, 268, 274, 275, 276, 277, 278, 279, 280, + 283, 284, 285, 286, 294, 298, 307, 308, 318, 327, + 331, 181, 315, 332, 238, 211, 0, 0, 0, 0, + 0, 0, 0, 166, 0, 0, 0, 0, 0, 202, + 0, 0, 250, 0, 282, 156, 210, 208, 304, 171, + 167, 165, 155, 189, 215, 249, 300, 243, 0, 205, + 0, 0, 291, 224, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 154, 131, 235, 292, 173, 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, - 0, 327, 0, 0, 0, 0, 261, 0, 295, 182, - 200, 145, 197, 128, 140, 0, 180, 233, 268, 272, - 0, 0, 0, 157, 0, 270, 246, 316, 0, 250, - 269, 205, 305, 262, 315, 328, 329, 163, 227, 322, - 300, 325, 337, 141, 160, 240, 296, 319, 287, 222, - 302, 196, 286, 133, 298, 313, 151, 280, 0, 0, - 0, 135, 311, 294, 220, 193, 194, 134, 0, 266, - 164, 176, 159, 236, 308, 309, 158, 338, 142, 324, - 137, 143, 323, 229, 304, 312, 221, 213, 136, 310, - 219, 212, 199, 170, 184, 259, 208, 260, 185, 225, - 224, 226, 0, 132, 0, 292, 320, 339, 148, 0, - 0, 301, 333, 336, 0, 263, 149, 177, 169, 258, - 175, 202, 332, 334, 335, 147, 256, 228, 144, 187, - 288, 198, 206, 0, 0, 245, 271, 152, 318, 289, + 0, 328, 0, 0, 0, 0, 262, 0, 296, 182, + 201, 632, 198, 128, 140, 630, 180, 234, 269, 273, + 0, 0, 0, 157, 0, 271, 247, 317, 0, 251, + 270, 206, 306, 263, 316, 329, 330, 163, 228, 323, + 301, 326, 338, 141, 160, 241, 297, 320, 288, 223, + 303, 197, 287, 133, 299, 314, 151, 281, 0, 0, + 0, 135, 312, 295, 221, 194, 195, 134, 0, 267, + 164, 176, 159, 237, 309, 310, 158, 339, 142, 325, + 137, 143, 324, 230, 305, 313, 222, 214, 136, 311, + 220, 213, 200, 170, 185, 260, 209, 261, 186, 226, + 225, 227, 0, 132, 0, 293, 321, 340, 148, 0, + 0, 302, 334, 337, 0, 264, 149, 177, 169, 259, + 175, 203, 333, 335, 336, 147, 257, 183, 229, 144, + 188, 289, 199, 207, 0, 0, 246, 272, 152, 319, + 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 127, 138, 204, 0, 265, 174, 322, 0, 0, + 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, + 172, 179, 184, 187, 190, 191, 192, 196, 212, 216, + 217, 218, 219, 231, 232, 233, 236, 239, 240, 242, + 244, 245, 248, 252, 253, 254, 255, 256, 258, 266, + 268, 274, 275, 276, 277, 278, 279, 280, 283, 284, + 285, 286, 294, 298, 307, 308, 318, 327, 331, 181, + 315, 332, 238, 211, 0, 0, 0, 0, 0, 0, + 0, 166, 0, 0, 0, 0, 0, 202, 0, 0, + 250, 0, 282, 156, 210, 208, 304, 171, 167, 165, + 155, 189, 215, 249, 300, 243, 0, 205, 0, 0, + 291, 224, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 154, 131, + 235, 292, 173, 0, 0, 467, 114, 115, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, - 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, - 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, - 244, 247, 251, 252, 253, 254, 255, 257, 265, 267, - 273, 274, 275, 276, 277, 278, 279, 282, 283, 284, - 285, 293, 297, 306, 307, 317, 326, 330, 181, 314, - 331, 237, 210, 0, 0, 0, 0, 0, 0, 0, - 166, 0, 0, 0, 0, 0, 201, 0, 0, 249, - 0, 281, 156, 209, 207, 303, 171, 167, 165, 155, - 188, 214, 248, 299, 242, 0, 204, 0, 0, 290, - 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 192, 154, 131, 234, - 291, 173, 66, 0, 0, 114, 115, 116, 0, 0, - 0, 0, 0, 0, 0, 0, 150, 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, 178, 0, 0, 0, 328, + 0, 0, 0, 0, 262, 0, 296, 182, 201, 145, + 198, 128, 140, 0, 180, 234, 269, 273, 0, 0, + 0, 157, 0, 271, 247, 317, 0, 251, 270, 206, + 306, 263, 316, 329, 330, 163, 228, 323, 301, 326, + 338, 141, 160, 241, 297, 320, 288, 223, 303, 197, + 287, 133, 299, 314, 151, 281, 0, 0, 0, 135, + 312, 295, 221, 194, 195, 134, 0, 267, 164, 176, + 159, 237, 309, 310, 158, 339, 142, 325, 137, 143, + 324, 230, 305, 313, 222, 214, 136, 311, 220, 213, + 200, 170, 185, 260, 209, 261, 186, 226, 225, 227, + 0, 132, 0, 293, 321, 340, 148, 0, 0, 302, + 334, 337, 0, 264, 149, 177, 169, 259, 175, 203, + 333, 335, 336, 147, 257, 183, 229, 144, 188, 289, + 199, 207, 0, 0, 246, 272, 152, 319, 290, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, + 138, 204, 0, 265, 174, 322, 0, 0, 162, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, + 184, 187, 190, 191, 192, 196, 212, 216, 217, 218, + 219, 231, 232, 233, 236, 239, 240, 242, 244, 245, + 248, 252, 253, 254, 255, 256, 258, 266, 268, 274, + 275, 276, 277, 278, 279, 280, 283, 284, 285, 286, + 294, 298, 307, 308, 318, 327, 331, 181, 315, 332, + 238, 211, 0, 0, 0, 0, 0, 0, 0, 166, + 0, 0, 0, 0, 0, 202, 0, 0, 250, 0, + 282, 156, 210, 208, 304, 171, 167, 165, 155, 189, + 215, 249, 300, 243, 0, 205, 0, 0, 291, 224, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 154, 131, 235, 292, + 173, 66, 0, 0, 114, 115, 116, 0, 0, 0, + 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 178, 0, 0, 0, 327, 0, - 0, 0, 0, 261, 0, 295, 182, 200, 145, 197, - 128, 140, 0, 180, 233, 268, 272, 0, 0, 0, - 157, 0, 270, 246, 316, 0, 250, 269, 205, 305, - 262, 315, 328, 329, 163, 227, 322, 300, 325, 337, - 141, 160, 240, 296, 319, 287, 222, 302, 196, 286, - 133, 298, 313, 151, 280, 0, 0, 0, 135, 311, - 294, 220, 193, 194, 134, 0, 266, 164, 176, 159, - 236, 308, 309, 158, 338, 142, 324, 137, 143, 323, - 229, 304, 312, 221, 213, 136, 310, 219, 212, 199, - 170, 184, 259, 208, 260, 185, 225, 224, 226, 0, - 132, 0, 292, 320, 339, 148, 0, 0, 301, 333, - 336, 0, 263, 149, 177, 169, 258, 175, 202, 332, - 334, 335, 147, 256, 228, 144, 187, 288, 198, 206, - 0, 0, 245, 271, 152, 318, 289, 0, 0, 0, + 0, 0, 0, 178, 0, 0, 0, 328, 0, 0, + 0, 0, 262, 0, 296, 182, 201, 145, 198, 128, + 140, 0, 180, 234, 269, 273, 0, 0, 0, 157, + 0, 271, 247, 317, 0, 251, 270, 206, 306, 263, + 316, 329, 330, 163, 228, 323, 301, 326, 338, 141, + 160, 241, 297, 320, 288, 223, 303, 197, 287, 133, + 299, 314, 151, 281, 0, 0, 0, 135, 312, 295, + 221, 194, 195, 134, 0, 267, 164, 176, 159, 237, + 309, 310, 158, 339, 142, 325, 137, 143, 324, 230, + 305, 313, 222, 214, 136, 311, 220, 213, 200, 170, + 185, 260, 209, 261, 186, 226, 225, 227, 0, 132, + 0, 293, 321, 340, 148, 0, 0, 302, 334, 337, + 0, 264, 149, 177, 169, 259, 175, 203, 333, 335, + 336, 147, 257, 183, 229, 144, 188, 289, 199, 207, + 0, 0, 246, 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 127, 138, 203, - 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 127, 138, 204, + 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 130, 139, 146, 153, 161, 168, 172, 179, 183, 186, - 189, 190, 191, 195, 211, 215, 216, 217, 218, 230, - 231, 232, 235, 238, 239, 241, 243, 244, 247, 251, - 252, 253, 254, 255, 257, 265, 267, 273, 274, 275, - 276, 277, 278, 279, 282, 283, 284, 285, 293, 297, - 306, 307, 317, 326, 330, 181, 314, 331, 237, 210, + 130, 139, 146, 153, 161, 168, 172, 179, 184, 187, + 190, 191, 192, 196, 212, 216, 217, 218, 219, 231, + 232, 233, 236, 239, 240, 242, 244, 245, 248, 252, + 253, 254, 255, 256, 258, 266, 268, 274, 275, 276, + 277, 278, 279, 280, 283, 284, 285, 286, 294, 298, + 307, 308, 318, 327, 331, 181, 315, 332, 238, 211, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, - 0, 0, 0, 201, 0, 0, 249, 0, 281, 156, - 209, 207, 303, 171, 167, 165, 155, 188, 214, 248, - 299, 242, 0, 204, 0, 0, 290, 223, 0, 0, + 0, 0, 0, 202, 0, 0, 250, 0, 282, 156, + 210, 208, 304, 171, 167, 165, 155, 189, 215, 249, + 300, 243, 0, 205, 0, 0, 291, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 192, 154, 131, 234, 291, 173, 0, - 0, 0, 114, 115, 116, 0, 1088, 0, 0, 0, + 0, 0, 0, 193, 154, 131, 235, 292, 173, 0, + 0, 0, 114, 115, 116, 0, 1096, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 178, 0, 0, 0, 327, 0, 0, 0, 0, - 261, 0, 295, 182, 200, 145, 197, 128, 140, 0, - 180, 233, 268, 272, 0, 0, 0, 157, 0, 270, - 246, 316, 0, 250, 269, 205, 305, 262, 315, 328, - 329, 163, 227, 322, 300, 325, 337, 141, 160, 240, - 296, 319, 287, 222, 302, 196, 286, 133, 298, 313, - 151, 280, 0, 0, 0, 135, 311, 294, 220, 193, - 194, 134, 0, 266, 164, 176, 159, 236, 308, 309, - 158, 338, 142, 324, 137, 143, 323, 229, 304, 312, - 221, 213, 136, 310, 219, 212, 199, 170, 184, 259, - 208, 260, 185, 225, 224, 226, 0, 132, 0, 292, - 320, 339, 148, 0, 0, 301, 333, 336, 0, 263, - 149, 177, 169, 258, 175, 202, 332, 334, 335, 147, - 256, 228, 144, 187, 288, 198, 206, 0, 0, 245, - 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, + 0, 178, 0, 0, 0, 328, 0, 0, 0, 0, + 262, 0, 296, 182, 201, 145, 198, 128, 140, 0, + 180, 234, 269, 273, 0, 0, 0, 157, 0, 271, + 247, 317, 0, 251, 270, 206, 306, 263, 316, 329, + 330, 163, 228, 323, 301, 326, 338, 141, 160, 241, + 297, 320, 288, 223, 303, 197, 287, 133, 299, 314, + 151, 281, 0, 0, 0, 135, 312, 295, 221, 194, + 195, 134, 0, 267, 164, 176, 159, 237, 309, 310, + 158, 339, 142, 325, 137, 143, 324, 230, 305, 313, + 222, 214, 136, 311, 220, 213, 200, 170, 185, 260, + 209, 261, 186, 226, 225, 227, 0, 132, 0, 293, + 321, 340, 148, 0, 0, 302, 334, 337, 0, 264, + 149, 177, 169, 259, 175, 203, 333, 335, 336, 147, + 257, 183, 229, 144, 188, 289, 199, 207, 0, 0, + 246, 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 138, 203, 0, 264, 174, - 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 127, 138, 204, 0, 265, + 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, - 153, 161, 168, 172, 179, 183, 186, 189, 190, 191, - 195, 211, 215, 216, 217, 218, 230, 231, 232, 235, - 238, 239, 241, 243, 244, 247, 251, 252, 253, 254, - 255, 257, 265, 267, 273, 274, 275, 276, 277, 278, - 279, 282, 283, 284, 285, 293, 297, 306, 307, 317, - 326, 330, 181, 314, 331, 237, 210, 0, 0, 0, - 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, - 201, 0, 0, 249, 0, 281, 156, 209, 207, 303, - 171, 167, 165, 155, 188, 214, 248, 299, 242, 0, - 204, 0, 0, 290, 223, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, + 146, 153, 161, 168, 172, 179, 184, 187, 190, 191, + 192, 196, 212, 216, 217, 218, 219, 231, 232, 233, + 236, 239, 240, 242, 244, 245, 248, 252, 253, 254, + 255, 256, 258, 266, 268, 274, 275, 276, 277, 278, + 279, 280, 283, 284, 285, 286, 294, 298, 307, 308, + 318, 327, 331, 181, 315, 332, 238, 211, 0, 0, + 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, + 0, 202, 0, 0, 250, 0, 282, 156, 210, 208, + 304, 171, 167, 165, 155, 189, 215, 249, 300, 243, + 0, 205, 0, 0, 291, 224, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 154, 131, 235, 292, 173, 0, 0, 0, + 114, 115, 116, 0, 835, 0, 0, 0, 0, 0, + 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 154, 131, 234, 291, 173, 0, 0, 0, 114, - 115, 116, 0, 830, 0, 0, 0, 0, 0, 0, - 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, + 0, 0, 0, 328, 0, 0, 0, 0, 262, 0, + 296, 182, 201, 145, 198, 128, 140, 0, 180, 234, + 269, 273, 0, 0, 0, 157, 0, 271, 247, 317, + 0, 251, 270, 206, 306, 263, 316, 329, 330, 163, + 228, 323, 301, 326, 338, 141, 160, 241, 297, 320, + 288, 223, 303, 197, 287, 133, 299, 314, 151, 281, + 0, 0, 0, 135, 312, 295, 221, 194, 195, 134, + 0, 267, 164, 176, 159, 237, 309, 310, 158, 339, + 142, 325, 137, 143, 324, 230, 305, 313, 222, 214, + 136, 311, 220, 213, 200, 170, 185, 260, 209, 261, + 186, 226, 225, 227, 0, 132, 0, 293, 321, 340, + 148, 0, 0, 302, 334, 337, 0, 264, 149, 177, + 169, 259, 175, 203, 333, 335, 336, 147, 257, 183, + 229, 144, 188, 289, 199, 207, 0, 0, 246, 272, + 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 127, 138, 204, 0, 265, 174, 322, + 0, 0, 162, 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, 178, 0, - 0, 0, 327, 0, 0, 0, 0, 261, 0, 295, - 182, 200, 145, 197, 128, 140, 0, 180, 233, 268, - 272, 0, 0, 0, 157, 0, 270, 246, 316, 0, - 250, 269, 205, 305, 262, 315, 328, 329, 163, 227, - 322, 300, 325, 337, 141, 160, 240, 296, 319, 287, - 222, 302, 196, 286, 133, 298, 313, 151, 280, 0, - 0, 0, 135, 311, 294, 220, 193, 194, 134, 0, - 266, 164, 176, 159, 236, 308, 309, 158, 338, 142, - 324, 137, 143, 323, 229, 304, 312, 221, 213, 136, - 310, 219, 212, 199, 170, 184, 259, 208, 260, 185, - 225, 224, 226, 0, 132, 0, 292, 320, 339, 148, - 0, 0, 301, 333, 336, 0, 263, 149, 177, 169, - 258, 175, 202, 332, 334, 335, 147, 256, 228, 144, - 187, 288, 198, 206, 0, 0, 245, 271, 152, 318, - 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, + 161, 168, 172, 179, 184, 187, 190, 191, 192, 196, + 212, 216, 217, 218, 219, 231, 232, 233, 236, 239, + 240, 242, 244, 245, 248, 252, 253, 254, 255, 256, + 258, 266, 268, 274, 275, 276, 277, 278, 279, 280, + 283, 284, 285, 286, 294, 298, 307, 308, 318, 327, + 331, 181, 315, 332, 848, 211, 0, 0, 0, 0, + 0, 238, 0, 0, 0, 0, 0, 0, 0, 0, + 166, 0, 0, 0, 0, 0, 202, 0, 0, 250, + 0, 282, 156, 210, 208, 304, 171, 167, 165, 155, + 189, 215, 249, 300, 243, 0, 205, 0, 0, 291, + 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 154, 131, 235, + 292, 173, 0, 0, 0, 114, 115, 116, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 138, 203, 0, 264, 174, 321, 0, 0, - 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 130, 139, 146, 153, 161, 168, - 172, 179, 183, 186, 189, 190, 191, 195, 211, 215, - 216, 217, 218, 230, 231, 232, 235, 238, 239, 241, - 243, 244, 247, 251, 252, 253, 254, 255, 257, 265, - 267, 273, 274, 275, 276, 277, 278, 279, 282, 283, - 284, 285, 293, 297, 306, 307, 317, 326, 330, 181, - 314, 331, 843, 210, 0, 0, 0, 0, 0, 237, - 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, - 0, 0, 0, 0, 201, 0, 0, 249, 0, 281, - 156, 209, 207, 303, 171, 167, 165, 155, 188, 214, - 248, 299, 242, 0, 204, 0, 0, 290, 223, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 154, 131, 234, 291, 173, - 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 0, 0, 328, 0, + 0, 0, 0, 262, 0, 296, 182, 201, 145, 198, + 128, 140, 0, 180, 234, 269, 273, 0, 0, 0, + 157, 0, 271, 247, 317, 0, 251, 270, 206, 306, + 263, 316, 329, 330, 163, 228, 323, 301, 326, 338, + 141, 160, 241, 297, 320, 288, 223, 303, 197, 287, + 133, 299, 314, 151, 281, 0, 0, 0, 135, 312, + 295, 221, 194, 195, 134, 0, 267, 164, 176, 159, + 237, 309, 310, 158, 339, 142, 325, 137, 143, 324, + 230, 305, 313, 222, 214, 136, 311, 220, 213, 200, + 170, 185, 260, 209, 261, 186, 226, 225, 227, 0, + 132, 0, 293, 321, 340, 148, 0, 0, 302, 334, + 337, 0, 264, 149, 177, 169, 259, 175, 203, 333, + 335, 336, 147, 257, 183, 229, 144, 188, 289, 199, + 207, 0, 0, 246, 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 127, 138, + 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 178, 0, 0, 0, 327, 0, 0, 0, - 0, 261, 0, 295, 182, 200, 145, 197, 128, 140, - 0, 180, 233, 268, 272, 0, 0, 0, 157, 0, - 270, 246, 316, 0, 250, 269, 205, 305, 262, 315, - 328, 329, 163, 227, 322, 300, 325, 337, 141, 160, - 240, 296, 319, 287, 222, 302, 196, 286, 133, 298, - 313, 151, 280, 0, 0, 0, 135, 311, 294, 220, - 193, 194, 134, 0, 266, 164, 176, 159, 236, 308, - 309, 158, 338, 142, 324, 137, 143, 323, 229, 304, - 312, 221, 213, 136, 310, 219, 212, 199, 170, 184, - 259, 208, 260, 185, 225, 224, 226, 0, 132, 0, - 292, 320, 339, 148, 0, 0, 301, 333, 336, 0, - 263, 149, 177, 169, 258, 175, 202, 332, 334, 335, - 147, 256, 228, 144, 187, 288, 198, 206, 0, 0, - 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 127, 138, 203, 0, 264, - 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, + 129, 130, 139, 146, 153, 161, 168, 172, 179, 184, + 187, 190, 191, 192, 196, 212, 216, 217, 218, 219, + 231, 232, 233, 236, 239, 240, 242, 244, 245, 248, + 252, 253, 254, 255, 256, 258, 266, 268, 274, 275, + 276, 277, 278, 279, 280, 283, 284, 285, 286, 294, + 298, 307, 308, 318, 327, 331, 181, 315, 332, 238, + 211, 0, 0, 0, 0, 0, 0, 839, 166, 0, + 0, 0, 0, 0, 202, 0, 0, 250, 0, 282, + 156, 210, 208, 304, 171, 167, 165, 155, 189, 215, + 249, 300, 243, 0, 205, 0, 0, 291, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 139, - 146, 153, 161, 168, 172, 179, 183, 186, 189, 190, - 191, 195, 211, 215, 216, 217, 218, 230, 231, 232, - 235, 238, 239, 241, 243, 244, 247, 251, 252, 253, - 254, 255, 257, 265, 267, 273, 274, 275, 276, 277, - 278, 279, 282, 283, 284, 285, 293, 297, 306, 307, - 317, 326, 330, 181, 314, 331, 237, 210, 0, 0, - 0, 0, 0, 0, 834, 166, 0, 0, 0, 0, - 0, 201, 0, 0, 249, 0, 281, 156, 209, 207, - 303, 171, 167, 165, 155, 188, 214, 248, 299, 242, - 0, 204, 0, 0, 290, 223, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 192, 154, 131, 234, 291, 173, 0, 0, 0, - 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, - 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 154, 131, 235, 292, 173, + 0, 0, 0, 114, 115, 116, 0, 0, 0, 0, + 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, - 0, 0, 0, 327, 0, 0, 0, 0, 261, 0, - 295, 182, 200, 145, 197, 128, 140, 0, 180, 233, - 268, 272, 0, 0, 0, 157, 0, 270, 246, 316, - 0, 250, 269, 205, 305, 262, 315, 328, 329, 163, - 227, 322, 300, 325, 337, 141, 160, 240, 296, 319, - 287, 222, 302, 196, 286, 133, 298, 313, 151, 280, - 0, 0, 0, 135, 311, 294, 220, 193, 194, 134, - 0, 266, 164, 176, 159, 236, 308, 309, 158, 338, - 142, 324, 137, 143, 323, 229, 304, 312, 221, 213, - 136, 310, 219, 212, 199, 170, 184, 259, 208, 260, - 185, 225, 224, 226, 0, 132, 0, 292, 320, 339, - 148, 0, 0, 301, 333, 336, 0, 263, 149, 177, - 169, 258, 175, 202, 332, 334, 335, 147, 256, 228, - 144, 187, 288, 198, 206, 0, 0, 245, 271, 152, - 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 138, 203, 0, 264, 174, 321, 0, - 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, - 168, 172, 179, 183, 186, 189, 190, 191, 195, 211, - 215, 216, 217, 218, 230, 231, 232, 235, 238, 239, - 241, 243, 244, 247, 251, 252, 253, 254, 255, 257, - 265, 267, 273, 274, 275, 276, 277, 278, 279, 282, - 283, 284, 285, 293, 297, 306, 307, 317, 326, 330, - 181, 314, 331, 237, 210, 0, 0, 0, 0, 0, - 0, 0, 166, 0, 0, 0, 0, 0, 201, 0, - 0, 249, 0, 281, 156, 209, 207, 303, 171, 167, - 165, 155, 188, 214, 248, 299, 242, 0, 204, 0, - 0, 290, 223, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 192, 154, - 131, 234, 291, 173, 0, 0, 0, 114, 115, 116, - 0, 708, 0, 0, 0, 0, 0, 0, 150, 0, + 0, 0, 178, 0, 0, 0, 328, 0, 0, 0, + 0, 262, 0, 296, 182, 201, 145, 198, 128, 140, + 0, 180, 234, 269, 273, 0, 0, 0, 157, 0, + 271, 247, 317, 0, 251, 270, 206, 306, 263, 316, + 329, 330, 163, 228, 323, 301, 326, 338, 141, 160, + 241, 297, 320, 288, 223, 303, 197, 287, 133, 299, + 314, 151, 281, 0, 0, 0, 135, 312, 295, 221, + 194, 195, 134, 0, 267, 164, 176, 159, 237, 309, + 310, 158, 339, 142, 325, 137, 143, 324, 230, 305, + 313, 222, 214, 136, 311, 220, 213, 200, 170, 185, + 260, 209, 261, 186, 226, 225, 227, 0, 132, 0, + 293, 321, 340, 148, 0, 0, 302, 334, 337, 0, + 264, 149, 177, 169, 259, 175, 203, 333, 335, 336, + 147, 257, 183, 229, 144, 188, 289, 199, 207, 0, + 0, 246, 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 127, 138, 204, 0, + 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, + 139, 146, 153, 161, 168, 172, 179, 184, 187, 190, + 191, 192, 196, 212, 216, 217, 218, 219, 231, 232, + 233, 236, 239, 240, 242, 244, 245, 248, 252, 253, + 254, 255, 256, 258, 266, 268, 274, 275, 276, 277, + 278, 279, 280, 283, 284, 285, 286, 294, 298, 307, + 308, 318, 327, 331, 181, 315, 332, 238, 211, 0, + 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, + 0, 0, 202, 0, 0, 250, 0, 282, 156, 210, + 208, 304, 171, 167, 165, 155, 189, 215, 249, 300, + 243, 0, 205, 0, 0, 291, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 154, 131, 235, 292, 173, 0, 0, + 0, 114, 115, 116, 0, 713, 0, 0, 0, 0, + 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, - 327, 0, 0, 0, 0, 261, 0, 295, 182, 200, - 145, 197, 128, 140, 0, 180, 233, 268, 272, 0, - 0, 0, 157, 0, 270, 246, 316, 0, 250, 269, - 205, 305, 262, 315, 328, 329, 163, 227, 322, 300, - 325, 337, 141, 160, 240, 296, 319, 287, 222, 302, - 196, 286, 133, 298, 313, 151, 280, 0, 0, 0, - 135, 311, 294, 220, 193, 194, 134, 0, 266, 164, - 176, 159, 236, 308, 309, 158, 338, 142, 324, 137, - 143, 323, 229, 304, 312, 221, 213, 136, 310, 219, - 212, 199, 170, 184, 259, 208, 260, 185, 225, 224, - 226, 0, 132, 0, 292, 320, 339, 148, 0, 0, - 301, 333, 336, 0, 263, 149, 177, 169, 258, 175, - 202, 332, 334, 335, 147, 256, 228, 144, 187, 288, - 198, 206, 0, 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, - 138, 203, 0, 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 130, 139, 146, 153, 161, 168, 172, 179, - 183, 186, 189, 190, 191, 195, 211, 215, 216, 217, - 218, 230, 231, 232, 235, 238, 239, 241, 243, 244, - 247, 251, 252, 253, 254, 255, 257, 265, 267, 273, - 274, 275, 276, 277, 278, 279, 282, 283, 284, 285, - 293, 297, 306, 307, 317, 326, 330, 181, 314, 331, - 237, 210, 0, 0, 0, 0, 0, 0, 0, 166, - 0, 0, 0, 0, 0, 201, 0, 0, 249, 0, - 281, 156, 209, 207, 303, 171, 167, 165, 155, 188, - 214, 248, 299, 242, 0, 204, 0, 0, 290, 223, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 192, 154, 131, 234, 291, - 173, 0, 0, 0, 114, 115, 116, 0, 0, 0, - 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, + 178, 0, 0, 0, 328, 0, 0, 0, 0, 262, + 0, 296, 182, 201, 145, 198, 128, 140, 0, 180, + 234, 269, 273, 0, 0, 0, 157, 0, 271, 247, + 317, 0, 251, 270, 206, 306, 263, 316, 329, 330, + 163, 228, 323, 301, 326, 338, 141, 160, 241, 297, + 320, 288, 223, 303, 197, 287, 133, 299, 314, 151, + 281, 0, 0, 0, 135, 312, 295, 221, 194, 195, + 134, 0, 267, 164, 176, 159, 237, 309, 310, 158, + 339, 142, 325, 137, 143, 324, 230, 305, 313, 222, + 214, 136, 311, 220, 213, 200, 170, 185, 260, 209, + 261, 186, 226, 225, 227, 0, 132, 0, 293, 321, + 340, 148, 0, 0, 302, 334, 337, 0, 264, 149, + 177, 169, 259, 175, 203, 333, 335, 336, 147, 257, + 183, 229, 144, 188, 289, 199, 207, 0, 0, 246, + 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 127, 138, 204, 0, 265, 174, + 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 129, 130, 139, 146, + 153, 161, 168, 172, 179, 184, 187, 190, 191, 192, + 196, 212, 216, 217, 218, 219, 231, 232, 233, 236, + 239, 240, 242, 244, 245, 248, 252, 253, 254, 255, + 256, 258, 266, 268, 274, 275, 276, 277, 278, 279, + 280, 283, 284, 285, 286, 294, 298, 307, 308, 318, + 327, 331, 181, 315, 332, 238, 211, 0, 0, 0, + 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, + 202, 0, 0, 250, 0, 282, 156, 210, 208, 304, + 171, 167, 165, 155, 189, 215, 249, 300, 243, 0, + 205, 0, 0, 291, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 154, 131, 235, 292, 173, 0, 0, 0, 114, + 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, + 150, 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, 381, 0, 178, 0, 0, 0, 327, 0, 0, - 0, 0, 261, 0, 295, 182, 200, 145, 197, 128, - 140, 0, 180, 233, 268, 272, 0, 0, 0, 157, - 0, 270, 246, 316, 0, 250, 269, 205, 305, 262, - 315, 328, 329, 163, 227, 322, 300, 325, 337, 141, - 160, 240, 296, 319, 287, 222, 302, 196, 286, 133, - 298, 313, 151, 280, 0, 0, 0, 135, 311, 294, - 220, 193, 194, 134, 0, 266, 164, 176, 159, 236, - 308, 309, 158, 338, 142, 324, 137, 143, 323, 229, - 304, 312, 221, 213, 136, 310, 219, 212, 199, 170, - 184, 259, 208, 260, 185, 225, 224, 226, 0, 132, - 0, 292, 320, 339, 148, 0, 0, 301, 333, 336, - 0, 263, 149, 177, 169, 258, 175, 202, 332, 334, - 335, 147, 256, 228, 144, 187, 288, 198, 206, 0, - 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 138, 203, 0, - 264, 174, 321, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, - 139, 146, 153, 161, 168, 172, 179, 183, 186, 189, - 190, 191, 195, 211, 215, 216, 217, 218, 230, 231, - 232, 235, 238, 239, 241, 243, 244, 247, 251, 252, - 253, 254, 255, 257, 265, 267, 273, 274, 275, 276, - 277, 278, 279, 282, 283, 284, 285, 293, 297, 306, - 307, 317, 326, 330, 380, 314, 331, 237, 210, 0, - 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, - 0, 0, 201, 0, 0, 249, 0, 281, 156, 209, - 207, 303, 171, 167, 165, 155, 188, 214, 248, 299, - 242, 0, 204, 0, 0, 290, 223, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 178, 0, + 0, 0, 328, 0, 0, 0, 0, 262, 0, 296, + 182, 201, 145, 198, 128, 140, 0, 180, 234, 269, + 273, 0, 0, 0, 157, 0, 271, 247, 317, 0, + 251, 270, 206, 306, 263, 316, 329, 330, 163, 228, + 323, 301, 326, 338, 141, 160, 241, 297, 320, 288, + 223, 303, 197, 287, 133, 299, 314, 151, 281, 0, + 0, 0, 135, 312, 295, 221, 194, 195, 134, 0, + 267, 164, 176, 159, 237, 309, 310, 158, 339, 142, + 325, 137, 143, 324, 230, 305, 313, 222, 214, 136, + 311, 220, 213, 200, 170, 185, 260, 209, 261, 186, + 226, 225, 227, 0, 132, 0, 293, 321, 340, 148, + 0, 0, 302, 334, 337, 0, 264, 149, 177, 169, + 259, 175, 203, 333, 335, 336, 147, 257, 183, 229, + 144, 188, 289, 199, 207, 0, 0, 246, 272, 152, + 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 154, 131, 234, 291, 173, 0, 0, - 0, 114, 115, 116, 0, 0, 0, 0, 0, 0, - 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 127, 138, 204, 0, 265, 174, 322, 0, + 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 129, 130, 139, 146, 153, 161, + 168, 172, 179, 184, 187, 190, 191, 192, 196, 212, + 216, 217, 218, 219, 231, 232, 233, 236, 239, 240, + 242, 244, 245, 248, 252, 253, 254, 255, 256, 258, + 266, 268, 274, 275, 276, 277, 278, 279, 280, 283, + 284, 285, 286, 294, 298, 307, 308, 318, 327, 331, + 382, 315, 332, 238, 211, 0, 0, 0, 0, 0, + 0, 0, 166, 0, 0, 0, 0, 0, 202, 0, + 0, 250, 0, 282, 156, 210, 208, 304, 171, 167, + 165, 155, 189, 215, 249, 300, 243, 0, 205, 0, + 0, 291, 224, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 154, + 131, 235, 292, 173, 0, 0, 0, 114, 115, 116, + 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 178, 0, 122, 0, 327, 0, 0, 0, 0, 261, - 0, 295, 182, 200, 145, 197, 128, 140, 0, 180, - 233, 268, 272, 0, 0, 0, 157, 0, 270, 246, - 316, 0, 250, 269, 205, 305, 262, 315, 328, 329, - 163, 227, 322, 300, 325, 337, 141, 160, 240, 296, - 319, 287, 222, 302, 196, 286, 133, 298, 313, 151, - 280, 0, 0, 0, 135, 311, 294, 220, 193, 194, - 134, 0, 266, 164, 176, 159, 236, 308, 309, 158, - 338, 142, 324, 137, 143, 323, 229, 304, 312, 221, - 213, 136, 310, 219, 212, 199, 170, 184, 259, 208, - 260, 185, 225, 224, 226, 0, 132, 0, 292, 320, - 339, 148, 0, 0, 301, 333, 336, 0, 263, 149, - 177, 169, 258, 175, 202, 332, 334, 335, 147, 256, - 228, 144, 187, 288, 198, 206, 0, 0, 245, 271, - 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 127, 138, 203, 0, 264, 174, 321, - 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 178, 0, 122, 0, + 328, 0, 0, 0, 0, 262, 0, 296, 182, 201, + 145, 198, 128, 140, 0, 180, 234, 269, 273, 0, + 0, 0, 157, 0, 271, 247, 317, 0, 251, 270, + 206, 306, 263, 316, 329, 330, 163, 228, 323, 301, + 326, 338, 141, 160, 241, 297, 320, 288, 223, 303, + 197, 287, 133, 299, 314, 151, 281, 0, 0, 0, + 135, 312, 295, 221, 194, 195, 134, 0, 267, 164, + 176, 159, 237, 309, 310, 158, 339, 142, 325, 137, + 143, 324, 230, 305, 313, 222, 214, 136, 311, 220, + 213, 200, 170, 185, 260, 209, 261, 186, 226, 225, + 227, 0, 132, 0, 293, 321, 340, 148, 0, 0, + 302, 334, 337, 0, 264, 149, 177, 169, 259, 175, + 203, 333, 335, 336, 147, 257, 183, 229, 144, 188, + 289, 199, 207, 0, 0, 246, 272, 152, 319, 290, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 138, 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 130, 139, 146, 153, - 161, 168, 172, 179, 183, 186, 189, 190, 191, 195, - 211, 215, 216, 217, 218, 230, 231, 232, 235, 238, - 239, 241, 243, 244, 247, 251, 252, 253, 254, 255, - 257, 265, 267, 273, 274, 275, 276, 277, 278, 279, - 282, 283, 284, 285, 293, 297, 306, 307, 317, 326, - 330, 181, 314, 331, 237, 210, 0, 0, 0, 0, - 0, 0, 0, 166, 0, 0, 0, 0, 0, 201, - 0, 0, 249, 0, 281, 156, 209, 207, 303, 171, - 167, 165, 155, 188, 214, 248, 299, 242, 0, 204, - 0, 0, 290, 223, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, - 154, 131, 234, 291, 173, 0, 0, 0, 114, 115, - 116, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, + 179, 184, 187, 190, 191, 192, 196, 212, 216, 217, + 218, 219, 231, 232, 233, 236, 239, 240, 242, 244, + 245, 248, 252, 253, 254, 255, 256, 258, 266, 268, + 274, 275, 276, 277, 278, 279, 280, 283, 284, 285, + 286, 294, 298, 307, 308, 318, 327, 331, 181, 315, + 332, 238, 211, 0, 0, 0, 0, 0, 0, 0, + 166, 0, 0, 0, 0, 0, 202, 0, 0, 250, + 0, 282, 156, 210, 208, 304, 171, 167, 165, 155, + 189, 215, 249, 300, 243, 0, 205, 0, 0, 291, + 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 154, 131, 235, + 292, 173, 0, 0, 0, 114, 115, 116, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, - 0, 327, 0, 0, 0, 0, 261, 0, 295, 182, - 200, 145, 197, 128, 140, 0, 180, 233, 268, 272, - 0, 0, 0, 157, 0, 270, 246, 316, 0, 250, - 269, 205, 305, 262, 315, 328, 329, 163, 227, 322, - 300, 325, 337, 141, 160, 240, 296, 319, 287, 222, - 302, 196, 286, 133, 298, 313, 151, 280, 0, 0, - 0, 135, 311, 294, 220, 193, 194, 134, 0, 266, - 164, 176, 159, 236, 308, 309, 158, 338, 142, 324, - 137, 143, 323, 229, 304, 312, 221, 213, 136, 310, - 219, 212, 199, 170, 184, 259, 208, 260, 185, 225, - 224, 226, 0, 132, 0, 292, 320, 339, 148, 0, - 0, 301, 333, 336, 0, 263, 149, 177, 169, 258, - 175, 202, 332, 334, 335, 147, 256, 228, 144, 187, - 288, 198, 206, 0, 0, 245, 271, 152, 318, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 0, 0, 328, 0, + 0, 0, 0, 262, 0, 296, 182, 201, 145, 198, + 128, 140, 0, 180, 234, 269, 273, 0, 0, 0, + 157, 0, 271, 247, 317, 0, 251, 270, 206, 306, + 263, 316, 329, 330, 163, 228, 323, 301, 326, 338, + 141, 160, 241, 297, 320, 288, 223, 303, 197, 287, + 133, 299, 314, 151, 281, 0, 0, 0, 135, 312, + 295, 221, 194, 195, 134, 0, 267, 164, 176, 159, + 237, 309, 310, 158, 339, 142, 325, 137, 143, 324, + 230, 305, 313, 222, 214, 136, 311, 220, 213, 200, + 170, 185, 260, 209, 261, 186, 226, 225, 227, 0, + 132, 0, 293, 321, 340, 148, 0, 0, 302, 334, + 337, 0, 264, 149, 177, 169, 259, 175, 203, 333, + 335, 336, 147, 257, 183, 229, 144, 188, 289, 199, + 207, 0, 0, 246, 272, 152, 319, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 138, 203, 0, 264, 174, 321, 0, 0, 162, + 0, 0, 0, 0, 0, 0, 0, 0, 127, 138, + 204, 0, 265, 174, 322, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 139, 146, 153, 161, 168, 172, - 179, 183, 186, 189, 190, 191, 195, 211, 215, 216, - 217, 218, 230, 231, 232, 235, 238, 239, 241, 243, - 244, 247, 251, 252, 253, 254, 255, 257, 265, 267, - 273, 274, 275, 276, 277, 278, 279, 282, 283, 284, - 285, 293, 297, 306, 307, 317, 326, 330, 181, 314, - 331, 0, 210, + 129, 130, 139, 146, 153, 161, 168, 172, 179, 184, + 187, 190, 191, 192, 196, 212, 216, 217, 218, 219, + 231, 232, 233, 236, 239, 240, 242, 244, 245, 248, + 252, 253, 254, 255, 256, 258, 266, 268, 274, 275, + 276, 277, 278, 279, 280, 283, 284, 285, 286, 294, + 298, 307, 308, 318, 327, 331, 181, 315, 332, 0, + 211, } var yyPact = [...]int{ - 262, -1000, -301, 1284, -1000, -1000, -1000, -1000, -1000, -1000, + 2059, -1000, -301, 1269, -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, 1221, 942, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 357, 930, 74, 1144, 58, 623, 216, 7, 19214, 215, + 43, 19602, -1000, 50, -1000, 18, 19602, 41, 18826, -1000, + -1000, -1000, 10645, 1099, -67, -71, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 961, 1205, 1204, 1235, 734, 1226, + -1000, 9080, 9080, 188, 188, 188, 7528, -1000, -1000, 15715, + 19602, 19602, 950, 185, 209, 185, -153, -1000, -1000, -1000, + -1000, -1000, -1000, 1144, -1000, -1000, 87, -1000, -1000, 19602, + 19602, 295, 1144, 96, -1000, -1000, -1000, 19602, 184, 623, + 184, 184, 19602, -1000, 256, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1233, 940, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 350, 942, 127, 1122, 61, 731, 215, 55, 19078, 214, - 41, 19465, -1000, 38, -1000, 22, 19465, 31, 18691, -1000, - -1000, -1000, 10531, 1086, -78, -83, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 977, 1197, 1196, 1230, 698, 1312, - -1000, 8970, 8970, 182, 182, 182, 7422, -1000, -1000, 15588, - 19465, 19465, 950, 179, 210, 179, -159, -1000, -1000, -1000, - -1000, -1000, -1000, 1122, -1000, -1000, 94, -1000, -1000, 19465, - 19465, 304, 1122, 81, -1000, -1000, -1000, 19465, 169, 731, - 169, 169, 19465, -1000, 252, -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, @@ -3044,23 +3061,23 @@ var yyPact = [...]int{ -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, 19602, 1137, 436, 436, 436, 436, 436, 436, -5, + -1000, -10, 91, 81, 94, -8, 623, 103, -1000, 281, + -1000, 92, 3, -1000, 436, 5098, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 202, -1000, -1000, -1000, -1000, 19602, + 18438, 146, 372, -1000, -1000, -1000, -1000, 769, 581, -1000, + 10645, 483, 719, 719, -1000, -1000, 232, -1000, -1000, 11809, + 11809, 11809, 11809, 11809, 11809, 11809, 11809, 11809, 11809, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 19465, 1107, 445, 445, 445, 445, 445, 445, -1000, -16, - 70, 63, 72, -38, 731, 157, -1000, 369, -1000, 64, - -15, -1000, 445, 4998, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 201, -1000, -1000, -1000, -1000, 19465, 18304, 175, - 340, -1000, -1000, -1000, -1000, 709, 720, -1000, 10531, 2421, - 915, 915, -1000, -1000, 230, -1000, -1000, 11692, 11692, 11692, - 11692, 11692, 11692, 11692, 11692, 11692, 11692, -1000, -1000, -1000, + -1000, -1000, -1000, 719, 255, -1000, 10257, 719, 719, 719, + 719, 719, 719, 719, 719, 10645, 719, 719, 719, 719, + 719, 719, 719, 719, 719, 719, 719, 719, 719, 719, + 719, 719, -1000, -1000, -1000, 19602, -1000, 1221, -1000, 942, + -1000, -1000, -1000, 1147, 10645, 10645, 1221, -1000, 1029, 9080, + -1000, -1000, 1220, -1000, -1000, -1000, -1000, 417, 1256, -1000, + 12585, 250, 1254, 18050, -1000, 16491, 17662, 893, 7123, -70, + -1000, -1000, -1000, 368, 15327, -1000, -1000, -1000, 1129, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 915, 250, -1000, 10144, 915, 915, 915, 915, 915, - 915, 915, 915, 10531, 915, 915, 915, 915, 915, 915, - 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, - -1000, -1000, -1000, 19465, -1000, 1233, -1000, 940, -1000, -1000, - -1000, 1128, 10531, 10531, 1233, -1000, 1031, 8970, -1000, -1000, - 1224, -1000, -1000, -1000, -1000, 395, 1250, -1000, 12466, 249, - 1247, 17917, -1000, 16362, 17530, 913, 7018, -70, -1000, -1000, - -1000, 335, 15201, -1000, -1000, -1000, 1106, -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, @@ -3072,160 +3089,160 @@ var yyPact = [...]int{ -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, 865, 19602, -1000, -1000, 1793, + 623, -1000, 923, -1000, 860, -1000, 907, 86, 360, 19602, + 397, 623, 623, -1000, -1000, -1000, 1128, 351, 538, 5098, + 107, 144, 130, 19602, 1144, 1097, 889, 196, 19602, 1187, + 981, 19602, 623, -1000, 6313, -1000, 436, -1000, 643, 10645, + -1000, -1000, -1000, -1000, -1000, 436, 19602, 436, 19602, 436, + 436, 436, 436, 442, 445, 442, -1000, -1000, -1000, -1000, + 5098, 5098, 19602, 5098, 5098, 19602, 5098, 5098, 445, -1000, + -1000, -1000, 300, -1000, 980, -1000, -1000, -1000, -1000, 26, + -1000, -1000, -1000, -1000, -1000, 1269, -1000, -1000, -1000, -139, + 10645, 10645, 10645, 10645, 674, 335, 11809, 537, 340, 11809, + 11809, 11809, 11809, 11809, 11809, 11809, 11809, 11809, 11809, 11809, + 11809, 11809, 11809, 11809, 707, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 623, -1000, 1267, 790, 790, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 12197, 7916, 6313, + 734, 857, 1221, 9080, 9080, 10645, 10645, 9856, 9468, 9080, + 1121, 385, 581, 19602, -1000, -1000, 11421, -1000, -1000, -1000, + -1000, -1000, 548, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 19602, 19602, 9080, 9080, 9080, 9080, 9080, -1000, 888, -1000, + -187, 14939, 1204, 734, 1220, 1169, 1262, 297, 765, 887, + -1000, 718, 1204, 14551, 783, -1000, 1220, -1000, -1000, -1000, + 19602, -1000, -1000, 17267, -1000, -1000, 5908, 19602, 119, 19602, + -1000, 806, 1041, -1000, -1000, -1000, 1197, 14163, 19602, 917, + 900, -1000, -1000, 249, 6718, -70, -1000, 6718, 835, -1000, + -107, -113, 8304, 272, -1000, -1000, -1000, -1000, 4288, 12973, + 701, 401, -53, -1000, -1000, -1000, 907, -1000, 907, 907, + 907, 907, -11, -11, -11, -11, -1000, -1000, -1000, -1000, + -1000, 929, 928, -1000, 907, 907, 907, 907, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 899, 19465, -1000, -1000, 366, 731, -1000, - 934, -1000, 893, -1000, 923, 58, 334, 19465, 363, 731, - 731, -1000, -1000, -1000, 1104, 317, 1780, 4998, 96, 144, - 98, 19465, 1122, 1077, 910, 195, 19465, 1172, 993, 19465, - 731, -1000, 6210, -1000, 445, -1000, 607, 10531, -1000, -1000, - -1000, -1000, -1000, 445, 19465, 445, 445, 445, 445, 422, - 444, 422, -1000, -1000, -1000, -1000, 4998, 4998, 4998, 4998, - 19465, 4998, 4998, 444, -1000, -1000, -1000, 300, -1000, 992, - -1000, -1000, -1000, -1000, 26, -1000, -1000, -1000, -1000, -1000, - 1284, -1000, -1000, -1000, -143, 10531, 10531, 10531, 10531, 612, - 303, 11692, 476, 454, 11692, 11692, 11692, 11692, 11692, 11692, - 11692, 11692, 11692, 11692, 11692, 11692, 11692, 11692, 11692, 658, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 731, -1000, - 1282, 818, 818, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 12079, 7809, 6210, 698, 891, 1233, 8970, 8970, - 10531, 10531, 9744, 9357, 8970, 1111, 358, 720, 19465, -1000, - -1000, 11305, -1000, -1000, -1000, -1000, -1000, 546, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 19465, 19465, 8970, 8970, 8970, - 8970, 8970, -1000, 909, -1000, -182, 14814, 1196, 698, 1224, - 1160, 1276, 283, 604, 907, -1000, 673, 1196, 14427, 931, - -1000, 1224, -1000, -1000, -1000, 19465, -1000, -1000, 17136, -1000, - -1000, 5806, 19465, 116, 19465, -1000, 781, 1175, -1000, -1000, - -1000, 1188, 14040, 19465, 898, 889, -1000, -1000, 242, 6614, - -70, -1000, 6614, 808, -1000, -117, -77, 8196, 260, -1000, - -1000, -1000, -1000, 4190, 12853, 671, 387, -56, -1000, -1000, - -1000, 923, -1000, 923, 923, 923, 923, -5, -5, -5, - -5, -1000, -1000, -1000, -1000, -1000, 941, 939, -1000, 923, - 923, 923, 923, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 925, 925, 925, 908, 908, + 171, 10645, 64, 19602, 1178, 532, 60, 353, 78, -1000, + 1186, 969, -1000, 351, 818, -1000, -1000, 554, 554, 325, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 938, 938, 938, 924, 924, 161, 10531, 109, 19465, 1177, - 490, 52, 324, 74, -1000, 1170, 962, -1000, 317, 844, - -1000, -1000, 882, 882, 378, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 118, -1000, 19465, 19465, - 19465, 19465, 19465, 222, 91, 19465, 19465, 906, -1000, 19465, - 4998, -1000, -1000, -1000, -1000, -1000, -1000, 720, -1000, -1000, - -1000, -1000, -1000, -1000, 445, 19465, 19465, 19465, -1000, -1000, - 445, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19465, -1000, - 597, 19465, 19465, -1000, -1000, -1000, -1000, -1000, 720, 303, - 339, 313, -1000, -1000, 615, -1000, -1000, 2266, -1000, -1000, - -1000, -1000, 476, 11692, 11692, 11692, 1146, 2266, 2214, 754, - 541, 264, 503, 503, 280, 280, 280, 280, 280, 601, - 601, -1000, -1000, -1000, 546, -1000, -1000, -1000, 546, 8970, - 8970, 904, 915, 241, -1000, 977, -1000, -1000, 1196, 873, - 873, 730, 677, 417, 1245, 873, 394, 1243, 873, 873, - 8970, -1000, -1000, 355, -1000, 10531, 546, -1000, 239, -1000, - 1181, 901, 814, 873, 546, 546, 873, 873, 19465, -1000, - -293, -1000, -142, 278, 915, -1000, 16749, -1000, -1000, 1128, - -1000, -1000, 1072, -1000, 1028, 10531, 10531, 10531, -1000, -1000, - -1000, 1128, 1209, -1000, 1039, 1038, 1240, 8970, 16362, 1224, - -1000, -1000, -1000, 238, 1240, 953, 915, -1000, 19465, 16362, - 16362, 16362, 16362, 16362, -1000, 1020, 1015, -1000, 1008, 1005, - 1016, 19465, -1000, 887, 698, 14040, 116, 744, 16362, 19465, - -1000, -1000, 16362, 19465, 5402, -1000, 808, -70, -114, -1000, - -1000, -1000, -1000, 720, -1000, 813, 788, 3786, -1000, -1000, - -1000, -1000, 177, -1000, -1000, 936, 731, -1000, 1154, 331, - 331, 496, 731, 1140, -1000, -1000, -1000, -1000, 1121, -1000, - 372, -63, -1000, -1000, -5, -5, -1000, -1000, 260, 1103, - 260, 260, 260, 596, 596, -1000, -1000, -1000, -1000, -1000, - 482, -1000, -1000, -1000, 478, -1000, -1000, 934, 544, 995, - 109, -1000, -1000, 317, 594, 1090, 19465, -1000, -1000, 669, - 203, 43, 117, -1000, -1000, -1000, -1000, 991, -1000, 771, + -1000, 121, -1000, 19602, 19602, 19602, 19602, 19602, 224, 102, + 19602, 19602, 883, -1000, 19602, 5098, -1000, -1000, -1000, -1000, + -1000, -1000, 581, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 436, 19602, 19602, 19602, -1000, -1000, 436, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 19602, -1000, 639, 19602, + 19602, -1000, -1000, -1000, -1000, -1000, 581, 335, 543, 324, + -1000, -1000, 528, -1000, -1000, 2396, -1000, -1000, -1000, -1000, + 537, 11809, 11809, 11809, 449, 2396, 2380, 542, 1349, 278, + 273, 273, 311, 311, 311, 311, 311, 302, 302, -1000, + -1000, -1000, 548, -1000, -1000, -1000, 548, 9080, 9080, 879, + 719, 248, -1000, 961, -1000, -1000, 1204, 852, 852, 603, + 546, 398, 1253, 852, 361, 1251, 852, 852, 9080, -1000, + -1000, 389, -1000, 10645, 548, -1000, 246, -1000, 2120, 878, + 872, 852, 548, 548, 852, 852, 19602, -1000, -296, -1000, + -136, 269, 719, -1000, 16879, -1000, -1000, 1147, -1000, -1000, + 1081, -1000, 1017, 10645, 10645, 10645, -1000, -1000, -1000, 1147, + 1237, -1000, 1055, 1048, 1241, 9080, 16491, 1220, -1000, -1000, + -1000, 245, 1241, 892, 719, -1000, 19602, 16491, 16491, 16491, + 16491, 16491, -1000, 1002, 1000, -1000, 1016, 1015, 1026, 19602, + -1000, 855, 734, 14163, 119, 692, 16491, 19602, -1000, -1000, + 16491, 19602, 5503, -1000, 835, -70, -116, -1000, -1000, -1000, + -1000, 581, -1000, 812, 829, 3883, -1000, -1000, -1000, -1000, + 143, -1000, -1000, 924, 623, -1000, 1161, 339, 339, 312, + 623, 1159, -1000, -1000, -1000, -1000, 1143, -1000, 405, -58, + -1000, -1000, -11, -11, -1000, -1000, 272, 1123, 272, 272, + 272, 632, 632, -1000, -1000, -1000, -1000, -1000, 530, -1000, + -1000, -1000, 513, -1000, -1000, 923, 646, 984, 64, -1000, + -1000, 351, 625, 1105, 19602, -1000, -1000, 667, 204, 29, + 88, -1000, -1000, -1000, -1000, 976, -1000, 742, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19465, - -1000, -1000, -1000, -1000, -1000, 19465, 959, -1000, -1000, -1000, - -1000, 34, 95, 89, 193, -1000, 4998, -1000, -1000, -1000, - -1000, 422, -1000, 422, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1146, 2266, 2124, -1000, 11692, 11692, -1000, -1000, 873, - 873, 8970, 6210, 1233, 1128, -1000, -1000, 106, 658, 106, - 11692, 11692, -1000, 11692, 11692, -1000, -175, 905, 349, -1000, - 10531, 578, -1000, 6210, -1000, 11692, 11692, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 208, 207, 206, 19465, - -1000, -1000, 563, 589, 1026, 720, 720, -1000, -1000, 19465, - -1000, -1000, -1000, -1000, 1238, 10531, -1000, 753, -1000, 4594, - 1196, 986, 19465, 915, 1284, 13253, 19465, 834, -1000, 321, - 1175, 956, 979, 1033, -1000, -1000, -1000, -1000, 1014, -1000, - 987, -1000, -1000, -1000, -1000, -1000, 698, 1240, 16362, 791, - -1000, 791, -1000, 237, -1000, -1000, -1000, -134, -91, -1000, - -1000, -1000, 4190, -1000, 4190, -1000, 19465, 165, -1000, 731, - 731, 731, -1000, -1000, -1000, 929, 978, 11692, -1000, -1000, - -1000, 260, 260, -1000, 341, -1000, -1000, -1000, 851, -1000, - 836, 747, 810, 19, -1000, 949, 1096, 317, 317, -1000, - 438, -1000, 731, -1000, -1000, 19465, 50, -1000, 928, 558, - -1000, 19465, -1000, -1000, -1000, -1000, -1000, -1000, 1148, -180, - 731, 19465, 19465, 19465, -1000, 19465, -1000, 445, 445, -1000, - 11692, 2266, 2266, -1000, -1000, 546, -1000, 1196, -1000, 546, - 923, 923, -1000, 923, 924, -1000, 923, 15, 923, 14, - 546, 546, 2079, 2030, 1980, 1939, 915, -166, -1000, 720, - 10531, -1000, 1844, 1476, 915, 915, 915, 778, -1000, 571, - -5, -1000, -1000, -1000, 1211, 1228, 720, -1000, -1000, -1000, - 1129, 683, 695, -1000, -1000, 8583, 786, 1037, 234, 778, - 1233, 19465, 10531, -1000, -1000, 10531, 920, -1000, 10531, -1000, - -1000, -1000, 1233, 1233, 791, -1000, -1000, 274, -1000, -1000, - -1000, 3786, -1000, 764, -1000, 1140, -1000, -1000, -1000, 19465, - -39, 1271, 2266, -1000, -1000, -1000, -1000, -5, 569, -5, - 406, -1000, 404, -1000, -1000, -223, -1000, -1000, 983, 994, - -1000, -1000, 918, -1000, -1000, -1000, 666, -1000, -1000, 915, - -1000, 6210, -1000, -1000, 917, 961, -1000, -1000, -1000, -1000, - 2266, -1000, 1128, -1000, -1000, 162, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 11692, 11692, 11692, 11692, 11692, 1196, - 566, 720, 11692, 11692, 15975, 19465, 19465, 13640, 19465, -5, - -50, -1000, 10531, 10531, 1139, -1000, 915, -1000, 958, 19465, - 915, 19465, -1000, 1196, -1000, 720, 720, 19465, 720, 1196, - -1000, 109, 760, -1000, 370, -1000, -106, 260, -1000, 260, - 664, 653, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1186, 19465, -1000, 115, 721, -1000, 311, 19465, 19465, -1000, - -1000, -1000, 1181, 1181, 1181, 1181, 36, 546, -1000, 1181, - 1181, 755, -1000, 755, 755, 278, -1000, -282, -1000, 1074, - 1071, 720, 709, 1270, -1000, 915, 1284, 228, 695, -1000, - -1000, 742, -1000, -1000, 134, 19465, 383, 1135, -1000, 1134, - -1000, -1000, -1000, -1000, -1000, 940, 727, 711, -1000, 19465, - 6210, 4190, 657, -1000, -1000, -1000, -1000, -1000, 546, 67, - -184, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -50, 178, - -1000, 1049, 1042, 1219, 19465, 695, 19465, -1000, 19465, -1000, - -1000, 562, -1000, -1000, 129, -1000, -1000, 115, 1036, -1000, - -1000, 959, -1000, 1025, -178, -188, 1058, 1060, 1060, 1071, - 1215, 1069, 1066, -1000, 556, 616, -1000, 916, -1000, -1000, - -86, -1000, 110, -180, -1000, 973, -1000, 1053, 555, -1000, - -1000, -1000, -1000, 550, -1000, 1214, 1210, -1000, 19465, 146, - -1000, -1000, 102, -1000, -181, -1000, 505, -1000, -1000, -1000, - 543, 537, 642, 54, 915, -186, -1000, -1000, -1000, -1000, - 975, -1000, 10918, -189, 969, -1000, 1254, 1181, 546, -1000, - -1000, 1256, 360, 360, -1000, -1000, -1000, -1000, -1000, 155, - 559, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19602, -1000, -1000, + -1000, -1000, -1000, 19602, 959, -1000, -1000, -1000, -1000, 23, + 105, 100, 195, -1000, 5098, -1000, -1000, -1000, -1000, 442, + -1000, 442, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 449, + 2396, 1951, -1000, 11809, 11809, -1000, -1000, 852, 852, 9080, + 6313, 1221, 1147, -1000, -1000, 118, 707, 118, 11809, 11809, + -1000, 11809, 11809, -1000, -168, 725, 362, -1000, 10645, 533, + -1000, 6313, -1000, 11809, 11809, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 208, 207, 206, 19602, -1000, -1000, + 614, 624, 1038, 581, 581, -1000, -1000, 19602, -1000, -1000, + -1000, -1000, 1239, 10645, -1000, 803, -1000, 4693, 1204, 975, + 19602, 719, 1269, 13374, 19602, 918, -1000, 352, 1041, 967, + 974, 1003, -1000, -1000, -1000, -1000, 994, -1000, 993, -1000, + -1000, -1000, -1000, -1000, 734, 1241, 16491, 749, -1000, 749, + -1000, 244, -1000, -1000, -1000, -117, -101, -1000, -1000, -1000, + 4288, -1000, 4288, -1000, 19602, 164, -1000, 623, 623, 623, + -1000, -1000, -1000, 912, 973, 11809, -1000, -1000, -1000, 272, + 272, -1000, 328, -1000, -1000, -1000, 846, -1000, 844, 787, + 837, 28, -1000, 945, 1113, 351, 351, -1000, 505, -1000, + 623, -1000, -1000, 19602, 72, -1000, 909, 606, -1000, 19602, + -1000, -1000, -1000, -1000, -1000, -1000, 1167, -175, 623, 19602, + 19602, 19602, -1000, 19602, -1000, 436, 436, -1000, 11809, 2396, + 2396, -1000, -1000, 548, -1000, 1204, -1000, 548, 907, 907, + -1000, 907, 908, -1000, 907, 11, 907, 9, 548, 548, + 2365, 2303, 2203, 2034, 719, -163, -1000, 581, 10645, -1000, + 2156, 1751, 719, 719, 719, 827, -1000, 615, -11, -1000, + -1000, -1000, 1228, 1233, 581, -1000, -1000, -1000, 1163, 708, + 758, -1000, -1000, 8692, 833, 1047, 241, 827, 1221, 19602, + 10645, -1000, -1000, 10645, 906, -1000, 10645, -1000, -1000, -1000, + 1221, 1221, 749, -1000, -1000, 289, -1000, -1000, -1000, 3883, + -1000, 825, -1000, 1159, -1000, -1000, -1000, 19602, -40, 1261, + 2396, -1000, -1000, -1000, -1000, -11, 601, -11, 465, -1000, + 457, -1000, -1000, -221, -1000, -1000, 941, 1006, -1000, -1000, + 902, -1000, -1000, -1000, 655, -1000, -1000, 719, -1000, 6313, + -1000, -1000, 896, 964, -1000, -1000, -1000, -1000, 2396, -1000, + 1147, -1000, -1000, 189, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 11809, 11809, 11809, 11809, 11809, 1204, 593, 581, + 11809, 11809, 16103, 19602, 19602, 13762, 19602, -11, -51, -1000, + 10645, 10645, 1158, -1000, 719, -1000, 794, 19602, 719, 19602, + -1000, 1204, -1000, 581, 581, 19602, 581, 1204, -1000, 64, + 780, -1000, 309, -1000, -98, 272, -1000, 272, 651, 649, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1196, 19602, + -1000, 117, 778, -1000, 347, 19602, 19602, -1000, -1000, -1000, + 2120, 2120, 2120, 2120, 120, 548, -1000, 2120, 2120, 762, + -1000, 762, 762, 269, -1000, -280, -1000, 1082, 1080, 581, + 769, 1260, -1000, 719, 1269, 231, 758, -1000, -1000, 760, + -1000, -1000, 129, 19602, 409, 1156, -1000, 1149, -1000, -1000, + -1000, -1000, -1000, 942, 751, 732, -1000, 19602, 6313, 4288, + 716, -1000, -1000, -1000, -1000, -1000, 548, 77, -178, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -51, 177, -1000, 1063, + 1059, 1223, 19602, 758, 19602, -1000, 19602, -1000, -1000, 573, + -1000, -1000, 136, -1000, -1000, 117, 1046, -1000, -1000, 959, + -1000, 1028, -173, -185, 1067, 1070, 1070, 1080, 1222, 1078, + 1076, -1000, 570, 754, -1000, 791, -1000, -1000, -77, -1000, + 114, -175, -1000, 1027, -1000, 1065, 468, -1000, -1000, -1000, + -1000, 569, -1000, 1219, 1207, -1000, 19602, 166, -1000, -1000, + 112, -1000, -176, -1000, 466, -1000, -1000, -1000, 568, 549, + 704, 65, 719, -180, -1000, -1000, -1000, -1000, 972, -1000, + 11033, -186, 971, -1000, 1250, 2120, 548, -1000, -1000, 1259, + 319, 319, -1000, -1000, -1000, -1000, -1000, 168, 562, -1000, + -1000, -1000, -1000, } var yyPgo = [...]int{ - 0, 1611, 1610, 14, 115, 79, 1597, 1595, 1594, 1593, - 143, 142, 141, 1592, 1591, 1590, 1589, 1588, 1587, 1586, - 1584, 1583, 1581, 1580, 1579, 1563, 1562, 119, 116, 463, - 1561, 1558, 1555, 1553, 1552, 1551, 1549, 1547, 1546, 1544, - 1541, 1540, 1537, 1536, 113, 1535, 1533, 1531, 1529, 1526, - 1518, 1517, 1516, 1515, 1513, 1512, 95, 1510, 41, 101, - 40, 73, 1509, 66, 1508, 1507, 1506, 1505, 1504, 2015, - 1503, 61, 105, 77, 1499, 39, 1498, 1497, 103, 1496, - 1494, 64, 1493, 1490, 1937, 1489, 71, 74, 16, 50, - 1488, 1487, 1486, 1485, 99, 1171, 1484, 1483, 13, 1482, - 1481, 117, 1480, 80, 35, 8, 27, 30, 1478, 75, - 1476, 10, 1475, 82, 1474, 1473, 1472, 1471, 33, 1470, - 68, 85, 55, 1467, 3, 11, 1466, 1465, 1461, 1460, - 1459, 1457, 5, 1455, 1449, 1447, 1446, 29, 1445, 12, - 1441, 60, 47, 22, 9, 1435, 1431, 21, 86, 58, - 94, 1427, 1424, 1420, 714, 1419, 54, 1417, 127, 1416, - 42, 1414, 420, 563, 1413, 1412, 1411, 1410, 1409, 62, - 695, 1642, 84, 97, 1407, 1405, 2176, 45, 72, 18, - 1399, 1396, 1394, 67, 78, 36, 701, 44, 1392, 1391, - 1390, 1389, 1380, 1378, 1374, 48, 1369, 1368, 1367, 175, - 31, 89, 20, 1366, 1365, 1364, 1354, 56, 93, 1353, - 1351, 53, 63, 1349, 100, 37, 34, 1346, 1342, 1339, - 1338, 25, 26, 1337, 88, 32, 43, 23, 38, 83, - 1331, 19, 1329, 1322, 24, 28, 1321, 6, 1319, 17, - 1315, 2, 0, 1302, 4, 1300, 81, 1213, 7, 1298, - 1, 1297, 1296, 76, 1295, 1294, 1292, 1291, 69, 702, - 96, 1290, 109, + 0, 1555, 1554, 25, 72, 79, 1553, 1549, 1548, 1547, + 138, 129, 125, 1546, 1545, 1544, 1543, 1538, 1536, 1535, + 1532, 1531, 1530, 1529, 1528, 1527, 1526, 106, 105, 474, + 1525, 1524, 1522, 1521, 1520, 1519, 1518, 1515, 1514, 1513, + 1512, 1511, 1510, 1509, 130, 1508, 1507, 1505, 1504, 1503, + 1502, 1501, 1500, 1499, 1498, 1496, 101, 1495, 50, 114, + 47, 68, 1494, 64, 1493, 1492, 1490, 1487, 1484, 1754, + 1470, 55, 69, 63, 1469, 39, 1467, 1457, 100, 1456, + 1455, 60, 1452, 1451, 73, 1449, 66, 83, 17, 32, + 1447, 1445, 1439, 1438, 99, 1161, 1437, 1435, 18, 1431, + 1430, 119, 1429, 77, 31, 16, 12, 22, 1427, 81, + 1426, 9, 1425, 78, 1424, 1419, 1417, 1416, 44, 1415, + 65, 86, 40, 1414, 6, 14, 1412, 1407, 1404, 1402, + 1400, 1397, 4, 1396, 1395, 1394, 1393, 36, 1392, 8, + 1391, 62, 41, 20, 11, 1390, 1389, 21, 95, 61, + 88, 1386, 1385, 1384, 736, 1381, 43, 1380, 134, 1379, + 75, 1376, 468, 556, 1373, 1371, 1369, 1366, 1363, 45, + 1002, 1614, 386, 96, 1362, 1361, 2265, 53, 70, 19, + 1357, 1356, 1355, 54, 113, 38, 767, 42, 1354, 1353, + 1352, 1351, 1349, 1343, 1342, 98, 1341, 1337, 1336, 139, + 33, 97, 23, 1335, 1334, 1330, 1329, 56, 82, 1328, + 1327, 58, 67, 1326, 104, 24, 29, 1324, 1322, 1316, + 1315, 27, 10, 1312, 93, 35, 48, 28, 34, 80, + 1309, 15, 1308, 1306, 37, 30, 1305, 7, 1304, 13, + 1300, 3, 0, 1298, 5, 1297, 74, 1141, 1, 1295, + 2, 1292, 1291, 71, 1290, 1288, 1284, 1277, 84, 235, + 89, 1276, 107, } var yyR1 = [...]int{ @@ -3263,54 +3280,55 @@ var yyR1 = [...]int{ 19, 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 157, 157, 251, 251, - 159, 159, 155, 155, 158, 158, 156, 156, 156, 160, - 160, 160, 161, 161, 255, 255, 255, 34, 34, 36, - 36, 37, 38, 38, 181, 181, 182, 182, 39, 40, - 49, 49, 49, 49, 49, 49, 51, 51, 51, 7, - 7, 7, 7, 46, 46, 46, 6, 6, 35, 35, - 42, 252, 252, 253, 254, 254, 254, 254, 43, 20, - 261, 44, 45, 45, 56, 56, 56, 52, 52, 52, - 55, 55, 55, 60, 60, 62, 62, 62, 62, 62, - 63, 63, 63, 63, 63, 63, 59, 59, 61, 61, - 61, 61, 174, 174, 174, 173, 173, 70, 70, 71, - 71, 72, 72, 73, 73, 73, 110, 87, 87, 140, - 140, 139, 139, 142, 142, 74, 74, 74, 74, 75, - 75, 76, 76, 77, 77, 180, 180, 179, 179, 179, - 178, 178, 80, 80, 80, 82, 81, 81, 81, 81, - 83, 83, 85, 85, 84, 84, 86, 88, 88, 88, - 88, 88, 89, 89, 69, 69, 69, 69, 69, 69, - 69, 69, 153, 153, 91, 91, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 102, 102, 102, 102, - 102, 102, 92, 92, 92, 92, 92, 92, 92, 58, - 58, 103, 103, 103, 109, 104, 104, 95, 95, 95, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 157, + 157, 251, 251, 159, 159, 155, 155, 158, 158, 156, + 156, 156, 160, 160, 160, 161, 161, 255, 255, 255, + 34, 34, 36, 36, 37, 38, 38, 181, 181, 182, + 182, 39, 40, 49, 49, 49, 49, 49, 49, 51, + 51, 51, 7, 7, 7, 7, 46, 46, 46, 6, + 6, 35, 35, 42, 252, 252, 253, 254, 254, 254, + 254, 43, 20, 261, 44, 45, 45, 56, 56, 56, + 52, 52, 52, 55, 55, 55, 60, 60, 62, 62, + 62, 62, 62, 63, 63, 63, 63, 63, 63, 59, + 59, 61, 61, 61, 61, 174, 174, 174, 173, 173, + 70, 70, 71, 71, 72, 72, 73, 73, 73, 110, + 87, 87, 140, 140, 139, 139, 142, 142, 74, 74, + 74, 74, 75, 75, 76, 76, 77, 77, 180, 180, + 179, 179, 179, 178, 178, 80, 80, 80, 82, 81, + 81, 81, 81, 83, 83, 85, 85, 84, 84, 86, + 88, 88, 88, 88, 88, 89, 89, 69, 69, 69, + 69, 69, 69, 69, 69, 153, 153, 91, 91, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 102, + 102, 102, 102, 102, 102, 92, 92, 92, 92, 92, + 92, 92, 58, 58, 103, 103, 103, 109, 104, 104, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 99, 99, 99, 99, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 262, 262, 101, 100, 100, 100, - 100, 100, 100, 100, 54, 54, 54, 54, 54, 185, - 185, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 114, 114, 53, 53, 112, 112, - 113, 115, 115, 111, 111, 111, 94, 94, 94, 94, - 94, 94, 94, 94, 96, 96, 96, 116, 116, 117, - 117, 118, 118, 119, 119, 120, 121, 121, 121, 122, - 122, 122, 122, 232, 232, 232, 232, 232, 227, 227, - 227, 227, 228, 228, 228, 64, 64, 64, 64, 66, - 66, 65, 65, 47, 47, 48, 48, 48, 67, 67, - 68, 68, 68, 68, 137, 137, 137, 123, 123, 123, - 123, 128, 128, 128, 124, 124, 126, 126, 126, 127, - 127, 127, 125, 131, 131, 133, 133, 132, 132, 130, - 130, 135, 135, 134, 134, 129, 129, 93, 93, 93, - 93, 93, 138, 138, 138, 138, 143, 143, 105, 105, - 107, 107, 106, 108, 144, 144, 147, 145, 145, 148, - 148, 148, 148, 148, 146, 146, 146, 175, 175, 175, - 152, 152, 162, 162, 163, 163, 154, 154, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 167, 167, - 167, 168, 168, 136, 136, 136, 136, 233, 233, 229, - 171, 171, 172, 172, 176, 176, 177, 177, 169, 169, + 95, 95, 95, 95, 99, 99, 99, 99, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 262, 262, 101, + 100, 100, 100, 100, 100, 100, 100, 54, 54, 54, + 54, 54, 185, 185, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 114, 114, 53, + 53, 112, 112, 113, 115, 115, 111, 111, 111, 94, + 94, 94, 94, 94, 94, 94, 94, 96, 96, 96, + 116, 116, 117, 117, 118, 118, 119, 119, 120, 121, + 121, 121, 122, 122, 122, 122, 232, 232, 232, 232, + 232, 227, 227, 227, 227, 228, 228, 228, 64, 64, + 64, 64, 66, 66, 65, 65, 47, 47, 48, 48, + 48, 67, 67, 68, 68, 68, 68, 137, 137, 137, + 123, 123, 123, 123, 128, 128, 128, 124, 124, 126, + 126, 126, 127, 127, 127, 125, 131, 131, 133, 133, + 132, 132, 130, 130, 135, 135, 134, 134, 129, 129, + 93, 93, 93, 93, 93, 138, 138, 138, 138, 143, + 143, 105, 105, 107, 107, 106, 108, 144, 144, 147, + 145, 145, 148, 148, 148, 148, 148, 146, 146, 146, + 175, 175, 175, 152, 152, 162, 162, 163, 163, 154, + 154, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 167, 167, 167, 168, 168, 136, 136, 136, 136, + 233, 233, 229, 171, 171, 172, 172, 176, 176, 177, + 177, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, @@ -3322,8 +3340,8 @@ var yyR1 = [...]int{ 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 170, 170, 170, 170, 170, 170, 170, + 169, 169, 169, 169, 169, 169, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, @@ -3344,8 +3362,7 @@ var yyR1 = [...]int{ 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 258, 259, 183, 184, - 184, 184, + 258, 259, 183, 184, 184, 184, } var yyR2 = [...]int{ @@ -3380,56 +3397,57 @@ var yyR2 = [...]int{ 7, 5, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 3, 8, 8, 3, 3, 5, 4, 6, 5, 4, 3, - 2, 3, 4, 3, 3, 3, 3, 3, 3, 2, - 4, 4, 4, 4, 4, 5, 7, 4, 4, 4, - 4, 4, 4, 4, 2, 7, 2, 4, 5, 4, - 3, 3, 5, 2, 3, 3, 1, 1, 1, 1, - 0, 1, 0, 1, 1, 1, 0, 2, 2, 0, - 2, 2, 0, 2, 0, 1, 1, 2, 1, 1, - 2, 1, 1, 5, 0, 1, 0, 1, 2, 3, - 0, 3, 3, 3, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 1, 1, 3, 3, 2, 2, - 3, 1, 3, 2, 1, 2, 1, 2, 2, 2, - 0, 2, 0, 2, 1, 2, 2, 0, 1, 1, - 0, 1, 1, 0, 1, 0, 1, 2, 3, 4, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, - 3, 5, 0, 1, 2, 1, 1, 0, 2, 1, - 3, 1, 1, 1, 3, 3, 3, 3, 7, 0, - 3, 1, 3, 1, 3, 4, 4, 4, 3, 2, - 4, 0, 1, 0, 2, 0, 1, 0, 1, 2, - 1, 1, 1, 2, 2, 1, 2, 3, 2, 3, - 2, 2, 2, 1, 1, 3, 3, 0, 5, 4, - 5, 5, 0, 2, 1, 3, 3, 3, 2, 3, - 1, 2, 0, 3, 1, 1, 3, 3, 4, 4, - 5, 3, 4, 5, 6, 2, 1, 2, 1, 2, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, - 2, 1, 1, 1, 3, 1, 3, 1, 1, 1, - 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 3, 1, 1, 1, - 1, 4, 5, 5, 6, 4, 4, 6, 6, 6, - 8, 8, 8, 8, 9, 8, 5, 4, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 8, 8, 0, 2, 3, 4, 4, 4, - 4, 4, 4, 4, 0, 3, 4, 7, 3, 1, - 1, 2, 3, 3, 1, 2, 2, 1, 2, 1, - 2, 2, 1, 2, 0, 1, 0, 2, 1, 2, - 4, 0, 2, 1, 3, 5, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 2, 0, 3, 0, - 2, 0, 3, 1, 3, 2, 0, 1, 1, 0, - 2, 4, 4, 0, 2, 2, 1, 1, 3, 3, - 3, 3, 3, 3, 3, 0, 3, 3, 3, 0, - 3, 1, 1, 0, 4, 0, 1, 1, 0, 3, - 1, 3, 2, 1, 0, 2, 4, 0, 9, 3, - 5, 0, 3, 3, 0, 1, 0, 2, 2, 0, - 2, 2, 2, 0, 3, 0, 3, 0, 3, 0, - 4, 0, 3, 0, 4, 0, 1, 2, 1, 5, - 4, 4, 1, 3, 3, 5, 0, 5, 1, 3, - 1, 2, 3, 1, 1, 3, 3, 1, 3, 3, - 3, 3, 3, 2, 1, 2, 1, 1, 1, 1, - 1, 1, 0, 2, 0, 3, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, - 1, 1, 1, 0, 1, 1, 1, 0, 1, 2, + 2, 3, 4, 3, 3, 3, 3, 3, 3, 4, + 2, 4, 4, 4, 4, 4, 5, 7, 4, 4, + 4, 4, 4, 4, 4, 4, 2, 4, 7, 2, + 4, 5, 4, 3, 3, 5, 2, 3, 3, 1, + 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, + 2, 2, 0, 2, 2, 0, 2, 0, 1, 1, + 2, 1, 1, 2, 1, 1, 5, 0, 1, 0, + 1, 2, 3, 0, 3, 3, 3, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 1, 1, 3, + 3, 2, 2, 3, 1, 3, 2, 1, 2, 1, + 2, 2, 2, 0, 2, 0, 2, 1, 2, 2, + 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, + 2, 3, 4, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 2, 3, 5, 0, 1, 2, 1, 1, + 0, 2, 1, 3, 1, 1, 1, 3, 3, 3, + 3, 7, 0, 3, 1, 3, 1, 3, 4, 4, + 4, 3, 2, 4, 0, 1, 0, 2, 0, 1, + 0, 1, 2, 1, 1, 1, 2, 2, 1, 2, + 3, 2, 3, 2, 2, 2, 1, 1, 3, 3, + 0, 5, 4, 5, 5, 0, 2, 1, 3, 3, + 3, 2, 3, 1, 2, 0, 3, 1, 1, 3, + 3, 4, 4, 5, 3, 4, 5, 6, 2, 1, + 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 0, 2, 1, 1, 1, 3, 1, 3, + 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, + 1, 1, 1, 1, 4, 5, 5, 6, 4, 4, + 6, 6, 6, 8, 8, 8, 8, 9, 8, 5, + 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 8, 8, 0, 2, 3, + 4, 4, 4, 4, 4, 4, 4, 0, 3, 4, + 7, 3, 1, 1, 2, 3, 3, 1, 2, 2, + 1, 2, 1, 2, 2, 1, 2, 0, 1, 0, + 2, 1, 2, 4, 0, 2, 1, 3, 5, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 0, 3, 0, 2, 0, 3, 1, 3, 2, 0, + 1, 1, 0, 2, 4, 4, 0, 2, 2, 1, + 1, 3, 3, 3, 3, 3, 3, 3, 0, 3, + 3, 3, 0, 3, 1, 1, 0, 4, 0, 1, + 1, 0, 3, 1, 3, 2, 1, 0, 2, 4, + 0, 9, 3, 5, 0, 3, 3, 0, 1, 0, + 2, 2, 0, 2, 2, 2, 0, 3, 0, 3, + 0, 3, 0, 4, 0, 3, 0, 4, 0, 1, + 2, 1, 5, 4, 4, 1, 3, 3, 5, 0, + 5, 1, 3, 1, 2, 3, 1, 1, 3, 3, + 1, 3, 3, 3, 3, 3, 2, 1, 2, 1, + 1, 1, 1, 1, 1, 0, 2, 0, 3, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, + 0, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -3464,8 +3482,7 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, - 1, 1, + 1, 1, 0, 0, 1, 1, } var yyChk = [...]int{ @@ -3475,373 +3492,375 @@ var yyChk = [...]int{ -43, -4, -258, 6, 7, 8, -50, 10, 11, 31, -23, -24, 146, -25, 147, -26, 149, 148, 182, 150, 175, 70, 208, 209, 211, 212, 213, 214, -51, 180, - 181, 152, 35, 41, 32, 33, 80, 9, 305, 177, - 176, 26, -257, 409, -56, 5, -118, 16, -3, -44, + 181, 152, 35, 41, 32, 33, 80, 9, 306, 177, + 176, 26, -257, 410, -56, 5, -118, 16, -3, -44, -261, -44, -44, -44, -44, -44, -44, -217, -219, 80, 119, 80, -57, 154, -136, -247, 100, 160, 163, 164, - 296, 153, -30, -29, -28, -27, -31, 30, -247, 154, + 297, 153, -30, -29, -28, -27, -31, 30, -247, 154, 156, 268, -245, -242, 83, 84, 85, 154, 154, 155, - 156, -247, 154, -84, -176, -242, -170, 315, 168, 347, - 348, 76, 258, 208, 222, 216, 243, 235, 316, 349, - 169, 198, 233, 236, 283, 166, 350, 280, 263, 271, - 94, 211, 292, 351, 75, 47, 40, 178, 231, 227, - 199, 352, 324, 192, 225, 46, 28, 45, 353, 273, - 248, 44, 354, 79, 320, 275, 226, 272, 152, 355, - 171, 403, 164, 356, 249, 253, 357, 284, 48, 358, - 359, 360, 74, 220, 221, 361, 206, 167, 286, 247, - 165, 34, 276, 317, 54, 186, 287, 42, 251, 41, - 407, 362, 246, 242, 49, 363, 364, 365, 366, 245, - 219, 241, 204, 58, 255, 254, 256, 193, 282, 238, - 367, 368, 369, 172, 77, 370, 228, 19, 371, 372, - 200, 373, 52, 374, 375, 290, 181, 376, 50, 37, - 184, 377, 378, 379, 380, 381, 281, 382, 274, 250, - 252, 161, 188, 270, 319, 383, 224, 384, 173, 185, - 180, 291, 174, 385, 386, 387, 388, 389, 390, 391, - 212, 39, 392, 393, 394, 395, 207, 203, 285, 294, - 57, 78, 260, 396, 218, 163, 201, 397, 209, 51, - 195, 266, 205, 43, 239, 187, 398, 399, 229, 230, - 244, 217, 240, 210, 404, 189, 182, 400, 293, 202, - 261, 321, 194, 237, 234, 196, 401, 156, 190, 191, - 402, 405, 277, 267, 278, 279, 268, 197, 232, 262, - 154, 236, 283, 263, 264, 265, 276, 277, 281, 188, - -255, 284, 154, -155, 137, 146, 273, -159, 274, 267, - 268, 197, -251, -242, 285, 407, 269, 275, 279, 278, - -176, 210, -181, 215, -171, -242, -170, 213, -84, -49, - 403, 150, -183, -183, -183, -104, -69, -90, 103, -95, - 30, 24, -94, -91, -111, -108, -109, 137, 138, 140, - 139, 141, 126, 127, 134, 104, 142, -99, -97, -98, - -100, 87, 86, 95, 88, 89, 90, 91, 96, 97, - 98, -171, -176, -106, -258, 64, 65, 306, 307, 308, - 309, 314, 310, 106, 53, 295, 304, 303, 302, 299, - 300, 297, 298, 312, 313, 159, 296, 153, 132, 305, - -242, -170, 40, 266, 266, -5, -4, -258, 6, 21, - 22, -122, 18, 17, -259, 82, -52, -62, 59, 60, - -63, 22, 36, 63, 61, -45, -61, 128, -69, -176, - -61, -154, 158, -154, -154, -145, -186, 210, -148, 285, - 284, -172, -146, -171, -169, 283, 236, 282, 151, 322, - 102, 23, 25, 105, 137, 17, 106, 136, 306, 146, - 68, 323, 297, 298, 295, 301, 308, 309, 296, 264, - 30, 11, 325, 26, 176, 22, 36, 130, 148, 109, - 110, 179, 24, 177, 98, 328, 20, 71, 12, 14, - 329, 330, 15, 159, 158, 121, 155, 66, 9, 142, - 27, 118, 62, 331, 29, 332, 333, 334, 335, 64, - 119, 18, 299, 300, 32, 408, 336, 314, 183, 132, - 69, 55, 103, 337, 338, 96, 339, 99, 72, 100, - 16, 67, 38, 340, 341, 342, 288, 343, 120, 149, - 305, 65, 344, 153, 265, 6, 311, 31, 175, 63, - 345, 154, 108, 312, 313, 157, 97, 5, 160, 33, - 10, 70, 73, 302, 303, 304, 53, 318, 107, 13, - 346, 289, 101, -218, 119, -208, -211, -171, 170, -235, - 166, -84, -225, -224, -171, -64, 76, -163, 159, 155, - -163, 305, -27, -28, 236, 136, -84, -84, 146, 148, - 151, 72, -29, 194, -22, -84, -162, 159, -242, -162, - -162, -84, 143, -84, 31, -160, 119, 13, -160, -160, - -160, -160, -160, 195, 280, 195, 196, 195, 196, 195, - -158, -157, 271, 272, 266, 270, -242, 296, -242, 188, - 154, 189, 156, -213, 155, 34, 167, 196, 266, 191, - -160, -184, -258, -172, 157, -171, -46, -171, 87, -7, - -3, -11, -10, -12, 111, 81, 102, 100, 101, 118, - -69, -92, 121, 103, 119, 120, 105, 123, 122, 133, - 126, 127, 128, 129, 130, 131, 132, 124, 125, 136, - 111, 112, 113, 114, 115, 116, 117, -153, -258, -109, - -258, 144, 145, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, -258, 143, -2, -104, -4, -258, -258, - -258, -258, -258, -258, -258, -258, -114, -69, -258, -262, - -101, -258, -262, -101, -262, -101, -262, -258, -262, -101, - -262, -101, -262, -262, -101, -258, -258, -258, -258, -258, - -258, -258, -183, -252, -253, -87, -84, -118, -3, -44, - -137, 20, 32, -69, -119, -120, -69, -118, 55, -59, - -61, -63, 59, 60, 93, 12, -174, -173, 23, -171, - 87, 143, 12, -85, 27, -84, -71, -72, -73, -74, - -87, -110, -258, 12, -78, -79, -84, -86, -176, 81, - 210, -148, -186, -150, -149, 286, 288, 111, -175, -171, - 87, 30, 31, 82, 81, -84, -188, -191, -193, -192, - -194, -189, -190, 233, 234, 137, 237, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 31, 178, 229, - 230, 231, 232, 249, 250, 251, 252, 253, 254, 255, - 256, 216, 235, 316, 217, 218, 219, 220, 221, 222, - 224, 225, 226, 227, 228, -242, 80, 82, 81, -195, - 80, -67, 199, 111, -84, 103, -242, -242, 31, -216, - 111, -166, 151, 148, 149, -238, 147, 258, 236, 94, - 30, 16, 306, 184, 321, -242, 185, -184, 190, 190, - 154, 154, 203, -84, 40, 81, 157, -78, 24, 72, - -84, -242, -177, -176, -169, -160, 87, -69, -160, -84, - -160, -160, -160, -160, -156, 12, 121, -214, 12, 121, - -156, -184, -184, -184, -184, -84, -184, -184, -214, -161, - 119, 72, -182, 213, 247, 404, 405, 406, -69, -69, - -69, -69, -102, 96, 103, 97, 98, -95, -103, -106, - -109, 92, 121, 119, 120, 105, -95, -95, -95, -95, - -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -185, -242, 87, -242, -94, -94, -171, -60, 22, - 36, -59, -172, -177, -169, -56, -259, -259, -118, -59, - -59, -69, -69, -111, 87, -59, -111, 87, -59, -59, - -55, 22, 36, -112, -113, 107, -111, -171, -176, -259, - -95, -171, -171, -59, -60, -60, -59, -59, 81, -254, - 288, 289, 408, -179, 184, -178, 23, -176, 87, -122, - -259, -123, 27, 10, 121, 81, 19, 81, -121, 25, - 26, -122, -96, -171, 88, 91, -70, 81, 12, -63, - -84, -173, 128, -177, -84, -141, 184, -84, 31, 81, - -80, -82, -81, -83, 62, 66, 68, 63, 64, 65, - 69, -180, 23, -71, -3, -258, -84, -78, -260, 81, - 12, 73, -260, 81, 143, -148, -150, 81, 287, 289, - 290, 72, 99, -69, -200, 136, -220, -221, -222, -172, - 87, 88, -208, -209, -210, -223, 170, -234, 161, 163, - 164, 160, -212, 171, -235, 155, 29, 82, -164, 96, - 103, -204, 261, -195, -195, -195, -195, -195, -199, 236, - -199, -199, -199, 80, 80, -195, -195, -195, -195, -201, - 80, -201, -201, -202, 80, -202, -235, 166, -69, -231, - -230, -226, -229, 165, 94, 318, 73, -224, -121, 88, - -66, 201, 111, 202, 204, 205, 24, -233, -229, -216, - -242, 87, -183, -246, 166, 162, 170, 171, 164, 83, - 84, 85, 155, 29, 161, 163, 184, 160, -246, -167, - -168, 157, 23, 155, 29, 184, -84, -84, -84, -84, - -84, 151, 148, 192, -84, -84, -84, -184, -160, -176, - -176, -84, -160, -84, 87, -84, -171, 96, 97, 98, - -103, -95, -95, -95, -58, 179, 102, -259, -259, -59, - -59, -258, 143, -5, -122, -259, -259, 81, 73, 23, - 12, 12, -259, 12, 12, -259, -259, -59, -115, -113, - 109, -69, -259, 143, -259, 81, 81, -259, -259, -259, - -259, -259, -253, 407, 289, -88, 70, 158, 71, -258, - -178, -137, 38, 46, 57, -69, -69, -120, -137, -152, - 20, 12, 53, 53, -89, 13, -61, -71, -63, 143, - -89, -93, 31, 53, -3, -258, -258, -144, -147, -111, - -72, -73, -73, -72, -73, 62, 62, 62, 67, 62, - 67, 62, -81, -176, -259, -259, -3, -141, 73, -71, - -84, -71, -86, -176, 128, -149, -151, 291, 288, 294, - -242, 87, 81, -222, 111, -211, 80, -242, 29, -212, - -212, -212, -215, -242, -215, 29, -197, 30, 96, -205, - 262, -199, -199, -200, 31, -200, -200, -200, -207, 87, - -207, 88, 88, 82, -232, -227, -228, 32, 76, -226, - -216, 87, 37, -171, 82, 156, 207, -68, 301, 87, - 83, 72, -242, 87, -183, -183, -84, -183, -171, -244, - 73, 190, 258, 190, 193, 157, -184, -156, -156, -58, - 102, -95, -95, -259, -259, -60, -172, -118, -137, -187, - 137, 233, 178, 231, 227, 247, 238, 260, 229, 261, - -185, -187, -95, -95, -95, -95, 315, -118, 110, -69, - 108, -172, -95, -95, 155, 155, 155, -142, -171, 39, - 87, 87, 58, -84, -116, 14, -69, 128, -122, -143, - 72, -144, -105, -107, -106, -258, -138, -259, -171, -142, - -89, 81, 111, -76, -75, 72, 73, -77, 72, -75, - 62, 62, -259, -89, -71, -89, -89, 143, 288, 292, - 293, -221, -222, -225, -234, 171, -215, -215, -215, 80, - -198, 72, -95, -200, -200, -242, 137, 82, 81, 82, - 81, 82, 81, -165, 353, 103, -228, -227, -216, -216, - 88, -242, -84, -65, 199, 206, 80, 84, -84, 27, - -241, 318, -243, -242, -171, -171, -171, -84, -160, -160, - -95, -259, -122, -259, -195, -195, -195, -202, -195, 221, - -195, 221, -259, -259, 20, 20, 20, 20, -258, -53, - 311, -69, 81, 81, -258, -258, -258, -259, 81, 87, - -199, -117, 15, 17, 28, -143, 81, -259, -259, 81, - 53, 143, -259, -118, -147, -69, -69, 80, -69, -118, - -89, 82, -139, -171, -203, 258, 10, -199, 87, -199, - 88, 88, 353, 30, 77, 78, 79, 30, 74, 75, - -140, 80, 82, -258, -240, -239, -172, 80, 73, -137, - -199, -242, -95, -95, -95, -95, -95, -122, 87, -95, - -95, -139, -259, -139, -139, -179, -171, -199, -125, -130, - -158, -69, -104, 29, -107, 53, -3, -171, -105, -171, - -122, -139, -122, -231, 82, 81, -206, 161, 29, 160, - -98, -200, -200, 82, 82, 23, -139, -236, -237, 184, - 81, 111, -139, -84, -259, -259, -259, -259, -54, 121, - 318, -259, -259, -259, -259, -259, -259, -88, -128, 403, - -131, 42, -132, 43, 10, -105, 143, 82, 173, -171, - -196, 94, 29, 29, -3, 82, -259, 81, -171, -239, - -222, 82, -259, 316, 69, 319, -125, 47, 239, -133, - 51, -134, -129, 52, 17, -144, -171, -84, 87, -47, - 318, -237, 53, -244, 58, 317, 320, -126, 49, -124, - 48, -124, -132, 17, -135, 44, 45, 87, 80, -48, - 198, 407, 186, -241, 58, -127, 50, 72, 99, 87, - 17, 17, -139, 166, 187, 318, 72, 99, 87, 87, - 82, 200, -258, 319, -249, -250, 72, -95, 183, 320, - -250, 72, 11, 10, -259, -259, -248, 174, 169, 172, - 31, -248, 168, 30, 96, + 156, -247, 154, -84, -176, -242, -170, 316, 168, 348, + 349, 76, 258, 208, 222, 216, 243, 235, 317, 350, + 169, 198, 233, 236, 284, 166, 351, 280, 263, 271, + 94, 211, 293, 352, 75, 47, 40, 178, 231, 227, + 199, 353, 325, 192, 225, 46, 28, 45, 354, 273, + 248, 44, 355, 79, 321, 275, 226, 272, 152, 356, + 171, 404, 164, 282, 357, 249, 253, 358, 285, 48, + 359, 360, 361, 74, 220, 221, 362, 206, 167, 287, + 247, 165, 34, 276, 318, 54, 186, 288, 42, 251, + 41, 408, 363, 246, 242, 49, 364, 365, 366, 367, + 245, 219, 241, 204, 58, 255, 254, 256, 193, 283, + 238, 368, 369, 370, 172, 77, 371, 228, 19, 372, + 373, 200, 374, 52, 375, 376, 291, 181, 377, 50, + 37, 184, 378, 379, 380, 381, 382, 281, 383, 274, + 250, 252, 161, 188, 270, 320, 384, 224, 385, 173, + 185, 180, 292, 174, 386, 387, 388, 389, 390, 391, + 392, 212, 39, 393, 394, 395, 396, 207, 203, 286, + 295, 57, 78, 260, 397, 218, 163, 201, 398, 209, + 51, 195, 266, 205, 43, 239, 187, 399, 400, 229, + 230, 244, 217, 240, 210, 405, 189, 182, 401, 294, + 202, 261, 322, 194, 237, 234, 196, 402, 156, 190, + 191, 403, 406, 277, 267, 278, 279, 268, 197, 232, + 262, 154, 236, 284, 263, 264, 265, 276, 277, 282, + 281, 188, -255, 285, 154, -155, 137, 146, 273, -159, + 274, 267, 268, 197, -251, -242, 286, 408, 269, 275, + 279, 278, -176, 210, -181, 215, -171, -242, -170, 213, + -84, -49, 404, 150, -183, -183, -183, -104, -69, -90, + 103, -95, 30, 24, -94, -91, -111, -108, -109, 137, + 138, 140, 139, 141, 126, 127, 134, 104, 142, -99, + -97, -98, -100, 87, 86, 95, 88, 89, 90, 91, + 96, 97, 98, -171, -176, -106, -258, 64, 65, 307, + 308, 309, 310, 315, 311, 106, 53, 296, 305, 304, + 303, 300, 301, 298, 299, 313, 314, 159, 297, 153, + 132, 306, -242, -170, 40, 266, 266, -5, -4, -258, + 6, 21, 22, -122, 18, 17, -259, 82, -52, -62, + 59, 60, -63, 22, 36, 63, 61, -45, -61, 128, + -69, -176, -61, -154, 158, -154, -154, -145, -186, 210, + -148, 286, 285, -172, -146, -171, -169, 284, 236, 283, + 151, 323, 102, 23, 25, 105, 137, 17, 106, 136, + 307, 146, 68, 324, 298, 299, 296, 302, 309, 310, + 297, 264, 30, 11, 326, 26, 176, 22, 36, 130, + 148, 109, 110, 179, 24, 177, 98, 329, 20, 71, + 12, 14, 330, 331, 15, 159, 158, 121, 155, 66, + 9, 142, 27, 118, 62, 332, 29, 333, 334, 335, + 336, 64, 119, 18, 300, 301, 32, 409, 337, 315, + 183, 132, 69, 55, 103, 338, 339, 96, 340, 99, + 72, 100, 16, 67, 38, 341, 342, 343, 289, 344, + 120, 149, 306, 65, 345, 153, 265, 6, 312, 31, + 175, 63, 346, 154, 108, 313, 314, 157, 97, 5, + 160, 33, 10, 70, 73, 303, 304, 305, 53, 319, + 107, 13, 347, 290, 101, -218, 119, -208, -211, -171, + 170, -235, 166, -84, -225, -224, -171, -64, 76, -163, + 159, 155, -163, 306, -27, -28, 236, 136, -84, -84, + 146, 148, 151, 72, -29, 194, -22, -84, -162, 159, + -242, -162, -162, -84, 143, -84, 31, -160, 119, 13, + -160, -160, -160, -160, -160, 195, 280, 195, 280, 195, + 196, 195, 196, 195, -158, -157, 271, 272, 266, 270, + -242, 297, 282, -242, 188, 154, 189, 156, -213, 155, + 34, 167, 196, 266, 191, -160, -184, -258, -172, 157, + -171, -46, -171, 87, -7, -3, -11, -10, -12, 111, + 81, 102, 100, 101, 118, -69, -92, 121, 103, 119, + 120, 105, 123, 122, 133, 126, 127, 128, 129, 130, + 131, 132, 124, 125, 136, 111, 112, 113, 114, 115, + 116, 117, -153, -258, -109, -258, 144, 145, -95, -95, + -95, -95, -95, -95, -95, -95, -95, -95, -258, 143, + -2, -104, -4, -258, -258, -258, -258, -258, -258, -258, + -258, -114, -69, -258, -262, -101, -258, -262, -101, -262, + -101, -262, -258, -262, -101, -262, -101, -262, -262, -101, + -258, -258, -258, -258, -258, -258, -258, -183, -252, -253, + -87, -84, -118, -3, -44, -137, 20, 32, -69, -119, + -120, -69, -118, 55, -59, -61, -63, 59, 60, 93, + 12, -174, -173, 23, -171, 87, 143, 12, -85, 27, + -84, -71, -72, -73, -74, -87, -110, -258, 12, -78, + -79, -84, -86, -176, 81, 210, -148, -186, -150, -149, + 287, 289, 111, -175, -171, 87, 30, 31, 82, 81, + -84, -188, -191, -193, -192, -194, -189, -190, 233, 234, + 137, 237, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 31, 178, 229, 230, 231, 232, 249, 250, + 251, 252, 253, 254, 255, 256, 216, 235, 317, 217, + 218, 219, 220, 221, 222, 224, 225, 226, 227, 228, + -242, 80, 82, 81, -195, 80, -67, 199, 111, -84, + 103, -242, -242, 31, -216, 111, -166, 151, 148, 149, + -238, 147, 258, 236, 94, 30, 16, 307, 184, 322, + -242, 185, -184, 190, 190, 154, 154, 203, -84, 40, + 81, 157, -78, 24, 72, -84, -242, -177, -176, -169, + -160, 87, -69, -160, -84, -160, -84, -160, -160, -160, + -160, -156, 12, 121, -214, 12, 121, -156, -184, -184, + -84, -184, -184, -84, -184, -184, -214, -161, 119, 72, + -182, 213, 247, 405, 406, 407, -69, -69, -69, -69, + -102, 96, 103, 97, 98, -95, -103, -106, -109, 92, + 121, 119, 120, 105, -95, -95, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, -95, -95, -95, -185, + -242, 87, -242, -94, -94, -171, -60, 22, 36, -59, + -172, -177, -169, -56, -259, -259, -118, -59, -59, -69, + -69, -111, 87, -59, -111, 87, -59, -59, -55, 22, + 36, -112, -113, 107, -111, -171, -176, -259, -95, -171, + -171, -59, -60, -60, -59, -59, 81, -254, 289, 290, + 409, -179, 184, -178, 23, -176, 87, -122, -259, -123, + 27, 10, 121, 81, 19, 81, -121, 25, 26, -122, + -96, -171, 88, 91, -70, 81, 12, -63, -84, -173, + 128, -177, -84, -141, 184, -84, 31, 81, -80, -82, + -81, -83, 62, 66, 68, 63, 64, 65, 69, -180, + 23, -71, -3, -258, -84, -78, -260, 81, 12, 73, + -260, 81, 143, -148, -150, 81, 288, 290, 291, 72, + 99, -69, -200, 136, -220, -221, -222, -172, 87, 88, + -208, -209, -210, -223, 170, -234, 161, 163, 164, 160, + -212, 171, -235, 155, 29, 82, -164, 96, 103, -204, + 261, -195, -195, -195, -195, -195, -199, 236, -199, -199, + -199, 80, 80, -195, -195, -195, -195, -201, 80, -201, + -201, -202, 80, -202, -235, 166, -69, -231, -230, -226, + -229, 165, 94, 319, 73, -224, -121, 88, -66, 201, + 111, 202, 204, 205, 24, -233, -229, -216, -242, 87, + -183, -246, 166, 162, 170, 171, 164, 83, 84, 85, + 155, 29, 161, 163, 184, 160, -246, -167, -168, 157, + 23, 155, 29, 184, -84, -84, -84, -84, -84, 151, + 148, 192, -84, -84, -84, -184, -160, -176, -176, -84, + -160, -84, 87, -84, -171, 96, 97, 98, -103, -95, + -95, -95, -58, 179, 102, -259, -259, -59, -59, -258, + 143, -5, -122, -259, -259, 81, 73, 23, 12, 12, + -259, 12, 12, -259, -259, -59, -115, -113, 109, -69, + -259, 143, -259, 81, 81, -259, -259, -259, -259, -259, + -253, 408, 290, -88, 70, 158, 71, -258, -178, -137, + 38, 46, 57, -69, -69, -120, -137, -152, 20, 12, + 53, 53, -89, 13, -61, -71, -63, 143, -89, -93, + 31, 53, -3, -258, -258, -144, -147, -111, -72, -73, + -73, -72, -73, 62, 62, 62, 67, 62, 67, 62, + -81, -176, -259, -259, -3, -141, 73, -71, -84, -71, + -86, -176, 128, -149, -151, 292, 289, 295, -242, 87, + 81, -222, 111, -211, 80, -242, 29, -212, -212, -212, + -215, -242, -215, 29, -197, 30, 96, -205, 262, -199, + -199, -200, 31, -200, -200, -200, -207, 87, -207, 88, + 88, 82, -232, -227, -228, 32, 76, -226, -216, 87, + 37, -171, 82, 156, 207, -68, 302, 87, 83, 72, + -242, 87, -183, -183, -84, -183, -171, -244, 73, 190, + 258, 190, 193, 157, -184, -156, -156, -58, 102, -95, + -95, -259, -259, -60, -172, -118, -137, -187, 137, 233, + 178, 231, 227, 247, 238, 260, 229, 261, -185, -187, + -95, -95, -95, -95, 316, -118, 110, -69, 108, -172, + -95, -95, 155, 155, 155, -142, -171, 39, 87, 87, + 58, -84, -116, 14, -69, 128, -122, -143, 72, -144, + -105, -107, -106, -258, -138, -259, -171, -142, -89, 81, + 111, -76, -75, 72, 73, -77, 72, -75, 62, 62, + -259, -89, -71, -89, -89, 143, 289, 293, 294, -221, + -222, -225, -234, 171, -215, -215, -215, 80, -198, 72, + -95, -200, -200, -242, 137, 82, 81, 82, 81, 82, + 81, -165, 354, 103, -228, -227, -216, -216, 88, -242, + -84, -65, 199, 206, 80, 84, -84, 27, -241, 319, + -243, -242, -171, -171, -171, -84, -160, -160, -95, -259, + -122, -259, -195, -195, -195, -202, -195, 221, -195, 221, + -259, -259, 20, 20, 20, 20, -258, -53, 312, -69, + 81, 81, -258, -258, -258, -259, 81, 87, -199, -117, + 15, 17, 28, -143, 81, -259, -259, 81, 53, 143, + -259, -118, -147, -69, -69, 80, -69, -118, -89, 82, + -139, -171, -203, 258, 10, -199, 87, -199, 88, 88, + 354, 30, 77, 78, 79, 30, 74, 75, -140, 80, + 82, -258, -240, -239, -172, 80, 73, -137, -199, -242, + -95, -95, -95, -95, -95, -122, 87, -95, -95, -139, + -259, -139, -139, -179, -171, -199, -125, -130, -158, -69, + -104, 29, -107, 53, -3, -171, -105, -171, -122, -139, + -122, -231, 82, 81, -206, 161, 29, 160, -98, -200, + -200, 82, 82, 23, -139, -236, -237, 184, 81, 111, + -139, -84, -259, -259, -259, -259, -54, 121, 319, -259, + -259, -259, -259, -259, -259, -88, -128, 404, -131, 42, + -132, 43, 10, -105, 143, 82, 173, -171, -196, 94, + 29, 29, -3, 82, -259, 81, -171, -239, -222, 82, + -259, 317, 69, 320, -125, 47, 239, -133, 51, -134, + -129, 52, 17, -144, -171, -84, 87, -47, 319, -237, + 53, -244, 58, 318, 321, -126, 49, -124, 48, -124, + -132, 17, -135, 44, 45, 87, 80, -48, 198, 408, + 186, -241, 58, -127, 50, 72, 99, 87, 17, 17, + -139, 166, 187, 319, 72, 99, 87, 87, 82, 200, + -258, 320, -249, -250, 72, -95, 183, 321, -250, 72, + 11, 10, -259, -259, -248, 174, 169, 172, 31, -248, + 168, 30, 96, } var yyDef = [...]int{ 32, -2, 2, 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, 671, 0, 410, 410, 410, 410, 410, 410, 410, + 31, 674, 0, 413, 413, 413, 413, 413, 413, 413, 0, 0, -2, -2, 0, 36, 0, 0, 0, 0, - -2, 368, 369, 0, 371, -2, 0, 0, 380, 1158, - 1158, 1158, 0, 0, 0, 0, 1156, 53, 54, 386, - 387, 388, 1, 3, 0, 414, 679, 0, 0, -2, - 412, 0, 0, 786, 786, 786, 0, 82, 83, 0, - 0, 0, 695, 784, 0, 784, 0, 804, 805, 806, + -2, 371, 372, 0, 374, -2, 0, 0, 383, 1162, + 1162, 1162, 0, 0, 0, 0, 1160, 53, 54, 389, + 390, 391, 1, 3, 0, 417, 682, 0, 0, -2, + 415, 0, 0, 789, 789, 789, 0, 82, 83, 0, + 0, 0, 698, 787, 0, 787, 0, 807, 808, 809, 101, 102, 86, -2, 106, 107, 0, 111, 100, 0, - 0, 0, 110, 37, 33, 34, 35, 0, 782, 0, - 782, 782, 0, 310, 494, 814, 815, 943, 944, 945, - 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, - 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, - 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, - 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, - 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, - 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, - 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, - 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, - 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, - 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, - 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, - 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, - 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, - 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, - 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, - 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, - 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, - 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, - 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, - 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, - 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, - 0, 0, 359, 359, 359, 359, 359, 359, 319, 0, - 0, 0, 0, 0, 0, 0, 334, 0, 336, 0, - 0, 343, 359, 1159, 365, 366, 353, 351, 348, 349, - 367, 370, 0, 375, 378, 810, 811, 0, 393, 0, - 997, 385, 398, 399, 409, 38, 545, 504, 0, 510, - 512, 0, 547, 548, 549, 550, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 577, 578, 579, - 580, 656, 657, 658, 659, 660, 661, 662, 663, 514, - 515, 653, 0, 763, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 644, 0, 614, 614, 614, 614, 614, - 614, 614, 614, 0, 0, 0, 0, 0, 0, 0, - -2, -2, 1158, 0, 408, 671, 49, 0, 410, 415, - 416, 714, 0, 0, 671, 1157, 0, 0, -2, -2, - 426, 432, 433, 434, 435, 411, 0, 438, 442, 0, - 0, 0, 787, 0, 0, 68, 0, 1129, 767, -2, - -2, 0, 0, 812, 813, -2, 959, -2, 818, 819, - 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, - 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, - 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, - 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, - 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, - 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, - 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, - 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, - 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, - 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, - 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, - 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, - 940, 941, 942, 0, 0, 118, 119, 0, 0, 240, - 961, 116, 0, 234, 175, 708, 0, 0, 0, 0, - 0, 88, 108, 109, 0, 217, 0, 1159, 0, 0, - 0, 0, -2, 0, 302, 0, 0, 0, 0, 0, - 0, 309, 0, 311, 359, 313, 0, 0, 314, 315, - 316, 317, 318, 359, 0, 359, 359, 359, 359, 356, - 0, 356, 354, 355, 346, 347, 1159, 1159, 1159, 1159, - 0, 1159, 1159, 0, 225, 226, 227, 362, 340, 341, - 344, 345, 1160, 1161, 376, 379, 396, 394, 395, 397, - 389, 390, 391, 392, 0, 0, 0, 0, 0, 0, - 508, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 532, 533, 534, 535, 536, 537, 538, 511, 0, 525, - 0, 0, 0, 567, 568, 569, 570, 571, 572, 573, - 574, 575, 0, 423, 0, 0, 0, 671, 0, 0, - 0, 0, 0, 0, 0, 420, 0, 645, 0, 598, - 606, 0, 599, 607, 600, 608, 601, 0, 602, 609, - 603, 610, 604, 605, 611, 0, 0, 0, 423, 423, - 0, 0, 39, 400, 401, 0, 477, 679, 0, 425, - 717, 0, 0, 680, 672, 673, 676, 679, 0, 447, - 436, 427, 430, 431, 413, 0, 439, 443, 0, 445, - 446, 0, 0, 66, 0, 493, 0, 449, 451, 452, - 453, 475, 0, 0, 0, 0, 62, 64, 494, 0, - 1129, 773, 0, 70, 71, 0, 0, 0, 198, 777, - 778, 779, 775, 257, 0, 0, 186, 182, 126, 127, - 128, 175, 130, 175, 175, 175, 175, 195, 195, 195, - 195, 158, 159, 160, 161, 162, 0, 0, 145, 175, - 175, 175, 175, 165, 166, 167, 168, 169, 170, 171, - 172, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 177, 177, 177, 179, 179, 0, 0, 209, 0, 676, - 0, 699, 0, 0, 97, 0, 807, 99, 217, 0, - 218, 1158, 0, 0, 798, 272, 788, 789, 790, 791, - 792, 793, 794, 795, 796, 797, 0, 271, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 305, 783, 0, - 1159, 308, 495, 816, 817, 312, 360, 361, 320, 337, - 321, 323, 322, 324, 359, 0, 0, 0, 228, 229, - 359, 327, 328, 329, 330, 331, 332, 333, 0, 339, - 0, 0, 0, 377, 381, 382, 383, 384, 546, 505, - 506, 507, 509, 526, 0, 528, 530, 516, 517, 541, - 542, 543, 0, 0, 0, 0, 539, 521, 0, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 566, 629, 630, 0, 564, 565, 576, 0, 0, - 0, 424, 654, 0, -2, 0, 544, 762, 679, 0, - 0, 0, 0, 549, 656, 0, 549, 656, 0, 0, - 0, 421, 422, 651, 648, 0, 0, 653, 0, 615, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, - 404, 406, 0, 497, 1066, 478, 0, 480, 481, 714, - 50, 40, 0, 715, 0, 0, 0, 0, 675, 677, - 678, 714, 0, 664, 0, 0, 502, 0, 0, 428, - 46, 444, 440, 0, 502, 0, 0, 492, 0, 0, - 0, 0, 0, 0, 482, 0, 0, 485, 0, 0, - 0, 0, 476, 0, 0, 0, -2, 0, 0, 0, - 60, 61, 0, 0, 0, 768, 69, 0, 0, 74, - 75, 769, 770, 771, 772, 0, 103, 258, 260, 263, - 264, 265, 120, 122, 123, 0, 0, 238, 1077, 1111, - 998, 232, 232, 996, 245, 230, 231, 117, 189, 187, - 0, 184, 183, 129, 195, 195, 152, 153, 198, 0, - 198, 198, 198, 0, 0, 146, 147, 148, 149, 140, - 0, 141, 142, 143, 0, 144, 239, 0, 0, 683, - 210, 211, 213, 217, 0, 0, 0, 235, 236, 0, - 0, 0, 0, 696, 697, 698, 785, 0, 808, 0, - 114, 115, 266, 1158, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 1158, 0, - 1158, 799, 800, 801, 802, 0, 89, 276, 278, 277, - 281, 0, 0, 0, 0, 303, 1159, 307, 325, 357, - 358, 356, 338, 356, 363, 342, 373, 527, 529, 531, - 518, 539, 522, 0, 519, 0, 0, 513, 581, 0, - 0, 423, 0, 671, 714, 585, 586, 0, 0, 0, - 0, 0, 622, 0, 0, 623, 0, 671, 0, 649, - 0, 0, 597, 0, 616, 0, 0, 617, 618, 619, - 620, 621, 402, 405, 407, 457, 0, 0, 0, 0, - 479, 42, 0, 0, 0, 681, 682, 674, 41, 0, - 780, 781, 665, 666, 667, 0, 437, 448, 429, 0, - 679, 756, 0, 0, 748, 0, 0, 502, 764, 0, - 450, 471, 473, 0, 468, 483, 484, 486, 0, 488, - 0, 490, 491, 454, 455, 456, 0, 502, 0, 502, - 63, 502, 65, 0, 496, 72, 73, 0, 0, 79, - 199, 200, 0, 261, 0, 121, 0, 0, 219, 232, - 232, 232, 223, 233, 224, 0, 191, 0, 188, 125, - 185, 198, 198, 154, 0, 155, 156, 157, 0, 173, - 0, 0, 0, 254, 84, 687, 686, 217, 217, 212, - 0, 215, 0, 809, 176, 0, 0, 709, 710, 0, - 713, 0, 112, 113, 267, 268, 269, 270, 0, 92, - 0, 0, 0, 0, 274, 0, 306, 359, 359, 520, - 0, 540, 523, 582, 583, 0, 655, 679, 44, 0, - 175, 175, 634, 175, 179, 637, 175, 639, 175, 642, - 0, 0, 0, 0, 0, 0, 0, 646, 596, 652, - 0, 654, 0, 0, 0, 0, 0, 0, 463, 0, - 195, 719, 716, 43, 669, 0, 503, 441, 47, 51, - 0, 756, 747, 758, 760, 0, 0, 0, 752, 0, - 671, 0, 0, 465, 472, 0, 0, 466, 0, 467, - 487, 489, -2, 671, 502, 58, 59, 0, 76, 77, - 78, 259, 262, 0, 237, 0, 220, 221, 222, 0, - 193, 0, 190, 150, 151, 196, 197, 195, 0, 195, - 0, 180, 0, 246, 255, 0, 684, 685, 0, 0, - 214, 216, 459, 700, 701, 702, 0, 712, 98, 0, - 275, 0, 90, 91, 0, 0, 280, 304, 326, 335, - 524, 584, 714, 587, 631, 195, 635, 636, 638, 640, - 641, 643, 589, 588, 0, 0, 0, 0, 0, 679, - 0, 650, 0, 0, 0, 0, 0, 477, 0, 195, - 739, 48, 0, 0, 0, 52, 0, 761, 0, 0, - 0, 0, 67, 679, 765, 766, 469, 0, 474, 679, - 57, 209, 0, 461, 201, 194, 0, 198, 174, 198, - 0, 0, 256, 688, 689, 690, 691, 692, 693, 694, - 0, 0, 711, 0, 93, 94, 0, 0, 0, 45, - 632, 633, 0, 0, 0, 0, 624, 0, 647, 0, - 0, 0, 499, 0, 0, 497, 464, 721, 720, 733, - 737, 670, 668, 0, 759, 0, 751, 754, 750, 753, - 55, 0, 56, 208, 0, 0, 206, 0, 203, 205, - 192, 163, 164, 178, 181, 0, 0, 0, 298, 0, - 0, 0, 0, 282, 590, 592, 591, 593, 0, 0, - 0, 595, 612, 613, 498, 500, 501, 458, 739, 0, - 732, 735, -2, 0, 0, 749, 0, 470, 0, 462, - 124, 0, 202, 204, 703, 460, 297, 0, 0, 95, - 96, 89, 594, 0, 0, 0, 726, 724, 724, 737, - 0, 741, 0, 746, 0, 757, 755, 0, 207, 85, - 705, 299, 0, 92, 625, 0, 628, 729, 0, 722, - 725, 723, 734, 0, 740, 0, 0, 738, 0, 0, - 706, 707, 0, 279, 626, 718, 0, 727, 728, 736, - 0, 0, 0, 0, 0, 0, 730, 731, 742, 744, - 241, 704, 0, 0, 242, 243, 0, 0, 0, 627, - 244, 0, 0, 0, 300, 301, 247, 249, 250, 0, - 0, 248, 251, 252, 253, + 0, 0, 110, 37, 33, 34, 35, 0, 785, 0, + 785, 785, 0, 310, 497, 817, 818, 946, 947, 948, + 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, + 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, + 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, + 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, + 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, + 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, + 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, + 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, + 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, + 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, + 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, + 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, + 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, + 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, + 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, + 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, + 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, + 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, + 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, + 1159, 0, 0, 362, 362, 362, 362, 362, 362, 0, + 320, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 339, 0, 0, 346, 362, 1163, 368, 369, 356, 354, + 351, 352, 370, 373, 0, 378, 381, 813, 814, 0, + 396, 0, 1000, 388, 401, 402, 412, 38, 548, 507, + 0, 513, 515, 0, 550, 551, 552, 553, 554, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 580, + 581, 582, 583, 659, 660, 661, 662, 663, 664, 665, + 666, 517, 518, 656, 0, 766, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 647, 0, 617, 617, 617, + 617, 617, 617, 617, 617, 0, 0, 0, 0, 0, + 0, 0, -2, -2, 1162, 0, 411, 674, 49, 0, + 413, 418, 419, 717, 0, 0, 674, 1161, 0, 0, + -2, -2, 429, 435, 436, 437, 438, 414, 0, 441, + 445, 0, 0, 0, 790, 0, 0, 68, 0, 1133, + 770, -2, -2, 0, 0, 815, 816, -2, 962, -2, + 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, + 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, + 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, + 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, + 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, + 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, + 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, + 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, + 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, + 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, + 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, + 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, + 941, 942, 943, 944, 945, 0, 0, 118, 119, 0, + 0, 240, 964, 116, 0, 234, 175, 711, 0, 0, + 0, 0, 0, 88, 108, 109, 0, 217, 0, 1163, + 0, 0, 0, 0, -2, 0, 302, 0, 0, 0, + 0, 0, 0, 309, 0, 311, 362, 313, 0, 0, + 314, 315, 316, 317, 318, 362, 0, 362, 0, 362, + 362, 362, 362, 359, 0, 359, 357, 358, 349, 350, + 1163, 1163, 0, 1163, 1163, 0, 1163, 1163, 0, 225, + 226, 227, 365, 343, 344, 347, 348, 1164, 1165, 379, + 382, 399, 397, 398, 400, 392, 393, 394, 395, 0, + 0, 0, 0, 0, 0, 511, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 537, 538, 539, + 540, 541, 514, 0, 528, 0, 0, 0, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 0, 426, 0, + 0, 0, 674, 0, 0, 0, 0, 0, 0, 0, + 423, 0, 648, 0, 601, 609, 0, 602, 610, 603, + 611, 604, 0, 605, 612, 606, 613, 607, 608, 614, + 0, 0, 0, 426, 426, 0, 0, 39, 403, 404, + 0, 480, 682, 0, 428, 720, 0, 0, 683, 675, + 676, 679, 682, 0, 450, 439, 430, 433, 434, 416, + 0, 442, 446, 0, 448, 449, 0, 0, 66, 0, + 496, 0, 452, 454, 455, 456, 478, 0, 0, 0, + 0, 62, 64, 497, 0, 1133, 776, 0, 70, 71, + 0, 0, 0, 198, 780, 781, 782, 778, 257, 0, + 0, 186, 182, 126, 127, 128, 175, 130, 175, 175, + 175, 175, 195, 195, 195, 195, 158, 159, 160, 161, + 162, 0, 0, 145, 175, 175, 175, 175, 165, 166, + 167, 168, 169, 170, 171, 172, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 177, 177, 177, 179, 179, + 0, 0, 209, 0, 679, 0, 702, 0, 0, 97, + 0, 810, 99, 217, 0, 218, 1162, 0, 0, 801, + 272, 791, 792, 793, 794, 795, 796, 797, 798, 799, + 800, 0, 271, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 305, 786, 0, 1163, 308, 498, 819, 820, + 312, 363, 364, 319, 337, 321, 340, 322, 324, 323, + 325, 362, 0, 0, 0, 228, 229, 362, 328, 329, + 330, 331, 332, 333, 334, 335, 0, 342, 0, 0, + 0, 380, 384, 385, 386, 387, 549, 508, 509, 510, + 512, 529, 0, 531, 533, 519, 520, 544, 545, 546, + 0, 0, 0, 0, 542, 524, 0, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 569, + 632, 633, 0, 567, 568, 579, 0, 0, 0, 427, + 657, 0, -2, 0, 547, 765, 682, 0, 0, 0, + 0, 552, 659, 0, 552, 659, 0, 0, 0, 424, + 425, 654, 651, 0, 0, 656, 0, 618, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 406, 407, 409, + 0, 500, 1070, 481, 0, 483, 484, 717, 50, 40, + 0, 718, 0, 0, 0, 0, 678, 680, 681, 717, + 0, 667, 0, 0, 505, 0, 0, 431, 46, 447, + 443, 0, 505, 0, 0, 495, 0, 0, 0, 0, + 0, 0, 485, 0, 0, 488, 0, 0, 0, 0, + 479, 0, 0, 0, -2, 0, 0, 0, 60, 61, + 0, 0, 0, 771, 69, 0, 0, 74, 75, 772, + 773, 774, 775, 0, 103, 258, 260, 263, 264, 265, + 120, 122, 123, 0, 0, 238, 1081, 1115, 1001, 232, + 232, 999, 245, 230, 231, 117, 189, 187, 0, 184, + 183, 129, 195, 195, 152, 153, 198, 0, 198, 198, + 198, 0, 0, 146, 147, 148, 149, 140, 0, 141, + 142, 143, 0, 144, 239, 0, 0, 686, 210, 211, + 213, 217, 0, 0, 0, 235, 236, 0, 0, 0, + 0, 699, 700, 701, 788, 0, 811, 0, 114, 115, + 266, 1162, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 1162, 0, 1162, 802, + 803, 804, 805, 0, 89, 276, 278, 277, 281, 0, + 0, 0, 0, 303, 1163, 307, 326, 360, 361, 359, + 341, 359, 366, 345, 376, 530, 532, 534, 521, 542, + 525, 0, 522, 0, 0, 516, 584, 0, 0, 426, + 0, 674, 717, 588, 589, 0, 0, 0, 0, 0, + 625, 0, 0, 626, 0, 674, 0, 652, 0, 0, + 600, 0, 619, 0, 0, 620, 621, 622, 623, 624, + 405, 408, 410, 460, 0, 0, 0, 0, 482, 42, + 0, 0, 0, 684, 685, 677, 41, 0, 783, 784, + 668, 669, 670, 0, 440, 451, 432, 0, 682, 759, + 0, 0, 751, 0, 0, 505, 767, 0, 453, 474, + 476, 0, 471, 486, 487, 489, 0, 491, 0, 493, + 494, 457, 458, 459, 0, 505, 0, 505, 63, 505, + 65, 0, 499, 72, 73, 0, 0, 79, 199, 200, + 0, 261, 0, 121, 0, 0, 219, 232, 232, 232, + 223, 233, 224, 0, 191, 0, 188, 125, 185, 198, + 198, 154, 0, 155, 156, 157, 0, 173, 0, 0, + 0, 254, 84, 690, 689, 217, 217, 212, 0, 215, + 0, 812, 176, 0, 0, 712, 713, 0, 716, 0, + 112, 113, 267, 268, 269, 270, 0, 92, 0, 0, + 0, 0, 274, 0, 306, 362, 362, 523, 0, 543, + 526, 585, 586, 0, 658, 682, 44, 0, 175, 175, + 637, 175, 179, 640, 175, 642, 175, 645, 0, 0, + 0, 0, 0, 0, 0, 649, 599, 655, 0, 657, + 0, 0, 0, 0, 0, 0, 466, 0, 195, 722, + 719, 43, 672, 0, 506, 444, 47, 51, 0, 759, + 750, 761, 763, 0, 0, 0, 755, 0, 674, 0, + 0, 468, 475, 0, 0, 469, 0, 470, 490, 492, + -2, 674, 505, 58, 59, 0, 76, 77, 78, 259, + 262, 0, 237, 0, 220, 221, 222, 0, 193, 0, + 190, 150, 151, 196, 197, 195, 0, 195, 0, 180, + 0, 246, 255, 0, 687, 688, 0, 0, 214, 216, + 462, 703, 704, 705, 0, 715, 98, 0, 275, 0, + 90, 91, 0, 0, 280, 304, 327, 338, 527, 587, + 717, 590, 634, 195, 638, 639, 641, 643, 644, 646, + 592, 591, 0, 0, 0, 0, 0, 682, 0, 653, + 0, 0, 0, 0, 0, 480, 0, 195, 742, 48, + 0, 0, 0, 52, 0, 764, 0, 0, 0, 0, + 67, 682, 768, 769, 472, 0, 477, 682, 57, 209, + 0, 464, 201, 194, 0, 198, 174, 198, 0, 0, + 256, 691, 692, 693, 694, 695, 696, 697, 0, 0, + 714, 0, 93, 94, 0, 0, 0, 45, 635, 636, + 0, 0, 0, 0, 627, 0, 650, 0, 0, 0, + 502, 0, 0, 500, 467, 724, 723, 736, 740, 673, + 671, 0, 762, 0, 754, 757, 753, 756, 55, 0, + 56, 208, 0, 0, 206, 0, 203, 205, 192, 163, + 164, 178, 181, 0, 0, 0, 298, 0, 0, 0, + 0, 282, 593, 595, 594, 596, 0, 0, 0, 598, + 615, 616, 501, 503, 504, 461, 742, 0, 735, 738, + -2, 0, 0, 752, 0, 473, 0, 465, 124, 0, + 202, 204, 706, 463, 297, 0, 0, 95, 96, 89, + 597, 0, 0, 0, 729, 727, 727, 740, 0, 744, + 0, 749, 0, 760, 758, 0, 207, 85, 708, 299, + 0, 92, 628, 0, 631, 732, 0, 725, 728, 726, + 737, 0, 743, 0, 0, 741, 0, 0, 709, 710, + 0, 279, 629, 721, 0, 730, 731, 739, 0, 0, + 0, 0, 0, 0, 733, 734, 745, 747, 241, 707, + 0, 0, 242, 243, 0, 0, 0, 630, 244, 0, + 0, 0, 300, 301, 247, 249, 250, 0, 0, 248, + 251, 252, 253, } var yyTok1 = [...]int{ @@ -3850,7 +3869,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 104, 3, 3, 3, 131, 123, 3, 80, 82, 128, 126, 81, 127, 143, 129, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 409, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 410, 112, 111, 113, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -3916,7 +3935,8 @@ var yyTok3 = [...]int{ 57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394, 57720, 395, 57721, 396, 57722, 397, 57723, 398, 57724, 399, 57725, 400, 57726, 401, 57727, 402, 57728, 403, 57729, 404, - 57730, 405, 57731, 406, 57732, 407, 57733, 408, 0, + 57730, 405, 57731, 406, 57732, 407, 57733, 408, 57734, 409, + 0, } var yyErrorMessages = [...]struct { @@ -6005,82 +6025,82 @@ yydefault: yyVAL.statement = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilter}} } case 319: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1835 { - yyVAL.statement = &Show{&ShowBasic{Command: Privilege}} + yyVAL.statement = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilter}} } case 320: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:1839 { - yyVAL.statement = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: Privilege}} } case 321: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1843 { - yyVAL.statement = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilter}} } case 322: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1847 { - yyVAL.statement = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilter}} } case 323: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1851 { - yyVAL.statement = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilter}} } case 324: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1855 { - yyVAL.statement = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilter}} } case 325: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1859 { - yyVAL.statement = &Show{&ShowTableStatus{DatabaseName: yyDollar[4].str, Filter: yyDollar[5].showFilter}} + yyVAL.statement = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilter}} } case 326: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] //line sql.y:1863 { - yyVAL.statement = &Show{&ShowColumns{Full: yyDollar[2].str, Table: yyDollar[5].tableName, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter}} + yyVAL.statement = &Show{&ShowTableStatus{DatabaseName: yyDollar[4].str, Filter: yyDollar[5].showFilter}} } case 327: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-7 : yypt+1] //line sql.y:1867 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowColumns{Full: yyDollar[2].str, Table: yyDollar[5].tableName, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter}} } case 328: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1871 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} } case 329: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1876 +//line sql.y:1875 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 330: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1880 +//line sql.y:1879 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } case 331: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1884 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} } case 332: yyDollar = yyS[yypt-4 : yypt+1] @@ -6092,36 +6112,54 @@ yydefault: yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1892 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } case 334: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1896 { - yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 335: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] //line sql.y:1900 { - showTablesOpt := &ShowTablesOpt{DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} - yyVAL.statement = &Show{&ShowLegacy{Extended: string(yyDollar[2].str), Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } case 336: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1905 +//line sql.y:1904 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } case 337: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1909 +//line sql.y:1908 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} } case 338: + yyDollar = yyS[yypt-7 : yypt+1] +//line sql.y:1912 + { + showTablesOpt := &ShowTablesOpt{DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter} + yyVAL.statement = &Show{&ShowLegacy{Extended: string(yyDollar[2].str), Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} + } + case 339: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:1917 + { + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} + } + case 340: + yyDollar = yyS[yypt-4 : yypt+1] +//line sql.y:1921 + { + yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Table: yyDollar[4].tableName, Scope: ImplicitScope}} + } + case 341: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1913 +//line sql.y:1925 { // this is ugly, but I couldn't find a better way for now if yyDollar[3].str == "processlist" { @@ -6131,902 +6169,902 @@ yydefault: yyVAL.statement = &Show{&ShowLegacy{Type: yyDollar[3].str, ShowTablesOpt: showTablesOpt, Scope: ImplicitScope}} } } - case 339: + case 342: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1923 +//line sql.y:1935 { showTablesOpt := &ShowTablesOpt{Filter: yyDollar[4].showFilter} yyVAL.statement = &Show{&ShowLegacy{Scope: VitessMetadataScope, Type: string(yyDollar[3].bytes), ShowTablesOpt: showTablesOpt}} } - case 340: + case 343: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1928 +//line sql.y:1940 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 341: + case 344: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1932 +//line sql.y:1944 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), Scope: ImplicitScope}} } - case 342: + case 345: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1936 +//line sql.y:1948 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes), OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} } - case 343: + case 346: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1940 +//line sql.y:1952 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].bytes), Scope: ImplicitScope}} } - case 344: + case 347: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1945 +//line sql.y:1957 { // This should probably be a different type (ShowVitessTopoOpt), but // just getting the thing working for now showTablesOpt := &ShowTablesOpt{Filter: yyDollar[3].showFilter} yyVAL.statement = &Show{&ShowLegacy{Type: yyDollar[2].str, ShowTablesOpt: showTablesOpt}} } - case 345: + case 348: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1959 +//line sql.y:1971 { yyVAL.statement = &Show{&ShowLegacy{Type: string(yyDollar[2].colIdent.String()), Scope: ImplicitScope}} } - case 346: + case 349: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1965 +//line sql.y:1977 { yyVAL.str = string(yyDollar[1].bytes) } - case 347: + case 350: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1969 +//line sql.y:1981 { yyVAL.str = string(yyDollar[1].bytes) } - case 348: + case 351: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1975 +//line sql.y:1987 { yyVAL.str = string(yyDollar[1].bytes) } - case 349: + case 352: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1979 +//line sql.y:1991 { yyVAL.str = string(yyDollar[1].bytes) } - case 350: + case 353: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1985 +//line sql.y:1997 { yyVAL.str = "" } - case 351: + case 354: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1989 +//line sql.y:2001 { yyVAL.str = "extended " } - case 352: + case 355: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1995 +//line sql.y:2007 { yyVAL.str = "" } - case 353: + case 356: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1999 +//line sql.y:2011 { yyVAL.str = "full " } - case 354: + case 357: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2005 +//line sql.y:2017 { yyVAL.str = string(yyDollar[1].bytes) } - case 355: + case 358: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2009 +//line sql.y:2021 { yyVAL.str = string(yyDollar[1].bytes) } - case 356: + case 359: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2015 +//line sql.y:2027 { yyVAL.str = "" } - case 357: + case 360: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2019 +//line sql.y:2031 { yyVAL.str = yyDollar[2].tableIdent.v } - case 358: + case 361: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2023 +//line sql.y:2035 { yyVAL.str = yyDollar[2].tableIdent.v } - case 359: + case 362: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2029 +//line sql.y:2041 { yyVAL.showFilter = nil } - case 360: + case 363: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2033 +//line sql.y:2045 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 361: + case 364: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2037 +//line sql.y:2049 { yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr} } - case 362: + case 365: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2043 +//line sql.y:2055 { yyVAL.showFilter = nil } - case 363: + case 366: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2047 +//line sql.y:2059 { yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)} } - case 364: + case 367: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2053 +//line sql.y:2065 { yyVAL.empty = struct{}{} } - case 365: + case 368: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2057 +//line sql.y:2069 { yyVAL.empty = struct{}{} } - case 366: + case 369: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2061 +//line sql.y:2073 { yyVAL.empty = struct{}{} } - case 367: + case 370: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2067 +//line sql.y:2079 { yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent} } - case 368: + case 371: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2071 +//line sql.y:2083 { yyVAL.statement = &Use{DBName: TableIdent{v: ""}} } - case 369: + case 372: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2077 +//line sql.y:2089 { yyVAL.statement = &Begin{} } - case 370: + case 373: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2081 +//line sql.y:2093 { yyVAL.statement = &Begin{} } - case 371: + case 374: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2087 +//line sql.y:2099 { yyVAL.statement = &Commit{} } - case 372: + case 375: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2093 +//line sql.y:2105 { yyVAL.statement = &Rollback{} } - case 373: + case 376: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2097 +//line sql.y:2109 { yyVAL.statement = &SRollback{Name: yyDollar[5].colIdent} } - case 374: + case 377: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2102 +//line sql.y:2114 { yyVAL.empty = struct{}{} } - case 375: + case 378: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2104 +//line sql.y:2116 { yyVAL.empty = struct{}{} } - case 376: + case 379: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2107 +//line sql.y:2119 { yyVAL.empty = struct{}{} } - case 377: + case 380: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2109 +//line sql.y:2121 { yyVAL.empty = struct{}{} } - case 378: + case 381: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2114 +//line sql.y:2126 { yyVAL.statement = &Savepoint{Name: yyDollar[2].colIdent} } - case 379: + case 382: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2120 +//line sql.y:2132 { yyVAL.statement = &Release{Name: yyDollar[3].colIdent} } - case 380: + case 383: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2125 +//line sql.y:2137 { yyVAL.explainType = EmptyType } - case 381: + case 384: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2129 +//line sql.y:2141 { yyVAL.explainType = JSONType } - case 382: + case 385: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2133 +//line sql.y:2145 { yyVAL.explainType = TreeType } - case 383: + case 386: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2137 +//line sql.y:2149 { yyVAL.explainType = VitessType } - case 384: + case 387: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2141 +//line sql.y:2153 { yyVAL.explainType = TraditionalType } - case 385: + case 388: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2145 +//line sql.y:2157 { yyVAL.explainType = AnalyzeType } - case 386: + case 389: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2151 +//line sql.y:2163 { yyVAL.bytes = yyDollar[1].bytes } - case 387: + case 390: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2155 +//line sql.y:2167 { yyVAL.bytes = yyDollar[1].bytes } - case 388: + case 391: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2159 +//line sql.y:2171 { yyVAL.bytes = yyDollar[1].bytes } - case 389: + case 392: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2165 +//line sql.y:2177 { yyVAL.statement = yyDollar[1].selStmt } - case 390: + case 393: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2169 +//line sql.y:2181 { yyVAL.statement = yyDollar[1].statement } - case 391: + case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2173 +//line sql.y:2185 { yyVAL.statement = yyDollar[1].statement } - case 392: + case 395: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2177 +//line sql.y:2189 { yyVAL.statement = yyDollar[1].statement } - case 393: + case 396: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2182 +//line sql.y:2194 { yyVAL.str = "" } - case 394: + case 397: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2186 +//line sql.y:2198 { yyVAL.str = "" } - case 395: + case 398: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2190 +//line sql.y:2202 { yyVAL.str = "" } - case 396: + case 399: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2196 +//line sql.y:2208 { yyVAL.statement = &OtherRead{} } - case 397: + case 400: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2200 +//line sql.y:2212 { yyVAL.statement = &Explain{Type: yyDollar[2].explainType, Statement: yyDollar[3].statement} } - case 398: + case 401: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2206 +//line sql.y:2218 { yyVAL.statement = &OtherAdmin{} } - case 399: + case 402: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2210 +//line sql.y:2222 { yyVAL.statement = &OtherAdmin{} } - case 400: + case 403: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2216 +//line sql.y:2228 { yyVAL.statement = &LockTables{Tables: yyDollar[3].tableAndLockTypes} } - case 401: + case 404: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2222 +//line sql.y:2234 { yyVAL.tableAndLockTypes = TableAndLockTypes{yyDollar[1].tableAndLockType} } - case 402: + case 405: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2226 +//line sql.y:2238 { yyVAL.tableAndLockTypes = append(yyDollar[1].tableAndLockTypes, yyDollar[3].tableAndLockType) } - case 403: + case 406: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2232 +//line sql.y:2244 { yyVAL.tableAndLockType = &TableAndLockType{Table: yyDollar[1].aliasedTableName, Lock: yyDollar[2].lockType} } - case 404: + case 407: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2238 +//line sql.y:2250 { yyVAL.lockType = Read } - case 405: + case 408: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2242 +//line sql.y:2254 { yyVAL.lockType = ReadLocal } - case 406: + case 409: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2246 +//line sql.y:2258 { yyVAL.lockType = Write } - case 407: + case 410: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2250 +//line sql.y:2262 { yyVAL.lockType = LowPriorityWrite } - case 408: + case 411: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2256 +//line sql.y:2268 { yyVAL.statement = &UnlockTables{} } - case 409: + case 412: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2262 +//line sql.y:2274 { yyVAL.statement = &DDL{Action: FlushDDLAction} } - case 410: + case 413: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2266 +//line sql.y:2278 { setAllowComments(yylex, true) } - case 411: + case 414: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2270 +//line sql.y:2282 { yyVAL.bytes2 = yyDollar[2].bytes2 setAllowComments(yylex, false) } - case 412: + case 415: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2276 +//line sql.y:2288 { yyVAL.bytes2 = nil } - case 413: + case 416: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2280 +//line sql.y:2292 { yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes) } - case 414: + case 417: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2286 +//line sql.y:2298 { yyVAL.boolean = true } - case 415: + case 418: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2290 +//line sql.y:2302 { yyVAL.boolean = false } - case 416: + case 419: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2294 +//line sql.y:2306 { yyVAL.boolean = true } - case 417: + case 420: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2299 +//line sql.y:2311 { yyVAL.str = "" } - case 418: + case 421: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2303 +//line sql.y:2315 { yyVAL.str = SQLNoCacheStr } - case 419: + case 422: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2307 +//line sql.y:2319 { yyVAL.str = SQLCacheStr } - case 420: + case 423: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2312 +//line sql.y:2324 { yyVAL.boolean = false } - case 421: + case 424: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2316 +//line sql.y:2328 { yyVAL.boolean = true } - case 422: + case 425: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2320 +//line sql.y:2332 { yyVAL.boolean = true } - case 423: + case 426: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2325 +//line sql.y:2337 { yyVAL.selectExprs = nil } - case 424: + case 427: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2329 +//line sql.y:2341 { yyVAL.selectExprs = yyDollar[1].selectExprs } - case 425: + case 428: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2334 +//line sql.y:2346 { yyVAL.strs = nil } - case 426: + case 429: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2338 +//line sql.y:2350 { yyVAL.strs = []string{yyDollar[1].str} } - case 427: + case 430: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2342 +//line sql.y:2354 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } - case 428: + case 431: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2346 +//line sql.y:2358 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } - case 429: + case 432: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2350 +//line sql.y:2362 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } - case 430: + case 433: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2356 +//line sql.y:2368 { yyVAL.str = SQLNoCacheStr } - case 431: + case 434: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2360 +//line sql.y:2372 { yyVAL.str = SQLCacheStr } - case 432: + case 435: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2364 +//line sql.y:2376 { yyVAL.str = DistinctStr } - case 433: + case 436: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2368 +//line sql.y:2380 { yyVAL.str = DistinctStr } - case 434: + case 437: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2372 +//line sql.y:2384 { yyVAL.str = StraightJoinHint } - case 435: + case 438: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2376 +//line sql.y:2388 { yyVAL.str = SQLCalcFoundRowsStr } - case 436: + case 439: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2382 +//line sql.y:2394 { yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr} } - case 437: + case 440: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2386 +//line sql.y:2398 { yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[3].selectExpr) } - case 438: + case 441: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2392 +//line sql.y:2404 { yyVAL.selectExpr = &StarExpr{} } - case 439: + case 442: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2396 +//line sql.y:2408 { yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent} } - case 440: + case 443: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2400 +//line sql.y:2412 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } - case 441: + case 444: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2404 +//line sql.y:2416 { yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } - case 442: + case 445: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2409 +//line sql.y:2421 { yyVAL.colIdent = ColIdent{} } - case 443: + case 446: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2413 +//line sql.y:2425 { yyVAL.colIdent = yyDollar[1].colIdent } - case 444: + case 447: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2417 +//line sql.y:2429 { yyVAL.colIdent = yyDollar[2].colIdent } - case 446: + case 449: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2424 +//line sql.y:2436 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 447: + case 450: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2429 +//line sql.y:2441 { yyVAL.tableExprs = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } - case 448: + case 451: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2433 +//line sql.y:2445 { yyVAL.tableExprs = yyDollar[2].tableExprs } - case 449: + case 452: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2439 +//line sql.y:2451 { yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr} } - case 450: + case 453: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2443 +//line sql.y:2455 { yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr) } - case 453: + case 456: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2453 +//line sql.y:2465 { yyVAL.tableExpr = yyDollar[1].aliasedTableName } - case 454: + case 457: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2457 +//line sql.y:2469 { yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].derivedTable, As: yyDollar[3].tableIdent} } - case 455: + case 458: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2461 +//line sql.y:2473 { yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs} } - case 456: + case 459: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2467 +//line sql.y:2479 { yyVAL.derivedTable = &DerivedTable{yyDollar[2].selStmt} } - case 457: + case 460: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2473 +//line sql.y:2485 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints} } - case 458: + case 461: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:2477 +//line sql.y:2489 { yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitions, As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHints} } - case 459: + case 462: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2482 +//line sql.y:2494 { yyVAL.columns = nil } - case 460: + case 463: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2486 +//line sql.y:2498 { yyVAL.columns = yyDollar[2].columns } - case 461: + case 464: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2492 +//line sql.y:2504 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 462: + case 465: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2496 +//line sql.y:2508 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 463: + case 466: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2502 +//line sql.y:2514 { yyVAL.partitions = Partitions{yyDollar[1].colIdent} } - case 464: + case 467: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2506 +//line sql.y:2518 { yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent) } - case 465: + case 468: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2519 +//line sql.y:2531 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 466: + case 469: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2523 +//line sql.y:2535 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 467: + case 470: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2527 +//line sql.y:2539 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition} } - case 468: + case 471: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2531 +//line sql.y:2543 { yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].joinType, RightExpr: yyDollar[3].tableExpr} } - case 469: + case 472: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2537 +//line sql.y:2549 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 470: + case 473: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2539 +//line sql.y:2551 { yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns} } - case 471: + case 474: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2543 +//line sql.y:2555 { yyVAL.joinCondition = JoinCondition{} } - case 472: + case 475: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2545 +//line sql.y:2557 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 473: + case 476: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2549 +//line sql.y:2561 { yyVAL.joinCondition = JoinCondition{} } - case 474: + case 477: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2551 +//line sql.y:2563 { yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr} } - case 475: + case 478: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2554 +//line sql.y:2566 { yyVAL.empty = struct{}{} } - case 476: + case 479: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2556 +//line sql.y:2568 { yyVAL.empty = struct{}{} } - case 477: + case 480: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2559 +//line sql.y:2571 { yyVAL.tableIdent = NewTableIdent("") } - case 478: + case 481: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2563 +//line sql.y:2575 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 479: + case 482: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2567 +//line sql.y:2579 { yyVAL.tableIdent = yyDollar[2].tableIdent } - case 481: + case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2574 +//line sql.y:2586 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 482: + case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2580 +//line sql.y:2592 { yyVAL.joinType = NormalJoinType } - case 483: + case 486: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2584 +//line sql.y:2596 { yyVAL.joinType = NormalJoinType } - case 484: + case 487: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2588 +//line sql.y:2600 { yyVAL.joinType = NormalJoinType } - case 485: + case 488: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2594 +//line sql.y:2606 { yyVAL.joinType = StraightJoinType } - case 486: + case 489: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2600 +//line sql.y:2612 { yyVAL.joinType = LeftJoinType } - case 487: + case 490: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2604 +//line sql.y:2616 { yyVAL.joinType = LeftJoinType } - case 488: + case 491: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2608 +//line sql.y:2620 { yyVAL.joinType = RightJoinType } - case 489: + case 492: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2612 +//line sql.y:2624 { yyVAL.joinType = RightJoinType } - case 490: + case 493: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2618 +//line sql.y:2630 { yyVAL.joinType = NaturalJoinType } - case 491: + case 494: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2622 +//line sql.y:2634 { if yyDollar[2].joinType == LeftJoinType { yyVAL.joinType = NaturalLeftJoinType @@ -7034,354 +7072,336 @@ yydefault: yyVAL.joinType = NaturalRightJoinType } } - case 492: + case 495: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2632 +//line sql.y:2644 { yyVAL.tableName = yyDollar[2].tableName } - case 493: + case 496: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2636 +//line sql.y:2648 { yyVAL.tableName = yyDollar[1].tableName } - case 494: + case 497: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2642 +//line sql.y:2654 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 495: + case 498: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2646 +//line sql.y:2658 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 496: + case 499: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2652 +//line sql.y:2664 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 497: + case 500: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2657 +//line sql.y:2669 { yyVAL.indexHints = nil } - case 498: + case 501: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2661 +//line sql.y:2673 { yyVAL.indexHints = &IndexHints{Type: UseOp, Indexes: yyDollar[4].columns} } - case 499: + case 502: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2665 +//line sql.y:2677 { yyVAL.indexHints = &IndexHints{Type: UseOp} } - case 500: + case 503: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2669 +//line sql.y:2681 { yyVAL.indexHints = &IndexHints{Type: IgnoreOp, Indexes: yyDollar[4].columns} } - case 501: + case 504: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2673 +//line sql.y:2685 { yyVAL.indexHints = &IndexHints{Type: ForceOp, Indexes: yyDollar[4].columns} } - case 502: + case 505: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2678 +//line sql.y:2690 { yyVAL.expr = nil } - case 503: + case 506: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2682 +//line sql.y:2694 { yyVAL.expr = yyDollar[2].expr } - case 504: + case 507: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2688 +//line sql.y:2700 { yyVAL.expr = yyDollar[1].expr } - case 505: + case 508: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2692 +//line sql.y:2704 { yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 506: + case 509: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2696 +//line sql.y:2708 { yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 507: + case 510: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2700 +//line sql.y:2712 { yyVAL.expr = &XorExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr} } - case 508: + case 511: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2704 +//line sql.y:2716 { yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr} } - case 509: + case 512: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2708 +//line sql.y:2720 { yyVAL.expr = &IsExpr{Operator: yyDollar[3].isExprOperator, Expr: yyDollar[1].expr} } - case 510: + case 513: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2712 +//line sql.y:2724 { yyVAL.expr = yyDollar[1].expr } - case 511: + case 514: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2716 +//line sql.y:2728 { yyVAL.expr = &Default{ColName: yyDollar[2].str} } - case 512: + case 515: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2722 +//line sql.y:2734 { yyVAL.str = "" } - case 513: + case 516: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2726 +//line sql.y:2738 { yyVAL.str = string(yyDollar[2].colIdent.String()) } - case 514: + case 517: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2732 +//line sql.y:2744 { yyVAL.boolVal = BoolVal(true) } - case 515: + case 518: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2736 +//line sql.y:2748 { yyVAL.boolVal = BoolVal(false) } - case 516: + case 519: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2742 +//line sql.y:2754 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].comparisonExprOperator, Right: yyDollar[3].expr} } - case 517: + case 520: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2746 +//line sql.y:2758 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InOp, Right: yyDollar[3].colTuple} } - case 518: + case 521: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2750 +//line sql.y:2762 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInOp, Right: yyDollar[4].colTuple} } - case 519: + case 522: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2754 +//line sql.y:2766 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeOp, Right: yyDollar[3].expr, Escape: yyDollar[4].expr} } - case 520: + case 523: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2758 +//line sql.y:2770 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeOp, Right: yyDollar[4].expr, Escape: yyDollar[5].expr} } - case 521: + case 524: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2762 +//line sql.y:2774 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpOp, Right: yyDollar[3].expr} } - case 522: + case 525: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:2766 +//line sql.y:2778 { yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpOp, Right: yyDollar[4].expr} } - case 523: + case 526: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2770 +//line sql.y:2782 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenOp, From: yyDollar[3].expr, To: yyDollar[5].expr} } - case 524: + case 527: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:2774 +//line sql.y:2786 { yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenOp, From: yyDollar[4].expr, To: yyDollar[6].expr} } - case 525: + case 528: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2778 +//line sql.y:2790 { yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery} } - case 526: + case 529: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2784 +//line sql.y:2796 { yyVAL.isExprOperator = IsNullOp } - case 527: + case 530: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2788 +//line sql.y:2800 { yyVAL.isExprOperator = IsNotNullOp } - case 528: + case 531: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2792 +//line sql.y:2804 { yyVAL.isExprOperator = IsTrueOp } - case 529: + case 532: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2796 +//line sql.y:2808 { yyVAL.isExprOperator = IsNotTrueOp } - case 530: + case 533: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2800 +//line sql.y:2812 { yyVAL.isExprOperator = IsFalseOp } - case 531: + case 534: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2804 +//line sql.y:2816 { yyVAL.isExprOperator = IsNotFalseOp } - case 532: + case 535: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2810 +//line sql.y:2822 { yyVAL.comparisonExprOperator = EqualOp } - case 533: + case 536: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2814 +//line sql.y:2826 { yyVAL.comparisonExprOperator = LessThanOp } - case 534: + case 537: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2818 +//line sql.y:2830 { yyVAL.comparisonExprOperator = GreaterThanOp } - case 535: + case 538: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2822 +//line sql.y:2834 { yyVAL.comparisonExprOperator = LessEqualOp } - case 536: + case 539: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2826 +//line sql.y:2838 { yyVAL.comparisonExprOperator = GreaterEqualOp } - case 537: + case 540: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2830 +//line sql.y:2842 { yyVAL.comparisonExprOperator = NotEqualOp } - case 538: + case 541: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2834 +//line sql.y:2846 { yyVAL.comparisonExprOperator = NullSafeEqualOp } - case 539: + case 542: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2839 +//line sql.y:2851 { yyVAL.expr = nil } - case 540: + case 543: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2843 +//line sql.y:2855 { yyVAL.expr = yyDollar[2].expr } - case 541: + case 544: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2849 +//line sql.y:2861 { yyVAL.colTuple = yyDollar[1].valTuple } - case 542: + case 545: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2853 +//line sql.y:2865 { yyVAL.colTuple = yyDollar[1].subquery } - case 543: + case 546: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2857 +//line sql.y:2869 { yyVAL.colTuple = ListArg(yyDollar[1].bytes) } - case 544: + case 547: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2863 +//line sql.y:2875 { yyVAL.subquery = &Subquery{yyDollar[2].selStmt} } - case 545: + case 548: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2869 +//line sql.y:2881 { yyVAL.exprs = Exprs{yyDollar[1].expr} } - case 546: + case 549: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2873 +//line sql.y:2885 { yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr) } - case 547: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2879 - { - yyVAL.expr = yyDollar[1].expr - } - case 548: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2883 - { - yyVAL.expr = yyDollar[1].boolVal - } - case 549: - yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2887 - { - yyVAL.expr = yyDollar[1].colName - } case 550: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2891 @@ -7392,131 +7412,149 @@ yydefault: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2895 { - yyVAL.expr = yyDollar[1].subquery + yyVAL.expr = yyDollar[1].boolVal } case 552: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2899 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndOp, Right: yyDollar[3].expr} + yyVAL.expr = yyDollar[1].colName } case 553: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2903 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrOp, Right: yyDollar[3].expr} + yyVAL.expr = yyDollar[1].expr } case 554: - yyDollar = yyS[yypt-3 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:2907 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorOp, Right: yyDollar[3].expr} + yyVAL.expr = yyDollar[1].subquery } case 555: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2911 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndOp, Right: yyDollar[3].expr} } case 556: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2915 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrOp, Right: yyDollar[3].expr} } case 557: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2919 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorOp, Right: yyDollar[3].expr} } case 558: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2923 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusOp, Right: yyDollar[3].expr} } case 559: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2927 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusOp, Right: yyDollar[3].expr} } case 560: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2931 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultOp, Right: yyDollar[3].expr} } case 561: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2935 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivOp, Right: yyDollar[3].expr} } case 562: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2939 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivOp, Right: yyDollar[3].expr} } case 563: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2943 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} } case 564: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2947 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModOp, Right: yyDollar[3].expr} } case 565: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2951 { - yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftOp, Right: yyDollar[3].expr} } case 566: yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2955 { - yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightOp, Right: yyDollar[3].expr} } case 567: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2959 { - yyVAL.expr = &UnaryExpr{Operator: BinaryOp, Expr: yyDollar[2].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr} } case 568: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2963 { - yyVAL.expr = &UnaryExpr{Operator: UBinaryOp, Expr: yyDollar[2].expr} + yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr} } case 569: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-3 : yypt+1] //line sql.y:2967 { - yyVAL.expr = &UnaryExpr{Operator: Utf8Op, Expr: yyDollar[2].expr} + yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str} } case 570: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2971 { - yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Op, Expr: yyDollar[2].expr} + yyVAL.expr = &UnaryExpr{Operator: BinaryOp, Expr: yyDollar[2].expr} } case 571: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2975 { - yyVAL.expr = &UnaryExpr{Operator: Latin1Op, Expr: yyDollar[2].expr} + yyVAL.expr = &UnaryExpr{Operator: UBinaryOp, Expr: yyDollar[2].expr} } case 572: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2979 + { + yyVAL.expr = &UnaryExpr{Operator: Utf8Op, Expr: yyDollar[2].expr} + } + case 573: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2983 + { + yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Op, Expr: yyDollar[2].expr} + } + case 574: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2987 + { + yyVAL.expr = &UnaryExpr{Operator: Latin1Op, Expr: yyDollar[2].expr} + } + case 575: + yyDollar = yyS[yypt-2 : yypt+1] +//line sql.y:2991 { if num, ok := yyDollar[2].expr.(*Literal); ok && num.Type == IntVal { yyVAL.expr = num @@ -7524,9 +7562,9 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UPlusOp, Expr: yyDollar[2].expr} } } - case 573: + case 576: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2987 +//line sql.y:2999 { if num, ok := yyDollar[2].expr.(*Literal); ok && num.Type == IntVal { // Handle double negative @@ -7540,21 +7578,21 @@ yydefault: yyVAL.expr = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].expr} } } - case 574: + case 577: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3001 +//line sql.y:3013 { yyVAL.expr = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].expr} } - case 575: + case 578: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3005 +//line sql.y:3017 { yyVAL.expr = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].expr} } - case 576: + case 579: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3009 +//line sql.y:3021 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -7562,497 +7600,497 @@ yydefault: // will be non-trivial because of grammar conflicts. yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()} } - case 581: + case 584: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3027 +//line sql.y:3039 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprs} } - case 582: + case 585: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3031 +//line sql.y:3043 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } - case 583: + case 586: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3035 +//line sql.y:3047 { yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs} } - case 584: + case 587: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3039 +//line sql.y:3051 { yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs} } - case 585: + case 588: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3049 +//line sql.y:3061 { yyVAL.expr = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprs} } - case 586: + case 589: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3053 +//line sql.y:3065 { yyVAL.expr = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprs} } - case 587: + case 590: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3057 +//line sql.y:3069 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 588: + case 591: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3061 +//line sql.y:3073 { yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType} } - case 589: + case 592: yyDollar = yyS[yypt-6 : yypt+1] -//line sql.y:3065 +//line sql.y:3077 { yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str} } - case 590: + case 593: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3069 +//line sql.y:3081 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 591: + case 594: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3073 +//line sql.y:3085 { yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 592: + case 595: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3077 +//line sql.y:3089 { yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 593: + case 596: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3081 +//line sql.y:3093 { yyVAL.expr = &SubstrExpr{StrVal: NewStrLiteral(yyDollar[3].bytes), From: yyDollar[5].expr, To: yyDollar[7].expr} } - case 594: + case 597: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:3085 +//line sql.y:3097 { yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].matchExprOption} } - case 595: + case 598: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3089 +//line sql.y:3101 { yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].boolean, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str, Limit: yyDollar[7].limit} } - case 596: + case 599: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3093 +//line sql.y:3105 { yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr} } - case 597: + case 600: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3097 +//line sql.y:3109 { yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName} } - case 598: + case 601: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3107 +//line sql.y:3119 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")} } - case 599: + case 602: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3111 +//line sql.y:3123 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")} } - case 600: + case 603: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3115 +//line sql.y:3127 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")} } - case 601: + case 604: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3120 +//line sql.y:3132 { yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")} } - case 602: + case 605: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3125 +//line sql.y:3137 { yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")} } - case 603: + case 606: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3130 +//line sql.y:3142 { yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")} } - case 604: + case 607: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3136 +//line sql.y:3148 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")} } - case 605: + case 608: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3141 +//line sql.y:3153 { yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")} } - case 606: + case 609: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3146 +//line sql.y:3158 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].expr} } - case 607: + case 610: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3150 +//line sql.y:3162 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].expr} } - case 608: + case 611: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3154 +//line sql.y:3166 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].expr} } - case 609: + case 612: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3159 +//line sql.y:3171 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].expr} } - case 610: + case 613: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3164 +//line sql.y:3176 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].expr} } - case 611: + case 614: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3169 +//line sql.y:3181 { yyVAL.expr = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].expr} } - case 612: + case 615: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3173 +//line sql.y:3185 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 613: + case 616: yyDollar = yyS[yypt-8 : yypt+1] -//line sql.y:3177 +//line sql.y:3189 { yyVAL.expr = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].expr, Expr2: yyDollar[7].expr} } - case 616: + case 619: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3187 +//line sql.y:3199 { yyVAL.expr = yyDollar[2].expr } - case 617: + case 620: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3197 +//line sql.y:3209 { yyVAL.expr = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprs} } - case 618: + case 621: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3201 +//line sql.y:3213 { yyVAL.expr = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprs} } - case 619: + case 622: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3205 +//line sql.y:3217 { yyVAL.expr = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprs} } - case 620: + case 623: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3209 +//line sql.y:3221 { yyVAL.expr = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprs} } - case 621: + case 624: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3213 +//line sql.y:3225 { yyVAL.expr = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprs} } - case 622: + case 625: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3217 +//line sql.y:3229 { yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } - case 623: + case 626: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3221 +//line sql.y:3233 { yyVAL.expr = &FuncExpr{Name: NewColIdent("substr"), Exprs: yyDollar[3].selectExprs} } - case 624: + case 627: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3227 +//line sql.y:3239 { yyVAL.matchExprOption = NoOption } - case 625: + case 628: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3231 +//line sql.y:3243 { yyVAL.matchExprOption = BooleanModeOpt } - case 626: + case 629: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3235 +//line sql.y:3247 { yyVAL.matchExprOption = NaturalLanguageModeOpt } - case 627: + case 630: yyDollar = yyS[yypt-7 : yypt+1] -//line sql.y:3239 +//line sql.y:3251 { yyVAL.matchExprOption = NaturalLanguageModeWithQueryExpansionOpt } - case 628: + case 631: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3243 +//line sql.y:3255 { yyVAL.matchExprOption = QueryExpansionOpt } - case 629: + case 632: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3249 +//line sql.y:3261 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 630: + case 633: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3253 +//line sql.y:3265 { yyVAL.str = string(yyDollar[1].bytes) } - case 631: + case 634: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3259 +//line sql.y:3271 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 632: + case 635: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3263 +//line sql.y:3275 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: yyDollar[3].str, Operator: CharacterSetOp} } - case 633: + case 636: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3267 +//line sql.y:3279 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal, Charset: string(yyDollar[3].colIdent.String())} } - case 634: + case 637: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3271 +//line sql.y:3283 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 635: + case 638: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3275 +//line sql.y:3287 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 636: + case 639: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3279 +//line sql.y:3291 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale } - case 637: + case 640: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3285 +//line sql.y:3297 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 638: + case 641: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3289 +//line sql.y:3301 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 639: + case 642: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3293 +//line sql.y:3305 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 640: + case 643: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3297 +//line sql.y:3309 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 641: + case 644: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3301 +//line sql.y:3313 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].literal} } - case 642: + case 645: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3305 +//line sql.y:3317 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 643: + case 646: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3309 +//line sql.y:3321 { yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)} } - case 644: + case 647: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3314 +//line sql.y:3326 { yyVAL.expr = nil } - case 645: + case 648: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3318 +//line sql.y:3330 { yyVAL.expr = yyDollar[1].expr } - case 646: + case 649: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3323 +//line sql.y:3335 { yyVAL.str = string("") } - case 647: + case 650: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3327 +//line sql.y:3339 { yyVAL.str = " separator '" + string(yyDollar[2].bytes) + "'" } - case 648: + case 651: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3333 +//line sql.y:3345 { yyVAL.whens = []*When{yyDollar[1].when} } - case 649: + case 652: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3337 +//line sql.y:3349 { yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when) } - case 650: + case 653: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3343 +//line sql.y:3355 { yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr} } - case 651: + case 654: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3348 +//line sql.y:3360 { yyVAL.expr = nil } - case 652: + case 655: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3352 +//line sql.y:3364 { yyVAL.expr = yyDollar[2].expr } - case 653: + case 656: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3358 +//line sql.y:3370 { yyVAL.colName = &ColName{Name: yyDollar[1].colIdent} } - case 654: + case 657: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3362 +//line sql.y:3374 { yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } - case 655: + case 658: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3366 +//line sql.y:3378 { yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } - case 656: + case 659: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3372 +//line sql.y:3384 { yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) } - case 657: + case 660: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3376 +//line sql.y:3388 { yyVAL.expr = NewHexLiteral(yyDollar[1].bytes) } - case 658: + case 661: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3380 +//line sql.y:3392 { yyVAL.expr = NewBitLiteral(yyDollar[1].bytes) } - case 659: + case 662: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3384 +//line sql.y:3396 { yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) } - case 660: + case 663: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3388 +//line sql.y:3400 { yyVAL.expr = NewFloatLiteral(yyDollar[1].bytes) } - case 661: + case 664: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3392 +//line sql.y:3404 { yyVAL.expr = NewHexNumLiteral(yyDollar[1].bytes) } - case 662: + case 665: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3396 +//line sql.y:3408 { yyVAL.expr = NewArgument(yyDollar[1].bytes) } - case 663: + case 666: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3400 +//line sql.y:3412 { yyVAL.expr = &NullVal{} } - case 664: + case 667: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3406 +//line sql.y:3418 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -8061,597 +8099,597 @@ yydefault: } yyVAL.expr = NewIntLiteral([]byte("1")) } - case 665: + case 668: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3415 +//line sql.y:3427 { yyVAL.expr = NewIntLiteral(yyDollar[1].bytes) } - case 666: + case 669: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3419 +//line sql.y:3431 { yyVAL.expr = NewArgument(yyDollar[1].bytes) } - case 667: + case 670: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3424 +//line sql.y:3436 { yyVAL.exprs = nil } - case 668: + case 671: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3428 +//line sql.y:3440 { yyVAL.exprs = yyDollar[3].exprs } - case 669: + case 672: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3433 +//line sql.y:3445 { yyVAL.expr = nil } - case 670: + case 673: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3437 +//line sql.y:3449 { yyVAL.expr = yyDollar[2].expr } - case 671: + case 674: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3442 +//line sql.y:3454 { yyVAL.orderBy = nil } - case 672: + case 675: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3446 +//line sql.y:3458 { yyVAL.orderBy = yyDollar[3].orderBy } - case 673: + case 676: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3452 +//line sql.y:3464 { yyVAL.orderBy = OrderBy{yyDollar[1].order} } - case 674: + case 677: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3456 +//line sql.y:3468 { yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order) } - case 675: + case 678: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3462 +//line sql.y:3474 { yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].orderDirection} } - case 676: + case 679: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3467 +//line sql.y:3479 { yyVAL.orderDirection = AscOrder } - case 677: + case 680: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3471 +//line sql.y:3483 { yyVAL.orderDirection = AscOrder } - case 678: + case 681: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3475 +//line sql.y:3487 { yyVAL.orderDirection = DescOrder } - case 679: + case 682: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3480 +//line sql.y:3492 { yyVAL.limit = nil } - case 680: + case 683: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3484 +//line sql.y:3496 { yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr} } - case 681: + case 684: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3488 +//line sql.y:3500 { yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr} } - case 682: + case 685: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3492 +//line sql.y:3504 { yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr} } - case 683: + case 686: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3497 +//line sql.y:3509 { yyVAL.indexOptions = nil } - case 684: + case 687: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3501 +//line sql.y:3513 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption, yyDollar[2].indexOption} } - case 685: + case 688: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3505 +//line sql.y:3517 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption, yyDollar[2].indexOption} } - case 686: + case 689: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3509 +//line sql.y:3521 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 687: + case 690: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3513 +//line sql.y:3525 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 688: + case 691: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3520 +//line sql.y:3532 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 689: + case 692: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3524 +//line sql.y:3536 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 690: + case 693: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3528 +//line sql.y:3540 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 691: + case 694: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3532 +//line sql.y:3544 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 692: + case 695: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3538 +//line sql.y:3550 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 693: + case 696: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3542 +//line sql.y:3554 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 694: + case 697: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3546 +//line sql.y:3558 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[3].bytes)} } - case 695: + case 698: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3551 +//line sql.y:3563 { yyVAL.str = "" } - case 696: + case 699: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3555 +//line sql.y:3567 { yyVAL.str = string(yyDollar[3].bytes) } - case 697: + case 700: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3559 +//line sql.y:3571 { yyVAL.str = string(yyDollar[3].bytes) } - case 698: + case 701: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3563 +//line sql.y:3575 { yyVAL.str = string(yyDollar[3].bytes) } - case 699: + case 702: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3568 +//line sql.y:3580 { yyVAL.str = "" } - case 700: + case 703: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3572 +//line sql.y:3584 { yyVAL.str = yyDollar[3].str } - case 701: + case 704: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3578 +//line sql.y:3590 { yyVAL.str = string(yyDollar[1].bytes) } - case 702: + case 705: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3582 +//line sql.y:3594 { yyVAL.str = string(yyDollar[1].bytes) } - case 703: + case 706: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3587 +//line sql.y:3599 { yyVAL.str = "" } - case 704: + case 707: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3591 +//line sql.y:3603 { yyVAL.str = yyDollar[2].str } - case 705: + case 708: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3596 +//line sql.y:3608 { yyVAL.str = "cascaded" } - case 706: + case 709: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3600 +//line sql.y:3612 { yyVAL.str = string(yyDollar[1].bytes) } - case 707: + case 710: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3604 +//line sql.y:3616 { yyVAL.str = string(yyDollar[1].bytes) } - case 708: + case 711: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3609 +//line sql.y:3621 { yyVAL.str = "" } - case 709: + case 712: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3613 +//line sql.y:3625 { yyVAL.str = yyDollar[3].str } - case 710: + case 713: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3619 +//line sql.y:3631 { yyVAL.str = string(yyDollar[1].bytes) } - case 711: + case 714: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3623 +//line sql.y:3635 { yyVAL.str = string(yyDollar[1].bytes) } - case 712: + case 715: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3627 +//line sql.y:3639 { yyVAL.str = "'" + string(yyDollar[1].bytes) + "'@" + string(yyDollar[2].bytes) } - case 713: + case 716: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3631 +//line sql.y:3643 { yyVAL.str = string(yyDollar[1].bytes) } - case 714: + case 717: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3636 +//line sql.y:3648 { yyVAL.lock = NoLock } - case 715: + case 718: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3640 +//line sql.y:3652 { yyVAL.lock = ForUpdateLock } - case 716: + case 719: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3644 +//line sql.y:3656 { yyVAL.lock = ShareModeLock } - case 717: + case 720: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3649 +//line sql.y:3661 { yyVAL.selectInto = nil } - case 718: + case 721: yyDollar = yyS[yypt-9 : yypt+1] -//line sql.y:3653 +//line sql.y:3665 { yyVAL.selectInto = &SelectInto{Type: IntoOutfileS3, FileName: string(yyDollar[4].bytes), Charset: yyDollar[5].str, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } - case 719: + case 722: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3657 +//line sql.y:3669 { yyVAL.selectInto = &SelectInto{Type: IntoDumpfile, FileName: string(yyDollar[3].bytes), Charset: "", FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } - case 720: + case 723: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3661 +//line sql.y:3673 { yyVAL.selectInto = &SelectInto{Type: IntoOutfile, FileName: string(yyDollar[3].bytes), Charset: yyDollar[4].str, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } - case 721: + case 724: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3666 +//line sql.y:3678 { yyVAL.str = "" } - case 722: + case 725: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3670 +//line sql.y:3682 { yyVAL.str = " format csv" + yyDollar[3].str } - case 723: + case 726: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3674 +//line sql.y:3686 { yyVAL.str = " format text" + yyDollar[3].str } - case 724: + case 727: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3679 +//line sql.y:3691 { yyVAL.str = "" } - case 725: + case 728: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3683 +//line sql.y:3695 { yyVAL.str = " header" } - case 726: + case 729: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3688 +//line sql.y:3700 { yyVAL.str = "" } - case 727: + case 730: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3692 +//line sql.y:3704 { yyVAL.str = " manifest on" } - case 728: + case 731: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3696 +//line sql.y:3708 { yyVAL.str = " manifest off" } - case 729: + case 732: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3701 +//line sql.y:3713 { yyVAL.str = "" } - case 730: + case 733: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3705 +//line sql.y:3717 { yyVAL.str = " overwrite on" } - case 731: + case 734: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3709 +//line sql.y:3721 { yyVAL.str = " overwrite off" } - case 732: + case 735: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3715 +//line sql.y:3727 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 733: + case 736: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3720 +//line sql.y:3732 { yyVAL.str = "" } - case 734: + case 737: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3724 +//line sql.y:3736 { yyVAL.str = " lines" + yyDollar[2].str + yyDollar[3].str } - case 735: + case 738: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3729 +//line sql.y:3741 { yyVAL.str = "" } - case 736: + case 739: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3733 +//line sql.y:3745 { yyVAL.str = " starting by '" + string(yyDollar[3].bytes) + "'" } - case 737: + case 740: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3738 +//line sql.y:3750 { yyVAL.str = "" } - case 738: + case 741: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3742 +//line sql.y:3754 { yyVAL.str = " terminated by '" + string(yyDollar[3].bytes) + "'" } - case 739: + case 742: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3747 +//line sql.y:3759 { yyVAL.str = "" } - case 740: + case 743: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3751 +//line sql.y:3763 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str + yyDollar[3].str + yyDollar[4].str } - case 741: + case 744: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3756 +//line sql.y:3768 { yyVAL.str = "" } - case 742: + case 745: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3760 +//line sql.y:3772 { yyVAL.str = " escaped by '" + string(yyDollar[3].bytes) + "'" } - case 743: + case 746: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3765 +//line sql.y:3777 { yyVAL.str = "" } - case 744: + case 747: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3769 +//line sql.y:3781 { yyVAL.str = yyDollar[1].str + " enclosed by '" + string(yyDollar[4].bytes) + "'" } - case 745: + case 748: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3774 +//line sql.y:3786 { yyVAL.str = "" } - case 746: + case 749: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3778 +//line sql.y:3790 { yyVAL.str = " optionally" } - case 747: + case 750: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3791 +//line sql.y:3803 { yyVAL.ins = &Insert{Rows: yyDollar[2].values} } - case 748: + case 751: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3795 +//line sql.y:3807 { yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt} } - case 749: + case 752: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3799 +//line sql.y:3811 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values} } - case 750: + case 753: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3803 +//line sql.y:3815 { yyVAL.ins = &Insert{Rows: yyDollar[4].values} } - case 751: + case 754: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:3807 +//line sql.y:3819 { yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt} } - case 752: + case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3813 +//line sql.y:3825 { yyVAL.columns = Columns{yyDollar[1].colIdent} } - case 753: + case 756: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3817 +//line sql.y:3829 { yyVAL.columns = Columns{yyDollar[3].colIdent} } - case 754: + case 757: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3821 +//line sql.y:3833 { yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent) } - case 755: + case 758: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3825 +//line sql.y:3837 { yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent) } - case 756: + case 759: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3830 +//line sql.y:3842 { yyVAL.updateExprs = nil } - case 757: + case 760: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3834 +//line sql.y:3846 { yyVAL.updateExprs = yyDollar[5].updateExprs } - case 758: + case 761: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3840 +//line sql.y:3852 { yyVAL.values = Values{yyDollar[1].valTuple} } - case 759: + case 762: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3844 +//line sql.y:3856 { yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple) } - case 760: + case 763: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3850 +//line sql.y:3862 { yyVAL.valTuple = yyDollar[1].valTuple } - case 761: + case 764: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3854 +//line sql.y:3866 { yyVAL.valTuple = ValTuple{} } - case 762: + case 765: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3860 +//line sql.y:3872 { yyVAL.valTuple = ValTuple(yyDollar[2].exprs) } - case 763: + case 766: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3866 +//line sql.y:3878 { if len(yyDollar[1].valTuple) == 1 { yyVAL.expr = yyDollar[1].valTuple[0] @@ -8659,331 +8697,331 @@ yydefault: yyVAL.expr = yyDollar[1].valTuple } } - case 764: + case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3876 +//line sql.y:3888 { yyVAL.updateExprs = UpdateExprs{yyDollar[1].updateExpr} } - case 765: + case 768: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3880 +//line sql.y:3892 { yyVAL.updateExprs = append(yyDollar[1].updateExprs, yyDollar[3].updateExpr) } - case 766: + case 769: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3886 +//line sql.y:3898 { yyVAL.updateExpr = &UpdateExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr} } - case 767: + case 770: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3892 +//line sql.y:3904 { yyVAL.setExprs = SetExprs{yyDollar[1].setExpr} } - case 768: + case 771: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3896 +//line sql.y:3908 { yyVAL.setExprs = append(yyDollar[1].setExprs, yyDollar[3].setExpr) } - case 769: + case 772: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3902 +//line sql.y:3914 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("on"))} } - case 770: + case 773: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3906 +//line sql.y:3918 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral([]byte("off"))} } - case 771: + case 774: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3910 +//line sql.y:3922 { yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].expr} } - case 772: + case 775: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3914 +//line sql.y:3926 { yyVAL.setExpr = &SetExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Scope: ImplicitScope, Expr: yyDollar[2].expr} } - case 773: + case 776: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3918 +//line sql.y:3930 { yyDollar[2].setExpr.Scope = yyDollar[1].scope yyVAL.setExpr = yyDollar[2].setExpr } - case 775: + case 778: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3926 +//line sql.y:3938 { yyVAL.bytes = []byte("charset") } - case 777: + case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3933 +//line sql.y:3945 { yyVAL.expr = NewStrLiteral([]byte(yyDollar[1].colIdent.String())) } - case 778: + case 781: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3937 +//line sql.y:3949 { yyVAL.expr = NewStrLiteral(yyDollar[1].bytes) } - case 779: + case 782: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3941 +//line sql.y:3953 { yyVAL.expr = &Default{} } - case 782: + case 785: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3950 +//line sql.y:3962 { yyVAL.boolean = false } - case 783: + case 786: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3952 +//line sql.y:3964 { yyVAL.boolean = true } - case 784: + case 787: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3955 +//line sql.y:3967 { yyVAL.boolean = false } - case 785: + case 788: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3957 +//line sql.y:3969 { yyVAL.boolean = true } - case 786: + case 789: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3960 +//line sql.y:3972 { yyVAL.ignore = false } - case 787: + case 790: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3962 +//line sql.y:3974 { yyVAL.ignore = true } - case 788: + case 791: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3966 +//line sql.y:3978 { yyVAL.empty = struct{}{} } - case 789: + case 792: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3968 +//line sql.y:3980 { yyVAL.empty = struct{}{} } - case 790: + case 793: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3970 +//line sql.y:3982 { yyVAL.empty = struct{}{} } - case 791: + case 794: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3972 +//line sql.y:3984 { yyVAL.empty = struct{}{} } - case 792: + case 795: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3974 +//line sql.y:3986 { yyVAL.empty = struct{}{} } - case 793: + case 796: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3976 +//line sql.y:3988 { yyVAL.empty = struct{}{} } - case 794: + case 797: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3978 +//line sql.y:3990 { yyVAL.empty = struct{}{} } - case 795: + case 798: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3980 +//line sql.y:3992 { yyVAL.empty = struct{}{} } - case 796: + case 799: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3982 +//line sql.y:3994 { yyVAL.empty = struct{}{} } - case 797: + case 800: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3984 +//line sql.y:3996 { yyVAL.empty = struct{}{} } - case 798: + case 801: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3988 +//line sql.y:4000 { yyVAL.empty = struct{}{} } - case 799: + case 802: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3990 +//line sql.y:4002 { yyVAL.empty = struct{}{} } - case 800: + case 803: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3992 +//line sql.y:4004 { yyVAL.empty = struct{}{} } - case 801: + case 804: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3996 +//line sql.y:4008 { yyVAL.empty = struct{}{} } - case 802: + case 805: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3998 +//line sql.y:4010 { yyVAL.empty = struct{}{} } - case 803: + case 806: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4001 +//line sql.y:4013 { yyVAL.str = "" } - case 804: + case 807: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4003 +//line sql.y:4015 { yyVAL.str = string(yyDollar[1].bytes) } - case 805: + case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4005 +//line sql.y:4017 { yyVAL.str = string(yyDollar[1].bytes) } - case 806: + case 809: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4007 +//line sql.y:4019 { yyVAL.str = string(yyDollar[1].bytes) } - case 807: + case 810: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4010 +//line sql.y:4022 { yyVAL.indexOptions = nil } - case 808: + case 811: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4012 +//line sql.y:4024 { yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption} } - case 809: + case 812: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4016 +//line sql.y:4028 { yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), String: string(yyDollar[2].colIdent.String())} } - case 810: + case 813: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4022 +//line sql.y:4034 { yyVAL.colIdent = yyDollar[1].colIdent } - case 811: + case 814: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4026 +//line sql.y:4038 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 813: + case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4033 +//line sql.y:4045 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes)) } - case 814: + case 817: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4039 +//line sql.y:4051 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 815: + case 818: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4043 +//line sql.y:4055 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 817: + case 820: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4050 +//line sql.y:4062 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes)) } - case 1156: + case 1160: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4413 +//line sql.y:4426 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1157: + case 1161: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4422 +//line sql.y:4435 { decNesting(yylex) } - case 1158: + case 1162: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4427 +//line sql.y:4440 { skipToEnd(yylex) } - case 1159: + case 1163: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4432 +//line sql.y:4445 { skipToEnd(yylex) } - case 1160: + case 1164: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4436 +//line sql.y:4449 { skipToEnd(yylex) } - case 1161: + case 1165: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4440 +//line sql.y:4453 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 3766fe3ea03..33211b48110 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -211,9 +211,9 @@ func skipToEnd(yylex interface{}) { // Type Modifiers %token NULLX AUTO_INCREMENT APPROXNUM SIGNED UNSIGNED ZEROFILL -// Supported SHOW tokens +// SHOW tokens %token COLLATION DATABASES SCHEMAS TABLES VITESS_METADATA VSCHEMA FULL PROCESSLIST COLUMNS FIELDS ENGINES PLUGINS EXTENDED -%token KEYSPACES VITESS_KEYSPACES VITESS_SHARDS VITESS_TABLETS CODE PRIVILEGES +%token KEYSPACES VITESS_KEYSPACES VITESS_SHARDS VITESS_TABLETS CODE PRIVILEGES FUNCTION // SET tokens %token NAMES CHARSET GLOBAL SESSION ISOLATION LEVEL READ WRITE ONLY REPEATABLE COMMITTED UNCOMMITTED SERIALIZABLE @@ -1831,6 +1831,10 @@ show_statement: { $$ = &Show{&ShowBasic{Command: Database, Filter: $3}} } +| SHOW FUNCTION STATUS like_or_where_opt + { + $$ = &Show{&ShowBasic{Command: Function, Filter: $4}} + } | SHOW PRIVILEGES { $$ = &Show{&ShowBasic{Command: Privilege}} @@ -1871,6 +1875,10 @@ show_statement: { $$ = &Show{&ShowLegacy{Type: string($2) + " " + string($3), Scope: ImplicitScope}} } +| SHOW CREATE FUNCTION table_name + { + $$ = &Show{&ShowLegacy{Type: string($2) + " " + string($3), Table: $4, Scope: ImplicitScope}} + } /* Rule to handle SHOW CREATE EVENT, SHOW CREATE FUNCTION, etc. */ | SHOW CREATE id_or_var ddl_skip_to_end { @@ -1896,6 +1904,10 @@ show_statement: { $$ = &Show{&ShowLegacy{Type: string($2), Scope: ImplicitScope}} } +| SHOW FUNCTION CODE table_name + { + $$ = &Show{&ShowLegacy{Type: string($2) + " " + string($3), Table: $4, Scope: ImplicitScope}} + } | SHOW extended_opt index_symbols from_or_in table_name from_database_opt like_or_where_opt { showTablesOpt := &ShowTablesOpt{DbName:$6, Filter:$7} @@ -4250,6 +4262,7 @@ non_reserved_keyword: | FOREIGN | FORMAT | FULLTEXT +| FUNCTION | GEOMCOLLECTION | GEOMETRY | GEOMETRYCOLLECTION diff --git a/go/vt/sqlparser/token.go b/go/vt/sqlparser/token.go index 8a51dba6043..9427c71013d 100644 --- a/go/vt/sqlparser/token.go +++ b/go/vt/sqlparser/token.go @@ -202,6 +202,7 @@ var keywords = map[string]int{ "from": FROM, "full": FULL, "fulltext": FULLTEXT, + "function": FUNCTION, "generated": UNUSED, "geometry": GEOMETRY, "geometrycollection": GEOMETRYCOLLECTION, @@ -319,6 +320,7 @@ var keywords = map[string]int{ "polygon": POLYGON, "precision": UNUSED, "primary": PRIMARY, + "privileges": PRIVILEGES, "processlist": PROCESSLIST, "procedure": PROCEDURE, "query": QUERY, From d62b33c9ef7582dd587dce60e622617e1a47ae78 Mon Sep 17 00:00:00 2001 From: Harshit Gangal Date: Wed, 16 Dec 2020 18:17:12 +0530 Subject: [PATCH 3/3] add planning support Signed-off-by: Harshit Gangal --- go/vt/vtgate/planbuilder/show.go | 2 +- .../planbuilder/testdata/show_cases.txt | 94 +++++++++++++++++++ 2 files changed, 95 insertions(+), 1 deletion(-) diff --git a/go/vt/vtgate/planbuilder/show.go b/go/vt/vtgate/planbuilder/show.go index 3c5734d0cd3..a94ada32e27 100644 --- a/go/vt/vtgate/planbuilder/show.go +++ b/go/vt/vtgate/planbuilder/show.go @@ -54,7 +54,7 @@ func buildShowBasicPlan(show *sqlparser.ShowBasic, vschema ContextVSchema) (engi switch show.Command { case sqlparser.Charset: return showCharset(show) - case sqlparser.Collation, sqlparser.Function, sqlparser.Procedure, + case sqlparser.Collation, sqlparser.Function, sqlparser.Privilege, sqlparser.Procedure, sqlparser.VariableGlobal, sqlparser.VariableSession: return showSendAnywhere(show, vschema) case sqlparser.Database: diff --git a/go/vt/vtgate/planbuilder/testdata/show_cases.txt b/go/vt/vtgate/planbuilder/testdata/show_cases.txt index 06de3723339..f1cc4317c08 100644 --- a/go/vt/vtgate/planbuilder/testdata/show_cases.txt +++ b/go/vt/vtgate/planbuilder/testdata/show_cases.txt @@ -167,3 +167,97 @@ # show columns fails as table does not exists in user keyspace "show full columns from user.unsharded" "table unsharded not found" + +# show charset +"show charset" +{ + "QueryType": "SHOW", + "Original": "show charset", + "Instructions": { + "OperatorType": "Rows" + } +} + +# show function +"show function status" +{ + "QueryType": "SHOW", + "Original": "show function status", + "Instructions": { + "OperatorType": "Send", + "Keyspace": { + "Name": "main", + "Sharded": false + }, + "TargetDestination": "AnyShard()", + "IsDML": false, + "Query": "show function status", + "SingleShardOnly": true + } +} + +# show privileges +"show privileges" +{ + "QueryType": "SHOW", + "Original": "show privileges", + "Instructions": { + "OperatorType": "Send", + "Keyspace": { + "Name": "main", + "Sharded": false + }, + "TargetDestination": "AnyShard()", + "IsDML": false, + "Query": "show privileges", + "SingleShardOnly": true + } +} + +# show procedure status +"show procedure status" +{ + "QueryType": "SHOW", + "Original": "show procedure status", + "Instructions": { + "OperatorType": "Send", + "Keyspace": { + "Name": "main", + "Sharded": false + }, + "TargetDestination": "AnyShard()", + "IsDML": false, + "Query": "show procedure status", + "SingleShardOnly": true + } +} + + +# show variables +"show variables" +{ + "QueryType": "SHOW", + "Original": "show variables", + "Instructions": { + "OperatorType": "Send", + "Keyspace": { + "Name": "main", + "Sharded": false + }, + "TargetDestination": "AnyShard()", + "IsDML": false, + "Query": "show variables", + "SingleShardOnly": true + } +} + + +# show databases +"show databases" +{ + "QueryType": "SHOW", + "Original": "show databases", + "Instructions": { + "OperatorType": "Rows" + } +}