Index: src/parser/xhpast/__tests__/data/php-array-dereference.expect =================================================================== --- /dev/null +++ src/parser/xhpast/__tests__/data/php-array-dereference.expect @@ -0,0 +1,640 @@ +{ + "tree" : [ + 9000, + 0, + 71, + [ + [ + 9006, + 0, + 70, + [ + [ + 9007, + 0, + 0 + ], + [ + 9004, + 2, + 21, + [ + [ + 9050, + 2, + 21, + [ + [ + 9005 + ], + [ + 9005 + ], + [ + 9013, + 4, + 4 + ], + [ + 9059, + 5, + 6 + ], + [ + 9005 + ], + [ + 9006, + 8, + 21, + [ + [ + 9004, + 10, + 19, + [ + [ + 9027, + 10, + 18, + [ + [ + 9082, + 12, + 18, + [ + [ + 9093, + 13, + 17, + [ + [ + 9094, + 13, + 13, + [ + [ + 9005 + ], + [ + 9086, + 13, + 13 + ] + ] + ], + [ + 9094, + 15, + 15, + [ + [ + 9005 + ], + [ + 9086, + 15, + 15 + ] + ] + ], + [ + 9094, + 17, + 17, + [ + [ + 9005 + ], + [ + 9086, + 17, + 17 + ] + ] + ] + ] + ] + ] + ] + ] + ] + ] + ] + ] + ] + ] + ] + ] + ], + [ + 9004, + 23, + 28, + [ + [ + 9077, + 23, + 27, + [ + [ + 9047, + 23, + 23 + ], + [ + 9081, + 25, + 25 + ], + [ + 9086, + 27, + 27 + ] + ] + ] + ] + ], + [ + 9004, + 30, + 40, + [ + [ + 9077, + 30, + 39, + [ + [ + 9047, + 30, + 30 + ], + [ + 9081, + 32, + 32 + ], + [ + 9100, + 34, + 39, + [ + [ + 9099, + 34, + 36, + [ + [ + 9001, + 34, + 34 + ], + [ + 9095, + 35, + 36 + ] + ] + ], + [ + 9086, + 38, + 38 + ] + ] + ] + ] + ] + ] + ], + [ + 9004, + 42, + 52, + [ + [ + 9077, + 42, + 51, + [ + [ + 9047, + 42, + 42 + ], + [ + 9081, + 44, + 44 + ], + [ + 9100, + 46, + 51, + [ + [ + 9099, + 46, + 48, + [ + [ + 9001, + 46, + 46 + ], + [ + 9095, + 47, + 48 + ] + ] + ], + [ + 9047, + 50, + 50 + ] + ] + ] + ] + ] + ] + ], + [ + 9004, + 54, + 70, + [ + [ + 9015, + 54, + 70, + [ + [ + 9017, + 54, + 70, + [ + [ + 9016, + 56, + 66, + [ + [ + 9099, + 57, + 65, + [ + [ + 9001, + 57, + 57 + ], + [ + 9095, + 58, + 65, + [ + [ + 9100, + 59, + 64, + [ + [ + 9099, + 59, + 61, + [ + [ + 9001, + 59, + 59 + ], + [ + 9095, + 60, + 61 + ] + ] + ], + [ + 9086, + 63, + 63 + ] + ] + ] + ] + ] + ] + ] + ] + ], + [ + 9006, + 68, + 70 + ] + ] + ] + ] + ] + ] + ] + ] + ] + ] + ], + "stream" : [ + [ + 371, + 6 + ], + [ + 375, + 1 + ], + [ + 337, + 8 + ], + [ + 375, + 1 + ], + [ + 309, + 3 + ], + [ + 40, + 1 + ], + [ + 41, + 1 + ], + [ + 375, + 1 + ], + [ + 123, + 1 + ], + [ + 375, + 3 + ], + [ + 339, + 6 + ], + [ + 375, + 1 + ], + [ + 91, + 1 + ], + [ + 307, + 1 + ], + [ + 44, + 1 + ], + [ + 307, + 1 + ], + [ + 44, + 1 + ], + [ + 307, + 1 + ], + [ + 93, + 1 + ], + [ + 59, + 1 + ], + [ + 375, + 1 + ], + [ + 125, + 1 + ], + [ + 375, + 2 + ], + [ + 311, + 2 + ], + [ + 375, + 1 + ], + [ + 61, + 1 + ], + [ + 375, + 1 + ], + [ + 307, + 1 + ], + [ + 59, + 1 + ], + [ + 375, + 1 + ], + [ + 311, + 2 + ], + [ + 375, + 1 + ], + [ + 61, + 1 + ], + [ + 375, + 1 + ], + [ + 309, + 3 + ], + [ + 40, + 1 + ], + [ + 41, + 1 + ], + [ + 91, + 1 + ], + [ + 307, + 1 + ], + [ + 93, + 1 + ], + [ + 59, + 1 + ], + [ + 375, + 2 + ], + [ + 311, + 2 + ], + [ + 375, + 1 + ], + [ + 61, + 1 + ], + [ + 375, + 1 + ], + [ + 309, + 3 + ], + [ + 40, + 1 + ], + [ + 41, + 1 + ], + [ + 91, + 1 + ], + [ + 311, + 2 + ], + [ + 93, + 1 + ], + [ + 59, + 1 + ], + [ + 375, + 2 + ], + [ + 303, + 2 + ], + [ + 375, + 1 + ], + [ + 40, + 1 + ], + [ + 353, + 5 + ], + [ + 40, + 1 + ], + [ + 309, + 3 + ], + [ + 40, + 1 + ], + [ + 41, + 1 + ], + [ + 91, + 1 + ], + [ + 307, + 1 + ], + [ + 93, + 1 + ], + [ + 41, + 1 + ], + [ + 41, + 1 + ], + [ + 375, + 1 + ], + [ + 123, + 1 + ], + [ + 375, + 1 + ], + [ + 125, + 1 + ], + [ + 375, + 2 + ] + ] +} Index: src/parser/xhpast/__tests__/data/php-array-dereference.test =================================================================== --- /dev/null +++ src/parser/xhpast/__tests__/data/php-array-dereference.test @@ -0,0 +1,14 @@ +# pass +<?php + +function foo() { + return [1,2,3]; +} + +$i = 1; +$x = foo()[2]; + +$y = foo()[$i]; + +if (isset(foo()[0])) { } + Index: src/parser/xhpast/bin/xhpast_parse.php =================================================================== --- src/parser/xhpast/bin/xhpast_parse.php +++ src/parser/xhpast/bin/xhpast_parse.php @@ -12,7 +12,7 @@ list($err, $stdout) = exec_manual('%s --version', $bin); if (!$err) { $version = trim($stdout); - if ($version === "xhpast version 5.5.8/1c") { + if ($version === "xhpast version 5.5.8/1d") { $available = true; } } Index: support/xhpast/parser.y =================================================================== --- support/xhpast/parser.y +++ support/xhpast/parser.y @@ -69,7 +69,7 @@ %} -%expect 13 +%expect 5 // 2: PHP's if/else grammar // 7: expr '[' dim_offset ']' -- shift will default to first grammar %name-prefix = "xhpast" @@ -1806,6 +1806,7 @@ $$ = $1; } | scalar +| combined_scalar_offset | combined_scalar | T_PRINT expr { $$ = NNEW(n_UNARY_PREFIX_EXPRESSION); @@ -2301,8 +2302,24 @@ reference_variable ; +array_function_dereference: + array_function_dereference '[' dim_offset ']' { + $$ = NNEW(n_INDEX_ACCESS); + $$->appendChild($1); + $$->appendChild($3); + NMORE($$, $4); + } +| function_call '[' dim_offset ']' { + $$ = NNEW(n_INDEX_ACCESS); + $$->appendChild($1); + $$->appendChild($3); + NMORE($$, $4); + } +; + base_variable_with_function_calls: base_variable +| array_function_dereference | function_call ; @@ -2567,6 +2584,27 @@ } ; +combined_scalar_offset: + combined_scalar '[' dim_offset ']' { + $$ = NNEW(n_INDEX_ACCESS); + $$->appendChild($1); + $$->appendChild($3); + NMORE($$, $4); + } +| combined_scalar_offset '[' dim_offset ']' { + $$ = NNEW(n_INDEX_ACCESS); + $$->appendChild($1); + $$->appendChild($3); + NMORE($$, $4); + } +| T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { + $$ = NNEW(n_INDEX_ACCESS); + $$->appendChild(NTYPE($1, n_STRING_SCALAR)); + $$->appendChild($3); + NMORE($$, $4); + } +; + combined_scalar: T_ARRAY '(' array_pair_list ')' { NTYPE($1, n_ARRAY_LITERAL); @@ -2604,24 +2642,6 @@ } ; -// Fix the "bug" in PHP's grammar where you can't chain the [] operator on a -// function call. -// This introduces some shift/reduce conflicts. We want the shift here to fall -// back to regular PHP grammar. In the case where it's an extension of the PHP -// grammar our code gets picked up. -expr_without_variable: - expr '[' dim_offset ']' { - if (yyextra->idx_expr) { - yyextra->used = true; - } - $$ = NNEW(n_INDEX_ACCESS); - $$->appendChild($1); - $$->appendChild($3); - NMORE($$, $4); - } -; - - %% const char* yytokname(int tok) { Index: support/xhpast/parser.yacc.cpp =================================================================== --- support/xhpast/parser.yacc.cpp +++ support/xhpast/parser.yacc.cpp @@ -574,16 +574,16 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 7883 +#define YYLAST 7807 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 165 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 127 +#define YYNNTS 129 /* YYNRULES -- Number of rules. */ -#define YYNRULES 423 +#define YYNRULES 429 /* YYNRULES -- Number of states. */ -#define YYNSTATES 870 +#define YYNSTATES 885 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -669,22 +669,22 @@ 851, 855, 859, 863, 867, 871, 874, 877, 880, 883, 887, 891, 895, 899, 903, 907, 911, 915, 919, 921, 923, 929, 934, 936, 939, 942, 945, 948, 951, 954, - 957, 960, 963, 965, 967, 969, 972, 974, 984, 995, - 998, 1001, 1006, 1011, 1013, 1014, 1019, 1023, 1028, 1030, - 1033, 1038, 1045, 1051, 1058, 1065, 1072, 1079, 1084, 1086, - 1088, 1092, 1095, 1097, 1101, 1104, 1106, 1108, 1113, 1115, - 1118, 1119, 1122, 1123, 1126, 1130, 1131, 1135, 1137, 1139, + 957, 960, 963, 965, 967, 969, 971, 974, 976, 986, + 997, 1000, 1003, 1008, 1013, 1015, 1016, 1021, 1025, 1030, + 1032, 1035, 1040, 1047, 1053, 1060, 1067, 1074, 1081, 1086, + 1088, 1090, 1094, 1097, 1099, 1103, 1106, 1108, 1110, 1115, + 1117, 1120, 1121, 1124, 1125, 1128, 1132, 1133, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, - 1161, 1163, 1167, 1170, 1173, 1176, 1181, 1185, 1187, 1191, - 1193, 1195, 1197, 1201, 1204, 1206, 1207, 1210, 1211, 1213, - 1219, 1223, 1227, 1229, 1231, 1233, 1235, 1237, 1239, 1245, - 1247, 1250, 1251, 1255, 1259, 1260, 1262, 1265, 1269, 1273, - 1275, 1277, 1279, 1281, 1285, 1288, 1290, 1295, 1300, 1302, - 1304, 1309, 1310, 1312, 1314, 1316, 1321, 1326, 1328, 1330, - 1334, 1336, 1339, 1343, 1345, 1347, 1352, 1353, 1354, 1357, - 1363, 1367, 1371, 1373, 1380, 1385, 1390, 1393, 1398, 1403, - 1406, 1409, 1414, 1417, 1420, 1422, 1426, 1430, 1434, 1439, - 1443, 1447, 1451, 1455 + 1161, 1163, 1165, 1169, 1172, 1175, 1178, 1183, 1187, 1189, + 1193, 1195, 1197, 1199, 1203, 1206, 1208, 1209, 1212, 1213, + 1215, 1221, 1225, 1229, 1231, 1233, 1235, 1237, 1239, 1241, + 1247, 1249, 1252, 1253, 1257, 1261, 1262, 1264, 1267, 1271, + 1275, 1277, 1282, 1287, 1289, 1291, 1293, 1295, 1299, 1302, + 1304, 1309, 1314, 1316, 1318, 1323, 1324, 1326, 1328, 1330, + 1335, 1340, 1342, 1344, 1348, 1350, 1353, 1357, 1359, 1361, + 1366, 1367, 1368, 1371, 1377, 1381, 1385, 1387, 1394, 1399, + 1404, 1407, 1412, 1417, 1420, 1423, 1428, 1431, 1434, 1436, + 1440, 1444, 1448, 1453, 1458, 1463, 1468, 1472, 1476, 1480 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -762,7 +762,7 @@ 13, 256, -1, 75, -1, 75, 13, 256, -1, 237, 8, 73, 13, 256, -1, 102, 73, 13, 256, -1, 238, 8, 262, -1, 262, -1, -1, 240, -1, 240, - 8, 262, -1, 262, -1, 126, 158, 282, 159, 13, + 8, 262, -1, 262, -1, 126, 158, 283, 159, 13, 262, -1, 266, 13, 262, -1, 266, 13, 31, 266, -1, 266, 13, 31, 65, 249, 254, -1, 64, 262, -1, 266, 24, 262, -1, 266, 23, 262, -1, 266, @@ -781,61 +781,64 @@ 50, 262, -1, 262, 33, 262, -1, 262, 32, 262, -1, 262, 35, 262, -1, 262, 34, 262, -1, 262, 36, 262, -1, 262, 39, 262, -1, 262, 37, 262, - -1, 262, 38, 262, -1, 262, 49, 249, -1, 288, - -1, 290, -1, 262, 25, 262, 26, 262, -1, 262, - 25, 26, 262, -1, 286, -1, 60, 262, -1, 59, + -1, 262, 38, 262, -1, 262, 49, 249, -1, 289, + -1, 292, -1, 262, 25, 262, 26, 262, -1, 262, + 25, 26, 262, -1, 287, -1, 60, 262, -1, 59, 262, -1, 58, 262, -1, 55, 262, -1, 54, 262, -1, 53, 262, -1, 52, 262, -1, 66, 253, -1, - 51, 262, -1, 82, -1, 258, -1, 289, -1, 12, - 262, -1, 156, -1, 243, 185, 158, 208, 159, 244, - 161, 173, 162, -1, 114, 243, 185, 158, 208, 159, - 244, 161, 173, 162, -1, 156, 241, -1, 156, 266, - -1, 156, 262, 125, 241, -1, 156, 262, 125, 266, - -1, 101, -1, -1, 107, 158, 245, 159, -1, 245, - 8, 75, -1, 245, 8, 31, 75, -1, 75, -1, - 31, 75, -1, 168, 158, 211, 159, -1, 148, 151, - 168, 158, 211, 159, -1, 151, 168, 158, 211, 159, - -1, 247, 145, 73, 158, 211, 159, -1, 272, 145, - 73, 158, 211, 159, -1, 272, 145, 270, 158, 211, - 159, -1, 247, 145, 270, 158, 211, 159, -1, 270, - 158, 211, 159, -1, 114, -1, 168, -1, 148, 151, - 168, -1, 151, 168, -1, 168, -1, 148, 151, 168, - -1, 151, 168, -1, 247, -1, 250, -1, 274, 124, - 278, 251, -1, 274, -1, 251, 252, -1, -1, 124, - 278, -1, -1, 158, 159, -1, 158, 262, 159, -1, - -1, 158, 211, 159, -1, 71, -1, 72, -1, 81, - -1, 131, -1, 132, -1, 150, -1, 128, -1, 129, - -1, 155, -1, 130, -1, 149, -1, 142, -1, 255, - -1, 168, -1, 148, 151, 168, -1, 151, 168, -1, - 42, 256, -1, 43, 256, -1, 127, 158, 259, 159, - -1, 63, 259, 164, -1, 257, -1, 247, 145, 73, - -1, 74, -1, 291, -1, 168, -1, 148, 151, 168, - -1, 151, 168, -1, 255, -1, -1, 261, 260, -1, - -1, 8, -1, 261, 8, 256, 125, 256, -1, 261, - 8, 256, -1, 256, 125, 256, -1, 256, -1, 263, - -1, 241, -1, 266, -1, 266, -1, 266, -1, 273, - 124, 278, 269, 267, -1, 273, -1, 267, 268, -1, - -1, 124, 278, 269, -1, 158, 211, 159, -1, -1, - 275, -1, 281, 275, -1, 247, 145, 270, -1, 272, - 145, 270, -1, 275, -1, 274, -1, 246, -1, 275, - -1, 158, 290, 159, -1, 281, 275, -1, 271, -1, - 275, 63, 277, 164, -1, 275, 161, 262, 162, -1, - 276, -1, 75, -1, 163, 161, 262, 162, -1, -1, - 262, -1, 279, -1, 270, -1, 279, 63, 277, 164, - -1, 279, 161, 262, 162, -1, 280, -1, 73, -1, - 161, 262, 162, -1, 163, -1, 281, 163, -1, 282, - 8, 283, -1, 283, -1, 266, -1, 126, 158, 282, - 159, -1, -1, -1, 285, 260, -1, 285, 8, 262, - 125, 262, -1, 285, 8, 262, -1, 262, 125, 262, - -1, 262, -1, 285, 8, 262, 125, 31, 264, -1, - 285, 8, 31, 264, -1, 262, 125, 31, 264, -1, - 31, 264, -1, 117, 158, 287, 159, -1, 118, 158, - 266, 159, -1, 7, 262, -1, 6, 262, -1, 5, - 158, 262, 159, -1, 4, 262, -1, 3, 262, -1, - 266, -1, 287, 8, 266, -1, 158, 262, 159, -1, - 158, 242, 159, -1, 127, 158, 284, 159, -1, 63, - 284, 164, -1, 65, 249, 254, -1, 247, 145, 73, - -1, 272, 145, 73, -1, 262, 63, 277, 164, -1 + 51, 262, -1, 82, -1, 258, -1, 290, -1, 291, + -1, 12, 262, -1, 156, -1, 243, 185, 158, 208, + 159, 244, 161, 173, 162, -1, 114, 243, 185, 158, + 208, 159, 244, 161, 173, 162, -1, 156, 241, -1, + 156, 266, -1, 156, 262, 125, 241, -1, 156, 262, + 125, 266, -1, 101, -1, -1, 107, 158, 245, 159, + -1, 245, 8, 75, -1, 245, 8, 31, 75, -1, + 75, -1, 31, 75, -1, 168, 158, 211, 159, -1, + 148, 151, 168, 158, 211, 159, -1, 151, 168, 158, + 211, 159, -1, 247, 145, 73, 158, 211, 159, -1, + 272, 145, 73, 158, 211, 159, -1, 272, 145, 270, + 158, 211, 159, -1, 247, 145, 270, 158, 211, 159, + -1, 270, 158, 211, 159, -1, 114, -1, 168, -1, + 148, 151, 168, -1, 151, 168, -1, 168, -1, 148, + 151, 168, -1, 151, 168, -1, 247, -1, 250, -1, + 275, 124, 279, 251, -1, 275, -1, 251, 252, -1, + -1, 124, 279, -1, -1, 158, 159, -1, 158, 262, + 159, -1, -1, 158, 211, 159, -1, 71, -1, 72, + -1, 81, -1, 131, -1, 132, -1, 150, -1, 128, + -1, 129, -1, 155, -1, 130, -1, 149, -1, 142, + -1, 255, -1, 168, -1, 148, 151, 168, -1, 151, + 168, -1, 42, 256, -1, 43, 256, -1, 127, 158, + 259, 159, -1, 63, 259, 164, -1, 257, -1, 247, + 145, 73, -1, 74, -1, 293, -1, 168, -1, 148, + 151, 168, -1, 151, 168, -1, 255, -1, -1, 261, + 260, -1, -1, 8, -1, 261, 8, 256, 125, 256, + -1, 261, 8, 256, -1, 256, 125, 256, -1, 256, + -1, 263, -1, 241, -1, 266, -1, 266, -1, 266, + -1, 274, 124, 279, 269, 267, -1, 274, -1, 267, + 268, -1, -1, 124, 279, 269, -1, 158, 211, 159, + -1, -1, 276, -1, 282, 276, -1, 247, 145, 270, + -1, 272, 145, 270, -1, 276, -1, 273, 63, 278, + 164, -1, 246, 63, 278, 164, -1, 275, -1, 273, + -1, 246, -1, 276, -1, 158, 292, 159, -1, 282, + 276, -1, 271, -1, 276, 63, 278, 164, -1, 276, + 161, 262, 162, -1, 277, -1, 75, -1, 163, 161, + 262, 162, -1, -1, 262, -1, 280, -1, 270, -1, + 280, 63, 278, 164, -1, 280, 161, 262, 162, -1, + 281, -1, 73, -1, 161, 262, 162, -1, 163, -1, + 282, 163, -1, 283, 8, 284, -1, 284, -1, 266, + -1, 126, 158, 283, 159, -1, -1, -1, 286, 260, + -1, 286, 8, 262, 125, 262, -1, 286, 8, 262, + -1, 262, 125, 262, -1, 262, -1, 286, 8, 262, + 125, 31, 264, -1, 286, 8, 31, 264, -1, 262, + 125, 31, 264, -1, 31, 264, -1, 117, 158, 288, + 159, -1, 118, 158, 266, 159, -1, 7, 262, -1, + 6, 262, -1, 5, 158, 262, 159, -1, 4, 262, + -1, 3, 262, -1, 266, -1, 288, 8, 266, -1, + 158, 262, 159, -1, 158, 242, 159, -1, 291, 63, + 278, 164, -1, 290, 63, 278, 164, -1, 81, 63, + 278, 164, -1, 127, 158, 285, 159, -1, 63, 285, + 164, -1, 65, 249, 254, -1, 247, 145, 73, -1, + 272, 145, 73, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -868,22 +871,22 @@ 1640, 1646, 1652, 1658, 1664, 1670, 1675, 1680, 1685, 1690, 1696, 1702, 1708, 1714, 1720, 1726, 1732, 1738, 1744, 1745, 1746, 1752, 1758, 1759, 1764, 1769, 1774, 1779, 1784, 1789, - 1794, 1799, 1804, 1808, 1809, 1810, 1815, 1821, 1832, 1852, - 1858, 1864, 1870, 1879, 1883, 1886, 1894, 1897, 1902, 1906, - 1915, 1920, 1926, 1932, 1940, 1948, 1956, 1964, 1972, 1975, - 1978, 1982, 1989, 1992, 1996, 2003, 2004, 2008, 2017, 2021, - 2024, 2030, 2036, 2039, 2043, 2051, 2054, 2060, 2063, 2066, - 2069, 2072, 2075, 2078, 2081, 2084, 2087, 2090, 2093, 2099, - 2100, 2101, 2105, 2109, 2114, 2119, 2125, 2131, 2135, 2143, - 2144, 2145, 2146, 2149, 2152, 2156, 2159, 2165, 2168, 2172, - 2179, 2186, 2193, 2203, 2204, 2208, 2212, 2216, 2220, 2240, - 2244, 2247, 2253, 2263, 2266, 2272, 2273, 2288, 2293, 2301, - 2305, 2306, 2310, 2311, 2314, 2326, 2330, 2336, 2342, 2346, - 2349, 2357, 2360, 2366, 2367, 2371, 2377, 2383, 2387, 2391, - 2397, 2400, 2415, 2418, 2425, 2426, 2431, 2437, 2440, 2446, - 2453, 2460, 2467, 2474, 2481, 2488, 2495, 2505, 2515, 2525, - 2528, 2531, 2541, 2544, 2550, 2554, 2560, 2565, 2571, 2577, - 2586, 2595, 2600, 2613 + 1794, 1799, 1804, 1808, 1809, 1810, 1811, 1816, 1822, 1833, + 1853, 1859, 1865, 1871, 1880, 1884, 1887, 1895, 1898, 1903, + 1907, 1916, 1921, 1927, 1933, 1941, 1949, 1957, 1965, 1973, + 1976, 1979, 1983, 1990, 1993, 1997, 2004, 2005, 2009, 2018, + 2022, 2025, 2031, 2037, 2040, 2044, 2052, 2055, 2061, 2064, + 2067, 2070, 2073, 2076, 2079, 2082, 2085, 2088, 2091, 2094, + 2100, 2101, 2102, 2106, 2110, 2115, 2120, 2126, 2132, 2136, + 2144, 2145, 2146, 2147, 2150, 2153, 2157, 2160, 2166, 2169, + 2173, 2180, 2187, 2194, 2204, 2205, 2209, 2213, 2217, 2221, + 2241, 2245, 2248, 2254, 2264, 2267, 2273, 2274, 2289, 2294, + 2302, 2306, 2313, 2323, 2324, 2325, 2329, 2330, 2333, 2345, + 2349, 2355, 2361, 2365, 2368, 2376, 2379, 2385, 2386, 2390, + 2396, 2402, 2406, 2410, 2416, 2419, 2434, 2437, 2444, 2445, + 2450, 2456, 2459, 2465, 2472, 2479, 2486, 2493, 2500, 2507, + 2514, 2524, 2534, 2544, 2547, 2550, 2560, 2563, 2569, 2573, + 2579, 2584, 2590, 2597, 2604, 2614, 2620, 2629, 2638, 2643 }; #endif @@ -962,14 +965,15 @@ "non_empty_static_array_pair_list", "expr", "r_variable", "w_variable", "rw_variable", "variable", "variable_properties", "variable_property", "method_or_not", "variable_without_objects", "static_member", - "variable_class_name", "base_variable_with_function_calls", - "base_variable", "reference_variable", "compound_variable", "dim_offset", + "variable_class_name", "array_function_dereference", + "base_variable_with_function_calls", "base_variable", + "reference_variable", "compound_variable", "dim_offset", "object_property", "object_dim_list", "variable_name", "simple_indirect_reference", "assignment_list", "assignment_list_element", "array_pair_list", "non_empty_array_pair_list", "internal_functions_in_yacc", - "isset_variables", "parenthesis_expr", "combined_scalar", "new_expr", - "class_constant", YY_NULL + "isset_variables", "parenthesis_expr", "combined_scalar_offset", + "combined_scalar", "new_expr", "class_constant", YY_NULL }; #endif @@ -1028,22 +1032,22 @@ 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, - 242, 242, 242, 243, 244, 244, 245, 245, 245, 245, - 246, 246, 246, 246, 246, 246, 246, 246, 247, 247, - 247, 247, 248, 248, 248, 249, 249, 250, 250, 251, - 251, 252, 253, 253, 253, 254, 254, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 257, 258, - 258, 258, 258, 258, 258, 259, 259, 260, 260, 261, - 261, 261, 261, 262, 262, 263, 264, 265, 266, 266, - 267, 267, 268, 269, 269, 270, 270, 271, 271, 272, - 273, 273, 274, 274, 274, 274, 275, 275, 275, 276, - 276, 277, 277, 278, 278, 279, 279, 279, 280, 280, - 281, 281, 282, 282, 283, 283, 283, 284, 284, 285, - 285, 285, 285, 285, 285, 285, 285, 286, 286, 286, - 286, 286, 286, 286, 287, 287, 288, 288, 289, 289, - 290, 291, 291, 241 + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 242, 242, 242, 242, 243, 244, 244, 245, 245, 245, + 245, 246, 246, 246, 246, 246, 246, 246, 246, 247, + 247, 247, 247, 248, 248, 248, 249, 249, 250, 250, + 251, 251, 252, 253, 253, 253, 254, 254, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 257, + 258, 258, 258, 258, 258, 258, 259, 259, 260, 260, + 261, 261, 261, 261, 262, 262, 263, 264, 265, 266, + 266, 267, 267, 268, 269, 269, 270, 270, 271, 271, + 272, 273, 273, 274, 274, 274, 275, 275, 275, 275, + 276, 276, 276, 277, 277, 278, 278, 279, 279, 280, + 280, 280, 281, 281, 282, 282, 283, 283, 284, 284, + 284, 285, 285, 286, 286, 286, 286, 286, 286, 286, + 286, 287, 287, 287, 287, 287, 287, 287, 288, 288, + 289, 289, 290, 290, 290, 291, 291, 292, 293, 293 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1076,22 +1080,22 @@ 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 5, 4, 1, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 1, 1, 1, 2, 1, 9, 10, 2, - 2, 4, 4, 1, 0, 4, 3, 4, 1, 2, - 4, 6, 5, 6, 6, 6, 6, 4, 1, 1, - 3, 2, 1, 3, 2, 1, 1, 4, 1, 2, - 0, 2, 0, 2, 3, 0, 3, 1, 1, 1, + 2, 2, 1, 1, 1, 1, 2, 1, 9, 10, + 2, 2, 4, 4, 1, 0, 4, 3, 4, 1, + 2, 4, 6, 5, 6, 6, 6, 6, 4, 1, + 1, 3, 2, 1, 3, 2, 1, 1, 4, 1, + 2, 0, 2, 0, 2, 3, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 2, 2, 2, 4, 3, 1, 3, 1, - 1, 1, 3, 2, 1, 0, 2, 0, 1, 5, - 3, 3, 1, 1, 1, 1, 1, 1, 5, 1, - 2, 0, 3, 3, 0, 1, 2, 3, 3, 1, - 1, 1, 1, 3, 2, 1, 4, 4, 1, 1, - 4, 0, 1, 1, 1, 4, 4, 1, 1, 3, - 1, 2, 3, 1, 1, 4, 0, 0, 2, 5, - 3, 3, 1, 6, 4, 4, 2, 4, 4, 2, - 2, 4, 2, 2, 1, 3, 3, 3, 4, 3, - 3, 3, 3, 4 + 1, 1, 3, 2, 2, 2, 4, 3, 1, 3, + 1, 1, 1, 3, 2, 1, 0, 2, 0, 1, + 5, 3, 3, 1, 1, 1, 1, 1, 1, 5, + 1, 2, 0, 3, 3, 0, 1, 2, 3, 3, + 1, 4, 4, 1, 1, 1, 1, 3, 2, 1, + 4, 4, 1, 1, 4, 0, 1, 1, 1, 4, + 4, 1, 1, 3, 1, 2, 3, 1, 1, 4, + 0, 0, 2, 5, 3, 3, 1, 6, 4, 4, + 2, 4, 4, 2, 2, 4, 2, 2, 1, 3, + 3, 3, 4, 4, 4, 4, 3, 3, 3, 3 }; /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. @@ -1101,414 +1105,417 @@ { 4, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 397, 0, 0, 312, 0, 317, - 318, 5, 339, 379, 52, 319, 272, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 0, 0, 0, - 0, 80, 86, 0, 0, 323, 324, 326, 320, 321, - 32, 33, 34, 328, 0, 327, 322, 0, 83, 325, - 276, 0, 59, 25, 390, 341, 3, 0, 7, 30, - 8, 9, 73, 74, 0, 0, 354, 0, 75, 371, - 0, 344, 273, 0, 353, 0, 355, 0, 375, 0, - 359, 370, 372, 378, 0, 262, 258, 274, 259, 340, - 5, 298, 0, 276, 75, 413, 412, 0, 410, 409, - 275, 245, 246, 247, 248, 271, 269, 268, 267, 266, - 265, 264, 263, 298, 0, 0, 0, 299, 0, 228, - 357, 0, 226, 0, 402, 0, 347, 213, 0, 0, - 299, 305, 315, 306, 0, 308, 372, 0, 0, 270, - 0, 31, 0, 204, 0, 0, 205, 0, 0, 0, - 42, 0, 44, 0, 0, 0, 46, 354, 0, 355, - 25, 0, 0, 18, 0, 17, 148, 0, 0, 147, - 82, 81, 153, 0, 75, 0, 0, 0, 0, 396, - 397, 0, 4, 0, 343, 354, 0, 355, 0, 0, - 259, 0, 0, 0, 139, 0, 15, 84, 87, 54, - 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 401, 0, 0, 313, 0, 318, + 319, 5, 340, 383, 52, 320, 272, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 0, + 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, + 0, 80, 86, 0, 0, 324, 325, 327, 321, 322, + 32, 33, 34, 329, 0, 328, 323, 0, 83, 326, + 277, 0, 59, 25, 394, 342, 3, 0, 7, 30, + 8, 9, 73, 74, 0, 0, 355, 0, 75, 375, + 0, 345, 273, 0, 354, 0, 356, 0, 379, 0, + 374, 360, 373, 376, 382, 0, 262, 258, 274, 275, + 259, 341, 5, 299, 0, 277, 75, 417, 416, 0, + 414, 413, 276, 245, 246, 247, 248, 271, 269, 268, + 267, 266, 265, 264, 263, 299, 0, 0, 0, 300, + 0, 228, 358, 0, 226, 0, 406, 0, 348, 213, + 0, 0, 300, 306, 316, 307, 0, 309, 376, 0, + 0, 270, 0, 31, 385, 0, 204, 0, 0, 205, + 0, 0, 0, 42, 0, 44, 0, 0, 0, 46, + 355, 0, 356, 25, 0, 0, 18, 0, 17, 148, + 0, 0, 147, 82, 81, 153, 0, 75, 0, 0, + 0, 0, 400, 401, 0, 4, 0, 344, 355, 0, + 356, 0, 0, 259, 0, 0, 0, 139, 0, 15, + 84, 87, 54, 76, 0, 385, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 53, 227, 225, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 139, 0, 0, 381, 0, - 391, 374, 0, 0, 0, 301, 0, 0, 0, 406, - 356, 0, 419, 348, 398, 0, 301, 0, 139, 420, - 0, 0, 374, 313, 0, 0, 0, 51, 0, 0, - 0, 206, 208, 354, 355, 0, 0, 0, 43, 45, - 62, 0, 47, 48, 0, 61, 20, 0, 0, 14, - 0, 149, 355, 0, 49, 0, 0, 50, 0, 0, - 70, 72, 414, 0, 0, 0, 0, 394, 0, 393, - 0, 342, 0, 11, 4, 139, 0, 417, 416, 373, - 0, 35, 24, 26, 27, 28, 0, 6, 0, 0, - 138, 354, 355, 0, 0, 89, 0, 0, 0, 134, - 421, 367, 365, 0, 231, 233, 232, 0, 0, 229, - 230, 234, 236, 235, 250, 249, 252, 251, 253, 255, - 256, 254, 244, 243, 238, 239, 237, 240, 241, 242, - 257, 382, 0, 0, 210, 224, 223, 222, 221, 220, - 219, 218, 217, 216, 215, 214, 0, 422, 368, 388, - 0, 384, 364, 383, 387, 0, 0, 411, 300, 0, - 0, 0, 401, 0, 400, 300, 367, 0, 368, 310, - 314, 0, 203, 0, 0, 205, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 345, 0, 0, 0, 330, - 0, 329, 23, 337, 0, 0, 19, 16, 0, 146, - 154, 151, 134, 0, 0, 0, 407, 408, 10, 396, - 396, 0, 418, 139, 13, 0, 0, 354, 355, 0, - 380, 142, 290, 0, 0, 0, 0, 302, 85, 0, - 0, 88, 91, 156, 134, 136, 137, 0, 124, 0, - 135, 139, 139, 366, 261, 0, 423, 0, 211, 297, - 139, 139, 0, 139, 361, 381, 0, 376, 377, 405, - 404, 0, 316, 307, 25, 116, 0, 25, 114, 38, - 0, 207, 93, 0, 93, 95, 103, 0, 25, 101, - 58, 109, 109, 41, 333, 334, 352, 0, 347, 345, - 0, 332, 0, 0, 21, 150, 0, 0, 71, 55, - 415, 0, 392, 0, 0, 12, 292, 0, 0, 354, - 355, 22, 0, 304, 90, 156, 0, 187, 0, 284, - 134, 0, 126, 0, 0, 260, 315, 0, 0, 389, - 0, 358, 0, 0, 0, 399, 0, 309, 118, 120, - 0, 0, 205, 0, 0, 96, 0, 0, 0, 109, - 0, 109, 0, 0, 336, 348, 346, 0, 331, 338, - 0, 152, 284, 395, 209, 291, 29, 145, 303, 187, - 92, 0, 0, 191, 192, 193, 196, 195, 194, 186, - 79, 155, 159, 0, 0, 185, 189, 0, 0, 0, - 0, 0, 127, 0, 293, 296, 212, 294, 295, 363, - 0, 360, 385, 386, 403, 311, 122, 0, 0, 36, - 39, 0, 0, 94, 0, 0, 104, 0, 0, 0, - 0, 0, 0, 105, 351, 350, 335, 0, 0, 78, - 0, 0, 163, 199, 0, 160, 190, 0, 158, 25, - 0, 25, 0, 130, 0, 129, 364, 0, 0, 0, - 0, 121, 115, 0, 25, 99, 57, 56, 102, 0, - 107, 0, 112, 113, 25, 106, 0, 0, 25, 0, - 0, 165, 167, 162, 0, 0, 157, 75, 0, 0, - 0, 288, 0, 0, 131, 0, 128, 362, 0, 25, - 0, 0, 25, 97, 40, 0, 108, 25, 111, 349, - 0, 0, 202, 164, 5, 0, 168, 169, 0, 0, - 177, 0, 0, 200, 197, 0, 0, 77, 289, 0, - 285, 277, 0, 133, 0, 123, 37, 0, 0, 0, - 110, 25, 278, 166, 170, 171, 181, 0, 172, 0, - 0, 0, 201, 0, 286, 132, 0, 117, 0, 100, - 0, 0, 180, 173, 174, 178, 198, 134, 287, 25, - 98, 64, 179, 0, 0, 119, 0, 65, 63, 67, - 175, 0, 0, 0, 60, 68, 183, 25, 161, 0, - 25, 0, 0, 0, 184, 0, 66, 25, 0, 69 + 0, 0, 0, 53, 227, 225, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, + 385, 0, 385, 0, 395, 378, 385, 385, 0, 0, + 0, 302, 0, 0, 0, 410, 357, 0, 426, 349, + 402, 0, 302, 0, 139, 427, 0, 0, 378, 314, + 0, 0, 386, 0, 0, 51, 0, 0, 0, 206, + 208, 355, 356, 0, 0, 0, 43, 45, 62, 0, + 47, 48, 0, 61, 20, 0, 0, 14, 0, 149, + 356, 0, 49, 0, 0, 50, 0, 0, 70, 72, + 418, 0, 0, 0, 0, 398, 0, 397, 0, 343, + 0, 11, 4, 139, 0, 421, 420, 377, 0, 35, + 24, 26, 27, 28, 0, 6, 0, 0, 138, 355, + 356, 0, 0, 89, 0, 0, 0, 134, 0, 428, + 368, 366, 0, 231, 233, 232, 0, 0, 229, 230, + 234, 236, 235, 250, 249, 252, 251, 253, 255, 256, + 254, 244, 243, 238, 239, 237, 240, 241, 242, 257, + 0, 210, 224, 223, 222, 221, 220, 219, 218, 217, + 216, 215, 214, 0, 429, 369, 0, 392, 0, 388, + 365, 387, 391, 0, 0, 0, 0, 415, 301, 0, + 0, 0, 405, 0, 404, 301, 368, 0, 369, 311, + 315, 0, 424, 203, 0, 0, 205, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 346, 320, 0, 0, + 0, 331, 0, 330, 23, 338, 0, 0, 19, 16, + 0, 146, 154, 151, 134, 0, 0, 0, 411, 412, + 10, 400, 400, 0, 425, 139, 13, 0, 0, 355, + 356, 0, 384, 142, 291, 0, 0, 0, 0, 303, + 85, 0, 0, 88, 91, 156, 134, 136, 137, 0, + 124, 0, 135, 372, 139, 139, 367, 261, 0, 0, + 211, 298, 139, 139, 371, 0, 139, 362, 385, 0, + 380, 381, 423, 422, 409, 408, 0, 317, 308, 25, + 116, 0, 25, 114, 38, 0, 207, 93, 0, 93, + 95, 103, 0, 25, 101, 58, 109, 109, 41, 334, + 335, 353, 0, 348, 346, 0, 333, 0, 0, 21, + 150, 0, 0, 71, 55, 419, 0, 396, 0, 0, + 12, 293, 0, 0, 355, 356, 22, 0, 305, 90, + 156, 0, 187, 0, 285, 134, 0, 126, 0, 0, + 260, 316, 0, 0, 393, 0, 359, 0, 0, 0, + 403, 0, 310, 118, 120, 0, 0, 205, 0, 0, + 96, 0, 0, 0, 109, 0, 109, 0, 0, 337, + 349, 347, 0, 332, 339, 0, 152, 285, 399, 209, + 292, 29, 145, 304, 187, 92, 0, 0, 191, 192, + 193, 196, 195, 194, 186, 79, 155, 159, 0, 0, + 185, 189, 0, 0, 0, 0, 0, 127, 0, 294, + 297, 212, 295, 296, 364, 0, 361, 389, 390, 407, + 312, 122, 0, 0, 36, 39, 0, 0, 94, 0, + 0, 104, 0, 0, 0, 0, 0, 0, 105, 352, + 351, 336, 0, 0, 78, 0, 0, 163, 199, 0, + 160, 190, 0, 158, 25, 0, 25, 0, 130, 0, + 129, 365, 0, 0, 0, 0, 121, 115, 0, 25, + 99, 57, 56, 102, 0, 107, 0, 112, 113, 25, + 106, 0, 0, 25, 0, 0, 165, 167, 162, 0, + 0, 157, 75, 0, 0, 0, 289, 0, 0, 131, + 0, 128, 363, 0, 25, 0, 0, 25, 97, 40, + 0, 108, 25, 111, 350, 0, 0, 202, 164, 5, + 0, 168, 169, 0, 0, 177, 0, 0, 200, 197, + 0, 0, 77, 290, 0, 286, 278, 0, 133, 0, + 123, 37, 0, 0, 0, 110, 25, 279, 166, 170, + 171, 181, 0, 172, 0, 0, 0, 201, 0, 287, + 132, 0, 117, 0, 100, 0, 0, 180, 173, 174, + 178, 198, 134, 288, 25, 98, 64, 179, 0, 0, + 119, 0, 65, 63, 67, 175, 0, 0, 0, 60, + 68, 183, 25, 161, 0, 25, 0, 0, 0, 184, + 0, 66, 25, 0, 69 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 2, 85, 86, 194, 195, 87, 221, 362, - 363, 89, 847, 854, 848, 849, 339, 340, 364, 365, - 231, 92, 93, 94, 375, 95, 377, 510, 511, 624, - 554, 774, 736, 560, 316, 563, 630, 744, 549, 619, - 686, 689, 729, 517, 518, 519, 369, 370, 198, 199, - 203, 597, 661, 757, 662, 711, 753, 785, 786, 787, - 788, 833, 789, 790, 791, 831, 858, 663, 664, 665, - 666, 714, 667, 172, 310, 311, 96, 97, 124, 670, - 762, 99, 100, 520, 162, 163, 543, 617, 169, 299, - 101, 566, 473, 102, 567, 294, 568, 103, 104, 289, - 105, 106, 611, 681, 534, 107, 108, 109, 110, 111, - 112, 113, 412, 432, 433, 434, 114, 348, 349, 155, - 156, 115, 343, 116, 117, 118, 119 + -1, 1, 2, 85, 86, 197, 198, 87, 224, 370, + 371, 89, 862, 869, 863, 864, 347, 348, 372, 373, + 234, 92, 93, 94, 383, 95, 385, 522, 523, 639, + 569, 789, 751, 575, 324, 578, 645, 759, 564, 634, + 701, 704, 744, 529, 530, 531, 377, 378, 201, 202, + 206, 612, 676, 772, 677, 726, 768, 800, 801, 802, + 803, 848, 804, 805, 806, 846, 873, 678, 679, 680, + 681, 729, 682, 175, 318, 319, 96, 97, 126, 685, + 777, 99, 100, 532, 164, 165, 558, 632, 171, 305, + 101, 581, 485, 102, 582, 300, 583, 103, 104, 295, + 105, 106, 626, 696, 547, 107, 108, 109, 110, 111, + 112, 113, 114, 313, 440, 441, 442, 115, 356, 357, + 157, 158, 116, 351, 117, 118, 119, 120, 121 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -623 +#define YYPACT_NINF -666 static const yytype_int16 yypact[] = { - -623, 70, 1927, -623, 6439, 6439, -83, 6439, 6439, 6439, - 6439, 6439, 6439, 6439, 6439, 6439, 6439, 6439, 6439, 6439, - 6439, 6439, 276, 276, 4867, 6439, 367, -71, -69, -623, - -623, 65, -623, -623, -623, -623, -623, 6439, 4727, -57, - -38, -1, 35, 37, 4998, 5129, 68, -623, 100, 5260, - 55, 6439, 72, -25, 118, 130, -13, 144, 151, 155, - 167, -623, -623, 169, 179, -623, -623, -623, -623, -623, - -623, -623, -623, -623, 7, -623, -623, 268, -623, -623, - 6439, 6570, -623, -623, 182, -84, -623, 11, -623, -623, - -623, -623, -623, -623, 275, 279, -623, 195, 326, -623, - 223, -623, -623, 1101, -623, 184, 1372, 230, -623, 244, - 271, -623, -12, -623, -4, -623, -623, -623, -623, -623, - -623, 290, 247, -623, 326, 7633, 7633, 6439, 7633, 7633, - 7747, 337, 337, -3, 337, 337, 337, 337, 337, 337, - 337, 337, 337, -623, 251, 268, 339, -73, 261, -623, - -623, 262, -623, 276, 7435, 248, 405, -623, 265, 268, - 269, 272, 264, -623, 274, 299, -27, -4, 5391, -623, - 6439, -623, 14, 7633, 343, 6439, 6439, 6439, 356, 6439, - -623, 1605, -623, 6933, 273, 418, -623, 289, 7633, 212, - -623, 6990, 268, -52, 15, -623, -623, 149, 16, -623, - -623, -623, 437, 20, 326, 276, 276, 276, 292, 267, - 4867, 268, -623, -95, 173, 105, 7476, 854, 296, 7031, - 298, 2067, 6439, 389, 5522, 394, -623, 348, 350, -623, - -623, -15, 88, 6439, 6439, 6439, 5653, 6439, 6439, 6439, - 6439, 6439, 6439, 6439, 6439, 6439, 6439, 6439, 6439, 6439, - 6439, 6439, 6439, 6439, 6439, 6439, 6439, 6439, 367, 6439, - -623, -623, -623, 5784, 6439, 6439, 6439, 6439, 6439, 6439, - 6439, 6439, 6439, 6439, 6439, 5522, 89, 42, 6439, 6439, - 182, -14, 315, 7072, 268, -72, 298, 123, 124, -623, - -623, 5915, -623, 6046, -623, 268, 269, 9, 5522, -623, - 9, 42, -8, -623, 7128, 7169, 6439, -623, 316, 7210, - 319, 467, 7633, 383, 1397, 469, 18, 7261, -623, -623, - -623, 1142, -623, -623, 2207, -623, -49, 410, 72, -623, - 6439, -623, -623, -25, -623, 1142, 411, -623, 329, 25, - -623, -623, -623, 26, 332, 328, 340, -623, 27, -623, - 336, 175, 1619, -623, -623, 5522, 6439, -623, -623, -623, - 342, -623, -623, -623, -623, -623, 1437, -623, 276, 352, - 484, 29, 90, 489, 69, 384, 69, 351, 355, 246, - 358, 359, -8, -4, 7673, 7710, 7747, 6439, 7577, 7820, - 1504, 4920, 5051, 5182, 5313, 5313, 5313, 5313, 1009, 1009, - 1009, 1009, 530, 530, 333, 333, 333, -3, -3, -3, - -623, 7633, 357, 263, 7747, 7747, 7747, 7747, 7747, 7747, - 7747, 7747, 7747, 7747, 7747, 7747, 360, 362, 365, -623, - 6439, -623, 366, -6, -623, 363, 6713, -623, -68, 358, - 362, 276, 7633, 276, 7534, 269, -623, 369, -623, -623, - -623, 4027, 7633, 6439, 4167, 6439, 6439, 276, 181, 1142, - 453, 4307, 6, 1142, 1142, 1142, 371, 381, 268, -51, - 390, -623, -623, -623, 429, 463, -623, -623, 6754, -623, - -623, 524, 246, 276, 379, 276, -623, -623, -623, 267, - 267, 527, -623, 5522, -623, 1787, 382, 201, 939, 385, - -623, -623, -623, 6177, 1142, 408, 268, 269, -623, 69, - 400, 537, -623, -623, 246, -623, -623, 403, 555, 61, - -623, 5522, 5522, -8, 7784, 6439, -623, 367, -623, -623, - 5522, 5522, 6795, 5522, -623, 6439, 6439, -623, -623, -623, - -623, 6308, -623, 445, -623, -623, 7302, -623, -623, -623, - 420, 7633, 457, 276, 457, -623, -623, 565, -623, -623, - -623, 426, 428, -623, -623, -623, 465, 430, 584, 1142, - 268, 110, 525, 442, -623, -623, 1142, 451, -623, -623, - -623, 30, -623, 6439, 452, -623, -623, 441, 276, 31, - 108, -623, 268, 269, 537, -623, 69, 440, 454, 505, - 148, 539, 602, 458, 461, 7784, 264, 462, 466, -623, - 470, 500, 468, 6851, 276, 7633, 42, -623, 3887, 225, - 471, 2347, 6439, 181, 474, -623, 479, 1142, 2487, -623, - 112, -623, 114, 1142, -623, 1142, -623, 480, 153, -623, - 69, -623, 505, -623, 7747, -623, -623, -623, 269, 580, - -623, 568, 69, -623, -623, -623, -623, -623, -623, -623, - -623, -623, -623, 567, 290, 334, -623, 21, 482, 486, - 485, 187, 632, 1142, -623, -623, -623, -623, -623, -623, - 42, -623, -623, -623, -623, -623, 266, 495, 4727, -623, - -623, 497, 499, -623, 4447, 4447, -623, 506, 250, 510, - 6439, 19, 146, -623, -623, 529, -623, 585, 512, -623, - 658, 5, -623, 661, 22, -623, -623, 603, -623, -623, - 213, -623, 600, 664, 1142, -623, 366, 520, 654, 613, - 6439, -623, -623, 4587, -623, -623, -623, -623, -623, 528, - -623, 6892, -623, -623, -623, -623, 1142, 538, -623, 1142, - 69, -623, 216, -623, 1142, 609, -623, 326, 683, 2627, - 624, -623, 32, 2767, 687, 1142, -623, -623, 6439, -623, - 542, 7343, -623, -623, -623, 2907, -623, -623, 3887, -623, - 545, 3047, -623, -623, 610, 546, 216, -623, 547, 616, - 558, 551, 569, -623, 699, 640, 1142, -623, -623, 217, - -623, -623, 1142, -623, 7394, 3887, -623, 4727, 3187, 560, - 3887, -623, -623, -623, -623, -623, 494, 69, -623, 642, - 1142, 563, -623, 643, -623, -623, 696, -623, 564, -623, - 3327, 650, 652, 719, -623, -623, -623, 246, -623, -623, - -623, 623, -623, 69, 571, 3887, 573, 575, 623, -623, - -623, 215, 69, 572, -623, -623, -623, -623, -623, 659, - -623, 3467, 576, 3607, -623, 577, -623, -623, 3747, -623 + -666, 56, 1917, -666, 6429, 6429, -92, 6429, 6429, 6429, + 6429, 6429, 6429, 6429, 6429, 6429, 6429, 6429, 6429, 6429, + 6429, 6429, 170, 170, 4857, 6429, 262, -87, -82, -666, + -666, 53, -666, -666, -666, 31, -666, 6429, 4717, -74, + 34, 57, 81, 102, 4988, 5119, 80, -666, 87, 5250, + 104, 6429, 85, -27, 42, 157, 68, 124, 156, 158, + 181, -666, -666, 183, 185, -666, -666, -666, -666, -666, + -666, -666, -666, -666, -34, -666, -666, 144, -666, -666, + 6429, 6560, -666, -666, 166, -65, -666, 14, -666, -666, + -666, -666, -666, -666, 286, 296, -666, 213, 343, 312, + 233, -666, -666, 949, -666, 140, 1535, 223, -666, 238, + 321, 261, -666, -21, -666, 48, -666, -666, 324, 326, + -666, -666, -666, 290, 243, -666, 343, 7615, 7615, 6429, + 7615, 7615, 7715, -666, -666, 349, -666, -666, -666, -666, + -666, -666, -666, -666, -666, -666, 248, 144, 339, 97, + 263, -666, -666, 266, -666, 170, 7417, 250, 404, -666, + 265, 144, 267, 272, 264, -666, 274, 297, -17, 48, + 5381, -666, 6429, -666, 6429, 15, 7615, 338, 6429, 6429, + 6429, 351, 6429, -666, 6882, -666, 6923, 268, 420, -666, + 282, 7615, 1474, -666, 6975, 144, -50, 16, -666, -666, + 242, 17, -666, -666, -666, 430, 19, 343, 170, 170, + 170, 285, 688, 4857, 144, -666, -64, 189, 109, 7458, + 1284, 291, 7016, 292, 2057, 6429, 372, 5512, 379, -666, + 332, 333, -666, -666, -10, 6429, 0, 6429, 6429, 6429, + 5643, 6429, 6429, 6429, 6429, 6429, 6429, 6429, 6429, 6429, + 6429, 6429, 6429, 6429, 6429, 6429, 6429, 6429, 6429, 6429, + 6429, 6429, 262, -666, -666, -666, 5774, 6429, 6429, 6429, + 6429, 6429, 6429, 6429, 6429, 6429, 6429, 6429, 5512, 10, + 6429, -22, 6429, 6429, 166, -4, 6429, 6429, 298, 7057, + 144, 139, 292, 43, 47, -666, -666, 5905, -666, 6036, + -666, 144, 267, 55, 5512, -666, 55, -22, -30, -666, + 7109, 7151, 7615, 303, 6429, -666, 315, 7192, 314, 470, + 7615, 387, 1004, 468, 8, 7242, -666, -666, -666, 761, + -666, -666, 2197, -666, -25, 409, 85, -666, 6429, -666, + -666, -27, -666, 761, 408, -666, 335, 23, -666, -666, + -666, 24, 336, 334, 342, -666, 26, -666, 344, 191, + 1637, -666, -666, 5512, 6429, -666, -666, -666, 346, -666, + -666, -666, -666, -666, 1236, -666, 170, 347, 483, 27, + 90, 488, -13, 389, -13, 356, 352, 72, 358, 367, + 368, -30, 48, 7655, 7692, 7715, 6429, 7559, 7737, 7758, + 4910, 5041, 1769, 1909, 1909, 1909, 1909, 1311, 1311, 1311, + 1311, 515, 515, 319, 319, 319, 349, 349, 349, -666, + 197, 7715, 7715, 7715, 7715, 7715, 7715, 7715, 7715, 7715, + 7715, 7715, 7715, 370, 369, 373, 366, -666, 6429, -666, + 374, -14, -666, 377, 1580, 386, 388, -666, 168, 367, + 369, 170, 7615, 170, 7516, 267, -666, 378, -666, -666, + -666, 4017, -666, 7615, 6429, 4157, 6429, 6429, 170, 162, + 761, 460, 4297, -6, 761, 761, 761, -666, 396, 385, + 144, 79, 411, -666, -666, -666, 461, 492, -666, -666, + 6703, -666, -666, 555, 72, 170, 412, 170, -666, -666, + -666, 688, 688, 561, -666, 5512, -666, 1777, 416, 121, + 1403, 418, -666, -666, -666, 6167, 761, 427, 144, 267, + -666, -13, 422, 576, -666, -666, 72, -666, -666, 426, + 580, 59, -666, -666, 5512, 5512, -30, 1086, 6429, 262, + -666, -666, 5512, 5512, -666, 6744, 5512, -666, 6429, 6429, + -666, -666, -666, -666, -666, -666, 6298, -666, 465, -666, + -666, 7284, -666, -666, -666, 431, 7615, 472, 170, 472, + -666, -666, 577, -666, -666, -666, 439, 443, -666, -666, + -666, 479, 429, 599, 761, 144, 201, 540, 456, -666, + -666, 761, 462, -666, -666, -666, 28, -666, 6429, 463, + -666, -666, 455, 170, 30, 650, -666, 144, 267, 576, + -666, -13, 325, 464, 519, 105, 552, 615, 471, 473, + 1086, 264, 476, 477, -666, 480, 505, 474, 6785, 170, + 7615, -22, -666, 3877, 226, 482, 2337, 6429, 162, 481, + -666, 487, 761, 2477, -666, 131, -666, 3, 761, -666, + 761, -666, 489, 206, -666, -13, -666, 519, -666, 7715, + -666, -666, -666, 267, 433, -666, 578, -13, -666, -666, + -666, -666, -666, -666, -666, -666, -666, -666, 574, 290, + 348, -666, 20, 493, 497, 495, 165, 644, 761, -666, + -666, -666, -666, -666, -666, -22, -666, -666, -666, -666, + -666, 235, 502, 4717, -666, -666, 501, 517, -666, 4437, + 4437, -666, 518, 155, 521, 6429, 4, 36, -666, -666, + 554, -666, 607, 523, -666, 672, 11, -666, 673, 21, + -666, -666, 621, -666, -666, 169, -666, 620, 684, 761, + -666, 374, 541, 674, 628, 6429, -666, -666, 4577, -666, + -666, -666, -666, -666, 542, -666, 6841, -666, -666, -666, + -666, 761, 544, -666, 761, -13, -666, 46, -666, 761, + 626, -666, 343, 691, 2617, 631, -666, 32, 2757, 694, + 761, -666, -666, 6429, -666, 549, 7325, -666, -666, -666, + 2897, -666, -666, 3877, -666, 553, 3037, -666, -666, 625, + 551, 46, -666, 559, 627, 569, 562, 581, -666, 710, + 651, 761, -666, -666, 188, -666, -666, 761, -666, 7375, + 3877, -666, 4717, 3177, 565, 3877, -666, -666, -666, -666, + -666, 579, -13, -666, 655, 761, 572, -666, 656, -666, + -666, 706, -666, 573, -666, 3317, 662, 663, 729, -666, + -666, -666, 72, -666, -666, -666, 633, -666, -13, 582, + 3877, 584, 583, 633, -666, -666, 145, -13, 586, -666, + -666, -666, -666, -666, 664, -666, 3457, 589, 3597, -666, + 588, -666, -666, 3737, -666 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -623, -623, -198, -5, -623, -623, 409, -623, -188, -623, - 10, -623, -623, -623, -623, -112, -623, 256, 1, 2, - -123, -623, -623, -623, -623, -623, -623, -623, 231, 192, - 125, -623, 56, -623, -623, -623, -494, 12, -623, -623, - -623, -623, -623, -472, -623, 150, -216, -623, -623, 419, - -623, 159, -623, -623, -623, -623, -623, -623, -623, -30, - -623, -623, -623, -623, -623, -623, -623, -623, -623, -623, - -622, -623, -623, -623, -444, -623, 134, 677, -2, 117, - -623, -623, 443, -349, -242, -623, -623, -623, -623, 156, - 434, 222, -623, -623, 194, 197, -623, 1076, 570, -348, - 364, 361, -623, -623, 40, -224, -623, 966, -623, -21, - -17, -623, -263, -295, -623, -623, -19, 281, 278, 561, - -623, -623, -623, -623, -623, -50, -623 + -666, -666, -174, -5, -666, -666, 407, -666, -167, -666, + 7, -666, -666, -666, -666, -110, -666, 259, 1, 2, + -125, -666, -666, -666, -666, -666, -666, -666, 236, 196, + 120, -666, 58, -666, -666, -666, -485, 13, -666, -666, + -666, -666, -666, -489, -666, 151, -234, -666, -666, 438, + -666, 160, -666, -666, -666, -666, -666, -666, -666, -19, + -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, + -665, -666, -666, -666, -453, -666, 66, 686, -2, 117, + -666, -666, 276, -214, -250, -666, -666, -666, -666, 159, + -262, -241, -666, -666, 199, 198, -666, 924, 585, -362, + 331, 1032, -666, -666, 45, -229, -666, 874, -666, -666, + -24, -20, -666, -225, -299, -666, -666, -15, 283, 287, + 587, -666, -666, -666, -666, -666, -666, -23, -666 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -370 +#define YYTABLE_NINF -371 static const yytype_int16 yytable[] = { - 98, 282, 324, 90, 91, 165, 449, 167, 381, 166, - 577, 550, 88, 750, 352, 435, 410, 147, 147, 225, - 501, 160, 306, 328, 333, 508, 460, 512, 336, 717, - 755, 220, 561, 483, 485, 490, 278, -140, 490, -143, - 799, 327, 598, 716, 475, 742, 258, 193, 174, 278, - 196, 278, 428, 431, 204, 278, 223, 535, 378, 426, - 259, -299, 202, 381, 428, 353, 354, 223, 632, 213, - 3, 33, 214, 446, 224, 127, 448, 431, 223, 223, - 120, 338, 447, 223, 33, 224, 355, 168, 47, 170, - 493, 171, 601, 539, -299, 540, 286, 281, -141, 223, - 223, 175, 223, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 429, -144, 33, -369, 204, - 176, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, -369, 279, 698, 602, 702, 197, 496, - 285, 184, 120, 379, -366, 120, -365, 279, 147, 279, - 302, -357, -357, 279, 296, 536, 495, 177, 211, 280, - 512, 380, 427, 33, 33, 751, 752, 562, 212, -357, - -357, 226, 84, 185, 307, 329, 334, 461, 692, 743, - 337, 718, 756, 187, 484, 486, 491, 326, -140, 643, - -143, 800, 147, 178, 832, 179, 439, 440, 33, 33, - 147, 147, 147, 430, 147, 84, 351, 699, 700, 701, - 700, 701, 553, 383, 215, 382, 190, 505, 722, 98, - 506, 120, 120, 192, 33, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 165, 200, 167, - 647, 166, 700, 701, 760, 261, 262, 650, 823, -141, - 201, 84, 84, 160, 120, -301, 33, 383, 383, 382, - 382, 223, 723, 143, -279, -279, 684, -144, 383, 383, - 382, 382, 612, -357, -357, 515, 703, 584, 383, 438, - 382, 383, 383, 382, 382, 606, 84, 84, 761, 784, - 445, 707, 824, 687, 688, 143, 505, 144, -300, 506, - 145, 516, 205, 712, 223, 603, 604, 146, 745, 206, - 330, 313, 84, 207, 607, 608, 469, 610, -301, 120, - -300, 685, 98, 193, 223, 208, 223, 209, 527, 144, - 469, 355, 145, 493, 727, 728, 120, 210, 33, 146, - 120, 120, 33, 222, 84, 739, 700, 701, 227, 120, - 98, 33, 228, 90, 91, 229, 618, 230, 371, 621, - -281, -281, 88, 147, 505, 844, 523, 506, 232, 507, - 628, 507, 323, 515, 507, 856, 857, 143, 255, 256, - 257, 143, 258, 150, 150, 726, 149, 152, 275, 276, - 143, 47, 431, 346, 505, 277, 259, 506, 211, 516, - 259, 783, 284, 792, 26, -125, 287, 288, 147, 371, - 189, 144, 292, 293, 145, 144, 295, 297, 145, 300, - 223, 146, 298, 301, 144, 146, 84, 145, 308, 315, - 84, 321, 371, 320, 146, -188, 147, 792, 147, 84, - 120, 217, 33, 653, 654, 655, 656, 657, 658, 322, - 335, 345, 147, 147, 469, 357, 431, 359, 469, 469, - 469, 545, 367, 571, 548, 148, 148, 373, 834, 161, - 374, 559, 376, 379, 453, 456, 457, 507, 147, 455, - 147, 143, 459, 476, 147, 147, 481, 482, 488, 371, - 497, 487, 503, 98, 850, 492, 90, 91, 489, 469, - 499, 593, 504, 859, 507, 88, 165, 509, 167, 507, - 166, 502, 513, 514, 290, 158, 521, 522, 159, 529, - 530, 526, 160, 531, 533, 146, 557, 537, 542, 569, - 84, 759, 570, 763, 573, 572, 574, 576, 314, 579, - 583, 586, 651, 472, 587, 596, 775, 652, 147, 653, - 654, 655, 656, 657, 658, 659, 778, 480, 332, 592, - 781, 595, 599, 600, 469, 638, 341, 342, 344, 616, - 347, 469, 252, 253, 254, 255, 256, 257, 627, 258, - 622, 805, 623, 147, 808, 372, 629, 648, 631, 810, - 633, 507, 635, 259, 634, 507, 148, 383, 639, 382, - 640, 646, 660, 653, 654, 655, 656, 657, 658, 147, - 642, 645, 669, 668, 672, 673, 98, 674, 147, 98, - 675, 677, 469, 830, 680, 678, 98, 371, 469, 679, - 469, 690, 682, 694, 795, 507, 372, 589, 695, 706, - 148, 710, 713, 719, 720, 724, 721, 507, 148, 148, - 148, 845, 148, 730, 746, 371, 371, 732, 733, 372, - 747, 383, 715, 382, 371, 371, 738, 371, 469, 861, - 740, 749, 863, 748, 754, 764, 758, 765, 768, 868, - 769, 556, 651, 770, 794, 564, 565, 652, 776, 653, - 654, 655, 656, 657, 658, 659, 796, 780, 731, 798, - 802, 161, 806, -176, 735, 735, 811, 815, 813, 816, - 817, 818, 820, 821, 819, 835, 372, 498, 838, 469, - 829, 837, 839, 842, 840, -182, 591, 843, 846, 290, - 851, 852, 853, 860, 862, 865, 855, 477, 867, 578, - 594, 469, 709, 773, 469, 507, 626, 507, 693, 469, - 671, 737, 479, 777, 649, 471, 814, 98, 218, 708, - 469, 98, 676, 637, 470, 636, 767, 331, 582, 471, - 581, 350, 0, 98, 528, 0, 98, 0, 470, 98, - 0, 507, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 469, 0, 0, 0, 0, 0, 469, 641, 0, - 0, 0, 290, 98, 290, 0, 98, 0, 98, 0, - 0, 148, 507, 0, 0, 469, 0, 827, 552, 555, - 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, - 0, 0, 507, 0, 0, 0, 0, 0, 507, 0, - 0, 0, 0, 98, 341, 0, 580, 507, 0, 696, - 347, 347, 0, 0, 372, 704, 148, 705, 0, 98, - 0, 98, 0, 0, 590, 0, 98, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 0, - 0, 0, 372, 372, 148, 0, 148, 0, 0, 0, - 0, 372, 372, 471, 372, 725, 0, 471, 471, 471, - 148, 148, 470, 0, 0, 0, 470, 470, 470, 0, - 0, 0, 0, 0, 625, -357, -357, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 148, 0, 148, 0, - 0, 0, 148, 148, 0, 0, 0, 0, 471, 0, - 0, 0, 0, 0, 0, 0, 766, 470, 0, 290, - 0, 0, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 0, 0, 0, 0, 779, 0, - 161, 782, 0, 0, 0, 290, 793, 0, 0, 0, - 0, 0, 0, 0, 555, 0, 0, 803, 151, 151, - 0, 0, 164, 0, 0, 0, 148, 0, 0, 0, - -357, -357, 0, 471, 0, 0, 0, 0, 0, 0, - 471, 0, 470, -280, -280, 0, 0, 0, 822, 470, - 0, 0, 0, 0, 825, 0, 0, 0, 0, 0, - 0, 148, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 836, 0, 0, -370, -370, -370, -370, 250, - 251, 252, 253, 254, 255, 256, 257, 148, 258, 0, - 0, 471, 0, 0, 0, 0, 148, 471, 0, 471, - 470, 0, 259, 0, 0, 0, 470, 0, 470, 0, - 125, 126, 0, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, -282, -282, - 154, 157, 0, 0, 0, 0, 0, 471, 0, 0, - 233, 234, 235, 173, 0, 0, 470, 0, 0, 151, - 181, 183, 0, 0, 0, 188, 236, 191, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 0, - 258, 0, 0, 0, 0, 0, 216, 219, 471, 0, - 0, 0, 0, 151, 259, 0, 0, 470, 0, 0, - 0, 151, 151, 151, 0, 151, 0, 0, 0, 0, - 471, 0, 0, 471, 463, 464, 0, 0, 471, 470, - 0, 0, 470, 0, 0, 0, 0, 470, 0, 471, - 0, 0, 0, 283, 0, 465, 0, 0, 470, 0, - 0, 0, 0, 29, 30, 120, 0, 0, 0, 0, - 0, 0, 0, 35, 164, 0, 0, 0, 0, 0, - 471, 0, 0, 0, 0, 0, 471, 0, 0, 470, - 0, 0, 0, 0, 304, 470, 305, 0, 0, 0, - 0, 309, 312, 188, 471, 317, 143, 0, 0, 0, - 0, 260, 0, 470, 0, 0, 0, 0, 0, 466, - 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 73, 0, 154, 0, 0, 0, - 467, 75, 76, 468, 0, 0, 0, 79, 366, 0, - 188, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 385, 386, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 151, 411, 0, 0, 0, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 188, 0, 0, 411, 436, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 442, 0, 444, - 0, 0, 0, 0, 188, 0, 0, 0, 0, 151, - 0, 0, 452, 0, 0, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 478, 151, 0, 151, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 0, 151, 151, 0, 0, 0, 0, 0, - 0, 188, 188, -357, -357, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 233, 234, 235, 151, - 0, 151, 0, 0, 0, 151, 151, 0, -357, -357, - 0, 0, 236, 524, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 0, 258, 0, 0, 0, - 458, 0, 0, 164, 0, 0, 0, 0, 0, 0, - 259, 0, 0, 0, 0, 0, 532, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, - 0, 312, 551, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 0, 258, 151, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 0, 188, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, - 151, 0, 0, 0, 0, 0, 0, 0, 0, 151, - 0, 0, 0, 0, 0, 0, 0, 188, 188, 500, - 0, 605, 0, 0, 0, 0, 188, 188, 0, 188, - 0, 411, 613, 0, 233, 234, 235, 615, 0, 0, - 0, 0, 4, 5, 6, 7, 8, 0, 0, 0, - 236, 9, 237, 238, 239, 240, 241, 242, 243, 244, + 98, 288, 167, 90, 91, 592, 168, 390, 459, 88, + 388, 169, 419, 565, 513, 731, 471, 149, 149, 765, + 576, 162, 228, 314, 336, 341, 332, 344, 732, 770, + 757, 495, 497, 282, 502, -140, 502, 613, -143, 122, + 814, 360, 282, 335, 433, 177, 282, 196, 199, 548, + 435, 437, 439, 33, 207, 436, 3, 443, 223, 282, + 122, 445, 446, 386, 390, 435, 129, 483, 487, 216, + 457, 170, 217, 389, 456, 33, 172, 458, 439, 173, + -300, 483, 346, 434, 178, 33, 226, 226, 484, 554, + 616, 555, 647, 227, 174, 285, 361, 362, -141, 715, + 716, 226, 492, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 190, 449, 214, 33, 799, + 450, 207, 33, 33, -370, 292, 226, 215, -370, 508, + 33, 283, 715, 716, 617, 517, 200, -366, 518, 438, + 283, 84, 291, 205, 283, 122, 218, 549, 387, 308, + 149, -358, -358, 187, -367, 577, 302, 283, 122, 713, + 188, 717, 203, 84, 758, 718, 847, 472, 520, 47, + 524, 766, 767, 84, 229, 315, 337, 342, 122, 345, + 733, 771, 496, 498, 707, 503, -140, 658, 507, -143, + 334, 815, 179, 568, 517, 149, 737, 518, 760, 527, + 775, 264, 265, 149, 149, 149, 84, 149, 483, 359, + 84, 284, 483, 483, 483, 180, 391, 122, 84, 838, + 517, 392, 98, 518, -300, 528, 714, 715, 716, 571, + 226, -125, 527, 579, 580, 122, 195, 33, 167, 181, + 738, 662, 168, 122, 776, 33, 321, 169, 226, -141, + 754, 715, 716, 517, 483, 227, 518, 162, 528, 391, + 182, 391, 539, 839, 392, 193, 392, 699, -280, -280, + 122, 599, 33, 391, 391, 606, 145, 204, 392, 392, + -282, -282, 208, 391, 145, 448, 391, 391, 392, 621, + 226, 392, 392, 379, 702, 703, 455, 363, 150, 150, + 618, 619, 163, 742, 743, 871, 872, 524, 622, 623, + 146, 145, 625, 147, 209, 122, 210, 33, 146, 226, + 148, 147, 483, 627, 481, 84, 505, 225, 148, 483, + 98, 196, 700, 84, -302, 122, -301, 33, 481, 211, + 226, 212, 226, 213, 379, 146, -302, 363, 147, 505, + 656, -301, 226, 151, 154, 148, 145, 226, 98, 230, + 84, 90, 91, 859, 259, 260, 261, 88, 262, 231, + 379, 149, 536, 232, 233, 235, 145, 519, 236, 519, + 483, 278, 519, 279, 280, 281, 483, 286, 483, 287, + 146, 47, 633, 147, 214, 636, 741, 665, 262, 290, + 148, 711, 439, 338, 26, 84, 643, 719, 293, 720, + 160, 294, 299, 161, 298, 149, 301, 303, 226, 306, + 148, 307, 304, 316, 323, 84, 483, 666, 328, 379, + 509, 150, 667, 329, 668, 669, 670, 671, 672, 673, + 674, 722, 330, 343, 353, 375, 149, 740, 149, -188, + 365, 367, 381, 727, 382, 384, 387, 668, 669, 670, + 671, 672, 673, 149, 149, 481, 439, 462, 560, 481, + 481, 481, 563, 464, 466, 586, 150, 483, 467, 574, + 468, 470, 488, 493, 150, 150, 150, 675, 150, 519, + 149, 515, 149, 494, 500, 499, 149, 149, 781, 483, + 501, 516, 483, 504, 511, 98, 514, 483, 90, 91, + 526, 481, 521, 608, 88, 167, 519, 525, 483, 168, + 794, 519, 533, 797, 169, 534, 535, 542, 808, 541, + 544, 543, 546, 572, 162, 666, 585, 557, 163, 818, + 667, 550, 668, 669, 670, 671, 672, 673, 674, 483, + 552, 798, 553, 807, 584, 483, 587, 256, 257, 258, + 259, 260, 261, 149, 262, 589, 588, 774, 591, 778, + 837, 379, 594, 483, 598, 601, 840, 602, 607, 481, + 653, 604, 790, 610, 611, 614, 481, 807, 615, 631, + 642, 637, 793, 649, 851, 724, 796, 638, 149, 644, + 379, 379, 663, 646, 648, 482, 519, 650, 379, 379, + 519, 391, 379, 654, 655, 661, 392, 820, 849, 482, + 823, 657, 660, 683, 149, 825, 684, 687, 688, 695, + 689, 98, 690, 149, 98, 692, 693, 481, 697, 694, + 709, 98, 705, 481, 865, 481, 710, 810, 721, 728, + 519, 725, 150, 874, 734, 735, 736, 739, -144, 845, + 745, 747, 519, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 391, 748, 730, 753, 761, + 392, 755, 762, 481, 763, 764, 769, 860, 668, 669, + 670, 671, 672, 673, 773, 779, 150, 780, 785, 783, + 784, 809, 791, 795, 811, 876, 813, 817, 878, 821, + 746, -358, -358, 828, 826, 883, 750, 750, -176, 830, + 831, 832, 833, 835, 836, 844, 834, 150, 850, 150, + 852, 853, 854, 855, 481, 857, -182, 858, 861, 877, + 868, 866, 867, 489, 150, 150, 482, 875, 880, 882, + 482, 482, 482, 870, 593, 788, 481, 609, 708, 481, + 519, 122, 519, 33, 481, 641, 686, 221, 752, 792, + 664, 150, 98, 150, 723, 481, 98, 150, 150, 491, + 691, 651, 829, 652, 596, 339, 782, 0, 98, 597, + 0, 98, 482, 0, 98, 0, 519, 0, 0, 0, + 358, 0, 145, 474, 475, 0, 481, 0, 0, -144, + 0, 0, 481, 0, 354, 163, 0, 0, 98, 0, + 0, 98, 0, 98, 476, 0, 0, 519, 0, 842, + 481, 0, 29, 30, 122, 0, 146, 0, 0, 147, + 0, 0, 477, 98, 150, 0, 148, 519, 0, 0, + 0, 84, 0, 519, 0, 0, 0, 0, 98, 0, + 482, 0, 519, 0, 0, 0, 0, 482, 0, 0, + 0, 0, 0, 0, 98, 145, 98, 0, 0, 150, + 0, 98, 0, 0, 0, 0, 0, 0, 478, 65, + 66, 67, 68, 69, 0, 0, 153, 153, 0, 0, + 166, 0, 0, 73, 0, 150, 0, 0, 0, 479, + 75, 76, 480, 0, 150, 0, 79, 0, 482, 0, + 0, 0, 0, 0, 482, 0, 482, 0, 127, 128, + 0, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 0, 0, 156, 159, + 0, 0, 0, 0, 0, 0, 0, 0, 237, 238, + 239, 176, 0, 0, 482, 0, 0, 0, 184, 186, + 0, 0, 0, 191, 240, 194, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 0, 258, 0, 0, 0, 0, 644, - 0, 10, 11, 0, 0, 0, 0, 12, 259, 13, - 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, - 29, 30, 31, 32, 33, 0, 34, 0, 312, 0, - 35, 36, 37, 38, 39, 0, 40, 0, 41, 0, - 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, - 47, 48, 49, 50, 0, 51, 52, 53, 0, 0, - 0, 54, 55, 56, 0, 57, 58, 59, 60, 61, - 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, - 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, - 0, 73, 0, 0, 0, 318, 0, 74, 75, 76, - 77, 0, 0, 78, 79, 80, 741, 81, 0, 82, - 83, 494, 84, 0, 0, 0, 0, 0, 0, 0, + 255, 256, 257, 258, 259, 260, 261, 0, 262, 0, + 0, 0, 0, 0, 219, 222, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 482, 0, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 153, + 0, 0, 0, 0, 0, 0, 0, 482, 0, 0, + 482, 0, 0, 0, 0, 482, 0, 0, 0, 0, + 0, 0, 0, 289, 152, 152, 482, 0, 0, 0, + 0, 0, 0, 0, 0, -358, -358, 0, 0, 0, + 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, + 0, 192, 153, 153, 153, 0, 153, 482, 0, 0, + 0, 0, 0, 482, 310, 0, 311, 469, 312, 0, + 0, 0, 317, 320, 191, 0, 325, 0, 0, 263, + 0, 482, 220, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 0, 262, 166, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, + 0, 191, 0, 0, 0, 0, 0, 0, 0, 312, + 0, 393, 394, 395, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 418, 0, 296, 0, 0, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 191, 0, 312, 0, 312, 444, 0, 0, + 312, 312, 322, 0, 0, 0, 0, 0, 0, 0, + 0, 452, 0, 454, 0, 0, 0, 0, 191, 0, + 0, 0, 340, 0, 0, 0, 0, 0, 463, 0, + 349, 350, 352, 0, 355, 237, 238, 239, 0, 0, + 153, 0, 0, 0, 0, 0, 0, 0, 0, 380, + 0, 240, 490, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 0, 262, 0, 191, 191, 0, + 0, 0, 0, 0, 153, 0, 0, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 0, + 380, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 537, 0, 0, 0, 0, 153, 0, 153, 0, 0, + 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, + 0, 0, 153, 153, 0, -358, -358, -371, -371, -371, + -371, 254, 255, 256, 257, 258, 259, 260, 261, 0, + 262, 0, 545, 0, 0, 0, 0, 0, 0, 153, + 0, 153, 0, 0, 0, 153, 153, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 561, 0, + 320, 566, 0, 0, 0, 380, 510, 0, 512, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 166, 0, 0, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 0, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 0, 0, 153, -281, -281, 0, 0, 0, 0, 0, + 0, 0, 540, 0, 0, 0, 0, 0, 191, 191, + 0, 0, 620, 0, -358, -358, 191, 191, 0, 0, + 191, 0, 312, 628, 0, 0, 0, 153, 0, 0, + 630, 0, 0, 296, 0, 296, 0, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 0, + 567, 570, 0, 153, 0, 0, 0, 0, 0, 0, + 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 659, 0, 0, 0, 0, 349, 0, 595, + 0, 0, 0, 355, 355, -358, -358, 380, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 605, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 0, 320, -283, -283, 0, 0, 380, 380, 0, 0, + 0, 0, 0, 0, 380, 380, 0, 0, 380, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 238, 239, 0, 0, 0, 0, -358, -358, 0, 0, + 640, 0, 0, 0, 0, 240, 0, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 0, 262, + 0, 0, 0, 0, 331, 296, 0, 0, 0, 756, 4, 5, 6, 7, 8, 0, 0, 0, 0, 9, - 0, 0, 0, 0, 0, 0, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, + 0, 296, 0, 0, 0, 0, 0, 0, 0, 786, + 570, 0, 0, 0, 0, 0, 0, 0, 0, 10, + 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, + 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 0, 0, 819, 29, 30, + 31, 32, 33, 0, 34, 0, 0, 0, 35, 36, + 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, + 0, 43, 0, 0, 0, 44, 45, 46, 47, 48, + 49, 50, 551, 51, 52, 53, 0, 0, 0, 54, + 55, 56, 0, 57, 58, 59, 60, 61, 62, 0, + 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, + 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, + 4, 5, 6, 7, 8, 74, 75, 76, 77, 9, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 506, + 84, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 0, 262, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, - 16, 17, 18, 0, 804, 19, 20, 21, 22, 23, + 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, 0, 34, 0, 0, 0, 35, 36, 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, @@ -1518,9 +1525,9 @@ 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, 4, 5, 6, 7, 8, 74, 75, 76, 77, 9, - 0, 78, 79, 80, 0, 81, 0, 82, 83, 585, - 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 600, + 84, -371, -371, -371, -371, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 0, 262, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 29, 30, @@ -1542,11 +1549,11 @@ 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, - 0, 78, 79, 80, 0, 81, 0, 82, 83, 361, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 369, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, @@ -1556,24 +1563,24 @@ 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, - 0, 78, 79, 80, 0, 81, 0, 82, 83, 474, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 486, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, 0, 34, 0, 0, 0, 35, 36, - 37, 38, 39, 691, 40, 0, 41, 0, 42, 0, + 37, 38, 39, 706, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 78, 79, 80, 0, 81, 0, 82, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, @@ -1581,13 +1588,13 @@ 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, 0, 34, 0, 0, 0, 35, 36, - 37, 38, 39, 0, 40, 0, 41, 0, 42, 697, + 37, 38, 39, 0, 40, 0, 41, 0, 42, 712, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 78, 79, 80, 0, 81, 0, 82, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, @@ -1598,11 +1605,11 @@ 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, - 0, 78, 79, 80, 0, 81, 0, 82, 83, 797, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 812, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, @@ -1612,24 +1619,24 @@ 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, - 0, 78, 79, 80, 0, 81, 0, 82, 83, 801, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 816, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, 0, 34, 0, 0, 0, 35, 36, - 37, 38, 39, 0, 40, 0, 41, 809, 42, 0, + 37, 38, 39, 0, 40, 0, 41, 824, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 78, 79, 80, 0, 81, 0, 82, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, @@ -1640,24 +1647,24 @@ 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, - 0, 78, 79, 80, 0, 81, 0, 82, 83, 812, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 827, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, 0, 34, 0, 0, 0, 35, 36, - 37, 38, 39, 0, 40, 828, 41, 0, 42, 0, + 37, 38, 39, 0, 40, 843, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 78, 79, 80, 0, 81, 0, 82, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, @@ -1668,11 +1675,11 @@ 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, - 0, 78, 79, 80, 0, 81, 0, 82, 83, 841, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 856, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, @@ -1682,11 +1689,11 @@ 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, - 0, 78, 79, 80, 0, 81, 0, 82, 83, 864, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 879, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, @@ -1696,11 +1703,11 @@ 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, - 0, 78, 79, 80, 0, 81, 0, 82, 83, 866, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 881, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, @@ -1710,11 +1717,11 @@ 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, - 0, 78, 79, 80, 0, 81, 0, 82, 83, 869, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, + 0, 78, 79, 80, 0, 81, 0, 82, 83, 884, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, @@ -1724,12 +1731,12 @@ 37, 38, 39, 0, 40, 0, 41, 0, 42, 0, 0, 43, 0, 0, 0, 44, 45, 46, 47, 0, 49, 50, 0, 51, 0, 53, 0, 0, 0, 54, - 55, 56, 0, 57, 58, 59, 360, 61, 62, 0, + 55, 56, 0, 57, 58, 59, 368, 61, 62, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 78, 79, 80, 0, 81, 0, 82, 83, 0, - 84, 0, 0, 544, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, @@ -1741,9 +1748,9 @@ 0, 56, 0, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 0, 79, 80, 0, 81, 0, 82, 83, 0, - 84, 0, 0, 547, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, @@ -1755,9 +1762,9 @@ 0, 56, 0, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 0, 79, 80, 0, 81, 0, 82, 83, 0, - 84, 0, 0, 558, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, @@ -1769,9 +1776,9 @@ 0, 56, 0, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 0, 79, 80, 0, 81, 0, 82, 83, 0, - 84, 0, 0, 734, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, @@ -1783,9 +1790,9 @@ 0, 56, 0, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 0, 79, 80, 0, 81, 0, 82, 83, 0, - 84, 0, 0, 772, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, @@ -1797,7 +1804,7 @@ 0, 56, 0, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 0, 79, 80, 0, 81, 0, 82, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, @@ -1811,503 +1818,495 @@ 0, 56, 0, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 70, 71, 0, 72, 0, 0, 0, 73, - 4, 5, 6, 7, 8, 122, 75, 76, 77, 9, + 4, 5, 6, 7, 8, 124, 75, 76, 77, 9, 0, 0, 79, 80, 0, 81, 0, 82, 83, 0, - 84, 0, 0, 0, 0, 0, 0, 0, 153, 0, + 84, 0, 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 29, 30, - 120, 32, 33, 0, 0, 0, 0, 0, 35, 36, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 47, 258, + 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 47, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 121, 0, 259, 58, 59, 0, 0, 0, 0, + 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, 0, 73, - 9, 0, 0, 0, 0, 122, 75, 76, 77, 0, - 0, 0, 79, 123, 0, 81, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 124, 75, 76, 77, 0, + 0, 0, 79, 125, 0, 81, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 29, - 30, 120, 32, 33, 0, 0, 0, 0, 0, 35, - 36, 0, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 47, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 121, 0, 259, 58, 59, 0, 0, 0, + 30, 122, 32, 33, 0, 0, 0, 0, 0, 35, + 36, 0, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 47, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, 0, - 73, 9, 0, 0, 0, 0, 122, 75, 76, 77, - 0, 0, 0, 79, 123, 0, 81, 0, 180, 0, + 73, 9, 0, 0, 0, 0, 124, 75, 76, 77, + 0, 0, 0, 79, 125, 0, 81, 0, 183, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, - 29, 30, 120, 32, 33, 0, 0, 0, 0, 0, - 35, 36, 0, 0, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 47, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 121, 0, 259, 58, 59, 0, 0, + 29, 30, 122, 32, 33, 0, 0, 0, 0, 0, + 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, - 0, 73, 9, 0, 0, 0, 0, 122, 75, 76, - 77, 0, 0, 0, 79, 123, 0, 81, 0, 182, + 0, 73, 9, 0, 0, 0, 0, 124, 75, 76, + 77, 0, 0, 0, 79, 125, 0, 81, 0, 185, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, - 0, 29, 30, 120, 32, 33, 0, 0, 0, 0, - 0, 35, 36, 0, 0, -370, -370, -370, -370, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 47, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 121, 0, 259, 58, 59, 0, + 0, 29, 30, 122, 32, 33, 0, 0, 0, 0, + 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, - 0, 0, 73, 9, 0, 0, 0, 0, 122, 75, - 76, 77, 0, 0, 0, 79, 123, 0, 81, 0, - 186, 0, 0, 84, 0, 0, 0, 0, 0, 0, + 0, 0, 73, 9, 0, 0, 0, 0, 124, 75, + 76, 77, 0, 0, 0, 79, 125, 0, 81, 0, + 189, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, - 0, 0, 29, 30, 120, 32, 33, 0, 0, 0, + 0, 0, 29, 30, 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 121, 0, 0, 58, 59, + 0, 0, 0, 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, - 0, 0, 0, 73, 9, 0, 0, 0, 0, 122, - 75, 76, 77, 0, 0, 0, 79, 123, 0, 81, - 303, 0, 0, 368, 84, 0, 0, 0, 0, 0, + 0, 0, 0, 73, 9, 0, 0, 0, 0, 124, + 75, 76, 77, 0, 0, 0, 79, 125, 0, 81, + 309, 0, 0, 376, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, - 0, 0, 0, 29, 30, 120, 32, 33, 0, 0, + 0, 0, 0, 29, 30, 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 121, 0, 0, 58, + 0, 0, 0, 0, 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, 0, 73, 9, 0, 0, 0, 0, - 122, 75, 76, 77, 0, 0, 0, 79, 123, 387, + 124, 75, 76, 77, 0, 0, 0, 79, 125, 396, 81, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 0, 0, 0, 0, 29, 30, 120, 32, 33, 0, + 0, 0, 0, 0, 29, 30, 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, 0, 73, 9, 0, 0, 0, - 0, 122, 75, 76, 77, 0, 0, 0, 79, 123, - 0, 81, 0, 0, 0, 413, 84, 0, 0, 0, + 0, 124, 75, 76, 77, 0, 0, 0, 79, 125, + 0, 81, 0, 0, 0, 420, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 0, 0, 0, 0, 29, 30, 120, 32, 33, + 27, 0, 0, 0, 0, 29, 30, 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, 0, 73, 9, 0, 0, - 0, 0, 122, 75, 76, 77, 0, 0, 0, 79, - 123, 0, 81, 0, 0, 0, 441, 84, 0, 0, + 0, 0, 124, 75, 76, 77, 0, 0, 0, 79, + 125, 0, 81, 0, 0, 0, 451, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 0, 0, 0, 0, 29, 30, 120, 32, + 26, 27, 0, 0, 0, 0, 29, 30, 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, 0, 73, 9, 0, - 0, 0, 0, 122, 75, 76, 77, 0, 0, 0, - 79, 123, 0, 81, 0, 0, 0, 443, 84, 0, + 0, 0, 0, 124, 75, 76, 77, 0, 0, 0, + 79, 125, 0, 81, 0, 0, 0, 453, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 0, 0, 0, 0, 29, 30, 120, + 25, 26, 27, 0, 0, 0, 0, 29, 30, 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 121, 0, 0, 58, 59, 0, 0, 0, 0, 0, + 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, 0, 73, 9, - 0, 0, 0, 0, 122, 75, 76, 77, 0, 0, - 0, 79, 123, 0, 81, 0, 0, 0, 588, 84, + 0, 0, 0, 0, 124, 75, 76, 77, 0, 0, + 0, 79, 125, 0, 81, 0, 0, 0, 603, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 29, 30, - 120, 32, 33, 0, 0, 0, 0, 0, 35, 36, + 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 121, 0, 0, 58, 59, 0, 0, 0, 0, + 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, 0, 73, - 9, 0, 0, 0, 0, 122, 75, 76, 77, 0, - 0, 0, 79, 123, 0, 81, 0, 0, 0, 614, + 9, 0, 0, 0, 0, 124, 75, 76, 77, 0, + 0, 0, 79, 125, 0, 81, 0, 0, 0, 629, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 29, - 30, 120, 32, 33, 0, 0, 0, 0, 0, 35, + 30, 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 121, 0, 0, 58, 59, 0, 0, 0, + 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, 0, - 73, 9, 0, 0, 0, 0, 122, 75, 76, 77, - 0, 0, 0, 79, 123, 0, 81, 0, 0, 0, + 73, 9, 0, 0, 0, 0, 124, 75, 76, 77, + 0, 0, 0, 79, 125, 0, 81, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, - 29, 30, 120, 32, 33, 0, 0, 0, 0, 0, + 29, 30, 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 121, 0, 0, 58, 59, 0, 0, + 0, 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 4, 5, 6, 7, 8, 0, 0, - 0, 73, 9, 0, 0, 0, 0, 122, 75, 76, - 77, 0, 0, 0, 79, 123, 0, 81, 0, 0, + 0, 73, 9, 0, 0, 0, 0, 124, 75, 76, + 77, 0, 0, 0, 79, 125, 0, 81, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 18, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, - 0, 29, 30, 120, 32, 33, 0, 0, 0, 0, + 0, 29, 30, 122, 32, 33, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 121, 0, 0, 58, 59, 0, + 0, 0, 0, 0, 123, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 73, 0, 0, 0, 0, 0, 122, 75, - 76, 77, 233, 234, 235, 79, 80, 0, 81, 0, - 0, 0, 0, 84, 0, 0, 0, 0, 236, 0, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 0, 258, 233, 234, 235, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 259, 0, 0, 236, - 0, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 0, 258, 233, 234, 235, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, - 236, 0, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, - 233, 234, 235, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 538, 236, 0, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 0, - 258, 233, 234, 235, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 259, 0, 575, 236, 742, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 0, 258, 233, 234, 235, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 259, 0, 609, 236, 0, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 259, 0, 0, 233, - 234, 235, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 683, 0, 236, 0, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 0, 258, - 233, 234, 235, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 743, 259, 0, 0, 236, 0, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 0, - 258, 233, 234, 235, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 319, 259, 0, 0, 236, 0, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 259, 0, 233, 234, 235, + 0, 0, 73, 0, 0, 0, 0, 0, 124, 75, + 76, 77, 237, 238, 239, 79, 80, 0, 81, 0, + 0, 0, 0, 84, 0, 0, 0, 0, 240, 0, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 0, 262, 237, 238, 239, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, + 0, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 0, 262, 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 325, 0, 0, 236, 0, 237, 238, 239, 240, 241, + 240, 0, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 0, 262, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 590, 240, 757, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 0, + 262, 237, 238, 239, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 624, 240, 0, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 0, 258, 233, 234, - 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 358, 259, 0, 0, 236, 0, 237, 238, 239, 240, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 0, 262, 237, 238, 239, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 698, 240, 0, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 0, 258, 233, - 234, 235, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 437, 259, 0, 0, 236, 0, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 0, 258, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 0, 262, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 238, 239, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 240, 758, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 0, 262, 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 233, 234, 235, 259, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 236, 450, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 0, - 258, 233, 234, 235, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 259, 0, 0, 236, 451, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 0, 240, 326, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 0, 258, 233, 234, 235, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 259, 0, 0, 236, 454, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 258, 259, 260, 261, 0, 262, 237, 238, 239, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 240, 327, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 233, 234, 235, 259, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, - 462, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 0, 258, 233, 234, 235, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, - 236, 620, 237, 238, 239, 240, 241, 242, 243, 244, + 257, 258, 259, 260, 261, 0, 262, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 237, 238, + 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 333, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 0, 258, 233, 234, 235, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, - 0, 236, 807, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, - 0, 0, 0, 233, 234, 235, 0, 0, 0, 0, - 0, 0, 0, 826, 0, 0, 0, 0, 0, 236, - 291, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 0, 258, 0, 0, 233, 234, 235, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, - 0, 356, 236, 525, 237, 238, 239, 240, 241, 242, + 255, 256, 257, 258, 259, 260, 261, 0, 262, 0, + 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 366, 240, 0, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 0, 258, 0, 0, 0, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 0, + 262, 237, 238, 239, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 447, 240, 0, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 237, 238, 239, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 240, 460, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 0, 262, 0, 237, 238, 239, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, + 461, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 0, 262, 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 259, 0, 233, 234, 235, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 236, 541, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 0, 258, 234, 235, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 259, 0, 236, 0, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 235, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 236, 259, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 0, 258, + 240, 465, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 0, 262, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 236, 259, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 0, 258, 0, 0, 0, + 240, 473, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 0, 262, 0, 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 259, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 0, 0, 240, 635, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 0, 262, 237, 238, 239, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 240, 822, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 0, 258, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 0, 258, + 256, 257, 258, 259, 260, 261, 0, 262, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 237, 238, 239, 0, 0, + 0, 0, 0, 0, 841, 0, 0, 0, 0, 0, + 0, 240, 297, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 0, 262, 0, 0, 237, 238, + 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 364, 240, 538, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 0, 262, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 238, 239, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 240, 556, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 0, 262, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259 + 240, 0, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 239, 262, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 240, 0, 241, + 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 240, 262, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 0, 262, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 0, 262, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 0, 262 }; #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-623))) + (!!((Yystate) == (-666))) #define yytable_value_is_error(Yytable_value) \ - (!!((Yytable_value) == (-370))) + (!!((Yytable_value) == (-371))) static const yytype_int16 yycheck[] = { - 2, 124, 190, 2, 2, 26, 301, 26, 232, 26, - 482, 455, 2, 8, 212, 278, 258, 22, 23, 8, - 368, 26, 8, 8, 8, 374, 8, 376, 8, 8, - 8, 81, 26, 8, 8, 8, 63, 8, 8, 8, - 8, 93, 514, 665, 93, 26, 49, 52, 38, 63, - 75, 63, 276, 277, 56, 63, 151, 63, 73, 275, - 63, 145, 75, 287, 288, 160, 161, 151, 562, 74, - 0, 75, 77, 297, 158, 158, 300, 301, 151, 151, - 73, 204, 298, 151, 75, 158, 158, 158, 101, 158, - 158, 26, 31, 441, 145, 443, 146, 114, 8, 151, - 151, 158, 151, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 73, 8, 75, 145, 121, - 158, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 145, 161, 629, 75, 631, 163, 355, - 145, 73, 73, 158, 158, 73, 158, 161, 153, 161, - 167, 61, 62, 161, 159, 161, 354, 158, 151, 163, - 509, 73, 73, 75, 75, 160, 161, 161, 161, 61, - 62, 160, 163, 73, 160, 160, 160, 159, 622, 160, - 160, 160, 160, 49, 159, 159, 159, 192, 159, 159, - 159, 159, 197, 158, 816, 158, 73, 73, 75, 75, - 205, 206, 207, 161, 209, 163, 211, 95, 96, 97, - 96, 97, 31, 232, 80, 232, 161, 148, 31, 221, - 151, 73, 73, 151, 75, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 258, 120, 258, - 588, 258, 96, 97, 31, 61, 62, 596, 31, 159, - 120, 163, 163, 258, 73, 145, 75, 276, 277, 276, - 277, 151, 75, 114, 159, 160, 614, 159, 287, 288, - 287, 288, 535, 61, 62, 127, 162, 493, 297, 284, - 297, 300, 301, 300, 301, 527, 163, 163, 75, 73, - 295, 640, 75, 68, 69, 114, 148, 148, 145, 151, - 151, 153, 158, 652, 151, 521, 522, 158, 162, 158, - 161, 177, 163, 158, 530, 531, 321, 533, 145, 73, - 145, 616, 324, 328, 151, 158, 151, 158, 65, 148, - 335, 158, 151, 158, 68, 69, 73, 158, 75, 158, - 73, 73, 75, 161, 163, 95, 96, 97, 73, 73, - 352, 75, 73, 352, 352, 160, 544, 31, 224, 547, - 159, 160, 352, 368, 148, 837, 383, 151, 145, 374, - 558, 376, 160, 127, 379, 160, 161, 114, 45, 46, - 47, 114, 49, 22, 23, 680, 22, 23, 158, 145, - 114, 101, 616, 126, 148, 124, 63, 151, 151, 153, - 63, 750, 151, 752, 65, 159, 145, 145, 413, 275, - 49, 148, 164, 8, 151, 148, 151, 145, 151, 145, - 151, 158, 158, 124, 148, 158, 163, 151, 85, 73, - 163, 13, 298, 160, 158, 101, 441, 786, 443, 163, - 73, 80, 75, 109, 110, 111, 112, 113, 114, 160, - 13, 159, 457, 458, 459, 159, 680, 159, 463, 464, - 465, 451, 73, 468, 454, 22, 23, 73, 817, 26, - 122, 461, 122, 158, 158, 8, 93, 482, 483, 160, - 485, 114, 13, 73, 489, 490, 75, 158, 160, 355, - 356, 159, 8, 495, 843, 159, 495, 495, 158, 504, - 158, 506, 13, 852, 509, 495, 527, 123, 527, 514, - 527, 159, 161, 158, 153, 148, 158, 158, 151, 159, - 158, 164, 527, 158, 158, 158, 73, 164, 159, 158, - 163, 719, 151, 721, 105, 145, 73, 13, 177, 160, - 13, 159, 102, 321, 159, 8, 734, 107, 553, 109, - 110, 111, 112, 113, 114, 115, 744, 335, 197, 151, - 748, 161, 159, 8, 569, 570, 205, 206, 207, 124, - 209, 576, 42, 43, 44, 45, 46, 47, 13, 49, - 160, 769, 125, 588, 772, 224, 160, 592, 160, 777, - 125, 596, 8, 63, 164, 600, 153, 616, 73, 616, - 158, 160, 162, 109, 110, 111, 112, 113, 114, 614, - 159, 159, 107, 159, 75, 13, 618, 159, 623, 621, - 159, 159, 627, 811, 124, 159, 628, 493, 633, 159, - 635, 160, 164, 159, 757, 640, 275, 503, 159, 159, - 197, 73, 75, 161, 158, 13, 161, 652, 205, 206, - 207, 839, 209, 158, 125, 521, 522, 160, 159, 298, - 75, 680, 664, 680, 530, 531, 160, 533, 673, 857, - 160, 13, 860, 161, 13, 75, 73, 13, 158, 867, - 26, 459, 102, 70, 75, 463, 464, 107, 160, 109, - 110, 111, 112, 113, 114, 115, 13, 159, 688, 75, - 13, 258, 160, 93, 694, 695, 161, 160, 162, 93, - 152, 160, 13, 73, 145, 73, 355, 356, 75, 724, - 160, 158, 26, 73, 160, 73, 504, 8, 105, 368, - 159, 158, 157, 161, 75, 159, 848, 328, 161, 483, - 509, 746, 162, 733, 749, 750, 554, 752, 623, 754, - 600, 695, 333, 741, 595, 321, 786, 759, 81, 642, - 765, 763, 606, 569, 321, 568, 726, 197, 490, 335, - 489, 210, -1, 775, 413, -1, 778, -1, 335, 781, - -1, 786, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 796, -1, -1, -1, -1, -1, 802, 576, -1, - -1, -1, 441, 805, 443, -1, 808, -1, 810, -1, - -1, 368, 817, -1, -1, 820, -1, 807, 457, 458, - -1, -1, -1, -1, -1, -1, -1, -1, 830, -1, - -1, -1, 837, -1, -1, -1, -1, -1, 843, -1, - -1, -1, -1, 845, 483, -1, 485, 852, -1, 627, - 489, 490, -1, -1, 493, 633, 413, 635, -1, 861, - -1, 863, -1, -1, 503, -1, 868, 13, 14, 15, + 2, 126, 26, 2, 2, 494, 26, 236, 307, 2, + 235, 26, 262, 466, 376, 680, 8, 22, 23, 8, + 26, 26, 8, 8, 8, 8, 193, 8, 8, 8, + 26, 8, 8, 63, 8, 8, 8, 526, 8, 73, + 8, 215, 63, 93, 278, 38, 63, 52, 75, 63, + 279, 73, 281, 75, 56, 280, 0, 282, 81, 63, + 73, 286, 287, 73, 293, 294, 158, 329, 93, 74, + 304, 158, 77, 73, 303, 75, 158, 306, 307, 26, + 145, 343, 207, 73, 158, 75, 151, 151, 329, 451, + 31, 453, 577, 158, 63, 115, 160, 161, 8, 96, + 97, 151, 343, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 49, 73, 151, 75, 73, + 73, 123, 75, 75, 145, 148, 151, 161, 145, 363, + 75, 161, 96, 97, 75, 148, 163, 158, 151, 161, + 161, 163, 147, 75, 161, 73, 80, 161, 158, 169, + 155, 61, 62, 73, 158, 161, 161, 161, 73, 644, + 73, 646, 120, 163, 160, 162, 831, 159, 382, 101, + 384, 160, 161, 163, 160, 160, 160, 160, 73, 160, + 160, 160, 159, 159, 637, 159, 159, 159, 362, 159, + 195, 159, 158, 31, 148, 200, 31, 151, 162, 127, + 31, 61, 62, 208, 209, 210, 163, 212, 470, 214, + 163, 163, 474, 475, 476, 158, 236, 73, 163, 31, + 148, 236, 224, 151, 145, 153, 95, 96, 97, 470, + 151, 159, 127, 474, 475, 73, 151, 75, 262, 158, + 75, 603, 262, 73, 75, 75, 180, 262, 151, 159, + 95, 96, 97, 148, 516, 158, 151, 262, 153, 279, + 158, 281, 65, 75, 279, 161, 281, 629, 159, 160, + 73, 505, 75, 293, 294, 516, 114, 120, 293, 294, + 159, 160, 158, 303, 114, 290, 306, 307, 303, 539, + 151, 306, 307, 227, 68, 69, 301, 158, 22, 23, + 534, 535, 26, 68, 69, 160, 161, 521, 542, 543, + 148, 114, 546, 151, 158, 73, 158, 75, 148, 151, + 158, 151, 584, 548, 329, 163, 158, 161, 158, 591, + 332, 336, 631, 163, 145, 73, 145, 75, 343, 158, + 151, 158, 151, 158, 278, 148, 145, 158, 151, 158, + 591, 145, 151, 22, 23, 158, 114, 151, 360, 73, + 163, 360, 360, 852, 45, 46, 47, 360, 49, 73, + 304, 376, 392, 160, 31, 63, 114, 382, 145, 384, + 642, 158, 387, 145, 63, 124, 648, 63, 650, 63, + 148, 101, 559, 151, 151, 562, 695, 611, 49, 151, + 158, 642, 631, 161, 65, 163, 573, 648, 145, 650, + 148, 145, 8, 151, 164, 420, 151, 145, 151, 145, + 158, 124, 158, 85, 73, 163, 688, 102, 160, 363, + 364, 155, 107, 13, 109, 110, 111, 112, 113, 114, + 115, 655, 160, 13, 159, 73, 451, 688, 453, 101, + 159, 159, 73, 667, 122, 122, 158, 109, 110, 111, + 112, 113, 114, 468, 469, 470, 695, 164, 461, 474, + 475, 476, 465, 158, 160, 480, 200, 739, 8, 472, + 93, 13, 73, 75, 208, 209, 210, 162, 212, 494, + 495, 8, 497, 158, 160, 159, 501, 502, 739, 761, + 158, 13, 764, 159, 158, 507, 159, 769, 507, 507, + 158, 516, 123, 518, 507, 539, 521, 161, 780, 539, + 761, 526, 164, 764, 539, 158, 158, 158, 769, 159, + 164, 158, 158, 73, 539, 102, 151, 159, 262, 780, + 107, 164, 109, 110, 111, 112, 113, 114, 115, 811, + 164, 765, 164, 767, 158, 817, 145, 42, 43, 44, + 45, 46, 47, 568, 49, 73, 105, 734, 13, 736, + 811, 505, 160, 835, 13, 159, 817, 159, 151, 584, + 585, 515, 749, 161, 8, 159, 591, 801, 8, 124, + 13, 160, 759, 164, 835, 162, 763, 125, 603, 160, + 534, 535, 607, 160, 125, 329, 611, 8, 542, 543, + 615, 631, 546, 73, 158, 160, 631, 784, 832, 343, + 787, 159, 159, 159, 629, 792, 107, 75, 13, 124, + 159, 633, 159, 638, 636, 159, 159, 642, 164, 159, + 159, 643, 160, 648, 858, 650, 159, 772, 159, 75, + 655, 73, 376, 867, 161, 158, 161, 13, 8, 826, + 158, 160, 667, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 695, 159, 679, 160, 125, + 695, 160, 75, 688, 161, 13, 13, 854, 109, 110, + 111, 112, 113, 114, 73, 75, 420, 13, 70, 158, + 26, 75, 160, 159, 13, 872, 75, 13, 875, 160, + 703, 61, 62, 162, 161, 882, 709, 710, 93, 160, + 93, 152, 160, 13, 73, 160, 145, 451, 73, 453, + 158, 75, 26, 160, 739, 73, 73, 8, 105, 75, + 157, 159, 158, 336, 468, 469, 470, 161, 159, 161, + 474, 475, 476, 863, 495, 748, 761, 521, 638, 764, + 765, 73, 767, 75, 769, 569, 615, 81, 710, 756, + 610, 495, 774, 497, 657, 780, 778, 501, 502, 341, + 621, 583, 801, 584, 501, 200, 741, -1, 790, 502, + -1, 793, 516, -1, 796, -1, 801, -1, -1, -1, + 213, -1, 114, 42, 43, -1, 811, -1, -1, 159, + -1, -1, 817, -1, 126, 539, -1, -1, 820, -1, + -1, 823, -1, 825, 63, -1, -1, 832, -1, 822, + 835, -1, 71, 72, 73, -1, 148, -1, -1, 151, + -1, -1, 81, 845, 568, -1, 158, 852, -1, -1, + -1, 163, -1, 858, -1, -1, -1, -1, 860, -1, + 584, -1, 867, -1, -1, -1, -1, 591, -1, -1, + -1, -1, -1, -1, 876, 114, 878, -1, -1, 603, + -1, 883, -1, -1, -1, -1, -1, -1, 127, 128, + 129, 130, 131, 132, -1, -1, 22, 23, -1, -1, + 26, -1, -1, 142, -1, 629, -1, -1, -1, 148, + 149, 150, 151, -1, 638, -1, 155, -1, 642, -1, + -1, -1, -1, -1, 648, -1, 650, -1, 4, 5, + -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, -1, -1, 24, 25, + -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, + 11, 37, -1, -1, 688, -1, -1, -1, 44, 45, + -1, -1, -1, 49, 25, 51, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, + -1, -1, -1, -1, 80, 81, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 739, -1, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 155, + -1, -1, -1, -1, -1, -1, -1, 761, -1, -1, + 764, -1, -1, -1, -1, 769, -1, -1, -1, -1, + -1, -1, -1, 129, 22, 23, 780, -1, -1, -1, + -1, -1, -1, -1, -1, 61, 62, -1, -1, -1, + -1, -1, -1, -1, 200, -1, -1, -1, -1, -1, + -1, 49, 208, 209, 210, -1, 212, 811, -1, -1, + -1, -1, -1, 817, 170, -1, 172, 93, 174, -1, + -1, -1, 178, 179, 180, -1, 182, -1, -1, 160, + -1, 835, 80, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, -1, 49, 262, 213, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 225, + -1, 227, -1, -1, -1, -1, -1, -1, -1, 235, + -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, -1, 155, -1, -1, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, -1, 280, -1, 282, 283, -1, -1, + 286, 287, 180, -1, -1, -1, -1, -1, -1, -1, + -1, 297, -1, 299, -1, -1, -1, -1, 304, -1, + -1, -1, 200, -1, -1, -1, -1, -1, 314, -1, + 208, 209, 210, -1, 212, 9, 10, 11, -1, -1, + 376, -1, -1, -1, -1, -1, -1, -1, -1, 227, + -1, 25, 338, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, -1, 49, -1, 363, 364, -1, + -1, -1, -1, -1, 420, -1, -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, - -1, -1, 521, 522, 441, -1, 443, -1, -1, -1, - -1, 530, 531, 459, 533, 673, -1, 463, 464, 465, - 457, 458, 459, -1, -1, -1, 463, 464, 465, -1, - -1, -1, -1, -1, 553, 61, 62, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 483, -1, 485, -1, - -1, -1, 489, 490, -1, -1, -1, -1, 504, -1, - -1, -1, -1, -1, -1, -1, 724, 504, -1, 588, - -1, -1, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, -1, 746, -1, - 527, 749, -1, -1, -1, 614, 754, -1, -1, -1, - -1, -1, -1, -1, 623, -1, -1, 765, 22, 23, - -1, -1, 26, -1, -1, -1, 553, -1, -1, -1, - 61, 62, -1, 569, -1, -1, -1, -1, -1, -1, - 576, -1, 569, 159, 160, -1, -1, -1, 796, 576, - -1, -1, -1, -1, 802, -1, -1, -1, -1, -1, - -1, 588, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 820, -1, -1, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 614, 49, -1, - -1, 627, -1, -1, -1, -1, 623, 633, -1, 635, - 627, -1, 63, -1, -1, -1, 633, -1, 635, -1, - 4, 5, -1, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 159, 160, - 24, 25, -1, -1, -1, -1, -1, 673, -1, -1, - 9, 10, 11, 37, -1, -1, 673, -1, -1, 153, - 44, 45, -1, -1, -1, 49, 25, 51, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 278, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 396, -1, -1, -1, -1, 451, -1, 453, -1, -1, + -1, -1, -1, -1, -1, -1, 304, -1, -1, -1, + -1, -1, 468, 469, -1, 61, 62, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, - 49, -1, -1, -1, -1, -1, 80, 81, 724, -1, - -1, -1, -1, 197, 63, -1, -1, 724, -1, -1, - -1, 205, 206, 207, -1, 209, -1, -1, -1, -1, - 746, -1, -1, 749, 42, 43, -1, -1, 754, 746, - -1, -1, 749, -1, -1, -1, -1, 754, -1, 765, - -1, -1, -1, 127, -1, 63, -1, -1, 765, -1, - -1, -1, -1, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, 81, 258, -1, -1, -1, -1, -1, - 796, -1, -1, -1, -1, -1, 802, -1, -1, 796, - -1, -1, -1, -1, 168, 802, 170, -1, -1, -1, - -1, 175, 176, 177, 820, 179, 114, -1, -1, -1, - -1, 160, -1, 820, -1, -1, -1, -1, -1, 127, - 128, 129, 130, 131, 132, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 142, -1, 210, -1, -1, -1, - 148, 149, 150, 151, -1, -1, -1, 155, 222, -1, - 224, -1, -1, -1, -1, -1, -1, -1, -1, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 368, 259, -1, -1, -1, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, -1, -1, 278, 279, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 291, -1, 293, - -1, -1, -1, -1, 298, -1, -1, -1, -1, 413, - -1, -1, 306, -1, -1, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 330, 441, -1, 443, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, -1, 457, 458, -1, -1, -1, -1, -1, - -1, 355, 356, 61, 62, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 9, 10, 11, 483, - -1, 485, -1, -1, -1, 489, 490, -1, 61, 62, - -1, -1, 25, 387, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, - 93, -1, -1, 527, -1, -1, -1, -1, -1, -1, - 63, -1, -1, -1, -1, -1, 430, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 553, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 453, - -1, 455, 456, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, -1, 49, 588, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 63, -1, 493, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 503, - 614, -1, -1, -1, -1, -1, -1, -1, -1, 623, - -1, -1, -1, -1, -1, -1, -1, 521, 522, 162, - -1, 525, -1, -1, -1, -1, 530, 531, -1, 533, - -1, 535, 536, -1, 9, 10, 11, 541, -1, -1, - -1, -1, 3, 4, 5, 6, 7, -1, -1, -1, - 25, 12, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, -1, 49, -1, -1, -1, -1, 583, - -1, 42, 43, -1, -1, -1, -1, 48, 63, 50, - 51, 52, 53, 54, 55, -1, -1, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, -1, -1, -1, - 71, 72, 73, 74, 75, -1, 77, -1, 622, -1, - 81, 82, 83, 84, 85, -1, 87, -1, 89, -1, - 91, -1, -1, 94, -1, -1, -1, 98, 99, 100, - 101, 102, 103, 104, -1, 106, 107, 108, -1, -1, - -1, 112, 113, 114, -1, 116, 117, 118, 119, 120, - 121, -1, -1, -1, -1, 126, 127, 128, 129, 130, - 131, 132, -1, -1, 135, 136, -1, 138, -1, -1, - -1, 142, -1, -1, -1, 160, -1, 148, 149, 150, - 151, -1, -1, 154, 155, 156, 700, 158, -1, 160, - 161, 162, 163, -1, -1, -1, -1, -1, -1, -1, + 49, -1, 438, -1, -1, -1, -1, -1, -1, 495, + -1, 497, -1, -1, -1, 501, 502, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 464, -1, + 466, 467, -1, -1, -1, 363, 364, -1, 162, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 376, -1, + -1, -1, -1, 539, -1, -1, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, -1, 505, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, + -1, -1, 568, 159, 160, -1, -1, -1, -1, -1, + -1, -1, 420, -1, -1, -1, -1, -1, 534, 535, + -1, -1, 538, -1, 61, 62, 542, 543, -1, -1, + 546, -1, 548, 549, -1, -1, -1, 603, -1, -1, + 556, -1, -1, 451, -1, 453, -1, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + 468, 469, -1, 629, -1, -1, -1, -1, -1, -1, + -1, -1, 638, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 598, -1, -1, -1, -1, 495, -1, 497, + -1, -1, -1, 501, 502, 61, 62, 505, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 515, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + -1, 637, 159, 160, -1, -1, 534, 535, -1, -1, + -1, -1, -1, -1, 542, 543, -1, -1, 546, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, + 10, 11, -1, -1, -1, -1, 61, 62, -1, -1, + 568, -1, -1, -1, -1, 25, -1, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, 160, 603, -1, -1, -1, 715, 3, 4, 5, 6, 7, -1, -1, -1, -1, 12, - -1, -1, -1, -1, -1, -1, 730, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, + -1, 629, -1, -1, -1, -1, -1, -1, -1, 745, + 638, -1, -1, -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, - 53, 54, 55, -1, 768, 58, 59, 60, 61, 62, + 53, 54, 55, -1, -1, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, -1, -1, 783, 71, 72, + 73, 74, 75, -1, 77, -1, -1, -1, 81, 82, + 83, 84, 85, -1, 87, -1, 89, -1, 91, -1, + -1, 94, -1, -1, -1, 98, 99, 100, 101, 102, + 103, 104, 162, 106, 107, 108, -1, -1, -1, 112, + 113, 114, -1, 116, 117, 118, 119, 120, 121, -1, + -1, -1, -1, 126, 127, 128, 129, 130, 131, 132, + -1, -1, 135, 136, -1, 138, -1, -1, -1, 142, + 3, 4, 5, 6, 7, 148, 149, 150, 151, 12, + -1, 154, 155, 156, -1, 158, -1, 160, 161, 162, + 163, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, -1, 49, 42, + 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, + 53, 54, 55, -1, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, 72, 73, 74, 75, -1, 77, -1, -1, -1, 81, 82, 83, 84, 85, -1, 87, -1, 89, -1, 91, -1, @@ -2318,8 +2317,8 @@ -1, -1, 135, 136, -1, 138, -1, -1, -1, 142, 3, 4, 5, 6, 7, 148, 149, 150, 151, 12, -1, 154, 155, 156, -1, 158, -1, 160, 161, 162, - 163, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, + 163, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, -1, 49, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, -1, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, -1, -1, -1, 71, 72, @@ -2621,7 +2620,7 @@ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 101, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 114, -1, 63, 117, 118, -1, -1, -1, -1, + -1, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, 126, 127, 128, 129, 130, 131, 132, -1, 3, 4, 5, 6, 7, -1, -1, -1, 142, 12, -1, -1, -1, -1, 148, 149, 150, 151, -1, @@ -2634,7 +2633,7 @@ 82, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 101, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 114, -1, 63, 117, 118, -1, -1, -1, + -1, -1, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, 126, 127, 128, 129, 130, 131, 132, -1, 3, 4, 5, 6, 7, -1, -1, -1, 142, 12, -1, -1, -1, -1, 148, 149, 150, 151, @@ -2644,10 +2643,10 @@ 51, 52, 53, 54, 55, -1, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, - 81, 82, -1, -1, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 101, 49, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 114, -1, 63, 117, 118, -1, -1, + 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, 126, 127, 128, 129, 130, 131, 132, -1, 3, 4, 5, 6, 7, -1, -1, -1, 142, 12, -1, -1, -1, -1, 148, 149, 150, @@ -2657,10 +2656,10 @@ 50, 51, 52, 53, 54, 55, -1, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, -1, - -1, 81, 82, -1, -1, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 101, 49, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 114, -1, 63, 117, 118, -1, + -1, 81, 82, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 114, -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, 126, 127, 128, 129, 130, 131, 132, -1, 3, 4, 5, 6, 7, -1, -1, -1, 142, 12, -1, -1, -1, -1, 148, 149, @@ -2800,118 +2799,111 @@ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 63, -1, -1, 25, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 63, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 162, 25, -1, 27, 28, + -1, -1, -1, -1, -1, 162, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 63, -1, 162, 25, 26, 27, + -1, -1, -1, -1, -1, -1, 162, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 63, -1, 162, 25, -1, + -1, -1, -1, -1, -1, -1, -1, 162, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 63, -1, -1, 9, - 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 162, -1, 25, -1, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, 9, 10, 11, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 25, 160, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 25, 160, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 25, 160, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 25, 160, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 160, 63, -1, -1, 25, -1, 27, 28, + -1, -1, -1, -1, -1, 159, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 160, 63, -1, -1, 25, -1, 27, + -1, -1, -1, -1, -1, -1, 159, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 63, -1, 9, 10, 11, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 160, -1, -1, 25, -1, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, - 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 159, 63, -1, -1, 25, -1, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, - 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 159, 63, -1, -1, 25, -1, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 9, 10, 11, 63, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 25, 159, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, - 49, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 63, -1, -1, 25, 159, 27, + -1, 9, 10, 11, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 25, 159, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - -1, 49, 9, 10, 11, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 63, -1, -1, 25, 159, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 9, 10, 11, 63, -1, -1, -1, + -1, 49, -1, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, 159, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 63, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, 159, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, - -1, 25, 159, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, - -1, -1, -1, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, 159, -1, -1, -1, -1, -1, 25, - 125, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, -1, 49, -1, -1, 9, 10, 11, -1, - -1, -1, -1, -1, -1, -1, -1, 63, -1, -1, - -1, 125, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, + 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 63, -1, 9, 10, 11, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 25, 125, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, 49, 10, 11, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 63, -1, 25, -1, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 11, 49, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 25, 63, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + 25, 159, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, -1, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 25, 63, 27, 28, 29, 30, 31, 32, + -1, -1, 25, 159, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, + 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 63, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 63, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + -1, -1, -1, 25, 159, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 9, 10, 11, -1, -1, + -1, -1, -1, -1, 159, -1, -1, -1, -1, -1, + -1, 25, 125, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, -1, 49, -1, -1, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 125, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 9, 10, 11, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 25, 125, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 63 + 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 11, 49, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 25, -1, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 25, 49, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, -1, 49, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, -1, 49 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2929,82 +2921,84 @@ 156, 158, 160, 161, 163, 168, 169, 172, 175, 176, 183, 184, 186, 187, 188, 190, 241, 242, 243, 246, 247, 255, 258, 262, 263, 265, 266, 270, 271, 272, - 273, 274, 275, 276, 281, 286, 288, 289, 290, 291, - 73, 114, 148, 156, 243, 262, 262, 158, 262, 262, - 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, - 262, 262, 262, 114, 148, 151, 158, 168, 247, 265, - 266, 272, 265, 31, 262, 284, 285, 262, 148, 151, - 168, 247, 249, 250, 272, 274, 275, 281, 158, 253, - 158, 26, 238, 262, 175, 158, 158, 158, 158, 158, - 160, 262, 160, 262, 73, 73, 160, 241, 262, 266, - 161, 262, 151, 168, 170, 171, 75, 163, 213, 214, - 120, 120, 75, 215, 243, 158, 158, 158, 158, 158, - 158, 151, 161, 168, 168, 241, 262, 266, 242, 262, - 290, 173, 161, 151, 158, 8, 160, 73, 73, 160, - 31, 185, 145, 9, 10, 11, 25, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 49, 63, - 160, 61, 62, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 158, 145, 124, 63, 161, - 163, 275, 185, 262, 151, 168, 290, 145, 145, 264, - 266, 125, 164, 8, 260, 151, 168, 145, 158, 254, - 145, 124, 275, 159, 262, 262, 8, 160, 85, 262, - 239, 240, 262, 241, 266, 73, 199, 262, 160, 160, - 160, 13, 160, 160, 173, 160, 168, 93, 8, 160, - 161, 263, 266, 8, 160, 13, 8, 160, 185, 181, - 182, 266, 266, 287, 266, 159, 126, 266, 282, 283, - 284, 168, 167, 160, 161, 158, 125, 159, 159, 159, - 119, 162, 174, 175, 183, 184, 262, 73, 31, 211, - 212, 241, 266, 73, 122, 189, 122, 191, 73, 158, - 73, 270, 275, 281, 262, 262, 262, 26, 262, 262, + 273, 274, 275, 276, 277, 282, 287, 289, 290, 291, + 292, 293, 73, 114, 148, 156, 243, 262, 262, 158, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, + 262, 262, 262, 262, 262, 114, 148, 151, 158, 168, + 247, 265, 266, 272, 265, 31, 262, 285, 286, 262, + 148, 151, 168, 247, 249, 250, 272, 275, 276, 282, + 158, 253, 158, 26, 63, 238, 262, 175, 158, 158, + 158, 158, 158, 160, 262, 160, 262, 73, 73, 160, + 241, 262, 266, 161, 262, 151, 168, 170, 171, 75, + 163, 213, 214, 120, 120, 75, 215, 243, 158, 158, + 158, 158, 158, 158, 151, 161, 168, 168, 241, 262, + 266, 242, 262, 292, 173, 161, 151, 158, 8, 160, + 73, 73, 160, 31, 185, 63, 145, 9, 10, 11, + 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 49, 160, 61, 62, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 158, 145, + 63, 124, 63, 161, 163, 276, 63, 63, 185, 262, + 151, 168, 292, 145, 145, 264, 266, 125, 164, 8, + 260, 151, 168, 145, 158, 254, 145, 124, 276, 159, + 262, 262, 262, 278, 8, 160, 85, 262, 239, 240, + 262, 241, 266, 73, 199, 262, 160, 160, 160, 13, + 160, 160, 173, 160, 168, 93, 8, 160, 161, 263, + 266, 8, 160, 13, 8, 160, 185, 181, 182, 266, + 266, 288, 266, 159, 126, 266, 283, 284, 285, 168, + 167, 160, 161, 158, 125, 159, 159, 159, 119, 162, + 174, 175, 183, 184, 262, 73, 31, 211, 212, 241, + 266, 73, 122, 189, 122, 191, 73, 158, 278, 73, + 270, 276, 282, 262, 262, 262, 26, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, - 249, 262, 277, 31, 262, 262, 262, 262, 262, 262, - 262, 262, 262, 262, 262, 262, 211, 73, 270, 73, - 161, 270, 278, 279, 280, 277, 262, 159, 168, 73, - 73, 31, 262, 31, 262, 168, 270, 211, 270, 278, - 159, 159, 262, 158, 159, 160, 8, 93, 93, 13, - 8, 159, 159, 42, 43, 63, 127, 148, 151, 168, - 247, 255, 256, 257, 162, 93, 73, 171, 262, 214, - 256, 75, 158, 8, 159, 8, 159, 159, 160, 158, - 8, 159, 159, 158, 162, 167, 211, 241, 266, 158, - 162, 264, 159, 8, 13, 148, 151, 168, 248, 123, - 192, 193, 248, 161, 158, 127, 153, 208, 209, 210, - 248, 158, 158, 275, 262, 26, 164, 65, 266, 159, - 158, 158, 262, 158, 269, 63, 161, 164, 162, 264, - 264, 125, 159, 251, 26, 175, 262, 26, 175, 203, - 239, 262, 266, 31, 195, 266, 256, 73, 26, 175, - 198, 26, 161, 200, 256, 256, 256, 259, 261, 158, - 151, 168, 145, 105, 73, 162, 13, 208, 182, 160, - 266, 282, 283, 13, 211, 162, 159, 159, 31, 241, - 266, 256, 151, 168, 193, 161, 8, 216, 208, 159, - 8, 31, 75, 211, 211, 262, 249, 211, 211, 162, - 211, 267, 277, 262, 31, 262, 124, 252, 173, 204, - 159, 173, 160, 125, 194, 266, 194, 13, 173, 160, - 201, 160, 201, 125, 164, 8, 260, 259, 168, 73, - 158, 256, 159, 159, 262, 159, 160, 264, 168, 216, - 248, 102, 107, 109, 110, 111, 112, 113, 114, 115, - 162, 217, 219, 232, 233, 234, 235, 237, 159, 107, - 244, 210, 75, 13, 159, 159, 254, 159, 159, 159, - 124, 268, 164, 162, 264, 278, 205, 68, 69, 206, - 160, 86, 239, 195, 159, 159, 256, 92, 201, 95, - 96, 97, 201, 162, 256, 256, 159, 248, 244, 162, - 73, 220, 248, 75, 236, 243, 235, 8, 160, 161, - 158, 161, 31, 75, 13, 256, 278, 68, 69, 207, - 158, 175, 160, 159, 26, 175, 197, 197, 160, 95, - 160, 262, 26, 160, 202, 162, 125, 75, 161, 13, - 8, 160, 161, 221, 13, 8, 160, 218, 73, 173, - 31, 75, 245, 173, 75, 13, 256, 269, 158, 26, - 70, 262, 26, 175, 196, 173, 160, 202, 173, 256, - 159, 173, 256, 248, 73, 222, 223, 224, 225, 227, - 228, 229, 248, 256, 75, 185, 13, 162, 75, 8, - 159, 162, 13, 256, 262, 173, 160, 159, 173, 90, - 173, 161, 162, 162, 224, 160, 93, 152, 160, 145, - 13, 73, 256, 31, 75, 256, 159, 175, 88, 160, - 173, 230, 235, 226, 248, 73, 256, 158, 75, 26, - 160, 162, 73, 8, 208, 173, 105, 177, 179, 180, - 248, 159, 158, 157, 178, 180, 160, 161, 231, 248, - 161, 173, 75, 173, 162, 159, 162, 161, 173, 162 + 262, 262, 262, 262, 262, 262, 262, 262, 262, 249, + 31, 262, 262, 262, 262, 262, 262, 262, 262, 262, + 262, 262, 262, 211, 73, 270, 278, 73, 161, 270, + 279, 280, 281, 278, 262, 278, 278, 159, 168, 73, + 73, 31, 262, 31, 262, 168, 270, 211, 270, 279, + 159, 159, 164, 262, 158, 159, 160, 8, 93, 93, + 13, 8, 159, 159, 42, 43, 63, 81, 127, 148, + 151, 168, 247, 255, 256, 257, 162, 93, 73, 171, + 262, 214, 256, 75, 158, 8, 159, 8, 159, 159, + 160, 158, 8, 159, 159, 158, 162, 167, 211, 241, + 266, 158, 162, 264, 159, 8, 13, 148, 151, 168, + 248, 123, 192, 193, 248, 161, 158, 127, 153, 208, + 209, 210, 248, 164, 158, 158, 276, 262, 26, 65, + 266, 159, 158, 158, 164, 262, 158, 269, 63, 161, + 164, 162, 164, 164, 264, 264, 125, 159, 251, 26, + 175, 262, 26, 175, 203, 239, 262, 266, 31, 195, + 266, 256, 73, 26, 175, 198, 26, 161, 200, 256, + 256, 256, 259, 261, 158, 151, 168, 145, 105, 73, + 162, 13, 208, 182, 160, 266, 283, 284, 13, 211, + 162, 159, 159, 31, 241, 266, 256, 151, 168, 193, + 161, 8, 216, 208, 159, 8, 31, 75, 211, 211, + 262, 249, 211, 211, 162, 211, 267, 278, 262, 31, + 262, 124, 252, 173, 204, 159, 173, 160, 125, 194, + 266, 194, 13, 173, 160, 201, 160, 201, 125, 164, + 8, 260, 259, 168, 73, 158, 256, 159, 159, 262, + 159, 160, 264, 168, 216, 248, 102, 107, 109, 110, + 111, 112, 113, 114, 115, 162, 217, 219, 232, 233, + 234, 235, 237, 159, 107, 244, 210, 75, 13, 159, + 159, 254, 159, 159, 159, 124, 268, 164, 162, 264, + 279, 205, 68, 69, 206, 160, 86, 239, 195, 159, + 159, 256, 92, 201, 95, 96, 97, 201, 162, 256, + 256, 159, 248, 244, 162, 73, 220, 248, 75, 236, + 243, 235, 8, 160, 161, 158, 161, 31, 75, 13, + 256, 279, 68, 69, 207, 158, 175, 160, 159, 26, + 175, 197, 197, 160, 95, 160, 262, 26, 160, 202, + 162, 125, 75, 161, 13, 8, 160, 161, 221, 13, + 8, 160, 218, 73, 173, 31, 75, 245, 173, 75, + 13, 256, 269, 158, 26, 70, 262, 26, 175, 196, + 173, 160, 202, 173, 256, 159, 173, 256, 248, 73, + 222, 223, 224, 225, 227, 228, 229, 248, 256, 75, + 185, 13, 162, 75, 8, 159, 162, 13, 256, 262, + 173, 160, 159, 173, 90, 173, 161, 162, 162, 224, + 160, 93, 152, 160, 145, 13, 73, 256, 31, 75, + 256, 159, 175, 88, 160, 173, 230, 235, 226, 248, + 73, 256, 158, 75, 26, 160, 162, 73, 8, 208, + 173, 105, 177, 179, 180, 248, 159, 158, 157, 178, + 180, 160, 161, 231, 248, 161, 173, 75, 173, 162, + 159, 162, 161, 173, 162 }; #define yyerrok (yyerrstatus = 0) @@ -6371,9 +6365,9 @@ } break; - case 275: + case 276: /* Line 1787 of yacc.c */ -#line 1810 "parser.y" +#line 1811 "parser.y" { (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION); (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR)); @@ -6381,9 +6375,9 @@ } break; - case 276: + case 277: /* Line 1787 of yacc.c */ -#line 1815 "parser.y" +#line 1816 "parser.y" { NTYPE((yyvsp[(1) - (1)]), n_YIELD); (yyvsp[(1) - (1)])->appendChild(NNEW(n_EMPTY)); @@ -6392,9 +6386,9 @@ } break; - case 277: + case 278: /* Line 1787 of yacc.c */ -#line 1821 "parser.y" +#line 1822 "parser.y" { NSPAN((yyvsp[(1) - (9)]), n_FUNCTION_DECLARATION, (yyvsp[(9) - (9)])); (yyvsp[(1) - (9)])->appendChild(NNEW(n_EMPTY)); @@ -6408,9 +6402,9 @@ } break; - case 278: + case 279: /* Line 1787 of yacc.c */ -#line 1832 "parser.y" +#line 1833 "parser.y" { NSPAN((yyvsp[(2) - (10)]), n_FUNCTION_DECLARATION, (yyvsp[(10) - (10)])); NLMORE((yyvsp[(2) - (10)]), (yyvsp[(1) - (10)])); @@ -6430,9 +6424,9 @@ } break; - case 279: + case 280: /* Line 1787 of yacc.c */ -#line 1852 "parser.y" +#line 1853 "parser.y" { NTYPE((yyvsp[(1) - (2)]), n_YIELD); (yyvsp[(2) - (2)])->appendChild(NNEW(n_EMPTY)); @@ -6441,9 +6435,9 @@ } break; - case 280: + case 281: /* Line 1787 of yacc.c */ -#line 1858 "parser.y" +#line 1859 "parser.y" { NTYPE((yyvsp[(1) - (2)]), n_YIELD); (yyvsp[(2) - (2)])->appendChild(NNEW(n_EMPTY)); @@ -6452,9 +6446,9 @@ } break; - case 281: + case 282: /* Line 1787 of yacc.c */ -#line 1864 "parser.y" +#line 1865 "parser.y" { NTYPE((yyvsp[(1) - (4)]), n_YIELD); (yyvsp[(1) - (4)])->appendChild((yyvsp[(2) - (4)])); @@ -6463,9 +6457,9 @@ } break; - case 282: + case 283: /* Line 1787 of yacc.c */ -#line 1870 "parser.y" +#line 1871 "parser.y" { NTYPE((yyvsp[(1) - (4)]), n_YIELD); (yyvsp[(1) - (4)])->appendChild((yyvsp[(2) - (4)])); @@ -6474,17 +6468,17 @@ } break; - case 284: + case 285: /* Line 1787 of yacc.c */ -#line 1883 "parser.y" +#line 1884 "parser.y" { (yyval) = NNEW(n_EMPTY); } break; - case 285: + case 286: /* Line 1787 of yacc.c */ -#line 1886 "parser.y" +#line 1887 "parser.y" { NTYPE((yyvsp[(1) - (4)]), n_LEXICAL_VARIABLE_LIST); (yyvsp[(1) - (4)])->appendChildren((yyvsp[(3) - (4)])); @@ -6492,17 +6486,17 @@ } break; - case 286: + case 287: /* Line 1787 of yacc.c */ -#line 1894 "parser.y" +#line 1895 "parser.y" { (yyval) = (yyvsp[(1) - (3)])->appendChild(NTYPE((yyvsp[(3) - (3)]), n_VARIABLE)); } break; - case 287: + case 288: /* Line 1787 of yacc.c */ -#line 1897 "parser.y" +#line 1898 "parser.y" { NTYPE((yyvsp[(3) - (4)]), n_VARIABLE_REFERENCE); (yyvsp[(3) - (4)])->appendChild(NTYPE((yyvsp[(4) - (4)]), n_VARIABLE)); @@ -6510,18 +6504,18 @@ } break; - case 288: + case 289: /* Line 1787 of yacc.c */ -#line 1902 "parser.y" +#line 1903 "parser.y" { (yyval) = NNEW(n_LEXICAL_VARIABLE_LIST); (yyval)->appendChild(NTYPE((yyvsp[(1) - (1)]), n_VARIABLE)); } break; - case 289: + case 290: /* Line 1787 of yacc.c */ -#line 1906 "parser.y" +#line 1907 "parser.y" { NTYPE((yyvsp[(1) - (2)]), n_VARIABLE_REFERENCE); (yyvsp[(1) - (2)])->appendChild(NTYPE((yyvsp[(2) - (2)]), n_VARIABLE)); @@ -6530,9 +6524,9 @@ } break; - case 290: + case 291: /* Line 1787 of yacc.c */ -#line 1915 "parser.y" +#line 1916 "parser.y" { (yyval) = NNEW(n_FUNCTION_CALL); (yyval)->appendChild((yyvsp[(1) - (4)])); @@ -6540,9 +6534,9 @@ } break; - case 291: + case 292: /* Line 1787 of yacc.c */ -#line 1920 "parser.y" +#line 1921 "parser.y" { NLMORE((yyvsp[(3) - (6)]), (yyvsp[(1) - (6)])); (yyval) = NNEW(n_FUNCTION_CALL); @@ -6551,9 +6545,9 @@ } break; - case 292: + case 293: /* Line 1787 of yacc.c */ -#line 1926 "parser.y" +#line 1927 "parser.y" { NLMORE((yyvsp[(2) - (5)]), (yyvsp[(1) - (5)])); (yyval) = NNEW(n_FUNCTION_CALL); @@ -6562,9 +6556,9 @@ } break; - case 293: + case 294: /* Line 1787 of yacc.c */ -#line 1932 "parser.y" +#line 1933 "parser.y" { (yyval) = NNEW(n_CLASS_STATIC_ACCESS); (yyval)->appendChild((yyvsp[(1) - (6)])); @@ -6575,9 +6569,9 @@ } break; - case 294: + case 295: /* Line 1787 of yacc.c */ -#line 1940 "parser.y" +#line 1941 "parser.y" { (yyval) = NNEW(n_CLASS_STATIC_ACCESS); (yyval)->appendChild((yyvsp[(1) - (6)])); @@ -6588,9 +6582,9 @@ } break; - case 295: + case 296: /* Line 1787 of yacc.c */ -#line 1948 "parser.y" +#line 1949 "parser.y" { (yyval) = NNEW(n_CLASS_STATIC_ACCESS); (yyval)->appendChild((yyvsp[(1) - (6)])); @@ -6601,9 +6595,9 @@ } break; - case 296: + case 297: /* Line 1787 of yacc.c */ -#line 1956 "parser.y" +#line 1957 "parser.y" { (yyval) = NNEW(n_CLASS_STATIC_ACCESS); (yyval)->appendChild((yyvsp[(1) - (6)])); @@ -6614,9 +6608,9 @@ } break; - case 297: + case 298: /* Line 1787 of yacc.c */ -#line 1964 "parser.y" +#line 1965 "parser.y" { (yyval) = NNEW(n_FUNCTION_CALL); (yyval)->appendChild((yyvsp[(1) - (4)])); @@ -6624,69 +6618,69 @@ } break; - case 298: + case 299: /* Line 1787 of yacc.c */ -#line 1972 "parser.y" +#line 1973 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_CLASS_NAME); } break; - case 299: + case 300: /* Line 1787 of yacc.c */ -#line 1975 "parser.y" +#line 1976 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_CLASS_NAME); } break; - case 300: + case 301: /* Line 1787 of yacc.c */ -#line 1978 "parser.y" +#line 1979 "parser.y" { NLMORE((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)])); (yyval) = NTYPE((yyvsp[(3) - (3)]), n_CLASS_NAME); } break; - case 301: + case 302: /* Line 1787 of yacc.c */ -#line 1982 "parser.y" +#line 1983 "parser.y" { NLMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)])); (yyval) = NTYPE((yyvsp[(2) - (2)]), n_CLASS_NAME); } break; - case 302: + case 303: /* Line 1787 of yacc.c */ -#line 1989 "parser.y" +#line 1990 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_CLASS_NAME); } break; - case 303: + case 304: /* Line 1787 of yacc.c */ -#line 1992 "parser.y" +#line 1993 "parser.y" { NLMORE((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)])); (yyval) = NTYPE((yyvsp[(3) - (3)]), n_CLASS_NAME); } break; - case 304: + case 305: /* Line 1787 of yacc.c */ -#line 1996 "parser.y" +#line 1997 "parser.y" { NLMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)])); (yyval) = NTYPE((yyvsp[(2) - (2)]), n_CLASS_NAME); } break; - case 307: + case 308: /* Line 1787 of yacc.c */ -#line 2008 "parser.y" +#line 2009 "parser.y" { (yyval) = NNEW(n_OBJECT_PROPERTY_ACCESS); (yyval)->appendChild((yyvsp[(1) - (4)])); @@ -6698,50 +6692,50 @@ } break; - case 309: + case 310: /* Line 1787 of yacc.c */ -#line 2021 "parser.y" +#line 2022 "parser.y" { (yyval) = (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)])); } break; - case 310: + case 311: /* Line 1787 of yacc.c */ -#line 2024 "parser.y" +#line 2025 "parser.y" { (yyval) = NNEW(n_EMPTY); } break; - case 311: + case 312: /* Line 1787 of yacc.c */ -#line 2030 "parser.y" +#line 2031 "parser.y" { (yyval) = (yyvsp[(2) - (2)]); } break; - case 312: + case 313: /* Line 1787 of yacc.c */ -#line 2036 "parser.y" +#line 2037 "parser.y" { (yyval) = NNEW(n_EMPTY); } break; - case 313: + case 314: /* Line 1787 of yacc.c */ -#line 2039 "parser.y" +#line 2040 "parser.y" { NSPAN((yyvsp[(1) - (2)]), n_EMPTY, (yyvsp[(2) - (2)])); (yyval) = (yyvsp[(1) - (2)]); } break; - case 314: + case 315: /* Line 1787 of yacc.c */ -#line 2043 "parser.y" +#line 2044 "parser.y" { NSPAN((yyvsp[(1) - (3)]), n_PARENTHETICAL_EXPRESSION, (yyvsp[(3) - (3)])); (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)])); @@ -6749,33 +6743,25 @@ } break; - case 315: -/* Line 1787 of yacc.c */ -#line 2051 "parser.y" - { - (yyval) = NNEW(n_EMPTY); - } - break; - case 316: /* Line 1787 of yacc.c */ -#line 2054 "parser.y" +#line 2052 "parser.y" { - (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)])); + (yyval) = NNEW(n_EMPTY); } break; case 317: /* Line 1787 of yacc.c */ -#line 2060 "parser.y" +#line 2055 "parser.y" { - (yyval) = NTYPE((yyvsp[(1) - (1)]), n_NUMERIC_SCALAR); + (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)])); } break; case 318: /* Line 1787 of yacc.c */ -#line 2063 "parser.y" +#line 2061 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_NUMERIC_SCALAR); } @@ -6783,23 +6769,23 @@ case 319: /* Line 1787 of yacc.c */ -#line 2066 "parser.y" +#line 2064 "parser.y" { - (yyval) = NTYPE((yyvsp[(1) - (1)]), n_STRING_SCALAR); + (yyval) = NTYPE((yyvsp[(1) - (1)]), n_NUMERIC_SCALAR); } break; case 320: /* Line 1787 of yacc.c */ -#line 2069 "parser.y" +#line 2067 "parser.y" { - (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR); + (yyval) = NTYPE((yyvsp[(1) - (1)]), n_STRING_SCALAR); } break; case 321: /* Line 1787 of yacc.c */ -#line 2072 "parser.y" +#line 2070 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR); } @@ -6807,7 +6793,7 @@ case 322: /* Line 1787 of yacc.c */ -#line 2075 "parser.y" +#line 2073 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR); } @@ -6815,7 +6801,7 @@ case 323: /* Line 1787 of yacc.c */ -#line 2078 "parser.y" +#line 2076 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR); } @@ -6823,7 +6809,7 @@ case 324: /* Line 1787 of yacc.c */ -#line 2081 "parser.y" +#line 2079 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR); } @@ -6831,7 +6817,7 @@ case 325: /* Line 1787 of yacc.c */ -#line 2084 "parser.y" +#line 2082 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR); } @@ -6839,7 +6825,7 @@ case 326: /* Line 1787 of yacc.c */ -#line 2087 "parser.y" +#line 2085 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR); } @@ -6847,7 +6833,7 @@ case 327: /* Line 1787 of yacc.c */ -#line 2090 "parser.y" +#line 2088 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR); } @@ -6855,33 +6841,41 @@ case 328: /* Line 1787 of yacc.c */ -#line 2093 "parser.y" +#line 2091 "parser.y" + { + (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR); + } + break; + + case 329: +/* Line 1787 of yacc.c */ +#line 2094 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_HEREDOC); } break; - case 331: + case 332: /* Line 1787 of yacc.c */ -#line 2101 "parser.y" +#line 2102 "parser.y" { NLMORE((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)])); (yyval) = (yyvsp[(3) - (3)]); } break; - case 332: + case 333: /* Line 1787 of yacc.c */ -#line 2105 "parser.y" +#line 2106 "parser.y" { NLMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)])); (yyval) = (yyvsp[(2) - (2)]); } break; - case 333: + case 334: /* Line 1787 of yacc.c */ -#line 2109 "parser.y" +#line 2110 "parser.y" { (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION); (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR)); @@ -6889,9 +6883,9 @@ } break; - case 334: + case 335: /* Line 1787 of yacc.c */ -#line 2114 "parser.y" +#line 2115 "parser.y" { (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION); (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR)); @@ -6899,9 +6893,9 @@ } break; - case 335: + case 336: /* Line 1787 of yacc.c */ -#line 2119 "parser.y" +#line 2120 "parser.y" { NTYPE((yyvsp[(1) - (4)]), n_ARRAY_LITERAL); (yyvsp[(1) - (4)])->appendChild((yyvsp[(3) - (4)])); @@ -6910,9 +6904,9 @@ } break; - case 336: + case 337: /* Line 1787 of yacc.c */ -#line 2125 "parser.y" +#line 2126 "parser.y" { NTYPE((yyvsp[(1) - (3)]), n_ARRAY_LITERAL); (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)])); @@ -6921,9 +6915,9 @@ } break; - case 338: + case 339: /* Line 1787 of yacc.c */ -#line 2135 "parser.y" +#line 2136 "parser.y" { (yyval) = NNEW(n_CLASS_STATIC_ACCESS); (yyval)->appendChild((yyvsp[(1) - (3)])); @@ -6931,49 +6925,49 @@ } break; - case 342: + case 343: /* Line 1787 of yacc.c */ -#line 2146 "parser.y" +#line 2147 "parser.y" { (yyval) = NLMORE((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)])); } break; - case 343: + case 344: /* Line 1787 of yacc.c */ -#line 2149 "parser.y" +#line 2150 "parser.y" { (yyval) = NLMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)])); } break; - case 345: + case 346: /* Line 1787 of yacc.c */ -#line 2156 "parser.y" +#line 2157 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE_LIST); } break; - case 346: + case 347: /* Line 1787 of yacc.c */ -#line 2159 "parser.y" +#line 2160 "parser.y" { (yyval) = NMORE((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); } break; - case 347: + case 348: /* Line 1787 of yacc.c */ -#line 2165 "parser.y" +#line 2166 "parser.y" { (yyval) = NNEW(n_EMPTY); } break; - case 349: + case 350: /* Line 1787 of yacc.c */ -#line 2172 "parser.y" +#line 2173 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild((yyvsp[(3) - (5)])); @@ -6983,9 +6977,9 @@ } break; - case 350: + case 351: /* Line 1787 of yacc.c */ -#line 2179 "parser.y" +#line 2180 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild(NNEW(n_EMPTY)); @@ -6995,9 +6989,9 @@ } break; - case 351: + case 352: /* Line 1787 of yacc.c */ -#line 2186 "parser.y" +#line 2187 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild((yyvsp[(1) - (3)])); @@ -7007,9 +7001,9 @@ } break; - case 352: + case 353: /* Line 1787 of yacc.c */ -#line 2193 "parser.y" +#line 2194 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild(NNEW(n_EMPTY)); @@ -7019,9 +7013,9 @@ } break; - case 358: + case 359: /* Line 1787 of yacc.c */ -#line 2220 "parser.y" +#line 2221 "parser.y" { (yyval) = NNEW(n_OBJECT_PROPERTY_ACCESS); (yyval)->appendChild((yyvsp[(1) - (5)])); @@ -7044,25 +7038,25 @@ } break; - case 360: + case 361: /* Line 1787 of yacc.c */ -#line 2244 "parser.y" +#line 2245 "parser.y" { (yyval) = (yyvsp[(1) - (2)])->appendChildren((yyvsp[(2) - (2)])); } break; - case 361: + case 362: /* Line 1787 of yacc.c */ -#line 2247 "parser.y" +#line 2248 "parser.y" { (yyval) = NNEW(n_EMPTY); } break; - case 362: + case 363: /* Line 1787 of yacc.c */ -#line 2253 "parser.y" +#line 2254 "parser.y" { (yyval) = NNEW(n_EMPTY); (yyval)->appendChild((yyvsp[(2) - (3)])); @@ -7072,25 +7066,25 @@ } break; - case 363: + case 364: /* Line 1787 of yacc.c */ -#line 2263 "parser.y" +#line 2264 "parser.y" { (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)])); } break; - case 364: + case 365: /* Line 1787 of yacc.c */ -#line 2266 "parser.y" +#line 2267 "parser.y" { (yyval) = NNEW(n_EMPTY); } break; - case 366: + case 367: /* Line 1787 of yacc.c */ -#line 2273 "parser.y" +#line 2274 "parser.y" { xhpast::Node *last = (yyvsp[(1) - (2)]); NMORE((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); @@ -7105,9 +7099,9 @@ } break; - case 367: + case 368: /* Line 1787 of yacc.c */ -#line 2288 "parser.y" +#line 2289 "parser.y" { (yyval) = NNEW(n_CLASS_STATIC_ACCESS); (yyval)->appendChild((yyvsp[(1) - (3)])); @@ -7115,9 +7109,9 @@ } break; - case 368: + case 369: /* Line 1787 of yacc.c */ -#line 2293 "parser.y" +#line 2294 "parser.y" { (yyval) = NNEW(n_CLASS_STATIC_ACCESS); (yyval)->appendChild((yyvsp[(1) - (3)])); @@ -7125,17 +7119,41 @@ } break; - case 373: + case 371: /* Line 1787 of yacc.c */ -#line 2311 "parser.y" +#line 2306 "parser.y" + { + (yyval) = NNEW(n_INDEX_ACCESS); + (yyval)->appendChild((yyvsp[(1) - (4)])); + (yyval)->appendChild((yyvsp[(3) - (4)])); + NMORE((yyval), (yyvsp[(4) - (4)])); +// $$ = $1->appendChild(NEXPAND($2, $3, $4)); + } + break; + + case 372: +/* Line 1787 of yacc.c */ +#line 2313 "parser.y" + { + (yyval) = NNEW(n_INDEX_ACCESS); + (yyval)->appendChild((yyvsp[(1) - (4)])); + (yyval)->appendChild((yyvsp[(3) - (4)])); + NMORE((yyval), (yyvsp[(4) - (4)])); +// $$ = $1->appendChild(NEXPAND($2, $3, $4)); + } + break; + + case 377: +/* Line 1787 of yacc.c */ +#line 2330 "parser.y" { (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)])); } break; - case 374: + case 378: /* Line 1787 of yacc.c */ -#line 2314 "parser.y" +#line 2333 "parser.y" { xhpast::Node *last = (yyvsp[(1) - (2)]); NMORE((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); @@ -7150,9 +7168,9 @@ } break; - case 376: + case 380: /* Line 1787 of yacc.c */ -#line 2330 "parser.y" +#line 2349 "parser.y" { (yyval) = NNEW(n_INDEX_ACCESS); (yyval)->appendChild((yyvsp[(1) - (4)])); @@ -7161,9 +7179,9 @@ } break; - case 377: + case 381: /* Line 1787 of yacc.c */ -#line 2336 "parser.y" +#line 2355 "parser.y" { (yyval) = NNEW(n_INDEX_ACCESS); (yyval)->appendChild((yyvsp[(1) - (4)])); @@ -7172,17 +7190,17 @@ } break; - case 379: + case 383: /* Line 1787 of yacc.c */ -#line 2346 "parser.y" +#line 2365 "parser.y" { NTYPE((yyvsp[(1) - (1)]), n_VARIABLE); } break; - case 380: + case 384: /* Line 1787 of yacc.c */ -#line 2349 "parser.y" +#line 2368 "parser.y" { NSPAN((yyvsp[(1) - (4)]), n_VARIABLE_EXPRESSION, (yyvsp[(4) - (4)])); (yyvsp[(1) - (4)])->appendChild((yyvsp[(3) - (4)])); @@ -7190,25 +7208,25 @@ } break; - case 381: + case 385: /* Line 1787 of yacc.c */ -#line 2357 "parser.y" +#line 2376 "parser.y" { (yyval) = NNEW(n_EMPTY); } break; - case 382: + case 386: /* Line 1787 of yacc.c */ -#line 2360 "parser.y" +#line 2379 "parser.y" { (yyval) = (yyvsp[(1) - (1)]); } break; - case 385: + case 389: /* Line 1787 of yacc.c */ -#line 2371 "parser.y" +#line 2390 "parser.y" { (yyval) = NNEW(n_INDEX_ACCESS); (yyval)->appendChild((yyvsp[(1) - (4)])); @@ -7217,9 +7235,9 @@ } break; - case 386: + case 390: /* Line 1787 of yacc.c */ -#line 2377 "parser.y" +#line 2396 "parser.y" { (yyval) = NNEW(n_INDEX_ACCESS); (yyval)->appendChild((yyvsp[(1) - (4)])); @@ -7228,34 +7246,34 @@ } break; - case 388: + case 392: /* Line 1787 of yacc.c */ -#line 2387 "parser.y" +#line 2406 "parser.y" { NTYPE((yyvsp[(1) - (1)]), n_STRING); (yyval) = (yyvsp[(1) - (1)]); } break; - case 389: + case 393: /* Line 1787 of yacc.c */ -#line 2391 "parser.y" +#line 2410 "parser.y" { (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)])); } break; - case 390: + case 394: /* Line 1787 of yacc.c */ -#line 2397 "parser.y" +#line 2416 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (1)]), n_VARIABLE_VARIABLE); } break; - case 391: + case 395: /* Line 1787 of yacc.c */ -#line 2400 "parser.y" +#line 2419 "parser.y" { (yyvsp[(2) - (2)]) = NTYPE((yyvsp[(2) - (2)]), n_VARIABLE_VARIABLE); @@ -7270,26 +7288,26 @@ } break; - case 392: + case 396: /* Line 1787 of yacc.c */ -#line 2415 "parser.y" +#line 2434 "parser.y" { (yyval) = (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)])); } break; - case 393: + case 397: /* Line 1787 of yacc.c */ -#line 2418 "parser.y" +#line 2437 "parser.y" { (yyval) = NNEW(n_ASSIGNMENT_LIST); (yyval)->appendChild((yyvsp[(1) - (1)])); } break; - case 395: + case 399: /* Line 1787 of yacc.c */ -#line 2426 "parser.y" +#line 2445 "parser.y" { (yyval) = NNEW(n_LIST); (yyval)->appendChild((yyvsp[(3) - (4)])); @@ -7297,33 +7315,33 @@ } break; - case 396: + case 400: /* Line 1787 of yacc.c */ -#line 2431 "parser.y" +#line 2450 "parser.y" { (yyval) = NNEW(n_EMPTY); } break; - case 397: + case 401: /* Line 1787 of yacc.c */ -#line 2437 "parser.y" +#line 2456 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE_LIST); } break; - case 398: + case 402: /* Line 1787 of yacc.c */ -#line 2440 "parser.y" +#line 2459 "parser.y" { (yyval) = NMORE((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); } break; - case 399: + case 403: /* Line 1787 of yacc.c */ -#line 2446 "parser.y" +#line 2465 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild((yyvsp[(3) - (5)])); @@ -7333,9 +7351,9 @@ } break; - case 400: + case 404: /* Line 1787 of yacc.c */ -#line 2453 "parser.y" +#line 2472 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild(NNEW(n_EMPTY)); @@ -7345,9 +7363,9 @@ } break; - case 401: + case 405: /* Line 1787 of yacc.c */ -#line 2460 "parser.y" +#line 2479 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild((yyvsp[(1) - (3)])); @@ -7357,9 +7375,9 @@ } break; - case 402: + case 406: /* Line 1787 of yacc.c */ -#line 2467 "parser.y" +#line 2486 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild(NNEW(n_EMPTY)); @@ -7369,9 +7387,9 @@ } break; - case 403: + case 407: /* Line 1787 of yacc.c */ -#line 2474 "parser.y" +#line 2493 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild((yyvsp[(3) - (6)])); @@ -7381,9 +7399,9 @@ } break; - case 404: + case 408: /* Line 1787 of yacc.c */ -#line 2481 "parser.y" +#line 2500 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild(NNEW(n_EMPTY)); @@ -7393,9 +7411,9 @@ } break; - case 405: + case 409: /* Line 1787 of yacc.c */ -#line 2488 "parser.y" +#line 2507 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild((yyvsp[(1) - (4)])); @@ -7405,9 +7423,9 @@ } break; - case 406: + case 410: /* Line 1787 of yacc.c */ -#line 2495 "parser.y" +#line 2514 "parser.y" { (yyval) = NNEW(n_ARRAY_VALUE); (yyval)->appendChild(NNEW(n_EMPTY)); @@ -7417,9 +7435,9 @@ } break; - case 407: + case 411: /* Line 1787 of yacc.c */ -#line 2505 "parser.y" +#line 2524 "parser.y" { NTYPE((yyvsp[(1) - (4)]), n_SYMBOL_NAME); @@ -7432,9 +7450,9 @@ } break; - case 408: + case 412: /* Line 1787 of yacc.c */ -#line 2515 "parser.y" +#line 2534 "parser.y" { NTYPE((yyvsp[(1) - (4)]), n_SYMBOL_NAME); @@ -7447,25 +7465,25 @@ } break; - case 409: + case 413: /* Line 1787 of yacc.c */ -#line 2525 "parser.y" +#line 2544 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (2)]), n_INCLUDE_FILE)->appendChild((yyvsp[(2) - (2)])); } break; - case 410: + case 414: /* Line 1787 of yacc.c */ -#line 2528 "parser.y" +#line 2547 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (2)]), n_INCLUDE_FILE)->appendChild((yyvsp[(2) - (2)])); } break; - case 411: + case 415: /* Line 1787 of yacc.c */ -#line 2531 "parser.y" +#line 2550 "parser.y" { NTYPE((yyvsp[(1) - (4)]), n_SYMBOL_NAME); @@ -7478,42 +7496,42 @@ } break; - case 412: + case 416: /* Line 1787 of yacc.c */ -#line 2541 "parser.y" +#line 2560 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (2)]), n_INCLUDE_FILE)->appendChild((yyvsp[(2) - (2)])); } break; - case 413: + case 417: /* Line 1787 of yacc.c */ -#line 2544 "parser.y" +#line 2563 "parser.y" { (yyval) = NTYPE((yyvsp[(1) - (2)]), n_INCLUDE_FILE)->appendChild((yyvsp[(2) - (2)])); } break; - case 414: + case 418: /* Line 1787 of yacc.c */ -#line 2550 "parser.y" +#line 2569 "parser.y" { (yyval) = NNEW(n_EMPTY); (yyval)->appendChild((yyvsp[(1) - (1)])); } break; - case 415: + case 419: /* Line 1787 of yacc.c */ -#line 2554 "parser.y" +#line 2573 "parser.y" { (yyval) = (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)])); } break; - case 416: + case 420: /* Line 1787 of yacc.c */ -#line 2560 "parser.y" +#line 2579 "parser.y" { NSPAN((yyvsp[(1) - (3)]), n_PARENTHETICAL_EXPRESSION, (yyvsp[(3) - (3)])); (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)])); @@ -7521,17 +7539,53 @@ } break; - case 417: + case 421: /* Line 1787 of yacc.c */ -#line 2565 "parser.y" +#line 2584 "parser.y" { (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)])); } break; - case 418: + case 422: +/* Line 1787 of yacc.c */ +#line 2590 "parser.y" + { +// $$ = $1->appendChild(NEXPAND($2, $3, $4)); + (yyval) = NNEW(n_INDEX_ACCESS); + (yyval)->appendChild((yyvsp[(1) - (4)])); + (yyval)->appendChild((yyvsp[(3) - (4)])); + NMORE((yyval), (yyvsp[(4) - (4)])); + } + break; + + case 423: /* Line 1787 of yacc.c */ -#line 2571 "parser.y" +#line 2597 "parser.y" + { +// $$ = $1->appendChild(NEXPAND($2, $3, $4)); + (yyval) = NNEW(n_INDEX_ACCESS); + (yyval)->appendChild((yyvsp[(1) - (4)])); + (yyval)->appendChild((yyvsp[(3) - (4)])); + NMORE((yyval), (yyvsp[(4) - (4)])); + } + break; + + case 424: +/* Line 1787 of yacc.c */ +#line 2604 "parser.y" + { +// $$ = $1->appendChild(NEXPAND($2, $3, $4)); + (yyval) = NNEW(n_INDEX_ACCESS); + (yyval)->appendChild(NTYPE((yyvsp[(1) - (4)]), n_STRING_SCALAR)); + (yyval)->appendChild((yyvsp[(3) - (4)])); + NMORE((yyval), (yyvsp[(4) - (4)])); + } + break; + + case 425: +/* Line 1787 of yacc.c */ +#line 2614 "parser.y" { NTYPE((yyvsp[(1) - (4)]), n_ARRAY_LITERAL); (yyvsp[(1) - (4)])->appendChild((yyvsp[(3) - (4)])); @@ -7540,9 +7594,9 @@ } break; - case 419: + case 426: /* Line 1787 of yacc.c */ -#line 2577 "parser.y" +#line 2620 "parser.y" { NTYPE((yyvsp[(1) - (3)]), n_ARRAY_LITERAL); (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)])); @@ -7551,9 +7605,9 @@ } break; - case 420: + case 427: /* Line 1787 of yacc.c */ -#line 2586 "parser.y" +#line 2629 "parser.y" { NTYPE((yyvsp[(1) - (3)]), n_NEW); (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)])); @@ -7562,9 +7616,9 @@ } break; - case 421: + case 428: /* Line 1787 of yacc.c */ -#line 2595 "parser.y" +#line 2638 "parser.y" { (yyval) = NNEW(n_CLASS_STATIC_ACCESS); (yyval)->appendChild((yyvsp[(1) - (3)])); @@ -7572,9 +7626,9 @@ } break; - case 422: + case 429: /* Line 1787 of yacc.c */ -#line 2600 "parser.y" +#line 2643 "parser.y" { (yyval) = NNEW(n_CLASS_STATIC_ACCESS); (yyval)->appendChild((yyvsp[(1) - (3)])); @@ -7582,23 +7636,9 @@ } break; - case 423: -/* Line 1787 of yacc.c */ -#line 2613 "parser.y" - { - if (yyextra->idx_expr) { - yyextra->used = true; - } - (yyval) = NNEW(n_INDEX_ACCESS); - (yyval)->appendChild((yyvsp[(1) - (4)])); - (yyval)->appendChild((yyvsp[(3) - (4)])); - NMORE((yyval), (yyvsp[(4) - (4)])); - } - break; - /* Line 1787 of yacc.c */ -#line 7602 "parser.yacc.cpp" +#line 7642 "parser.yacc.cpp" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -7830,7 +7870,7 @@ /* Line 2050 of yacc.c */ -#line 2625 "parser.y" +#line 2650 "parser.y" const char* yytokname(int tok) { Index: support/xhpast/xhpast.cpp =================================================================== --- support/xhpast/xhpast.cpp +++ support/xhpast/xhpast.cpp @@ -16,7 +16,7 @@ if (argc != 1) { //coupling: modify also libphutil/src/parser/xhpast/bin/xhpast_parse.php - cout << "xhpast version 5.5.8/1c\n"; + cout << "xhpast version 5.5.8/1d\n"; return 0; }