+/* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int16 yydefgoto[] =
+{
+ -1, 12, 13, 14, 15, 16, 101, 49, 50, 51,
+ 184, 185, 186, 52, 53, 222, 54, 158, 215, 305,
+ 311, 216, 116, 71, 114, 227, 89, 90, 91, 92,
+ 127, 133, 134, 135, 234, 201, 55, 337, 360, 228,
+ 229, 230, 231, 381, 382, 17, 58, 59, 18, 63,
+ 19, 61, 361
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -326
+static const yytype_int16 yypact[] =
+{
+ 145, 13, 77, -326, -326, -326, -326, -326, -326, -326,
+ 108, 196, 146, -326, 145, 205, 168, -326, -326, -326,
+ 264, 173, 221, 232, -326, -326, 205, -326, -326, -326,
+ 205, 161, 259, 276, 283, 301, 205, 222, -326, -326,
+ -326, -326, 309, 273, 327, 273, 281, -326, -326, 170,
+ -326, 292, -326, -326, -326, -326, 291, 290, -27, -326,
+ -326, 40, -326, 127, 294, 250, 332, 292, -326, 333,
+ 334, 335, 375, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, 350, 443, 392, 337, 295,
+ -326, 457, 339, 239, 357, -326, -326, 392, 273, 366,
+ 376, -326, 27, 381, 71, 391, 95, 398, 124, -326,
+ 372, 417, 390, 389, 394, 396, 434, 471, -326, -326,
+ 446, -326, 471, -326, 447, 411, 4, -326, 471, -326,
+ 474, 231, 461, -326, 392, -326, 424, 472, 475, 122,
+ 192, -326, -326, -326, 470, -326, 435, 476, -326, 437,
+ -326, 477, 438, -326, 478, 163, 444, 274, 0, 334,
+ -326, 482, 448, -326, 449, 409, 295, -326, -326, 450,
+ 483, 484, -326, 6, -326, 488, 392, 452, 6, 392,
+ 64, 38, 409, 32, 451, 490, 453, 80, 455, 456,
+ 485, 291, -326, -326, 459, -326, 460, -326, 462, 491,
+ -326, -326, -326, 463, 464, 465, 466, 467, 468, 469,
+ 473, 479, 480, 481, 486, -30, -326, 487, -326, -326,
+ 392, 495, 500, 409, 426, 489, 11, 502, 492, -326,
+ 493, -326, -326, -326, 126, -326, -326, 494, 510, 409,
+ 511, -326, 507, 496, 498, 509, -326, -326, 64, -326,
+ -326, 187, 291, 291, 291, 189, -326, -326, -326, -326,
+ -326, 85, 85, 27, 27, 18, 334, 392, -6, 219,
+ 226, 260, 293, -326, 274, 512, 499, 501, 497, 503,
+ 128, 179, 392, 100, 515, 358, -326, 516, 409, 505,
+ 506, 508, -326, -326, 515, -326, 513, 291, -326, -326,
+ -326, 514, 291, 517, -326, -326, -326, -326, -326, 517,
+ -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
+ -326, -326, -326, -326, -326, -326, 12, -326, -326, 518,
+ 515, 392, 392, -326, 519, 524, 69, 163, -326, -326,
+ -326, 520, 409, 515, 409, 163, 291, -326, 291, -326,
+ 521, 522, -326, 61, 163, -326, -326, 525, 66, 523,
+ 529, -326, -326, 515, 526, 163, 527, -326, -326, -326,
+ 528, 533, 532, -326, -326, 66, -326, 530, 83, 101,
+ 531, 75, -326, -326, 69, 163, 515, -326, 515, -326,
+ 504, 535, 88, 27, 27, -326, 27, -326, 27, -326,
+ -326, 546, -326, 163, 163, -326, 534, -326, -326, -326,
+ -326, -326, 69, -326, -326, -326, -326
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yytype_int16 yypgoto[] =
+{
+ -326, -326, -4, 102, 552, -326, -189, -326, 538, -26,
+ 352, 383, 387, -326, -326, -326, -326, -326, -326, 5,
+ -326, 298, -326, -24, -154, -43, -326, -69, -326, -66,
+ -57, 431, -326, -96, -326, -325, -23, -287, -297, -178,
+ -259, -326, 289, 203, -216, 154, -326, 536, 212, -326,
+ 223, -326, -102
+};
+
+/* 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 -159
+static const yytype_int16 yytable[] =
+{
+ 145, 88, 256, 119, 244, 219, 120, 345, 99, 166,
+ 25, 67, 362, 315, 68, 316, 281, 123, 87, 217,
+ 367, 93, 129, 333, 111, 169, 25, 273, 103, 374,
+ 274, 351, 25, 104, 20, 172, 174, 309, 142, 67,
+ 387, 143, 109, 354, 124, 279, 141, 142, 119, 304,
+ 143, 141, 142, 119, 137, 143, 365, 180, 218, 119,
+ 402, 290, 170, 298, 299, 300, 126, 132, -156, 167,
+ 352, 282, 355, 356, 138, 235, 385, 236, 413, 414,
+ 372, 246, 172, 241, 144, 376, 245, 401, 141, 142,
+ 57, 175, 143, 144, 376, 105, 21, 183, 144, 403,
+ 106, 404, 141, 142, 303, 171, 143, 376, 347, 232,
+ 341, 251, 313, 349, 150, 416, 304, 30, 242, 373,
+ 141, 142, 334, 359, 143, 377, 147, 22, 36, 378,
+ 379, 380, 399, 238, 377, 144, 240, 252, 378, 379,
+ 380, 180, 394, 153, 181, 407, 24, 377, 1, 144,
+ 151, 378, 379, 380, 2, 119, 335, 368, 120, 369,
+ 396, 307, 308, 312, 364, 400, 366, 144, 27, 3,
+ 4, 5, 6, 7, 8, 9, 400, 276, 182, 154,
+ 37, 183, 107, 286, 27, -158, 287, 108, 331, 37,
+ 27, 10, 11, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 187, 188, 189, 2, 23, 47, 199, 296, 48,
+ 301, 200, 31, 190, 314, 95, 28, 33, 48, 3,
+ 4, 5, 6, 7, 8, 9, -157, 29, 317, 332,
+ 318, 64, 28, 65, 297, 319, 302, 320, 28, 191,
+ 169, 10, 11, 29, 38, 39, 40, 41, 131, 29,
+ 44, 45, 46, 38, 39, 40, 41, 306, 32, 64,
+ 310, 38, 39, 40, 41, 34, 395, 397, 66, 321,
+ 56, 322, 38, 39, 40, 41, 35, 170, 44, 45,
+ 46, 408, 409, 202, 410, 57, 411, 72, 73, 74,
+ 75, 76, 60, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 323, 86, 324, 203, 204, 205, 206, 207,
+ 62, 208, 209, 210, 211, 212, 213, 214, 69, 70,
+ 97, 98, 72, 73, 74, 75, 76, 94, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 100, 86, 102,
+ 66, 110, 112, 113, 115, 121, 125, 126, 130, 38,
+ 39, 40, 41, 72, 73, 74, 75, 76, 338, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 136, 86,
+ 117, 73, 74, 75, 76, 139, 77, 78, 79, 80,
+ 81, 82, 83, 84, 118, 140, 86, 72, 73, 74,
+ 75, 76, 146, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 149, 86, 224, 225, 74, 75, 76, 152,
+ 77, 78, 79, 80, 81, 82, 83, 84, 226, 155,
+ 86, 117, 73, 74, 75, 76, 156, 77, 78, 79,
+ 80, 81, 82, 83, 84, 280, 157, 86, 122, 73,
+ 159, 160, 161, 162, 77, 78, 79, 80, 81, 82,
+ 83, 84, 128, 73, 86, 163, 164, 165, 77, 78,
+ 79, 80, 81, 82, 83, 84, 117, 73, 86, 168,
+ 173, 176, 77, 78, 79, 80, 81, 82, 83, 84,
+ 192, 177, 86, 193, 178, 195, 197, 194, 196, 198,
+ 182, 220, 233, 169, 221, 223, 170, 237, 239, 248,
+ 183, 250, 253, 254, 277, 260, 255, 257, 258, 278,
+ 259, 283, 261, 262, 263, 264, 265, 266, 267, 289,
+ 291, 292, 268, 295, 336, 340, 326, 249, 269, 270,
+ 271, 275, 353, 358, 375, 272, -155, 383, 384, 284,
+ 288, 329, 370, 285, 293, 294, 327, 390, 328, 406,
+ 330, 342, 405, 343, 344, 412, 26, 247, 243, 179,
+ 346, 348, 325, 350, 339, 357, 371, 363, 392, 0,
+ 0, 0, 0, 386, 388, 389, 391, 96, 0, 393,
+ 398, 0, 415, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 148
+};
+
+static const yytype_int16 yycheck[] =
+{
+ 102, 44, 191, 72, 182, 159, 72, 294, 51, 5,
+ 14, 37, 337, 19, 37, 21, 5, 86, 44, 19,
+ 345, 45, 91, 282, 67, 19, 30, 57, 55, 354,
+ 60, 19, 36, 60, 21, 131, 132, 19, 20, 65,
+ 365, 23, 65, 330, 87, 223, 19, 20, 117, 31,
+ 23, 19, 20, 122, 97, 23, 343, 19, 58, 128,
+ 385, 239, 56, 252, 253, 254, 62, 93, 57, 126,
+ 58, 60, 331, 332, 98, 171, 363, 173, 403, 404,
+ 19, 183, 178, 19, 66, 19, 54, 384, 19, 20,
+ 19, 134, 23, 66, 19, 55, 19, 59, 66, 386,
+ 60, 388, 19, 20, 19, 131, 23, 19, 297, 166,
+ 288, 31, 266, 302, 19, 412, 31, 15, 54, 58,
+ 19, 20, 22, 54, 23, 59, 55, 19, 26, 63,
+ 64, 65, 57, 176, 59, 66, 179, 57, 63, 64,
+ 65, 19, 59, 19, 22, 57, 0, 59, 3, 66,
+ 55, 63, 64, 65, 9, 224, 56, 346, 224, 348,
+ 59, 263, 264, 265, 342, 381, 344, 66, 14, 24,
+ 25, 26, 27, 28, 29, 30, 392, 220, 56, 55,
+ 19, 59, 55, 57, 30, 57, 60, 60, 60, 19,
+ 36, 46, 47, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 19, 20, 21, 9, 19, 55, 54, 31, 58,
+ 31, 58, 54, 31, 267, 55, 14, 54, 58, 24,
+ 25, 26, 27, 28, 29, 30, 57, 14, 19, 60,
+ 21, 19, 30, 21, 57, 19, 57, 21, 36, 57,
+ 19, 46, 47, 30, 32, 33, 34, 35, 19, 36,
+ 38, 39, 40, 32, 33, 34, 35, 262, 4, 19,
+ 265, 32, 33, 34, 35, 54, 378, 379, 56, 19,
+ 21, 21, 32, 33, 34, 35, 54, 56, 38, 39,
+ 40, 393, 394, 19, 396, 19, 398, 5, 6, 7,
+ 8, 9, 19, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 19, 21, 21, 41, 42, 43, 44, 45,
+ 19, 47, 48, 49, 50, 51, 52, 53, 19, 56,
+ 38, 39, 5, 6, 7, 8, 9, 56, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 56, 21, 59,
+ 56, 19, 19, 19, 19, 5, 19, 62, 19, 32,
+ 33, 34, 35, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 21, 21,
+ 5, 6, 7, 8, 9, 19, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 19, 21, 5, 6, 7,
+ 8, 9, 21, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 21, 21, 5, 6, 7, 8, 9, 21,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 57,
+ 21, 5, 6, 7, 8, 9, 19, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 56, 21, 5, 6,
+ 61, 57, 56, 19, 11, 12, 13, 14, 15, 16,
+ 17, 18, 5, 6, 21, 19, 19, 56, 11, 12,
+ 13, 14, 15, 16, 17, 18, 5, 6, 21, 5,
+ 19, 57, 11, 12, 13, 14, 15, 16, 17, 18,
+ 20, 19, 21, 58, 19, 58, 58, 21, 21, 21,
+ 56, 19, 19, 19, 56, 56, 56, 19, 56, 19,
+ 59, 58, 57, 57, 19, 24, 31, 58, 58, 19,
+ 58, 19, 59, 59, 59, 59, 59, 59, 59, 19,
+ 19, 24, 59, 24, 19, 19, 24, 185, 59, 59,
+ 59, 54, 24, 19, 19, 59, 57, 24, 19, 57,
+ 56, 54, 31, 60, 58, 57, 57, 24, 57, 24,
+ 57, 56, 58, 57, 56, 19, 14, 184, 181, 138,
+ 57, 57, 274, 56, 285, 56, 54, 57, 375, -1,
+ -1, -1, -1, 57, 57, 57, 54, 49, -1, 59,
+ 59, -1, 58, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 104
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const yytype_uint8 yystos[] =
+{
+ 0, 3, 9, 24, 25, 26, 27, 28, 29, 30,
+ 46, 47, 68, 69, 70, 71, 72, 112, 115, 117,
+ 21, 19, 19, 19, 0, 69, 71, 112, 115, 117,
+ 70, 54, 4, 54, 54, 54, 70, 19, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 55, 58, 74,
+ 75, 76, 80, 81, 83, 103, 21, 19, 113, 114,
+ 19, 118, 19, 116, 19, 21, 56, 76, 103, 19,
+ 56, 90, 5, 6, 7, 8, 9, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 21, 76, 92, 93,
+ 94, 95, 96, 90, 56, 55, 75, 38, 39, 92,
+ 56, 73, 59, 55, 60, 55, 60, 55, 60, 103,
+ 19, 92, 19, 19, 91, 19, 89, 5, 19, 94,
+ 96, 5, 5, 94, 92, 19, 62, 97, 5, 94,
+ 19, 19, 76, 98, 99, 100, 21, 92, 90, 19,
+ 19, 19, 20, 23, 66, 119, 21, 55, 114, 21,
+ 19, 55, 21, 19, 55, 57, 19, 56, 84, 61,
+ 57, 56, 19, 19, 19, 56, 5, 97, 5, 19,
+ 56, 76, 100, 19, 100, 92, 57, 19, 19, 98,
+ 19, 22, 56, 59, 77, 78, 79, 19, 20, 21,
+ 31, 57, 20, 58, 21, 58, 21, 58, 21, 54,
+ 58, 102, 19, 41, 42, 43, 44, 45, 47, 48,
+ 49, 50, 51, 52, 53, 85, 88, 19, 58, 91,
+ 19, 56, 82, 56, 5, 6, 19, 92, 106, 107,
+ 108, 109, 97, 19, 101, 100, 100, 19, 92, 56,
+ 92, 19, 54, 79, 106, 54, 119, 78, 19, 77,
+ 58, 31, 57, 57, 57, 31, 73, 58, 58, 58,
+ 24, 59, 59, 59, 59, 59, 59, 59, 59, 59,
+ 59, 59, 59, 57, 60, 54, 92, 19, 19, 106,
+ 19, 5, 60, 19, 57, 60, 57, 60, 56, 19,
+ 106, 19, 24, 58, 57, 24, 31, 57, 73, 73,
+ 73, 31, 57, 19, 31, 86, 86, 119, 119, 19,
+ 86, 87, 119, 91, 92, 19, 21, 19, 21, 19,
+ 21, 19, 21, 19, 21, 88, 24, 57, 57, 54,
+ 57, 60, 60, 107, 22, 56, 19, 104, 10, 109,
+ 19, 106, 56, 57, 56, 104, 57, 73, 57, 73,
+ 56, 19, 58, 24, 104, 107, 107, 56, 19, 54,
+ 105, 119, 102, 57, 106, 104, 106, 102, 73, 73,
+ 31, 54, 19, 58, 102, 19, 19, 59, 63, 64,
+ 65, 110, 111, 24, 19, 104, 57, 102, 57, 57,
+ 24, 54, 110, 59, 59, 119, 59, 119, 59, 57,
+ 111, 105, 102, 104, 104, 58, 24, 57, 119, 119,
+ 119, 119, 19, 102, 102, 58, 105
+};
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK (1); \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+while (YYID (0))
+
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+ If N is 0, then set CURRENT to the empty location which ends
+ the previous symbol: RHS[0] (always defined). */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ do \
+ if (YYID (N)) \
+ { \
+ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
+ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
+ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
+ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
+ } \
+ else \
+ { \
+ (Current).first_line = (Current).last_line = \
+ YYRHSLOC (Rhs, 0).last_line; \
+ (Current).first_column = (Current).last_column = \
+ YYRHSLOC (Rhs, 0).last_column; \
+ } \
+ while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+ This macro was not mandated originally: define only if we know
+ we won't break user code: when these are the locations we know. */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+# define YY_LOCATION_PRINT(File, Loc) \
+ fprintf (File, "%d.%d-%d.%d", \
+ (Loc).first_line, (Loc).first_column, \
+ (Loc).last_line, (Loc).last_column)
+# else
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf