parser yang BUGFIX read UTF-8 characters
Fixes: #160
diff --git a/src/parser_yang_bis.c b/src/parser_yang_bis.c
index ae5b393..6d3f026 100644
--- a/src/parser_yang_bis.c
+++ b/src/parser_yang_bis.c
@@ -8987,6 +8987,7 @@
void yyerror(YYLTYPE *yylloc, void *scanner, ...){
- (void)yylloc; /* unused */
- LOGVAL(LYE_INSTMT, LY_VLOG_NONE, NULL, yyget_text(scanner));
+ if (yylloc->first_line != -1) {
+ LOGVAL(LYE_INSTMT, LY_VLOG_NONE, NULL, yyget_text(scanner));
+ }
}
diff --git a/src/parser_yang_lex.c b/src/parser_yang_lex.c
index 5f98dcb..320d7e5 100644
--- a/src/parser_yang_lex.c
+++ b/src/parser_yang_lex.c
@@ -361,8 +361,8 @@
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 130
-#define YY_END_OF_BUFFER 131
+#define YY_NUM_RULES 131
+#define YY_END_OF_BUFFER 132
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -370,72 +370,79 @@
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[591] =
+static yyconst flex_int16_t yy_accept[651] =
{ 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96, 96,
- 131, 129, 128, 126, 129, 125, 94, 129, 93, 125,
- 125, 100, 102, 92, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 90, 91, 2, 3,
- 2, 6, 7, 6, 130, 113, 111, 130, 116, 130,
- 107, 108, 109, 130, 103, 114, 106, 120, 104, 105,
- 120, 115, 98, 95, 96, 98, 96, 97, 96, 128,
- 127, 125, 0, 0, 99, 101, 1, 5, 125, 102,
- 123, 125, 123, 123, 123, 123, 123, 123, 123, 123,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 132, 130, 129, 127, 130, 126, 92, 99,
+ 91, 126, 126, 102, 104, 90, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 88, 89,
+ 130, 130, 130, 130, 130, 130, 130, 130, 2, 3,
+ 2, 130, 130, 130, 130, 130, 130, 130, 130, 6,
+ 115, 113, 130, 118, 109, 110, 111, 130, 105, 116,
+ 108, 121, 106, 107, 121, 117, 93, 95, 94, 98,
+ 94, 130, 130, 130, 130, 130, 130, 130, 130, 100,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 4, 8, 113, 112, 0,
- 0, 117, 110, 119, 118, 120, 0, 120, 96, 0,
- 96, 95, 101, 125, 102, 124, 123, 74, 123, 123,
- 123, 123, 123, 14, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 36, 123, 123, 123, 123,
+ 101, 130, 129, 128, 126, 0, 0, 0, 0, 0,
+ 0, 0, 0, 103, 1, 5, 126, 104, 124, 126,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 0, 0, 0, 0, 0, 0, 0,
+ 4, 2, 0, 0, 0, 0, 0, 0, 0, 115,
+ 114, 112, 120, 119, 121, 0, 121, 94, 93, 0,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 62, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 121, 120, 125, 102, 124, 123, 123, 123, 123,
- 123, 12, 123, 15, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 22, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 37, 123, 40, 123, 123,
- 123, 123, 123, 45, 123, 123, 123, 123, 123, 123,
- 123, 51, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 84, 65, 123, 123, 123,
+ 0, 0, 0, 0, 0, 0, 100, 103, 126, 104,
+ 125, 124, 72, 124, 124, 124, 124, 124, 12, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 34, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 60, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 126, 0, 0, 0,
+ 2, 0, 0, 0, 122, 121, 96, 0, 0, 0,
+ 126, 104, 125, 124, 124, 124, 124, 124, 10, 124,
- 86, 69, 123, 71, 123, 123, 121, 120, 125, 102,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 79, 123, 123,
- 123, 123, 123, 123, 123, 35, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 56, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 68, 70, 123, 123,
- 120, 125, 87, 123, 9, 123, 123, 123, 16, 17,
- 123, 123, 123, 123, 77, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 33, 123, 123, 39, 123,
+ 13, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 20, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 35, 124, 38, 124, 124, 124, 124, 124,
+ 43, 124, 124, 124, 124, 124, 124, 124, 49, 124,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 82, 63, 124, 124, 124, 84, 67, 124,
+ 69, 124, 124, 126, 2, 122, 121, 97, 126, 104,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 124, 77, 124, 124,
+ 124, 124, 124, 124, 124, 33, 124, 124, 124, 124,
- 123, 123, 123, 44, 123, 123, 123, 123, 123, 123,
- 50, 123, 123, 54, 123, 123, 58, 123, 123, 123,
- 63, 123, 83, 123, 123, 67, 123, 123, 120, 125,
- 89, 123, 11, 123, 18, 123, 75, 20, 123, 123,
- 27, 123, 123, 123, 123, 28, 123, 123, 123, 123,
- 34, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 123, 52, 123, 123, 123, 82, 123, 123, 123,
- 66, 123, 123, 123, 76, 125, 10, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 30, 31, 123, 123,
- 123, 123, 123, 88, 123, 123, 123, 81, 123, 123,
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 54, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 66, 68, 124, 124,
+ 121, 126, 85, 124, 7, 124, 124, 124, 14, 15,
+ 124, 124, 124, 124, 75, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 31, 124, 124, 37, 124,
+ 124, 124, 124, 42, 124, 124, 124, 124, 124, 124,
+ 48, 124, 124, 52, 124, 124, 56, 124, 124, 124,
+ 61, 124, 81, 124, 124, 65, 124, 124, 121, 126,
+ 87, 124, 9, 124, 16, 124, 73, 18, 124, 124,
- 53, 55, 123, 123, 60, 123, 123, 123, 123, 125,
- 123, 19, 123, 123, 26, 123, 123, 25, 123, 123,
- 38, 41, 123, 123, 46, 123, 123, 123, 123, 57,
- 123, 123, 64, 85, 123, 123, 122, 13, 78, 123,
- 123, 123, 123, 32, 123, 123, 123, 123, 48, 123,
- 123, 123, 123, 123, 21, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 73, 123, 123, 123,
- 42, 43, 123, 47, 49, 123, 123, 72, 23, 24,
- 123, 80, 123, 61, 123, 123, 29, 123, 59, 0
+ 25, 124, 124, 124, 124, 26, 124, 124, 124, 124,
+ 32, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 124, 124, 50, 124, 124, 124, 80, 124, 124, 124,
+ 64, 124, 124, 124, 74, 126, 8, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 28, 29, 124, 124,
+ 124, 124, 124, 86, 124, 124, 124, 79, 124, 124,
+ 51, 53, 124, 124, 58, 124, 124, 124, 124, 126,
+ 124, 17, 124, 124, 24, 124, 124, 23, 124, 124,
+ 36, 39, 124, 124, 44, 124, 124, 124, 124, 55,
+ 124, 124, 62, 83, 124, 124, 123, 11, 76, 124,
+
+ 124, 124, 124, 30, 124, 124, 124, 124, 46, 124,
+ 124, 124, 124, 124, 19, 124, 124, 124, 124, 124,
+ 124, 124, 124, 124, 124, 124, 71, 124, 124, 124,
+ 40, 41, 124, 45, 47, 124, 124, 70, 21, 22,
+ 124, 78, 124, 59, 124, 124, 27, 124, 57, 0
} ;
static yyconst YY_CHAR yy_ec[256] =
@@ -453,693 +460,1254 @@
29, 30, 31, 32, 33, 21, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 6, 51, 6, 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, 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,
+ 48, 49, 50, 6, 51, 6, 6, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 53, 53, 53, 53, 53, 53, 53,
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 55, 55, 56, 56, 56, 56, 56, 56, 56,
- 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, 1, 1,
- 1, 1, 1, 1, 1
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 57, 58, 58, 58, 58, 58, 58,
+ 58, 58, 58, 58, 58, 58, 59, 60, 60, 61,
+ 62, 62, 62, 63, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55
} ;
-static yyconst YY_CHAR yy_meta[52] =
+static yyconst YY_CHAR yy_meta[64] =
{ 0,
- 1, 2, 3, 3, 3, 4, 2, 3, 4, 4,
- 4, 4, 5, 5, 4, 5, 5, 6, 3, 4,
- 7, 4, 3, 4, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 3,
- 3
+ 1, 1, 1, 1, 1, 2, 1, 1, 2, 2,
+ 2, 2, 3, 3, 2, 3, 3, 4, 1, 2,
+ 5, 2, 2, 2, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 1,
+ 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
+ 2, 2, 2
} ;
-static yyconst flex_uint16_t yy_base[604] =
+static yyconst flex_uint16_t yy_base[660] =
{ 0,
- 0, 0, 49, 50, 51, 53, 61, 0, 112, 119,
- 489, 2278, 122, 2278, 466, 0, 2278, 121, 0, 448,
- 117, 42, 101, 2278, 137, 156, 176, 112, 105, 144,
- 157, 177, 186, 163, 196, 199, 201, 215, 213, 224,
- 233, 239, 236, 202, 242, 257, 2278, 2278, 2278, 2278,
- 445, 2278, 2278, 428, 2278, 131, 2278, 425, 2278, 150,
- 2278, 2278, 2278, 385, 149, 2278, 2278, 351, 2278, 2278,
- 135, 2278, 2278, 2278, 147, 358, 171, 2278, 281, 231,
- 2278, 0, 191, 341, 2278, 123, 0, 0, 191, 267,
- 264, 319, 266, 273, 267, 283, 288, 278, 313, 320,
+ 0, 0, 61, 122, 62, 63, 185, 0, 248, 311,
+ 374, 437, 472, 4766, 65, 4766, 453, 19, 4766, 4766,
+ 27, 78, 490, 81, 88, 4766, 548, 606, 117, 128,
+ 225, 231, 236, 254, 289, 294, 312, 351, 366, 371,
+ 414, 432, 437, 475, 426, 481, 483, 501, 4766, 4766,
+ 48, 390, 54, 16, 57, 40, 74, 362, 4766, 4766,
+ 398, 77, 357, 95, 99, 110, 114, 231, 344, 4766,
+ 168, 4766, 387, 4766, 4766, 4766, 4766, 280, 245, 4766,
+ 4766, 274, 4766, 4766, 249, 4766, 4766, 4766, 4766, 4766,
+ 272, 234, 203, 275, 237, 290, 243, 294, 119, 4766,
- 322, 327, 325, 341, 358, 342, 343, 352, 369, 293,
- 376, 381, 382, 383, 388, 393, 400, 405, 410, 412,
- 421, 428, 422, 437, 438, 443, 449, 450, 459, 461,
- 411, 462, 466, 485, 484, 490, 495, 496, 497, 506,
- 509, 516, 519, 521, 528, 2278, 2278, 245, 2278, 319,
- 307, 2278, 2278, 2278, 2278, 237, 0, 171, 256, 249,
- 552, 336, 362, 373, 407, 570, 535, 537, 544, 564,
- 538, 570, 571, 573, 582, 585, 587, 594, 596, 599,
- 608, 609, 614, 615, 621, 627, 628, 633, 638, 639,
- 644, 649, 655, 661, 662, 672, 674, 683, 684, 690,
+ 4766, 298, 352, 4766, 259, 306, 105, 333, 284, 348,
+ 308, 364, 105, 408, 309, 394, 432, 471, 537, 664,
+ 548, 556, 604, 701, 703, 612, 721, 709, 727, 739,
+ 745, 747, 765, 771, 786, 791, 616, 801, 812, 814,
+ 831, 832, 833, 852, 850, 874, 851, 876, 894, 899,
+ 902, 915, 923, 934, 943, 954, 962, 972, 980, 993,
+ 993, 999, 1014, 1019, 1022, 1038, 1038, 1055, 1057, 1068,
+ 1076, 1089, 1095, 368, 478, 483, 487, 534, 542, 549,
+ 4766, 4766, 583, 662, 665, 707, 768, 853, 856, 378,
+ 4766, 4766, 4766, 4766, 94, 0, 258, 4766, 4766, 876,
- 697, 707, 700, 706, 709, 728, 718, 721, 730, 733,
- 735, 740, 746, 752, 757, 762, 767, 769, 774, 776,
- 779, 781, 788, 793, 798, 800, 805, 812, 824, 819,
- 826, 0, 339, 174, 570, 856, 844, 850, 856, 861,
- 862, 871, 873, 874, 884, 883, 889, 890, 895, 900,
- 901, 907, 902, 912, 913, 922, 924, 927, 933, 936,
- 939, 945, 948, 954, 959, 972, 961, 966, 978, 981,
- 983, 988, 990, 995, 997, 1002, 1004, 1007, 1016, 1018,
- 1021, 1023, 1033, 1034, 1035, 1045, 1046, 1047, 1056, 1057,
- 1058, 1067, 1069, 1070, 1072, 1081, 1087, 1092, 1093, 1098,
+ 940, 996, 1017, 1075, 1088, 1091, 4766, 1135, 1138, 1145,
+ 1157, 1155, 1157, 1163, 1184, 1195, 1206, 1214, 1226, 1232,
+ 1238, 1242, 1261, 1266, 1272, 1284, 1290, 1296, 1308, 1319,
+ 1314, 1329, 1337, 1350, 1356, 1358, 1366, 1368, 1379, 1388,
+ 1399, 1400, 1416, 1414, 1435, 1437, 1455, 1457, 1475, 1480,
+ 1498, 1500, 1518, 1523, 1526, 1540, 1551, 1559, 1572, 1580,
+ 1588, 1601, 1607, 1609, 1627, 1638, 1649, 1660, 1671, 1679,
+ 1691, 1699, 1710, 1718, 1729, 1737, 435, 1105, 1192, 1243,
+ 4766, 1336, 1417, 1434, 0, 314, 4766, 1452, 1461, 1480,
+ 464, 1645, 1776, 1765, 1780, 1786, 1813, 1815, 1833, 1835,
- 1099, 1105, 1110, 1116, 1129, 1119, 0, 276, 481, 847,
- 1122, 1128, 1131, 1140, 1143, 1150, 1145, 1157, 1160, 1166,
- 1167, 1172, 1179, 1182, 1184, 1185, 1191, 1196, 1197, 1203,
- 1206, 1212, 1215, 1217, 1224, 1218, 1229, 1234, 1236, 1243,
- 1248, 1255, 1257, 1260, 1262, 1267, 1269, 1272, 1278, 1279,
- 1284, 1285, 1290, 1291, 1301, 1302, 1307, 1314, 1313, 1319,
- 1320, 1330, 1331, 1332, 1341, 1343, 1344, 1346, 1355, 1356,
- 355, 1239, 1357, 1368, 1369, 1370, 1379, 1381, 1380, 1386,
- 1391, 1392, 1402, 1403, 1408, 1414, 1415, 1424, 1426, 1427,
- 1436, 1438, 1441, 1439, 1448, 1450, 1455, 1460, 1461, 1467,
+ 1841, 1853, 1859, 1874, 1879, 1885, 1897, 1908, 1916, 1931,
+ 1936, 1942, 1954, 1960, 1965, 1980, 1980, 1996, 1998, 2017,
+ 2019, 2025, 2037, 2043, 2048, 2063, 2068, 2074, 2078, 2086,
+ 2094, 2102, 2110, 2118, 2126, 2139, 2145, 2147, 2165, 2167,
+ 2173, 2185, 2196, 2207, 2215, 2226, 2237, 2249, 2249, 2268,
+ 2270, 2288, 2293, 2299, 2311, 2317, 2311, 2327, 2329, 2346,
+ 2347, 2360, 2368, 451, 4766, 0, 114, 4766, 1694, 1752,
+ 2381, 2387, 2381, 2403, 2409, 2424, 2429, 2444, 2449, 2464,
+ 2464, 2481, 2487, 2502, 2510, 2521, 2522, 2533, 2532, 2552,
+ 2554, 2572, 2583, 2591, 2602, 2610, 2562, 2610, 2618, 2629,
- 1470, 1473, 1479, 1482, 1484, 1485, 1494, 1497, 1500, 1506,
- 1509, 1512, 1518, 1519, 1532, 1521, 1535, 1537, 1538, 1544,
- 1547, 1550, 1556, 1562, 1568, 1573, 1574, 1575, 227, 159,
- 1580, 1585, 1586, 1604, 1587, 1597, 1598, 1607, 1609, 1610,
- 1616, 1621, 1622, 1631, 1633, 1640, 1643, 1650, 1645, 1657,
- 1659, 1662, 1669, 1678, 1680, 1690, 1693, 1696, 1699, 1705,
- 1714, 1708, 1711, 1717, 1720, 1730, 1723, 1745, 1735, 1736,
- 1748, 1750, 1751, 1757, 145, 1254, 1762, 1769, 1772, 1771,
- 1774, 1781, 1786, 1791, 1797, 1810, 1803, 1812, 1813, 1815,
- 1822, 1824, 1827, 1834, 1836, 1839, 1846, 1849, 1855, 1858,
+ 2637, 2645, 2656, 2658, 2677, 2679, 2697, 2702, 2717, 2725,
+ 2736, 2748, 2756, 2767, 2778, 2789, 2800, 2808, 2819, 2831,
+ 2831, 2850, 2852, 2870, 2875, 2881, 2893, 2899, 2893, 2909,
+ 496, 1760, 2911, 2922, 2930, 2943, 2949, 2943, 2959, 2961,
+ 2972, 2981, 2992, 3000, 3011, 3022, 3023, 3040, 3042, 3041,
+ 3059, 3061, 3080, 3082, 3100, 3105, 3111, 3123, 3131, 3142,
+ 3160, 3165, 3171, 3183, 3189, 3183, 3204, 3209, 3227, 3229,
+ 3235, 3247, 3255, 3253, 3273, 3275, 3281, 3299, 3304, 3319,
+ 3293, 3324, 3339, 3339, 3345, 3360, 3365, 3371, 363, 612,
+ 3383, 3389, 3394, 3412, 3414, 3432, 3437, 3443, 3455, 3463,
- 1861, 1867, 1870, 1873, 1880, 1879, 1882, 1889, 1891, 1258,
- 1892, 1894, 1904, 1909, 1910, 1915, 1916, 1921, 1927, 1928,
- 1934, 1937, 1939, 1940, 1946, 1949, 1955, 1956, 1958, 1967,
- 1968, 1970, 1977, 1982, 1983, 1984, 0, 1989, 1994, 1995,
- 2000, 2001, 2006, 2011, 2012, 2013, 2024, 2025, 2035, 2036,
- 2037, 2047, 2048, 2058, 2059, 2060, 2065, 2074, 2075, 2077,
- 2087, 2089, 2096, 2098, 2099, 2110, 2105, 2115, 2120, 2125,
- 2126, 2127, 2136, 2137, 2138, 2143, 2148, 2149, 2150, 2155,
- 2160, 2161, 2162, 2167, 2172, 2177, 2182, 2183, 2184, 2278,
- 2217, 2224, 2231, 2235, 2241, 2245, 2251, 2254, 2259, 2263,
+ 3474, 3482, 3482, 3499, 3501, 3512, 3521, 3532, 3540, 3552,
+ 3558, 3552, 3573, 3579, 3585, 3591, 3597, 3601, 3612, 3620,
+ 3631, 3633, 3644, 3653, 3664, 3672, 3683, 3691, 3702, 3703,
+ 3714, 3722, 3735, 3741, 73, 1916, 3743, 3761, 3766, 3772,
+ 3784, 3792, 3792, 3800, 3813, 3819, 3821, 3839, 3841, 3847,
+ 3859, 3865, 3883, 3877, 3888, 3903, 3908, 3926, 3931, 3937,
+ 3949, 3955, 3960, 3975, 3987, 3993, 3998, 4006, 4014, 1931,
+ 4022, 4033, 4042, 4053, 4061, 4072, 4073, 4084, 4083, 4103,
+ 4108, 4114, 4126, 4132, 4134, 4152, 4154, 4172, 4174, 4194,
+ 4196, 4202, 4214, 4220, 4226, 4238, 502, 4244, 4246, 4264,
- 124, 2267, 2270
+ 4266, 4286, 4288, 4306, 4308, 4326, 4331, 4349, 4351, 4369,
+ 4359, 4384, 4373, 4392, 4403, 4411, 4424, 4437, 4435, 4448,
+ 4456, 4469, 4475, 4477, 4495, 4500, 4506, 4518, 4524, 4530,
+ 4542, 4548, 4550, 4568, 4570, 4576, 4594, 4588, 4599, 4614,
+ 4619, 4637, 4639, 4645, 4649, 4665, 4670, 4676, 4688, 4766,
+ 4732, 4737, 4742, 4746, 4750, 4753, 66, 4757, 4760
} ;
-static yyconst flex_int16_t yy_def[604] =
+static yyconst flex_int16_t yy_def[660] =
{ 0,
- 590, 1, 591, 591, 592, 592, 590, 7, 593, 593,
- 590, 590, 590, 590, 590, 594, 590, 595, 594, 594,
- 594, 594, 594, 590, 596, 596, 26, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 590, 590, 590, 590,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 597,
- 590, 590, 590, 590, 590, 590, 590, 598, 590, 590,
- 598, 590, 590, 590, 599, 590, 599, 590, 599, 590,
- 590, 594, 595, 590, 590, 594, 594, 594, 594, 594,
- 27, 600, 27, 27, 27, 27, 27, 27, 27, 27,
+ 650, 1, 651, 651, 4, 4, 650, 7, 652, 652,
+ 653, 653, 650, 650, 650, 650, 650, 654, 650, 650,
+ 654, 654, 654, 23, 23, 650, 655, 655, 28, 28,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 28, 28, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 656, 650, 650, 656, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 105, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 590, 590, 590, 590, 597,
- 590, 590, 590, 590, 590, 598, 601, 598, 599, 590,
- 599, 599, 594, 594, 594, 602, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+ 650, 650, 650, 650, 23, 650, 650, 650, 650, 650,
+ 650, 650, 650, 23, 23, 23, 23, 23, 28, 650,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 133, 133, 133, 133,
+ 133, 133, 133, 133, 133, 28, 133, 28, 28, 28,
+ 133, 133, 133, 133, 28, 28, 28, 133, 133, 28,
+ 133, 28, 28, 28, 133, 28, 133, 133, 133, 133,
+ 133, 28, 28, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 656, 657, 656, 650, 650, 650,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 603, 598, 594, 594, 602, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+ 650, 650, 650, 650, 650, 650, 650, 23, 23, 23,
+ 658, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 133, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 133, 133, 28, 28, 28, 133, 133, 133, 28,
+ 28, 133, 133, 133, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 133, 133, 133, 133, 133, 133,
+ 133, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 23, 650, 650, 650,
+ 650, 650, 650, 650, 659, 656, 650, 650, 650, 650,
+ 23, 23, 658, 28, 28, 28, 28, 28, 28, 28,
- 27, 27, 27, 27, 27, 27, 603, 598, 594, 594,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 598, 594, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 133, 133, 133, 28,
+ 28, 28, 28, 28, 28, 28, 28, 28, 133, 133,
+ 133, 133, 133, 133, 133, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 28, 28, 133, 28,
+ 28, 28, 28, 28, 28, 28, 133, 133, 133, 133,
+ 133, 133, 133, 23, 650, 659, 656, 650, 23, 23,
+ 28, 28, 133, 133, 28, 28, 28, 28, 28, 28,
+ 133, 133, 28, 28, 28, 28, 133, 133, 28, 28,
+ 28, 28, 28, 28, 28, 28, 133, 133, 133, 133,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 598, 594,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 598, 594, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+ 133, 133, 133, 133, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 133, 28, 28, 28, 28, 28, 28, 28, 133, 133,
+ 656, 23, 133, 133, 133, 28, 28, 133, 133, 133,
+ 133, 28, 28, 28, 28, 28, 133, 133, 133, 133,
+ 133, 133, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 133, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 133, 28, 28, 28, 28, 656, 23,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 594,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 594, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 0,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
+ 28, 28, 133, 133, 133, 133, 28, 28, 28, 28,
+ 28, 133, 28, 28, 28, 28, 28, 133, 133, 133,
+ 133, 133, 133, 28, 28, 28, 28, 28, 28, 133,
+ 133, 133, 28, 28, 656, 23, 28, 28, 28, 28,
+ 28, 28, 133, 133, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 28, 133, 133, 23,
+ 133, 133, 28, 28, 28, 28, 133, 133, 28, 28,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 23, 28, 28, 28,
- 590, 590, 590
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
+ 133, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 133, 28, 28, 28, 28, 0,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650
} ;
-static yyconst flex_uint16_t yy_nxt[2330] =
+static yyconst flex_uint16_t yy_nxt[4830] =
{ 0,
- 12, 13, 14, 15, 13, 16, 17, 18, 16, 16,
- 16, 19, 20, 16, 21, 22, 23, 16, 24, 16,
- 25, 16, 12, 16, 26, 27, 28, 29, 30, 31,
- 32, 25, 33, 34, 35, 36, 37, 38, 39, 25,
- 40, 41, 42, 43, 44, 45, 25, 46, 25, 47,
- 48, 50, 50, 53, 54, 53, 54, 89, 89, 51,
- 51, 55, 56, 57, 58, 56, 55, 59, 60, 61,
- 62, 55, 63, 55, 64, 65, 55, 55, 55, 66,
- 67, 68, 69, 55, 70, 68, 68, 71, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 14, 15, 16, 17, 15, 18, 19, 20, 18, 18,
+ 18, 21, 22, 18, 23, 24, 25, 18, 26, 18,
+ 27, 18, 18, 18, 28, 29, 30, 31, 32, 33,
+ 34, 27, 35, 36, 37, 38, 39, 40, 41, 27,
+ 42, 43, 44, 45, 46, 47, 27, 48, 27, 49,
+ 50, 14, 14, 14, 14, 51, 52, 53, 54, 55,
+ 56, 57, 58, 60, 70, 70, 103, 176, 176, 103,
+ 285, 61, 59, 59, 106, 107, 108, 109, 110, 111,
+ 112, 113, 106, 107, 108, 109, 110, 111, 112, 113,
+ 196, 105, 178, 178, 114, 105, 117, 117, 105, 105,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 72, 55, 73, 74, 75, 76, 90, 90, 78, 73,
- 74, 75, 76, 80, 84, 78, 80, 87, 85, 91,
- 232, 88, 148, 105, 79, 148, 101, 91, 163, 163,
- 91, 79, 82, 102, 91, 82, 82, 82, 82, 103,
- 160, 82, 157, 151, 92, 104, 82, 152, 82, 154,
- 82, 82, 157, 155, 82, 82, 82, 82, 91, 161,
- 82, 476, 91, 92, 160, 82, 91, 82, 158, 82,
- 106, 109, 93, 94, 107, 110, 309, 91, 157, 91,
- 108, 117, 95, 161, 84, 91, 96, 111, 85, 97,
+ 105, 105, 105, 118, 118, 175, 175, 175, 177, 177,
+ 177, 196, 14, 14, 14, 14, 62, 63, 64, 65,
+ 66, 67, 68, 69, 60, 179, 179, 179, 182, 182,
+ 182, 196, 61, 106, 107, 108, 109, 110, 111, 112,
+ 113, 126, 431, 119, 119, 127, 184, 184, 184, 128,
+ 185, 185, 129, 119, 119, 119, 180, 119, 174, 130,
+ 119, 186, 186, 186, 119, 131, 187, 187, 119, 190,
+ 206, 132, 190, 14, 14, 14, 14, 62, 63, 64,
+ 65, 66, 67, 68, 69, 14, 71, 72, 73, 71,
+ 14, 74, 20, 75, 76, 14, 77, 14, 78, 79,
- 98, 91, 91, 91, 99, 91, 164, 164, 100, 91,
- 91, 233, 91, 113, 91, 114, 91, 112, 91, 91,
- 91, 115, 116, 120, 118, 124, 142, 91, 119, 91,
- 91, 121, 80, 91, 91, 80, 122, 129, 125, 91,
- 126, 91, 123, 91, 157, 91, 148, 91, 132, 148,
- 130, 159, 133, 131, 157, 127, 91, 91, 128, 160,
- 91, 91, 134, 91, 91, 91, 91, 91, 91, 475,
- 91, 91, 140, 143, 91, 135, 136, 141, 161, 138,
- 137, 144, 165, 165, 160, 91, 139, 159, 91, 145,
- 91, 91, 91, 157, 91, 91, 91, 91, 91, 91,
+ 14, 14, 14, 80, 81, 82, 83, 14, 84, 82,
+ 82, 85, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 86, 14, 14, 14, 14, 14,
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 87,
+ 88, 119, 119, 133, 90, 193, 200, 119, 119, 194,
+ 137, 119, 119, 119, 138, 119, 196, 134, 119, 105,
+ 91, 135, 119, 105, 119, 196, 139, 136, 198, 119,
+ 119, 119, 188, 188, 188, 198, 198, 198, 202, 202,
+ 119, 196, 197, 192, 140, 204, 204, 119, 286, 14,
- 168, 91, 91, 161, 371, 91, 91, 91, 167, 150,
- 91, 91, 91, 170, 169, 91, 91, 188, 171, 172,
- 91, 91, 151, 162, 82, 91, 152, 82, 82, 82,
- 82, 82, 82, 82, 82, 82, 82, 91, 82, 160,
- 82, 91, 82, 83, 91, 91, 91, 173, 91, 91,
- 91, 91, 91, 91, 91, 91, 157, 91, 161, 91,
- 159, 177, 174, 175, 176, 91, 91, 91, 157, 91,
- 91, 91, 157, 91, 91, 91, 91, 163, 163, 308,
- 91, 178, 91, 185, 91, 184, 91, 179, 234, 234,
- 91, 429, 180, 91, 186, 192, 181, 91, 153, 182,
+ 14, 14, 14, 92, 93, 94, 95, 96, 97, 98,
+ 99, 14, 87, 88, 199, 119, 141, 90, 142, 105,
+ 119, 119, 145, 105, 143, 144, 201, 201, 201, 119,
+ 119, 196, 119, 91, 119, 176, 176, 119, 119, 119,
+ 146, 203, 203, 203, 147, 205, 205, 205, 119, 207,
+ 207, 207, 119, 103, 367, 119, 103, 105, 105, 105,
+ 178, 178, 14, 14, 14, 14, 92, 93, 94, 95,
+ 96, 97, 98, 99, 14, 148, 88, 119, 119, 190,
+ 196, 101, 190, 149, 175, 175, 175, 119, 150, 191,
+ 152, 119, 119, 119, 151, 189, 154, 119, 119, 177,
- 189, 91, 183, 187, 91, 91, 91, 91, 91, 91,
- 191, 91, 91, 91, 91, 91, 91, 91, 190, 194,
- 91, 91, 235, 235, 91, 91, 193, 149, 91, 197,
- 147, 195, 91, 91, 91, 91, 91, 91, 91, 213,
- 91, 198, 91, 91, 91, 91, 91, 196, 200, 91,
- 91, 199, 91, 91, 91, 203, 91, 202, 201, 146,
- 91, 91, 91, 204, 86, 91, 91, 91, 81, 91,
- 91, 91, 205, 91, 91, 91, 208, 91, 91, 209,
- 206, 91, 91, 91, 207, 91, 91, 91, 590, 91,
- 91, 91, 210, 91, 91, 215, 372, 372, 214, 590,
+ 177, 177, 119, 153, 105, 535, 119, 119, 105, 119,
+ 183, 155, 181, 180, 156, 179, 179, 179, 105, 277,
+ 277, 277, 105, 208, 208, 14, 14, 14, 14, 102,
+ 93, 94, 95, 96, 97, 98, 99, 14, 157, 88,
+ 119, 119, 105, 174, 101, 105, 105, 209, 209, 105,
+ 119, 158, 119, 119, 159, 104, 160, 119, 119, 119,
+ 161, 105, 168, 119, 119, 105, 119, 169, 119, 119,
+ 162, 650, 119, 119, 105, 119, 369, 119, 105, 163,
+ 164, 105, 650, 650, 165, 105, 210, 210, 14, 14,
+ 14, 14, 102, 93, 94, 95, 96, 97, 98, 99,
- 91, 211, 212, 590, 216, 217, 590, 91, 220, 91,
- 218, 219, 91, 91, 91, 221, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 590, 91, 91, 91,
- 91, 225, 590, 91, 91, 224, 222, 227, 226, 223,
- 91, 91, 590, 91, 91, 91, 590, 229, 91, 91,
- 228, 91, 91, 91, 590, 160, 91, 230, 159, 91,
- 91, 91, 91, 91, 231, 91, 91, 237, 91, 91,
- 91, 238, 91, 241, 161, 82, 91, 590, 82, 82,
- 82, 82, 309, 590, 82, 310, 310, 82, 91, 82,
- 239, 82, 91, 82, 91, 91, 91, 91, 242, 91,
+ 115, 119, 119, 650, 116, 170, 650, 119, 119, 119,
+ 119, 119, 105, 196, 171, 166, 105, 119, 119, 119,
+ 650, 119, 167, 119, 119, 172, 119, 119, 119, 277,
+ 277, 277, 489, 173, 277, 277, 277, 119, 277, 277,
+ 277, 119, 650, 650, 119, 106, 107, 108, 109, 110,
+ 111, 112, 113, 105, 650, 650, 105, 105, 105, 105,
+ 650, 650, 105, 119, 119, 120, 650, 105, 650, 105,
+ 105, 105, 650, 119, 119, 119, 650, 119, 650, 650,
+ 119, 650, 119, 213, 119, 278, 278, 278, 119, 650,
+ 212, 119, 119, 279, 279, 279, 119, 650, 650, 119,
- 590, 91, 91, 91, 590, 91, 91, 240, 243, 91,
- 244, 91, 590, 91, 91, 91, 246, 245, 91, 91,
- 249, 590, 91, 91, 91, 590, 91, 250, 91, 247,
- 590, 91, 91, 91, 248, 252, 91, 91, 91, 91,
- 91, 91, 91, 91, 590, 91, 253, 91, 251, 91,
- 254, 91, 91, 91, 590, 256, 91, 91, 255, 91,
- 91, 91, 91, 91, 259, 91, 91, 91, 91, 257,
- 91, 91, 91, 91, 590, 258, 91, 91, 262, 91,
- 261, 91, 260, 91, 590, 91, 91, 91, 590, 91,
- 91, 590, 263, 91, 91, 264, 91, 590, 91, 590,
+ 280, 280, 280, 106, 107, 108, 109, 110, 111, 112,
+ 113, 105, 650, 650, 105, 105, 105, 105, 650, 650,
+ 105, 650, 105, 120, 536, 105, 105, 105, 105, 105,
+ 119, 119, 121, 122, 281, 281, 281, 650, 119, 119,
+ 119, 650, 123, 650, 119, 119, 124, 119, 119, 125,
+ 232, 214, 119, 217, 119, 119, 650, 119, 650, 650,
+ 119, 106, 107, 108, 109, 110, 111, 112, 113, 105,
+ 650, 650, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 650, 105, 211, 105, 105, 105, 211, 211,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 91, 590, 91, 266, 91, 265, 91, 91, 91, 270,
- 590, 91, 91, 267, 91, 91, 91, 269, 91, 271,
- 590, 91, 91, 590, 91, 91, 268, 590, 91, 91,
- 91, 91, 272, 91, 91, 91, 590, 275, 91, 91,
- 276, 91, 91, 273, 590, 91, 91, 590, 274, 279,
- 91, 590, 91, 91, 280, 278, 91, 91, 91, 91,
- 277, 91, 91, 91, 91, 91, 282, 91, 91, 590,
- 91, 281, 284, 590, 91, 285, 91, 283, 91, 590,
- 91, 91, 287, 590, 91, 288, 91, 286, 590, 289,
- 91, 91, 590, 91, 91, 91, 290, 91, 91, 91,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 281, 281, 281, 281, 281, 281, 106,
+ 107, 108, 109, 110, 111, 112, 113, 119, 119, 119,
+ 119, 215, 650, 216, 650, 119, 119, 119, 650, 119,
+ 650, 119, 650, 119, 119, 119, 119, 119, 119, 119,
+ 650, 219, 119, 119, 119, 218, 650, 119, 281, 281,
+ 281, 119, 650, 119, 119, 119, 119, 119, 220, 650,
+ 119, 119, 119, 119, 119, 119, 221, 650, 650, 119,
+ 650, 222, 119, 119, 650, 119, 650, 223, 119, 650,
+ 119, 119, 119, 650, 224, 650, 650, 119, 119, 225,
- 91, 292, 91, 91, 91, 91, 91, 91, 91, 91,
- 291, 91, 91, 91, 294, 590, 296, 91, 293, 590,
- 91, 297, 91, 295, 91, 91, 91, 590, 91, 91,
- 91, 590, 91, 91, 590, 298, 91, 91, 306, 299,
- 91, 590, 300, 91, 91, 301, 302, 91, 91, 305,
- 91, 91, 91, 590, 91, 303, 91, 590, 91, 590,
- 304, 82, 310, 310, 82, 82, 82, 82, 91, 590,
- 82, 590, 91, 82, 312, 82, 91, 82, 91, 82,
- 91, 311, 91, 590, 91, 91, 91, 590, 91, 91,
- 315, 313, 590, 91, 91, 91, 314, 91, 91, 91,
+ 650, 119, 650, 226, 650, 119, 227, 119, 119, 228,
+ 650, 119, 119, 119, 229, 650, 650, 119, 119, 282,
+ 282, 282, 119, 650, 650, 233, 230, 119, 650, 119,
+ 119, 119, 650, 231, 119, 119, 234, 650, 650, 119,
+ 650, 119, 119, 119, 237, 119, 119, 650, 119, 650,
+ 119, 235, 119, 119, 650, 119, 119, 650, 119, 236,
+ 119, 119, 119, 650, 650, 119, 119, 119, 650, 119,
+ 119, 238, 119, 119, 119, 119, 119, 119, 239, 119,
+ 119, 119, 650, 650, 119, 119, 119, 650, 119, 119,
+ 240, 119, 244, 119, 119, 119, 119, 241, 242, 650,
- 590, 91, 91, 91, 590, 91, 91, 91, 91, 316,
- 317, 91, 91, 319, 91, 318, 91, 91, 320, 91,
- 590, 91, 91, 91, 91, 91, 325, 91, 91, 323,
- 91, 91, 91, 91, 91, 91, 91, 91, 321, 91,
- 91, 91, 322, 590, 91, 91, 91, 324, 91, 590,
- 91, 91, 328, 326, 91, 91, 91, 91, 327, 91,
- 91, 91, 590, 91, 91, 91, 590, 91, 91, 91,
- 329, 91, 91, 333, 331, 330, 91, 91, 91, 590,
- 91, 332, 91, 91, 337, 91, 91, 91, 334, 91,
- 91, 91, 590, 91, 91, 590, 91, 335, 91, 590,
+ 119, 119, 119, 119, 283, 283, 283, 284, 284, 284,
+ 243, 650, 245, 650, 119, 650, 119, 119, 650, 119,
+ 119, 119, 246, 650, 650, 119, 248, 287, 287, 287,
+ 247, 119, 650, 650, 119, 119, 119, 119, 650, 119,
+ 119, 650, 119, 249, 119, 650, 119, 650, 650, 119,
+ 250, 650, 119, 119, 650, 650, 119, 119, 650, 119,
+ 650, 119, 650, 119, 119, 251, 650, 119, 119, 119,
+ 253, 650, 119, 254, 650, 252, 650, 650, 119, 119,
+ 119, 119, 650, 119, 650, 650, 119, 650, 119, 119,
+ 119, 287, 287, 287, 119, 650, 255, 119, 119, 650,
- 91, 336, 339, 338, 91, 91, 91, 91, 590, 340,
- 91, 341, 91, 91, 91, 91, 91, 342, 91, 91,
- 91, 91, 91, 91, 343, 91, 91, 91, 91, 91,
- 91, 91, 91, 346, 91, 91, 91, 590, 344, 91,
- 91, 347, 91, 345, 91, 91, 91, 91, 91, 91,
- 91, 91, 590, 91, 349, 91, 348, 91, 91, 91,
- 590, 351, 91, 91, 350, 91, 91, 353, 590, 91,
- 91, 91, 590, 354, 355, 91, 352, 91, 91, 91,
- 91, 358, 91, 590, 91, 91, 91, 356, 91, 91,
- 359, 91, 357, 91, 91, 91, 91, 91, 91, 91,
+ 650, 119, 119, 650, 256, 119, 119, 650, 258, 119,
+ 119, 650, 650, 257, 119, 650, 119, 650, 119, 119,
+ 119, 119, 260, 650, 119, 264, 119, 119, 650, 259,
+ 650, 261, 262, 119, 119, 119, 119, 263, 265, 119,
+ 119, 119, 119, 650, 266, 119, 119, 287, 287, 287,
+ 119, 119, 650, 650, 119, 119, 119, 119, 650, 119,
+ 119, 650, 119, 267, 119, 119, 119, 119, 287, 287,
+ 287, 650, 119, 650, 119, 650, 269, 650, 119, 119,
+ 270, 268, 119, 650, 119, 272, 119, 271, 650, 119,
+ 650, 119, 650, 119, 650, 119, 119, 119, 119, 119,
- 363, 91, 91, 590, 91, 91, 590, 362, 360, 91,
- 590, 91, 361, 91, 364, 91, 91, 91, 590, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 590, 91,
- 91, 91, 590, 91, 91, 365, 366, 91, 368, 367,
- 91, 369, 91, 91, 91, 590, 91, 370, 91, 590,
- 91, 91, 91, 91, 91, 91, 91, 91, 373, 91,
- 91, 91, 590, 91, 91, 375, 590, 91, 376, 91,
- 374, 91, 91, 379, 91, 91, 590, 91, 91, 377,
- 378, 91, 91, 590, 91, 91, 381, 380, 91, 91,
- 91, 91, 382, 590, 91, 91, 91, 389, 91, 91,
+ 650, 119, 273, 650, 274, 119, 119, 650, 650, 119,
+ 119, 650, 119, 650, 119, 119, 119, 119, 650, 650,
+ 119, 119, 119, 650, 650, 275, 288, 288, 288, 119,
+ 650, 276, 119, 650, 650, 119, 650, 650, 119, 289,
+ 289, 289, 290, 290, 290, 105, 650, 650, 105, 105,
+ 208, 208, 105, 291, 291, 105, 364, 364, 364, 105,
+ 292, 292, 105, 650, 650, 105, 105, 105, 105, 650,
+ 650, 105, 650, 650, 105, 650, 105, 650, 105, 105,
+ 105, 119, 119, 119, 119, 650, 650, 294, 650, 119,
+ 295, 119, 650, 119, 650, 119, 650, 119, 119, 119,
- 385, 384, 383, 91, 91, 386, 91, 91, 91, 91,
- 91, 91, 91, 91, 387, 91, 91, 91, 590, 91,
- 91, 91, 590, 91, 91, 91, 388, 91, 91, 91,
- 91, 91, 390, 590, 91, 392, 91, 391, 393, 395,
- 91, 91, 91, 91, 394, 91, 91, 91, 91, 91,
- 91, 397, 91, 91, 430, 430, 91, 91, 91, 396,
- 91, 91, 91, 398, 91, 399, 91, 91, 91, 510,
- 510, 91, 91, 537, 537, 91, 91, 401, 400, 91,
- 91, 91, 402, 91, 91, 404, 91, 403, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 408, 405, 407,
+ 119, 650, 650, 119, 650, 650, 119, 650, 650, 296,
+ 119, 119, 106, 107, 108, 109, 110, 111, 112, 113,
+ 119, 119, 119, 650, 119, 650, 650, 297, 650, 650,
+ 298, 119, 119, 119, 299, 119, 650, 650, 119, 650,
+ 119, 119, 119, 364, 364, 364, 119, 650, 650, 119,
+ 119, 300, 119, 119, 119, 650, 650, 119, 119, 119,
+ 301, 650, 119, 650, 119, 119, 119, 650, 119, 119,
+ 302, 303, 119, 650, 119, 119, 119, 650, 119, 650,
+ 119, 119, 650, 119, 304, 650, 119, 119, 119, 650,
+ 306, 650, 119, 119, 364, 364, 364, 119, 119, 119,
- 409, 91, 91, 91, 91, 406, 91, 91, 91, 91,
- 410, 91, 91, 91, 91, 91, 91, 413, 91, 91,
- 590, 411, 91, 91, 412, 91, 91, 415, 590, 91,
- 416, 91, 590, 91, 91, 417, 414, 91, 91, 91,
- 418, 91, 91, 91, 91, 91, 91, 91, 91, 590,
- 590, 420, 91, 419, 91, 91, 91, 422, 91, 91,
- 424, 421, 91, 91, 91, 91, 423, 91, 91, 91,
- 91, 426, 91, 91, 91, 91, 91, 425, 91, 91,
- 91, 91, 590, 91, 91, 91, 590, 91, 91, 91,
- 428, 590, 431, 91, 91, 590, 91, 91, 91, 427,
+ 307, 305, 119, 650, 119, 650, 119, 650, 119, 119,
+ 119, 119, 119, 650, 650, 119, 309, 119, 650, 650,
+ 119, 650, 119, 119, 308, 650, 119, 119, 310, 650,
+ 119, 650, 119, 119, 119, 119, 119, 650, 650, 119,
+ 119, 119, 313, 311, 119, 119, 119, 650, 119, 650,
+ 119, 119, 650, 650, 119, 119, 312, 119, 119, 119,
+ 650, 650, 119, 119, 650, 650, 119, 119, 650, 650,
+ 314, 119, 650, 119, 650, 119, 316, 119, 119, 315,
+ 650, 119, 119, 119, 119, 119, 119, 365, 365, 365,
+ 119, 650, 119, 119, 318, 319, 119, 119, 119, 317,
- 91, 91, 91, 91, 91, 91, 432, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 590, 91, 91,
- 91, 433, 434, 91, 91, 590, 91, 91, 436, 590,
- 91, 91, 91, 435, 91, 91, 91, 590, 439, 91,
- 91, 590, 91, 91, 437, 438, 91, 91, 91, 590,
- 443, 91, 441, 440, 91, 91, 442, 590, 91, 445,
- 91, 444, 91, 91, 446, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 447, 91, 448, 91, 91,
- 91, 449, 91, 451, 91, 91, 590, 91, 91, 91,
- 450, 91, 452, 91, 91, 91, 590, 91, 454, 91,
+ 119, 119, 119, 650, 119, 320, 119, 119, 119, 119,
+ 119, 650, 119, 321, 119, 119, 650, 119, 650, 650,
+ 119, 650, 650, 119, 119, 119, 119, 650, 119, 323,
+ 650, 322, 650, 650, 119, 119, 650, 650, 119, 119,
+ 650, 119, 119, 119, 119, 119, 324, 650, 119, 327,
+ 119, 650, 119, 650, 119, 119, 325, 119, 119, 650,
+ 119, 119, 326, 119, 119, 650, 650, 328, 365, 365,
+ 365, 119, 650, 119, 650, 119, 650, 119, 119, 650,
+ 119, 119, 119, 119, 119, 365, 365, 365, 650, 329,
+ 650, 119, 650, 119, 650, 119, 650, 119, 119, 650,
- 590, 455, 91, 91, 453, 91, 91, 456, 457, 91,
- 91, 91, 91, 91, 91, 590, 91, 91, 91, 590,
- 459, 91, 91, 458, 91, 91, 91, 461, 91, 91,
- 91, 590, 91, 91, 91, 590, 91, 91, 91, 460,
- 91, 91, 91, 91, 91, 91, 91, 91, 463, 91,
- 91, 91, 590, 91, 462, 464, 91, 466, 465, 91,
- 91, 91, 91, 91, 91, 467, 468, 91, 91, 91,
- 91, 91, 91, 590, 91, 91, 91, 590, 91, 91,
- 91, 469, 91, 590, 91, 590, 91, 590, 91, 590,
- 91, 471, 91, 470, 91, 472, 91, 91, 91, 91,
+ 330, 119, 119, 368, 368, 368, 119, 119, 332, 650,
+ 333, 119, 368, 368, 368, 119, 119, 331, 119, 650,
+ 119, 650, 650, 119, 119, 119, 119, 119, 650, 650,
+ 334, 368, 368, 368, 119, 650, 119, 335, 119, 650,
+ 119, 119, 650, 119, 119, 119, 336, 337, 650, 119,
+ 119, 650, 650, 650, 119, 119, 650, 650, 119, 119,
+ 119, 119, 650, 119, 338, 650, 119, 119, 650, 119,
+ 119, 339, 650, 650, 119, 650, 650, 650, 119, 650,
+ 119, 119, 340, 341, 119, 119, 650, 650, 342, 119,
+ 650, 650, 119, 119, 650, 119, 650, 119, 650, 650,
- 91, 91, 473, 474, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 478, 91, 91, 91,
- 590, 91, 91, 590, 590, 479, 91, 477, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 590, 91, 91, 91, 590, 91, 91,
- 91, 480, 481, 91, 91, 91, 590, 91, 482, 484,
- 483, 91, 590, 91, 91, 91, 590, 91, 91, 91,
- 485, 91, 91, 91, 91, 91, 590, 91, 91, 486,
- 487, 91, 91, 91, 590, 91, 91, 91, 590, 91,
- 91, 91, 488, 91, 91, 590, 590, 91, 590, 590,
+ 343, 119, 344, 119, 650, 650, 119, 650, 345, 119,
+ 119, 650, 346, 119, 119, 650, 119, 119, 119, 650,
+ 650, 119, 347, 650, 119, 650, 119, 119, 119, 119,
+ 650, 650, 119, 119, 119, 119, 119, 119, 650, 349,
+ 650, 119, 650, 119, 348, 119, 650, 119, 650, 119,
+ 119, 650, 119, 119, 119, 105, 650, 369, 650, 105,
+ 370, 370, 650, 119, 119, 119, 650, 119, 650, 350,
+ 119, 650, 650, 351, 119, 119, 119, 650, 119, 650,
+ 650, 119, 650, 650, 650, 119, 119, 119, 353, 119,
+ 650, 352, 119, 650, 650, 650, 119, 119, 119, 354,
- 489, 91, 91, 490, 91, 590, 91, 590, 91, 491,
- 91, 590, 91, 492, 91, 493, 590, 91, 91, 495,
- 91, 91, 91, 497, 91, 91, 499, 91, 91, 91,
- 494, 91, 500, 498, 496, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 502, 91,
- 590, 91, 91, 501, 91, 91, 503, 504, 91, 91,
- 91, 590, 91, 91, 91, 590, 590, 91, 91, 91,
- 506, 505, 91, 91, 91, 91, 91, 91, 507, 91,
- 91, 91, 91, 91, 590, 91, 91, 590, 590, 91,
- 91, 508, 509, 91, 91, 91, 91, 91, 91, 513,
+ 119, 650, 650, 119, 105, 119, 119, 119, 105, 432,
+ 432, 119, 650, 650, 119, 119, 355, 119, 119, 119,
+ 650, 650, 119, 650, 650, 119, 119, 119, 650, 650,
+ 356, 119, 650, 357, 119, 119, 119, 119, 650, 358,
+ 359, 650, 119, 650, 119, 119, 119, 650, 650, 363,
+ 119, 650, 650, 360, 361, 119, 119, 650, 119, 362,
+ 650, 119, 105, 119, 119, 119, 105, 370, 370, 119,
+ 105, 650, 119, 119, 105, 490, 490, 119, 650, 650,
+ 119, 105, 650, 650, 105, 105, 105, 105, 650, 650,
+ 105, 119, 119, 105, 650, 105, 650, 105, 105, 105,
- 91, 91, 91, 91, 91, 91, 514, 590, 590, 91,
- 91, 511, 512, 91, 91, 91, 590, 515, 91, 91,
- 590, 91, 519, 91, 516, 91, 590, 91, 590, 91,
- 590, 91, 517, 518, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 590,
- 91, 91, 523, 520, 91, 524, 91, 521, 91, 91,
- 91, 590, 91, 91, 525, 590, 91, 91, 91, 522,
- 91, 91, 590, 91, 91, 590, 526, 91, 91, 91,
- 528, 91, 91, 91, 590, 91, 91, 91, 527, 91,
- 91, 91, 532, 91, 91, 91, 590, 91, 530, 91,
+ 650, 119, 371, 650, 372, 119, 119, 119, 119, 650,
+ 650, 650, 119, 119, 650, 650, 119, 650, 650, 650,
+ 119, 373, 119, 119, 650, 650, 119, 650, 650, 119,
+ 650, 106, 107, 108, 109, 110, 111, 112, 113, 119,
+ 119, 119, 119, 375, 650, 650, 650, 650, 374, 119,
+ 650, 119, 650, 119, 650, 119, 119, 650, 119, 119,
+ 119, 119, 119, 650, 650, 650, 650, 119, 119, 119,
+ 650, 376, 650, 119, 650, 119, 119, 119, 119, 377,
+ 119, 119, 650, 650, 119, 119, 119, 650, 650, 119,
+ 650, 378, 650, 119, 650, 119, 119, 650, 379, 119,
- 529, 91, 91, 91, 91, 531, 91, 533, 91, 534,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 536,
- 91, 91, 91, 91, 91, 590, 91, 541, 91, 538,
- 535, 539, 91, 91, 91, 590, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 540, 91, 91, 91,
- 590, 91, 91, 91, 543, 91, 544, 542, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 545, 546, 91, 91, 91,
- 91, 91, 91, 91, 91, 590, 91, 548, 91, 547,
- 550, 91, 91, 590, 91, 91, 91, 552, 91, 91,
+ 119, 119, 119, 650, 650, 119, 119, 380, 650, 650,
+ 119, 119, 119, 650, 119, 119, 650, 119, 650, 119,
+ 650, 119, 119, 119, 119, 119, 105, 650, 381, 650,
+ 105, 570, 570, 119, 119, 119, 383, 119, 650, 382,
+ 119, 105, 119, 119, 119, 105, 597, 597, 119, 650,
+ 650, 119, 119, 650, 650, 385, 384, 119, 119, 119,
+ 650, 650, 119, 119, 650, 650, 650, 119, 119, 119,
+ 650, 119, 119, 650, 119, 650, 119, 650, 119, 119,
+ 119, 119, 386, 650, 650, 119, 119, 119, 388, 650,
+ 387, 119, 119, 650, 119, 650, 119, 119, 650, 650,
- 91, 91, 91, 549, 551, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 553, 91, 91, 91, 91,
- 554, 91, 91, 91, 91, 557, 91, 91, 91, 91,
- 91, 555, 91, 91, 91, 91, 91, 91, 558, 91,
- 91, 91, 556, 91, 91, 91, 590, 590, 91, 91,
- 590, 590, 91, 91, 559, 560, 91, 91, 590, 91,
- 91, 91, 562, 91, 91, 91, 561, 91, 91, 91,
- 590, 565, 91, 563, 590, 91, 91, 590, 564, 91,
- 91, 590, 91, 91, 568, 566, 91, 91, 91, 91,
- 91, 91, 91, 91, 590, 569, 590, 91, 91, 91,
+ 119, 119, 650, 119, 650, 119, 119, 119, 389, 119,
+ 650, 650, 650, 650, 119, 650, 119, 650, 391, 650,
+ 119, 119, 390, 119, 119, 119, 393, 119, 650, 650,
+ 119, 650, 119, 650, 119, 650, 119, 119, 392, 119,
+ 119, 650, 119, 119, 119, 119, 119, 650, 650, 397,
+ 650, 119, 119, 119, 650, 119, 650, 394, 650, 119,
+ 119, 119, 395, 119, 119, 119, 650, 396, 119, 119,
+ 119, 650, 650, 119, 119, 119, 650, 119, 650, 119,
+ 119, 650, 650, 119, 119, 398, 119, 399, 119, 119,
+ 119, 119, 650, 650, 119, 119, 400, 650, 650, 119,
- 567, 91, 91, 91, 570, 91, 91, 91, 590, 91,
- 590, 91, 590, 91, 590, 573, 571, 91, 572, 91,
- 91, 91, 91, 91, 91, 574, 91, 91, 91, 91,
- 91, 91, 575, 91, 91, 590, 590, 91, 91, 91,
- 576, 577, 91, 91, 91, 579, 578, 91, 580, 91,
- 91, 91, 91, 91, 91, 91, 590, 581, 91, 91,
- 91, 91, 91, 582, 91, 91, 91, 583, 91, 91,
- 91, 91, 91, 91, 91, 91, 584, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 590, 586, 91,
+ 119, 119, 401, 119, 119, 650, 119, 402, 119, 650,
+ 119, 119, 119, 650, 119, 119, 119, 119, 650, 119,
+ 403, 650, 119, 119, 119, 650, 650, 119, 119, 650,
+ 119, 119, 119, 650, 650, 119, 119, 650, 119, 119,
+ 119, 650, 650, 404, 119, 650, 119, 406, 119, 650,
+ 650, 405, 119, 650, 119, 119, 119, 650, 650, 119,
+ 407, 650, 119, 650, 119, 119, 119, 119, 650, 650,
+ 119, 119, 119, 119, 119, 119, 650, 650, 650, 408,
+ 650, 409, 119, 119, 650, 119, 650, 119, 119, 650,
+ 410, 119, 119, 119, 119, 411, 650, 650, 650, 119,
- 91, 91, 585, 588, 91, 91, 91, 91, 91, 91,
- 91, 589, 91, 587, 91, 91, 91, 49, 49, 49,
- 49, 49, 49, 49, 52, 52, 52, 52, 52, 52,
- 52, 77, 77, 77, 77, 77, 77, 77, 82, 82,
- 82, 82, 83, 83, 83, 83, 83, 83, 91, 91,
- 91, 91, 150, 150, 150, 150, 150, 150, 156, 156,
- 156, 159, 159, 159, 159, 159, 166, 166, 166, 166,
- 236, 236, 236, 236, 307, 590, 307, 11, 590, 590,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
+ 119, 119, 650, 119, 650, 119, 650, 119, 119, 119,
+ 119, 119, 119, 119, 650, 412, 119, 413, 650, 650,
+ 650, 119, 119, 119, 414, 119, 650, 650, 119, 650,
+ 650, 650, 119, 119, 119, 415, 119, 650, 650, 119,
+ 650, 119, 119, 119, 650, 650, 650, 119, 650, 650,
+ 119, 119, 119, 119, 650, 416, 650, 650, 119, 650,
+ 650, 418, 417, 119, 119, 650, 119, 650, 650, 119,
+ 650, 650, 650, 119, 650, 119, 119, 119, 119, 650,
+ 119, 419, 650, 119, 650, 119, 650, 119, 650, 119,
+ 420, 650, 119, 119, 119, 119, 119, 119, 650, 650,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
- 590, 590, 590, 590, 590, 590, 590, 590, 590
+ 650, 650, 650, 650, 119, 650, 119, 422, 119, 650,
+ 119, 421, 650, 119, 119, 119, 423, 650, 650, 119,
+ 119, 650, 650, 650, 119, 119, 424, 650, 119, 119,
+ 650, 119, 650, 119, 650, 119, 119, 119, 119, 119,
+ 119, 650, 119, 119, 119, 119, 650, 119, 650, 119,
+ 650, 119, 427, 119, 425, 119, 119, 119, 119, 650,
+ 426, 119, 650, 119, 650, 119, 650, 119, 119, 650,
+ 119, 119, 429, 119, 428, 119, 119, 650, 650, 650,
+ 119, 119, 650, 650, 119, 119, 650, 119, 119, 119,
+ 119, 119, 650, 650, 119, 650, 430, 119, 119, 650,
+
+ 650, 119, 119, 650, 119, 650, 119, 119, 119, 119,
+ 119, 650, 119, 119, 119, 435, 650, 433, 650, 119,
+ 650, 119, 119, 119, 119, 119, 650, 119, 650, 434,
+ 119, 436, 119, 650, 650, 119, 119, 119, 650, 650,
+ 650, 119, 650, 650, 119, 437, 650, 119, 650, 119,
+ 119, 119, 119, 650, 438, 119, 119, 439, 650, 650,
+ 119, 650, 650, 650, 119, 119, 650, 119, 650, 119,
+ 119, 119, 119, 650, 440, 441, 119, 650, 650, 650,
+ 119, 442, 650, 650, 119, 119, 650, 119, 650, 119,
+ 119, 119, 119, 119, 650, 650, 650, 650, 444, 650,
+
+ 443, 650, 119, 650, 119, 119, 650, 119, 119, 445,
+ 119, 650, 650, 446, 119, 119, 650, 650, 650, 119,
+ 650, 650, 119, 119, 650, 119, 650, 119, 119, 119,
+ 119, 650, 650, 449, 447, 650, 119, 119, 119, 650,
+ 650, 650, 119, 650, 650, 119, 119, 119, 119, 650,
+ 119, 119, 448, 119, 650, 650, 119, 119, 119, 119,
+ 119, 119, 119, 450, 119, 650, 119, 119, 119, 650,
+ 650, 119, 451, 650, 119, 119, 650, 119, 119, 119,
+ 119, 119, 650, 650, 452, 650, 453, 650, 119, 650,
+ 119, 119, 119, 650, 119, 119, 458, 119, 119, 119,
+
+ 119, 650, 650, 119, 454, 650, 119, 455, 119, 119,
+ 119, 650, 119, 650, 650, 119, 650, 119, 119, 119,
+ 650, 650, 650, 119, 650, 650, 119, 119, 119, 457,
+ 650, 119, 650, 456, 119, 650, 119, 119, 119, 119,
+ 650, 459, 119, 650, 119, 119, 119, 119, 119, 650,
+ 119, 119, 119, 119, 119, 650, 119, 650, 119, 119,
+ 460, 650, 119, 461, 650, 650, 119, 119, 650, 650,
+ 119, 462, 650, 119, 119, 119, 650, 463, 119, 119,
+ 650, 119, 650, 119, 464, 119, 119, 119, 650, 119,
+ 119, 650, 119, 650, 119, 650, 465, 119, 650, 119,
+
+ 119, 650, 119, 119, 119, 119, 119, 650, 650, 650,
+ 650, 467, 650, 119, 650, 119, 650, 119, 650, 119,
+ 466, 650, 119, 119, 119, 468, 650, 650, 119, 119,
+ 469, 650, 650, 119, 650, 650, 650, 119, 119, 650,
+ 119, 650, 119, 119, 119, 119, 650, 650, 650, 470,
+ 650, 119, 119, 119, 650, 650, 650, 119, 650, 650,
+ 119, 119, 119, 119, 650, 119, 650, 471, 119, 650,
+ 650, 650, 119, 650, 119, 119, 472, 650, 650, 119,
+ 473, 650, 119, 119, 119, 650, 650, 650, 119, 650,
+ 650, 119, 119, 119, 119, 650, 119, 650, 650, 119,
+
+ 650, 650, 474, 475, 119, 119, 650, 119, 650, 650,
+ 119, 650, 650, 650, 119, 119, 119, 476, 119, 650,
+ 650, 119, 650, 650, 650, 119, 119, 119, 477, 119,
+ 650, 650, 119, 650, 478, 119, 119, 650, 650, 650,
+ 119, 650, 650, 119, 119, 119, 119, 650, 119, 650,
+ 650, 119, 650, 650, 650, 119, 650, 119, 119, 479,
+ 119, 650, 119, 480, 650, 119, 650, 119, 650, 119,
+ 650, 119, 481, 650, 119, 119, 119, 482, 119, 119,
+ 650, 650, 650, 650, 650, 650, 119, 483, 119, 650,
+ 119, 650, 119, 119, 650, 119, 119, 119, 484, 650,
+
+ 650, 119, 119, 650, 650, 650, 119, 119, 119, 486,
+ 119, 485, 650, 119, 650, 119, 650, 119, 119, 119,
+ 119, 119, 119, 650, 119, 119, 119, 119, 650, 119,
+ 650, 119, 650, 119, 119, 119, 119, 487, 119, 119,
+ 119, 650, 119, 488, 650, 119, 491, 119, 650, 119,
+ 119, 119, 119, 119, 650, 119, 119, 650, 650, 119,
+ 119, 650, 650, 119, 119, 650, 119, 650, 119, 119,
+ 119, 119, 119, 650, 119, 119, 119, 119, 650, 492,
+ 650, 119, 650, 119, 494, 119, 119, 119, 119, 119,
+ 119, 493, 119, 119, 650, 119, 650, 119, 650, 119,
+
+ 119, 119, 119, 119, 650, 119, 119, 119, 119, 650,
+ 119, 650, 650, 119, 495, 650, 119, 496, 119, 119,
+ 650, 119, 650, 650, 119, 650, 119, 119, 119, 650,
+ 650, 650, 119, 650, 497, 119, 119, 119, 119, 650,
+ 119, 650, 498, 119, 650, 650, 499, 119, 119, 119,
+ 650, 119, 119, 650, 119, 650, 650, 119, 119, 650,
+ 650, 500, 119, 650, 119, 119, 503, 119, 501, 119,
+ 119, 119, 502, 505, 119, 119, 119, 504, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 506, 119, 650,
+ 119, 650, 650, 119, 650, 119, 650, 119, 507, 119,
+
+ 119, 650, 119, 119, 650, 119, 119, 119, 119, 119,
+ 650, 650, 650, 650, 650, 650, 508, 650, 119, 650,
+ 119, 650, 119, 119, 509, 119, 119, 119, 650, 650,
+ 650, 119, 119, 650, 650, 650, 119, 119, 119, 511,
+ 119, 119, 510, 119, 650, 119, 650, 119, 119, 119,
+ 119, 119, 650, 650, 119, 512, 650, 119, 119, 119,
+ 650, 650, 650, 119, 650, 650, 119, 119, 119, 119,
+ 650, 119, 650, 650, 119, 650, 650, 650, 119, 513,
+ 650, 650, 119, 650, 650, 119, 119, 119, 514, 650,
+ 650, 119, 119, 515, 650, 650, 119, 119, 119, 516,
+
+ 119, 119, 650, 119, 650, 119, 650, 119, 119, 119,
+ 119, 119, 119, 517, 119, 119, 119, 119, 650, 119,
+ 650, 518, 650, 119, 119, 119, 119, 119, 650, 119,
+ 519, 119, 119, 650, 650, 119, 119, 650, 650, 650,
+ 119, 650, 650, 650, 119, 119, 650, 119, 650, 119,
+ 650, 520, 119, 119, 521, 119, 119, 650, 650, 650,
+ 650, 119, 119, 119, 650, 119, 650, 119, 650, 119,
+ 119, 119, 119, 119, 119, 119, 650, 522, 119, 119,
+ 119, 119, 119, 523, 650, 650, 650, 119, 650, 119,
+ 119, 119, 524, 119, 650, 119, 119, 650, 119, 525,
+
+ 119, 119, 119, 650, 650, 650, 650, 119, 119, 119,
+ 650, 526, 650, 119, 650, 119, 119, 119, 119, 119,
+ 119, 119, 650, 650, 119, 119, 119, 527, 650, 119,
+ 119, 119, 528, 119, 650, 119, 119, 650, 650, 119,
+ 119, 650, 119, 650, 119, 119, 119, 119, 650, 650,
+ 119, 119, 650, 650, 650, 119, 529, 650, 650, 119,
+ 119, 650, 119, 650, 119, 119, 119, 530, 531, 650,
+ 650, 119, 532, 119, 650, 119, 650, 119, 650, 119,
+ 119, 119, 119, 119, 650, 119, 119, 119, 119, 650,
+ 650, 119, 119, 533, 650, 650, 119, 119, 119, 534,
+
+ 119, 119, 650, 119, 650, 119, 650, 119, 119, 119,
+ 119, 119, 650, 650, 119, 119, 119, 650, 650, 119,
+ 119, 119, 650, 119, 538, 119, 119, 650, 650, 119,
+ 119, 537, 119, 650, 119, 650, 650, 119, 119, 119,
+ 119, 119, 650, 650, 650, 650, 650, 650, 119, 650,
+ 119, 650, 119, 650, 119, 119, 650, 119, 119, 119,
+ 539, 650, 650, 119, 119, 650, 650, 650, 119, 119,
+ 119, 650, 119, 119, 650, 119, 650, 119, 650, 119,
+ 119, 119, 119, 119, 650, 650, 119, 650, 650, 119,
+ 119, 119, 650, 650, 650, 119, 650, 540, 119, 119,
+
+ 119, 119, 650, 119, 650, 541, 119, 650, 119, 119,
+ 119, 119, 650, 650, 119, 650, 119, 119, 119, 542,
+ 543, 650, 119, 119, 650, 119, 119, 544, 119, 650,
+ 119, 650, 650, 119, 650, 119, 650, 119, 545, 119,
+ 119, 119, 119, 119, 650, 119, 119, 119, 119, 650,
+ 119, 650, 650, 119, 650, 650, 119, 546, 119, 119,
+ 650, 119, 547, 650, 119, 650, 119, 119, 119, 650,
+ 650, 650, 119, 650, 650, 119, 119, 650, 119, 119,
+ 119, 119, 650, 119, 119, 119, 119, 548, 119, 650,
+ 119, 650, 119, 550, 119, 549, 119, 650, 119, 119,
+
+ 119, 119, 650, 650, 650, 119, 119, 650, 650, 119,
+ 650, 119, 119, 551, 552, 119, 119, 119, 119, 119,
+ 553, 119, 119, 555, 119, 119, 650, 119, 119, 650,
+ 119, 554, 650, 119, 119, 119, 557, 119, 650, 556,
+ 119, 119, 119, 559, 650, 119, 119, 650, 558, 119,
+ 119, 650, 650, 119, 119, 650, 119, 560, 119, 650,
+ 119, 119, 119, 650, 119, 119, 650, 119, 650, 119,
+ 650, 119, 119, 119, 119, 119, 650, 119, 119, 119,
+ 119, 650, 119, 650, 650, 119, 650, 650, 119, 561,
+ 119, 119, 562, 119, 650, 650, 119, 650, 563, 119,
+
+ 119, 650, 650, 564, 119, 650, 650, 119, 119, 119,
+ 119, 650, 119, 650, 650, 119, 650, 119, 119, 119,
+ 650, 650, 650, 119, 650, 650, 119, 119, 119, 119,
+ 650, 119, 119, 650, 119, 650, 650, 566, 565, 650,
+ 650, 119, 119, 119, 119, 119, 650, 119, 119, 650,
+ 567, 119, 119, 650, 650, 119, 119, 650, 119, 650,
+ 119, 119, 119, 119, 650, 650, 119, 119, 119, 119,
+ 119, 119, 650, 650, 650, 568, 569, 119, 119, 119,
+ 650, 119, 650, 119, 119, 650, 119, 119, 119, 650,
+ 650, 650, 119, 119, 650, 650, 650, 119, 119, 119,
+
+ 573, 119, 119, 571, 119, 650, 572, 650, 119, 119,
+ 119, 119, 119, 650, 650, 119, 574, 650, 119, 119,
+ 119, 119, 650, 650, 119, 650, 119, 119, 575, 119,
+ 576, 579, 119, 119, 119, 119, 119, 650, 119, 119,
+ 119, 577, 650, 650, 119, 119, 119, 119, 119, 578,
+ 650, 650, 650, 119, 650, 119, 119, 119, 650, 119,
+ 650, 119, 119, 650, 119, 119, 119, 119, 119, 650,
+ 650, 650, 650, 119, 119, 119, 650, 119, 650, 119,
+ 650, 580, 119, 119, 119, 119, 119, 119, 650, 581,
+ 119, 119, 119, 583, 650, 119, 650, 650, 650, 119,
+
+ 650, 119, 119, 119, 119, 119, 582, 650, 119, 119,
+ 119, 584, 650, 119, 119, 119, 585, 119, 650, 119,
+ 119, 650, 650, 119, 119, 650, 119, 650, 119, 119,
+ 119, 119, 650, 650, 119, 119, 650, 650, 650, 119,
+ 586, 650, 650, 119, 119, 650, 119, 650, 119, 650,
+ 587, 119, 119, 119, 650, 650, 588, 119, 119, 650,
+ 650, 650, 119, 119, 119, 650, 119, 119, 650, 119,
+ 650, 119, 650, 119, 119, 119, 119, 119, 650, 589,
+ 119, 119, 119, 650, 650, 119, 119, 119, 590, 119,
+ 650, 119, 119, 650, 650, 119, 119, 650, 119, 592,
+
+ 119, 119, 119, 119, 650, 650, 650, 591, 650, 650,
+ 650, 119, 650, 119, 119, 119, 650, 650, 119, 119,
+ 119, 593, 650, 119, 119, 594, 650, 119, 650, 119,
+ 119, 650, 650, 119, 119, 119, 119, 650, 119, 650,
+ 119, 119, 596, 119, 119, 650, 650, 595, 119, 650,
+ 119, 119, 119, 650, 650, 119, 119, 650, 119, 598,
+ 119, 650, 119, 119, 650, 650, 119, 119, 119, 599,
+ 650, 119, 650, 650, 119, 650, 650, 119, 119, 119,
+ 119, 650, 119, 650, 601, 119, 650, 119, 119, 119,
+ 600, 650, 650, 119, 650, 650, 119, 119, 119, 119,
+
+ 650, 119, 119, 650, 119, 650, 650, 119, 119, 119,
+ 603, 119, 119, 119, 602, 119, 650, 119, 119, 119,
+ 650, 650, 119, 119, 650, 119, 119, 650, 119, 119,
+ 119, 604, 650, 650, 119, 119, 650, 650, 650, 119,
+ 119, 119, 650, 119, 119, 650, 119, 650, 119, 650,
+ 119, 119, 119, 119, 119, 650, 650, 119, 119, 119,
+ 119, 119, 605, 650, 650, 650, 119, 650, 606, 119,
+ 119, 650, 119, 650, 119, 119, 650, 119, 119, 119,
+ 119, 119, 650, 650, 650, 650, 608, 650, 119, 650,
+ 119, 650, 607, 650, 119, 119, 650, 119, 119, 119,
+
+ 119, 119, 650, 650, 650, 650, 610, 650, 119, 650,
+ 119, 650, 119, 650, 119, 119, 650, 119, 650, 609,
+ 119, 119, 119, 119, 650, 650, 650, 650, 119, 612,
+ 119, 650, 611, 650, 119, 650, 119, 119, 119, 119,
+ 119, 119, 119, 650, 650, 119, 119, 119, 650, 650,
+ 119, 650, 119, 119, 119, 650, 119, 119, 613, 650,
+ 119, 650, 119, 119, 119, 119, 119, 650, 650, 119,
+ 119, 119, 119, 119, 614, 650, 650, 650, 119, 650,
+ 119, 119, 119, 650, 119, 650, 119, 119, 650, 119,
+ 119, 119, 119, 119, 650, 650, 650, 650, 650, 650,
+
+ 615, 650, 119, 650, 119, 650, 119, 119, 616, 119,
+ 617, 650, 119, 119, 119, 119, 650, 650, 650, 650,
+ 618, 650, 119, 650, 119, 650, 119, 650, 119, 119,
+ 650, 119, 119, 119, 119, 119, 650, 650, 650, 650,
+ 650, 650, 119, 650, 119, 650, 119, 650, 119, 119,
+ 619, 119, 119, 119, 650, 650, 650, 119, 119, 650,
+ 650, 650, 119, 650, 650, 650, 119, 119, 620, 119,
+ 650, 119, 650, 621, 119, 119, 119, 119, 119, 650,
+ 650, 650, 650, 650, 650, 119, 622, 119, 119, 119,
+ 650, 119, 119, 119, 119, 119, 119, 119, 650, 650,
+
+ 624, 650, 119, 119, 650, 119, 623, 119, 625, 119,
+ 626, 119, 119, 119, 119, 650, 650, 119, 119, 650,
+ 650, 119, 119, 650, 650, 119, 119, 650, 119, 650,
+ 119, 650, 119, 119, 627, 628, 119, 119, 650, 650,
+ 119, 119, 650, 650, 119, 119, 650, 119, 650, 119,
+ 650, 650, 119, 119, 629, 119, 650, 650, 119, 650,
+ 650, 650, 119, 650, 119, 119, 119, 630, 119, 119,
+ 650, 119, 650, 119, 650, 119, 631, 119, 119, 119,
+ 650, 119, 119, 650, 633, 119, 119, 650, 650, 632,
+ 119, 650, 119, 650, 119, 119, 119, 119, 650, 650,
+
+ 119, 119, 119, 119, 119, 634, 650, 650, 650, 119,
+ 650, 635, 119, 119, 650, 119, 650, 119, 119, 636,
+ 119, 119, 119, 650, 650, 650, 119, 119, 650, 650,
+ 650, 119, 119, 119, 650, 119, 638, 637, 119, 650,
+ 119, 650, 119, 119, 119, 119, 119, 650, 639, 119,
+ 119, 119, 640, 650, 119, 650, 119, 119, 119, 650,
+ 119, 119, 641, 650, 119, 650, 119, 119, 119, 119,
+ 119, 650, 650, 119, 119, 119, 119, 642, 119, 650,
+ 650, 650, 119, 650, 119, 119, 119, 650, 119, 650,
+ 119, 119, 650, 119, 119, 119, 119, 119, 650, 650,
+
+ 643, 650, 119, 119, 119, 650, 119, 650, 119, 650,
+ 119, 119, 119, 119, 119, 119, 119, 650, 650, 119,
+ 119, 119, 644, 650, 119, 119, 119, 650, 119, 650,
+ 119, 119, 650, 650, 119, 119, 650, 119, 650, 119,
+ 119, 119, 119, 650, 650, 119, 119, 650, 650, 650,
+ 119, 650, 650, 650, 119, 119, 650, 119, 650, 119,
+ 650, 645, 119, 119, 119, 119, 119, 650, 650, 650,
+ 650, 119, 119, 119, 650, 646, 650, 119, 119, 119,
+ 119, 119, 119, 119, 650, 119, 650, 119, 119, 650,
+ 647, 648, 119, 119, 650, 650, 119, 119, 650, 650,
+
+ 650, 119, 119, 119, 649, 119, 119, 650, 119, 650,
+ 119, 650, 119, 119, 119, 119, 119, 650, 650, 119,
+ 650, 650, 650, 650, 119, 650, 650, 650, 119, 650,
+ 650, 119, 59, 59, 59, 59, 59, 89, 89, 89,
+ 89, 89, 100, 100, 100, 100, 100, 105, 105, 105,
+ 105, 119, 119, 119, 119, 195, 195, 195, 293, 293,
+ 293, 293, 366, 650, 366, 13, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650
} ;
-static yyconst flex_int16_t yy_chk[2330] =
+static yyconst flex_int16_t yy_chk[4830] =
{ 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, 1, 1,
- 1, 3, 4, 5, 5, 6, 6, 22, 22, 3,
- 4, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 3, 5, 6, 15, 54, 54, 15,
+ 657, 3, 5, 6, 18, 18, 18, 18, 18, 18,
+ 18, 18, 21, 21, 21, 21, 21, 21, 21, 21,
+ 535, 24, 56, 56, 22, 24, 24, 24, 25, 51,
+
+ 51, 51, 25, 25, 25, 53, 53, 53, 55, 55,
+ 55, 195, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 4, 57, 57, 57, 62, 62,
+ 62, 367, 4, 22, 22, 22, 22, 22, 22, 22,
+ 22, 29, 367, 29, 29, 29, 64, 64, 64, 29,
+ 65, 65, 30, 29, 30, 30, 113, 29, 107, 30,
+ 29, 66, 66, 66, 30, 30, 67, 67, 30, 71,
+ 99, 30, 71, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 9, 9, 9, 9, 23, 23, 9, 10,
- 10, 10, 10, 13, 18, 10, 13, 21, 18, 29,
- 601, 21, 56, 29, 9, 56, 28, 29, 86, 86,
- 28, 10, 25, 28, 28, 25, 25, 25, 25, 28,
- 75, 25, 71, 60, 25, 28, 25, 60, 25, 65,
- 25, 26, 475, 65, 26, 26, 26, 26, 30, 75,
- 26, 430, 30, 26, 77, 26, 30, 26, 71, 26,
- 30, 31, 26, 26, 30, 31, 234, 34, 158, 31,
- 30, 34, 26, 77, 83, 34, 26, 31, 83, 26,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 9, 9,
+ 9, 31, 31, 31, 9, 79, 93, 32, 32, 79,
+ 33, 31, 33, 33, 33, 31, 85, 32, 31, 105,
+ 9, 32, 33, 105, 32, 197, 33, 32, 91, 33,
+ 34, 34, 68, 68, 68, 92, 92, 92, 95, 95,
+ 34, 82, 85, 78, 34, 97, 97, 34, 197, 9,
- 27, 32, 27, 27, 27, 32, 89, 89, 27, 32,
- 33, 158, 27, 33, 33, 33, 27, 32, 33, 27,
- 35, 33, 33, 36, 35, 37, 44, 36, 35, 37,
- 44, 36, 80, 37, 44, 80, 36, 39, 37, 38,
- 38, 39, 36, 38, 429, 39, 148, 38, 40, 148,
- 39, 160, 40, 39, 156, 38, 40, 41, 38, 159,
- 43, 41, 40, 42, 43, 41, 45, 42, 43, 429,
- 45, 42, 43, 45, 45, 41, 41, 43, 159, 42,
- 41, 46, 90, 90, 79, 46, 42, 79, 91, 46,
- 93, 95, 91, 308, 93, 95, 91, 94, 93, 95,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 10, 10, 10, 91, 35, 35, 10, 35, 115,
+ 36, 36, 36, 115, 35, 35, 94, 94, 94, 35,
+ 36, 286, 35, 10, 36, 109, 109, 36, 37, 37,
+ 37, 96, 96, 96, 37, 98, 98, 98, 37, 102,
+ 102, 102, 37, 103, 286, 37, 103, 106, 106, 106,
+ 111, 111, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 11, 38, 11, 38, 38, 190,
+ 489, 11, 190, 38, 108, 108, 108, 38, 38, 73,
+ 39, 38, 39, 39, 38, 69, 40, 40, 40, 110,
- 94, 94, 98, 79, 308, 94, 98, 96, 93, 151,
- 98, 96, 97, 96, 95, 96, 97, 110, 97, 98,
- 97, 110, 150, 79, 92, 110, 150, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 99, 92, 162,
- 92, 99, 92, 84, 100, 99, 101, 99, 100, 103,
- 101, 102, 100, 103, 101, 102, 233, 103, 162, 102,
- 76, 103, 100, 101, 102, 104, 106, 107, 68, 104,
- 106, 107, 371, 104, 106, 107, 108, 163, 163, 233,
- 108, 104, 105, 107, 108, 106, 105, 105, 164, 164,
- 105, 371, 105, 109, 108, 114, 105, 109, 64, 105,
+ 110, 110, 39, 39, 116, 489, 39, 40, 116, 39,
+ 63, 40, 61, 58, 40, 112, 112, 112, 114, 174,
+ 174, 174, 114, 114, 114, 11, 11, 11, 11, 11,
+ 11, 11, 11, 11, 11, 11, 11, 12, 41, 12,
+ 41, 41, 117, 52, 12, 277, 117, 117, 117, 277,
+ 41, 41, 45, 45, 41, 17, 42, 41, 42, 42,
+ 42, 364, 45, 43, 43, 364, 45, 45, 42, 45,
+ 42, 13, 42, 43, 291, 42, 291, 43, 291, 43,
+ 43, 118, 0, 0, 43, 118, 118, 118, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
- 111, 109, 105, 109, 111, 112, 113, 114, 111, 112,
- 113, 114, 115, 112, 113, 114, 115, 116, 112, 116,
- 115, 116, 165, 165, 117, 116, 115, 58, 117, 118,
- 54, 116, 117, 118, 119, 131, 120, 118, 119, 131,
- 120, 118, 119, 131, 120, 121, 123, 117, 120, 121,
- 123, 119, 122, 121, 123, 122, 122, 121, 120, 51,
- 122, 124, 125, 123, 20, 124, 125, 126, 15, 124,
- 125, 126, 124, 127, 128, 126, 127, 127, 128, 127,
- 125, 127, 128, 129, 126, 130, 132, 129, 11, 130,
- 132, 129, 128, 130, 132, 133, 309, 309, 132, 0,
+ 23, 44, 44, 0, 23, 46, 0, 46, 46, 47,
+ 47, 44, 597, 431, 47, 44, 597, 46, 44, 47,
+ 0, 46, 44, 47, 46, 48, 47, 48, 48, 175,
+ 175, 175, 431, 48, 176, 176, 176, 48, 177, 177,
+ 177, 48, 0, 0, 48, 23, 23, 23, 23, 23,
+ 23, 23, 23, 27, 0, 0, 27, 27, 27, 27,
+ 0, 0, 27, 119, 119, 27, 0, 27, 0, 27,
+ 27, 27, 0, 119, 121, 121, 0, 119, 0, 0,
+ 119, 0, 122, 122, 121, 178, 178, 178, 121, 0,
+ 121, 121, 122, 179, 179, 179, 122, 0, 0, 122,
- 133, 129, 130, 0, 133, 133, 0, 133, 135, 134,
- 133, 134, 135, 134, 136, 136, 135, 134, 136, 137,
- 138, 139, 136, 137, 138, 139, 0, 137, 138, 139,
- 140, 140, 0, 141, 140, 139, 137, 141, 140, 138,
- 142, 141, 0, 143, 142, 144, 0, 143, 142, 144,
- 142, 143, 145, 144, 0, 161, 145, 144, 161, 167,
- 145, 168, 171, 167, 145, 168, 171, 167, 169, 168,
- 171, 169, 169, 171, 161, 166, 169, 0, 166, 166,
- 166, 166, 235, 0, 166, 235, 235, 166, 170, 166,
- 169, 166, 170, 166, 172, 173, 170, 174, 172, 173,
+ 180, 180, 180, 27, 27, 27, 27, 27, 27, 27,
+ 27, 28, 0, 0, 28, 28, 28, 28, 0, 0,
+ 28, 0, 490, 28, 490, 28, 490, 28, 28, 28,
+ 123, 123, 28, 28, 183, 183, 183, 0, 126, 126,
+ 123, 0, 28, 0, 123, 137, 28, 123, 126, 28,
+ 137, 123, 126, 126, 137, 126, 0, 137, 0, 0,
+ 137, 28, 28, 28, 28, 28, 28, 28, 28, 120,
+ 0, 0, 120, 120, 120, 120, 120, 120, 120, 120,
+ 120, 120, 0, 120, 120, 120, 120, 120, 120, 120,
+ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 0, 174, 172, 173, 0, 174, 175, 170, 173, 176,
- 175, 177, 0, 176, 175, 177, 177, 176, 178, 177,
- 179, 0, 178, 180, 179, 0, 178, 180, 179, 177,
- 0, 180, 181, 182, 178, 182, 181, 182, 183, 184,
- 181, 182, 183, 184, 0, 185, 183, 184, 181, 185,
- 184, 186, 187, 185, 0, 186, 187, 188, 185, 186,
- 187, 188, 189, 190, 189, 188, 189, 190, 191, 187,
- 189, 190, 191, 192, 0, 188, 191, 192, 192, 193,
- 191, 192, 190, 193, 0, 194, 195, 193, 0, 194,
- 195, 0, 193, 194, 195, 194, 196, 0, 197, 0,
+ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
+ 120, 120, 120, 184, 184, 184, 185, 185, 185, 120,
+ 120, 120, 120, 120, 120, 120, 120, 124, 124, 125,
+ 125, 124, 0, 125, 0, 128, 128, 124, 0, 125,
+ 0, 124, 0, 125, 124, 128, 125, 127, 127, 128,
+ 0, 128, 128, 129, 129, 127, 0, 127, 186, 186,
+ 186, 127, 0, 129, 127, 130, 130, 129, 129, 0,
+ 129, 131, 131, 132, 132, 130, 130, 0, 0, 130,
+ 0, 131, 130, 132, 0, 131, 0, 132, 131, 0,
+ 132, 133, 133, 0, 133, 0, 0, 134, 134, 133,
- 196, 0, 197, 197, 196, 195, 197, 198, 199, 201,
- 0, 198, 199, 198, 200, 198, 199, 200, 200, 202,
- 0, 201, 200, 0, 203, 201, 199, 0, 203, 201,
- 204, 202, 203, 205, 204, 202, 0, 205, 204, 202,
- 206, 205, 207, 203, 0, 208, 207, 0, 204, 208,
- 207, 0, 206, 208, 209, 207, 206, 210, 209, 211,
- 206, 210, 209, 211, 212, 210, 211, 211, 212, 0,
- 213, 210, 212, 0, 213, 213, 214, 211, 213, 0,
- 214, 215, 214, 0, 214, 215, 216, 213, 0, 215,
- 216, 217, 0, 218, 216, 217, 216, 218, 219, 217,
+ 0, 133, 0, 133, 0, 133, 133, 134, 133, 133,
+ 0, 134, 135, 135, 134, 0, 0, 136, 136, 187,
+ 187, 187, 135, 0, 0, 138, 135, 136, 0, 135,
+ 138, 136, 0, 136, 136, 138, 139, 0, 0, 138,
+ 0, 139, 138, 140, 142, 138, 139, 0, 140, 0,
+ 139, 140, 140, 139, 0, 140, 139, 0, 140, 141,
+ 141, 142, 143, 0, 0, 141, 142, 143, 0, 141,
+ 142, 143, 141, 142, 143, 141, 142, 143, 144, 145,
+ 147, 144, 0, 0, 145, 147, 144, 0, 145, 147,
+ 144, 145, 147, 144, 145, 147, 144, 145, 146, 0,
- 220, 218, 219, 221, 220, 222, 219, 221, 220, 222,
- 217, 221, 223, 222, 221, 0, 223, 224, 220, 0,
- 223, 224, 225, 222, 226, 224, 225, 0, 226, 227,
- 225, 0, 226, 227, 0, 225, 228, 227, 231, 226,
- 228, 0, 226, 230, 228, 227, 227, 230, 229, 230,
- 231, 230, 229, 0, 231, 228, 229, 0, 231, 0,
- 229, 236, 310, 310, 236, 236, 236, 236, 237, 0,
- 236, 0, 237, 236, 238, 236, 237, 236, 238, 236,
- 239, 237, 238, 0, 239, 240, 241, 0, 239, 240,
- 241, 239, 0, 240, 241, 242, 240, 243, 244, 242,
+ 146, 146, 148, 148, 188, 188, 188, 189, 189, 189,
+ 146, 0, 148, 0, 146, 0, 148, 146, 0, 148,
+ 149, 149, 148, 0, 0, 150, 150, 200, 200, 200,
+ 149, 151, 0, 0, 149, 150, 151, 149, 0, 150,
+ 151, 0, 150, 151, 152, 0, 151, 0, 0, 152,
+ 152, 0, 153, 152, 0, 0, 152, 153, 0, 152,
+ 0, 153, 0, 154, 153, 153, 0, 153, 154, 155,
+ 155, 0, 154, 155, 0, 154, 0, 0, 154, 155,
+ 156, 156, 0, 155, 0, 0, 155, 0, 157, 157,
+ 156, 201, 201, 201, 156, 0, 156, 156, 157, 0,
- 0, 243, 244, 242, 0, 243, 244, 246, 245, 243,
- 245, 246, 245, 247, 248, 246, 245, 247, 248, 249,
- 0, 247, 248, 249, 250, 251, 253, 249, 250, 251,
- 253, 252, 250, 251, 253, 252, 254, 255, 249, 252,
- 254, 255, 250, 0, 254, 255, 256, 252, 257, 0,
- 256, 258, 257, 255, 256, 258, 257, 259, 256, 258,
- 260, 259, 0, 261, 260, 259, 0, 261, 260, 262,
- 258, 261, 263, 262, 260, 259, 263, 262, 264, 0,
- 263, 261, 264, 265, 266, 267, 264, 265, 263, 267,
- 268, 265, 0, 267, 268, 0, 266, 264, 268, 0,
+ 0, 158, 157, 0, 157, 157, 158, 0, 159, 159,
+ 158, 0, 0, 158, 159, 0, 158, 0, 159, 160,
+ 160, 159, 161, 0, 159, 162, 162, 161, 0, 160,
+ 0, 161, 161, 160, 161, 162, 160, 161, 163, 162,
+ 163, 163, 162, 0, 164, 164, 164, 202, 202, 202,
+ 163, 165, 0, 0, 163, 164, 165, 163, 0, 164,
+ 165, 0, 164, 165, 166, 166, 165, 167, 203, 203,
+ 203, 0, 167, 0, 166, 0, 167, 0, 166, 167,
+ 168, 166, 167, 0, 168, 169, 169, 168, 0, 168,
+ 0, 169, 0, 168, 0, 169, 168, 170, 169, 168,
- 266, 265, 269, 267, 266, 270, 269, 271, 0, 270,
- 269, 271, 272, 270, 273, 271, 272, 272, 273, 274,
- 272, 275, 273, 274, 273, 275, 276, 274, 277, 275,
- 276, 278, 277, 277, 276, 278, 277, 0, 275, 278,
- 279, 278, 280, 276, 279, 281, 280, 282, 279, 281,
- 280, 282, 0, 281, 280, 282, 279, 283, 284, 285,
- 0, 283, 284, 285, 281, 283, 284, 285, 0, 286,
- 287, 288, 0, 286, 287, 288, 284, 286, 287, 288,
- 289, 290, 291, 0, 289, 290, 291, 288, 289, 290,
- 291, 292, 289, 293, 294, 292, 295, 293, 294, 292,
+ 0, 169, 170, 0, 171, 171, 170, 0, 0, 170,
+ 171, 0, 170, 0, 171, 172, 172, 171, 0, 0,
+ 171, 173, 173, 0, 0, 172, 204, 204, 204, 172,
+ 0, 173, 172, 0, 0, 173, 0, 0, 173, 205,
+ 205, 205, 206, 206, 206, 208, 0, 0, 209, 208,
+ 208, 208, 209, 209, 209, 210, 278, 278, 278, 210,
+ 210, 210, 211, 0, 0, 211, 211, 211, 211, 0,
+ 0, 211, 0, 0, 211, 0, 211, 0, 211, 211,
+ 211, 212, 212, 213, 213, 0, 0, 212, 0, 214,
+ 214, 212, 0, 213, 0, 212, 0, 213, 212, 214,
- 295, 293, 294, 0, 295, 296, 0, 294, 292, 296,
- 0, 297, 293, 296, 297, 297, 298, 299, 0, 297,
- 298, 299, 300, 301, 298, 299, 300, 301, 0, 302,
- 300, 301, 0, 302, 303, 298, 299, 302, 303, 300,
- 304, 305, 303, 306, 304, 0, 311, 306, 304, 0,
- 311, 306, 312, 305, 311, 313, 312, 305, 311, 313,
- 312, 305, 0, 313, 314, 313, 0, 315, 314, 317,
- 312, 315, 314, 317, 316, 315, 0, 317, 316, 315,
- 316, 318, 316, 0, 319, 318, 319, 318, 319, 318,
- 320, 321, 319, 0, 320, 321, 322, 326, 320, 321,
+ 213, 0, 0, 214, 0, 0, 214, 0, 0, 214,
+ 215, 215, 211, 211, 211, 211, 211, 211, 211, 211,
+ 215, 216, 216, 0, 215, 0, 0, 215, 0, 0,
+ 216, 216, 217, 217, 217, 216, 0, 0, 216, 0,
+ 218, 218, 217, 279, 279, 279, 217, 0, 0, 217,
+ 218, 218, 219, 219, 218, 0, 0, 218, 220, 220,
+ 220, 0, 219, 0, 221, 221, 219, 0, 220, 219,
+ 221, 222, 220, 0, 221, 220, 222, 0, 221, 0,
+ 222, 221, 0, 222, 222, 0, 222, 223, 223, 0,
+ 224, 0, 224, 224, 280, 280, 280, 223, 225, 225,
- 322, 321, 320, 323, 322, 323, 324, 323, 325, 326,
- 324, 323, 325, 326, 324, 327, 325, 326, 0, 327,
- 328, 329, 0, 327, 328, 329, 325, 330, 328, 329,
- 331, 330, 327, 0, 331, 330, 332, 329, 331, 333,
- 332, 334, 336, 333, 332, 334, 336, 333, 335, 334,
- 336, 335, 335, 337, 372, 372, 335, 337, 338, 334,
- 339, 337, 338, 337, 339, 338, 338, 340, 339, 476,
- 476, 340, 341, 510, 510, 340, 341, 340, 339, 342,
- 341, 343, 341, 342, 344, 343, 345, 342, 344, 343,
- 345, 346, 344, 347, 345, 346, 348, 347, 344, 346,
+ 225, 223, 224, 0, 223, 0, 224, 0, 225, 224,
+ 226, 226, 225, 0, 0, 225, 227, 227, 0, 0,
+ 226, 0, 228, 228, 226, 0, 227, 226, 228, 0,
+ 227, 0, 228, 227, 229, 229, 228, 0, 0, 228,
+ 231, 231, 231, 229, 229, 230, 230, 0, 229, 0,
+ 231, 229, 0, 0, 231, 230, 230, 231, 232, 230,
+ 0, 0, 230, 232, 0, 0, 233, 232, 0, 0,
+ 232, 233, 0, 232, 0, 233, 234, 234, 233, 233,
+ 0, 233, 235, 235, 236, 236, 234, 282, 282, 282,
+ 234, 0, 235, 234, 236, 237, 235, 238, 236, 235,
- 348, 347, 349, 350, 348, 345, 349, 350, 351, 352,
- 349, 350, 351, 352, 353, 354, 351, 352, 353, 354,
- 0, 350, 353, 354, 351, 355, 356, 354, 0, 355,
- 356, 357, 0, 355, 356, 357, 353, 359, 358, 357,
- 358, 359, 358, 360, 361, 359, 358, 360, 361, 0,
- 0, 360, 361, 359, 362, 363, 364, 362, 362, 363,
- 364, 361, 362, 363, 364, 365, 363, 366, 367, 365,
- 368, 366, 367, 365, 368, 366, 367, 365, 368, 369,
- 370, 373, 0, 369, 370, 373, 0, 369, 370, 373,
- 370, 0, 374, 375, 376, 0, 374, 375, 376, 369,
+ 237, 236, 238, 0, 237, 238, 238, 237, 239, 238,
+ 237, 0, 238, 239, 240, 240, 0, 239, 0, 0,
+ 239, 0, 0, 239, 240, 241, 241, 0, 240, 242,
+ 0, 240, 0, 0, 242, 241, 0, 0, 242, 241,
+ 0, 242, 241, 244, 242, 243, 243, 0, 244, 246,
+ 243, 0, 244, 0, 243, 244, 244, 243, 244, 0,
+ 243, 245, 245, 246, 246, 0, 0, 247, 283, 283,
+ 283, 245, 0, 246, 0, 245, 0, 246, 245, 0,
+ 246, 247, 247, 248, 248, 284, 284, 284, 0, 248,
+ 0, 247, 0, 248, 0, 247, 0, 248, 247, 0,
- 374, 375, 376, 377, 379, 378, 376, 377, 379, 378,
- 380, 377, 379, 378, 380, 381, 382, 0, 380, 381,
- 382, 377, 378, 381, 382, 0, 383, 384, 382, 0,
- 383, 384, 385, 381, 383, 384, 385, 0, 386, 387,
- 385, 0, 386, 387, 383, 384, 386, 387, 388, 0,
- 389, 390, 388, 387, 389, 390, 388, 0, 389, 390,
- 391, 389, 392, 394, 391, 393, 392, 394, 391, 393,
- 392, 394, 395, 393, 396, 392, 395, 393, 396, 397,
- 395, 394, 396, 397, 398, 399, 0, 397, 398, 399,
- 395, 400, 398, 399, 401, 400, 0, 402, 401, 400,
+ 248, 249, 249, 288, 288, 288, 250, 250, 250, 0,
+ 251, 249, 289, 289, 289, 249, 250, 249, 249, 0,
+ 250, 0, 0, 250, 251, 251, 252, 252, 0, 0,
+ 251, 290, 290, 290, 251, 0, 252, 252, 251, 0,
+ 252, 251, 0, 252, 253, 253, 253, 254, 0, 254,
+ 254, 0, 0, 0, 253, 255, 0, 0, 253, 254,
+ 255, 253, 0, 254, 255, 0, 254, 255, 0, 256,
+ 255, 256, 0, 0, 256, 0, 0, 0, 256, 0,
+ 257, 256, 256, 257, 256, 257, 0, 0, 258, 257,
+ 0, 0, 257, 258, 0, 257, 0, 258, 0, 0,
- 0, 402, 401, 403, 400, 402, 404, 403, 405, 406,
- 404, 403, 405, 406, 404, 0, 405, 406, 407, 0,
- 407, 408, 407, 406, 409, 408, 407, 409, 409, 408,
- 410, 0, 409, 411, 410, 0, 412, 411, 410, 408,
- 412, 411, 413, 414, 412, 416, 413, 414, 412, 416,
- 413, 414, 0, 416, 410, 413, 415, 416, 415, 417,
- 415, 418, 419, 417, 415, 418, 419, 417, 420, 418,
- 419, 421, 420, 0, 422, 421, 420, 0, 422, 421,
- 423, 420, 422, 0, 423, 0, 424, 0, 423, 0,
- 424, 424, 425, 422, 424, 425, 425, 426, 427, 428,
+ 258, 259, 259, 258, 0, 0, 259, 0, 260, 260,
+ 259, 0, 260, 259, 260, 0, 259, 261, 260, 0,
+ 0, 260, 261, 0, 260, 0, 261, 262, 262, 261,
+ 0, 0, 261, 263, 263, 264, 264, 262, 0, 263,
+ 0, 262, 0, 263, 262, 264, 0, 263, 0, 264,
+ 263, 0, 264, 265, 265, 292, 0, 292, 0, 292,
+ 292, 292, 0, 265, 266, 266, 0, 265, 0, 265,
+ 265, 0, 0, 266, 266, 267, 267, 0, 266, 0,
+ 0, 266, 0, 0, 0, 267, 268, 268, 268, 267,
+ 0, 267, 267, 0, 0, 0, 268, 269, 269, 269,
- 425, 426, 427, 428, 431, 426, 427, 428, 431, 432,
- 433, 435, 431, 432, 433, 435, 434, 432, 433, 435,
- 0, 436, 437, 0, 0, 436, 437, 432, 434, 436,
- 437, 438, 434, 439, 440, 438, 434, 439, 440, 438,
- 441, 439, 440, 0, 441, 442, 443, 0, 441, 442,
- 443, 439, 440, 442, 443, 444, 0, 445, 442, 444,
- 443, 445, 0, 444, 446, 445, 0, 447, 446, 449,
- 445, 447, 446, 449, 448, 447, 0, 449, 448, 447,
- 448, 450, 448, 451, 0, 450, 452, 451, 0, 450,
- 452, 451, 449, 453, 452, 0, 0, 453, 0, 0,
+ 268, 0, 0, 268, 369, 270, 270, 269, 369, 369,
+ 369, 269, 0, 0, 269, 270, 270, 271, 271, 270,
+ 0, 0, 270, 0, 0, 272, 272, 271, 0, 0,
+ 271, 271, 0, 271, 271, 272, 273, 273, 0, 272,
+ 272, 0, 272, 0, 274, 274, 273, 0, 0, 276,
+ 273, 0, 0, 273, 274, 275, 275, 0, 274, 275,
+ 0, 274, 370, 276, 276, 275, 370, 370, 370, 275,
+ 432, 0, 275, 276, 432, 432, 432, 276, 0, 0,
+ 276, 293, 0, 0, 293, 293, 293, 293, 0, 0,
+ 293, 294, 294, 293, 0, 293, 0, 293, 293, 293,
- 450, 453, 454, 452, 455, 0, 454, 0, 455, 453,
- 454, 0, 455, 454, 456, 455, 0, 457, 456, 457,
- 458, 457, 456, 459, 458, 457, 461, 459, 458, 460,
- 456, 459, 462, 460, 458, 463, 462, 460, 461, 463,
- 462, 464, 461, 463, 465, 464, 461, 467, 465, 464,
- 0, 467, 465, 464, 466, 467, 466, 468, 466, 469,
- 470, 0, 466, 469, 470, 0, 0, 469, 470, 468,
- 470, 469, 471, 468, 472, 473, 471, 468, 472, 473,
- 471, 474, 472, 473, 0, 474, 477, 0, 0, 474,
- 477, 473, 474, 478, 477, 480, 479, 478, 481, 480,
+ 0, 294, 294, 0, 295, 294, 295, 295, 294, 0,
+ 0, 0, 296, 296, 0, 0, 295, 0, 0, 0,
+ 295, 296, 296, 295, 0, 0, 296, 0, 0, 296,
+ 0, 293, 293, 293, 293, 293, 293, 293, 293, 297,
+ 297, 298, 298, 298, 0, 0, 0, 0, 297, 297,
+ 0, 298, 0, 297, 0, 298, 297, 0, 298, 299,
+ 299, 300, 300, 0, 0, 0, 0, 301, 301, 299,
+ 0, 300, 0, 299, 0, 300, 299, 301, 300, 302,
+ 302, 301, 0, 0, 301, 303, 303, 0, 0, 302,
+ 0, 303, 0, 302, 0, 303, 302, 0, 304, 303,
- 479, 478, 481, 480, 479, 482, 481, 0, 0, 482,
- 483, 478, 479, 482, 483, 484, 0, 482, 483, 484,
- 0, 485, 486, 484, 483, 485, 0, 487, 0, 485,
- 0, 487, 484, 485, 486, 487, 488, 489, 486, 490,
- 488, 489, 486, 490, 488, 489, 491, 490, 492, 0,
- 491, 493, 492, 489, 491, 493, 492, 490, 494, 493,
- 495, 0, 494, 496, 495, 0, 494, 496, 495, 491,
- 497, 496, 0, 498, 497, 0, 496, 498, 497, 499,
- 499, 498, 500, 499, 0, 501, 500, 499, 497, 501,
- 500, 502, 505, 501, 503, 502, 0, 504, 503, 502,
+ 304, 304, 303, 0, 0, 305, 305, 305, 0, 0,
+ 304, 306, 306, 0, 304, 305, 0, 304, 0, 305,
+ 0, 306, 305, 307, 307, 306, 536, 0, 306, 0,
+ 536, 536, 536, 307, 308, 308, 308, 307, 0, 307,
+ 307, 570, 309, 309, 308, 570, 570, 570, 308, 0,
+ 0, 308, 309, 0, 0, 310, 309, 310, 310, 309,
+ 0, 0, 311, 311, 0, 0, 0, 310, 312, 312,
+ 0, 310, 311, 0, 310, 0, 311, 0, 312, 311,
+ 313, 313, 312, 0, 0, 312, 314, 314, 314, 0,
+ 313, 315, 315, 0, 313, 0, 314, 313, 0, 0,
- 500, 504, 503, 506, 505, 504, 507, 506, 505, 507,
- 507, 506, 505, 508, 507, 509, 511, 508, 512, 509,
- 511, 508, 512, 509, 511, 0, 512, 516, 513, 511,
- 508, 513, 513, 514, 515, 0, 513, 514, 515, 516,
- 517, 514, 515, 516, 517, 518, 514, 516, 517, 518,
- 0, 519, 520, 518, 519, 519, 520, 517, 521, 519,
- 520, 522, 521, 523, 524, 522, 521, 523, 524, 522,
- 525, 523, 524, 526, 525, 523, 524, 526, 525, 527,
- 528, 526, 529, 527, 528, 0, 529, 527, 528, 526,
- 529, 530, 531, 0, 532, 530, 531, 532, 532, 530,
+ 314, 315, 0, 314, 0, 315, 316, 316, 315, 317,
+ 0, 0, 0, 0, 317, 0, 316, 0, 317, 0,
+ 316, 317, 316, 316, 317, 318, 319, 319, 0, 0,
+ 318, 0, 319, 0, 318, 0, 319, 318, 318, 319,
+ 318, 0, 319, 320, 320, 321, 321, 0, 0, 323,
+ 0, 322, 322, 320, 0, 321, 0, 320, 0, 321,
+ 320, 322, 321, 323, 323, 322, 0, 322, 322, 324,
+ 324, 0, 0, 323, 325, 325, 0, 323, 0, 324,
+ 323, 0, 0, 324, 325, 324, 324, 326, 325, 326,
+ 326, 325, 0, 0, 327, 327, 327, 0, 0, 326,
- 531, 533, 532, 528, 531, 533, 534, 535, 536, 533,
- 534, 535, 536, 538, 534, 535, 536, 538, 539, 540,
- 536, 538, 539, 540, 541, 542, 539, 540, 541, 542,
- 543, 540, 541, 542, 543, 544, 545, 546, 543, 544,
- 545, 546, 541, 544, 545, 546, 0, 0, 547, 548,
- 0, 0, 547, 548, 545, 546, 547, 548, 0, 549,
- 550, 551, 548, 549, 550, 551, 547, 549, 550, 551,
- 0, 552, 553, 550, 0, 552, 553, 0, 551, 552,
- 553, 0, 554, 555, 556, 553, 554, 555, 556, 557,
- 554, 555, 556, 557, 0, 557, 0, 557, 558, 559,
+ 328, 328, 328, 326, 327, 0, 326, 329, 327, 0,
+ 328, 327, 329, 0, 328, 330, 329, 328, 0, 329,
+ 330, 0, 329, 331, 330, 0, 0, 330, 331, 0,
+ 330, 332, 331, 0, 0, 331, 332, 0, 331, 333,
+ 332, 0, 0, 332, 333, 0, 332, 334, 333, 0,
+ 0, 333, 334, 0, 333, 335, 334, 0, 0, 334,
+ 335, 0, 334, 0, 335, 336, 336, 335, 0, 0,
+ 335, 337, 337, 338, 338, 336, 0, 0, 0, 336,
+ 0, 337, 336, 338, 0, 337, 0, 338, 337, 0,
+ 338, 339, 339, 340, 340, 340, 0, 0, 0, 341,
- 554, 560, 558, 559, 558, 560, 558, 559, 0, 560,
- 0, 561, 0, 562, 0, 561, 559, 562, 560, 561,
- 563, 562, 564, 565, 563, 562, 564, 565, 563, 567,
- 564, 565, 563, 567, 566, 0, 0, 567, 566, 568,
- 564, 565, 566, 568, 569, 568, 566, 568, 569, 570,
- 571, 572, 569, 570, 571, 572, 0, 570, 571, 572,
- 573, 574, 575, 573, 573, 574, 575, 576, 573, 574,
- 575, 576, 577, 578, 579, 576, 577, 578, 579, 580,
- 577, 578, 579, 580, 581, 582, 583, 580, 581, 582,
- 583, 584, 581, 582, 583, 584, 585, 0, 583, 584,
+ 341, 339, 0, 340, 0, 339, 0, 340, 339, 341,
+ 340, 342, 342, 341, 0, 341, 341, 342, 0, 0,
+ 0, 342, 343, 343, 343, 342, 0, 0, 342, 0,
+ 0, 0, 343, 344, 344, 344, 343, 0, 0, 343,
+ 0, 345, 345, 344, 0, 0, 0, 344, 0, 0,
+ 344, 345, 346, 346, 0, 345, 0, 0, 345, 0,
+ 0, 347, 346, 347, 347, 0, 346, 0, 0, 346,
+ 0, 0, 0, 347, 0, 348, 348, 347, 349, 0,
+ 347, 348, 0, 349, 0, 348, 0, 349, 0, 348,
+ 349, 0, 348, 349, 350, 350, 351, 351, 0, 0,
- 585, 586, 581, 586, 585, 586, 587, 588, 589, 586,
- 587, 588, 589, 585, 587, 588, 589, 591, 591, 591,
- 591, 591, 591, 591, 592, 592, 592, 592, 592, 592,
- 592, 593, 593, 593, 593, 593, 593, 593, 594, 594,
- 594, 594, 595, 595, 595, 595, 595, 595, 596, 596,
- 596, 596, 597, 597, 597, 597, 597, 597, 598, 598,
- 598, 599, 599, 599, 599, 599, 600, 600, 600, 600,
- 602, 602, 602, 602, 603, 0, 603, 590, 590, 590,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
+ 0, 0, 0, 0, 350, 0, 351, 351, 350, 0,
+ 351, 350, 0, 351, 352, 352, 352, 0, 0, 353,
+ 353, 0, 0, 0, 352, 354, 354, 0, 352, 353,
+ 0, 352, 0, 353, 0, 354, 353, 355, 355, 354,
+ 357, 0, 354, 356, 356, 357, 0, 355, 0, 357,
+ 0, 355, 357, 356, 355, 357, 358, 356, 359, 0,
+ 356, 358, 0, 359, 0, 358, 0, 359, 358, 0,
+ 359, 358, 362, 359, 360, 360, 361, 0, 0, 0,
+ 360, 361, 0, 0, 360, 361, 0, 360, 361, 362,
+ 360, 361, 0, 0, 362, 0, 363, 363, 362, 0,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
- 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,
- 590, 590, 590, 590, 590, 590, 590, 590, 590
+ 0, 362, 363, 0, 362, 0, 363, 371, 371, 363,
+ 373, 0, 363, 372, 372, 373, 0, 371, 0, 373,
+ 0, 371, 373, 372, 371, 373, 0, 372, 0, 372,
+ 372, 374, 374, 0, 0, 375, 375, 374, 0, 0,
+ 0, 374, 0, 0, 374, 375, 0, 374, 0, 375,
+ 376, 376, 375, 0, 376, 377, 377, 377, 0, 0,
+ 376, 0, 0, 0, 376, 377, 0, 376, 0, 377,
+ 378, 378, 377, 0, 378, 379, 379, 0, 0, 0,
+ 378, 379, 0, 0, 378, 379, 0, 378, 0, 379,
+ 380, 380, 379, 381, 0, 0, 0, 0, 381, 0,
+
+ 380, 0, 381, 0, 380, 381, 0, 380, 381, 382,
+ 382, 0, 0, 383, 383, 382, 0, 0, 0, 382,
+ 0, 0, 382, 383, 0, 382, 0, 383, 384, 384,
+ 383, 0, 0, 386, 384, 0, 385, 385, 384, 0,
+ 0, 0, 384, 0, 0, 384, 385, 386, 386, 0,
+ 385, 387, 385, 385, 0, 0, 387, 386, 389, 389,
+ 387, 386, 388, 387, 386, 0, 387, 388, 389, 0,
+ 0, 388, 389, 0, 388, 389, 0, 388, 390, 390,
+ 391, 391, 0, 0, 390, 0, 391, 0, 390, 0,
+ 391, 397, 390, 0, 391, 390, 397, 391, 392, 392,
+
+ 397, 0, 0, 397, 392, 0, 397, 393, 392, 393,
+ 393, 0, 392, 0, 0, 392, 0, 394, 394, 393,
+ 0, 0, 0, 393, 0, 0, 393, 394, 395, 395,
+ 0, 394, 0, 394, 394, 0, 396, 396, 395, 398,
+ 0, 398, 395, 0, 398, 395, 396, 399, 398, 0,
+ 396, 398, 399, 396, 398, 0, 399, 0, 400, 399,
+ 399, 0, 399, 400, 0, 0, 401, 400, 0, 0,
+ 400, 401, 0, 400, 402, 401, 0, 402, 401, 402,
+ 0, 401, 0, 402, 403, 403, 402, 404, 0, 402,
+ 403, 0, 404, 0, 403, 0, 404, 403, 0, 404,
+
+ 403, 0, 404, 405, 405, 406, 406, 0, 0, 0,
+ 0, 406, 0, 405, 0, 406, 0, 405, 0, 406,
+ 405, 0, 406, 407, 407, 407, 0, 0, 408, 408,
+ 408, 0, 0, 407, 0, 0, 0, 407, 408, 0,
+ 407, 0, 408, 409, 409, 408, 0, 0, 0, 409,
+ 0, 410, 410, 409, 0, 0, 0, 409, 0, 0,
+ 409, 410, 411, 411, 0, 410, 0, 410, 410, 0,
+ 0, 0, 411, 0, 412, 412, 411, 0, 0, 411,
+ 412, 0, 413, 413, 412, 0, 0, 0, 412, 0,
+ 0, 412, 413, 414, 414, 0, 413, 0, 0, 413,
+
+ 0, 0, 413, 414, 415, 415, 0, 414, 0, 0,
+ 414, 0, 0, 0, 415, 416, 416, 416, 415, 0,
+ 0, 415, 0, 0, 0, 416, 417, 417, 417, 416,
+ 0, 0, 416, 0, 418, 418, 417, 0, 0, 0,
+ 417, 0, 0, 417, 418, 419, 419, 0, 418, 0,
+ 0, 418, 0, 0, 0, 419, 0, 420, 420, 419,
+ 421, 0, 419, 420, 0, 421, 0, 420, 0, 421,
+ 0, 420, 421, 0, 420, 421, 422, 422, 423, 423,
+ 0, 0, 0, 0, 0, 0, 422, 423, 423, 0,
+ 422, 0, 423, 422, 0, 423, 424, 424, 424, 0,
+
+ 0, 425, 425, 0, 0, 0, 424, 426, 426, 426,
+ 424, 425, 0, 424, 0, 425, 0, 426, 425, 427,
+ 427, 426, 429, 0, 426, 428, 428, 429, 0, 427,
+ 0, 429, 0, 427, 429, 428, 427, 429, 430, 428,
+ 433, 0, 428, 430, 0, 433, 434, 430, 0, 433,
+ 430, 434, 433, 430, 0, 433, 434, 0, 0, 435,
+ 434, 0, 0, 434, 435, 0, 434, 0, 435, 436,
+ 436, 435, 438, 0, 435, 437, 437, 438, 0, 436,
+ 0, 438, 0, 436, 438, 437, 436, 438, 439, 437,
+ 440, 437, 437, 439, 0, 440, 0, 439, 0, 440,
+
+ 439, 441, 440, 439, 0, 440, 441, 442, 442, 0,
+ 441, 0, 0, 441, 441, 0, 441, 442, 443, 443,
+ 0, 442, 0, 0, 442, 0, 444, 444, 443, 0,
+ 0, 0, 443, 0, 443, 443, 444, 445, 445, 0,
+ 444, 0, 444, 444, 0, 0, 446, 445, 446, 446,
+ 0, 445, 447, 0, 445, 0, 0, 447, 446, 0,
+ 0, 447, 446, 0, 447, 446, 449, 447, 448, 448,
+ 450, 449, 448, 450, 448, 450, 449, 449, 448, 450,
+ 449, 448, 450, 449, 448, 450, 449, 451, 451, 0,
+ 452, 0, 0, 451, 0, 452, 0, 451, 452, 452,
+
+ 451, 0, 452, 451, 0, 452, 453, 453, 454, 454,
+ 0, 0, 0, 0, 0, 0, 453, 0, 454, 0,
+ 453, 0, 454, 453, 454, 454, 455, 455, 0, 0,
+ 0, 456, 456, 0, 0, 0, 455, 457, 457, 457,
+ 455, 456, 455, 455, 0, 456, 0, 457, 456, 458,
+ 458, 457, 0, 0, 457, 458, 0, 459, 459, 458,
+ 0, 0, 0, 458, 0, 0, 458, 459, 460, 460,
+ 0, 459, 0, 0, 459, 0, 0, 0, 460, 460,
+ 0, 0, 460, 0, 0, 460, 461, 461, 461, 0,
+ 0, 462, 462, 462, 0, 0, 461, 463, 463, 463,
+
+ 461, 462, 0, 461, 0, 462, 0, 463, 462, 464,
+ 464, 463, 466, 465, 463, 465, 465, 466, 0, 464,
+ 0, 466, 0, 464, 466, 465, 464, 466, 0, 465,
+ 467, 467, 465, 0, 0, 468, 468, 0, 0, 0,
+ 467, 0, 0, 0, 467, 468, 0, 467, 0, 468,
+ 0, 468, 468, 469, 469, 470, 470, 0, 0, 0,
+ 0, 471, 471, 469, 0, 470, 0, 469, 0, 470,
+ 469, 471, 470, 472, 472, 471, 0, 470, 471, 474,
+ 474, 473, 473, 472, 0, 0, 0, 472, 0, 474,
+ 472, 473, 473, 474, 0, 473, 474, 0, 473, 475,
+
+ 475, 476, 476, 0, 0, 0, 0, 477, 477, 475,
+ 0, 476, 0, 475, 0, 476, 475, 477, 476, 481,
+ 481, 477, 0, 0, 477, 478, 478, 478, 0, 481,
+ 479, 479, 479, 481, 0, 478, 481, 0, 0, 478,
+ 479, 0, 478, 0, 479, 480, 480, 479, 0, 0,
+ 482, 482, 0, 0, 0, 480, 480, 0, 0, 480,
+ 482, 0, 480, 0, 482, 483, 483, 482, 484, 0,
+ 0, 485, 485, 484, 0, 483, 0, 484, 0, 483,
+ 484, 485, 483, 484, 0, 485, 486, 486, 485, 0,
+ 0, 487, 487, 487, 0, 0, 486, 488, 488, 488,
+
+ 486, 487, 0, 486, 0, 487, 0, 488, 487, 491,
+ 491, 488, 0, 0, 488, 492, 492, 0, 0, 491,
+ 493, 493, 0, 491, 494, 492, 491, 0, 0, 492,
+ 493, 492, 492, 0, 493, 0, 0, 493, 494, 494,
+ 495, 495, 0, 0, 0, 0, 0, 0, 494, 0,
+ 495, 0, 494, 0, 495, 494, 0, 495, 496, 496,
+ 496, 0, 0, 497, 497, 0, 0, 0, 496, 498,
+ 498, 0, 496, 497, 0, 496, 0, 497, 0, 498,
+ 497, 499, 499, 498, 0, 0, 498, 0, 0, 500,
+ 500, 499, 0, 0, 0, 499, 0, 499, 499, 500,
+
+ 501, 501, 0, 500, 0, 500, 500, 0, 502, 502,
+ 501, 503, 0, 0, 501, 0, 503, 501, 502, 502,
+ 503, 0, 502, 503, 0, 502, 503, 504, 504, 0,
+ 505, 0, 0, 504, 0, 505, 0, 504, 505, 505,
+ 504, 506, 505, 504, 0, 505, 506, 507, 507, 0,
+ 506, 0, 0, 506, 0, 0, 506, 507, 508, 508,
+ 0, 507, 508, 0, 507, 0, 509, 509, 508, 0,
+ 0, 0, 508, 0, 0, 508, 509, 0, 510, 510,
+ 509, 512, 0, 509, 511, 511, 512, 509, 510, 0,
+ 512, 0, 510, 512, 511, 510, 512, 0, 511, 513,
+
+ 513, 511, 0, 0, 0, 514, 514, 0, 0, 513,
+ 0, 515, 515, 513, 514, 514, 513, 516, 516, 514,
+ 515, 515, 514, 517, 517, 515, 0, 516, 515, 0,
+ 518, 516, 0, 517, 516, 518, 519, 517, 0, 518,
+ 517, 519, 518, 521, 0, 518, 519, 0, 520, 520,
+ 519, 0, 0, 519, 520, 0, 519, 522, 520, 0,
+ 521, 520, 522, 0, 520, 521, 0, 522, 0, 521,
+ 0, 522, 521, 523, 522, 521, 0, 522, 523, 524,
+ 524, 0, 523, 0, 0, 523, 0, 0, 523, 524,
+ 525, 525, 525, 524, 0, 0, 524, 0, 526, 526,
+
+ 525, 0, 0, 528, 525, 0, 0, 525, 526, 527,
+ 527, 0, 526, 0, 0, 526, 0, 528, 528, 527,
+ 0, 0, 0, 527, 0, 0, 527, 528, 529, 529,
+ 0, 528, 530, 0, 528, 0, 0, 530, 529, 0,
+ 0, 530, 529, 531, 530, 529, 0, 530, 531, 0,
+ 532, 532, 531, 0, 0, 531, 532, 0, 531, 0,
+ 532, 533, 533, 532, 0, 0, 532, 534, 534, 537,
+ 537, 533, 0, 0, 0, 533, 534, 534, 533, 537,
+ 0, 534, 0, 537, 534, 0, 537, 538, 538, 0,
+ 0, 0, 539, 539, 0, 0, 0, 538, 540, 540,
+
+ 540, 538, 539, 538, 538, 0, 539, 0, 540, 539,
+ 541, 541, 540, 0, 0, 540, 541, 0, 542, 542,
+ 541, 543, 0, 0, 541, 0, 543, 541, 542, 544,
+ 543, 546, 542, 543, 544, 542, 543, 0, 544, 545,
+ 545, 544, 0, 0, 544, 546, 546, 547, 547, 545,
+ 0, 0, 0, 545, 0, 546, 545, 547, 0, 546,
+ 0, 547, 546, 0, 547, 548, 548, 549, 549, 0,
+ 0, 0, 0, 550, 550, 548, 0, 549, 0, 548,
+ 0, 549, 548, 550, 549, 551, 551, 550, 0, 550,
+ 550, 552, 552, 552, 0, 551, 0, 0, 0, 551,
+
+ 0, 552, 551, 554, 554, 552, 551, 0, 552, 553,
+ 553, 553, 0, 554, 555, 555, 555, 554, 0, 553,
+ 554, 0, 0, 553, 555, 0, 553, 0, 555, 556,
+ 556, 555, 0, 0, 557, 557, 0, 0, 0, 556,
+ 556, 0, 0, 556, 557, 0, 556, 0, 557, 0,
+ 557, 557, 558, 558, 0, 0, 559, 559, 559, 0,
+ 0, 0, 558, 560, 560, 0, 558, 559, 0, 558,
+ 0, 559, 0, 560, 559, 561, 561, 560, 0, 560,
+ 560, 562, 562, 0, 0, 561, 563, 563, 563, 561,
+ 0, 562, 561, 0, 0, 562, 563, 0, 562, 565,
+
+ 563, 564, 564, 563, 0, 0, 0, 564, 0, 0,
+ 0, 564, 0, 565, 565, 564, 0, 0, 564, 566,
+ 566, 566, 0, 565, 567, 567, 0, 565, 0, 566,
+ 565, 0, 0, 566, 567, 568, 566, 0, 567, 0,
+ 568, 567, 569, 569, 568, 0, 0, 568, 569, 0,
+ 568, 571, 569, 0, 0, 569, 571, 0, 569, 571,
+ 571, 0, 572, 571, 0, 0, 571, 572, 573, 573,
+ 0, 572, 0, 0, 572, 0, 0, 572, 573, 574,
+ 574, 0, 573, 0, 576, 573, 0, 575, 575, 574,
+ 574, 0, 0, 574, 0, 0, 574, 575, 576, 576,
+
+ 0, 575, 577, 0, 575, 0, 0, 577, 576, 579,
+ 579, 577, 576, 578, 577, 576, 0, 577, 578, 579,
+ 0, 0, 578, 579, 0, 578, 579, 0, 578, 580,
+ 580, 580, 0, 0, 581, 581, 0, 0, 0, 580,
+ 582, 582, 0, 580, 581, 0, 580, 0, 581, 0,
+ 582, 581, 583, 583, 582, 0, 0, 582, 584, 584,
+ 585, 585, 583, 0, 0, 0, 583, 0, 584, 583,
+ 585, 0, 584, 0, 585, 584, 0, 585, 586, 586,
+ 587, 587, 0, 0, 0, 0, 587, 0, 586, 0,
+ 587, 0, 586, 0, 587, 586, 0, 587, 588, 588,
+
+ 589, 589, 0, 0, 0, 0, 589, 0, 588, 0,
+ 589, 0, 588, 0, 589, 588, 0, 589, 0, 588,
+ 590, 590, 591, 591, 0, 0, 0, 0, 592, 592,
+ 590, 0, 591, 0, 590, 0, 591, 590, 592, 591,
+ 593, 593, 592, 0, 0, 592, 594, 594, 0, 0,
+ 593, 0, 595, 595, 593, 0, 594, 593, 595, 0,
+ 594, 0, 595, 594, 596, 596, 595, 0, 0, 595,
+ 598, 598, 599, 599, 596, 0, 0, 0, 596, 0,
+ 598, 596, 599, 0, 598, 0, 599, 598, 0, 599,
+ 600, 600, 601, 601, 0, 0, 0, 0, 0, 0,
+
+ 600, 0, 601, 0, 600, 0, 601, 600, 601, 601,
+ 602, 0, 602, 602, 603, 603, 0, 0, 0, 0,
+ 603, 0, 602, 0, 603, 0, 602, 0, 603, 602,
+ 0, 603, 604, 604, 605, 605, 0, 0, 0, 0,
+ 0, 0, 604, 0, 605, 0, 604, 0, 605, 604,
+ 605, 605, 606, 606, 0, 0, 0, 607, 607, 0,
+ 0, 0, 606, 0, 0, 0, 606, 607, 606, 606,
+ 0, 607, 0, 607, 607, 608, 608, 609, 609, 0,
+ 0, 0, 0, 0, 0, 608, 608, 609, 611, 608,
+ 0, 609, 608, 611, 609, 610, 610, 611, 0, 0,
+
+ 611, 0, 613, 611, 0, 610, 610, 613, 612, 610,
+ 613, 613, 610, 612, 613, 0, 0, 613, 612, 0,
+ 0, 614, 612, 0, 0, 612, 614, 0, 612, 0,
+ 614, 0, 615, 614, 614, 616, 614, 615, 0, 0,
+ 616, 615, 0, 0, 615, 616, 0, 615, 0, 616,
+ 0, 0, 616, 617, 617, 616, 0, 0, 617, 0,
+ 0, 0, 617, 0, 619, 617, 618, 618, 617, 619,
+ 0, 618, 0, 619, 0, 618, 619, 620, 618, 619,
+ 0, 618, 620, 0, 621, 621, 620, 0, 0, 620,
+ 621, 0, 620, 0, 621, 622, 622, 621, 0, 0,
+
+ 621, 623, 623, 624, 624, 622, 0, 0, 0, 622,
+ 0, 623, 622, 624, 0, 623, 0, 624, 623, 624,
+ 624, 625, 625, 0, 0, 0, 626, 626, 0, 0,
+ 0, 625, 627, 627, 0, 625, 626, 625, 625, 0,
+ 626, 0, 627, 626, 628, 628, 627, 0, 628, 627,
+ 629, 629, 629, 0, 628, 0, 630, 630, 628, 0,
+ 629, 628, 630, 0, 629, 0, 630, 629, 631, 631,
+ 630, 0, 0, 630, 632, 632, 633, 633, 631, 0,
+ 0, 0, 631, 0, 632, 631, 633, 0, 632, 0,
+ 633, 632, 0, 633, 634, 634, 635, 635, 0, 0,
+
+ 636, 0, 636, 636, 634, 0, 635, 0, 634, 0,
+ 635, 634, 636, 635, 638, 638, 636, 0, 0, 636,
+ 637, 637, 637, 0, 638, 639, 639, 0, 638, 0,
+ 637, 638, 0, 0, 637, 639, 0, 637, 0, 639,
+ 640, 640, 639, 0, 0, 641, 641, 0, 0, 0,
+ 640, 0, 0, 0, 640, 641, 0, 640, 0, 641,
+ 0, 641, 641, 642, 642, 643, 643, 0, 0, 0,
+ 0, 644, 644, 642, 0, 643, 0, 642, 645, 643,
+ 642, 644, 643, 645, 0, 644, 0, 645, 644, 0,
+ 645, 646, 646, 645, 0, 0, 647, 647, 0, 0,
+
+ 0, 646, 648, 648, 648, 646, 647, 0, 646, 0,
+ 647, 0, 648, 647, 649, 649, 648, 0, 0, 648,
+ 0, 0, 0, 0, 649, 0, 0, 0, 649, 0,
+ 0, 649, 651, 651, 651, 651, 651, 652, 652, 652,
+ 652, 652, 653, 653, 653, 653, 653, 654, 654, 654,
+ 654, 655, 655, 655, 655, 656, 656, 656, 658, 658,
+ 658, 658, 659, 0, 659, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
+ 650, 650, 650, 650, 650, 650, 650, 650, 650
} ;
/* The intent behind this definition is that it'll catch
@@ -1174,6 +1742,7 @@
#define COMMENT2 2
#define PATH 3
#define DOUBLEQUOTES 4
+#define SINGLEQUOTES 5
#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
@@ -1460,6 +2029,8 @@
int column = 0;
char *str = NULL;
int _state = YY_START;
+ yy_size_t i;
+ uint32_t value;
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -1486,13 +2057,13 @@
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 >= 591 )
+ if ( yy_current_state >= 651 )
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_base[yy_current_state] != 2278 );
+ while ( yy_base[yy_current_state] != 4766 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -1521,10 +2092,13 @@
{_state = YY_START; BEGIN COMMENT1; }
YY_BREAK
case 2:
+YY_RULE_SETUP
+
+ YY_BREAK
case 3:
/* rule 3 can match eol */
YY_RULE_SETUP
-
+{yylloc->last_column = 0;}
YY_BREAK
case 4:
YY_RULE_SETUP
@@ -1535,362 +2109,392 @@
{_state = YY_START; BEGIN COMMENT2;}
YY_BREAK
case 6:
+/* rule 6 can match eol */
YY_RULE_SETUP
-
+{BEGIN _state; yylloc->last_column = 0; return EOL; }
YY_BREAK
case 7:
-/* rule 7 can match eol */
-case 8:
-/* rule 8 can match eol */
-YY_RULE_SETUP
-{BEGIN _state; return EOL; }
- YY_BREAK
-case 9:
YY_RULE_SETUP
{ return ANYXML_KEYWORD; }
YY_BREAK
-case 10:
+case 8:
YY_RULE_SETUP
{ return ARGUMENT_KEYWORD; }
YY_BREAK
-case 11:
+case 9:
YY_RULE_SETUP
{ BEGIN PATH; return AUGMENT_KEYWORD; }
YY_BREAK
-case 12:
+case 10:
YY_RULE_SETUP
{ return BASE_KEYWORD; }
YY_BREAK
-case 13:
+case 11:
YY_RULE_SETUP
{ return BELONGS_TO_KEYWORD; }
YY_BREAK
-case 14:
+case 12:
YY_RULE_SETUP
{ return BIT_KEYWORD; }
YY_BREAK
-case 15:
+case 13:
YY_RULE_SETUP
{ return CASE_KEYWORD; }
YY_BREAK
-case 16:
+case 14:
YY_RULE_SETUP
{ return CHOICE_KEYWORD; }
YY_BREAK
-case 17:
+case 15:
YY_RULE_SETUP
{ return CONFIG_KEYWORD; }
YY_BREAK
-case 18:
+case 16:
YY_RULE_SETUP
{ return CONTACT_KEYWORD; }
YY_BREAK
-case 19:
+case 17:
YY_RULE_SETUP
{ return CONTAINER_KEYWORD; }
YY_BREAK
-case 20:
+case 18:
YY_RULE_SETUP
{ return DEFAULT_KEYWORD; }
YY_BREAK
-case 21:
+case 19:
YY_RULE_SETUP
{ return DESCRIPTION_KEYWORD; }
YY_BREAK
-case 22:
+case 20:
YY_RULE_SETUP
{ return ENUM_KEYWORD; }
YY_BREAK
-case 23:
+case 21:
YY_RULE_SETUP
{ return ERROR_APP_TAG_KEYWORD; }
YY_BREAK
-case 24:
+case 22:
YY_RULE_SETUP
{ return ERROR_MESSAGE_KEYWORD; }
YY_BREAK
-case 25:
+case 23:
YY_RULE_SETUP
{ return EXTENSION_KEYWORD; }
YY_BREAK
-case 26:
+case 24:
YY_RULE_SETUP
{ BEGIN PATH; return DEVIATION_KEYWORD; }
YY_BREAK
-case 27:
+case 25:
YY_RULE_SETUP
{ return DEVIATE_KEYWORD; }
YY_BREAK
-case 28:
+case 26:
YY_RULE_SETUP
{ return FEATURE_KEYWORD; }
YY_BREAK
-case 29:
+case 27:
YY_RULE_SETUP
{ return FRACTION_DIGITS_KEYWORD; }
YY_BREAK
-case 30:
+case 28:
YY_RULE_SETUP
{ return GROUPING_KEYWORD; }
YY_BREAK
-case 31:
+case 29:
YY_RULE_SETUP
{ return IDENTITY_KEYWORD; }
YY_BREAK
-case 32:
+case 30:
YY_RULE_SETUP
{ return IF_FEATURE_KEYWORD; }
YY_BREAK
-case 33:
+case 31:
YY_RULE_SETUP
{ return IMPORT_KEYWORD; }
YY_BREAK
-case 34:
+case 32:
YY_RULE_SETUP
{ return INCLUDE_KEYWORD; }
YY_BREAK
-case 35:
+case 33:
YY_RULE_SETUP
{ return INPUT_KEYWORD; }
YY_BREAK
-case 36:
+case 34:
YY_RULE_SETUP
{ return KEY_KEYWORD; }
YY_BREAK
-case 37:
+case 35:
YY_RULE_SETUP
{ return LEAF_KEYWORD; }
YY_BREAK
-case 38:
+case 36:
YY_RULE_SETUP
{ return LEAF_LIST_KEYWORD; }
YY_BREAK
-case 39:
+case 37:
YY_RULE_SETUP
{ return LENGTH_KEYWORD; }
YY_BREAK
-case 40:
+case 38:
YY_RULE_SETUP
{ return LIST_KEYWORD; }
YY_BREAK
-case 41:
+case 39:
YY_RULE_SETUP
{ return MANDATORY_KEYWORD; }
YY_BREAK
-case 42:
+case 40:
YY_RULE_SETUP
{ return MAX_ELEMENTS_KEYWORD; }
YY_BREAK
-case 43:
+case 41:
YY_RULE_SETUP
{ return MIN_ELEMENTS_KEYWORD; }
YY_BREAK
-case 44:
+case 42:
YY_RULE_SETUP
{ return MODULE_KEYWORD; }
YY_BREAK
-case 45:
+case 43:
YY_RULE_SETUP
{ return MUST_KEYWORD; }
YY_BREAK
-case 46:
+case 44:
YY_RULE_SETUP
{ return NAMESPACE_KEYWORD; }
YY_BREAK
-case 47:
+case 45:
YY_RULE_SETUP
{ return NOTIFICATION_KEYWORD; }
YY_BREAK
-case 48:
+case 46:
YY_RULE_SETUP
{ return ORDERED_BY_KEYWORD; }
YY_BREAK
-case 49:
+case 47:
YY_RULE_SETUP
{ return ORGANIZATION_KEYWORD; }
YY_BREAK
-case 50:
+case 48:
YY_RULE_SETUP
{ return OUTPUT_KEYWORD; }
YY_BREAK
-case 51:
+case 49:
YY_RULE_SETUP
{ BEGIN PATH; return PATH_KEYWORD; }
YY_BREAK
-case 52:
+case 50:
YY_RULE_SETUP
{ return PATTERN_KEYWORD; }
YY_BREAK
-case 53:
+case 51:
YY_RULE_SETUP
{ return POSITION_KEYWORD; }
YY_BREAK
-case 54:
+case 52:
YY_RULE_SETUP
{ return PREFIX_KEYWORD; }
YY_BREAK
-case 55:
+case 53:
YY_RULE_SETUP
{ return PRESENCE_KEYWORD; }
YY_BREAK
-case 56:
+case 54:
YY_RULE_SETUP
{ return RANGE_KEYWORD; }
YY_BREAK
-case 57:
+case 55:
YY_RULE_SETUP
{ return REFERENCE_KEYWORD; }
YY_BREAK
-case 58:
+case 56:
YY_RULE_SETUP
{ BEGIN PATH; return REFINE_KEYWORD; }
YY_BREAK
-case 59:
+case 57:
YY_RULE_SETUP
{ return REQUIRE_INSTANCE_KEYWORD; }
YY_BREAK
-case 60:
+case 58:
YY_RULE_SETUP
{ return REVISION_KEYWORD; }
YY_BREAK
-case 61:
+case 59:
YY_RULE_SETUP
{ return REVISION_DATE_KEYWORD; }
YY_BREAK
-case 62:
+case 60:
YY_RULE_SETUP
{ return RPC_KEYWORD; }
YY_BREAK
-case 63:
+case 61:
YY_RULE_SETUP
{ return STATUS_KEYWORD; }
YY_BREAK
-case 64:
+case 62:
YY_RULE_SETUP
{ return SUBMODULE_KEYWORD; }
YY_BREAK
-case 65:
+case 63:
YY_RULE_SETUP
{ return TYPE_KEYWORD; }
YY_BREAK
-case 66:
+case 64:
YY_RULE_SETUP
{ return TYPEDEF_KEYWORD; }
YY_BREAK
-case 67:
+case 65:
YY_RULE_SETUP
{ BEGIN PATH; return UNIQUE_KEYWORD; }
YY_BREAK
-case 68:
+case 66:
YY_RULE_SETUP
{ return UNITS_KEYWORD; }
YY_BREAK
-case 69:
+case 67:
YY_RULE_SETUP
{ return USES_KEYWORD; }
YY_BREAK
-case 70:
+case 68:
YY_RULE_SETUP
{ return VALUE_KEYWORD; }
YY_BREAK
-case 71:
+case 69:
YY_RULE_SETUP
{ return WHEN_KEYWORD; }
YY_BREAK
-case 72:
+case 70:
YY_RULE_SETUP
{ return YANG_VERSION_KEYWORD; }
YY_BREAK
-case 73:
+case 71:
YY_RULE_SETUP
{ return YIN_ELEMENT_KEYWORD; }
YY_BREAK
-case 74:
+case 72:
YY_RULE_SETUP
{ return ADD_KEYWORD; }
YY_BREAK
+case 73:
+YY_RULE_SETUP
+{ return CURRENT_KEYWORD; }
+ YY_BREAK
+case 74:
+YY_RULE_SETUP
+{ return CURRENT_KEYWORD; }
+ YY_BREAK
case 75:
YY_RULE_SETUP
-{ return CURRENT_KEYWORD; }
- YY_BREAK
-case 76:
-YY_RULE_SETUP
-{ return CURRENT_KEYWORD; }
- YY_BREAK
-case 77:
-YY_RULE_SETUP
{ return DELETE_KEYWORD; }
YY_BREAK
-case 78:
+case 76:
YY_RULE_SETUP
{ return DEPRECATED_KEYWORD; }
YY_BREAK
-case 79:
+case 77:
YY_RULE_SETUP
{ return FALSE_KEYWORD; }
YY_BREAK
-case 80:
+case 78:
YY_RULE_SETUP
{ return NOT_SUPPORTED_KEYWORD; }
YY_BREAK
-case 81:
+case 79:
YY_RULE_SETUP
{ return OBSOLETE_KEYWORD; }
YY_BREAK
-case 82:
+case 80:
YY_RULE_SETUP
{ return REPLACE_KEYWORD; }
YY_BREAK
-case 83:
+case 81:
YY_RULE_SETUP
{ return SYSTEM_KEYWORD; }
YY_BREAK
-case 84:
+case 82:
YY_RULE_SETUP
{ return TRUE_KEYWORD; }
YY_BREAK
-case 85:
+case 83:
YY_RULE_SETUP
{ return UNBOUNDED_KEYWORD; }
YY_BREAK
-case 86:
+case 84:
YY_RULE_SETUP
{ return USER_KEYWORD; }
YY_BREAK
-case 87:
+case 85:
YY_RULE_SETUP
{return ACTION_KEYWORD; }
YY_BREAK
-case 88:
+case 86:
YY_RULE_SETUP
{return MODIFIER_KEYWORD; }
YY_BREAK
-case 89:
+case 87:
YY_RULE_SETUP
{return ANYDATA_KEYWORD; }
YY_BREAK
+case 88:
+case 89:
case 90:
case 91:
-case 92:
-case 93:
YY_RULE_SETUP
{ return yytext[0];} /* unsolved problem with concatenate string '+' */
YY_BREAK
-case 94:
+case 92:
YY_RULE_SETUP
{_state = YY_START; BEGIN DOUBLEQUOTES; str = yytext; column = yylloc->first_column; }
YY_BREAK
-case 95:
+case 93:
YY_RULE_SETUP
{ tab_count++; size_str += yyleng; }
YY_BREAK
-case 96:
-/* rule 96 can match eol */
+case 94:
YY_RULE_SETUP
{ size_str += yyleng; }
YY_BREAK
+case 95:
+/* rule 95 can match eol */
+YY_RULE_SETUP
+{yylloc->last_column = 0; size_str++; }
+ YY_BREAK
+case 96:
+YY_RULE_SETUP
+{
+ value = ((uint32_t)(yytext[0] & 0xf) << 12) | ((uint32_t)(yytext[1] & 0x3f) << 6) | (yytext[2] & 0x3f);
+ if (((value & 0xf800) == 0xd800) ||
+ (value >= 0xfdd0 && value <= 0xfdef) ||
+ (value & 0xffe) == 0xffe) {
+ /* exclude surrogate blocks %xD800-DFFF */
+ /* exclude noncharacters %xFDD0-FDEF */
+ /* exclude noncharacters %xFFFE-FFFF */
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid UTF-8 value 0x%08x", value);
+ yylloc->first_line = -1;
+ return ERROR;
+ }
+ size_str += 3;
+}
+ YY_BREAK
case 97:
YY_RULE_SETUP
+{
+ value = ((uint32_t)(yytext[0] & 0x7) << 18) | ((uint32_t)(yytext[1] & 0x3f) << 12) | ((uint32_t)(yytext[2] & 0x3f) << 6) | (yytext[3] & 0x3f);
+ if ((value & 0xffe) == 0xffe) {
+ /* exclude noncharacters %x1FFFE-1FFFF, %x2FFFE-2FFFF, %x3FFFE-3FFFF, %x4FFFE-4FFFF,
+ * %x5FFFE-5FFFF, %x6FFFE-6FFFF, %x7FFFE-7FFFF, %x8FFFE-8FFFF, %x9FFFE-9FFFF, %xAFFFE-AFFFF,
+ * %xBFFFE-BFFFF, %xCFFFE-CFFFF, %xDFFFE-DFFFF, %xEFFFE-EFFFF, %xFFFFE-FFFFF, %x10FFFE-10FFFF */
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid UTF-8 value 0x%08x", value);
+ yylloc->first_line = -1;
+ return ERROR;
+ }
+ size_str += 4;
+}
+ YY_BREAK
+case 98:
+YY_RULE_SETUP
{ yylval->i = tab_count;
BEGIN _state;
yytext = str;
@@ -1899,121 +2503,186 @@
return STRING;
}
YY_BREAK
-case 98:
-YY_RULE_SETUP
case YY_STATE_EOF(DOUBLEQUOTES):
-{ return ERROR;}
+{ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Unterminated double-quoted string.");
+ yylloc->first_line = -1;
+ return ERROR;
+ }
YY_BREAK
case 99:
-/* rule 99 can match eol */
YY_RULE_SETUP
-{return STRING;}
+{ _state = YY_START;
+ BEGIN SINGLEQUOTES;
+ str = yytext;
+ column = yylloc->first_column;
+ }
YY_BREAK
case 100:
YY_RULE_SETUP
-{return ZERO;}
+{ size_str += yyleng; }
YY_BREAK
case 101:
YY_RULE_SETUP
-{return INTEGER;}
+{ BEGIN _state;
+ yytext = str;
+ yyleng = size_str + 2;
+ yylloc->first_column = column;
+ return STRING;
+ }
+ YY_BREAK
+case YY_STATE_EOF(SINGLEQUOTES):
+{ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Unterminated single-quoted string.");
+ yylloc->first_line = -1;
+ return ERROR;
+ }
YY_BREAK
case 102:
YY_RULE_SETUP
-{return NON_NEGATIVE_INTEGER;}
+{return ZERO;}
YY_BREAK
case 103:
+YY_RULE_SETUP
+{return INTEGER;}
+ YY_BREAK
case 104:
+YY_RULE_SETUP
+{return NON_NEGATIVE_INTEGER;}
+ YY_BREAK
case 105:
case 106:
case 107:
case 108:
case 109:
+case 110:
+case 111:
YY_RULE_SETUP
{return yytext[0];}
YY_BREAK
-case 110:
+case 112:
YY_RULE_SETUP
{return DOUBLEDOT;}
YY_BREAK
-case 111:
-/* rule 111 can match eol */
-case 112:
-/* rule 112 can match eol */
+case 113:
+/* rule 113 can match eol */
+case 114:
+/* rule 114 can match eol */
YY_RULE_SETUP
{ yylloc->last_column = 0; return EOL;}
YY_BREAK
-case 113:
+case 115:
YY_RULE_SETUP
{ return WHITESPACE;}
YY_BREAK
-case 114:
-case 115:
+case 116:
+case 117:
YY_RULE_SETUP
{BEGIN INITIAL; return yytext[0];}
YY_BREAK
-case 116:
+case 118:
YY_RULE_SETUP
{_state = YY_START; BEGIN DOUBLEQUOTES; str = yytext; column = yylloc->first_column; }
YY_BREAK
-case 117:
-/* rule 117 can match eol */
-YY_RULE_SETUP
-{return STRING;}
- YY_BREAK
-case 118:
+case 119:
YY_RULE_SETUP
{_state = YY_START; BEGIN COMMENT2;}
YY_BREAK
-case 119:
+case 120:
YY_RULE_SETUP
{_state = YY_START; BEGIN COMMENT1;}
YY_BREAK
-case 120:
-YY_RULE_SETUP
-{return IDENTIFIER;}
- YY_BREAK
case 121:
YY_RULE_SETUP
-{return IDENTIFIERPREFIX;}
+{return IDENTIFIER;}
YY_BREAK
case 122:
YY_RULE_SETUP
-{return REVISION_DATE;}
+{return IDENTIFIERPREFIX;}
YY_BREAK
case 123:
YY_RULE_SETUP
-{return IDENTIFIER;}
+{return REVISION_DATE;}
YY_BREAK
case 124:
YY_RULE_SETUP
-{return IDENTIFIERPREFIX;}
+{return IDENTIFIER;}
YY_BREAK
case 125:
YY_RULE_SETUP
-{if (yytext[0]=='/') {
- switch(yytext[1]) {
- case '*': _state = YY_START; BEGIN COMMENT1; yyless(2); break;
- case '/': yyless(2); _state = YY_START; BEGIN COMMENT2; break;
- default: return STRINGS;
- }
- } else {return STRINGS;} }
+{return IDENTIFIERPREFIX;}
YY_BREAK
case 126:
-/* rule 126 can match eol */
+YY_RULE_SETUP
+{
+ if (yytext[0] == '/' && yytext[1] == '/') {
+ _state = YY_START;
+ yyless(2);
+ BEGIN COMMENT2;
+ } else if (yytext[0] == '/' && yytext[1] == '*') {
+ _state = YY_START;
+ yyless(2);
+ BEGIN COMMENT1;
+ } else {
+ i = 0;
+ while (i < yyleng) {
+ if (!(yytext[i] & 0x80)) {
+ /* one byte character */
+ ++i;
+ } else if (!(yytext[i] & 0x20)) {
+ /* two bytes character */
+ i += 2;
+ } else if (!(yytext[i] & 0x10)) {
+ /* three bytes character */
+ value = ((uint32_t)(yytext[i] & 0xf) << 12) | ((uint32_t)(yytext[i + 1] & 0x3f) << 6) | (yytext[i + 2] & 0x3f);
+ if (((value & 0xf800) == 0xd800) ||
+ (value >= 0xfdd0 && value <= 0xfdef) ||
+ (value & 0xffe) == 0xffe) {
+ /* exclude surrogate blocks %xD800-DFFF */
+ /* exclude noncharacters %xFDD0-FDEF */
+ /* exclude noncharacters %xFFFE-FFFF */
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid UTF-8 value 0x%08x", value);
+ yylloc->first_line = -1;
+ return ERROR;
+ }
+ i += 3;
+ } else {
+ /* four bytes character */
+ value = ((uint32_t)(yytext[i] & 0x7) << 18) | ((uint32_t)(yytext[i + 1] & 0x3f) << 12) | ((uint32_t)(yytext[i + 2] & 0x3f) << 6) | (yytext[i + 3] & 0x3f);
+ if ((value & 0xffe) == 0xffe) {
+ /* exclude noncharacters %x1FFFE-1FFFF, %x2FFFE-2FFFF, %x3FFFE-3FFFF, %x4FFFE-4FFFF,
+ * %x5FFFE-5FFFF, %x6FFFE-6FFFF, %x7FFFE-7FFFF, %x8FFFE-8FFFF, %x9FFFE-9FFFF, %xAFFFE-AFFFF,
+ * %xBFFFE-BFFFF, %xCFFFE-CFFFF, %xDFFFE-DFFFF, %xEFFFE-EFFFF, %xFFFFE-FFFFF, %x10FFFE-10FFFF */
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid UTF-8 value 0x%08x", value);
+ yylloc->first_line = -1;
+ return ERROR;
+ }
+ i += 4;
+ }
+ }
+ return STRINGS;
+ }
+}
+ YY_BREAK
case 127:
/* rule 127 can match eol */
+case 128:
+/* rule 128 can match eol */
YY_RULE_SETUP
{ yylloc->last_column = 0; return EOL; }
YY_BREAK
-case 128:
+case 129:
YY_RULE_SETUP
{ return WHITESPACE;}
YY_BREAK
-case 129:
-YY_RULE_SETUP
-{ return ERROR;}
- YY_BREAK
case 130:
+/* rule 130 can match eol */
+YY_RULE_SETUP
+{
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid UTF-8 leading byte 0x%02x", yytext[0]);
+ yylloc->first_line = -1;
+ return ERROR;
+}
+ YY_BREAK
+case 131:
YY_RULE_SETUP
ECHO;
YY_BREAK
@@ -2314,7 +2983,7 @@
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 >= 591 )
+ if ( yy_current_state >= 651 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2343,11 +3012,11 @@
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 >= 591 )
+ if ( yy_current_state >= 651 )
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 == 590);
+ yy_is_jam = (yy_current_state == 650);
(void)yyg;
return yy_is_jam ? 0 : yy_current_state;
diff --git a/src/parser_yang_lex.h b/src/parser_yang_lex.h
index 945ea0b..3054231 100644
--- a/src/parser_yang_lex.h
+++ b/src/parser_yang_lex.h
@@ -231,6 +231,7 @@
#define COMMENT2 2
#define PATH 3
#define DOUBLEQUOTES 4
+#define SINGLEQUOTES 5
#endif
@@ -357,6 +358,6 @@
#undef YY_DECL
#endif
-#line 361 "parser_yang_lex.h"
+#line 362 "parser_yang_lex.h"
#undef yyIN_HEADER
#endif /* yyHEADER_H */
diff --git a/src/yang.l b/src/yang.l
index 1231004..4d3f19e 100644
--- a/src/yang.l
+++ b/src/yang.l
@@ -21,25 +21,34 @@
#define YY_USER_ACTION yylloc->first_column = yylloc->last_column +1;\
yylloc->last_column = yylloc->first_column + yyleng - 1;
%}
+
+U [\x80-\xbf]
+U2 [\xc2-\xdf]{U}
+U3 [\xe0][\xa0-\xbf]{U}|[\xe1-\xec]{U}{U}|[\xed][\x80-\x9f]{U}|[\xee-\xef]{U}{U}
+U4 [\xf0][\x90-\xbf]{U}{U}|[\xf1-\xf3]{U}{U}{U}|[\xf4][\x80-\x8f]{U}{U}
+
%x COMMENT1
%x COMMENT2
%x PATH
%x DOUBLEQUOTES
+%x SINGLEQUOTES
+
%%
int tab_count = 0;
int size_str = 0;
int column = 0;
char *str = NULL;
int _state = YY_START;
+ yy_size_t i;
+ uint32_t value;
+
"/*" {_state = YY_START; BEGIN COMMENT1; }
-<COMMENT1>. |
-<COMMENT1>\n
+<COMMENT1,COMMENT2>[\x00-\x09\x0B-\x7f]|{U2}|{U3}|{U4}
+<COMMENT1>\n {yylloc->last_column = 0;}
<COMMENT1>"*/" {BEGIN _state; }
"//" {_state = YY_START; BEGIN COMMENT2;}
-<COMMENT2>.
-<COMMENT2>\n |
-<COMMENT2>\r\n {BEGIN _state; return EOL; }
+<COMMENT2>\n {BEGIN _state; yylloc->last_column = 0; return EOL; }
"anyxml" { return ANYXML_KEYWORD; }
"argument" { return ARGUMENT_KEYWORD; }
"augment" { BEGIN PATH; return AUGMENT_KEYWORD; }
@@ -127,7 +136,34 @@
"+" { return yytext[0];} /* unsolved problem with concatenate string '+' */
"\"" {_state = YY_START; BEGIN DOUBLEQUOTES; str = yytext; column = yylloc->first_column; }
<DOUBLEQUOTES>\t|\\t { tab_count++; size_str += yyleng; }
-<DOUBLEQUOTES>([\n !#-~]|\\\"|\r\n)* { size_str += yyleng; }
+<DOUBLEQUOTES>[\x0D\x20-\x21\x23-\x7f]|{U2}|\\\" { size_str += yyleng; }
+<DOUBLEQUOTES,SINGLEQUOTES>\n {yylloc->last_column = 0; size_str++; }
+<DOUBLEQUOTES,SINGLEQUOTES>{U3} {
+ value = ((uint32_t)(yytext[0] & 0xf) << 12) | ((uint32_t)(yytext[1] & 0x3f) << 6) | (yytext[2] & 0x3f);
+ if (((value & 0xf800) == 0xd800) ||
+ (value >= 0xfdd0 && value <= 0xfdef) ||
+ (value & 0xffe) == 0xffe) {
+ /* exclude surrogate blocks %xD800-DFFF */
+ /* exclude noncharacters %xFDD0-FDEF */
+ /* exclude noncharacters %xFFFE-FFFF */
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid UTF-8 value 0x%08x", value);
+ yylloc->first_line = -1;
+ return ERROR;
+ }
+ size_str += 3;
+}
+<DOUBLEQUOTES,SINGLEQUOTES>{U4} {
+ value = ((uint32_t)(yytext[0] & 0x7) << 18) | ((uint32_t)(yytext[1] & 0x3f) << 12) | ((uint32_t)(yytext[2] & 0x3f) << 6) | (yytext[3] & 0x3f);
+ if ((value & 0xffe) == 0xffe) {
+ /* exclude noncharacters %x1FFFE-1FFFF, %x2FFFE-2FFFF, %x3FFFE-3FFFF, %x4FFFE-4FFFF,
+ * %x5FFFE-5FFFF, %x6FFFE-6FFFF, %x7FFFE-7FFFF, %x8FFFE-8FFFF, %x9FFFE-9FFFF, %xAFFFE-AFFFF,
+ * %xBFFFE-BFFFF, %xCFFFE-CFFFF, %xDFFFE-DFFFF, %xEFFFE-EFFFF, %xFFFFE-FFFFF, %x10FFFE-10FFFF */
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid UTF-8 value 0x%08x", value);
+ yylloc->first_line = -1;
+ return ERROR;
+ }
+ size_str += 4;
+}
<DOUBLEQUOTES>\" { yylval->i = tab_count;
BEGIN _state;
yytext = str;
@@ -135,9 +171,26 @@
yylloc->first_column = column;
return STRING;
}
-<DOUBLEQUOTES>. |
-<DOUBLEQUOTES><<EOF>> { return ERROR;}
-"'"([\n\t -&\(-~]|\r\n)*"'" {return STRING;}
+<DOUBLEQUOTES><<EOF>> { LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Unterminated double-quoted string.");
+ yylloc->first_line = -1;
+ return ERROR;
+ }
+<INITIAL,PATH>"'" { _state = YY_START;
+ BEGIN SINGLEQUOTES;
+ str = yytext;
+ column = yylloc->first_column;
+ }
+<SINGLEQUOTES>[\x09\x0D\x20-\x26\x28-\x7f]|{U2} { size_str += yyleng; }
+<SINGLEQUOTES>"'" { BEGIN _state;
+ yytext = str;
+ yyleng = size_str + 2;
+ yylloc->first_column = column;
+ return STRING;
+ }
+<SINGLEQUOTES><<EOF>> { LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Unterminated single-quoted string.");
+ yylloc->first_line = -1;
+ return ERROR;
+ }
"0" {return ZERO;}
"-"[1-9][0-9]* {return INTEGER;}
[1-9][0-9]* {return NON_NEGATIVE_INTEGER;}
@@ -155,7 +208,6 @@
<PATH>";" |
<PATH>"{" {BEGIN INITIAL; return yytext[0];}
<PATH>"\"" {_state = YY_START; BEGIN DOUBLEQUOTES; str = yytext; column = yylloc->first_column; }
-<PATH>"'"([\n\t -&\(-~]|\r\n)*"'" {return STRING;}
<PATH>"//" {_state = YY_START; BEGIN COMMENT2;}
<PATH>"/*" {_state = YY_START; BEGIN COMMENT1;}
<PATH>[A-Za-z_][-A-Za-z0-9_\.]* {return IDENTIFIER;}
@@ -163,17 +215,63 @@
[0-9]{4}[-][0-9]{2}[-][0-9]{2} {return REVISION_DATE;}
[A-Za-z_][-A-Za-z0-9_\.]* {return IDENTIFIER;}
[A-Za-z_][-A-Za-z0-9_\.]*:[A-Za-z_][-A-Za-z0-9_\.]* {return IDENTIFIERPREFIX;}
-([!#-&\(-:<-\[\]-z|~])+ {if (yytext[0]=='/') {
- switch(yytext[1]) {
- case '*': _state = YY_START; BEGIN COMMENT1; yyless(2); break;
- case '/': yyless(2); _state = YY_START; BEGIN COMMENT2; break;
- default: return STRINGS;
- }
- } else {return STRINGS;} }
+([\x21\x23-\x26\x28-\x3a\x3c-\x7a\x7c\x7e-\x7f]|{U2}|{U3}|{U4})+ {
+ if (yytext[0] == '/' && yytext[1] == '/') {
+ _state = YY_START;
+ yyless(2);
+ BEGIN COMMENT2;
+ } else if (yytext[0] == '/' && yytext[1] == '*') {
+ _state = YY_START;
+ yyless(2);
+ BEGIN COMMENT1;
+ } else {
+ i = 0;
+ while (i < yyleng) {
+ if (!(yytext[i] & 0x80)) {
+ /* one byte character */
+ ++i;
+ } else if (!(yytext[i] & 0x20)) {
+ /* two bytes character */
+ i += 2;
+ } else if (!(yytext[i] & 0x10)) {
+ /* three bytes character */
+ value = ((uint32_t)(yytext[i] & 0xf) << 12) | ((uint32_t)(yytext[i + 1] & 0x3f) << 6) | (yytext[i + 2] & 0x3f);
+ if (((value & 0xf800) == 0xd800) ||
+ (value >= 0xfdd0 && value <= 0xfdef) ||
+ (value & 0xffe) == 0xffe) {
+ /* exclude surrogate blocks %xD800-DFFF */
+ /* exclude noncharacters %xFDD0-FDEF */
+ /* exclude noncharacters %xFFFE-FFFF */
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid UTF-8 value 0x%08x", value);
+ yylloc->first_line = -1;
+ return ERROR;
+ }
+ i += 3;
+ } else {
+ /* four bytes character */
+ value = ((uint32_t)(yytext[i] & 0x7) << 18) | ((uint32_t)(yytext[i + 1] & 0x3f) << 12) | ((uint32_t)(yytext[i + 2] & 0x3f) << 6) | (yytext[i + 3] & 0x3f);
+ if ((value & 0xffe) == 0xffe) {
+ /* exclude noncharacters %x1FFFE-1FFFF, %x2FFFE-2FFFF, %x3FFFE-3FFFF, %x4FFFE-4FFFF,
+ * %x5FFFE-5FFFF, %x6FFFE-6FFFF, %x7FFFE-7FFFF, %x8FFFE-8FFFF, %x9FFFE-9FFFF, %xAFFFE-AFFFF,
+ * %xBFFFE-BFFFF, %xCFFFE-CFFFF, %xDFFFE-DFFFF, %xEFFFE-EFFFF, %xFFFFE-FFFFF, %x10FFFE-10FFFF */
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid UTF-8 value 0x%08x", value);
+ yylloc->first_line = -1;
+ return ERROR;
+ }
+ i += 4;
+ }
+ }
+ return STRINGS;
+ }
+}
\n |
\r\n { yylloc->last_column = 0; return EOL; }
[ \t]+ { return WHITESPACE;}
-. { return ERROR;}
+<COMMENT1,COMMENT2,DOUBLEQUOTES,SINGLEQUOTES,INITIAL,PATH>[\x00-\xff] {
+ LOGVAL(LYE_SPEC, LY_VLOG_NONE, NULL, "Invalid UTF-8 leading byte 0x%02x", yytext[0]);
+ yylloc->first_line = -1;
+ return ERROR;
+}
-%%
\ No newline at end of file
+%%
diff --git a/src/yang.y.in b/src/yang.y.in
index 69eba2f..3df57d6 100644
--- a/src/yang.y.in
+++ b/src/yang.y.in
@@ -4607,6 +4607,7 @@
void yyerror(YYLTYPE *yylloc, void *scanner, ...){
- (void)yylloc; /* unused */
- LOGVAL(LYE_INSTMT, LY_VLOG_NONE, NULL, yyget_text(scanner));
+ if (yylloc->first_line != -1) {
+ LOGVAL(LYE_INSTMT, LY_VLOG_NONE, NULL, yyget_text(scanner));
+ }
}