diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-11-20 12:54:39 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-11-20 12:54:39 +0000 |
commit | 683599a4fa6300d6517c0f75d60c028bd62136cc (patch) | |
tree | 12d4b7ee007ce03fe02e36da9a70304d599ab2fd /crawl-ref/source/prebuilt | |
parent | abd9b56c169f6e1249ed9f69ba8f94f0a83e092b (diff) | |
download | crawl-ref-683599a4fa6300d6517c0f75d60c028bd62136cc.tar.gz crawl-ref-683599a4fa6300d6517c0f75d60c028bd62136cc.zip |
Update canned level compiler (Eino); update .gitignore.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7519 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/prebuilt')
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.lex.cc | 1991 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.cc | 692 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.h | 96 |
3 files changed, 1429 insertions, 1350 deletions
diff --git a/crawl-ref/source/prebuilt/levcomp.lex.cc b/crawl-ref/source/prebuilt/levcomp.lex.cc index 495c2be151..d26318263c 100644 --- a/crawl-ref/source/prebuilt/levcomp.lex.cc +++ b/crawl-ref/source/prebuilt/levcomp.lex.cc @@ -380,8 +380,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 73 -#define YY_END_OF_BUFFER 74 +#define YY_NUM_RULES 75 +#define YY_END_OF_BUFFER 76 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -389,41 +389,42 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[964] = +static yyconst flex_int16_t yy_accept[974] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 74, 72, 69, 70, - 71, 67, 68, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 69, - 34, 36, 72, 72, 72, 72, 72, 72, 73, 6, - 73, 73, 4, 2, 3, 73, 2, 2, 2, 2, - 9, 10, 73, 9, 9, 73, 12, 73, 32, 69, - 33, 71, 32, 32, 32, 32, 32, 32, 32, 32, + 0, 0, 0, 0, 0, 0, 76, 74, 71, 72, + 73, 69, 74, 67, 70, 68, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 71, 34, 36, 74, 74, 74, 74, 74, + 74, 75, 6, 75, 75, 4, 2, 3, 75, 2, + 2, 2, 2, 9, 10, 75, 9, 9, 75, 12, + 75, 32, 71, 33, 73, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 69, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 71, 32, 32, - 72, 28, 23, 28, 27, 68, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 28, 34, 36, 72, 72, 72, 72, - 72, 72, 15, 16, 71, 13, 13, 13, 13, 13, + 32, 32, 32, 32, 32, 32, 74, 28, 23, 28, + 69, 74, 27, 70, 68, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 28, 34, 36, 74, 74, 74, 74, 74, + 74, 15, 16, 73, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 72, 13, 15, 13, 13, 13, 13, 13, - 73, 21, 22, 73, 20, 73, 69, 70, 68, 0, + 13, 13, 74, 13, 15, 13, 13, 13, 13, 13, + 75, 21, 22, 75, 20, 75, 71, 72, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 69, 34, 36, 0, 0, 0, 0, 34, 0, + 0, 71, 34, 36, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 39, 6, 5, 0, 0, 2, 3, 2, 0, 2, 2, 2, 2, 9, 9, 10, 9, 9, 9, 0, 11, 0, 12, 31, - 0, 31, 69, 33, 0, 0, 33, 31, 31, 31, + 0, 31, 71, 33, 0, 0, 33, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, - 30, 31, 69, 31, 34, 31, 31, 31, 31, 31, + 30, 31, 71, 31, 34, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 0, 26, 28, 23, 28, 0, 23, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 25, 0, 26, 28, 26, 34, 26, 26, 26, 26, 26, 26, 26, 26, 26, 15, 16, 0, 0, 0, 16, 13, 13, 13, 13, @@ -433,8 +434,8 @@ static yyconst flex_int16_t yy_accept[964] = 19, 0, 19, 21, 22, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 9, 9, 9, 7, 0, 0, 29, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, @@ -444,9 +445,9 @@ static yyconst flex_int16_t yy_accept[964] = 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 34, 34, 26, 26, 26, 26, 26, 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, @@ -455,8 +456,8 @@ static yyconst flex_int16_t yy_accept[964] = 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 31, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 26, 26, 26, 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -466,8 +467,8 @@ static yyconst flex_int16_t yy_accept[964] = 0, 0, 0, 51, 0, 0, 0, 38, 0, 0, 0, 0, 2, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, @@ -477,8 +478,8 @@ static yyconst flex_int16_t yy_accept[964] = 50, 0, 63, 64, 66, 65, 0, 0, 0, 0, 46, 0, 0, 54, 0, 0, 0, 0, 0, 41, 1, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 13, @@ -488,8 +489,8 @@ static yyconst flex_int16_t yy_accept[964] = 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 13, 13, 13, 13, 13, 13, 13, 0, 58, 62, + 13, 13, 13, 13, 13, 13, 13, 0, 58, 62, 47, 0, 0, 0, 0, 31, 31, 31, 31, 31, 0, 31, 31, 26, 26, 26, 26, 26, 0, 26, 26, 13, 13, 13, 57, 0, 37, 0, 0, 31, @@ -504,17 +505,17 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 5, 1, 1, 6, 1, 1, 1, 1, 1, - 1, 1, 1, 7, 8, 1, 1, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 10, 1, 1, - 1, 1, 1, 1, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 20, 27, 28, 29, 30, 20, 31, 20, 20, 20, - 1, 32, 1, 1, 20, 1, 33, 20, 20, 34, - - 35, 36, 20, 37, 38, 20, 20, 39, 20, 20, - 40, 41, 20, 42, 43, 44, 45, 46, 20, 20, - 20, 20, 47, 1, 48, 1, 1, 1, 1, 1, + 1, 5, 1, 1, 6, 1, 7, 1, 1, 1, + 1, 1, 8, 9, 10, 1, 1, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 12, 1, 1, + 1, 1, 1, 1, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 22, 29, 30, 31, 32, 22, 33, 22, 22, 22, + 1, 34, 1, 1, 22, 1, 35, 22, 22, 36, + + 37, 38, 22, 39, 40, 22, 22, 41, 22, 22, + 42, 43, 22, 44, 45, 46, 47, 48, 22, 22, + 22, 22, 49, 1, 50, 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, @@ -531,972 +532,980 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[49] = +static yyconst flex_int32_t yy_meta[51] = { 0, - 1, 2, 3, 4, 1, 1, 5, 6, 6, 1, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 1, 2, 3, 4, 1, 1, 1, 1, 5, 6, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 1, 1 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 1, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 1, 1 } ; -static yyconst flex_int16_t yy_base[981] = +static yyconst flex_int16_t yy_base[991] = { 0, - 0, 47, 55, 60, 52, 64, 47, 68, 112, 159, - 206, 253, 300, 347, 74, 169, 1868, 3229, 78, 3229, - 1859, 3229, 1852, 1841, 64, 1837, 1826, 1811, 68, 1808, - 74, 81, 1796, 1800, 1783, 78, 1796, 1791, 1756, 393, - 0, 3229, 86, 1745, 1747, 31, 69, 1739, 3229, 3229, - 1782, 163, 3229, 0, 3229, 1781, 175, 0, 1757, 58, - 1732, 3229, 1776, 62, 1725, 159, 3229, 1769, 263, 357, - 3229, 364, 369, 373, 404, 379, 410, 419, 414, 433, - 443, 453, 458, 466, 472, 477, 487, 495, 506, 510, - 518, 526, 530, 535, 541, 552, 559, 566, 570, 574, - - 255, 578, 3229, 583, 3229, 590, 259, 448, 602, 591, - 606, 614, 623, 638, 639, 353, 640, 622, 646, 654, - 664, 678, 655, 689, 693, 656, 697, 672, 701, 707, - 709, 713, 732, 3229, 744, 0, 1761, 1740, 163, 1733, - 1720, 1711, 167, 1720, 159, 164, 1707, 1710, 1701, 167, - 1710, 1699, 191, 1673, 749, 178, 1660, 1655, 239, 236, - 726, 763, 3229, 767, 3229, 775, 268, 3229, 1684, 1663, - 1668, 1652, 1646, 255, 1655, 1650, 1634, 261, 1631, 1622, - 1619, 1602, 1593, 1598, 1604, 1596, 1578, 1594, 1588, 255, - 1564, 0, 0, 3229, 1550, 1552, 246, 1540, 0, 257, - - 1553, 1543, 1554, 255, 1525, 1519, 3229, 3229, 3229, 1551, - 285, 0, 3229, 0, 1550, 360, 1533, 1521, 336, 1492, - 1487, 3229, 156, 1482, 424, 388, 3229, 1523, 3229, 757, - 780, 788, 798, 3229, 806, 811, 3229, 817, 823, 829, - 837, 792, 842, 858, 866, 846, 875, 880, 887, 891, - 899, 904, 916, 922, 936, 940, 948, 954, 959, 971, - 3229, 980, 0, 985, 990, 994, 1002, 1006, 1016, 1031, - 1039, 1045, 1051, 1055, 911, 923, 1062, 1070, 3229, 1076, - 1086, 3229, 1000, 1091, 1095, 1096, 1105, 1109, 1022, 1107, - 1114, 1119, 1127, 1131, 1133, 1143, 1148, 1150, 1159, 1166, - - 1171, 1172, 1183, 1187, 1191, 3229, 1208, 1185, 0, 1220, - 1224, 1230, 1234, 1236, 1238, 1240, 1242, 1244, 1248, 1252, - 1284, 3229, 1291, 1295, 1273, 3229, 0, 1515, 1499, 1506, - 1489, 1476, 406, 1482, 1480, 1464, 419, 1466, 1452, 1448, - 1446, 1429, 1436, 1440, 1437, 1419, 1431, 1424, 388, 1299, - 3229, 1404, 0, 457, 1406, 1401, 1419, 333, 1383, 1374, - 1277, 1305, 1309, 1315, 3229, 1322, 1326, 1330, 1340, 3229, - 1346, 1406, 1386, 1383, 1378, 1389, 1378, 1372, 1380, 1374, - 1343, 1337, 1349, 1338, 1325, 1337, 1334, 1325, 1326, 1317, - 1320, 1305, 1294, 1304, 1302, 1275, 1353, 852, 1267, 1265, - - 1252, 1241, 1248, 1361, 1365, 1371, 3229, 1375, 1379, 3229, - 1383, 1388, 1392, 1396, 1400, 1410, 1421, 1429, 1433, 1443, - 1452, 1458, 1462, 1466, 1472, 1481, 1487, 1501, 1505, 1510, - 1518, 1523, 1534, 1539, 1544, 1556, 1565, 1570, 1575, 1579, - 1588, 1594, 1599, 1625, 3229, 1631, 1580, 1614, 1476, 1608, - 1639, 1527, 1619, 1643, 1645, 1650, 1656, 1657, 1662, 1664, - 1671, 1679, 1685, 1693, 1697, 1699, 1705, 1707, 1711, 1717, - 1718, 1750, 1742, 1756, 1736, 1760, 1761, 1762, 1769, 1256, - 1240, 1238, 1230, 1241, 1230, 1225, 1219, 1205, 1190, 1192, - 1203, 1187, 1179, 1190, 1190, 1184, 1184, 1165, 1167, 1153, - - 1144, 1150, 1149, 1127, 1773, 892, 1117, 1128, 1109, 1102, - 1793, 3229, 1800, 1123, 1113, 1095, 1099, 1087, 1078, 1094, - 1070, 1069, 1065, 1057, 1059, 1055, 1059, 1058, 1024, 1022, - 1030, 1027, 1015, 1001, 1015, 1005, 994, 970, 1808, 3229, - 1056, 967, 968, 967, 1722, 989, 1812, 3229, 1816, 1824, - 3229, 1828, 1832, 1837, 1841, 1849, 1854, 1861, 1873, 1885, - 1890, 1894, 1899, 1904, 1914, 1928, 1935, 1945, 1939, 1949, - 1953, 1970, 1974, 1978, 1987, 1991, 1995, 2009, 2013, 2020, - 2024, 2029, 2033, 2034, 1842, 2041, 2052, 2053, 2045, 2073, - 2057, 2074, 2086, 2085, 2091, 2096, 2090, 2110, 2097, 2114, - - 2119, 2128, 2134, 2130, 2135, 2147, 2151, 2142, 2166, 2152, - 2153, 2159, 2173, 2184, 976, 975, 953, 961, 949, 942, - 957, 937, 942, 941, 929, 934, 932, 936, 927, 904, - 906, 914, 904, 895, 881, 895, 870, 862, 838, 831, - 838, 1833, 838, 850, 837, 848, 846, 839, 3229, 833, - 827, 826, 825, 804, 802, 3229, 3229, 794, 788, 796, - 780, 782, 788, 3229, 759, 764, 747, 3229, 749, 742, - 1895, 727, 747, 2190, 2204, 2208, 2219, 2223, 2237, 2241, - 2252, 2256, 2266, 2270, 2277, 2281, 2285, 2289, 2295, 2299, - 2310, 2314, 2321, 2328, 2332, 2343, 2347, 2352, 2357, 2361, - - 2369, 2376, 2381, 2392, 2188, 2232, 2394, 2401, 2385, 2212, - 2405, 2417, 2429, 2430, 2416, 2436, 2290, 2440, 2441, 2445, - 2449, 2450, 2462, 2455, 2451, 2464, 2474, 2483, 2484, 2493, - 2497, 2499, 2503, 735, 742, 729, 745, 730, 725, 722, - 717, 716, 714, 695, 693, 690, 687, 703, 682, 683, - 691, 660, 662, 645, 641, 640, 658, 643, 642, 3229, - 3229, 611, 3229, 3229, 3229, 3229, 622, 621, 619, 616, - 3229, 598, 603, 3229, 604, 597, 556, 559, 546, 3229, - 572, 2507, 2516, 2532, 2536, 2547, 2551, 2555, 2561, 2565, - 2569, 2576, 2580, 2590, 2594, 2601, 2605, 2609, 2613, 2626, - - 2638, 2630, 2644, 2650, 2655, 2659, 2661, 2663, 2556, 2570, - 2673, 2618, 2675, 2679, 2681, 2687, 2694, 2698, 2704, 2683, - 2715, 2716, 2720, 2722, 2736, 2737, 2738, 2744, 2748, 559, - 555, 550, 534, 545, 541, 539, 538, 525, 529, 531, - 521, 489, 491, 481, 3229, 3229, 3229, 502, 3229, 3229, - 3229, 3229, 508, 506, 3229, 497, 495, 1905, 466, 491, - 2753, 2757, 2761, 2770, 2782, 2792, 2796, 2801, 2805, 2815, - 2825, 2830, 2834, 2839, 2844, 2821, 2849, 2850, 2856, 2858, - 2862, 2863, 2867, 2875, 2882, 2868, 2891, 2900, 2901, 2907, - 473, 478, 477, 457, 453, 1918, 419, 423, 3229, 3229, - - 3229, 388, 1923, 366, 1954, 2911, 2915, 2920, 2924, 2932, - 2936, 2949, 2953, 2957, 2944, 2958, 2967, 2969, 2973, 2975, - 2977, 392, 366, 1985, 3229, 352, 3229, 2002, 325, 2982, - 2993, 2989, 3006, 3011, 3024, 3025, 3029, 3030, 3031, 319, - 309, 3229, 3035, 3040, 3047, 3049, 256, 249, 3064, 3068, - 241, 219, 3078, 3069, 154, 177, 3082, 3088, 88, 3229, - 3100, 3089, 3229, 3132, 3138, 3144, 3150, 3156, 3162, 3168, - 3174, 3180, 3186, 3192, 3198, 3204, 3210, 3216, 63, 3222 + 0, 49, 53, 60, 64, 66, 49, 68, 116, 165, + 214, 263, 312, 361, 76, 170, 2035, 3243, 71, 3243, + 2031, 3243, 2007, 3243, 2006, 3243, 1998, 55, 1996, 1985, + 1967, 66, 1975, 73, 76, 1959, 1960, 1951, 63, 1955, + 1937, 1915, 409, 0, 3243, 75, 1900, 1900, 68, 64, + 1894, 3243, 3243, 1935, 177, 3243, 0, 3243, 1934, 181, + 0, 1906, 151, 1878, 3243, 1924, 58, 1869, 184, 3243, + 1914, 268, 275, 3243, 366, 373, 378, 383, 388, 392, + 414, 426, 432, 437, 460, 465, 470, 474, 480, 493, + 501, 507, 511, 515, 519, 535, 528, 552, 542, 546, + + 562, 556, 566, 577, 583, 589, 269, 602, 3243, 610, + 374, 422, 3243, 590, 379, 614, 623, 624, 625, 629, + 649, 635, 659, 660, 637, 673, 650, 680, 674, 686, + 713, 687, 723, 697, 708, 717, 727, 731, 733, 735, + 743, 750, 3243, 777, 1898, 1896, 0, 1886, 149, 1884, + 1867, 1859, 173, 1871, 165, 182, 1854, 1857, 1850, 169, + 1863, 1858, 279, 1834, 783, 180, 1820, 1817, 241, 162, + 757, 791, 3243, 795, 3243, 799, 102, 3243, 1846, 1824, + 1833, 1789, 1784, 263, 1794, 1790, 1775, 272, 1781, 1773, + 1775, 1775, 1766, 1776, 1778, 1751, 1733, 1750, 1738, 91, + + 1718, 0, 0, 3243, 1704, 1703, 165, 1696, 0, 263, + 1707, 1703, 1724, 242, 1694, 1685, 3243, 3243, 3243, 1725, + 290, 0, 3243, 0, 1724, 293, 1695, 1681, 378, 1647, + 1646, 3243, 255, 1642, 803, 361, 3243, 1687, 3243, 808, + 814, 818, 832, 3243, 836, 841, 3243, 845, 853, 858, + 870, 863, 876, 881, 891, 897, 907, 912, 919, 925, + 933, 938, 945, 950, 960, 969, 976, 981, 987, 993, + 3243, 1000, 0, 1012, 1018, 1026, 1035, 1031, 1039, 1043, + 1049, 1057, 1053, 1066, 825, 871, 1076, 1099, 3243, 1103, + 1109, 3243, 1084, 1091, 1114, 1115, 1119, 1127, 1121, 1126, + + 1139, 1154, 1140, 1160, 1161, 1166, 1167, 1175, 1173, 1177, + 1188, 1200, 1208, 1214, 1221, 3243, 1226, 1213, 0, 1235, + 1241, 1254, 1262, 1231, 1247, 1266, 1268, 1275, 1280, 1281, + 1301, 3243, 1315, 1319, 1293, 3243, 0, 1662, 1636, 1640, + 1614, 1602, 378, 1606, 1605, 1575, 416, 1578, 1567, 1555, + 1547, 1539, 1549, 1552, 1549, 1531, 1546, 1526, 286, 1326, + 3243, 1502, 0, 416, 1496, 1487, 1510, 395, 1473, 1463, + 1305, 1306, 1339, 1343, 3243, 1348, 1352, 1332, 1356, 3243, + 1360, 1495, 1476, 1473, 1467, 1477, 1467, 1467, 1470, 1463, + 1445, 1448, 1449, 1435, 1419, 1429, 1428, 1424, 1419, 1410, + + 1405, 1387, 1386, 1394, 1394, 1364, 1365, 524, 1348, 1360, + 1347, 1334, 1350, 1376, 1381, 1389, 3243, 1393, 1398, 3243, + 1402, 1406, 1410, 1416, 1420, 1433, 1443, 1451, 1455, 1461, + 1467, 1477, 1486, 1482, 1502, 1508, 1513, 1517, 1524, 1533, + 1539, 1544, 1550, 1557, 1564, 1581, 1585, 1590, 1595, 1599, + 1603, 1607, 1616, 1623, 3243, 1425, 1630, 1608, 1548, 1634, + 1643, 1644, 1649, 1650, 1664, 1665, 1654, 1674, 1670, 1680, + 1684, 1459, 1689, 1698, 1707, 1715, 1714, 1720, 1719, 1700, + 1724, 1758, 1766, 1770, 1750, 1774, 1775, 1776, 1780, 1361, + 1346, 1344, 1307, 1314, 1305, 1300, 1299, 1284, 1269, 1268, + + 1279, 1266, 1257, 1261, 1262, 1257, 1257, 1239, 1243, 1230, + 1224, 1234, 1226, 1197, 1784, 572, 1180, 1189, 1172, 1166, + 1791, 3243, 1815, 1187, 1189, 1171, 1178, 1167, 1156, 1172, + 1152, 1151, 1135, 1127, 1133, 1134, 1138, 1134, 1106, 1109, + 1117, 1115, 1104, 1078, 1085, 1072, 1063, 1041, 1824, 3243, + 741, 1036, 1037, 1046, 766, 1062, 1828, 3243, 1832, 1836, + 3243, 1840, 1845, 1850, 1819, 1854, 1864, 1858, 1868, 1891, + 1895, 1901, 1906, 1911, 1929, 1937, 1946, 1951, 1957, 1962, + 1971, 1985, 1990, 1995, 2006, 2010, 2018, 2028, 2023, 2034, + 2041, 2045, 2051, 2058, 1967, 1880, 2046, 1972, 2062, 2082, + + 2068, 2084, 2088, 2093, 2101, 2102, 2103, 2112, 2108, 2123, + 2124, 2128, 2129, 2143, 2148, 2149, 2154, 2150, 2162, 2166, + 2168, 2173, 2174, 2184, 1053, 1052, 1018, 1029, 1012, 1003, + 1014, 994, 999, 996, 988, 994, 995, 997, 995, 976, + 973, 976, 973, 969, 951, 965, 956, 942, 921, 914, + 924, 1528, 927, 939, 916, 932, 927, 918, 3243, 920, + 914, 910, 907, 888, 884, 3243, 3243, 876, 875, 888, + 863, 864, 872, 3243, 851, 844, 823, 3243, 825, 819, + 1612, 802, 804, 2189, 2207, 2201, 2224, 2235, 2240, 2244, + 2248, 2252, 2261, 2275, 2266, 2279, 2257, 2288, 2297, 2301, + + 2312, 2316, 2321, 2325, 2334, 2347, 2352, 2356, 2360, 2365, + 2369, 2378, 2383, 2310, 2374, 2193, 2390, 2404, 2270, 2391, + 2408, 2409, 2417, 2421, 2426, 2432, 2413, 2434, 2439, 2443, + 2447, 2448, 2452, 2460, 2462, 2478, 2482, 2483, 2487, 2493, + 2488, 2497, 2498, 801, 811, 797, 812, 802, 794, 777, + 771, 764, 761, 736, 735, 732, 729, 744, 723, 725, + 729, 708, 709, 682, 675, 674, 693, 692, 686, 3243, + 3243, 669, 3243, 3243, 3243, 3243, 683, 669, 668, 656, + 3243, 632, 630, 3243, 634, 628, 589, 596, 563, 3243, + 603, 2506, 2531, 2537, 2546, 2550, 2554, 2558, 2562, 2568, + + 2572, 2581, 2585, 2596, 2605, 2609, 2616, 2620, 2624, 2629, + 2640, 2644, 2651, 2657, 2662, 2663, 2667, 2668, 2523, 2589, + 2679, 2681, 2687, 2693, 2702, 2706, 2707, 2712, 2718, 2720, + 2724, 2726, 2730, 2732, 2740, 2745, 2751, 2760, 2765, 587, + 586, 585, 557, 571, 566, 560, 551, 535, 535, 530, + 501, 461, 465, 454, 3243, 3243, 3243, 472, 3243, 3243, + 3243, 3243, 480, 477, 3243, 469, 470, 1734, 440, 468, + 2767, 2771, 2776, 2785, 2791, 2798, 2809, 2813, 2818, 2822, + 2831, 2836, 2840, 2849, 2853, 2826, 2844, 2857, 2861, 2859, + 2866, 2867, 2871, 2877, 2892, 2875, 2894, 2905, 2911, 2912, + + 444, 451, 447, 443, 444, 1741, 414, 435, 3243, 3243, + 3243, 402, 1916, 386, 1921, 2917, 2928, 2932, 2936, 2948, + 2952, 2959, 2963, 2969, 2942, 2953, 2970, 2975, 2983, 2987, + 2989, 413, 367, 1955, 3243, 364, 3243, 2185, 349, 2994, + 3011, 3020, 3025, 3029, 3005, 3035, 3039, 3041, 3045, 337, + 329, 3243, 3053, 3047, 3059, 3051, 258, 243, 3063, 3078, + 165, 170, 3084, 3093, 166, 191, 3099, 3103, 84, 3243, + 3112, 3105, 3243, 3146, 3152, 3158, 3164, 3170, 3176, 3182, + 3188, 3194, 3200, 3206, 3212, 3218, 3224, 3230, 54, 3236 } ; -static yyconst flex_int16_t yy_def[981] = +static yyconst flex_int16_t yy_def[991] = { 0, - 963, 1, 964, 965, 966, 966, 967, 967, 963, 9, - 963, 11, 963, 13, 968, 968, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 969, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 970, 963, 971, 963, 963, 972, 971, 971, 971, - 973, 963, 963, 973, 973, 974, 963, 963, 975, 963, - 963, 963, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 40, 976, 975, 975, 975, 975, 975, 975, 975, - - 977, 963, 963, 963, 963, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 977, 977, 40, 978, 977, 977, 977, 977, 977, - 977, 977, 963, 963, 963, 979, 979, 979, 979, 979, - 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, - 979, 979, 963, 979, 40, 979, 979, 979, 979, 979, - 980, 963, 963, 963, 963, 980, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 40, 969, 963, 963, 963, 963, 963, 969, 963, - - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 971, 963, 971, 963, 971, 971, 971, 971, 973, - 973, 963, 973, 973, 973, 974, 963, 963, 963, 975, - 975, 975, 963, 963, 963, 963, 963, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 963, 975, 92, 976, 976, 976, 975, 975, 975, 975, - 975, 975, 975, 975, 977, 977, 977, 963, 963, 963, - 963, 963, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - - 977, 977, 977, 977, 977, 963, 963, 977, 124, 978, - 978, 978, 977, 977, 977, 977, 977, 977, 977, 977, - 963, 963, 963, 963, 963, 963, 979, 979, 979, 979, - 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, - 979, 979, 979, 979, 979, 979, 979, 979, 979, 963, - 963, 979, 155, 979, 979, 979, 979, 979, 979, 979, - 980, 980, 980, 963, 963, 963, 963, 963, 980, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - - 963, 963, 971, 973, 973, 973, 963, 963, 975, 963, - 963, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 976, 975, 975, 975, - 975, 975, 975, 977, 963, 963, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 978, 969, 977, 977, 977, 977, 977, 977, 979, - 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, - 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, - - 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, - 980, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 971, 973, 963, 963, 973, - 963, 963, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 977, 977, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 979, 979, 979, 979, 979, 979, - 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, - 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, - 979, 979, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 971, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - - 975, 975, 975, 977, 977, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 977, 977, 979, 979, 979, 979, 979, 979, 979, - 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, - 979, 979, 979, 979, 979, 979, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 971, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - - 975, 975, 975, 975, 975, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 979, - 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, - 979, 979, 979, 979, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 971, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - 979, 979, 979, 979, 979, 979, 979, 963, 963, 963, - - 963, 963, 963, 963, 963, 975, 975, 975, 975, 975, - 975, 975, 975, 977, 977, 977, 977, 977, 977, 977, - 977, 979, 979, 979, 963, 963, 963, 963, 963, 975, - 975, 975, 975, 975, 977, 977, 977, 977, 977, 979, - 963, 963, 975, 975, 977, 977, 979, 963, 975, 977, - 979, 963, 975, 977, 979, 963, 975, 977, 979, 963, - 975, 977, 0, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963 + 973, 1, 974, 975, 976, 976, 977, 977, 973, 9, + 973, 11, 973, 13, 978, 978, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 979, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 980, 973, 981, 973, 973, 982, + 981, 981, 981, 983, 973, 973, 983, 983, 984, 973, + 973, 985, 973, 973, 973, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 985, 985, 43, 986, 985, + + 985, 985, 985, 985, 985, 985, 987, 973, 973, 973, + 987, 987, 973, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 43, 988, 987, 987, 987, 987, 987, 987, + 987, 973, 973, 973, 989, 989, 989, 989, 989, 989, + 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, + 989, 989, 973, 989, 43, 989, 989, 989, 989, 989, + 990, 973, 973, 973, 973, 990, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + + 973, 43, 979, 973, 973, 973, 973, 973, 979, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 981, 973, 981, 973, 981, 981, 981, 981, 983, + 983, 973, 983, 983, 983, 984, 973, 973, 973, 985, + 985, 985, 973, 973, 973, 973, 973, 985, 985, 985, + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 973, 985, 98, 986, 986, 986, 985, 985, 985, 985, + 985, 985, 985, 985, 987, 987, 987, 973, 973, 973, + 973, 973, 987, 987, 987, 987, 987, 987, 987, 987, + + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 973, 973, 987, 133, 988, + 988, 988, 987, 987, 987, 987, 987, 987, 987, 987, + 973, 973, 973, 973, 973, 973, 989, 989, 989, 989, + 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, + 989, 989, 989, 989, 989, 989, 989, 989, 989, 973, + 973, 989, 165, 989, 989, 989, 989, 989, 989, 989, + 990, 990, 990, 973, 973, 973, 973, 973, 990, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 981, 983, 983, 983, 973, 973, 985, 973, + 973, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 985, 986, 985, 985, 985, + 985, 985, 985, 987, 973, 973, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 988, 979, 987, 987, 987, 987, 987, 987, 989, + 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, + + 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, + 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, + 990, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 981, 983, 973, 973, 983, + 973, 973, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 987, 987, 987, 987, 987, 987, 987, + + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 989, 989, 989, 989, 989, 989, + 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, + 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, + 989, 989, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 981, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 987, 989, 989, 989, 989, 989, 989, 989, + 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, + 989, 989, 989, 989, 989, 989, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 981, 985, 985, 985, 985, 985, 985, 985, 985, 985, + + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 987, 987, 987, 987, 989, + 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, + 989, 989, 989, 989, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 981, + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + + 989, 989, 989, 989, 989, 989, 989, 973, 973, 973, + 973, 973, 973, 973, 973, 985, 985, 985, 985, 985, + 985, 985, 985, 987, 987, 987, 987, 987, 987, 987, + 987, 989, 989, 989, 973, 973, 973, 973, 973, 985, + 985, 985, 985, 985, 987, 987, 987, 987, 987, 989, + 973, 973, 985, 985, 987, 987, 989, 973, 985, 987, + 989, 973, 985, 987, 989, 973, 985, 987, 989, 973, + 985, 987, 0, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973 } ; -static yyconst flex_int16_t yy_nxt[3278] = +static yyconst flex_int16_t yy_nxt[3294] = { 0, - 18, 19, 20, 21, 19, 18, 22, 18, 23, 18, - 18, 24, 25, 26, 18, 27, 18, 18, 28, 18, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 18, - 38, 18, 18, 39, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 40, 67, - 68, 40, 41, 203, 62, 63, 42, 50, 51, 52, - 53, 49, 55, 56, 57, 58, 62, 63, 327, 43, - 67, 68, 218, 204, 59, 162, 163, 164, 162, 167, - 165, 171, 167, 176, 180, 44, 177, 45, 172, 46, - 178, 182, 47, 48, 64, 187, 200, 960, 181, 65, - - 219, 205, 60, 206, 223, 166, 64, 188, 183, 224, - 181, 65, 69, 70, 71, 72, 70, 69, 73, 69, - 74, 69, 69, 75, 76, 77, 69, 78, 69, 69, - 79, 69, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 69, 89, 90, 69, 91, 69, 69, 69, 69, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 92, 227, 228, 92, 93, 208, 210, 211, 94, 339, - 162, 163, 164, 162, 341, 165, 209, 213, 215, 216, - 330, 95, 335, 340, 346, 336, 960, 331, 354, 337, - 959, 342, 350, 351, 350, 350, 347, 96, 223, 97, - - 166, 98, 340, 224, 99, 100, 101, 102, 103, 104, - 102, 101, 105, 101, 106, 101, 101, 107, 108, 109, - 101, 110, 101, 101, 111, 101, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 101, 121, 122, 101, 123, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 124, 956, 276, 124, 125, 276, - 276, 357, 126, 276, 231, 376, 231, 231, 359, 167, - 360, 381, 167, 394, 284, 127, 395, 203, 205, 377, - 206, 358, 397, 384, 955, 382, 277, 208, 210, 211, - 277, 128, 952, 129, 232, 130, 951, 204, 131, 132, - - 18, 133, 134, 135, 133, 18, 22, 136, 137, 18, - 136, 138, 139, 140, 136, 141, 136, 136, 142, 136, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 136, - 152, 153, 136, 154, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 18, 18, 155, 948, - 218, 155, 41, 947, 276, 357, 42, 276, 233, 234, - 235, 233, 213, 215, 216, 235, 237, 235, 235, 156, - 231, 942, 231, 231, 231, 358, 231, 231, 219, 298, - 231, 238, 231, 231, 277, 157, 941, 158, 236, 159, - 227, 228, 160, 48, 192, 236, 240, 192, 193, 940, - - 232, 925, 194, 241, 232, 231, 502, 231, 231, 503, - 232, 231, 927, 231, 231, 231, 484, 231, 231, 239, - 231, 926, 231, 231, 242, 406, 407, 408, 406, 489, - 485, 195, 925, 196, 231, 232, 231, 231, 197, 198, - 243, 232, 244, 490, 231, 232, 231, 231, 245, 276, - 232, 246, 276, 924, 231, 247, 231, 231, 248, 231, - 923, 231, 231, 249, 232, 285, 901, 231, 251, 231, - 231, 404, 286, 231, 232, 231, 231, 250, 231, 277, - 231, 231, 505, 492, 232, 252, 900, 899, 231, 232, - 231, 231, 253, 254, 922, 860, 231, 232, 231, 231, - - 905, 255, 902, 232, 256, 258, 901, 231, 232, 231, - 231, 260, 261, 260, 260, 900, 257, 899, 232, 231, - 259, 231, 231, 898, 897, 896, 232, 263, 234, 235, - 263, 265, 895, 265, 265, 894, 231, 232, 231, 231, - 855, 232, 231, 893, 231, 231, 892, 852, 851, 232, - 850, 267, 262, 231, 849, 231, 231, 236, 891, 847, - 231, 266, 231, 231, 846, 250, 232, 231, 845, 231, - 231, 231, 232, 231, 231, 231, 860, 231, 231, 278, - 279, 280, 278, 232, 280, 282, 280, 280, 270, 859, - 232, 276, 276, 858, 276, 276, 268, 232, 283, 857, - - 269, 232, 272, 276, 273, 232, 276, 276, 271, 281, - 276, 856, 288, 855, 281, 276, 287, 854, 276, 853, - 274, 277, 277, 276, 276, 852, 276, 276, 851, 290, - 850, 849, 291, 277, 289, 848, 292, 277, 293, 276, - 276, 276, 276, 276, 276, 277, 300, 276, 294, 296, - 276, 847, 846, 277, 277, 276, 276, 276, 276, 276, - 276, 299, 295, 301, 303, 276, 297, 845, 276, 277, - 277, 277, 844, 276, 843, 302, 276, 277, 304, 305, - 306, 307, 305, 842, 841, 277, 277, 277, 840, 308, - 309, 279, 280, 309, 311, 277, 199, 311, 276, 199, - - 774, 276, 276, 277, 839, 276, 838, 313, 276, 277, - 276, 276, 771, 276, 276, 837, 314, 276, 836, 835, - 281, 295, 834, 766, 312, 765, 764, 362, 277, 316, - 362, 763, 277, 321, 322, 323, 321, 833, 277, 761, - 277, 318, 315, 319, 277, 325, 326, 325, 325, 317, - 353, 322, 323, 353, 760, 832, 831, 363, 231, 320, - 231, 231, 830, 324, 364, 365, 366, 364, 368, 365, - 368, 368, 781, 780, 779, 324, 369, 370, 371, 369, - 324, 231, 778, 231, 231, 777, 776, 775, 232, 409, - 410, 409, 409, 231, 367, 231, 231, 774, 367, 233, - - 234, 235, 233, 773, 772, 771, 363, 235, 234, 235, - 235, 232, 411, 261, 411, 411, 770, 415, 231, 232, - 231, 231, 769, 232, 231, 238, 231, 231, 768, 236, - 231, 767, 231, 231, 766, 765, 764, 236, 231, 413, - 231, 231, 763, 231, 412, 231, 231, 231, 232, 231, - 231, 762, 416, 541, 232, 761, 541, 760, 414, 231, - 232, 231, 231, 759, 758, 757, 417, 231, 232, 231, - 231, 756, 418, 232, 420, 755, 231, 232, 231, 231, - 419, 231, 754, 231, 231, 421, 753, 752, 231, 232, - 231, 231, 231, 541, 231, 231, 541, 232, 542, 422, - - 231, 423, 231, 231, 664, 231, 232, 231, 231, 751, - 750, 232, 276, 424, 425, 276, 749, 231, 232, 231, - 231, 426, 232, 231, 276, 231, 231, 276, 748, 747, - 232, 746, 429, 427, 428, 232, 657, 231, 542, 231, - 231, 231, 277, 231, 231, 656, 745, 232, 430, 231, - 744, 231, 231, 232, 277, 231, 743, 231, 231, 432, - 231, 742, 231, 231, 741, 740, 649, 232, 739, 431, - 433, 232, 260, 261, 260, 260, 738, 434, 737, 232, - 435, 231, 736, 231, 231, 232, 265, 735, 265, 265, - 232, 265, 734, 265, 265, 437, 410, 437, 437, 673, - - 670, 276, 232, 231, 276, 231, 231, 231, 283, 231, - 231, 232, 669, 668, 667, 436, 266, 231, 666, 231, - 231, 266, 665, 276, 664, 266, 276, 438, 424, 663, - 662, 277, 231, 232, 231, 231, 453, 232, 439, 661, - 231, 441, 231, 231, 660, 659, 231, 232, 231, 231, - 440, 658, 231, 277, 231, 231, 231, 541, 231, 231, - 541, 270, 232, 444, 445, 446, 444, 657, 656, 655, - 232, 278, 279, 280, 278, 654, 232, 280, 279, 280, - 280, 271, 232, 442, 653, 652, 232, 307, 306, 307, - 307, 651, 276, 277, 443, 276, 276, 276, 650, 276, - - 276, 281, 542, 649, 648, 448, 276, 281, 276, 276, - 276, 276, 447, 276, 647, 276, 646, 449, 276, 451, - 276, 454, 277, 276, 645, 644, 277, 277, 276, 456, - 450, 276, 276, 452, 276, 276, 277, 276, 277, 643, - 277, 642, 455, 457, 276, 277, 641, 276, 458, 276, - 277, 276, 276, 505, 276, 640, 460, 459, 277, 639, - 276, 638, 277, 276, 277, 461, 637, 276, 463, 464, - 276, 636, 276, 276, 277, 276, 276, 462, 465, 277, - 635, 277, 634, 467, 276, 633, 276, 276, 276, 276, - 277, 276, 305, 306, 307, 305, 632, 277, 631, 468, - - 466, 630, 277, 277, 629, 469, 628, 627, 470, 307, - 306, 307, 307, 626, 277, 625, 277, 624, 277, 623, - 471, 311, 277, 199, 311, 311, 199, 199, 311, 622, - 199, 472, 445, 473, 472, 276, 199, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 276, 621, 276, 276, - 477, 312, 276, 276, 620, 312, 276, 619, 618, 474, - 459, 312, 617, 616, 316, 277, 615, 277, 475, 277, - 546, 277, 476, 277, 325, 277, 325, 325, 362, 277, - 545, 362, 478, 277, 317, 321, 322, 323, 321, 544, - 397, 479, 325, 322, 325, 325, 350, 351, 350, 350, - - 350, 351, 350, 350, 324, 543, 362, 538, 363, 362, - 511, 512, 513, 511, 537, 324, 364, 365, 366, 364, - 536, 535, 324, 368, 365, 368, 368, 371, 370, 371, - 371, 368, 534, 368, 368, 533, 363, 532, 531, 530, - 363, 369, 370, 371, 369, 529, 367, 371, 370, 371, - 371, 528, 527, 367, 539, 540, 539, 539, 526, 525, - 524, 367, 547, 548, 549, 547, 550, 551, 552, 550, - 523, 363, 406, 407, 408, 406, 408, 407, 408, 408, - 409, 410, 409, 409, 411, 261, 411, 411, 522, 231, - 521, 231, 231, 231, 520, 231, 231, 231, 553, 231, - - 231, 231, 519, 231, 231, 518, 517, 516, 404, 515, - 232, 231, 404, 231, 231, 554, 514, 510, 221, 232, - 555, 509, 231, 232, 231, 231, 557, 232, 556, 508, - 231, 232, 231, 231, 231, 507, 231, 231, 506, 504, - 501, 232, 500, 560, 231, 558, 231, 231, 499, 498, - 497, 559, 232, 231, 496, 231, 231, 561, 495, 231, - 232, 231, 231, 231, 232, 231, 231, 231, 494, 231, - 231, 493, 564, 231, 232, 231, 231, 276, 492, 562, - 276, 563, 231, 232, 231, 231, 565, 491, 231, 232, - 231, 231, 488, 232, 487, 567, 486, 232, 568, 566, - - 586, 483, 231, 232, 231, 231, 231, 277, 231, 231, - 482, 231, 232, 231, 231, 569, 481, 570, 232, 231, - 480, 231, 231, 328, 231, 227, 231, 231, 276, 405, - 571, 276, 232, 572, 404, 231, 232, 231, 231, 221, - 231, 232, 231, 231, 217, 231, 403, 231, 231, 232, - 573, 589, 213, 208, 232, 575, 576, 231, 277, 231, - 231, 574, 402, 401, 400, 232, 437, 410, 437, 437, - 232, 578, 540, 578, 578, 232, 579, 399, 231, 579, - 231, 276, 231, 231, 276, 398, 207, 232, 577, 231, - 584, 231, 231, 202, 201, 231, 266, 231, 231, 396, - - 231, 232, 231, 231, 393, 392, 232, 391, 390, 276, - 232, 277, 276, 438, 389, 276, 388, 581, 276, 232, - 276, 580, 387, 276, 386, 232, 444, 445, 446, 444, - 232, 582, 446, 445, 446, 446, 587, 585, 583, 277, - 276, 590, 385, 276, 276, 277, 276, 276, 384, 276, - 277, 276, 383, 591, 276, 588, 277, 276, 276, 592, - 276, 276, 380, 276, 379, 276, 276, 595, 276, 378, - 277, 375, 276, 374, 277, 276, 277, 593, 373, 594, - 276, 277, 596, 276, 372, 598, 276, 277, 277, 276, - 599, 597, 169, 277, 276, 277, 356, 276, 276, 600, - - 276, 276, 277, 276, 355, 601, 276, 352, 276, 276, - 277, 276, 276, 349, 603, 276, 277, 602, 276, 276, - 348, 276, 276, 671, 277, 345, 671, 606, 277, 607, - 277, 344, 604, 343, 605, 338, 277, 610, 277, 334, - 610, 333, 277, 473, 445, 473, 473, 332, 277, 277, - 608, 472, 445, 473, 472, 329, 199, 609, 540, 539, - 609, 276, 276, 276, 276, 276, 276, 277, 672, 328, - 276, 229, 225, 276, 539, 540, 539, 539, 222, 221, - 217, 312, 611, 213, 208, 207, 474, 277, 202, 201, - 191, 277, 277, 277, 511, 512, 513, 511, 612, 613, - - 277, 513, 512, 513, 513, 190, 189, 186, 614, 539, - 540, 539, 539, 547, 548, 549, 547, 549, 548, 549, - 549, 185, 184, 179, 363, 550, 551, 552, 550, 552, - 551, 552, 552, 231, 671, 231, 231, 671, 231, 175, - 231, 231, 231, 276, 231, 231, 276, 174, 674, 675, - 231, 173, 231, 231, 705, 231, 170, 231, 231, 221, - 169, 168, 231, 232, 231, 231, 677, 963, 232, 963, - 676, 221, 232, 277, 231, 963, 231, 231, 963, 672, - 232, 678, 680, 963, 963, 232, 231, 679, 231, 231, - 963, 231, 232, 231, 231, 231, 671, 231, 231, 671, - - 231, 963, 231, 231, 232, 231, 903, 231, 231, 903, - 963, 963, 682, 681, 683, 231, 232, 231, 231, 903, - 685, 232, 903, 963, 903, 232, 684, 903, 686, 231, - 232, 231, 231, 963, 963, 232, 231, 687, 231, 231, - 231, 672, 231, 231, 688, 232, 231, 963, 231, 231, - 231, 904, 231, 231, 231, 928, 231, 231, 928, 232, - 963, 963, 690, 691, 904, 692, 232, 963, 963, 904, - 232, 231, 689, 231, 231, 231, 232, 231, 231, 231, - 232, 231, 231, 963, 232, 693, 928, 695, 231, 928, - 231, 231, 231, 963, 231, 231, 231, 963, 231, 231, - - 929, 232, 694, 928, 696, 232, 928, 963, 963, 232, - 578, 540, 578, 578, 579, 697, 231, 579, 232, 963, - 963, 231, 232, 231, 231, 231, 232, 231, 231, 963, - 231, 929, 231, 231, 702, 276, 231, 702, 276, 698, - 232, 963, 276, 963, 232, 276, 276, 963, 929, 276, - 704, 232, 963, 276, 276, 232, 276, 276, 276, 580, - 232, 276, 701, 963, 232, 277, 699, 963, 700, 707, - 706, 709, 277, 963, 276, 276, 277, 276, 276, 703, - 708, 963, 710, 277, 277, 711, 276, 276, 277, 276, - 276, 276, 276, 963, 276, 276, 712, 276, 276, 717, - - 276, 276, 963, 963, 277, 277, 713, 715, 963, 963, - 716, 276, 714, 963, 276, 276, 277, 277, 276, 718, - 276, 277, 277, 276, 719, 963, 963, 277, 277, 276, - 963, 276, 276, 721, 276, 276, 276, 720, 276, 276, - 722, 277, 963, 276, 725, 277, 276, 963, 276, 723, - 277, 276, 276, 610, 276, 276, 610, 276, 724, 277, - 276, 277, 963, 276, 726, 277, 277, 609, 540, 539, - 609, 963, 963, 277, 276, 727, 963, 276, 277, 963, - 963, 963, 277, 277, 277, 732, 728, 963, 732, 276, - 277, 231, 276, 231, 231, 963, 963, 277, 611, 729, - - 963, 963, 807, 730, 277, 231, 731, 231, 231, 231, - 963, 231, 231, 276, 963, 277, 276, 782, 783, 277, - 231, 232, 231, 231, 231, 963, 231, 231, 785, 963, - 733, 963, 786, 276, 784, 232, 276, 963, 231, 232, - 231, 231, 231, 277, 231, 231, 963, 963, 963, 787, - 232, 963, 963, 231, 232, 231, 231, 231, 808, 231, - 231, 788, 963, 277, 963, 789, 963, 231, 232, 231, - 231, 231, 232, 231, 231, 790, 963, 963, 231, 791, - 231, 231, 231, 232, 231, 231, 231, 232, 231, 231, - 231, 276, 231, 231, 276, 963, 231, 232, 231, 231, - - 231, 232, 231, 231, 792, 963, 963, 793, 232, 963, - 963, 231, 232, 231, 231, 231, 232, 231, 231, 796, - 232, 277, 231, 794, 231, 231, 232, 795, 963, 231, - 232, 231, 231, 231, 963, 231, 231, 799, 797, 963, - 963, 232, 798, 963, 231, 232, 231, 231, 231, 963, - 231, 231, 232, 231, 963, 231, 231, 963, 231, 232, - 231, 231, 231, 232, 231, 231, 963, 963, 963, 801, - 231, 800, 231, 231, 232, 963, 963, 702, 232, 231, - 702, 963, 231, 232, 231, 231, 276, 963, 232, 276, - 802, 963, 232, 276, 803, 276, 276, 811, 276, 963, - - 232, 804, 276, 809, 963, 276, 276, 232, 963, 276, - 810, 963, 232, 963, 812, 963, 277, 276, 276, 806, - 276, 276, 703, 277, 963, 277, 813, 805, 963, 963, - 276, 276, 277, 276, 276, 963, 277, 276, 814, 815, - 276, 276, 276, 816, 276, 276, 276, 277, 277, 276, - 276, 276, 276, 276, 276, 276, 276, 963, 820, 276, - 277, 277, 817, 276, 823, 276, 276, 277, 276, 818, - 963, 277, 277, 819, 821, 276, 277, 963, 276, 963, - 277, 277, 277, 822, 276, 276, 277, 276, 276, 963, - 963, 963, 824, 277, 276, 277, 825, 276, 276, 963, - - 732, 276, 963, 732, 276, 277, 963, 276, 231, 963, - 231, 231, 963, 963, 277, 277, 861, 231, 963, 231, - 231, 826, 963, 963, 277, 862, 827, 963, 277, 828, - 277, 963, 963, 231, 277, 231, 231, 231, 232, 231, - 231, 863, 963, 963, 963, 733, 963, 232, 231, 829, - 231, 231, 231, 963, 231, 231, 231, 276, 231, 231, - 276, 963, 231, 232, 231, 231, 231, 232, 231, 231, - 231, 276, 231, 231, 276, 864, 963, 231, 232, 231, - 231, 231, 232, 231, 231, 865, 232, 277, 963, 866, - 963, 231, 232, 231, 231, 231, 232, 231, 231, 867, - - 232, 277, 231, 868, 231, 231, 231, 232, 231, 231, - 231, 232, 231, 231, 231, 963, 231, 231, 963, 276, - 963, 232, 276, 870, 963, 232, 869, 231, 963, 231, - 231, 231, 232, 231, 231, 871, 232, 963, 963, 231, - 232, 231, 231, 963, 232, 231, 963, 231, 231, 277, - 963, 231, 872, 231, 231, 963, 231, 232, 231, 231, - 276, 232, 276, 276, 276, 276, 963, 276, 876, 232, - 877, 963, 878, 873, 276, 232, 276, 276, 874, 276, - 276, 232, 276, 276, 276, 276, 232, 276, 276, 963, - 277, 276, 277, 875, 277, 276, 880, 879, 276, 276, - - 963, 963, 276, 881, 277, 276, 277, 882, 276, 963, - 277, 963, 277, 883, 277, 963, 276, 276, 277, 276, - 276, 276, 963, 276, 276, 277, 276, 963, 963, 277, - 885, 886, 963, 963, 963, 277, 884, 276, 276, 276, - 276, 276, 276, 963, 963, 276, 277, 277, 276, 276, - 887, 277, 276, 277, 231, 963, 231, 231, 231, 963, - 231, 231, 231, 963, 231, 231, 963, 277, 277, 277, - 963, 231, 889, 231, 231, 277, 963, 963, 963, 277, - 888, 963, 963, 231, 232, 231, 231, 890, 232, 963, - 963, 906, 232, 231, 963, 231, 231, 231, 963, 231, - - 231, 232, 231, 963, 231, 231, 231, 963, 231, 231, - 963, 963, 963, 232, 907, 963, 231, 963, 231, 231, - 963, 963, 276, 232, 908, 276, 231, 232, 231, 231, - 963, 231, 232, 231, 231, 231, 232, 231, 231, 909, - 911, 910, 231, 911, 963, 231, 232, 231, 231, 963, - 276, 276, 277, 276, 276, 963, 232, 276, 963, 276, - 276, 232, 276, 276, 276, 232, 276, 276, 276, 276, - 232, 276, 276, 963, 963, 232, 276, 914, 913, 276, - 277, 277, 963, 276, 915, 912, 276, 277, 963, 277, - 963, 916, 276, 277, 277, 276, 963, 963, 277, 277, - - 917, 276, 919, 963, 276, 919, 277, 918, 276, 963, - 963, 276, 231, 277, 231, 231, 231, 963, 231, 231, - 930, 231, 277, 231, 231, 231, 963, 231, 231, 963, - 963, 277, 277, 231, 963, 231, 231, 911, 277, 231, - 911, 921, 232, 963, 963, 276, 232, 920, 276, 963, - 231, 232, 231, 231, 933, 232, 231, 933, 276, 276, - 963, 276, 276, 232, 963, 931, 935, 232, 276, 963, - 276, 276, 963, 276, 919, 277, 276, 919, 938, 276, - 232, 938, 912, 231, 232, 231, 231, 963, 277, 277, - 231, 963, 231, 231, 231, 932, 231, 231, 277, 934, - - 277, 963, 936, 963, 277, 963, 277, 933, 277, 231, - 933, 963, 231, 232, 231, 231, 963, 963, 963, 920, - 232, 937, 963, 939, 232, 276, 276, 943, 276, 276, - 276, 938, 276, 276, 938, 276, 231, 232, 231, 231, - 963, 231, 232, 231, 231, 963, 963, 963, 276, 963, - 276, 276, 934, 276, 963, 277, 277, 944, 963, 945, - 277, 277, 277, 963, 963, 231, 232, 231, 231, 276, - 276, 232, 276, 276, 963, 949, 939, 946, 277, 231, - 277, 231, 231, 231, 963, 231, 231, 950, 963, 276, - 276, 961, 276, 276, 963, 232, 963, 962, 963, 277, - - 277, 231, 963, 231, 231, 958, 963, 953, 963, 232, - 963, 954, 963, 232, 957, 963, 963, 963, 963, 277, - 277, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 232, 49, 49, 49, 49, 49, 49, 54, 54, - 54, 54, 54, 54, 61, 61, 61, 61, 61, 61, - 66, 66, 66, 66, 66, 66, 161, 161, 161, 161, - 161, 161, 199, 199, 963, 199, 199, 199, 209, 209, - 209, 209, 209, 209, 212, 963, 963, 963, 212, 212, - 214, 214, 214, 214, 214, 214, 220, 220, 963, 963, - 220, 220, 226, 226, 226, 226, 226, 226, 230, 230, - - 963, 230, 230, 230, 264, 264, 963, 264, 264, 264, - 275, 275, 963, 963, 963, 275, 310, 310, 963, 310, - 310, 310, 361, 361, 963, 963, 963, 361, 17, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963 + 18, 19, 20, 21, 19, 18, 22, 23, 24, 23, + 25, 26, 18, 27, 28, 29, 18, 30, 18, 18, + 31, 18, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 18, 41, 18, 18, 42, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 43, 70, 71, 43, 44, 53, 54, 55, 56, 337, + 45, 52, 58, 59, 60, 61, 65, 66, 65, 66, + 70, 71, 177, 46, 181, 177, 62, 172, 173, 174, + 172, 182, 197, 186, 175, 190, 187, 210, 192, 47, + 188, 48, 213, 49, 198, 970, 50, 51, 215, 191, + + 216, 191, 233, 177, 63, 193, 177, 234, 67, 176, + 67, 404, 214, 68, 405, 68, 72, 73, 74, 75, + 73, 72, 76, 77, 78, 77, 79, 80, 72, 81, + 82, 83, 72, 84, 72, 72, 85, 72, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 72, 95, 96, + 72, 97, 72, 72, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 72, 72, 98, 228, 340, 98, + 99, 172, 173, 174, 172, 341, 100, 349, 175, 218, + 220, 221, 219, 223, 225, 226, 237, 238, 356, 101, + 345, 350, 364, 346, 351, 229, 369, 347, 370, 215, + + 357, 216, 970, 176, 969, 102, 350, 103, 966, 104, + 965, 352, 105, 106, 107, 108, 109, 110, 108, 107, + 111, 112, 113, 112, 114, 115, 107, 116, 117, 118, + 107, 119, 107, 107, 120, 107, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 107, 130, 131, 107, 132, + 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 133, 367, 213, 133, 134, 241, + 286, 241, 241, 286, 135, 386, 243, 244, 245, 243, + 360, 361, 360, 360, 391, 368, 214, 136, 962, 387, + 407, 394, 218, 220, 221, 223, 225, 226, 392, 233, + + 961, 242, 287, 137, 234, 138, 512, 139, 246, 513, + 140, 141, 18, 142, 143, 144, 142, 18, 22, 23, + 24, 145, 146, 26, 147, 148, 149, 150, 147, 151, + 147, 147, 152, 147, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 147, 162, 163, 147, 164, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 18, 18, 165, 237, 238, 165, 44, 245, 247, 245, + 245, 958, 45, 957, 241, 286, 241, 241, 286, 241, + 286, 241, 241, 286, 241, 166, 241, 241, 248, 241, + 494, 241, 241, 241, 228, 241, 241, 952, 248, 246, + + 951, 167, 950, 168, 495, 169, 242, 287, 170, 51, + 202, 242, 287, 202, 203, 241, 242, 241, 241, 367, + 204, 242, 229, 286, 935, 242, 286, 241, 499, 241, + 241, 249, 293, 241, 937, 241, 241, 936, 241, 368, + 241, 241, 500, 515, 502, 250, 935, 242, 252, 205, + 934, 206, 251, 933, 911, 287, 207, 208, 910, 242, + 253, 241, 909, 241, 241, 242, 241, 932, 241, 241, + 242, 241, 870, 241, 241, 241, 915, 241, 241, 912, + 911, 241, 255, 241, 241, 256, 259, 258, 910, 257, + 254, 909, 261, 242, 241, 908, 241, 241, 242, 907, + + 260, 906, 241, 242, 241, 241, 905, 242, 241, 262, + 241, 241, 241, 242, 241, 241, 241, 904, 241, 241, + 241, 263, 241, 241, 264, 551, 242, 268, 551, 241, + 266, 241, 241, 265, 242, 269, 270, 271, 270, 270, + 242, 865, 267, 275, 242, 275, 275, 241, 242, 241, + 241, 903, 242, 273, 244, 245, 273, 241, 902, 241, + 241, 242, 862, 241, 272, 241, 241, 241, 242, 241, + 241, 861, 552, 551, 277, 276, 551, 860, 241, 242, + 241, 241, 859, 901, 241, 246, 241, 241, 260, 242, + 241, 286, 241, 241, 286, 242, 857, 856, 855, 242, + + 293, 280, 278, 288, 289, 290, 288, 870, 869, 279, + 242, 290, 292, 290, 290, 286, 242, 282, 286, 283, + 552, 281, 242, 287, 286, 286, 286, 286, 286, 286, + 286, 294, 868, 286, 867, 291, 286, 284, 286, 286, + 297, 286, 295, 291, 866, 865, 864, 287, 298, 296, + 286, 286, 303, 286, 286, 863, 287, 287, 287, 299, + 286, 286, 287, 286, 286, 308, 300, 862, 287, 301, + 287, 304, 306, 302, 286, 286, 310, 286, 286, 861, + 860, 286, 287, 287, 286, 305, 313, 286, 286, 307, + 286, 286, 287, 287, 859, 858, 309, 857, 321, 311, + + 209, 321, 314, 856, 855, 209, 287, 287, 854, 286, + 853, 312, 286, 287, 315, 316, 317, 315, 286, 287, + 287, 286, 852, 318, 319, 289, 290, 319, 286, 323, + 322, 286, 286, 851, 286, 286, 286, 286, 850, 286, + 784, 287, 551, 305, 286, 551, 287, 286, 849, 848, + 287, 331, 332, 333, 331, 781, 291, 326, 372, 847, + 287, 372, 846, 845, 287, 844, 287, 681, 287, 328, + 681, 329, 776, 324, 325, 775, 287, 327, 335, 336, + 335, 335, 774, 334, 363, 332, 333, 363, 773, 552, + 373, 330, 374, 375, 376, 374, 378, 375, 378, 378, + + 379, 380, 381, 379, 416, 417, 418, 416, 843, 241, + 334, 241, 241, 771, 682, 241, 334, 241, 241, 419, + 420, 419, 419, 770, 377, 842, 286, 841, 377, 286, + 840, 791, 373, 243, 244, 245, 243, 245, 244, 245, + 245, 242, 421, 271, 421, 421, 241, 242, 241, 241, + 790, 242, 414, 789, 241, 248, 241, 241, 287, 241, + 788, 241, 241, 787, 241, 246, 241, 241, 786, 246, + 423, 241, 286, 241, 241, 286, 422, 241, 242, 241, + 241, 785, 241, 784, 241, 241, 242, 783, 426, 782, + 425, 242, 241, 424, 241, 241, 242, 428, 241, 781, + + 241, 241, 427, 242, 287, 780, 779, 429, 241, 242, + 241, 241, 778, 241, 242, 241, 241, 777, 776, 431, + 241, 775, 241, 241, 242, 774, 241, 430, 241, 241, + 242, 773, 772, 432, 241, 433, 241, 241, 771, 241, + 242, 241, 241, 770, 769, 242, 241, 434, 241, 241, + 435, 241, 242, 241, 241, 768, 767, 436, 242, 766, + 765, 241, 439, 241, 241, 438, 242, 764, 763, 437, + 241, 242, 241, 241, 440, 762, 674, 241, 242, 241, + 241, 761, 241, 242, 241, 241, 760, 759, 241, 442, + 241, 241, 758, 242, 270, 271, 270, 270, 757, 443, + + 441, 241, 242, 241, 241, 756, 667, 444, 666, 242, + 445, 755, 754, 275, 242, 275, 275, 753, 752, 275, + 242, 275, 275, 751, 750, 659, 242, 447, 420, 447, + 447, 749, 241, 242, 241, 241, 241, 446, 241, 241, + 241, 748, 241, 241, 241, 276, 241, 241, 747, 746, + 241, 276, 241, 241, 241, 451, 241, 241, 241, 276, + 241, 241, 448, 434, 242, 449, 745, 241, 242, 241, + 241, 744, 242, 280, 683, 450, 242, 454, 455, 456, + 454, 680, 242, 679, 678, 286, 242, 677, 286, 676, + 242, 675, 286, 281, 293, 286, 674, 452, 453, 242, + + 288, 289, 290, 288, 290, 289, 290, 290, 673, 287, + 317, 316, 317, 317, 457, 286, 286, 287, 286, 286, + 286, 672, 286, 286, 287, 286, 458, 286, 286, 671, + 286, 286, 291, 670, 669, 668, 291, 463, 459, 461, + 286, 286, 464, 286, 286, 667, 460, 287, 287, 666, + 665, 664, 287, 462, 287, 286, 663, 662, 286, 287, + 287, 286, 286, 468, 286, 286, 466, 286, 286, 465, + 286, 286, 287, 287, 286, 661, 286, 286, 286, 286, + 467, 286, 660, 659, 658, 474, 470, 287, 469, 286, + 471, 475, 286, 287, 287, 473, 657, 656, 472, 287, + + 287, 286, 655, 654, 286, 653, 287, 652, 287, 286, + 287, 651, 286, 477, 286, 286, 515, 286, 286, 476, + 650, 287, 315, 316, 317, 315, 478, 317, 316, 317, + 317, 649, 286, 287, 479, 286, 321, 480, 209, 321, + 648, 287, 321, 209, 209, 321, 287, 287, 286, 209, + 481, 286, 647, 646, 287, 482, 455, 483, 482, 645, + 644, 643, 209, 286, 287, 485, 286, 286, 322, 286, + 286, 642, 286, 641, 322, 640, 286, 639, 487, 286, + 287, 286, 286, 486, 286, 286, 638, 322, 637, 484, + 469, 636, 326, 635, 335, 287, 335, 335, 634, 287, + + 633, 287, 331, 332, 333, 331, 372, 372, 287, 372, + 372, 632, 327, 287, 287, 488, 335, 332, 335, 335, + 360, 361, 360, 360, 631, 489, 334, 360, 361, 360, + 360, 630, 629, 378, 334, 378, 378, 628, 373, 373, + 521, 522, 523, 521, 374, 375, 376, 374, 334, 378, + 375, 378, 378, 381, 380, 381, 381, 379, 380, 381, + 379, 381, 380, 381, 381, 377, 549, 550, 549, 549, + 627, 626, 373, 625, 556, 555, 377, 557, 558, 559, + 557, 377, 560, 561, 562, 560, 554, 407, 553, 373, + 416, 417, 418, 416, 418, 417, 418, 418, 548, 419, + + 420, 419, 419, 421, 271, 421, 421, 241, 547, 241, + 241, 241, 546, 241, 241, 545, 544, 241, 563, 241, + 241, 241, 543, 241, 241, 414, 456, 455, 456, 456, + 414, 242, 542, 541, 241, 564, 241, 241, 231, 242, + 540, 539, 565, 242, 241, 538, 241, 241, 537, 242, + 566, 567, 241, 242, 241, 241, 241, 536, 241, 241, + 286, 535, 241, 286, 241, 241, 242, 570, 241, 568, + 241, 241, 609, 534, 533, 569, 242, 571, 241, 532, + 241, 241, 531, 241, 242, 241, 241, 241, 242, 241, + 241, 530, 287, 529, 242, 528, 572, 527, 574, 526, + + 242, 525, 573, 241, 575, 241, 241, 524, 520, 241, + 242, 241, 241, 519, 241, 242, 241, 241, 241, 242, + 241, 241, 518, 517, 577, 241, 578, 241, 241, 681, + 516, 576, 681, 579, 241, 242, 241, 241, 580, 514, + 241, 242, 241, 241, 511, 241, 242, 241, 241, 286, + 242, 241, 286, 241, 241, 581, 582, 242, 241, 510, + 241, 241, 509, 508, 507, 241, 242, 241, 241, 506, + 505, 504, 242, 583, 596, 585, 682, 242, 586, 584, + 503, 287, 241, 242, 241, 241, 447, 420, 447, 447, + 242, 588, 550, 588, 588, 502, 589, 242, 241, 589, + + 241, 501, 241, 241, 241, 498, 241, 241, 241, 286, + 241, 241, 286, 681, 242, 587, 681, 241, 276, 241, + 241, 497, 496, 242, 454, 455, 456, 454, 242, 493, + 448, 286, 242, 595, 286, 286, 242, 492, 286, 591, + 242, 287, 594, 590, 286, 286, 592, 286, 286, 242, + 286, 286, 491, 286, 286, 286, 287, 593, 286, 490, + 682, 598, 601, 287, 597, 286, 286, 287, 286, 286, + 599, 286, 338, 600, 286, 286, 287, 287, 286, 604, + 602, 286, 287, 287, 286, 286, 605, 287, 286, 237, + 286, 415, 606, 286, 603, 414, 231, 287, 287, 286, + + 608, 286, 286, 287, 286, 610, 227, 287, 286, 607, + 413, 286, 611, 287, 617, 286, 286, 287, 286, 286, + 286, 286, 287, 286, 286, 286, 223, 218, 286, 612, + 412, 287, 613, 287, 411, 913, 410, 616, 913, 409, + 287, 408, 913, 614, 217, 913, 212, 287, 287, 615, + 211, 620, 287, 287, 620, 406, 403, 287, 618, 482, + 455, 483, 482, 402, 401, 400, 209, 483, 455, 483, + 483, 619, 550, 549, 619, 286, 286, 286, 286, 286, + 286, 286, 914, 287, 286, 549, 550, 549, 549, 914, + 399, 322, 521, 522, 523, 521, 398, 397, 621, 396, + + 395, 394, 484, 287, 393, 390, 389, 287, 287, 287, + 388, 385, 384, 287, 622, 623, 523, 522, 523, 523, + 241, 624, 241, 241, 373, 549, 550, 549, 549, 557, + 558, 559, 557, 559, 558, 559, 559, 560, 561, 562, + 560, 562, 561, 562, 562, 383, 241, 382, 241, 241, + 686, 241, 242, 241, 241, 241, 179, 241, 241, 241, + 366, 241, 241, 684, 685, 241, 365, 241, 241, 241, + 362, 241, 241, 687, 359, 358, 355, 231, 242, 690, + 354, 286, 353, 242, 286, 231, 689, 242, 348, 344, + 343, 242, 241, 688, 241, 241, 241, 242, 241, 241, + + 342, 242, 241, 339, 241, 241, 338, 241, 338, 241, + 241, 716, 241, 287, 241, 241, 239, 913, 235, 692, + 913, 691, 938, 693, 242, 938, 232, 231, 242, 695, + 241, 227, 241, 241, 242, 694, 223, 218, 241, 242, + 241, 241, 217, 212, 242, 696, 211, 241, 697, 241, + 241, 201, 241, 200, 241, 241, 938, 698, 241, 938, + 241, 241, 242, 241, 914, 241, 241, 199, 286, 939, + 242, 286, 241, 286, 241, 241, 286, 196, 701, 242, + 699, 715, 700, 195, 242, 702, 241, 194, 241, 241, + 242, 241, 189, 241, 241, 242, 241, 185, 241, 241, + + 287, 718, 703, 939, 242, 287, 705, 241, 184, 241, + 241, 241, 183, 241, 241, 180, 179, 179, 242, 241, + 704, 241, 241, 242, 589, 706, 241, 589, 242, 588, + 550, 588, 588, 178, 973, 241, 707, 241, 241, 242, + 973, 973, 241, 242, 241, 241, 241, 286, 241, 241, + 286, 242, 712, 973, 241, 712, 242, 973, 973, 286, + 973, 242, 286, 286, 708, 717, 286, 242, 973, 286, + 973, 590, 286, 973, 242, 973, 714, 973, 242, 287, + 711, 973, 709, 286, 242, 286, 286, 710, 286, 286, + 719, 287, 286, 720, 286, 287, 973, 286, 721, 713, + + 973, 287, 286, 286, 286, 286, 286, 286, 722, 286, + 723, 973, 286, 286, 727, 287, 286, 287, 726, 725, + 973, 287, 724, 728, 286, 286, 287, 286, 286, 286, + 286, 973, 286, 286, 287, 287, 287, 729, 973, 973, + 731, 287, 732, 973, 286, 287, 733, 286, 730, 286, + 286, 286, 286, 286, 286, 286, 287, 287, 286, 735, + 973, 287, 287, 619, 550, 549, 619, 620, 736, 286, + 620, 973, 286, 734, 286, 286, 287, 286, 286, 973, + 737, 287, 287, 287, 973, 742, 938, 287, 742, 938, + 241, 973, 241, 241, 286, 287, 738, 286, 973, 287, + + 973, 287, 241, 973, 241, 241, 287, 287, 241, 741, + 241, 241, 973, 973, 621, 973, 739, 287, 792, 740, + 973, 818, 242, 793, 973, 241, 287, 241, 241, 794, + 973, 973, 743, 939, 242, 795, 241, 973, 241, 241, + 242, 241, 973, 241, 241, 241, 796, 241, 241, 241, + 973, 241, 241, 241, 797, 241, 241, 242, 241, 798, + 241, 241, 241, 799, 241, 241, 973, 241, 242, 241, + 241, 286, 800, 242, 286, 973, 241, 242, 241, 241, + 241, 242, 241, 241, 821, 242, 801, 973, 973, 241, + 242, 241, 241, 973, 242, 802, 973, 973, 241, 242, + + 241, 241, 241, 287, 241, 241, 973, 803, 242, 973, + 973, 286, 242, 241, 286, 241, 241, 241, 973, 241, + 241, 242, 241, 806, 241, 241, 241, 804, 241, 241, + 242, 805, 973, 973, 242, 241, 809, 241, 241, 816, + 973, 973, 807, 287, 808, 242, 973, 973, 241, 242, + 241, 241, 973, 241, 242, 241, 241, 241, 242, 241, + 241, 241, 973, 241, 241, 973, 241, 242, 241, 241, + 241, 973, 241, 241, 973, 286, 811, 810, 286, 712, + 242, 241, 712, 973, 241, 242, 241, 241, 973, 242, + 817, 286, 286, 242, 286, 286, 812, 973, 242, 973, + + 813, 819, 242, 814, 973, 286, 973, 287, 286, 286, + 286, 242, 286, 286, 286, 820, 242, 286, 286, 822, + 823, 286, 286, 287, 287, 286, 713, 286, 824, 973, + 286, 815, 825, 286, 973, 286, 286, 287, 286, 973, + 286, 287, 287, 286, 286, 973, 287, 286, 286, 286, + 287, 286, 286, 286, 287, 826, 286, 973, 830, 287, + 827, 286, 973, 286, 286, 287, 286, 287, 973, 828, + 973, 833, 287, 829, 831, 832, 287, 973, 973, 286, + 287, 287, 286, 286, 286, 287, 286, 286, 286, 286, + 973, 286, 286, 287, 286, 287, 973, 286, 742, 286, + + 973, 742, 286, 973, 973, 973, 835, 241, 834, 241, + 241, 287, 973, 973, 973, 287, 287, 871, 973, 973, + 287, 287, 838, 836, 286, 973, 287, 286, 837, 973, + 287, 287, 241, 973, 241, 241, 973, 973, 241, 242, + 241, 241, 872, 973, 973, 743, 839, 241, 873, 241, + 241, 241, 973, 241, 241, 241, 287, 241, 241, 241, + 973, 241, 241, 241, 242, 241, 241, 973, 973, 241, + 242, 241, 241, 241, 973, 241, 241, 973, 973, 242, + 874, 973, 241, 242, 241, 241, 241, 242, 241, 241, + 286, 242, 875, 286, 973, 242, 876, 241, 973, 241, + + 241, 242, 973, 973, 973, 242, 241, 877, 241, 241, + 241, 973, 241, 241, 242, 973, 878, 241, 242, 241, + 241, 241, 287, 241, 241, 241, 973, 241, 241, 242, + 241, 973, 241, 241, 973, 973, 880, 973, 242, 879, + 881, 241, 242, 241, 241, 241, 973, 241, 241, 242, + 973, 973, 241, 242, 241, 241, 882, 242, 241, 973, + 241, 241, 242, 241, 286, 241, 241, 286, 286, 286, + 973, 286, 286, 242, 886, 973, 973, 242, 887, 888, + 286, 973, 286, 286, 242, 286, 973, 884, 286, 883, + 242, 286, 973, 973, 286, 242, 287, 286, 973, 973, + + 287, 287, 885, 286, 973, 889, 286, 286, 286, 973, + 286, 286, 287, 286, 287, 973, 286, 890, 891, 286, + 287, 286, 286, 892, 286, 286, 287, 286, 286, 893, + 286, 286, 973, 286, 286, 287, 286, 973, 973, 287, + 287, 286, 895, 896, 286, 287, 286, 894, 973, 286, + 973, 287, 286, 287, 973, 286, 897, 287, 973, 287, + 973, 286, 973, 287, 286, 287, 286, 973, 241, 286, + 241, 241, 241, 287, 241, 241, 973, 241, 287, 241, + 241, 973, 973, 973, 287, 973, 241, 899, 241, 241, + 898, 973, 241, 287, 241, 241, 973, 973, 287, 241, + + 242, 241, 241, 973, 242, 900, 973, 973, 916, 242, + 241, 973, 241, 241, 241, 973, 241, 241, 242, 241, + 973, 241, 241, 241, 242, 241, 241, 286, 973, 917, + 286, 242, 241, 918, 241, 241, 973, 241, 973, 241, + 241, 241, 242, 241, 241, 286, 242, 919, 286, 920, + 921, 242, 241, 921, 241, 242, 241, 241, 286, 287, + 286, 286, 286, 286, 242, 286, 973, 286, 286, 242, + 286, 286, 286, 242, 973, 286, 286, 287, 286, 286, + 973, 286, 242, 973, 924, 973, 242, 973, 925, 923, + 287, 973, 287, 286, 287, 286, 286, 922, 286, 287, + + 287, 973, 973, 926, 287, 927, 286, 973, 287, 286, + 287, 973, 929, 286, 928, 929, 286, 973, 241, 973, + 241, 241, 973, 973, 973, 287, 973, 287, 940, 241, + 973, 241, 241, 241, 973, 241, 241, 241, 287, 241, + 241, 973, 973, 286, 287, 287, 286, 973, 931, 241, + 242, 241, 241, 921, 286, 241, 921, 286, 973, 930, + 241, 242, 241, 241, 943, 242, 241, 943, 973, 242, + 286, 286, 973, 286, 286, 287, 286, 973, 973, 286, + 945, 242, 973, 941, 929, 242, 287, 929, 286, 973, + 948, 286, 242, 948, 973, 241, 242, 241, 241, 973, + + 922, 973, 287, 287, 973, 973, 286, 942, 287, 286, + 946, 944, 241, 973, 241, 241, 287, 973, 973, 973, + 287, 241, 287, 241, 241, 973, 943, 242, 241, 943, + 241, 930, 241, 241, 973, 947, 286, 949, 287, 286, + 286, 973, 948, 286, 242, 948, 286, 953, 241, 286, + 241, 241, 286, 242, 241, 286, 241, 241, 242, 973, + 286, 973, 242, 286, 241, 973, 241, 241, 287, 973, + 973, 955, 287, 944, 287, 973, 973, 954, 287, 286, + 242, 973, 286, 973, 287, 241, 242, 241, 241, 949, + 973, 973, 287, 956, 286, 959, 242, 286, 973, 973, + + 241, 960, 241, 241, 286, 973, 286, 286, 963, 286, + 971, 287, 973, 241, 972, 241, 241, 242, 973, 973, + 973, 973, 967, 964, 973, 973, 287, 973, 973, 973, + 973, 968, 242, 973, 973, 973, 287, 973, 287, 973, + 973, 973, 973, 973, 973, 242, 52, 52, 52, 52, + 52, 52, 57, 57, 57, 57, 57, 57, 64, 64, + 64, 64, 64, 64, 69, 69, 69, 69, 69, 69, + 171, 171, 171, 171, 171, 171, 209, 209, 973, 209, + 209, 209, 219, 219, 219, 219, 219, 219, 222, 973, + 973, 973, 222, 222, 224, 224, 224, 224, 224, 224, + + 230, 230, 973, 973, 230, 230, 236, 236, 236, 236, + 236, 236, 240, 240, 973, 240, 240, 240, 274, 274, + 973, 274, 274, 274, 285, 285, 973, 973, 973, 285, + 320, 320, 973, 320, 320, 320, 371, 371, 973, 973, + 973, 371, 17, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973 + } ; -static yyconst flex_int16_t yy_chk[3278] = +static yyconst flex_int16_t yy_chk[3294] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 7, - 7, 2, 2, 46, 5, 5, 2, 3, 3, 3, - 3, 4, 4, 4, 4, 4, 6, 6, 979, 2, - 8, 8, 60, 46, 4, 15, 15, 15, 15, 19, - 15, 25, 19, 29, 31, 2, 29, 2, 25, 2, - 29, 32, 2, 2, 5, 36, 43, 959, 31, 5, - - 60, 47, 4, 47, 64, 15, 6, 36, 32, 64, - 43, 6, 9, 9, 9, 9, 9, 9, 9, 9, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 7, 7, 2, 2, 3, 3, 3, 3, 989, + 2, 4, 4, 4, 4, 4, 5, 5, 6, 6, + 8, 8, 19, 2, 28, 19, 4, 15, 15, 15, + 15, 28, 39, 32, 15, 34, 32, 46, 35, 2, + 32, 2, 49, 2, 39, 969, 2, 2, 50, 34, + + 50, 46, 67, 177, 4, 35, 177, 67, 5, 15, + 6, 200, 49, 5, 200, 6, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 10, 66, 66, 10, 10, 52, 52, 52, 10, 145, - 16, 16, 16, 16, 146, 16, 57, 57, 57, 57, - 139, 10, 143, 145, 150, 143, 956, 139, 156, 143, - 955, 146, 153, 153, 153, 153, 150, 10, 223, 10, + 9, 9, 9, 9, 9, 9, 10, 63, 149, 10, + 10, 16, 16, 16, 16, 149, 10, 155, 16, 55, + 55, 55, 60, 60, 60, 60, 69, 69, 160, 10, + 153, 155, 166, 153, 156, 63, 170, 153, 170, 207, - 16, 10, 156, 223, 10, 10, 11, 11, 11, 11, + 160, 207, 966, 16, 965, 10, 166, 10, 962, 10, + 961, 156, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 12, 952, 101, 12, 12, 101, - 107, 159, 12, 107, 69, 174, 69, 69, 160, 167, - 160, 178, 167, 190, 107, 12, 190, 204, 197, 174, - 197, 159, 200, 200, 951, 178, 101, 211, 211, 211, - 107, 12, 948, 12, 69, 12, 947, 204, 12, 12, + 11, 11, 11, 11, 12, 169, 214, 12, 12, 72, + 107, 72, 72, 107, 12, 184, 73, 73, 73, 73, + 163, 163, 163, 163, 188, 169, 214, 12, 958, 184, + 210, 210, 221, 221, 221, 226, 226, 226, 188, 233, + 957, 72, 107, 12, 233, 12, 359, 12, 73, 359, + 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 14, 941, - 219, 14, 14, 940, 116, 358, 14, 116, 70, 70, - 70, 70, 216, 216, 216, 72, 72, 72, 72, 14, - 73, 929, 73, 73, 74, 358, 74, 74, 219, 116, - 76, 74, 76, 76, 116, 14, 926, 14, 70, 14, - 226, 226, 14, 14, 40, 72, 76, 40, 40, 923, - - 73, 922, 40, 76, 74, 75, 349, 75, 75, 349, - 76, 77, 904, 77, 77, 79, 333, 79, 79, 75, - 78, 902, 78, 78, 77, 225, 225, 225, 225, 337, - 333, 40, 898, 40, 80, 75, 80, 80, 40, 40, - 78, 77, 79, 337, 81, 79, 81, 81, 80, 108, - 78, 80, 108, 897, 82, 80, 82, 82, 81, 83, - 895, 83, 83, 82, 80, 108, 894, 84, 83, 84, - 84, 225, 108, 85, 81, 85, 85, 82, 86, 108, - 86, 86, 354, 354, 82, 83, 893, 892, 87, 83, - 87, 87, 84, 85, 891, 860, 88, 84, 88, 88, - - 859, 86, 857, 85, 87, 88, 856, 89, 86, 89, - 89, 90, 90, 90, 90, 854, 87, 853, 87, 91, - 89, 91, 91, 848, 844, 843, 88, 92, 92, 92, - 92, 93, 842, 93, 93, 841, 94, 89, 94, 94, - 840, 90, 95, 839, 95, 95, 838, 837, 836, 91, - 835, 95, 91, 96, 834, 96, 96, 92, 833, 832, - 97, 93, 97, 97, 831, 95, 94, 98, 830, 98, - 98, 99, 95, 99, 99, 100, 781, 100, 100, 102, - 102, 102, 102, 96, 104, 104, 104, 104, 98, 779, - 97, 106, 110, 778, 106, 110, 96, 98, 106, 777, - - 97, 99, 99, 109, 99, 100, 109, 111, 98, 102, - 111, 776, 110, 775, 104, 112, 109, 773, 112, 772, - 100, 106, 110, 118, 113, 770, 118, 113, 769, 112, - 768, 767, 112, 109, 111, 762, 112, 111, 113, 114, - 115, 117, 114, 115, 117, 112, 118, 119, 114, 115, - 119, 759, 758, 118, 113, 120, 123, 126, 120, 123, - 126, 117, 114, 119, 120, 121, 115, 757, 121, 114, - 115, 117, 756, 128, 755, 119, 128, 119, 121, 122, - 122, 122, 122, 754, 753, 120, 123, 126, 752, 123, - 124, 124, 124, 124, 125, 121, 125, 125, 127, 125, - - 751, 127, 129, 128, 750, 129, 749, 127, 130, 122, - 131, 130, 748, 131, 132, 747, 128, 132, 746, 745, - 124, 127, 744, 743, 125, 742, 741, 161, 127, 130, - 161, 740, 129, 133, 133, 133, 133, 739, 130, 738, - 131, 131, 129, 131, 132, 135, 135, 135, 135, 130, - 155, 155, 155, 155, 737, 736, 735, 161, 230, 132, - 230, 230, 734, 133, 162, 162, 162, 162, 164, 164, - 164, 164, 673, 672, 670, 135, 166, 166, 166, 166, - 155, 231, 669, 231, 231, 667, 666, 665, 230, 232, - 232, 232, 232, 242, 162, 242, 242, 663, 164, 233, - - 233, 233, 233, 662, 661, 660, 166, 235, 235, 235, - 235, 231, 236, 236, 236, 236, 659, 242, 238, 232, - 238, 238, 658, 242, 239, 238, 239, 239, 655, 233, - 240, 654, 240, 240, 653, 652, 651, 235, 241, 240, - 241, 241, 650, 243, 239, 243, 243, 246, 238, 246, - 246, 648, 243, 398, 239, 647, 398, 646, 241, 244, - 240, 244, 244, 645, 644, 643, 243, 245, 241, 245, - 245, 641, 244, 243, 246, 640, 247, 246, 247, 247, - 245, 248, 639, 248, 248, 247, 638, 637, 249, 244, - 249, 249, 250, 506, 250, 250, 506, 245, 398, 247, - - 251, 248, 251, 251, 636, 252, 247, 252, 252, 635, - 634, 248, 275, 249, 250, 275, 633, 253, 249, 253, - 253, 251, 250, 254, 276, 254, 254, 276, 632, 631, - 251, 630, 254, 252, 253, 252, 629, 255, 506, 255, - 255, 256, 275, 256, 256, 628, 627, 253, 255, 257, - 626, 257, 257, 254, 276, 258, 625, 258, 258, 257, - 259, 624, 259, 259, 623, 622, 621, 255, 620, 256, - 258, 256, 260, 260, 260, 260, 619, 259, 618, 257, - 259, 262, 617, 262, 262, 258, 264, 616, 264, 264, - 259, 265, 615, 265, 265, 266, 266, 266, 266, 546, - - 544, 283, 260, 267, 283, 267, 267, 268, 283, 268, - 268, 262, 543, 542, 538, 262, 264, 269, 537, 269, - 269, 265, 536, 289, 535, 266, 289, 267, 267, 534, - 533, 283, 270, 267, 270, 270, 289, 268, 268, 532, - 271, 270, 271, 271, 531, 530, 272, 269, 272, 272, - 269, 529, 273, 289, 273, 273, 274, 541, 274, 274, - 541, 271, 270, 277, 277, 277, 277, 528, 527, 526, - 271, 278, 278, 278, 278, 525, 272, 280, 280, 280, - 280, 271, 273, 272, 524, 523, 274, 281, 281, 281, - 281, 522, 284, 277, 273, 284, 285, 286, 521, 285, - - 286, 278, 541, 520, 519, 285, 287, 280, 290, 287, - 288, 290, 284, 288, 518, 291, 517, 286, 291, 288, - 292, 290, 284, 292, 516, 515, 285, 286, 293, 292, - 287, 293, 294, 288, 295, 294, 287, 295, 290, 514, - 288, 510, 291, 292, 296, 291, 509, 296, 293, 297, - 292, 298, 297, 508, 298, 507, 295, 294, 293, 504, - 299, 503, 294, 299, 295, 296, 502, 300, 298, 299, - 300, 501, 301, 302, 296, 301, 302, 297, 300, 297, - 500, 298, 499, 302, 303, 498, 308, 303, 304, 308, - 299, 304, 305, 305, 305, 305, 497, 300, 496, 303, - - 301, 495, 301, 302, 494, 304, 493, 492, 304, 307, - 307, 307, 307, 491, 303, 490, 308, 489, 304, 488, - 308, 310, 305, 310, 310, 311, 310, 311, 311, 487, - 311, 312, 312, 312, 312, 313, 312, 314, 313, 315, - 314, 316, 315, 317, 316, 318, 317, 486, 318, 319, - 316, 310, 319, 320, 485, 311, 320, 484, 483, 313, - 313, 312, 482, 481, 317, 313, 480, 314, 314, 315, - 403, 316, 315, 317, 325, 318, 325, 325, 361, 319, - 402, 361, 318, 320, 317, 321, 321, 321, 321, 401, - 400, 319, 323, 323, 323, 323, 324, 324, 324, 324, - - 350, 350, 350, 350, 325, 399, 362, 396, 361, 362, - 363, 363, 363, 363, 395, 321, 364, 364, 364, 364, - 394, 393, 323, 366, 366, 366, 366, 367, 367, 367, - 367, 368, 392, 368, 368, 391, 362, 390, 389, 388, - 363, 369, 369, 369, 369, 387, 364, 371, 371, 371, - 371, 386, 385, 366, 397, 397, 397, 397, 384, 383, - 382, 368, 404, 404, 404, 404, 405, 405, 405, 405, - 381, 369, 406, 406, 406, 406, 408, 408, 408, 408, - 409, 409, 409, 409, 411, 411, 411, 411, 380, 412, - 379, 412, 412, 413, 378, 413, 413, 414, 412, 414, - - 414, 415, 377, 415, 415, 376, 375, 374, 404, 373, - 409, 416, 405, 416, 416, 413, 372, 360, 406, 412, - 414, 359, 417, 413, 417, 417, 416, 414, 415, 357, - 418, 415, 418, 418, 419, 356, 419, 419, 355, 352, - 348, 416, 347, 419, 420, 417, 420, 420, 346, 345, - 344, 418, 417, 421, 343, 421, 421, 420, 342, 422, - 418, 422, 422, 423, 419, 423, 423, 424, 341, 424, - 424, 340, 423, 425, 420, 425, 425, 449, 339, 421, - 449, 422, 426, 421, 426, 426, 424, 338, 427, 422, - 427, 427, 336, 423, 335, 426, 334, 424, 427, 425, - - 449, 332, 428, 425, 428, 428, 429, 449, 429, 429, - 331, 430, 426, 430, 430, 428, 330, 429, 427, 431, - 329, 431, 431, 328, 432, 228, 432, 432, 452, 224, - 430, 452, 428, 431, 221, 433, 429, 433, 433, 220, - 434, 430, 434, 434, 218, 435, 217, 435, 435, 431, - 432, 452, 215, 210, 432, 434, 435, 436, 452, 436, - 436, 433, 206, 205, 203, 433, 437, 437, 437, 437, - 434, 438, 438, 438, 438, 435, 439, 202, 439, 439, - 440, 447, 440, 440, 447, 201, 198, 436, 436, 441, - 447, 441, 441, 196, 195, 442, 437, 442, 442, 191, - - 443, 438, 443, 443, 189, 188, 439, 187, 186, 450, - 440, 447, 450, 441, 185, 448, 184, 440, 448, 441, - 453, 439, 183, 453, 182, 442, 444, 444, 444, 444, - 443, 442, 446, 446, 446, 446, 450, 448, 443, 450, - 451, 453, 181, 451, 454, 448, 455, 454, 180, 455, - 453, 456, 179, 454, 456, 451, 444, 457, 458, 455, - 457, 458, 177, 459, 176, 460, 459, 458, 460, 175, - 451, 173, 461, 172, 454, 461, 455, 456, 171, 457, - 462, 456, 459, 462, 170, 461, 463, 457, 458, 463, - 462, 460, 169, 459, 464, 460, 158, 464, 465, 463, - - 466, 465, 461, 466, 157, 464, 467, 154, 468, 467, - 462, 468, 469, 152, 466, 469, 463, 465, 470, 471, - 151, 470, 471, 545, 464, 149, 545, 469, 465, 470, - 466, 148, 467, 147, 468, 144, 467, 475, 468, 142, - 475, 141, 469, 473, 473, 473, 473, 140, 470, 471, - 471, 472, 472, 472, 472, 138, 472, 474, 474, 474, - 474, 476, 477, 478, 476, 477, 478, 475, 545, 137, - 479, 68, 65, 479, 505, 505, 505, 505, 63, 61, - 59, 472, 475, 56, 51, 48, 477, 474, 45, 44, - 39, 476, 477, 478, 511, 511, 511, 511, 476, 478, - - 479, 513, 513, 513, 513, 38, 37, 35, 479, 539, - 539, 539, 539, 547, 547, 547, 547, 549, 549, 549, - 549, 34, 33, 30, 511, 550, 550, 550, 550, 552, - 552, 552, 552, 553, 642, 553, 553, 642, 554, 28, - 554, 554, 555, 585, 555, 555, 585, 27, 553, 554, - 556, 26, 556, 556, 585, 557, 24, 557, 557, 547, - 23, 21, 558, 553, 558, 558, 556, 17, 554, 0, - 555, 550, 555, 585, 559, 0, 559, 559, 0, 642, - 556, 557, 559, 0, 0, 557, 560, 558, 560, 560, - 0, 561, 558, 561, 561, 562, 671, 562, 562, 671, - - 563, 0, 563, 563, 559, 564, 858, 564, 564, 858, - 0, 0, 561, 560, 562, 565, 560, 565, 565, 896, - 564, 561, 896, 0, 903, 562, 563, 903, 565, 566, - 563, 566, 566, 0, 0, 564, 567, 566, 567, 567, - 569, 671, 569, 569, 567, 565, 568, 0, 568, 568, - 570, 858, 570, 570, 571, 905, 571, 571, 905, 566, - 0, 0, 569, 570, 896, 571, 567, 0, 0, 903, - 569, 572, 568, 572, 572, 573, 568, 573, 573, 574, - 570, 574, 574, 0, 571, 572, 924, 574, 575, 924, - 575, 575, 576, 0, 576, 576, 577, 0, 577, 577, - - 905, 572, 573, 928, 575, 573, 928, 0, 0, 574, - 578, 578, 578, 578, 579, 576, 579, 579, 575, 0, - 0, 580, 576, 580, 580, 581, 577, 581, 581, 0, - 582, 924, 582, 582, 583, 584, 583, 583, 584, 577, - 578, 0, 586, 0, 579, 586, 589, 0, 928, 589, - 584, 580, 0, 587, 588, 581, 587, 588, 591, 579, - 582, 591, 582, 0, 583, 584, 580, 0, 581, 587, - 586, 589, 586, 0, 590, 592, 589, 590, 592, 583, - 588, 0, 590, 587, 588, 591, 594, 593, 591, 594, - 593, 597, 595, 0, 597, 595, 592, 596, 599, 597, - - 596, 599, 0, 0, 590, 592, 593, 595, 0, 0, - 596, 598, 594, 0, 598, 600, 594, 593, 600, 598, - 601, 597, 595, 601, 599, 0, 0, 596, 599, 602, - 0, 604, 602, 601, 604, 603, 605, 600, 603, 605, - 602, 598, 0, 608, 605, 600, 608, 0, 606, 603, - 601, 606, 607, 610, 611, 607, 610, 611, 604, 602, - 612, 604, 0, 612, 606, 603, 605, 609, 609, 609, - 609, 0, 0, 608, 613, 607, 0, 613, 606, 0, - 0, 0, 607, 610, 611, 614, 608, 0, 614, 705, - 612, 674, 705, 674, 674, 0, 0, 609, 610, 611, - - 0, 0, 705, 612, 613, 675, 613, 675, 675, 676, - 0, 676, 676, 710, 0, 614, 710, 674, 675, 705, - 677, 674, 677, 677, 678, 0, 678, 678, 677, 0, - 614, 0, 678, 706, 676, 675, 706, 0, 679, 676, - 679, 679, 680, 710, 680, 680, 0, 0, 0, 679, - 677, 0, 0, 681, 678, 681, 681, 682, 706, 682, - 682, 681, 0, 706, 0, 682, 0, 683, 679, 683, - 683, 684, 680, 684, 684, 683, 0, 0, 685, 684, - 685, 685, 686, 681, 686, 686, 687, 682, 687, 687, - 688, 717, 688, 688, 717, 0, 689, 683, 689, 689, - - 690, 684, 690, 690, 685, 0, 0, 686, 685, 0, - 0, 691, 686, 691, 691, 692, 687, 692, 692, 691, - 688, 717, 693, 689, 693, 693, 689, 690, 0, 694, - 690, 694, 694, 695, 0, 695, 695, 694, 692, 0, - 0, 691, 693, 0, 696, 692, 696, 696, 697, 0, - 697, 697, 693, 698, 0, 698, 698, 0, 699, 694, - 699, 699, 700, 695, 700, 700, 0, 0, 0, 697, - 701, 696, 701, 701, 696, 0, 0, 702, 697, 702, - 702, 0, 703, 698, 703, 703, 709, 0, 699, 709, - 698, 0, 700, 704, 700, 707, 704, 709, 707, 0, - - 701, 701, 708, 707, 0, 708, 711, 702, 0, 711, - 708, 0, 703, 0, 711, 0, 709, 715, 712, 704, - 715, 712, 702, 704, 0, 707, 712, 703, 0, 0, - 713, 714, 708, 713, 714, 0, 711, 716, 713, 714, - 716, 718, 719, 715, 718, 719, 720, 715, 712, 720, - 721, 722, 725, 721, 722, 725, 724, 0, 721, 724, - 713, 714, 716, 723, 724, 726, 723, 716, 726, 719, - 0, 718, 719, 720, 722, 727, 720, 0, 727, 0, - 721, 722, 725, 723, 728, 729, 724, 728, 729, 0, - 0, 0, 726, 723, 730, 726, 727, 730, 731, 0, - - 732, 731, 0, 732, 733, 727, 0, 733, 782, 0, - 782, 782, 0, 0, 728, 729, 782, 783, 0, 783, - 783, 728, 0, 0, 730, 783, 730, 0, 731, 731, - 732, 0, 0, 784, 733, 784, 784, 785, 782, 785, - 785, 784, 0, 0, 0, 732, 0, 783, 786, 733, - 786, 786, 787, 0, 787, 787, 788, 809, 788, 788, - 809, 0, 789, 784, 789, 789, 790, 785, 790, 790, - 791, 810, 791, 791, 810, 787, 0, 792, 786, 792, - 792, 793, 787, 793, 793, 792, 788, 809, 0, 793, - 0, 794, 789, 794, 794, 795, 790, 795, 795, 794, - - 791, 810, 796, 795, 796, 796, 797, 792, 797, 797, - 798, 793, 798, 798, 799, 0, 799, 799, 0, 812, - 0, 794, 812, 798, 0, 795, 797, 800, 0, 800, - 800, 802, 796, 802, 802, 800, 797, 0, 0, 801, - 798, 801, 801, 0, 799, 803, 0, 803, 803, 812, - 0, 804, 801, 804, 804, 0, 805, 800, 805, 805, - 806, 802, 807, 806, 808, 807, 0, 808, 806, 801, - 807, 0, 808, 802, 811, 803, 813, 811, 803, 813, - 814, 804, 815, 814, 820, 815, 805, 820, 816, 0, - 806, 816, 807, 804, 808, 817, 816, 811, 817, 818, - - 0, 0, 818, 817, 811, 819, 813, 818, 819, 0, - 814, 0, 815, 819, 820, 0, 821, 822, 816, 821, - 822, 823, 0, 824, 823, 817, 824, 0, 0, 818, - 822, 824, 0, 0, 0, 819, 821, 825, 826, 827, - 825, 826, 827, 0, 0, 828, 821, 822, 828, 829, - 825, 823, 829, 824, 861, 0, 861, 861, 862, 0, - 862, 862, 863, 0, 863, 863, 0, 825, 826, 827, - 0, 864, 827, 864, 864, 828, 0, 0, 0, 829, - 826, 0, 0, 865, 861, 865, 865, 828, 862, 0, - 0, 864, 863, 866, 0, 866, 866, 867, 0, 867, - - 867, 864, 868, 0, 868, 868, 869, 0, 869, 869, - 0, 0, 0, 865, 869, 0, 870, 0, 870, 870, - 0, 0, 876, 866, 870, 876, 871, 867, 871, 871, - 0, 872, 868, 872, 872, 873, 869, 873, 873, 872, - 874, 873, 874, 874, 0, 875, 870, 875, 875, 0, - 877, 878, 876, 877, 878, 0, 871, 879, 0, 880, - 879, 872, 880, 881, 882, 873, 881, 882, 883, 886, - 874, 883, 886, 0, 0, 875, 884, 879, 875, 884, - 877, 878, 0, 885, 884, 874, 885, 879, 0, 880, - 0, 885, 887, 881, 882, 887, 0, 0, 883, 886, - - 887, 888, 889, 0, 888, 889, 884, 888, 890, 0, - 0, 890, 906, 885, 906, 906, 907, 0, 907, 907, - 906, 908, 887, 908, 908, 909, 0, 909, 909, 0, - 0, 888, 889, 910, 0, 910, 910, 911, 890, 911, - 911, 890, 906, 0, 0, 915, 907, 889, 915, 0, - 912, 908, 912, 912, 913, 909, 913, 913, 914, 916, - 0, 914, 916, 910, 0, 910, 914, 911, 917, 0, - 918, 917, 0, 918, 919, 915, 920, 919, 921, 920, - 912, 921, 911, 930, 913, 930, 930, 0, 914, 916, - 932, 0, 932, 932, 931, 912, 931, 931, 917, 913, - - 918, 0, 918, 0, 919, 0, 920, 933, 921, 933, - 933, 0, 934, 930, 934, 934, 0, 0, 0, 919, - 932, 920, 0, 921, 931, 935, 936, 931, 935, 936, - 937, 938, 939, 937, 938, 939, 943, 933, 943, 943, - 0, 944, 934, 944, 944, 0, 0, 0, 945, 0, - 946, 945, 933, 946, 0, 935, 936, 934, 0, 936, - 937, 938, 939, 0, 0, 949, 943, 949, 949, 950, - 954, 944, 950, 954, 0, 943, 938, 939, 945, 953, - 946, 953, 953, 957, 0, 957, 957, 945, 0, 958, - 962, 957, 958, 962, 0, 949, 0, 958, 0, 950, - - 954, 961, 0, 961, 961, 954, 0, 949, 0, 953, - 0, 950, 0, 957, 953, 0, 0, 0, 0, 958, - 962, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 961, 964, 964, 964, 964, 964, 964, 965, 965, - 965, 965, 965, 965, 966, 966, 966, 966, 966, 966, - 967, 967, 967, 967, 967, 967, 968, 968, 968, 968, - 968, 968, 969, 969, 0, 969, 969, 969, 970, 970, - 970, 970, 970, 970, 971, 0, 0, 0, 971, 971, - 972, 972, 972, 972, 972, 972, 973, 973, 0, 0, - 973, 973, 974, 974, 974, 974, 974, 974, 975, 975, - - 0, 975, 975, 975, 976, 976, 0, 976, 976, 976, - 977, 977, 0, 0, 0, 977, 978, 978, 0, 978, - 978, 978, 980, 980, 0, 0, 0, 980, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 963, 963 + 13, 13, 14, 236, 236, 14, 14, 75, 75, 75, + 75, 951, 14, 950, 76, 111, 76, 76, 111, 77, + 115, 77, 77, 115, 78, 14, 78, 78, 77, 79, + 343, 79, 79, 80, 229, 80, 80, 939, 79, 75, + + 936, 14, 933, 14, 343, 14, 76, 111, 14, 14, + 43, 77, 115, 43, 43, 81, 78, 81, 81, 368, + 43, 79, 229, 112, 932, 80, 112, 82, 347, 82, + 82, 81, 112, 83, 914, 83, 83, 912, 84, 368, + 84, 84, 347, 364, 364, 82, 908, 81, 83, 43, + 907, 43, 82, 905, 904, 112, 43, 43, 903, 82, + 84, 85, 902, 85, 85, 83, 86, 901, 86, 86, + 84, 87, 870, 87, 87, 88, 869, 88, 88, 867, + 866, 89, 86, 89, 89, 86, 88, 87, 864, 86, + 85, 863, 89, 85, 90, 858, 90, 90, 86, 854, + + 88, 853, 91, 87, 91, 91, 852, 88, 92, 89, + 92, 92, 93, 89, 93, 93, 94, 851, 94, 94, + 95, 90, 95, 95, 91, 408, 90, 94, 408, 97, + 93, 97, 97, 92, 91, 95, 96, 96, 96, 96, + 92, 850, 93, 99, 93, 99, 99, 100, 94, 100, + 100, 849, 95, 98, 98, 98, 98, 102, 848, 102, + 102, 97, 847, 101, 97, 101, 101, 103, 96, 103, + 103, 846, 408, 516, 101, 99, 516, 845, 104, 100, + 104, 104, 844, 843, 105, 98, 105, 105, 101, 102, + 106, 114, 106, 106, 114, 101, 842, 841, 840, 103, + + 114, 104, 102, 108, 108, 108, 108, 791, 789, 103, + 104, 110, 110, 110, 110, 116, 105, 105, 116, 105, + 516, 104, 106, 114, 117, 118, 119, 117, 118, 119, + 120, 116, 788, 120, 787, 108, 122, 106, 125, 122, + 118, 125, 117, 110, 786, 785, 783, 116, 119, 117, + 121, 127, 122, 121, 127, 782, 117, 118, 119, 120, + 123, 124, 120, 123, 124, 125, 121, 780, 122, 121, + 125, 123, 124, 121, 126, 129, 127, 126, 129, 779, + 778, 128, 121, 127, 128, 123, 129, 130, 132, 124, + 130, 132, 123, 124, 777, 772, 126, 769, 134, 128, + + 134, 134, 130, 768, 767, 134, 126, 129, 766, 135, + 765, 128, 135, 128, 131, 131, 131, 131, 136, 130, + 132, 136, 764, 132, 133, 133, 133, 133, 137, 136, + 134, 137, 138, 763, 139, 138, 140, 139, 762, 140, + 761, 135, 551, 136, 141, 551, 131, 141, 760, 759, + 136, 142, 142, 142, 142, 758, 133, 139, 171, 757, + 137, 171, 756, 755, 138, 754, 139, 555, 140, 140, + 555, 140, 753, 137, 138, 752, 141, 139, 144, 144, + 144, 144, 751, 142, 165, 165, 165, 165, 750, 551, + 171, 141, 172, 172, 172, 172, 174, 174, 174, 174, + + 176, 176, 176, 176, 235, 235, 235, 235, 749, 240, + 144, 240, 240, 748, 555, 241, 165, 241, 241, 242, + 242, 242, 242, 747, 172, 746, 285, 745, 174, 285, + 744, 683, 176, 243, 243, 243, 243, 245, 245, 245, + 245, 240, 246, 246, 246, 246, 248, 241, 248, 248, + 682, 242, 235, 680, 249, 248, 249, 249, 285, 250, + 679, 250, 250, 677, 252, 243, 252, 252, 676, 245, + 250, 251, 286, 251, 251, 286, 249, 253, 248, 253, + 253, 675, 254, 673, 254, 254, 249, 672, 253, 671, + 252, 250, 255, 251, 255, 255, 252, 254, 256, 670, + + 256, 256, 253, 251, 286, 669, 668, 255, 257, 253, + 257, 257, 665, 258, 254, 258, 258, 664, 663, 257, + 259, 662, 259, 259, 255, 661, 260, 256, 260, 260, + 256, 660, 658, 257, 261, 258, 261, 261, 657, 262, + 257, 262, 262, 656, 655, 258, 263, 259, 263, 263, + 260, 264, 259, 264, 264, 654, 653, 261, 260, 651, + 650, 265, 264, 265, 265, 263, 261, 649, 648, 262, + 266, 262, 266, 266, 265, 647, 646, 267, 263, 267, + 267, 645, 268, 264, 268, 268, 644, 643, 269, 267, + 269, 269, 642, 265, 270, 270, 270, 270, 641, 268, + + 266, 272, 266, 272, 272, 640, 639, 269, 638, 267, + 269, 637, 636, 274, 268, 274, 274, 635, 634, 275, + 269, 275, 275, 633, 632, 631, 270, 276, 276, 276, + 276, 630, 278, 272, 278, 278, 277, 272, 277, 277, + 279, 629, 279, 279, 280, 274, 280, 280, 628, 627, + 281, 275, 281, 281, 283, 280, 283, 283, 282, 276, + 282, 282, 277, 277, 278, 278, 626, 284, 277, 284, + 284, 625, 279, 281, 556, 279, 280, 287, 287, 287, + 287, 554, 281, 553, 552, 293, 283, 548, 293, 547, + 282, 546, 294, 281, 293, 294, 545, 282, 283, 284, + + 288, 288, 288, 288, 290, 290, 290, 290, 544, 287, + 291, 291, 291, 291, 294, 295, 296, 293, 295, 296, + 297, 543, 299, 297, 294, 299, 295, 300, 298, 542, + 300, 298, 288, 541, 540, 539, 290, 299, 296, 298, + 301, 303, 300, 301, 303, 538, 297, 295, 296, 537, + 536, 535, 297, 298, 299, 302, 534, 533, 302, 300, + 298, 304, 305, 303, 304, 305, 302, 306, 307, 301, + 306, 307, 301, 303, 309, 532, 308, 309, 310, 308, + 302, 310, 531, 530, 529, 309, 305, 302, 304, 311, + 306, 310, 311, 304, 305, 308, 528, 527, 307, 306, + + 307, 312, 526, 525, 312, 524, 309, 520, 308, 313, + 310, 519, 313, 312, 318, 314, 518, 318, 314, 311, + 517, 311, 315, 315, 315, 315, 313, 317, 317, 317, + 317, 514, 324, 312, 314, 324, 320, 314, 320, 320, + 513, 313, 321, 320, 321, 321, 318, 314, 325, 321, + 318, 325, 512, 511, 315, 322, 322, 322, 322, 510, + 509, 508, 322, 323, 324, 324, 323, 326, 320, 327, + 326, 507, 327, 506, 321, 505, 328, 504, 326, 328, + 325, 329, 330, 325, 329, 330, 503, 322, 502, 323, + 323, 501, 327, 500, 335, 323, 335, 335, 499, 326, + + 498, 327, 331, 331, 331, 331, 371, 372, 328, 371, + 372, 497, 327, 329, 330, 328, 333, 333, 333, 333, + 334, 334, 334, 334, 496, 329, 335, 360, 360, 360, + 360, 495, 494, 378, 331, 378, 378, 493, 371, 372, + 373, 373, 373, 373, 374, 374, 374, 374, 333, 376, + 376, 376, 376, 377, 377, 377, 377, 379, 379, 379, + 379, 381, 381, 381, 381, 378, 407, 407, 407, 407, + 492, 491, 373, 490, 413, 412, 374, 414, 414, 414, + 414, 376, 415, 415, 415, 415, 411, 410, 409, 379, + 416, 416, 416, 416, 418, 418, 418, 418, 406, 419, + + 419, 419, 419, 421, 421, 421, 421, 422, 405, 422, + 422, 423, 404, 423, 423, 403, 402, 424, 422, 424, + 424, 425, 401, 425, 425, 414, 456, 456, 456, 456, + 415, 419, 400, 399, 426, 423, 426, 426, 416, 422, + 398, 397, 424, 423, 427, 396, 427, 427, 395, 424, + 425, 426, 428, 425, 428, 428, 429, 394, 429, 429, + 472, 393, 430, 472, 430, 430, 426, 429, 431, 427, + 431, 431, 472, 392, 391, 428, 427, 430, 432, 390, + 432, 432, 389, 434, 428, 434, 434, 433, 429, 433, + 433, 388, 472, 387, 430, 386, 431, 385, 433, 384, + + 431, 383, 432, 435, 434, 435, 435, 382, 370, 436, + 432, 436, 436, 369, 437, 434, 437, 437, 438, 433, + 438, 438, 367, 366, 436, 439, 437, 439, 439, 652, + 365, 435, 652, 438, 440, 435, 440, 440, 439, 362, + 441, 436, 441, 441, 358, 442, 437, 442, 442, 459, + 438, 443, 459, 443, 443, 440, 441, 439, 444, 357, + 444, 444, 356, 355, 354, 445, 440, 445, 445, 353, + 352, 351, 441, 442, 459, 444, 652, 442, 445, 443, + 350, 459, 446, 443, 446, 446, 447, 447, 447, 447, + 444, 448, 448, 448, 448, 349, 449, 445, 449, 449, + + 450, 348, 450, 450, 451, 346, 451, 451, 452, 458, + 452, 452, 458, 681, 446, 446, 681, 453, 447, 453, + 453, 345, 344, 448, 454, 454, 454, 454, 449, 342, + 451, 457, 450, 458, 457, 460, 451, 341, 460, 450, + 452, 458, 457, 449, 461, 462, 452, 461, 462, 453, + 463, 464, 340, 463, 464, 467, 454, 453, 467, 339, + 681, 461, 464, 457, 460, 465, 466, 460, 465, 466, + 462, 469, 338, 463, 469, 468, 461, 462, 468, 467, + 465, 470, 463, 464, 470, 471, 468, 467, 471, 238, + 473, 234, 469, 473, 466, 231, 230, 465, 466, 474, + + 471, 480, 474, 469, 480, 473, 228, 468, 475, 470, + 227, 475, 474, 470, 480, 477, 476, 471, 477, 476, + 479, 478, 473, 479, 478, 481, 225, 220, 481, 475, + 216, 474, 476, 480, 215, 868, 213, 479, 868, 212, + 475, 211, 906, 477, 208, 906, 206, 477, 476, 478, + 205, 485, 479, 478, 485, 201, 199, 481, 481, 482, + 482, 482, 482, 198, 197, 196, 482, 483, 483, 483, + 483, 484, 484, 484, 484, 486, 487, 488, 486, 487, + 488, 489, 868, 485, 489, 515, 515, 515, 515, 906, + 195, 482, 521, 521, 521, 521, 194, 193, 485, 192, + + 191, 190, 487, 484, 189, 187, 186, 486, 487, 488, + 185, 183, 182, 489, 486, 488, 523, 523, 523, 523, + 565, 489, 565, 565, 521, 549, 549, 549, 549, 557, + 557, 557, 557, 559, 559, 559, 559, 560, 560, 560, + 560, 562, 562, 562, 562, 181, 563, 180, 563, 563, + 565, 564, 565, 564, 564, 566, 179, 566, 566, 568, + 168, 568, 568, 563, 564, 567, 167, 567, 567, 569, + 164, 569, 569, 566, 162, 161, 159, 557, 563, 569, + 158, 596, 157, 564, 596, 560, 568, 566, 154, 152, + 151, 568, 570, 567, 570, 570, 571, 567, 571, 571, + + 150, 569, 572, 148, 572, 572, 146, 573, 145, 573, + 573, 596, 574, 596, 574, 574, 71, 913, 68, 571, + 913, 570, 915, 572, 570, 915, 66, 64, 571, 574, + 575, 62, 575, 575, 572, 573, 59, 54, 576, 573, + 576, 576, 51, 48, 574, 575, 47, 577, 576, 577, + 577, 42, 578, 41, 578, 578, 934, 577, 579, 934, + 579, 579, 575, 580, 913, 580, 580, 40, 595, 915, + 576, 595, 581, 598, 581, 581, 598, 38, 580, 577, + 578, 595, 579, 37, 578, 581, 582, 36, 582, 582, + 579, 583, 33, 583, 583, 580, 584, 31, 584, 584, + + 595, 598, 582, 934, 581, 598, 584, 585, 30, 585, + 585, 586, 29, 586, 586, 27, 25, 23, 582, 587, + 583, 587, 587, 583, 589, 585, 589, 589, 584, 588, + 588, 588, 588, 21, 17, 590, 586, 590, 590, 585, + 0, 0, 591, 586, 591, 591, 592, 597, 592, 592, + 597, 587, 593, 0, 593, 593, 589, 0, 0, 594, + 0, 588, 594, 599, 587, 597, 599, 590, 0, 601, + 0, 589, 601, 0, 591, 0, 594, 0, 592, 597, + 592, 0, 590, 600, 593, 602, 600, 591, 602, 603, + 599, 594, 603, 600, 604, 599, 0, 604, 601, 593, + + 0, 601, 605, 606, 607, 605, 606, 607, 602, 609, + 603, 0, 609, 608, 607, 600, 608, 602, 606, 605, + 0, 603, 604, 608, 610, 611, 604, 610, 611, 612, + 613, 0, 612, 613, 605, 606, 607, 609, 0, 0, + 611, 609, 612, 0, 614, 608, 613, 614, 610, 615, + 616, 618, 615, 616, 618, 617, 610, 611, 617, 615, + 0, 612, 613, 619, 619, 619, 619, 620, 616, 621, + 620, 0, 621, 614, 622, 623, 614, 622, 623, 0, + 617, 615, 616, 618, 0, 624, 938, 617, 624, 938, + 684, 0, 684, 684, 716, 619, 618, 716, 0, 620, + + 0, 621, 686, 0, 686, 686, 622, 623, 685, 623, + 685, 685, 0, 0, 620, 0, 621, 624, 684, 622, + 0, 716, 684, 685, 0, 687, 716, 687, 687, 686, + 0, 0, 624, 938, 686, 687, 688, 0, 688, 688, + 685, 689, 0, 689, 689, 690, 688, 690, 690, 691, + 0, 691, 691, 692, 689, 692, 692, 687, 697, 691, + 697, 697, 693, 692, 693, 693, 0, 695, 688, 695, + 695, 719, 693, 689, 719, 0, 694, 690, 694, 694, + 696, 691, 696, 696, 719, 692, 694, 0, 0, 698, + 697, 698, 698, 0, 693, 695, 0, 0, 699, 695, + + 699, 699, 700, 719, 700, 700, 0, 696, 694, 0, + 0, 714, 696, 701, 714, 701, 701, 702, 0, 702, + 702, 698, 703, 701, 703, 703, 704, 699, 704, 704, + 699, 700, 0, 0, 700, 705, 704, 705, 705, 714, + 0, 0, 702, 714, 703, 701, 0, 0, 706, 702, + 706, 706, 0, 707, 703, 707, 707, 708, 704, 708, + 708, 709, 0, 709, 709, 0, 710, 705, 710, 710, + 711, 0, 711, 711, 0, 715, 707, 706, 715, 712, + 706, 712, 712, 0, 713, 707, 713, 713, 0, 708, + 715, 717, 720, 709, 717, 720, 708, 0, 710, 0, + + 710, 717, 711, 711, 0, 718, 0, 715, 718, 721, + 722, 712, 721, 722, 727, 718, 713, 727, 723, 721, + 722, 723, 724, 717, 720, 724, 712, 725, 723, 0, + 725, 713, 724, 726, 0, 728, 726, 718, 728, 0, + 729, 721, 722, 729, 730, 0, 727, 730, 731, 732, + 723, 731, 732, 733, 724, 725, 733, 0, 731, 725, + 726, 734, 0, 735, 734, 726, 735, 728, 0, 729, + 0, 734, 729, 730, 732, 733, 730, 0, 0, 736, + 731, 732, 736, 737, 738, 733, 737, 738, 739, 741, + 0, 739, 741, 734, 740, 735, 0, 740, 742, 743, + + 0, 742, 743, 0, 0, 0, 737, 792, 736, 792, + 792, 736, 0, 0, 0, 737, 738, 792, 0, 0, + 739, 741, 741, 738, 819, 0, 740, 819, 740, 0, + 742, 743, 793, 0, 793, 793, 0, 0, 794, 792, + 794, 794, 793, 0, 0, 742, 743, 795, 794, 795, + 795, 796, 0, 796, 796, 797, 819, 797, 797, 798, + 0, 798, 798, 799, 793, 799, 799, 0, 0, 800, + 794, 800, 800, 801, 0, 801, 801, 0, 0, 795, + 797, 0, 802, 796, 802, 802, 803, 797, 803, 803, + 820, 798, 802, 820, 0, 799, 803, 804, 0, 804, + + 804, 800, 0, 0, 0, 801, 805, 804, 805, 805, + 806, 0, 806, 806, 802, 0, 805, 807, 803, 807, + 807, 808, 820, 808, 808, 809, 0, 809, 809, 804, + 810, 0, 810, 810, 0, 0, 808, 0, 805, 807, + 810, 811, 806, 811, 811, 812, 0, 812, 812, 807, + 0, 0, 813, 808, 813, 813, 811, 809, 814, 0, + 814, 814, 810, 815, 816, 815, 815, 816, 817, 818, + 0, 817, 818, 811, 816, 0, 0, 812, 817, 818, + 821, 0, 822, 821, 813, 822, 0, 813, 823, 812, + 814, 823, 0, 0, 824, 815, 816, 824, 0, 0, + + 817, 818, 814, 825, 0, 821, 825, 826, 827, 0, + 826, 827, 821, 828, 822, 0, 828, 826, 827, 829, + 823, 830, 829, 828, 830, 831, 824, 832, 831, 829, + 832, 833, 0, 834, 833, 825, 834, 0, 0, 826, + 827, 835, 832, 834, 835, 828, 836, 831, 0, 836, + 0, 829, 837, 830, 0, 837, 835, 831, 0, 832, + 0, 838, 0, 833, 838, 834, 839, 0, 871, 839, + 871, 871, 872, 835, 872, 872, 0, 873, 836, 873, + 873, 0, 0, 0, 837, 0, 874, 837, 874, 874, + 836, 0, 875, 838, 875, 875, 0, 0, 839, 876, + + 871, 876, 876, 0, 872, 838, 0, 0, 874, 873, + 877, 0, 877, 877, 878, 0, 878, 878, 874, 879, + 0, 879, 879, 880, 875, 880, 880, 886, 0, 879, + 886, 876, 881, 880, 881, 881, 0, 882, 0, 882, + 882, 883, 877, 883, 883, 887, 878, 882, 887, 883, + 884, 879, 884, 884, 885, 880, 885, 885, 888, 886, + 890, 888, 889, 890, 881, 889, 0, 891, 892, 882, + 891, 892, 893, 883, 0, 893, 896, 887, 894, 896, + 0, 894, 884, 0, 889, 0, 885, 0, 894, 885, + 888, 0, 890, 895, 889, 897, 895, 884, 897, 891, + + 892, 0, 0, 895, 893, 897, 898, 0, 896, 898, + 894, 0, 899, 900, 898, 899, 900, 0, 916, 0, + 916, 916, 0, 0, 0, 895, 0, 897, 916, 917, + 0, 917, 917, 918, 0, 918, 918, 919, 898, 919, + 919, 0, 0, 925, 899, 900, 925, 0, 900, 920, + 916, 920, 920, 921, 926, 921, 921, 926, 0, 899, + 922, 917, 922, 922, 923, 918, 923, 923, 0, 919, + 924, 927, 0, 924, 927, 925, 928, 0, 0, 928, + 924, 920, 0, 920, 929, 921, 926, 929, 930, 0, + 931, 930, 922, 931, 0, 940, 923, 940, 940, 0, + + 921, 0, 924, 927, 0, 0, 945, 922, 928, 945, + 928, 923, 941, 0, 941, 941, 929, 0, 0, 0, + 930, 942, 931, 942, 942, 0, 943, 940, 943, 943, + 944, 929, 944, 944, 0, 930, 946, 931, 945, 946, + 947, 0, 948, 947, 941, 948, 949, 941, 954, 949, + 954, 954, 956, 942, 953, 956, 953, 953, 943, 0, + 955, 0, 944, 955, 959, 0, 959, 959, 946, 0, + 0, 946, 947, 943, 948, 0, 0, 944, 949, 960, + 954, 0, 960, 0, 956, 963, 953, 963, 963, 948, + 0, 0, 955, 949, 964, 953, 959, 964, 0, 0, + + 967, 955, 967, 967, 968, 0, 972, 968, 959, 972, + 967, 960, 0, 971, 968, 971, 971, 963, 0, 0, + 0, 0, 963, 960, 0, 0, 964, 0, 0, 0, + 0, 964, 967, 0, 0, 0, 968, 0, 972, 0, + 0, 0, 0, 0, 0, 971, 974, 974, 974, 974, + 974, 974, 975, 975, 975, 975, 975, 975, 976, 976, + 976, 976, 976, 976, 977, 977, 977, 977, 977, 977, + 978, 978, 978, 978, 978, 978, 979, 979, 0, 979, + 979, 979, 980, 980, 980, 980, 980, 980, 981, 0, + 0, 0, 981, 981, 982, 982, 982, 982, 982, 982, + + 983, 983, 0, 0, 983, 983, 984, 984, 984, 984, + 984, 984, 985, 985, 0, 985, 985, 985, 986, 986, + 0, 986, 986, 986, 987, 987, 0, 0, 0, 987, + 988, 988, 0, 988, 988, 988, 990, 990, 0, 0, + 0, 990, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973 + } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[74] = +static yyconst flex_int32_t yy_rule_can_match_eol[76] = { 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, }; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -1635,7 +1644,7 @@ static void cattext(bool trim_right = false, int strip_trailing = 0) -#line 1639 "levcomp.lex.cc" +#line 1648 "levcomp.lex.cc" #define INITIAL 0 #define MAPDEF 1 @@ -1801,7 +1810,7 @@ YY_DECL #line 132 "levcomp.lpp" -#line 1805 "levcomp.lex.cc" +#line 1814 "levcomp.lex.cc" if ( !(yy_init) ) { @@ -1855,13 +1864,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 964 ) + if ( yy_current_state >= 974 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 963 ); + while ( yy_current_state != 973 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2193,7 +2202,7 @@ return CHANCE; case 49: YY_RULE_SETUP #line 239 "levcomp.lpp" -return CHANCE; +return WEIGHT; YY_BREAK case 50: YY_RULE_SETUP @@ -2288,39 +2297,49 @@ return COMMA; case 68: YY_RULE_SETUP #line 261 "levcomp.lpp" +return COLON; + YY_BREAK +case 69: +YY_RULE_SETUP +#line 263 "levcomp.lpp" +return PERC; + YY_BREAK +case 70: +YY_RULE_SETUP +#line 265 "levcomp.lpp" { clean(); yylval.i = atoi(yytext); return INTEGER; } YY_BREAK -case 69: +case 71: YY_RULE_SETUP -#line 267 "levcomp.lpp" +#line 271 "levcomp.lpp" ; YY_BREAK -case 70: -/* rule 70 can match eol */ +case 72: +/* rule 72 can match eol */ YY_RULE_SETUP -#line 268 "levcomp.lpp" +#line 272 "levcomp.lpp" ; YY_BREAK -case 71: +case 73: YY_RULE_SETUP -#line 269 "levcomp.lpp" +#line 273 "levcomp.lpp" ; YY_BREAK -case 72: +case 74: YY_RULE_SETUP -#line 270 "levcomp.lpp" +#line 274 "levcomp.lpp" return CHARACTER; YY_BREAK -case 73: +case 75: YY_RULE_SETUP -#line 272 "levcomp.lpp" +#line 276 "levcomp.lpp" ECHO; YY_BREAK -#line 2324 "levcomp.lex.cc" +#line 2343 "levcomp.lex.cc" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(MAPDEF): case YY_STATE_EOF(LUA): @@ -2621,7 +2640,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 964 ) + if ( yy_current_state >= 974 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2649,11 +2668,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 964 ) + if ( yy_current_state >= 974 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 963); + yy_is_jam = (yy_current_state == 973); return yy_is_jam ? 0 : yy_current_state; } @@ -3336,7 +3355,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 272 "levcomp.lpp" +#line 276 "levcomp.lpp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.cc b/crawl-ref/source/prebuilt/levcomp.tab.cc index 593282c213..5e2df165ea 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.cc +++ b/crawl-ref/source/prebuilt/levcomp.tab.cc @@ -79,28 +79,31 @@ ORIENT = 268, PLACE = 269, CHANCE = 270, - MONS = 271, - ITEM = 272, - MARKER = 273, - COLOUR = 274, - PRELUDE = 275, - MAIN = 276, - VALIDATE = 277, - VETO = 278, - NSUBST = 279, - WELCOME = 280, - LFLAGS = 281, - BFLAGS = 282, - FLOORCOL = 283, - ROCKCOL = 284, - COMMA = 285, - INTEGER = 286, - CHARACTER = 287, - STRING = 288, - MAP_LINE = 289, - MONSTER_NAME = 290, - ITEM_INFO = 291, - LUA_LINE = 292 + WEIGHT = 271, + MONS = 272, + ITEM = 273, + MARKER = 274, + COLOUR = 275, + PRELUDE = 276, + MAIN = 277, + VALIDATE = 278, + VETO = 279, + NSUBST = 280, + WELCOME = 281, + LFLAGS = 282, + BFLAGS = 283, + FLOORCOL = 284, + ROCKCOL = 285, + COMMA = 286, + COLON = 287, + PERC = 288, + INTEGER = 289, + CHARACTER = 290, + STRING = 291, + MAP_LINE = 292, + MONSTER_NAME = 293, + ITEM_INFO = 294, + LUA_LINE = 295 }; #endif /* Tokens. */ @@ -117,28 +120,31 @@ #define ORIENT 268 #define PLACE 269 #define CHANCE 270 -#define MONS 271 -#define ITEM 272 -#define MARKER 273 -#define COLOUR 274 -#define PRELUDE 275 -#define MAIN 276 -#define VALIDATE 277 -#define VETO 278 -#define NSUBST 279 -#define WELCOME 280 -#define LFLAGS 281 -#define BFLAGS 282 -#define FLOORCOL 283 -#define ROCKCOL 284 -#define COMMA 285 -#define INTEGER 286 -#define CHARACTER 287 -#define STRING 288 -#define MAP_LINE 289 -#define MONSTER_NAME 290 -#define ITEM_INFO 291 -#define LUA_LINE 292 +#define WEIGHT 271 +#define MONS 272 +#define ITEM 273 +#define MARKER 274 +#define COLOUR 275 +#define PRELUDE 276 +#define MAIN 277 +#define VALIDATE 278 +#define VETO 279 +#define NSUBST 280 +#define WELCOME 281 +#define LFLAGS 282 +#define BFLAGS 283 +#define FLOORCOL 284 +#define ROCKCOL 285 +#define COMMA 286 +#define COLON 287 +#define PERC 288 +#define INTEGER 289 +#define CHARACTER 290 +#define STRING 291 +#define MAP_LINE 292 +#define MONSTER_NAME 293 +#define ITEM_INFO 294 +#define LUA_LINE 295 @@ -216,7 +222,7 @@ typedef union YYSTYPE raw_range range; } /* Line 187 of yacc.c. */ -#line 220 "levcomp.tab.c" +#line 226 "levcomp.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -229,7 +235,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 233 "levcomp.tab.c" +#line 239 "levcomp.tab.c" #ifdef short # undef short @@ -444,20 +450,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 75 +#define YYLAST 87 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 38 +#define YYNTOKENS 41 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 65 +#define YYNNTS 66 /* YYNRULES -- Number of rules. */ -#define YYNRULES 118 +#define YYNRULES 123 /* YYNRULES -- Number of states. */ -#define YYNSTATES 137 +#define YYNSTATES 144 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 292 +#define YYMAXUTOK 295 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -494,7 +500,7 @@ static const yytype_uint8 yytranslate[] = 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37 + 35, 36, 37, 38, 39, 40 }; #if YYDEBUG @@ -506,47 +512,50 @@ static const yytype_uint16 yyprhs[] = 19, 22, 25, 26, 29, 31, 33, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, - 82, 84, 86, 88, 91, 92, 95, 97, 100, 101, - 104, 106, 109, 110, 113, 115, 118, 119, 122, 124, - 127, 128, 131, 133, 135, 138, 140, 143, 145, 148, - 150, 153, 156, 158, 162, 164, 167, 168, 171, 173, - 176, 179, 182, 185, 187, 190, 192, 195, 197, 201, - 203, 206, 208, 212, 214, 217, 219, 223, 225, 227, - 230, 234, 236, 238, 240, 243, 247, 249, 251, 254, - 256, 259, 262, 264, 267, 270, 272, 275, 277 + 82, 84, 86, 88, 90, 93, 94, 97, 99, 102, + 103, 106, 108, 111, 112, 115, 117, 120, 121, 124, + 126, 129, 130, 133, 135, 137, 140, 142, 145, 147, + 150, 152, 155, 158, 160, 164, 166, 169, 170, 173, + 175, 178, 181, 184, 187, 189, 192, 194, 197, 199, + 203, 205, 208, 210, 214, 216, 219, 221, 225, 227, + 229, 232, 236, 238, 240, 242, 245, 249, 251, 253, + 256, 258, 261, 267, 272, 276, 279, 282, 284, 287, + 290, 292, 295, 297 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 39, 0, -1, 40, -1, -1, 40, 41, -1, 43, - -1, 45, -1, 32, -1, 44, -1, 50, -1, 3, - 33, -1, 48, 46, -1, -1, 46, 47, -1, 49, - -1, 100, -1, 11, 33, -1, 95, -1, 96, -1, - 97, -1, 98, -1, 99, -1, 92, -1, 89, -1, - 77, -1, 86, -1, 83, -1, 78, -1, 79, -1, - 80, -1, 69, -1, 72, -1, 75, -1, 76, -1, - 65, -1, 67, -1, 66, -1, 68, -1, 53, -1, - 62, -1, 56, -1, 59, -1, 42, -1, 21, 51, - -1, -1, 51, 52, -1, 37, -1, 21, 54, -1, - -1, 54, 55, -1, 37, -1, 22, 57, -1, -1, - 57, 58, -1, 37, -1, 23, 60, -1, -1, 60, - 61, -1, 37, -1, 20, 63, -1, -1, 63, 64, - -1, 37, -1, 7, -1, 7, 33, -1, 9, -1, - 9, 33, -1, 8, -1, 8, 33, -1, 10, -1, - 10, 33, -1, 4, 70, -1, 71, -1, 70, 30, - 71, -1, 36, -1, 6, 73, -1, -1, 73, 74, - -1, 33, -1, 26, 33, -1, 27, 33, -1, 18, - 33, -1, 19, 81, -1, 28, -1, 28, 33, -1, - 29, -1, 29, 33, -1, 82, -1, 81, 30, 82, - -1, 36, -1, 24, 84, -1, 85, -1, 84, 30, - 85, -1, 36, -1, 5, 87, -1, 88, -1, 88, - 30, 87, -1, 36, -1, 17, -1, 17, 90, -1, - 90, 30, 91, -1, 91, -1, 36, -1, 16, -1, - 16, 93, -1, 94, 30, 93, -1, 94, -1, 35, - -1, 14, 33, -1, 12, -1, 12, 33, -1, 15, - 31, -1, 13, -1, 13, 33, -1, 25, 33, -1, - 101, -1, 101, 102, -1, 102, -1, 34, -1 + 42, 0, -1, 43, -1, -1, 43, 44, -1, 46, + -1, 48, -1, 35, -1, 47, -1, 53, -1, 3, + 36, -1, 51, 49, -1, -1, 49, 50, -1, 52, + -1, 104, -1, 11, 36, -1, 98, -1, 99, -1, + 100, -1, 101, -1, 102, -1, 103, -1, 95, -1, + 92, -1, 80, -1, 89, -1, 86, -1, 81, -1, + 82, -1, 83, -1, 72, -1, 75, -1, 78, -1, + 79, -1, 68, -1, 70, -1, 69, -1, 71, -1, + 56, -1, 65, -1, 59, -1, 62, -1, 45, -1, + 22, 54, -1, -1, 54, 55, -1, 40, -1, 22, + 57, -1, -1, 57, 58, -1, 40, -1, 23, 60, + -1, -1, 60, 61, -1, 40, -1, 24, 63, -1, + -1, 63, 64, -1, 40, -1, 21, 66, -1, -1, + 66, 67, -1, 40, -1, 7, -1, 7, 36, -1, + 9, -1, 9, 36, -1, 8, -1, 8, 36, -1, + 10, -1, 10, 36, -1, 4, 73, -1, 74, -1, + 73, 31, 74, -1, 39, -1, 6, 76, -1, -1, + 76, 77, -1, 36, -1, 27, 36, -1, 28, 36, + -1, 19, 36, -1, 20, 84, -1, 29, -1, 29, + 36, -1, 30, -1, 30, 36, -1, 85, -1, 84, + 31, 85, -1, 39, -1, 25, 87, -1, 88, -1, + 87, 31, 88, -1, 39, -1, 5, 90, -1, 91, + -1, 91, 31, 90, -1, 39, -1, 18, -1, 18, + 93, -1, 93, 31, 94, -1, 94, -1, 39, -1, + 17, -1, 17, 96, -1, 97, 31, 96, -1, 97, + -1, 38, -1, 14, 36, -1, 12, -1, 12, 36, + -1, 15, 34, 32, 34, 33, -1, 15, 34, 32, + 34, -1, 15, 34, 33, -1, 15, 34, -1, 16, + 34, -1, 13, -1, 13, 36, -1, 26, 36, -1, + 105, -1, 105, 106, -1, 106, -1, 37, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -556,14 +565,15 @@ static const yytype_uint16 yyrline[] = 88, 98, 120, 121, 124, 125, 128, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 180, 182, 183, 186, 191, 193, 194, - 197, 202, 204, 205, 208, 213, 215, 216, 219, 224, - 226, 227, 230, 235, 236, 244, 245, 253, 254, 262, - 263, 271, 274, 275, 278, 286, 289, 290, 293, 302, - 311, 320, 353, 356, 357, 365, 366, 374, 375, 378, - 387, 390, 391, 394, 403, 406, 407, 410, 419, 420, - 423, 424, 427, 435, 436, 439, 440, 443, 452, 461, - 462, 471, 479, 480, 489, 498, 501, 502, 505 + 175, 176, 177, 178, 181, 183, 184, 187, 192, 194, + 195, 198, 203, 205, 206, 209, 214, 216, 217, 220, + 225, 227, 228, 231, 236, 237, 245, 246, 254, 255, + 263, 264, 272, 275, 276, 279, 287, 290, 291, 294, + 303, 312, 321, 354, 357, 358, 366, 367, 375, 376, + 379, 388, 391, 392, 395, 404, 407, 408, 411, 420, + 421, 424, 425, 428, 436, 437, 440, 441, 444, 453, + 462, 463, 472, 479, 486, 493, 501, 509, 510, 519, + 528, 531, 532, 535 }; #endif @@ -574,14 +584,14 @@ static const char *const yytname[] = { "$end", "error", "$undefined", "DEFAULT_DEPTH", "SHUFFLE", "SUBST", "TAGS", "KFEAT", "KITEM", "KMONS", "KMASK", "NAME", "DEPTH", "ORIENT", - "PLACE", "CHANCE", "MONS", "ITEM", "MARKER", "COLOUR", "PRELUDE", "MAIN", - "VALIDATE", "VETO", "NSUBST", "WELCOME", "LFLAGS", "BFLAGS", "FLOORCOL", - "ROCKCOL", "COMMA", "INTEGER", "CHARACTER", "STRING", "MAP_LINE", - "MONSTER_NAME", "ITEM_INFO", "LUA_LINE", "$accept", "file", - "definitions", "definition", "error_seq", "def", "defdepth", "level", - "map_specs", "map_spec", "name", "metaline", "global_lua", - "global_lua_lines", "global_lua_line", "main_lua", "main_lua_lines", - "main_lua_line", "validate_lua", "validate_lua_lines", + "PLACE", "CHANCE", "WEIGHT", "MONS", "ITEM", "MARKER", "COLOUR", + "PRELUDE", "MAIN", "VALIDATE", "VETO", "NSUBST", "WELCOME", "LFLAGS", + "BFLAGS", "FLOORCOL", "ROCKCOL", "COMMA", "COLON", "PERC", "INTEGER", + "CHARACTER", "STRING", "MAP_LINE", "MONSTER_NAME", "ITEM_INFO", + "LUA_LINE", "$accept", "file", "definitions", "definition", "error_seq", + "def", "defdepth", "level", "map_specs", "map_spec", "name", "metaline", + "global_lua", "global_lua_lines", "global_lua_line", "main_lua", + "main_lua_lines", "main_lua_line", "validate_lua", "validate_lua_lines", "validate_lua_line", "veto_lua", "veto_lua_lines", "veto_lua_line", "prelude_lua", "prelude_lua_lines", "prelude_lua_line", "kfeat", "kmons", "kitem", "kmask", "shuffle", "shuffle_specifiers", "shuffle_spec", @@ -590,7 +600,7 @@ static const char *const yytname[] = "nsubst", "nsubst_specifiers", "nsubst_spec", "subst", "subst_specifiers", "subst_spec", "items", "item_specifiers", "item_specifier", "mons", "mnames", "mname", "place", "depth", "chance", - "orientation", "welcome", "map_def", "map_lines", "map_line", 0 + "weight", "orientation", "welcome", "map_def", "map_lines", "map_line", 0 }; #endif @@ -602,25 +612,27 @@ static const yytype_uint16 yytoknum[] = 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292 + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 38, 39, 40, 40, 41, 41, 42, 43, 43, - 44, 45, 46, 46, 47, 47, 48, 49, 49, 49, - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 49, 50, 51, 51, 52, 53, 54, 54, - 55, 56, 57, 57, 58, 59, 60, 60, 61, 62, - 63, 63, 64, 65, 65, 66, 66, 67, 67, 68, - 68, 69, 70, 70, 71, 72, 73, 73, 74, 75, - 76, 77, 78, 79, 79, 80, 80, 81, 81, 82, - 83, 84, 84, 85, 86, 87, 87, 88, 89, 89, - 90, 90, 91, 92, 92, 93, 93, 94, 95, 96, - 96, 97, 98, 98, 99, 100, 101, 101, 102 + 0, 41, 42, 43, 43, 44, 44, 45, 46, 46, + 47, 48, 49, 49, 50, 50, 51, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 53, 54, 54, 55, 56, 57, + 57, 58, 59, 60, 60, 61, 62, 63, 63, 64, + 65, 66, 66, 67, 68, 68, 69, 69, 70, 70, + 71, 71, 72, 73, 73, 74, 75, 76, 76, 77, + 78, 79, 80, 81, 82, 82, 83, 83, 84, 84, + 85, 86, 87, 87, 88, 89, 90, 90, 91, 92, + 92, 93, 93, 94, 95, 95, 96, 96, 97, 98, + 99, 99, 100, 100, 100, 100, 101, 102, 102, 103, + 104, 105, 105, 106 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -630,14 +642,15 @@ static const yytype_uint8 yyr2[] = 2, 2, 0, 2, 1, 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, 2, 0, 2, 1, 2, 0, 2, - 1, 2, 0, 2, 1, 2, 0, 2, 1, 2, - 0, 2, 1, 1, 2, 1, 2, 1, 2, 1, - 2, 2, 1, 3, 1, 2, 0, 2, 1, 2, - 2, 2, 2, 1, 2, 1, 2, 1, 3, 1, - 2, 1, 3, 1, 2, 1, 3, 1, 1, 2, - 3, 1, 1, 1, 2, 3, 1, 1, 2, 1, - 2, 2, 1, 2, 2, 1, 2, 1, 1 + 1, 1, 1, 1, 2, 0, 2, 1, 2, 0, + 2, 1, 2, 0, 2, 1, 2, 0, 2, 1, + 2, 0, 2, 1, 1, 2, 1, 2, 1, 2, + 1, 2, 2, 1, 3, 1, 2, 0, 2, 1, + 2, 2, 2, 2, 1, 2, 1, 2, 1, 3, + 1, 2, 1, 3, 1, 2, 1, 3, 1, 1, + 2, 3, 1, 1, 1, 2, 3, 1, 1, 2, + 1, 2, 5, 4, 3, 2, 2, 1, 2, 2, + 1, 2, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -645,65 +658,67 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 3, 0, 2, 1, 0, 0, 44, 4, 5, 8, - 6, 12, 9, 10, 16, 43, 11, 46, 45, 0, - 0, 76, 63, 67, 65, 69, 109, 112, 0, 0, - 103, 98, 0, 0, 60, 48, 52, 56, 0, 0, - 0, 0, 83, 85, 7, 118, 42, 13, 14, 38, - 40, 41, 39, 34, 36, 35, 37, 30, 31, 32, - 33, 24, 27, 28, 29, 26, 25, 23, 22, 17, - 18, 19, 20, 21, 15, 115, 117, 74, 71, 72, - 97, 94, 95, 75, 64, 68, 66, 70, 110, 113, - 108, 111, 107, 104, 106, 102, 99, 101, 81, 89, - 82, 87, 59, 47, 51, 55, 93, 90, 91, 114, - 79, 80, 84, 86, 116, 0, 0, 78, 77, 0, - 0, 0, 62, 61, 50, 49, 54, 53, 58, 57, - 0, 73, 96, 105, 100, 88, 92 + 3, 0, 2, 1, 0, 0, 45, 4, 5, 8, + 6, 12, 9, 10, 16, 44, 11, 47, 46, 0, + 0, 77, 64, 68, 66, 70, 110, 117, 0, 0, + 0, 104, 99, 0, 0, 61, 49, 53, 57, 0, + 0, 0, 0, 84, 86, 7, 123, 43, 13, 14, + 39, 41, 42, 40, 35, 37, 36, 38, 31, 32, + 33, 34, 25, 28, 29, 30, 27, 26, 24, 23, + 17, 18, 19, 20, 21, 22, 15, 120, 122, 75, + 72, 73, 98, 95, 96, 76, 65, 69, 67, 71, + 111, 118, 109, 115, 116, 108, 105, 107, 103, 100, + 102, 82, 90, 83, 88, 60, 48, 52, 56, 94, + 91, 92, 119, 80, 81, 85, 87, 121, 0, 0, + 79, 78, 0, 114, 0, 0, 0, 63, 62, 51, + 50, 55, 54, 59, 58, 0, 74, 97, 113, 106, + 101, 89, 93, 112 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 2, 7, 46, 8, 9, 10, 16, 47, - 11, 48, 12, 15, 18, 49, 103, 125, 50, 104, - 127, 51, 105, 129, 52, 102, 123, 53, 54, 55, - 56, 57, 78, 79, 58, 83, 118, 59, 60, 61, - 62, 63, 64, 100, 101, 65, 107, 108, 66, 81, - 82, 67, 96, 97, 68, 93, 94, 69, 70, 71, - 72, 73, 74, 75, 76 + -1, 1, 2, 7, 47, 8, 9, 10, 16, 48, + 11, 49, 12, 15, 18, 50, 106, 130, 51, 107, + 132, 52, 108, 134, 53, 105, 128, 54, 55, 56, + 57, 58, 80, 81, 59, 85, 121, 60, 61, 62, + 63, 64, 65, 103, 104, 66, 110, 111, 67, 83, + 84, 68, 99, 100, 69, 96, 97, 70, 71, 72, + 73, 74, 75, 76, 77, 78 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -77 +#define YYPACT_NINF -68 static const yytype_int8 yypact[] = { - -77, 7, 23, -77, -6, -2, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -8, -4, -77, -77, -3, - -1, -77, 3, 4, 5, 6, 8, 9, 10, 1, - 11, 12, 14, 13, -77, -77, -77, -77, 15, 17, - 19, 20, 21, 22, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, 24, -77, -77, 26, -77, - -77, -77, 27, 28, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, 29, -77, 30, -77, -77, -77, - 32, -77, 31, 33, 34, 35, -77, 36, -77, -77, - -77, -77, -77, -77, -77, -3, -1, -77, -77, 11, - 12, 13, -77, -77, -77, -77, -77, -77, -77, -77, - 15, -77, -77, -77, -77, -77, -77 + -68, 7, 24, -68, -8, -2, -68, -68, -68, -68, + -68, -68, -68, -68, -68, -1, -4, -68, -68, -7, + 1, -68, 0, 2, 5, 6, 8, 9, 11, 3, + 14, 12, 4, 13, 15, -68, -68, -68, -68, 16, + 17, 20, 21, 22, 23, -68, -68, -68, -68, -68, + -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, + -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, + -68, -68, -68, -68, -68, -68, -68, 25, -68, -68, + 29, -68, -68, -68, 30, 27, -68, -68, -68, -68, + -68, -68, -68, -3, -68, -68, -68, 33, -68, 34, + -68, -68, -68, 35, -68, 28, 31, 32, 36, -68, + 38, -68, -68, -68, -68, -68, -68, -68, -7, 1, + -68, -68, 18, -68, 12, 4, 15, -68, -68, -68, + -68, -68, -68, -68, -68, 16, -68, -68, 37, -68, + -68, -68, -68, -68 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -75, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -76, -77, -77, -67, -77, -52, - -77, -77, -77, -55, -77, -50, -77, -77, -77, -77, - -77, -77, -77, -77, 0 + -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, + -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, + -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, + -68, -68, -68, -67, -68, -68, -68, -68, -68, -68, + -68, -68, -68, -68, -59, -68, -68, -62, -68, -45, + -68, -68, -68, -50, -68, -47, -68, -68, -68, -68, + -68, -68, -68, -68, -68, 10 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -715,44 +730,47 @@ static const yytype_uint8 yytable[] = { 19, 20, 21, 22, 23, 24, 25, 3, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 4, 13, 44, 17, - 45, 14, 91, 77, 5, 80, 84, 85, 86, 87, - 131, 88, 89, 90, 6, 135, 92, 98, 95, 99, - 109, 106, 110, 111, 112, 113, 115, 116, 45, 119, - 120, 117, 121, 136, 132, 134, 130, 0, 122, 133, - 124, 126, 128, 0, 0, 114 + 38, 39, 40, 41, 42, 43, 44, 4, 13, 122, + 123, 45, 79, 46, 14, 5, 86, 93, 87, 17, + 82, 88, 89, 98, 90, 91, 6, 92, 94, 101, + 95, 136, 138, 112, 102, 109, 113, 114, 115, 116, + 118, 119, 46, 120, 124, 125, 126, 141, 127, 135, + 143, 129, 131, 142, 137, 140, 133, 139, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 117 }; static const yytype_int16 yycheck[] = { 4, 5, 6, 7, 8, 9, 10, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 3, 33, 32, 37, - 34, 33, 31, 36, 11, 36, 33, 33, 33, 33, - 115, 33, 33, 33, 21, 121, 35, 33, 36, 36, - 33, 36, 33, 33, 33, 33, 30, 30, 34, 30, - 30, 33, 30, 130, 116, 120, 30, -1, 37, 119, - 37, 37, 37, -1, -1, 75 + 24, 25, 26, 27, 28, 29, 30, 3, 36, 32, + 33, 35, 39, 37, 36, 11, 36, 34, 36, 40, + 39, 36, 36, 39, 36, 36, 22, 36, 34, 36, + 38, 118, 34, 36, 39, 39, 36, 36, 36, 36, + 31, 31, 37, 36, 31, 31, 31, 126, 40, 31, + 33, 40, 40, 135, 119, 125, 40, 124, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 77 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 39, 40, 0, 3, 11, 21, 41, 43, 44, - 45, 48, 50, 33, 33, 51, 46, 37, 52, 4, + 0, 42, 43, 0, 3, 11, 22, 44, 46, 47, + 48, 51, 53, 36, 36, 54, 49, 40, 55, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 32, 34, 42, 47, 49, 53, - 56, 59, 62, 65, 66, 67, 68, 69, 72, 75, - 76, 77, 78, 79, 80, 83, 86, 89, 92, 95, - 96, 97, 98, 99, 100, 101, 102, 36, 70, 71, - 36, 87, 88, 73, 33, 33, 33, 33, 33, 33, - 33, 31, 35, 93, 94, 36, 90, 91, 33, 36, - 81, 82, 63, 54, 57, 60, 36, 84, 85, 33, - 33, 33, 33, 33, 102, 30, 30, 33, 74, 30, - 30, 30, 37, 64, 37, 55, 37, 58, 37, 61, - 30, 71, 87, 93, 91, 82, 85 + 26, 27, 28, 29, 30, 35, 37, 45, 50, 52, + 56, 59, 62, 65, 68, 69, 70, 71, 72, 75, + 78, 79, 80, 81, 82, 83, 86, 89, 92, 95, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 39, + 73, 74, 39, 90, 91, 76, 36, 36, 36, 36, + 36, 36, 36, 34, 34, 38, 96, 97, 39, 93, + 94, 36, 39, 84, 85, 66, 57, 60, 63, 39, + 87, 88, 36, 36, 36, 36, 36, 106, 31, 31, + 36, 77, 32, 33, 31, 31, 31, 40, 67, 40, + 58, 40, 61, 40, 64, 31, 74, 90, 34, 96, + 94, 85, 88, 33 }; #define yyerrok (yyerrstatus = 0) @@ -1687,18 +1705,13 @@ yyreduce: } break; - case 42: -#line 177 "levcomp.ypp" - {} - break; - case 43: -#line 180 "levcomp.ypp" - { } +#line 178 "levcomp.ypp" + {} break; case 44: -#line 182 "levcomp.ypp" +#line 181 "levcomp.ypp" { } break; @@ -1708,19 +1721,19 @@ yyreduce: break; case 46: -#line 187 "levcomp.ypp" - { - lc_global_prelude.add(yylineno, (yyvsp[(1) - (1)].text)); - } +#line 184 "levcomp.ypp" + { } break; case 47: -#line 191 "levcomp.ypp" - { } +#line 188 "levcomp.ypp" + { + lc_global_prelude.add(yylineno, (yyvsp[(1) - (1)].text)); + } break; case 48: -#line 193 "levcomp.ypp" +#line 192 "levcomp.ypp" { } break; @@ -1730,19 +1743,19 @@ yyreduce: break; case 50: -#line 198 "levcomp.ypp" - { - lc_map.main.add(yylineno, (yyvsp[(1) - (1)].text)); - } +#line 195 "levcomp.ypp" + { } break; case 51: -#line 202 "levcomp.ypp" - { } +#line 199 "levcomp.ypp" + { + lc_map.main.add(yylineno, (yyvsp[(1) - (1)].text)); + } break; case 52: -#line 204 "levcomp.ypp" +#line 203 "levcomp.ypp" { } break; @@ -1752,19 +1765,19 @@ yyreduce: break; case 54: -#line 209 "levcomp.ypp" - { - lc_map.validate.add(yylineno, (yyvsp[(1) - (1)].text)); - } +#line 206 "levcomp.ypp" + { } break; case 55: -#line 213 "levcomp.ypp" - { } +#line 210 "levcomp.ypp" + { + lc_map.validate.add(yylineno, (yyvsp[(1) - (1)].text)); + } break; case 56: -#line 215 "levcomp.ypp" +#line 214 "levcomp.ypp" { } break; @@ -1774,19 +1787,19 @@ yyreduce: break; case 58: -#line 220 "levcomp.ypp" - { - lc_map.veto.add(yylineno, (yyvsp[(1) - (1)].text)); - } +#line 217 "levcomp.ypp" + { } break; case 59: -#line 224 "levcomp.ypp" - { } +#line 221 "levcomp.ypp" + { + lc_map.veto.add(yylineno, (yyvsp[(1) - (1)].text)); + } break; case 60: -#line 226 "levcomp.ypp" +#line 225 "levcomp.ypp" { } break; @@ -1796,19 +1809,24 @@ yyreduce: break; case 62: -#line 231 "levcomp.ypp" +#line 228 "levcomp.ypp" + { } + break; + + case 63: +#line 232 "levcomp.ypp" { lc_map.prelude.add(yylineno, (yyvsp[(1) - (1)].text)); } break; - case 63: -#line 235 "levcomp.ypp" + case 64: +#line 236 "levcomp.ypp" { } break; - case 64: -#line 237 "levcomp.ypp" + case 65: +#line 238 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1817,13 +1835,13 @@ yyreduce: } break; - case 65: -#line 244 "levcomp.ypp" + case 66: +#line 245 "levcomp.ypp" { } break; - case 66: -#line 246 "levcomp.ypp" + case 67: +#line 247 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1832,13 +1850,13 @@ yyreduce: } break; - case 67: -#line 253 "levcomp.ypp" + case 68: +#line 254 "levcomp.ypp" { } break; - case 68: -#line 255 "levcomp.ypp" + case 69: +#line 256 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1847,13 +1865,13 @@ yyreduce: } break; - case 69: -#line 262 "levcomp.ypp" + case 70: +#line 263 "levcomp.ypp" { } break; - case 70: -#line 264 "levcomp.ypp" + case 71: +#line 265 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1862,13 +1880,13 @@ yyreduce: } break; - case 71: -#line 271 "levcomp.ypp" + case 72: +#line 272 "levcomp.ypp" {} break; - case 74: -#line 279 "levcomp.ypp" + case 75: +#line 280 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1877,13 +1895,13 @@ yyreduce: } break; - case 75: -#line 286 "levcomp.ypp" + case 76: +#line 287 "levcomp.ypp" {} break; - case 78: -#line 294 "levcomp.ypp" + case 79: +#line 295 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1892,8 +1910,8 @@ yyreduce: } break; - case 79: -#line 303 "levcomp.ypp" + case 80: +#line 304 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1902,8 +1920,8 @@ yyreduce: } break; - case 80: -#line 312 "levcomp.ypp" + case 81: +#line 313 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1912,8 +1930,8 @@ yyreduce: } break; - case 81: -#line 321 "levcomp.ypp" + case 82: +#line 322 "levcomp.ypp" { std::string key, arg; int sep(0); @@ -1946,18 +1964,18 @@ yyreduce: } break; - case 82: -#line 353 "levcomp.ypp" + case 83: +#line 354 "levcomp.ypp" { } break; - case 83: -#line 356 "levcomp.ypp" + case 84: +#line 357 "levcomp.ypp" { } break; - case 84: -#line 358 "levcomp.ypp" + case 85: +#line 359 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1966,13 +1984,13 @@ yyreduce: } break; - case 85: -#line 365 "levcomp.ypp" + case 86: +#line 366 "levcomp.ypp" { } break; - case 86: -#line 367 "levcomp.ypp" + case 87: +#line 368 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1981,18 +1999,18 @@ yyreduce: } break; - case 87: -#line 374 "levcomp.ypp" - { } - break; - case 88: #line 375 "levcomp.ypp" { } break; case 89: -#line 379 "levcomp.ypp" +#line 376 "levcomp.ypp" + { } + break; + + case 90: +#line 380 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2001,13 +2019,8 @@ yyreduce: } break; - case 90: -#line 387 "levcomp.ypp" - { } - break; - case 91: -#line 390 "levcomp.ypp" +#line 388 "levcomp.ypp" { } break; @@ -2017,7 +2030,12 @@ yyreduce: break; case 93: -#line 395 "levcomp.ypp" +#line 392 "levcomp.ypp" + { } + break; + + case 94: +#line 396 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2026,13 +2044,13 @@ yyreduce: } break; - case 94: -#line 403 "levcomp.ypp" + case 95: +#line 404 "levcomp.ypp" { } break; - case 97: -#line 411 "levcomp.ypp" + case 98: +#line 412 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2041,18 +2059,18 @@ yyreduce: } break; - case 98: -#line 419 "levcomp.ypp" + case 99: +#line 420 "levcomp.ypp" {} break; - case 99: -#line 420 "levcomp.ypp" + case 100: +#line 421 "levcomp.ypp" {} break; - case 102: -#line 428 "levcomp.ypp" + case 103: +#line 429 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2061,18 +2079,18 @@ yyreduce: } break; - case 103: -#line 435 "levcomp.ypp" + case 104: +#line 436 "levcomp.ypp" {} break; - case 104: -#line 436 "levcomp.ypp" + case 105: +#line 437 "levcomp.ypp" {} break; - case 107: -#line 444 "levcomp.ypp" + case 108: +#line 445 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2081,8 +2099,8 @@ yyreduce: } break; - case 108: -#line 453 "levcomp.ypp" + case 109: +#line 454 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2091,13 +2109,13 @@ yyreduce: } break; - case 109: -#line 461 "levcomp.ypp" + case 110: +#line 462 "levcomp.ypp" {} break; - case 110: -#line 463 "levcomp.ypp" + case 111: +#line 464 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2106,22 +2124,58 @@ yyreduce: } break; - case 111: -#line 472 "levcomp.ypp" + case 112: +#line 473 "levcomp.ypp" { lc_map.main.add( yylineno, - make_stringf("chance(\"%d\")", (yyvsp[(2) - (2)].i))); + make_stringf("chance(%d, %d)", (yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].i) * 100)); } break; - case 112: -#line 479 "levcomp.ypp" + case 113: +#line 480 "levcomp.ypp" + { + lc_map.main.add( + yylineno, + make_stringf("chance(%d, %d)", (yyvsp[(2) - (4)].i), (yyvsp[(4) - (4)].i))); + } + break; + + case 114: +#line 487 "levcomp.ypp" + { + lc_map.main.add( + yylineno, + make_stringf("chance(0, %d)", (yyvsp[(2) - (3)].i) * 100)); + } + break; + + case 115: +#line 494 "levcomp.ypp" + { + lc_map.main.add( + yylineno, + make_stringf("chance(0, %d)", (yyvsp[(2) - (2)].i))); + } + break; + + case 116: +#line 502 "levcomp.ypp" + { + lc_map.main.add( + yylineno, + make_stringf("weight(%d)", (yyvsp[(2) - (2)].i))); + } + break; + + case 117: +#line 509 "levcomp.ypp" {} break; - case 113: -#line 481 "levcomp.ypp" + case 118: +#line 511 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2130,8 +2184,8 @@ yyreduce: } break; - case 114: -#line 490 "levcomp.ypp" + case 119: +#line 520 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2140,8 +2194,8 @@ yyreduce: } break; - case 118: -#line 506 "levcomp.ypp" + case 123: +#line 536 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2152,7 +2206,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 2156 "levcomp.tab.c" +#line 2210 "levcomp.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2366,6 +2420,6 @@ yyreturn: } -#line 514 "levcomp.ypp" +#line 544 "levcomp.ypp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.h b/crawl-ref/source/prebuilt/levcomp.tab.h index 0c8b968088..18db2c49e7 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.h +++ b/crawl-ref/source/prebuilt/levcomp.tab.h @@ -52,28 +52,31 @@ ORIENT = 268, PLACE = 269, CHANCE = 270, - MONS = 271, - ITEM = 272, - MARKER = 273, - COLOUR = 274, - PRELUDE = 275, - MAIN = 276, - VALIDATE = 277, - VETO = 278, - NSUBST = 279, - WELCOME = 280, - LFLAGS = 281, - BFLAGS = 282, - FLOORCOL = 283, - ROCKCOL = 284, - COMMA = 285, - INTEGER = 286, - CHARACTER = 287, - STRING = 288, - MAP_LINE = 289, - MONSTER_NAME = 290, - ITEM_INFO = 291, - LUA_LINE = 292 + WEIGHT = 271, + MONS = 272, + ITEM = 273, + MARKER = 274, + COLOUR = 275, + PRELUDE = 276, + MAIN = 277, + VALIDATE = 278, + VETO = 279, + NSUBST = 280, + WELCOME = 281, + LFLAGS = 282, + BFLAGS = 283, + FLOORCOL = 284, + ROCKCOL = 285, + COMMA = 286, + COLON = 287, + PERC = 288, + INTEGER = 289, + CHARACTER = 290, + STRING = 291, + MAP_LINE = 292, + MONSTER_NAME = 293, + ITEM_INFO = 294, + LUA_LINE = 295 }; #endif /* Tokens. */ @@ -90,28 +93,31 @@ #define ORIENT 268 #define PLACE 269 #define CHANCE 270 -#define MONS 271 -#define ITEM 272 -#define MARKER 273 -#define COLOUR 274 -#define PRELUDE 275 -#define MAIN 276 -#define VALIDATE 277 -#define VETO 278 -#define NSUBST 279 -#define WELCOME 280 -#define LFLAGS 281 -#define BFLAGS 282 -#define FLOORCOL 283 -#define ROCKCOL 284 -#define COMMA 285 -#define INTEGER 286 -#define CHARACTER 287 -#define STRING 288 -#define MAP_LINE 289 -#define MONSTER_NAME 290 -#define ITEM_INFO 291 -#define LUA_LINE 292 +#define WEIGHT 271 +#define MONS 272 +#define ITEM 273 +#define MARKER 274 +#define COLOUR 275 +#define PRELUDE 276 +#define MAIN 277 +#define VALIDATE 278 +#define VETO 279 +#define NSUBST 280 +#define WELCOME 281 +#define LFLAGS 282 +#define BFLAGS 283 +#define FLOORCOL 284 +#define ROCKCOL 285 +#define COMMA 286 +#define COLON 287 +#define PERC 288 +#define INTEGER 289 +#define CHARACTER 290 +#define STRING 291 +#define MAP_LINE 292 +#define MONSTER_NAME 293 +#define ITEM_INFO 294 +#define LUA_LINE 295 @@ -125,7 +131,7 @@ typedef union YYSTYPE raw_range range; } /* Line 1489 of yacc.c. */ -#line 129 "levcomp.tab.h" +#line 135 "levcomp.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 |