From: Father Chrysostomos Date: Sun, 15 Sep 2013 23:07:11 +0000 (-0700) Subject: ->%{ ->%[ X-Git-Tag: upstream/5.20.0~1599^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=76eba8ab520b5c85d3a1566e1ae17ca49faeccf1;p=platform%2Fupstream%2Fperl.git ->%{ ->%[ --- diff --git a/perly.act b/perly.act index 7da5c40..b99bf68 100644 --- a/perly.act +++ b/perly.act @@ -1839,28 +1839,35 @@ case 2: case 233: #line 1499 "perly.y" + { (yyval.opval) = newHVREF((ps[(1) - (3)].val.opval)); + TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'@'); + ;} + break; + + case 235: +#line 1506 "perly.y" { (yyval.opval) = newGVREF(0,(ps[(1) - (3)].val.opval)); TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'*'); ;} break; - case 234: -#line 1506 "perly.y" + case 236: +#line 1513 "perly.y" { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;} break; - case 235: -#line 1508 "perly.y" + case 237: +#line 1515 "perly.y" { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;} break; - case 236: -#line 1510 "perly.y" + case 238: +#line 1517 "perly.y" { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;} break; - case 237: -#line 1513 "perly.y" + case 239: +#line 1520 "perly.y" { (yyval.opval) = (ps[(1) - (1)].val.opval); ;} break; @@ -1871,6 +1878,6 @@ case 2: /* Generated from: - * 3291ccd173f79d1ee1490bd5e07445713edcf8cbb091ae54165016bd846e2682 perly.y + * 1197382d22c31fcdde494b49bf64759ffa9ecf45fb2536cefae6300977d788aa perly.y * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl * ex: set ro: */ diff --git a/perly.h b/perly.h index 98a654e..4bb73e6 100644 --- a/perly.h +++ b/perly.h @@ -266,6 +266,6 @@ typedef union YYSTYPE /* Generated from: - * 3291ccd173f79d1ee1490bd5e07445713edcf8cbb091ae54165016bd846e2682 perly.y + * 1197382d22c31fcdde494b49bf64759ffa9ecf45fb2536cefae6300977d788aa perly.y * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl * ex: set ro: */ diff --git a/perly.tab b/perly.tab index e720181..00278a2 100644 --- a/perly.tab +++ b/perly.tab @@ -6,16 +6,16 @@ #define YYFINAL 14 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2884 +#define YYLAST 2845 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 104 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 68 +#define YYNNTS 69 /* YYNRULES -- Number of rules. */ -#define YYNRULES 237 +#define YYNRULES 239 /* YYNRULES -- Number of states. */ -#define YYNSTATES 474 +#define YYNSTATES 475 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -91,7 +91,7 @@ static const yytype_uint16 yyprhs[] = 723, 727, 729, 733, 735, 739, 744, 745, 751, 753, 755, 757, 759, 763, 766, 770, 773, 775, 777, 779, 780, 782, 783, 785, 787, 790, 793, 796, 799, 802, - 805, 807, 811, 813, 817, 819, 821, 823 + 805, 807, 811, 813, 817, 819, 823, 825, 827, 829 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -130,11 +130,11 @@ static const yytype_int16 yyrhs[] = 72, -1, 112, -1, 20, -1, 146, 78, 146, -1, 146, 77, 146, -1, 146, 76, 146, -1, 147, -1, 147, 80, -1, 147, 80, 156, -1, 156, -1, 60, - 171, 147, -1, 58, 102, 171, 146, 101, -1, 156, + 172, 147, -1, 58, 102, 172, 146, 101, -1, 156, 100, 150, 102, 161, 101, -1, 156, 100, 150, -1, - 24, 171, 160, -1, 25, 171, 102, 161, 101, -1, + 24, 172, 160, -1, 25, 172, 102, 161, 101, -1, 60, 160, -1, 58, 102, 161, 101, -1, -1, 33, - 139, 112, 149, 160, -1, 24, -1, 164, -1, 170, + 139, 112, 149, 160, -1, 24, -1, 164, -1, 171, 9, 146, 20, 10, -1, 164, 11, 146, 12, -1, 156, 100, 11, 146, 12, -1, 151, 11, 146, 12, -1, 164, 9, 146, 20, 10, -1, 156, 100, 9, @@ -160,8 +160,8 @@ static const yytype_int16 yyrhs[] = 156, -1, 93, 156, -1, 158, -1, 69, 156, -1, 102, 146, 101, -1, 29, -1, 102, 101, -1, 164, -1, 168, -1, 166, -1, 165, -1, 167, -1, 151, - -1, 169, 11, 146, 12, -1, 166, 11, 146, 12, - -1, 169, 9, 146, 20, 10, -1, 166, 9, 146, + -1, 169, 11, 146, 12, -1, 170, 11, 146, 12, + -1, 169, 9, 146, 20, 10, -1, 170, 9, 146, 20, 10, -1, 26, -1, 163, -1, 163, 102, 101, -1, 163, 102, 146, 101, -1, 68, 141, 160, -1, 156, 100, 15, 18, -1, 156, 100, 16, 18, -1, @@ -175,11 +175,12 @@ static const yytype_int16 yyrhs[] = -1, 23, -1, 148, -1, 55, -1, 34, -1, 70, 159, 144, -1, 70, 159, -1, 102, 146, 101, -1, 102, 101, -1, 164, -1, 166, -1, 165, -1, -1, - 147, -1, -1, 146, -1, 164, -1, 19, 171, -1, - 15, 171, -1, 16, 171, -1, 17, 171, -1, 65, - 171, -1, 18, 171, -1, 165, -1, 156, 100, 16, - -1, 168, -1, 156, 100, 18, -1, 23, -1, 164, - -1, 112, -1, 28, -1 + 147, -1, -1, 146, -1, 164, -1, 19, 172, -1, + 15, 172, -1, 16, 172, -1, 17, 172, -1, 65, + 172, -1, 18, 172, -1, 165, -1, 156, 100, 16, + -1, 166, -1, 156, 100, 17, -1, 168, -1, 156, + 100, 18, -1, 23, -1, 164, -1, 112, -1, 28, + -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -208,7 +209,7 @@ static const yytype_uint16 yyrline[] = 1341, 1347, 1349, 1354, 1357, 1366, 1373, 1372, 1388, 1389, 1390, 1396, 1400, 1408, 1415, 1420, 1425, 1427, 1429, 1434, 1436, 1441, 1442, 1448, 1452, 1458, 1464, 1471, 1478, 1484, - 1490, 1491, 1497, 1498, 1505, 1507, 1509, 1512 + 1490, 1491, 1497, 1498, 1504, 1505, 1512, 1514, 1516, 1519 }; #endif @@ -241,7 +242,7 @@ static const char *const yytname[] = "listop", "@10", "method", "subscripted", "termbinop", "termunop", "anonymous", "termdo", "term", "@11", "myattrterm", "myterm", "optlistexpr", "optexpr", "my_scalar", "amper", "scalar", "ary", "hsh", - "arylen", "star", "sliceme", "gelem", "indirob", 0 + "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", 0 }; #endif @@ -290,7 +291,7 @@ static const yytype_uint8 yyr1[] = 156, 156, 156, 156, 156, 156, 157, 156, 156, 156, 156, 156, 158, 158, 159, 159, 159, 159, 159, 160, 160, 161, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 169, 170, 170, 171, 171, 171, 171 + 169, 169, 170, 170, 171, 171, 172, 172, 172, 172 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -319,7 +320,7 @@ static const yytype_uint8 yyr2[] = 3, 1, 3, 1, 3, 4, 0, 5, 1, 1, 1, 1, 3, 2, 3, 2, 1, 1, 1, 0, 1, 0, 1, 1, 2, 2, 2, 2, 2, 2, - 1, 3, 1, 3, 1, 1, 1, 1 + 1, 3, 1, 3, 1, 3, 1, 1, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -334,59 +335,59 @@ static const yytype_uint8 yydefact[] = 0, 192, 219, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 222, 95, 209, 174, 158, 159, 160, 161, 98, 164, 5, 180, 169, - 172, 171, 173, 170, 0, 0, 16, 7, 54, 50, - 27, 80, 0, 0, 78, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 65, 9, 0, 55, 0, 11, - 24, 23, 0, 0, 148, 0, 139, 140, 234, 237, - 236, 235, 225, 226, 227, 229, 224, 219, 0, 0, - 0, 0, 198, 0, 83, 190, 0, 0, 221, 193, - 194, 234, 220, 105, 235, 0, 228, 208, 82, 153, - 0, 152, 169, 0, 0, 81, 219, 165, 0, 213, - 216, 218, 217, 196, 191, 141, 142, 163, 146, 145, - 168, 0, 0, 0, 0, 96, 0, 0, 0, 0, + 172, 171, 173, 170, 0, 0, 0, 16, 7, 54, + 50, 27, 80, 0, 0, 78, 0, 0, 0, 0, + 0, 0, 0, 0, 28, 65, 9, 0, 55, 0, + 11, 24, 23, 0, 0, 148, 0, 139, 140, 236, + 239, 238, 237, 225, 226, 227, 229, 224, 219, 0, + 0, 0, 0, 198, 0, 83, 190, 0, 0, 221, + 193, 194, 236, 220, 105, 237, 0, 228, 208, 82, + 153, 0, 152, 169, 0, 0, 81, 219, 165, 0, + 213, 216, 218, 217, 196, 191, 141, 142, 163, 146, + 145, 168, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 144, 143, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 19, 77, 78, 0, 33, - 16, 16, 16, 16, 16, 16, 0, 16, 16, 39, - 0, 46, 49, 0, 0, 0, 0, 0, 0, 26, - 25, 20, 147, 103, 221, 0, 0, 202, 107, 84, - 85, 200, 204, 0, 0, 0, 99, 0, 0, 150, - 0, 183, 215, 0, 89, 212, 0, 166, 94, 93, - 92, 97, 0, 0, 121, 0, 134, 130, 131, 127, - 128, 125, 0, 137, 136, 135, 133, 132, 129, 138, - 126, 0, 0, 0, 231, 0, 233, 0, 109, 0, - 102, 110, 181, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 76, 0, 30, 0, 0, 70, 0, 0, - 0, 0, 0, 16, 0, 0, 66, 58, 59, 72, - 56, 57, 60, 61, 0, 0, 123, 219, 87, 0, - 205, 106, 0, 154, 0, 156, 0, 149, 214, 88, - 0, 0, 0, 114, 120, 0, 0, 0, 184, 185, - 186, 188, 187, 118, 0, 221, 182, 0, 112, 0, - 176, 0, 175, 0, 14, 16, 29, 83, 16, 32, - 0, 0, 71, 0, 0, 73, 75, 0, 0, 223, - 69, 74, 0, 0, 55, 0, 0, 0, 104, 207, - 108, 86, 151, 100, 155, 157, 124, 0, 117, 162, - 0, 113, 119, 0, 115, 178, 177, 111, 0, 85, - 47, 219, 67, 67, 0, 0, 0, 0, 70, 0, - 0, 0, 122, 116, 101, 0, 0, 19, 0, 0, - 0, 18, 62, 62, 0, 65, 0, 0, 37, 38, - 21, 91, 90, 31, 0, 34, 65, 65, 19, 0, - 0, 35, 36, 0, 45, 67, 65, 0, 48, 40, - 41, 0, 63, 0, 65, 0, 44, 0, 52, 22, - 17, 0, 43, 0, 15, 19, 51, 0, 0, 0, - 62, 42, 53, 64 + 0, 0, 0, 0, 0, 144, 143, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 19, 77, 78, 0, + 33, 16, 16, 16, 16, 16, 16, 0, 16, 16, + 39, 0, 46, 49, 0, 0, 0, 0, 0, 0, + 26, 25, 20, 147, 103, 221, 0, 0, 202, 107, + 84, 85, 200, 204, 0, 0, 0, 99, 0, 0, + 150, 0, 183, 215, 0, 89, 212, 0, 166, 94, + 93, 92, 97, 0, 0, 121, 0, 134, 130, 131, + 127, 128, 125, 0, 137, 136, 135, 133, 132, 129, + 138, 126, 0, 0, 0, 231, 233, 235, 0, 109, + 0, 102, 110, 181, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 76, 0, 30, 0, 0, 70, 0, + 0, 0, 0, 0, 16, 0, 0, 66, 58, 59, + 72, 56, 57, 60, 61, 0, 0, 123, 219, 87, + 0, 205, 106, 0, 154, 0, 156, 0, 149, 214, + 88, 0, 0, 0, 114, 120, 0, 0, 0, 184, + 185, 186, 188, 187, 118, 0, 221, 182, 0, 112, + 0, 175, 0, 176, 0, 14, 16, 29, 83, 16, + 32, 0, 0, 71, 0, 0, 73, 75, 0, 0, + 223, 69, 74, 0, 0, 55, 0, 0, 0, 104, + 207, 108, 86, 151, 100, 155, 157, 124, 0, 117, + 162, 0, 113, 119, 0, 115, 177, 178, 111, 0, + 85, 47, 219, 67, 67, 0, 0, 0, 0, 70, + 0, 0, 0, 122, 116, 101, 0, 0, 19, 0, + 0, 0, 18, 62, 62, 0, 65, 0, 0, 37, + 38, 21, 91, 90, 31, 0, 34, 65, 65, 19, + 0, 0, 35, 36, 0, 45, 67, 65, 0, 48, + 40, 41, 0, 63, 0, 65, 0, 44, 0, 52, + 22, 17, 0, 43, 0, 15, 19, 51, 0, 0, + 0, 62, 42, 53, 64 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 7, 8, 9, 10, 11, 12, 13, 110, 356, - 15, 422, 438, 102, 447, 221, 100, 101, 357, 296, - 417, 459, 466, 96, 441, 211, 419, 371, 361, 308, - 364, 373, 367, 293, 199, 123, 196, 140, 230, 319, - 245, 433, 97, 58, 59, 317, 280, 60, 61, 62, - 63, 64, 65, 119, 66, 149, 133, 67, 368, 68, - 69, 70, 71, 72, 73, 74, 75, 112 + -1, 7, 8, 9, 10, 11, 12, 13, 111, 357, + 15, 423, 439, 103, 448, 222, 101, 102, 358, 297, + 418, 460, 467, 97, 442, 212, 420, 372, 362, 309, + 365, 374, 368, 294, 200, 124, 197, 141, 231, 320, + 246, 434, 98, 58, 59, 318, 281, 60, 61, 62, + 63, 64, 65, 120, 66, 150, 134, 67, 369, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 113 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing @@ -394,657 +395,649 @@ static const yytype_int16 yydefgoto[] = #define YYPACT_NINF -416 static const yytype_int16 yypact[] = { - 706, -416, -416, -416, -416, -416, -416, 33, -416, 2725, - 27, 1112, 1017, -416, -416, -416, 1809, 2725, 2725, 103, - 103, 103, 103, 103, -416, 103, 103, -416, -416, 31, - -57, -416, 2725, -416, -416, -416, 2725, -416, -53, -39, - -35, 1717, 1533, 103, 1625, 1899, 76, 2725, 9, 2725, - 2725, 2725, 2725, 2725, 2725, 2725, 1989, 173, 25, -416, - 0, -416, -416, -416, -416, 2744, -416, -416, 8, 78, - 194, 259, -416, 113, 260, 116, -416, -416, -416, -416, - -416, -416, 76, 94, -416, 37, 51, 57, 80, 14, - 100, 127, 27, -416, 133, -416, 176, 1807, 1017, -416, - -416, -416, 447, 542, -416, 64, 519, 519, -416, -416, - -416, -416, -416, -416, -416, -416, -416, 2725, 138, 139, - 2725, 109, 1702, 27, 219, 2744, 174, 2081, 1533, -416, - 1702, 1440, 25, -416, 1361, 2725, -416, 183, -416, -416, - 184, 1702, 7, 297, 150, -416, 2725, 1702, 2173, 245, - -416, -416, -416, 1702, 25, 519, 519, 519, 48, 48, - 278, 145, 2725, 2725, 2725, 2725, 2725, 2725, 2265, 2725, - 2725, 2725, 2725, 2725, 2725, 2725, 2725, 2725, 2725, 2725, - 2725, 2725, 2725, 2725, -416, -416, 4, 2357, 2725, 2725, - 2725, 2725, 2725, 2725, 2725, -416, 302, -416, 308, -416, - -416, -416, -416, -416, -416, -416, 225, -416, -416, -416, - 27, -416, -416, 2725, 2725, 2725, 2725, 2725, 2725, -416, - -416, -416, -416, -416, 2725, 2725, 74, -416, -416, -416, - 261, -416, -416, 166, 233, 2725, 25, 2449, 2541, -416, - 326, -416, -416, 234, 316, -416, 2725, 332, 269, 269, - -416, 2744, 157, 79, -416, 276, 1193, 1610, 325, 218, - 432, 2744, 349, 304, 304, 1331, 1410, 1518, 274, 519, - 519, 2725, 2725, 608, 333, 343, 344, 354, -416, 2633, - 271, -416, -416, 307, 200, 84, 217, 108, 263, 121, - 272, 637, -416, 357, -416, 39, 352, 2725, 2725, 2725, - 2725, 364, 1205, -416, 2725, 2725, -416, 173, -416, 173, - 173, 173, 173, 173, 280, -50, -416, 2725, 356, 27, - -416, -416, 351, -416, 433, -416, 443, -416, -416, -416, - 131, 2725, 385, -416, -416, 2725, 282, 135, -416, -416, - -416, -416, -416, -416, 527, 2725, -416, 386, -416, 387, - -416, 388, -416, 392, -416, -416, -416, 219, -416, -416, - 393, 318, 173, 322, 339, 173, -416, 341, 315, -416, - -416, -416, 342, 430, 279, 2725, 350, 367, -416, -416, - -416, -416, -416, -416, -416, -416, -416, 154, -416, 2784, - 445, -416, -416, 368, -416, -416, -416, -416, 437, 261, - -416, 2725, -416, -416, 466, 466, 2725, 466, 2725, 400, - 466, 466, -416, -416, -416, 419, 45, -416, 474, 466, - 466, -416, 24, 24, 407, 133, 503, 466, -416, -416, - -416, -416, -416, -416, 732, -416, 133, 133, -416, 466, - 422, -416, -416, 466, -416, -416, 133, 38, -416, -416, - -416, 827, -416, 2725, 133, 1298, -416, 508, 452, -416, - -416, 434, -416, 435, -416, -416, -416, 466, 466, 922, - 24, -416, -416, -416 + 802, -416, -416, -416, -416, -416, -416, 22, -416, 2726, + 32, 1113, 1018, -416, -416, -416, 1810, 2726, 2726, 705, + 705, 705, 705, 705, -416, 705, 705, -416, -416, 43, + -47, -416, 2726, -416, -416, -416, 2726, -416, -35, -34, + -20, 1718, 1534, 705, 1626, 1900, 62, 2726, 47, 2726, + 2726, 2726, 2726, 2726, 2726, 2726, 1990, 28, 11, -416, + 10, -416, -416, -416, -416, 350, -416, -416, 16, 115, + 194, 198, -416, 88, 266, 305, 91, -416, -416, -416, + -416, -416, -416, 62, 104, -416, 30, 53, 65, 69, + 8, 74, 78, 32, -416, 71, -416, 177, 325, 1018, + -416, -416, -416, 448, 543, -416, 75, 149, 149, -416, + -416, -416, -416, -416, -416, -416, -416, -416, 2726, 100, + 106, 2726, 113, 249, 32, 199, 350, 146, 2082, 1534, + -416, 249, 1441, 11, -416, 1362, 2726, -416, 170, -416, + -416, 182, 249, 21, 269, -5, -416, 2726, 249, 2174, + 217, -416, -416, -416, 249, 11, 149, 149, 149, 138, + 138, 285, -2, 2726, 2726, 2726, 2726, 2726, 2726, 2266, + 2726, 2726, 2726, 2726, 2726, 2726, 2726, 2726, 2726, 2726, + 2726, 2726, 2726, 2726, 2726, -416, -416, 9, 2358, 2726, + 2726, 2726, 2726, 2726, 2726, 2726, -416, 288, -416, 292, + -416, -416, -416, -416, -416, -416, -416, 222, -416, -416, + -416, 32, -416, -416, 2726, 2726, 2726, 2726, 2726, 2726, + -416, -416, -416, -416, -416, 2726, 2726, 83, -416, -416, + -416, 225, -416, -416, 175, 227, 2726, 11, 2450, 2542, + -416, 316, -416, -416, 274, 304, -416, 2726, 320, 254, + 254, -416, 350, 134, 96, -416, 314, 1194, 1795, 1611, + 531, 433, 350, 299, 1332, 1332, 1411, 1519, 1703, 1370, + 149, 149, 2726, 2726, 704, 322, 324, 330, 339, -416, + 2634, 241, -416, -416, 340, 155, 101, 193, 105, 210, + 109, 216, 638, -416, 337, -416, 68, 336, 2726, 2726, + 2726, 2726, 356, 1206, -416, 2726, 2726, -416, 28, -416, + 28, 28, 28, 28, 28, 271, -22, -416, 2726, 347, + 32, -416, -416, 352, -416, 528, -416, 539, -416, -416, + -416, 122, 2726, 368, -416, -416, 2726, 258, 145, -416, + -416, -416, -416, -416, -416, 542, 2726, -416, 383, -416, + 387, -416, 388, -416, 390, -416, -416, -416, 199, -416, + -416, 382, 308, 28, 318, 321, 28, -416, 323, 319, + -416, -416, -416, 332, 403, 278, 2726, 342, 343, -416, + -416, -416, -416, -416, -416, -416, -416, -416, 151, -416, + 2745, 416, -416, -416, 351, -416, -416, -416, -416, 431, + 225, -416, 2726, -416, -416, 447, 447, 2726, 447, 2726, + 357, 447, 447, -416, -416, -416, 395, 72, -416, 450, + 447, 447, -416, 195, 195, 375, 71, 474, 447, -416, + -416, -416, -416, -416, -416, 733, -416, 71, 71, -416, + 447, 393, -416, -416, 447, -416, -416, 71, 25, -416, + -416, -416, 828, -416, 2726, 71, 1299, -416, 480, 436, + -416, -416, 409, -416, 410, -416, -416, -416, 447, 447, + 923, 195, -416, -416, -416 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -416, -416, -416, -416, -416, -416, -416, -416, -10, -416, - -29, -123, -416, -12, -416, 521, 439, 16, -416, -416, - -416, -416, -416, -297, -415, -356, -389, -416, 123, -215, - -252, 86, -416, -416, 355, 512, -416, -14, 191, 155, + -61, -103, -416, -12, -416, 500, 421, -3, -416, -416, + -416, -416, -416, -298, -415, 98, -360, -416, 112, -16, + -292, 66, -416, -416, 327, 491, -416, -17, 173, 132, -416, -416, 1, -38, -416, -416, -416, -416, -416, -416, - -416, -416, 83, -416, -416, -416, -111, -121, -416, -416, - 18, 515, 516, -416, -416, -416, -416, 52 + -416, -416, 84, -416, -416, -416, -112, -122, -416, -416, + 17, 486, 489, -416, -416, -416, -416, -416, 27 }; /* 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 zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -233 +#define YYTABLE_NINF -235 static const yytype_int16 yytable[] = { - 77, 94, 94, 103, 132, 370, 223, 234, 442, 166, - 57, 167, 154, 271, 420, 272, 188, 105, 189, 273, - 274, 275, 276, 277, 19, 20, 21, 95, 278, 19, - 165, 129, 146, 14, 139, 241, 76, 111, 111, 111, - 111, 111, 120, 111, 111, 121, 144, 195, 358, 126, - 372, 379, 376, 377, 76, 473, 455, 161, 457, 359, - 134, 111, 142, 127, 458, 431, 150, 128, 197, 444, - 439, 440, 113, 114, 115, 116, 222, 117, 118, 132, - 449, 450, 209, 363, 204, 366, 316, 188, 94, 189, - 456, 333, 94, 94, 135, 136, 348, 236, 462, 145, - 106, 107, 168, 314, 138, 165, 279, 206, 132, 238, - 187, 148, 76, 228, 220, 122, 205, 198, 19, 125, - 350, 226, -232, 409, 130, 194, 108, 141, 233, 57, - 147, 109, 153, 352, 155, 156, 157, 158, 159, 200, - 162, 163, 164, 386, -233, -233, 134, 391, 186, 243, - 162, 163, 164, 201, 424, 162, 163, 164, 370, 202, - 162, 163, 164, 248, 249, 250, 412, 252, 253, 255, - 240, 297, 298, 299, 300, 301, 302, 332, 304, 305, - 235, 210, 203, 291, 162, 163, 164, 315, 283, 284, - 285, 286, 287, 288, 289, 290, 212, 162, 163, 164, - 306, 461, 207, -230, 281, -230, 380, 162, 163, 164, - 227, 162, 163, 164, 307, 309, 310, 311, 312, 313, - 347, 162, 163, 164, 393, 57, 162, 163, 164, 208, - 162, 163, 164, 162, 163, 164, 322, 349, 324, 326, - 224, 225, 162, 163, 164, 229, 247, 330, 251, 162, - 163, 164, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 320, 190, 192, - 191, 193, 336, 337, 375, 231, 162, 163, 164, 132, - 344, 94, 423, 351, 425, -81, 237, 428, 429, 246, - 418, 111, 353, 162, 163, 164, 436, 437, 362, 309, - 365, 309, 390, 374, 446, 365, 365, 239, 182, 382, - 162, 163, 164, 183, 184, 185, 452, 244, 186, 369, - 454, 213, 214, 215, 216, 292, 398, 303, 217, 400, - 218, 295, 387, 318, 321, 328, 327, 172, 173, 162, - 163, 164, 329, 331, 470, 471, 57, 164, 162, 163, - 164, 339, 162, 163, 164, 162, 163, 164, 162, 163, - 164, 340, 341, 132, 182, 170, 171, 172, 173, 183, - 184, 185, 342, 345, 186, 360, 365, 334, 355, 19, - -73, 378, 381, 162, 163, 164, 170, -233, 172, 173, - 178, 179, 180, 181, 182, 388, 394, 395, 396, 183, - 184, 185, 397, 169, 186, 434, 432, 365, 346, 362, - 170, 171, 172, 173, 181, 182, 401, 406, 389, 402, - 183, 184, 185, 403, 94, 186, 451, 162, 163, 164, - 174, 175, 335, 176, 177, 178, 179, 180, 181, 182, - 404, 94, 405, 407, 183, 184, 185, -13, 78, 186, - 408, 410, 383, 469, 365, 413, 76, 415, 16, 94, - 17, 18, 19, 20, 21, 22, 23, 79, 411, 414, - 24, 25, 26, 27, 28, 421, 29, 30, 31, 32, - 33, 34, 80, 98, 81, 82, 35, 83, 84, 85, - 86, 87, 88, 430, 435, 172, 89, 90, 91, 92, - 36, 427, 37, 38, 39, 40, 41, 42, 443, 162, - 163, 164, 43, 44, 45, 46, 47, 48, 49, 162, - 163, 164, 182, 445, 453, 465, 50, 183, 184, 185, - 464, 426, 186, 99, 384, 467, 468, 219, 51, 52, - 53, 463, -3, 78, 385, 54, 55, 124, 399, 56, - 93, 76, 294, 16, 416, 17, 18, 19, 20, 21, - 22, 23, 79, 151, 152, 24, 25, 26, 27, 28, - 0, 29, 30, 31, 32, 33, 34, 80, 98, 81, - 82, 35, 83, 84, 85, 86, 87, 88, 0, 0, - 0, 89, 90, 91, 92, 36, 0, 37, 38, 39, - 40, 41, 42, 162, 163, 164, 0, 43, 44, 45, - 46, 47, 48, 49, 183, 184, 185, 76, 0, 186, - 0, 50, 0, 19, 0, 0, 338, 0, 392, 0, - 0, 108, 0, 51, 52, 53, 109, 0, 78, 0, - 54, 55, 0, 0, 56, 93, 76, 354, 16, 0, - 17, 18, 19, 20, 21, 22, 23, 79, 0, 0, - 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, - 33, 34, 80, 98, 81, 82, 35, 83, 84, 85, - 86, 87, 88, 0, 0, 0, 89, 90, 91, 92, - 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, - 0, 0, 43, 44, 45, 46, 47, 48, 49, 1, - 2, 3, 4, 5, 6, 0, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, - 53, 0, 0, 78, 0, 54, 55, 0, 0, 56, - 93, 76, 448, 16, 0, 17, 18, 19, 20, 21, - 22, 23, 79, 0, 0, 24, 25, 26, 27, 28, - 0, 29, 30, 31, 32, 33, 34, 80, 98, 81, - 82, 35, 83, 84, 85, 86, 87, 88, 0, 0, - 0, 89, 90, 91, 92, 36, 0, 37, 38, 39, - 40, 41, 42, 0, 0, 0, 0, 43, 44, 45, - 46, 47, 48, 49, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 52, 53, 0, 0, 78, 0, - 54, 55, 0, 0, 56, 93, 76, 460, 16, 0, - 17, 18, 19, 20, 21, 22, 23, 79, 0, 0, - 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, - 33, 34, 80, 98, 81, 82, 35, 83, 84, 85, - 86, 87, 88, 0, 0, 0, 89, 90, 91, 92, - 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, - 0, 0, 43, 44, 45, 46, 47, 48, 49, 0, - 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, - 53, 0, 0, 78, 0, 54, 55, 0, 0, 56, - 93, 76, 0, 16, 0, 17, 18, 19, 20, 21, - 22, 23, 79, 0, 0, 24, 25, 26, 27, 28, - 0, 29, 30, 31, 32, 33, 34, 80, 98, 81, - 82, 35, 83, 84, 85, 86, 87, 88, 0, 0, - 0, 89, 90, 91, 92, 36, 0, 37, 38, 39, - 40, 41, 42, 0, 0, 0, 0, 43, 44, 45, - 46, 47, 48, 49, 0, 0, 472, 0, 0, 0, - 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 52, 53, 0, 0, 78, 0, - 54, 55, 0, 0, 56, 93, 76, 0, 16, 0, - 17, 18, 19, 20, 21, 22, 23, 79, 0, 0, - 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, - 33, 34, 80, 98, 81, 82, 35, 83, 84, 85, - 86, 87, 88, 0, 0, 0, 89, 90, 91, 92, - 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, - 0, 0, 43, 44, 45, 46, 47, 48, 49, 0, - 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, - 53, 0, 0, 78, 0, 54, 55, 0, 0, 56, - 93, 76, 0, 16, 0, 17, 18, 19, 20, 21, - 22, 23, 79, 0, 0, 24, 25, 26, 27, 28, - 0, 29, 30, 31, 32, 33, 34, 80, 0, 81, - 82, 35, 83, 84, 85, 86, 87, 88, 0, 0, - 0, 89, 90, 91, 92, 36, 0, 37, 38, 39, - 40, 41, 42, 0, 0, 0, 0, 43, 44, 45, - 46, 47, 48, 49, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 52, 53, 78, 0, 0, 0, - 54, 55, 0, 0, 56, 93, 16, 0, 17, 18, - 19, 20, 21, 22, 23, -68, 0, 0, 24, 25, - 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, - 0, 0, 0, 0, 35, 0, 0, -233, 0, 0, - 0, 0, 0, 0, 170, 171, 172, 173, 36, 0, - 37, 38, 39, 40, 41, 42, 0, 0, 0, 0, - 43, 44, 45, 46, 47, 48, 49, 176, 177, 178, - 179, 180, 181, 182, 50, 0, 0, 0, 183, 184, - 185, 0, 0, 186, 0, 0, 51, 52, 53, 78, - 0, 0, 0, 54, 55, 0, 0, 56, 0, 16, - 0, 17, 18, 19, 20, 21, 22, 23, 0, 0, + 78, 95, 95, 104, 133, 371, 224, 235, 96, 443, + 57, 373, 155, 377, 378, 241, 196, 106, 272, 167, + 273, 168, 14, 19, 274, 275, 276, 277, 278, 147, + 189, 130, 190, 279, 140, 242, 112, 112, 112, 112, + 112, 77, 112, 112, 421, 458, 145, 114, 115, 116, + 117, 459, 118, 119, 121, 122, 474, 162, 166, 135, + 112, 143, 19, 20, 21, 151, 198, 127, 128, 136, + 137, 163, 164, 165, 163, 164, 165, 359, 205, 380, + 133, 77, 129, 210, 410, 146, 456, 223, 360, 95, + 139, 166, 432, 95, 95, 317, 221, -234, 237, 248, + 195, 107, 108, 315, 163, 164, 165, 207, 334, 133, + 206, 280, 169, 349, 229, 425, 123, 351, 188, 211, + 126, 353, 227, 239, 189, 131, 190, 199, 142, 234, + 57, 148, 201, 154, 387, 156, 157, 158, 159, 160, + 298, 299, 300, 301, 302, 303, 135, 305, 306, 149, + 244, 163, 164, 165, 333, 202, 236, 392, 371, 163, + 164, 165, 462, 413, 249, 250, 251, 203, 253, 254, + 256, 204, 163, 164, 165, 348, 208, 163, 164, 165, + 209, 163, 164, 165, 292, 163, 164, 165, 316, 284, + 285, 286, 287, 288, 289, 290, 291, 213, 163, 164, + 165, 307, 225, -230, 282, -230, 381, -232, 226, -232, + 163, 164, 165, 350, 228, 308, 310, 311, 312, 313, + 314, 163, 164, 165, 394, 230, 57, 163, 164, 165, + 352, 163, 164, 165, -235, -235, 354, 323, 187, 325, + 327, 440, 441, 376, 184, 185, 186, 232, 331, 187, + 252, 163, 164, 165, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 163, + 164, 165, -81, 337, 338, 191, 321, 192, 391, 240, + 133, 345, 95, 364, 238, 367, 163, 164, 165, 245, + 419, 112, 163, 164, 165, 399, 247, 319, 401, 363, + 310, 366, 310, 424, 375, 426, 366, 366, 429, 430, + 383, 293, 173, 174, 193, 296, 194, 437, 438, 370, + 214, 215, 216, 217, 304, 447, 328, 218, 322, 219, + 330, 332, 165, 388, 163, 164, 165, 453, 182, 183, + 340, 455, 341, 346, 184, 185, 186, 57, 342, 187, + 163, 164, 165, 170, 163, 164, 165, 343, 356, 361, + 171, 172, 173, 174, 133, 471, 472, 214, 215, 216, + 217, 19, 379, 382, 218, 329, 219, 366, 389, -73, + 175, 176, 336, 177, 178, 179, 180, 181, 182, 183, + 163, 164, 165, 395, 184, 185, 186, 396, 397, 187, + 398, 163, 164, 165, 170, 402, 435, 433, 366, 403, + 363, 171, 172, 173, 174, 335, 163, 164, 165, 404, + 390, 407, 405, 409, 406, 95, 414, 452, 163, 164, + 165, 175, 176, 408, 177, 178, 179, 180, 181, 182, + 183, 347, 95, 411, 412, 184, 185, 186, -13, 79, + 187, 416, 415, 384, 470, 366, 422, 77, 428, 16, + 95, 17, 18, 19, 20, 21, 22, 23, 80, 431, + 436, 24, 25, 26, 27, 28, 444, 29, 30, 31, + 32, 33, 34, 81, 99, 82, 83, 35, 84, 85, + 86, 87, 88, 89, 446, 454, 173, 90, 91, 92, + 93, 36, 465, 37, 38, 39, 40, 41, 42, 466, + 468, 469, 100, 43, 44, 45, 46, 47, 48, 49, + 220, 427, 464, 183, 445, 295, 125, 50, 184, 185, + 186, 400, 417, 187, 152, 450, 451, 153, 0, 51, + 52, 53, 0, -3, 79, 457, 54, 55, 0, 0, + 56, 94, 77, 463, 16, 0, 17, 18, 19, 20, + 21, 22, 23, 80, 0, 0, 24, 25, 26, 27, + 28, 0, 29, 30, 31, 32, 33, 34, 81, 99, + 82, 83, 35, 84, 85, 86, 87, 88, 89, 0, + 0, 0, 90, 91, 92, 93, 36, 0, 37, 38, + 39, 40, 41, 42, 163, 164, 165, 0, 43, 44, + 45, 46, 47, 48, 49, 163, 164, 165, 163, 164, + 165, 183, 50, 0, 0, 0, 184, 185, 186, 385, + 0, 187, 0, 0, 51, 52, 53, 0, 0, 79, + 386, 54, 55, 393, 0, 56, 94, 77, 355, 16, + 0, 17, 18, 19, 20, 21, 22, 23, 80, 0, 0, 24, 25, 26, 27, 28, 0, 29, 30, 31, - 32, 33, 34, 0, 0, 0, 0, 35, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 36, 0, 37, 38, 39, 40, 41, 42, 0, - 0, -169, 0, 43, 44, 45, 46, 47, 48, 49, - 188, 0, 189, -169, 0, 0, 0, 50, 0, 0, - 0, -169, 0, 0, 0, 0, 0, 0, 0, 51, - 52, 53, 170, 171, 172, 173, 54, 55, 0, -68, - 56, 0, 0, -169, -169, -169, -169, 0, 0, 0, - -169, 0, -169, 0, 0, -169, 0, 0, 179, 180, - 181, 182, -169, -169, -169, -169, 183, 184, 185, 0, - 0, 186, 0, 0, 0, 0, 0, -169, -169, -169, - -208, -169, -169, -169, -169, -169, -169, -169, -169, -169, - -169, -169, -208, 0, 0, 0, -169, -169, -169, 0, - -208, -169, -169, 0, 0, 0, 0, 0, 0, 0, - 0, 170, 171, 172, 173, 0, 0, 0, 0, 0, - 0, 0, -208, -208, -208, -208, 0, 0, 0, -208, - 0, -208, 0, 0, -208, 0, 0, 0, 180, 181, - 182, -208, -208, -208, -208, 183, 184, 185, 0, 0, - 186, 0, 0, 0, 0, 0, -208, -208, -208, 0, - -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, - -208, 0, 0, 0, 0, -208, -208, -208, 0, 0, - -208, -208, 76, 0, 16, 0, 17, 18, 19, 20, - 21, 22, 23, 0, 0, 0, 131, 25, 26, 27, - 28, 109, 29, 30, 31, 32, 33, 34, 0, 0, - 0, 0, 35, 0, 0, 0, 0, 0, 0, 170, - 171, 172, 173, 0, 0, 0, 36, 0, 37, 38, + 32, 33, 34, 81, 99, 82, 83, 35, 84, 85, + 86, 87, 88, 89, 0, 0, 0, 90, 91, 92, + 93, 36, 0, 37, 38, 39, 40, 41, 42, 0, + 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, + 0, 0, 0, 77, 77, 0, 0, 50, 0, 19, + 19, 0, 339, 0, 0, 0, 0, 109, 109, 51, + 52, 53, 110, 110, 79, 0, 54, 55, 0, 0, + 56, 94, 77, 449, 16, 0, 17, 18, 19, 20, + 21, 22, 23, 80, 0, 0, 24, 25, 26, 27, + 28, 0, 29, 30, 31, 32, 33, 34, 81, 99, + 82, 83, 35, 84, 85, 86, 87, 88, 89, 0, + 0, 0, 90, 91, 92, 93, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 0, 0, 43, 44, - 45, 46, 47, 48, 49, 0, 0, 181, 182, 0, - 0, 0, 50, 183, 184, 185, 0, 0, 186, 0, - 0, 0, 0, 0, 51, 52, 53, 0, 0, 0, - 0, 54, 55, 0, 76, 56, 16, 0, 17, 18, - 19, 20, 21, 22, 23, 0, 0, 0, 137, 25, - 26, 27, 28, 138, 29, 30, 31, 32, 33, 34, - 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, - 0, -233, 0, 172, 173, 0, 0, 0, 36, 0, - 37, 38, 39, 40, 41, 42, 0, 0, 0, 0, - 43, 44, 45, 46, 47, 48, 49, 0, 0, 181, - 182, 0, 0, 0, 50, 183, 184, 185, 0, 0, - 186, 0, 0, 0, 0, 0, 51, 52, 53, 0, - 0, 0, 0, 54, 55, 0, 76, 56, 16, 0, - 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, - 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, - 33, 34, 0, 0, 0, 0, 35, 0, 0, 0, - 0, 0, 0, 0, 0, 172, 173, 0, 0, 0, - 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, - 0, 0, 43, 44, 45, 46, 47, 48, 49, 0, - 0, 181, 182, 0, 0, 0, 50, 183, 184, 185, - 0, 0, 186, 0, 0, 0, 0, 0, 51, 52, - 53, 0, 0, 0, 0, 54, 55, 0, 0, 56, - 16, 104, 17, 18, 19, 20, 21, 22, 23, 0, - 0, 0, 24, 25, 26, 27, 28, 0, 29, 30, - 31, 32, 33, 34, 0, 0, 0, 0, 35, 213, - 214, 215, 216, 0, 0, 0, 217, 0, 218, 0, - 0, 0, 36, 0, 37, 38, 39, 40, 41, 42, - 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, - 49, 0, 0, 162, 163, 164, 0, 0, 50, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 52, 53, 0, 0, 0, 0, 54, 55, 0, - 16, 56, 17, 18, 19, 20, 21, 22, 23, 143, + 45, 46, 47, 48, 49, 1, 2, 3, 4, 5, + 6, 0, 50, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 52, 53, 0, 0, 79, + 0, 54, 55, 0, 0, 56, 94, 77, 461, 16, + 0, 17, 18, 19, 20, 21, 22, 23, 80, 0, + 0, 24, 25, 26, 27, 28, 0, 29, 30, 31, + 32, 33, 34, 81, 99, 82, 83, 35, 84, 85, + 86, 87, 88, 89, 0, 0, 0, 90, 91, 92, + 93, 36, 0, 37, 38, 39, 40, 41, 42, 0, + 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, + 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 52, 53, 0, 0, 79, 0, 54, 55, 0, 0, + 56, 94, 77, 0, 16, 0, 17, 18, 19, 20, + 21, 22, 23, 80, 0, 0, 24, 25, 26, 27, + 28, 0, 29, 30, 31, 32, 33, 34, 81, 99, + 82, 83, 35, 84, 85, 86, 87, 88, 89, 0, + 0, 0, 90, 91, 92, 93, 36, 0, 37, 38, + 39, 40, 41, 42, 0, 0, 0, 0, 43, 44, + 45, 46, 47, 48, 49, 0, 0, 473, 0, 0, + 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 52, 53, 0, 0, 79, + 0, 54, 55, 0, 0, 56, 94, 77, 0, 16, + 0, 17, 18, 19, 20, 21, 22, 23, 80, 0, + 0, 24, 25, 26, 27, 28, 0, 29, 30, 31, + 32, 33, 34, 81, 99, 82, 83, 35, 84, 85, + 86, 87, 88, 89, 0, 0, 0, 90, 91, 92, + 93, 36, 0, 37, 38, 39, 40, 41, 42, 0, + 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, + 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 52, 53, 0, 0, 79, 0, 54, 55, 0, 0, + 56, 94, 77, 0, 16, 0, 17, 18, 19, 20, + 21, 22, 23, 80, 0, 0, 24, 25, 26, 27, + 28, 0, 29, 30, 31, 32, 33, 34, 81, 0, + 82, 83, 35, 84, 85, 86, 87, 88, 89, 0, + 0, 0, 90, 91, 92, 93, 36, 0, 37, 38, + 39, 40, 41, 42, 0, 0, 0, 0, 43, 44, + 45, 46, 47, 48, 49, 0, 0, 0, 0, 0, + 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 52, 53, 79, 0, 0, + 0, 54, 55, 0, 0, 56, 94, 16, 0, 17, + 18, 19, 20, 21, 22, 23, -68, 0, 0, 24, + 25, 26, 27, 28, 0, 29, 30, 31, 32, 33, + 34, 0, 0, 0, 0, 35, 0, 0, -235, 0, + 0, 0, 0, 0, 0, 171, 172, 173, 174, 36, + 0, 37, 38, 39, 40, 41, 42, 0, 0, 0, + 0, 43, 44, 45, 46, 47, 48, 49, 177, 178, + 179, 180, 181, 182, 183, 50, 0, 0, 0, 184, + 185, 186, 0, 0, 187, 0, 0, 51, 52, 53, + 79, 0, 0, 0, 54, 55, 0, 0, 56, 0, + 16, 0, 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 38, 39, 40, 41, 42, - 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, - 49, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 0, -169, 0, 43, 44, 45, 46, 47, 48, + 49, 189, 0, 190, -169, 0, 0, 0, 50, 0, + 0, 0, -169, 0, 0, 0, 0, 0, 0, 0, + 51, 52, 53, 171, 172, 173, 174, 54, 55, 0, + -68, 56, 0, 0, -169, -169, -169, -169, 0, 0, + 0, -169, 0, -169, 0, 0, -169, 0, 179, 180, + 181, 182, 183, -169, -169, -169, -169, 184, 185, 186, + 0, 0, 187, 173, 174, 0, 0, 0, -169, -169, + -169, -208, -169, -169, -169, -169, -169, -169, -169, -169, + -169, -169, -169, -208, 0, 0, 0, -169, -169, -169, + 183, -208, -169, -169, 0, 184, 185, 186, 0, 0, + 187, 0, 171, 172, 173, 174, 0, 0, 0, 0, + 0, 0, 0, -208, -208, -208, -208, 0, 0, 0, + -208, 0, -208, 0, 0, -208, 0, 0, 180, 181, + 182, 183, -208, -208, -208, -208, 184, 185, 186, 0, + 0, 187, 0, 0, 0, 0, 0, -208, -208, -208, + 0, -208, -208, -208, -208, -208, -208, -208, -208, -208, + -208, -208, 0, 0, 0, 0, -208, -208, -208, 0, + 0, -208, -208, 77, 0, 16, 0, 17, 18, 19, + 20, 21, 22, 23, 0, 0, 0, 132, 25, 26, + 27, 28, 110, 29, 30, 31, 32, 33, 34, 0, + 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, + 171, 172, 173, 174, 0, 0, 0, 36, 0, 37, + 38, 39, 40, 41, 42, 0, 0, 0, 0, 43, + 44, 45, 46, 47, 48, 49, 0, 181, 182, 183, + 0, 0, 0, 50, 184, 185, 186, 0, 0, 187, + 0, 0, 0, 0, 0, 51, 52, 53, 0, 0, + 0, 0, 54, 55, 0, 77, 56, 16, 0, 17, + 18, 19, 20, 21, 22, 23, 0, 0, 0, 138, + 25, 26, 27, 28, 139, 29, 30, 31, 32, 33, + 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, + 0, 0, 171, -235, 173, 174, 0, 0, 0, 36, + 0, 37, 38, 39, 40, 41, 42, 0, 0, 0, + 0, 43, 44, 45, 46, 47, 48, 49, 0, 0, + 182, 183, 0, 0, 0, 50, 184, 185, 186, 0, + 0, 187, 0, 0, 0, 0, 0, 51, 52, 53, + 0, 0, 0, 0, 54, 55, 0, 77, 56, 16, + 0, 17, 18, 19, 20, 21, 22, 23, 0, 0, + 0, 24, 25, 26, 27, 28, 0, 29, 30, 31, + 32, 33, 34, 0, 0, 0, 0, 35, 0, 0, + 0, 0, 0, 0, 171, 172, 173, 174, 0, 0, + 0, 36, 0, 37, 38, 39, 40, 41, 42, 0, + 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, + 0, 0, 182, 183, 0, 0, 0, 50, 184, 185, + 186, 0, 0, 187, 0, 0, 0, 0, 0, 51, + 52, 53, 0, 0, 0, 0, 54, 55, 0, 0, + 56, 16, 105, 17, 18, 19, 20, 21, 22, 23, + 0, 0, 0, 24, 25, 26, 27, 28, 0, 29, + 30, 31, 32, 33, 34, 0, 0, 0, 0, 35, + 0, 0, 0, 0, 0, 0, -235, 0, 173, 174, + 0, 0, 0, 36, 0, 37, 38, 39, 40, 41, + 42, 0, 0, 0, 0, 43, 44, 45, 46, 47, + 48, 49, 0, 0, 182, 183, 0, 0, 0, 50, + 184, 185, 186, 0, 0, 187, 0, 0, 0, 0, + 0, 51, 52, 53, 0, 0, 0, 0, 54, 55, + 0, 16, 56, 17, 18, 19, 20, 21, 22, 23, + 144, 0, 0, 24, 25, 26, 27, 28, 0, 29, + 30, 31, 32, 33, 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 52, 53, 0, 0, 0, 0, 54, 55, 0, - 16, 56, 17, 18, 19, 20, 21, 22, 23, 0, - 0, 0, 24, 25, 26, 27, 28, 0, 29, 30, - 31, 32, 33, 34, 0, 0, 0, 0, 35, 0, + 0, 0, 0, 36, 0, 37, 38, 39, 40, 41, + 42, 0, 0, 0, 0, 43, 44, 45, 46, 47, + 48, 49, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 36, 0, 37, 38, 39, 40, 41, 42, - 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, - 49, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 53, 0, 0, 0, 0, 54, 55, + 0, 16, 56, 17, 18, 19, 20, 21, 22, 23, + 0, 0, 0, 24, 25, 26, 27, 28, 0, 29, + 30, 31, 32, 33, 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 52, 53, 0, 0, 0, 0, 54, 55, 0, - 160, 56, 16, 0, 17, 18, 19, 20, 21, 22, - 23, 0, 0, 0, 24, 25, 26, 27, 28, 0, - 29, 30, 31, 32, 33, 34, 0, 0, 0, 0, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 36, 0, 37, 38, 39, 40, - 41, 42, 0, 0, 0, 0, 43, 44, 45, 46, - 47, 48, 49, 0, 0, 0, 0, 0, 0, 0, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 52, 53, 0, 0, 0, 0, 54, - 55, 0, 232, 56, 16, 0, 17, 18, 19, 20, - 21, 22, 23, 0, 0, 0, 24, 25, 26, 27, - 28, 0, 29, 30, 31, 32, 33, 34, 0, 0, - 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 36, 0, 37, 38, - 39, 40, 41, 42, 0, 0, 0, 0, 43, 44, - 45, 46, 47, 48, 49, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 52, 53, 0, 0, 0, - 0, 54, 55, 0, 242, 56, 16, 0, 17, 18, - 19, 20, 21, 22, 23, 0, 0, 0, 24, 25, - 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, - 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, - 37, 38, 39, 40, 41, 42, 0, 0, 0, 0, - 43, 44, 45, 46, 47, 48, 49, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 52, 53, 0, - 0, 0, 0, 54, 55, 0, 254, 56, 16, 0, - 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, - 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, - 33, 34, 0, 0, 0, 0, 35, 0, 0, 0, + 0, 0, 0, 36, 0, 37, 38, 39, 40, 41, + 42, 0, 0, 0, 0, 43, 44, 45, 46, 47, + 48, 49, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, - 0, 0, 43, 44, 45, 46, 47, 48, 49, 0, - 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, - 53, 0, 0, 0, 0, 54, 55, 0, 282, 56, - 16, 0, 17, 18, 19, 20, 21, 22, 23, 0, - 0, 0, 24, 25, 26, 27, 28, 0, 29, 30, - 31, 32, 33, 34, 0, 0, 0, 0, 35, 0, + 0, 51, 52, 53, 0, 0, 0, 0, 54, 55, + 0, 161, 56, 16, 0, 17, 18, 19, 20, 21, + 22, 23, 0, 0, 0, 24, 25, 26, 27, 28, + 0, 29, 30, 31, 32, 33, 34, 0, 0, 0, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 36, 0, 37, 38, 39, + 40, 41, 42, 0, 0, 0, 0, 43, 44, 45, + 46, 47, 48, 49, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, + 54, 55, 0, 233, 56, 16, 0, 17, 18, 19, + 20, 21, 22, 23, 0, 0, 0, 24, 25, 26, + 27, 28, 0, 29, 30, 31, 32, 33, 34, 0, + 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, + 38, 39, 40, 41, 42, 0, 0, 0, 0, 43, + 44, 45, 46, 47, 48, 49, 0, 0, 0, 0, + 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 52, 53, 0, 0, + 0, 0, 54, 55, 0, 243, 56, 16, 0, 17, + 18, 19, 20, 21, 22, 23, 0, 0, 0, 24, + 25, 26, 27, 28, 0, 29, 30, 31, 32, 33, + 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, + 0, 37, 38, 39, 40, 41, 42, 0, 0, 0, + 0, 43, 44, 45, 46, 47, 48, 49, 0, 0, + 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 52, 53, + 0, 0, 0, 0, 54, 55, 0, 255, 56, 16, + 0, 17, 18, 19, 20, 21, 22, 23, 0, 0, + 0, 24, 25, 26, 27, 28, 0, 29, 30, 31, + 32, 33, 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 36, 0, 37, 38, 39, 40, 41, 42, - 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, - 49, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 36, 0, 37, 38, 39, 40, 41, 42, 0, + 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, + 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 52, 53, 0, 0, 0, 0, 54, 55, 0, 283, + 56, 16, 0, 17, 18, 19, 20, 21, 22, 23, + 0, 0, 0, 24, 25, 26, 27, 28, 0, 29, + 30, 31, 32, 33, 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 52, 53, 0, 0, 0, 0, 54, 55, 0, - 323, 56, 16, 0, 17, 18, 19, 20, 21, 22, - 23, 0, 0, 0, 24, 25, 26, 27, 28, 0, - 29, 30, 31, 32, 33, 34, 0, 0, 0, 0, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 36, 0, 37, 38, 39, 40, - 41, 42, 0, 0, 0, 0, 43, 44, 45, 46, - 47, 48, 49, 0, 0, 0, 0, 0, 0, 0, - 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 52, 53, 0, 0, 0, 0, 54, - 55, 0, 325, 56, 16, 0, 17, 18, 19, 20, - 21, 22, 23, 0, 0, 0, 24, 25, 26, 27, - 28, 0, 29, 30, 31, 32, 33, 34, 0, 0, - 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 36, 0, 37, 38, - 39, 40, 41, 42, 0, 0, 0, 0, 43, 44, - 45, 46, 47, 48, 49, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 52, 53, 0, 0, 0, - 0, 54, 55, 0, 343, 56, 16, 0, 17, 18, - 19, 20, 21, 22, 23, 0, 0, 0, 24, 25, - 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, - 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, - 37, 38, 39, 40, 41, 42, 0, 0, 0, 0, - 43, 44, 45, 46, 47, 48, 49, 0, 169, 0, - 0, 0, 0, 0, 50, 170, 171, 172, 173, 0, - 0, 0, 0, 0, 0, 0, 51, 52, 53, 0, - 0, 0, 0, 54, 55, 174, 175, 56, 176, 177, - 178, 179, 180, 181, 182, 0, 0, 0, 169, 183, - 184, 185, 0, 0, 186, 170, 171, 172, 173, 0, + 0, 0, 0, 36, 0, 37, 38, 39, 40, 41, + 42, 0, 0, 0, 0, 43, 44, 45, 46, 47, + 48, 49, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 175, 0, 176, 177, - 178, 179, 180, 181, 182, 0, 0, 0, 0, 183, - 184, 185, 0, 0, 186 + 0, 51, 52, 53, 0, 0, 0, 0, 54, 55, + 0, 324, 56, 16, 0, 17, 18, 19, 20, 21, + 22, 23, 0, 0, 0, 24, 25, 26, 27, 28, + 0, 29, 30, 31, 32, 33, 34, 0, 0, 0, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 36, 0, 37, 38, 39, + 40, 41, 42, 0, 0, 0, 0, 43, 44, 45, + 46, 47, 48, 49, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 52, 53, 0, 0, 0, 0, + 54, 55, 0, 326, 56, 16, 0, 17, 18, 19, + 20, 21, 22, 23, 0, 0, 0, 24, 25, 26, + 27, 28, 0, 29, 30, 31, 32, 33, 34, 0, + 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, + 38, 39, 40, 41, 42, 0, 0, 0, 0, 43, + 44, 45, 46, 47, 48, 49, 0, 0, 0, 0, + 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 52, 53, 0, 0, + 0, 0, 54, 55, 0, 344, 56, 16, 0, 17, + 18, 19, 20, 21, 22, 23, 0, 0, 0, 24, + 25, 26, 27, 28, 0, 29, 30, 31, 32, 33, + 34, 0, 0, 0, 0, 35, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, + 0, 37, 38, 39, 40, 41, 42, 0, 0, 0, + 0, 43, 44, 45, 46, 47, 48, 49, 0, 170, + 0, 0, 0, 0, 0, 50, 171, 172, 173, 174, + 0, 0, 0, 0, 0, 0, 0, 51, 52, 53, + 0, 0, 0, 0, 54, 55, 0, 176, 56, 177, + 178, 179, 180, 181, 182, 183, 0, 0, 0, 0, + 184, 185, 186, 0, 0, 187 }; static const yytype_int16 yycheck[] = { - 10, 11, 12, 15, 42, 302, 117, 128, 423, 9, - 9, 11, 50, 9, 403, 11, 9, 16, 11, 15, - 16, 17, 18, 19, 15, 16, 17, 11, 24, 15, - 80, 41, 46, 0, 44, 146, 9, 19, 20, 21, - 22, 23, 11, 25, 26, 102, 45, 76, 9, 102, - 302, 101, 304, 305, 9, 470, 445, 56, 20, 20, - 42, 43, 44, 102, 26, 20, 48, 102, 82, 425, - 46, 47, 20, 21, 22, 23, 12, 25, 26, 117, - 436, 437, 92, 298, 70, 300, 12, 9, 98, 11, - 446, 12, 102, 103, 42, 43, 12, 135, 454, 23, - 17, 18, 102, 224, 28, 80, 102, 89, 146, 102, - 102, 102, 9, 123, 98, 32, 102, 23, 15, 36, - 12, 120, 9, 375, 41, 9, 23, 44, 127, 128, - 47, 28, 49, 12, 51, 52, 53, 54, 55, 102, - 76, 77, 78, 12, 96, 97, 128, 12, 100, 148, - 76, 77, 78, 102, 406, 76, 77, 78, 455, 102, - 76, 77, 78, 162, 163, 164, 12, 166, 167, 168, - 20, 200, 201, 202, 203, 204, 205, 20, 207, 208, - 128, 48, 102, 195, 76, 77, 78, 225, 187, 188, - 189, 190, 191, 192, 193, 194, 20, 76, 77, 78, - 210, 453, 102, 9, 186, 11, 317, 76, 77, 78, - 101, 76, 77, 78, 213, 214, 215, 216, 217, 218, - 20, 76, 77, 78, 345, 224, 76, 77, 78, 102, - 76, 77, 78, 76, 77, 78, 235, 20, 237, 238, - 102, 102, 76, 77, 78, 26, 101, 246, 165, 76, - 77, 78, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 101, 9, 9, - 11, 11, 271, 272, 303, 101, 76, 77, 78, 317, - 279, 291, 405, 20, 407, 102, 102, 410, 411, 11, - 401, 273, 20, 76, 77, 78, 419, 420, 297, 298, - 299, 300, 20, 302, 427, 304, 305, 10, 90, 319, - 76, 77, 78, 95, 96, 97, 439, 72, 100, 301, - 443, 42, 43, 44, 45, 23, 355, 102, 49, 358, - 51, 23, 331, 72, 101, 101, 10, 63, 64, 76, - 77, 78, 26, 11, 467, 468, 345, 78, 76, 77, - 78, 18, 76, 77, 78, 76, 77, 78, 76, 77, - 78, 18, 18, 401, 90, 61, 62, 63, 64, 95, - 96, 97, 18, 102, 100, 23, 375, 101, 21, 15, - 101, 101, 26, 76, 77, 78, 61, 62, 63, 64, - 86, 87, 88, 89, 90, 10, 10, 10, 10, 95, - 96, 97, 10, 54, 100, 417, 416, 406, 101, 408, - 61, 62, 63, 64, 89, 90, 23, 102, 335, 101, - 95, 96, 97, 101, 434, 100, 438, 76, 77, 78, + 10, 11, 12, 15, 42, 303, 118, 129, 11, 424, + 9, 303, 50, 305, 306, 20, 77, 16, 9, 9, + 11, 11, 0, 15, 15, 16, 17, 18, 19, 46, + 9, 41, 11, 24, 44, 147, 19, 20, 21, 22, + 23, 9, 25, 26, 404, 20, 45, 20, 21, 22, + 23, 26, 25, 26, 11, 102, 471, 56, 80, 42, + 43, 44, 15, 16, 17, 48, 83, 102, 102, 42, + 43, 76, 77, 78, 76, 77, 78, 9, 70, 101, + 118, 9, 102, 93, 376, 23, 446, 12, 20, 99, + 28, 80, 20, 103, 104, 12, 99, 9, 136, 101, + 9, 17, 18, 225, 76, 77, 78, 90, 12, 147, + 102, 102, 102, 12, 124, 407, 32, 12, 102, 48, + 36, 12, 121, 102, 9, 41, 11, 23, 44, 128, + 129, 47, 102, 49, 12, 51, 52, 53, 54, 55, + 201, 202, 203, 204, 205, 206, 129, 208, 209, 102, + 149, 76, 77, 78, 20, 102, 129, 12, 456, 76, + 77, 78, 454, 12, 163, 164, 165, 102, 167, 168, + 169, 102, 76, 77, 78, 20, 102, 76, 77, 78, + 102, 76, 77, 78, 196, 76, 77, 78, 226, 188, + 189, 190, 191, 192, 193, 194, 195, 20, 76, 77, + 78, 211, 102, 9, 187, 11, 318, 9, 102, 11, + 76, 77, 78, 20, 101, 214, 215, 216, 217, 218, + 219, 76, 77, 78, 346, 26, 225, 76, 77, 78, + 20, 76, 77, 78, 96, 97, 20, 236, 100, 238, + 239, 46, 47, 304, 95, 96, 97, 101, 247, 100, + 166, 76, 77, 78, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 76, + 77, 78, 102, 272, 273, 9, 101, 11, 20, 10, + 318, 280, 292, 299, 102, 301, 76, 77, 78, 72, + 402, 274, 76, 77, 78, 356, 11, 72, 359, 298, + 299, 300, 301, 406, 303, 408, 305, 306, 411, 412, + 320, 23, 63, 64, 9, 23, 11, 420, 421, 302, + 42, 43, 44, 45, 102, 428, 10, 49, 101, 51, + 26, 11, 78, 332, 76, 77, 78, 440, 89, 90, + 18, 444, 18, 102, 95, 96, 97, 346, 18, 100, + 76, 77, 78, 54, 76, 77, 78, 18, 21, 23, + 61, 62, 63, 64, 402, 468, 469, 42, 43, 44, + 45, 15, 101, 26, 49, 101, 51, 376, 10, 101, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 101, 451, 101, 101, 95, 96, 97, 0, 1, 100, - 20, 101, 101, 465, 453, 10, 9, 20, 11, 469, - 13, 14, 15, 16, 17, 18, 19, 20, 101, 101, - 23, 24, 25, 26, 27, 9, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 74, 20, 63, 49, 50, 51, 52, - 53, 101, 55, 56, 57, 58, 59, 60, 101, 76, - 77, 78, 65, 66, 67, 68, 69, 70, 71, 76, - 77, 78, 90, 20, 102, 73, 79, 95, 96, 97, - 22, 408, 100, 12, 101, 101, 101, 98, 91, 92, - 93, 455, 0, 1, 101, 98, 99, 35, 357, 102, - 103, 9, 197, 11, 399, 13, 14, 15, 16, 17, - 18, 19, 20, 48, 48, 23, 24, 25, 26, 27, - -1, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, - -1, 49, 50, 51, 52, 53, -1, 55, 56, 57, - 58, 59, 60, 76, 77, 78, -1, 65, 66, 67, - 68, 69, 70, 71, 95, 96, 97, 9, -1, 100, - -1, 79, -1, 15, -1, -1, 18, -1, 101, -1, - -1, 23, -1, 91, 92, 93, 28, -1, 1, -1, - 98, 99, -1, -1, 102, 103, 9, 10, 11, -1, - 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, - 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, -1, -1, -1, 49, 50, 51, 52, - 53, -1, 55, 56, 57, 58, 59, 60, -1, -1, - -1, -1, 65, 66, 67, 68, 69, 70, 71, 3, - 4, 5, 6, 7, 8, -1, 79, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, - 93, -1, -1, 1, -1, 98, 99, -1, -1, 102, - 103, 9, 10, 11, -1, 13, 14, 15, 16, 17, - 18, 19, 20, -1, -1, 23, 24, 25, 26, 27, - -1, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, - -1, 49, 50, 51, 52, 53, -1, 55, 56, 57, - 58, 59, 60, -1, -1, -1, -1, 65, 66, 67, - 68, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, 92, 93, -1, -1, 1, -1, - 98, 99, -1, -1, 102, 103, 9, 10, 11, -1, - 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, - 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, -1, -1, -1, 49, 50, 51, 52, - 53, -1, 55, 56, 57, 58, 59, 60, -1, -1, - -1, -1, 65, 66, 67, 68, 69, 70, 71, -1, - -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, - 93, -1, -1, 1, -1, 98, 99, -1, -1, 102, - 103, 9, -1, 11, -1, 13, 14, 15, 16, 17, - 18, 19, 20, -1, -1, 23, 24, 25, 26, 27, - -1, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, - -1, 49, 50, 51, 52, 53, -1, 55, 56, 57, - 58, 59, 60, -1, -1, -1, -1, 65, 66, 67, - 68, 69, 70, 71, -1, -1, 74, -1, -1, -1, - -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, 92, 93, -1, -1, 1, -1, - 98, 99, -1, -1, 102, 103, 9, -1, 11, -1, - 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, - 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, -1, -1, -1, 49, 50, 51, 52, - 53, -1, 55, 56, 57, 58, 59, 60, -1, -1, - -1, -1, 65, 66, 67, 68, 69, 70, 71, -1, - -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, - 93, -1, -1, 1, -1, 98, 99, -1, -1, 102, - 103, 9, -1, 11, -1, 13, 14, 15, 16, 17, - 18, 19, 20, -1, -1, 23, 24, 25, 26, 27, - -1, 29, 30, 31, 32, 33, 34, 35, -1, 37, - 38, 39, 40, 41, 42, 43, 44, 45, -1, -1, - -1, 49, 50, 51, 52, 53, -1, 55, 56, 57, - 58, 59, 60, -1, -1, -1, -1, 65, 66, 67, - 68, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, 92, 93, 1, -1, -1, -1, - 98, 99, -1, -1, 102, 103, 11, -1, 13, 14, - 15, 16, 17, 18, 19, 20, -1, -1, 23, 24, - 25, 26, 27, -1, 29, 30, 31, 32, 33, 34, - -1, -1, -1, -1, 39, -1, -1, 54, -1, -1, - -1, -1, -1, -1, 61, 62, 63, 64, 53, -1, - 55, 56, 57, 58, 59, 60, -1, -1, -1, -1, - 65, 66, 67, 68, 69, 70, 71, 84, 85, 86, - 87, 88, 89, 90, 79, -1, -1, -1, 95, 96, - 97, -1, -1, 100, -1, -1, 91, 92, 93, 1, - -1, -1, -1, 98, 99, -1, -1, 102, -1, 11, - -1, 13, 14, 15, 16, 17, 18, 19, -1, -1, + 76, 77, 78, 10, 95, 96, 97, 10, 10, 100, + 10, 76, 77, 78, 54, 23, 418, 417, 407, 101, + 409, 61, 62, 63, 64, 101, 76, 77, 78, 101, + 336, 102, 101, 20, 101, 435, 10, 439, 76, 77, + 78, 81, 82, 101, 84, 85, 86, 87, 88, 89, + 90, 101, 452, 101, 101, 95, 96, 97, 0, 1, + 100, 20, 101, 101, 466, 454, 9, 9, 101, 11, + 470, 13, 14, 15, 16, 17, 18, 19, 20, 74, + 20, 23, 24, 25, 26, 27, 101, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 20, 102, 63, 49, 50, 51, + 52, 53, 22, 55, 56, 57, 58, 59, 60, 73, + 101, 101, 12, 65, 66, 67, 68, 69, 70, 71, + 99, 409, 456, 90, 426, 198, 35, 79, 95, 96, + 97, 358, 400, 100, 48, 437, 438, 48, -1, 91, + 92, 93, -1, 0, 1, 447, 98, 99, -1, -1, + 102, 103, 9, 455, 11, -1, 13, 14, 15, 16, + 17, 18, 19, 20, -1, -1, 23, 24, 25, 26, + 27, -1, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, + -1, -1, 49, 50, 51, 52, 53, -1, 55, 56, + 57, 58, 59, 60, 76, 77, 78, -1, 65, 66, + 67, 68, 69, 70, 71, 76, 77, 78, 76, 77, + 78, 90, 79, -1, -1, -1, 95, 96, 97, 101, + -1, 100, -1, -1, 91, 92, 93, -1, -1, 1, + 101, 98, 99, 101, -1, 102, 103, 9, 10, 11, + -1, 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, 23, 24, 25, 26, 27, -1, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, 56, 57, 58, 59, 60, -1, - -1, 0, -1, 65, 66, 67, 68, 69, 70, 71, - 9, -1, 11, 12, -1, -1, -1, 79, -1, -1, - -1, 20, -1, -1, -1, -1, -1, -1, -1, 91, - 92, 93, 61, 62, 63, 64, 98, 99, -1, 101, - 102, -1, -1, 42, 43, 44, 45, -1, -1, -1, - 49, -1, 51, -1, -1, 54, -1, -1, 87, 88, - 89, 90, 61, 62, 63, 64, 95, 96, 97, -1, - -1, 100, -1, -1, -1, -1, -1, 76, 77, 78, - 0, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 12, -1, -1, -1, 95, 96, 97, -1, - 20, 100, 101, -1, -1, -1, -1, -1, -1, -1, - -1, 61, 62, 63, 64, -1, -1, -1, -1, -1, - -1, -1, 42, 43, 44, 45, -1, -1, -1, 49, - -1, 51, -1, -1, 54, -1, -1, -1, 88, 89, - 90, 61, 62, 63, 64, 95, 96, 97, -1, -1, - 100, -1, -1, -1, -1, -1, 76, 77, 78, -1, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, -1, -1, -1, -1, 95, 96, 97, -1, -1, - 100, 101, 9, -1, 11, -1, 13, 14, 15, 16, - 17, 18, 19, -1, -1, -1, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, - -1, -1, 39, -1, -1, -1, -1, -1, -1, 61, - 62, 63, 64, -1, -1, -1, 53, -1, 55, 56, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, -1, -1, -1, 49, 50, 51, + 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, + -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, + -1, -1, -1, 9, 9, -1, -1, 79, -1, 15, + 15, -1, 18, -1, -1, -1, -1, 23, 23, 91, + 92, 93, 28, 28, 1, -1, 98, 99, -1, -1, + 102, 103, 9, 10, 11, -1, 13, 14, 15, 16, + 17, 18, 19, 20, -1, -1, 23, 24, 25, 26, + 27, -1, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, + -1, -1, 49, 50, 51, 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, -1, -1, -1, 65, 66, - 67, 68, 69, 70, 71, -1, -1, 89, 90, -1, - -1, -1, 79, 95, 96, 97, -1, -1, 100, -1, - -1, -1, -1, -1, 91, 92, 93, -1, -1, -1, - -1, 98, 99, -1, 9, 102, 11, -1, 13, 14, - 15, 16, 17, 18, 19, -1, -1, -1, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, - -1, 61, -1, 63, 64, -1, -1, -1, 53, -1, - 55, 56, 57, 58, 59, 60, -1, -1, -1, -1, - 65, 66, 67, 68, 69, 70, 71, -1, -1, 89, - 90, -1, -1, -1, 79, 95, 96, 97, -1, -1, - 100, -1, -1, -1, -1, -1, 91, 92, 93, -1, - -1, -1, -1, 98, 99, -1, 9, 102, 11, -1, - 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, - 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, - 33, 34, -1, -1, -1, -1, 39, -1, -1, -1, - -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, - 53, -1, 55, 56, 57, 58, 59, 60, -1, -1, - -1, -1, 65, 66, 67, 68, 69, 70, 71, -1, - -1, 89, 90, -1, -1, -1, 79, 95, 96, 97, - -1, -1, 100, -1, -1, -1, -1, -1, 91, 92, - 93, -1, -1, -1, -1, 98, 99, -1, -1, 102, - 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, - -1, -1, 23, 24, 25, 26, 27, -1, 29, 30, - 31, 32, 33, 34, -1, -1, -1, -1, 39, 42, - 43, 44, 45, -1, -1, -1, 49, -1, 51, -1, - -1, -1, 53, -1, 55, 56, 57, 58, 59, 60, - -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, - 71, -1, -1, 76, 77, 78, -1, -1, 79, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, 92, 93, -1, -1, -1, -1, 98, 99, -1, - 11, 102, 13, 14, 15, 16, 17, 18, 19, 20, + 67, 68, 69, 70, 71, 3, 4, 5, 6, 7, + 8, -1, 79, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 91, 92, 93, -1, -1, 1, + -1, 98, 99, -1, -1, 102, 103, 9, 10, 11, + -1, 13, 14, 15, 16, 17, 18, 19, 20, -1, + -1, 23, 24, 25, 26, 27, -1, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, -1, -1, -1, 49, 50, 51, + 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, + -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, + -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, + 92, 93, -1, -1, 1, -1, 98, 99, -1, -1, + 102, 103, 9, -1, 11, -1, 13, 14, 15, 16, + 17, 18, 19, 20, -1, -1, 23, 24, 25, 26, + 27, -1, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, + -1, -1, 49, 50, 51, 52, 53, -1, 55, 56, + 57, 58, 59, 60, -1, -1, -1, -1, 65, 66, + 67, 68, 69, 70, 71, -1, -1, 74, -1, -1, + -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 91, 92, 93, -1, -1, 1, + -1, 98, 99, -1, -1, 102, 103, 9, -1, 11, + -1, 13, 14, 15, 16, 17, 18, 19, 20, -1, + -1, 23, 24, 25, 26, 27, -1, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, -1, -1, -1, 49, 50, 51, + 52, 53, -1, 55, 56, 57, 58, 59, 60, -1, + -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, + -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, + 92, 93, -1, -1, 1, -1, 98, 99, -1, -1, + 102, 103, 9, -1, 11, -1, 13, 14, 15, 16, + 17, 18, 19, 20, -1, -1, 23, 24, 25, 26, + 27, -1, 29, 30, 31, 32, 33, 34, 35, -1, + 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, + -1, -1, 49, 50, 51, 52, 53, -1, 55, 56, + 57, 58, 59, 60, -1, -1, -1, -1, 65, 66, + 67, 68, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 91, 92, 93, 1, -1, -1, + -1, 98, 99, -1, -1, 102, 103, 11, -1, 13, + 14, 15, 16, 17, 18, 19, 20, -1, -1, 23, + 24, 25, 26, 27, -1, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, 39, -1, -1, 54, -1, + -1, -1, -1, -1, -1, 61, 62, 63, 64, 53, + -1, 55, 56, 57, 58, 59, 60, -1, -1, -1, + -1, 65, 66, 67, 68, 69, 70, 71, 84, 85, + 86, 87, 88, 89, 90, 79, -1, -1, -1, 95, + 96, 97, -1, -1, 100, -1, -1, 91, 92, 93, + 1, -1, -1, -1, 98, 99, -1, -1, 102, -1, + 11, -1, 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, 55, 56, 57, 58, 59, 60, - -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, 79, -1, + -1, -1, 0, -1, 65, 66, 67, 68, 69, 70, + 71, 9, -1, 11, 12, -1, -1, -1, 79, -1, + -1, -1, 20, -1, -1, -1, -1, -1, -1, -1, + 91, 92, 93, 61, 62, 63, 64, 98, 99, -1, + 101, 102, -1, -1, 42, 43, 44, 45, -1, -1, + -1, 49, -1, 51, -1, -1, 54, -1, 86, 87, + 88, 89, 90, 61, 62, 63, 64, 95, 96, 97, + -1, -1, 100, 63, 64, -1, -1, -1, 76, 77, + 78, 0, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 12, -1, -1, -1, 95, 96, 97, + 90, 20, 100, 101, -1, 95, 96, 97, -1, -1, + 100, -1, 61, 62, 63, 64, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, 45, -1, -1, -1, + 49, -1, 51, -1, -1, 54, -1, -1, 87, 88, + 89, 90, 61, 62, 63, 64, 95, 96, 97, -1, + -1, 100, -1, -1, -1, -1, -1, 76, 77, 78, + -1, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, -1, -1, -1, -1, 95, 96, 97, -1, + -1, 100, 101, 9, -1, 11, -1, 13, 14, 15, + 16, 17, 18, 19, -1, -1, -1, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, + -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, + 61, 62, 63, 64, -1, -1, -1, 53, -1, 55, + 56, 57, 58, 59, 60, -1, -1, -1, -1, 65, + 66, 67, 68, 69, 70, 71, -1, 88, 89, 90, + -1, -1, -1, 79, 95, 96, 97, -1, -1, 100, + -1, -1, -1, -1, -1, 91, 92, 93, -1, -1, + -1, -1, 98, 99, -1, 9, 102, 11, -1, 13, + 14, 15, 16, 17, 18, 19, -1, -1, -1, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, 39, -1, -1, -1, -1, + -1, -1, 61, 62, 63, 64, -1, -1, -1, 53, + -1, 55, 56, 57, 58, 59, 60, -1, -1, -1, + -1, 65, 66, 67, 68, 69, 70, 71, -1, -1, + 89, 90, -1, -1, -1, 79, 95, 96, 97, -1, + -1, 100, -1, -1, -1, -1, -1, 91, 92, 93, + -1, -1, -1, -1, 98, 99, -1, 9, 102, 11, + -1, 13, 14, 15, 16, 17, 18, 19, -1, -1, + -1, 23, 24, 25, 26, 27, -1, 29, 30, 31, + 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, + -1, -1, -1, -1, 61, 62, 63, 64, -1, -1, + -1, 53, -1, 55, 56, 57, 58, 59, 60, -1, + -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, + -1, -1, 89, 90, -1, -1, -1, 79, 95, 96, + 97, -1, -1, 100, -1, -1, -1, -1, -1, 91, + 92, 93, -1, -1, -1, -1, 98, 99, -1, -1, + 102, 11, 12, 13, 14, 15, 16, 17, 18, 19, + -1, -1, -1, 23, 24, 25, 26, 27, -1, 29, + 30, 31, 32, 33, 34, -1, -1, -1, -1, 39, + -1, -1, -1, -1, -1, -1, 61, -1, 63, 64, + -1, -1, -1, 53, -1, 55, 56, 57, 58, 59, + 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, + 70, 71, -1, -1, 89, 90, -1, -1, -1, 79, + 95, 96, 97, -1, -1, 100, -1, -1, -1, -1, + -1, 91, 92, 93, -1, -1, -1, -1, 98, 99, + -1, 11, 102, 13, 14, 15, 16, 17, 18, 19, + 20, -1, -1, 23, 24, 25, 26, 27, -1, 29, + 30, 31, 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, 92, 93, -1, -1, -1, -1, 98, 99, -1, - 11, 102, 13, 14, 15, 16, 17, 18, 19, -1, - -1, -1, 23, 24, 25, 26, 27, -1, 29, 30, - 31, 32, 33, 34, -1, -1, -1, -1, 39, -1, + -1, -1, -1, 53, -1, 55, 56, 57, 58, 59, + 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 53, -1, 55, 56, 57, 58, 59, 60, - -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, 79, -1, + -1, 91, 92, 93, -1, -1, -1, -1, 98, 99, + -1, 11, 102, 13, 14, 15, 16, 17, 18, 19, + -1, -1, -1, 23, 24, 25, 26, 27, -1, 29, + 30, 31, 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, 92, 93, -1, -1, -1, -1, 98, 99, -1, - 101, 102, 11, -1, 13, 14, 15, 16, 17, 18, - 19, -1, -1, -1, 23, 24, 25, 26, 27, -1, - 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 53, -1, 55, 56, 57, 58, - 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 91, 92, 93, -1, -1, -1, -1, 98, - 99, -1, 101, 102, 11, -1, 13, 14, 15, 16, - 17, 18, 19, -1, -1, -1, 23, 24, 25, 26, - 27, -1, 29, 30, 31, 32, 33, 34, -1, -1, - -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 53, -1, 55, 56, - 57, 58, 59, 60, -1, -1, -1, -1, 65, 66, - 67, 68, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 91, 92, 93, -1, -1, -1, - -1, 98, 99, -1, 101, 102, 11, -1, 13, 14, - 15, 16, 17, 18, 19, -1, -1, -1, 23, 24, - 25, 26, 27, -1, 29, 30, 31, 32, 33, 34, - -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, - 55, 56, 57, 58, 59, 60, -1, -1, -1, -1, - 65, 66, 67, 68, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 91, 92, 93, -1, - -1, -1, -1, 98, 99, -1, 101, 102, 11, -1, - 13, 14, 15, 16, 17, 18, 19, -1, -1, -1, - 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, - 33, 34, -1, -1, -1, -1, 39, -1, -1, -1, + -1, -1, -1, 53, -1, 55, 56, 57, 58, 59, + 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 53, -1, 55, 56, 57, 58, 59, 60, -1, -1, - -1, -1, 65, 66, 67, 68, 69, 70, 71, -1, - -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 91, 92, - 93, -1, -1, -1, -1, 98, 99, -1, 101, 102, - 11, -1, 13, 14, 15, 16, 17, 18, 19, -1, - -1, -1, 23, 24, 25, 26, 27, -1, 29, 30, - 31, 32, 33, 34, -1, -1, -1, -1, 39, -1, + -1, 91, 92, 93, -1, -1, -1, -1, 98, 99, + -1, 101, 102, 11, -1, 13, 14, 15, 16, 17, + 18, 19, -1, -1, -1, 23, 24, 25, 26, 27, + -1, 29, 30, 31, 32, 33, 34, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 53, -1, 55, 56, 57, + 58, 59, 60, -1, -1, -1, -1, 65, 66, 67, + 68, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, 92, 93, -1, -1, -1, -1, + 98, 99, -1, 101, 102, 11, -1, 13, 14, 15, + 16, 17, 18, 19, -1, -1, -1, 23, 24, 25, + 26, 27, -1, 29, 30, 31, 32, 33, 34, -1, + -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 53, -1, 55, + 56, 57, 58, 59, 60, -1, -1, -1, -1, 65, + 66, 67, 68, 69, 70, 71, -1, -1, -1, -1, + -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 91, 92, 93, -1, -1, + -1, -1, 98, 99, -1, 101, 102, 11, -1, 13, + 14, 15, 16, 17, 18, 19, -1, -1, -1, 23, + 24, 25, 26, 27, -1, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, 39, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, + -1, 55, 56, 57, 58, 59, 60, -1, -1, -1, + -1, 65, 66, 67, 68, 69, 70, 71, -1, -1, + -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 91, 92, 93, + -1, -1, -1, -1, 98, 99, -1, 101, 102, 11, + -1, 13, 14, 15, 16, 17, 18, 19, -1, -1, + -1, 23, 24, 25, 26, 27, -1, 29, 30, 31, + 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 53, -1, 55, 56, 57, 58, 59, 60, - -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, 79, -1, + -1, 53, -1, 55, 56, 57, 58, 59, 60, -1, + -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, + -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, + 92, 93, -1, -1, -1, -1, 98, 99, -1, 101, + 102, 11, -1, 13, 14, 15, 16, 17, 18, 19, + -1, -1, -1, 23, 24, 25, 26, 27, -1, 29, + 30, 31, 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, 92, 93, -1, -1, -1, -1, 98, 99, -1, - 101, 102, 11, -1, 13, 14, 15, 16, 17, 18, - 19, -1, -1, -1, 23, 24, 25, 26, 27, -1, - 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 53, -1, 55, 56, 57, 58, - 59, 60, -1, -1, -1, -1, 65, 66, 67, 68, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 91, 92, 93, -1, -1, -1, -1, 98, - 99, -1, 101, 102, 11, -1, 13, 14, 15, 16, - 17, 18, 19, -1, -1, -1, 23, 24, 25, 26, - 27, -1, 29, 30, 31, 32, 33, 34, -1, -1, - -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 53, -1, 55, 56, - 57, 58, 59, 60, -1, -1, -1, -1, 65, 66, - 67, 68, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 91, 92, 93, -1, -1, -1, - -1, 98, 99, -1, 101, 102, 11, -1, 13, 14, - 15, 16, 17, 18, 19, -1, -1, -1, 23, 24, - 25, 26, 27, -1, 29, 30, 31, 32, 33, 34, - -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, - 55, 56, 57, 58, 59, 60, -1, -1, -1, -1, - 65, 66, 67, 68, 69, 70, 71, -1, 54, -1, - -1, -1, -1, -1, 79, 61, 62, 63, 64, -1, - -1, -1, -1, -1, -1, -1, 91, 92, 93, -1, - -1, -1, -1, 98, 99, 81, 82, 102, 84, 85, - 86, 87, 88, 89, 90, -1, -1, -1, 54, 95, - 96, 97, -1, -1, 100, 61, 62, 63, 64, -1, + -1, -1, -1, 53, -1, 55, 56, 57, 58, 59, + 60, -1, -1, -1, -1, 65, 66, 67, 68, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, -1, 84, 85, - 86, 87, 88, 89, 90, -1, -1, -1, -1, 95, - 96, 97, -1, -1, 100 + -1, 91, 92, 93, -1, -1, -1, -1, 98, 99, + -1, 101, 102, 11, -1, 13, 14, 15, 16, 17, + 18, 19, -1, -1, -1, 23, 24, 25, 26, 27, + -1, 29, 30, 31, 32, 33, 34, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 53, -1, 55, 56, 57, + 58, 59, 60, -1, -1, -1, -1, 65, 66, 67, + 68, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, 92, 93, -1, -1, -1, -1, + 98, 99, -1, 101, 102, 11, -1, 13, 14, 15, + 16, 17, 18, 19, -1, -1, -1, 23, 24, 25, + 26, 27, -1, 29, 30, 31, 32, 33, 34, -1, + -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 53, -1, 55, + 56, 57, 58, 59, 60, -1, -1, -1, -1, 65, + 66, 67, 68, 69, 70, 71, -1, -1, -1, -1, + -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 91, 92, 93, -1, -1, + -1, -1, 98, 99, -1, 101, 102, 11, -1, 13, + 14, 15, 16, 17, 18, 19, -1, -1, -1, 23, + 24, 25, 26, 27, -1, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, 39, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, + -1, 55, 56, 57, 58, 59, 60, -1, -1, -1, + -1, 65, 66, 67, 68, 69, 70, 71, -1, 54, + -1, -1, -1, -1, -1, 79, 61, 62, 63, 64, + -1, -1, -1, -1, -1, -1, -1, 91, 92, 93, + -1, -1, -1, -1, 98, 99, -1, 82, 102, 84, + 85, 86, 87, 88, 89, 90, -1, -1, -1, -1, + 95, 96, 97, -1, -1, 100 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1058,47 +1051,47 @@ static const yytype_uint8 yystos[] = 58, 59, 60, 65, 66, 67, 68, 69, 70, 71, 79, 91, 92, 93, 98, 99, 102, 146, 147, 148, 151, 152, 153, 154, 155, 156, 158, 161, 163, 164, - 165, 166, 167, 168, 169, 170, 9, 112, 1, 20, - 35, 37, 38, 40, 41, 42, 43, 44, 45, 49, - 50, 51, 52, 103, 112, 121, 127, 146, 36, 119, - 120, 121, 117, 117, 12, 146, 156, 156, 23, 28, - 112, 164, 171, 171, 171, 171, 171, 171, 171, 157, - 11, 102, 156, 139, 139, 156, 102, 102, 102, 112, - 156, 23, 147, 160, 164, 171, 171, 23, 28, 112, - 141, 156, 164, 20, 146, 23, 141, 156, 102, 159, - 164, 165, 166, 156, 147, 156, 156, 156, 156, 156, - 101, 146, 76, 77, 78, 80, 9, 11, 102, 54, - 61, 62, 63, 64, 81, 82, 84, 85, 86, 87, - 88, 89, 90, 95, 96, 97, 100, 102, 9, 11, - 9, 11, 9, 11, 9, 114, 140, 141, 23, 138, - 102, 102, 102, 102, 70, 102, 164, 102, 102, 112, - 48, 129, 20, 42, 43, 44, 45, 49, 51, 120, - 121, 119, 12, 160, 102, 102, 146, 101, 112, 26, - 142, 101, 101, 146, 161, 171, 147, 102, 102, 10, - 20, 160, 101, 146, 72, 144, 11, 101, 146, 146, - 146, 156, 146, 146, 101, 146, 156, 156, 156, 156, + 165, 166, 167, 168, 169, 170, 171, 9, 112, 1, + 20, 35, 37, 38, 40, 41, 42, 43, 44, 45, + 49, 50, 51, 52, 103, 112, 121, 127, 146, 36, + 119, 120, 121, 117, 117, 12, 146, 156, 156, 23, + 28, 112, 164, 172, 172, 172, 172, 172, 172, 172, + 157, 11, 102, 156, 139, 139, 156, 102, 102, 102, + 112, 156, 23, 147, 160, 164, 172, 172, 23, 28, + 112, 141, 156, 164, 20, 146, 23, 141, 156, 102, + 159, 164, 165, 166, 156, 147, 156, 156, 156, 156, + 156, 101, 146, 76, 77, 78, 80, 9, 11, 102, + 54, 61, 62, 63, 64, 81, 82, 84, 85, 86, + 87, 88, 89, 90, 95, 96, 97, 100, 102, 9, + 11, 9, 11, 9, 11, 9, 114, 140, 141, 23, + 138, 102, 102, 102, 102, 70, 102, 164, 102, 102, + 112, 48, 129, 20, 42, 43, 44, 45, 49, 51, + 120, 121, 119, 12, 160, 102, 102, 146, 101, 112, + 26, 142, 101, 101, 146, 161, 172, 147, 102, 102, + 10, 20, 160, 101, 146, 72, 144, 11, 101, 146, + 146, 146, 156, 146, 146, 101, 146, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 9, 11, 15, 16, 17, 18, 19, 24, 102, - 150, 164, 101, 146, 146, 146, 146, 146, 146, 146, - 146, 117, 23, 137, 138, 23, 123, 114, 114, 114, - 114, 114, 114, 102, 114, 114, 112, 146, 133, 146, - 146, 146, 146, 146, 161, 147, 12, 149, 72, 143, - 101, 101, 146, 101, 146, 101, 146, 10, 101, 26, - 146, 11, 20, 12, 101, 83, 146, 146, 18, 18, - 18, 18, 18, 101, 146, 102, 101, 20, 12, 20, - 12, 20, 12, 20, 10, 21, 113, 122, 9, 20, - 23, 132, 146, 133, 134, 146, 133, 136, 162, 164, - 127, 131, 134, 135, 146, 114, 134, 134, 101, 101, - 160, 26, 112, 101, 101, 101, 12, 146, 10, 156, - 20, 12, 101, 161, 10, 10, 10, 10, 114, 142, - 114, 23, 101, 101, 101, 101, 102, 101, 20, 134, - 101, 101, 12, 10, 101, 20, 143, 124, 160, 130, - 130, 9, 115, 115, 134, 115, 132, 101, 115, 115, - 74, 20, 112, 145, 117, 20, 115, 115, 116, 46, - 47, 128, 128, 101, 129, 20, 115, 118, 10, 129, - 129, 117, 115, 102, 115, 130, 129, 20, 26, 125, - 10, 134, 129, 135, 22, 73, 126, 101, 101, 117, - 115, 115, 74, 128 + 156, 156, 9, 11, 15, 16, 17, 18, 19, 24, + 102, 150, 164, 101, 146, 146, 146, 146, 146, 146, + 146, 146, 117, 23, 137, 138, 23, 123, 114, 114, + 114, 114, 114, 114, 102, 114, 114, 112, 146, 133, + 146, 146, 146, 146, 146, 161, 147, 12, 149, 72, + 143, 101, 101, 146, 101, 146, 101, 146, 10, 101, + 26, 146, 11, 20, 12, 101, 83, 146, 146, 18, + 18, 18, 18, 18, 101, 146, 102, 101, 20, 12, + 20, 12, 20, 12, 20, 10, 21, 113, 122, 9, + 20, 23, 132, 146, 133, 134, 146, 133, 136, 162, + 164, 127, 131, 134, 135, 146, 114, 134, 134, 101, + 101, 160, 26, 112, 101, 101, 101, 12, 146, 10, + 156, 20, 12, 101, 161, 10, 10, 10, 10, 114, + 142, 114, 23, 101, 101, 101, 101, 102, 101, 20, + 134, 101, 101, 12, 10, 101, 20, 143, 124, 160, + 130, 130, 9, 115, 115, 134, 115, 132, 101, 115, + 115, 74, 20, 112, 145, 117, 20, 115, 115, 116, + 46, 47, 128, 128, 101, 129, 20, 115, 118, 10, + 129, 129, 117, 115, 102, 115, 130, 129, 20, 26, + 125, 10, 134, 129, 135, 22, 73, 126, 101, 101, + 117, 115, 115, 74, 128 }; typedef enum { @@ -1132,10 +1125,10 @@ static const toketypes yy_type_tab[] = toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, - toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval + toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval }; /* Generated from: - * 3291ccd173f79d1ee1490bd5e07445713edcf8cbb091ae54165016bd846e2682 perly.y + * 1197382d22c31fcdde494b49bf64759ffa9ecf45fb2536cefae6300977d788aa perly.y * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl * ex: set ro: */ diff --git a/perly.y b/perly.y index 92c61f0..f7e8b63 100644 --- a/perly.y +++ b/perly.y @@ -94,7 +94,7 @@ %type stmtseq fullstmt labfullstmt barestmt block mblock else %type expr term subscripted scalar ary hsh arylen star amper sideff -%type sliceme gelem +%type sliceme kvslice gelem %type listexpr nexpr texpr iexpr mexpr mnexpr miexpr %type optlistexpr optexpr indirob listop method %type formname subname proto subbody cont my_scalar formblock @@ -1208,7 +1208,7 @@ term : termbinop TOKEN_GETMAD($2,$$,'['); TOKEN_GETMAD($4,$$,']'); } - | hsh '[' expr ']' /* array key/value slice */ + | kvslice '[' expr ']' /* array key/value slice */ { $$ = op_prepend_elem(OP_KVASLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVASLICE, 0, @@ -1234,7 +1234,7 @@ term : termbinop TOKEN_GETMAD($4,$$,';'); TOKEN_GETMAD($5,$$,'}'); } - | hsh '{' expr ';' '}' /* %hash{@keys} */ + | kvslice '{' expr ';' '}' /* %hash{@keys} */ { $$ = op_prepend_elem(OP_KVHSLICE, newOP(OP_PUSHMARK, 0), newLISTOP(OP_KVHSLICE, 0, @@ -1494,6 +1494,13 @@ sliceme : ary } ; +kvslice : hsh + | term ARROW '%' + { $$ = newHVREF($1); + TOKEN_GETMAD($3,$$,'@'); + } + ; + gelem : star | term ARROW '*' { $$ = newGVREF(0,$1); diff --git a/t/op/postfixderef.t b/t/op/postfixderef.t index 954e356..6569db3 100644 --- a/t/op/postfixderef.t +++ b/t/op/postfixderef.t @@ -16,7 +16,7 @@ BEGIN { use strict qw(refs subs); -plan(94); +plan(96); { no strict 'refs'; @@ -312,4 +312,7 @@ ok (!eval { $pvbm->%* }, 'PVBM is not a HASH ref'); eval { my $foo; !$foo->%* ? 1 : 0; }; ok !$@, '!%$undef ? 1 : 0'; } +# Postfix key/value slices +is join(" ", {1..10}->%{1, 7, 3}), "1 2 7 8 3 4", '->%{'; +is join(" ", ['a'..'z']->%[1, 7, 3]), "1 b 7 h 3 d", '->%[';