This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Use GNU Bison's named references
[perl5.git] / perly.tab
1 /* -*- buffer-read-only: t -*-
2    !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3    This file is built by regen_perly.pl from perly.y.
4    Any changes made here will be lost!
5  */
6
7 #define YYFINAL  16
8 /* YYLAST -- Last index in YYTABLE.  */
9 #define YYLAST   3303
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  112
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  97
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  295
17 /* YYNSTATES -- Number of states.  */
18 #define YYNSTATES  573
19
20 #define YYUNDEFTOK  2
21 #define YYMAXUTOK   344
22
23
24 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
25    as returned by yylex, with out-of-bounds checking.  */
26 #define YYTRANSLATE(YYX)                                                \
27   (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
28
29 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
30    as returned by yylex.  */
31 static const yytype_int8 yytranslate[] =
32 {
33        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
34        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
36        2,     2,     2,    95,     2,     2,   109,    17,    18,     2,
37      107,   106,   110,    15,    80,    14,    20,   111,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,    83,   108,
39        2,    19,     2,    82,    16,     2,     2,     2,     2,     2,
40        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
41        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
42        2,    12,     2,    13,     2,     2,     2,     2,     2,     2,
43        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
44        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
45        2,     2,     2,    10,     2,    11,    96,     2,     2,     2,
46        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
47        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
48        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
49        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
50        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
51        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
52        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
53        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
54        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
55        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
56        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
57        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
58        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
59        5,     6,     7,     8,     9,    21,    22,    23,    24,    25,
60       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
61       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
62       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
63       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
64       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
65       76,    77,    78,    79,    81,    84,    85,    86,    87,    88,
66       89,    90,    91,    92,    93,    94,    97,    98,    99,   100,
67      101,   102,   103,   104,   105
68 };
69
70 #if YYDEBUG
71   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
72 static const yytype_int16 yyrline[] =
73 {
74        0,   122,   122,   121,   133,   132,   143,   142,   156,   155,
75      169,   168,   182,   181,   192,   191,   204,   212,   220,   224,
76      232,   238,   239,   249,   250,   259,   263,   267,   274,   284,
77      286,   299,   296,   320,   315,   336,   344,   343,   352,   358,
78      364,   369,   371,   373,   380,   388,   390,   387,   407,   412,
79      419,   418,   433,   441,   447,   454,   453,   468,   472,   477,
80      485,   503,   504,   508,   512,   514,   516,   518,   520,   522,
81      524,   527,   533,   534,   539,   550,   551,   557,   563,   564,
82      569,   572,   576,   581,   585,   589,   590,   594,   600,   605,
83      610,   611,   616,   617,   622,   623,   625,   630,   632,   644,
84      645,   650,   652,   656,   676,   677,   679,   685,   750,   752,
85      758,   760,   764,   770,   771,   776,   777,   781,   785,   785,
86      853,   854,   859,   870,   871,   874,   885,   887,   889,   891,
87      895,   897,   902,   906,   910,   914,   920,   925,   931,   937,
88      939,   941,   944,   943,   954,   955,   959,   963,   966,   971,
89      976,   979,   983,   987,   993,  1001,  1008,  1014,  1016,  1018,
90     1023,  1025,  1027,  1032,  1034,  1036,  1038,  1040,  1042,  1044,
91     1046,  1048,  1050,  1052,  1056,  1058,  1060,  1062,  1066,  1068,
92     1072,  1074,  1076,  1078,  1082,  1084,  1089,  1091,  1094,  1096,
93     1098,  1101,  1104,  1115,  1118,  1125,  1127,  1129,  1131,  1133,
94     1136,  1142,  1144,  1148,  1149,  1150,  1151,  1152,  1154,  1156,
95     1158,  1160,  1162,  1164,  1166,  1168,  1170,  1172,  1174,  1176,
96     1178,  1180,  1190,  1200,  1210,  1220,  1222,  1224,  1227,  1232,
97     1236,  1238,  1240,  1242,  1245,  1247,  1250,  1252,  1254,  1256,
98     1258,  1260,  1262,  1264,  1266,  1269,  1271,  1273,  1275,  1277,
99     1279,  1283,  1286,  1285,  1298,  1299,  1300,  1304,  1306,  1308,
100     1313,  1315,  1318,  1320,  1322,  1327,  1329,  1334,  1335,  1340,
101     1341,  1347,  1351,  1352,  1353,  1356,  1357,  1360,  1361,  1364,
102     1368,  1372,  1378,  1384,  1386,  1390,  1394,  1395,  1399,  1400,
103     1404,  1405,  1410,  1412,  1414,  1417
104 };
105 #endif
106
107 #if YYDEBUG || YYERROR_VERBOSE || 0
108 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
109    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
110 static const char *const yytname[] =
111 {
112   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
113   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE", "'{'",
114   "'}'", "'['", "']'", "'-'", "'+'", "'@'", "'%'", "'&'", "'='", "'.'",
115   "BAREWORD", "METHOD", "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF",
116   "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR",
117   "PLUGSTMT", "LABEL", "FORMAT", "SUB", "SIGSUB", "ANONSUB", "ANON_SIGSUB",
118   "PACKAGE", "USE", "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF",
119   "CONTINUE", "FOR", "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT",
120   "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "MULOP", "ADDOP",
121   "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE",
122   "COLONATTR", "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND",
123   "PREC_LOW", "OROP", "DOROP", "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'",
124   "':'", "OROR", "DORDOR", "ANDAND", "BITOROP", "BITANDOP", "CHEQOP",
125   "NCEQOP", "CHRELOP", "NCRELOP", "SHIFTOP", "MATCHOP", "'!'", "'~'",
126   "UMINUS", "REFGEN", "POWOP", "PREINC", "PREDEC", "POSTINC", "POSTDEC",
127   "POSTJOIN", "ARROW", "')'", "'('", "';'", "'$'", "'*'", "'/'", "$accept",
128   "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "@7", "block",
129   "formblock", "remember", "mblock", "mremember", "stmtseq", "formstmtseq",
130   "fullstmt", "labfullstmt", "barestmt", "$@8", "$@9", "$@10", "$@11",
131   "$@12", "@13", "$@14", "formline", "formarg", "condition", "sideff",
132   "else", "cont", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr",
133   "formname", "startsub", "startanonsub", "startformsub", "subname",
134   "proto", "subattrlist", "myattrlist", "sigvarname", "sigslurpsigil",
135   "sigslurpelem", "sigdefault", "sigscalarelem", "sigelem", "siglist",
136   "siglistornull", "optsubsignature", "subsignature", "subsigguts", "$@15",
137   "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "expr",
138   "listexpr", "listop", "@16", "method", "subscripted", "termbinop",
139   "termrelop", "relopchain", "termeqop", "eqopchain", "termunop",
140   "anonymous", "termdo", "term", "@17", "myattrterm", "myterm",
141   "optlistexpr", "optexpr", "optrepl", "my_scalar", "my_var",
142   "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen",
143   "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
144 };
145 #endif
146
147 # ifdef YYPRINT
148 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
149    (internal) symbol number NUM (which must be that of a token).  */
150 static const yytype_int16 yytoknum[] =
151 {
152        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
153      123,   125,    91,    93,    45,    43,    64,    37,    38,    61,
154       46,   265,   266,   267,   268,   269,   270,   271,   272,   273,
155      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
156      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
157      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
158      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
159      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
160       44,   324,    63,    58,   325,   326,   327,   328,   329,   330,
161      331,   332,   333,   334,   335,    33,   126,   336,   337,   338,
162      339,   340,   341,   342,   343,   344,    41,    40,    59,    36,
163       42,    47
164 };
165 # endif
166
167 #define YYPACT_NINF (-456)
168
169 #define yypact_value_is_default(Yyn) \
170   ((Yyn) == YYPACT_NINF)
171
172 #define YYTABLE_NINF (-291)
173
174 #define yytable_value_is_error(Yyn) \
175   ((Yyn) == YYTABLE_NINF)
176
177   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
178      STATE-NUM.  */
179 static const yytype_int16 yypact[] =
180 {
181      842,  -456,  -456,  -456,  -456,  -456,  -456,  -456,    57,  -456,
182     2977,    17,  1583,  1482,  -456,  -456,  -456,  -456,  2086,  2977,
183     2977,     5,     5,     5,  -456,     5,     5,  -456,  -456,    50,
184      -13,  -456,  2977,  -456,  -456,  -456,  -456,  2977,    -7,    32,
185      -24,  1987,  1886,     5,  1987,  2185,     4,  2977,     0,  2977,
186     2977,  2977,  2977,  2977,  2977,  2977,  2284,     5,     5,   -11,
187      -10,  -456,    -1,  -456,   -41,    52,   -43,    64,  -456,  -456,
188     -456,  3106,  -456,  -456,    60,    72,    89,   230,  -456,   176,
189      318,   359,   216,  -456,  -456,  -456,  -456,  -456,     4,     4,
190      157,  -456,   100,   134,   140,   150,   272,   169,   172,    17,
191      148,  -456,   217,  -456,   175,   437,  1482,  -456,  -456,  -456,
192      673,  -456,    16,   775,  -456,    55,   -30,   -30,  -456,  -456,
193     -456,  -456,  -456,  -456,  -456,  2977,   201,   236,  2977,   209,
194      431,    17,   292,   251,  3106,   237,  2383,  2977,  1886,  -456,
195      431,   573,   -10,  -456,   477,  2977,  -456,  -456,   431,   331,
196      197,  -456,  -456,  2977,   431,  3076,  2482,   278,  -456,  -456,
197     -456,   431,   -10,   -30,   -30,   -30,    58,    58,   341,   313,
198     -456,  -456,  2977,  2977,  2977,  2977,  2977,  2977,  2581,  -456,
199     -456,  2977,  -456,  -456,  2977,  2977,  2977,  2977,  2977,  2977,
200     2977,  2977,  2977,  2977,  2977,  2977,  2977,  2977,  2977,  2977,
201     2977,  2977,  -456,  -456,  -456,    75,  2680,  2977,  2977,  2977,
202     2977,  2977,  2977,  2977,  -456,   340,  -456,  -456,   344,  -456,
203     -456,  -456,  -456,  -456,   270,    36,  -456,  -456,   267,  -456,
204     -456,  -456,  -456,    17,  -456,  -456,  2977,  2977,  2977,  2977,
205     2977,  2977,  -456,  -456,  -456,  -456,  -456,   352,   352,  -456,
206     -456,  -456,   300,  -456,  -456,  -456,  2977,  2977,   111,  -456,
207     -456,  -456,   251,   358,  -456,  -456,  -456,   379,   309,   281,
208     2977,   -10,  -456,   391,  -456,  2779,   -30,   278,    67,   105,
209      256,  -456,   440,   377,  -456,  2977,   396,   333,   333,  -456,
210     3106,   204,   114,  -456,   471,   431,  1929,  3198,   652,   301,
211     3106,   360,  1668,  1668,  1768,  1868,   539,  1929,  1929,   431,
212      431,   659,   -30,   -30,  2977,  2977,   303,   305,   307,  -456,
213      308,  2878,     2,   310,   302,  -456,  -456,   513,   299,   133,
214      320,   136,   390,   158,   419,   876,  -456,   404,  -456,  -456,
215       -3,   405,  2977,  2977,  2977,  2977,  -456,   316,  -456,  -456,
216      322,  -456,  -456,  -456,  -456,  1684,    27,  -456,  2977,  2977,
217     -456,  -456,   -11,  -456,   -11,  -456,  -456,  -456,  -456,  -456,
218      349,   349,    16,   327,   -35,  -456,  2977,  -456,  -456,   328,
219     -456,  -456,  -456,  -456,   517,  -456,   109,   520,  -456,  -456,
220     -456,   168,  2977,   423,  -456,  -456,  2977,   434,   183,  -456,
221     -456,  -456,  -456,  -456,   530,  -456,  -456,  2977,  -456,   426,
222     -456,   427,  -456,   429,  -456,   447,  -456,  -456,  -456,   292,
223      251,  -456,  -456,   439,   363,   -11,   367,   369,   -11,   370,
224      371,  -456,  -456,  -456,  -456,   378,   386,   280,  -456,  2977,
225      394,   395,  2977,  -456,  -456,  -456,  -456,  2977,   449,  -456,
226      498,  -456,  -456,   519,  -456,  -456,   194,  -456,   242,  -456,
227     3152,   521,  -456,  -456,   435,  -456,  -456,  -456,  -456,   432,
228      251,   436,  -456,  2977,  -456,  -456,   542,   542,  2977,  2977,
229      542,  -456,   465,   450,   542,   542,  3106,   -11,  -456,  -456,
230      468,  -456,  -456,  -456,  -456,   503,   470,  -456,  -456,  -456,
231     -456,   476,   542,   542,  -456,    43,    43,   481,   486,   217,
232     2977,  2977,   542,  -456,  -456,   977,  -456,  1078,  -456,  -456,
233     -456,  -456,  1179,  -456,   217,   217,  -456,   542,   492,  -456,
234     -456,   542,   542,  -456,   494,   497,   217,  -456,  -456,    18,
235     -456,  -456,  -456,  1280,  -456,  2977,   217,   217,  -456,   542,
236     -456,   533,   585,  -456,  -456,   504,  -456,  -456,  -456,   217,
237     -456,  -456,  -456,   542,  1785,  -456,  1381,    43,   505,  -456,
238     -456,   542,  -456
239 };
240
241   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
242      Performed when YYTABLE does not specify something else to do.  Zero
243      means the default is an error.  */
244 static const yytype_int16 yydefact[] =
245 {
246        0,     2,     4,     6,     8,    10,    12,    14,     0,    18,
247      267,     0,     0,     0,    21,   118,     1,    21,     0,     0,
248        0,     0,     0,     0,   254,     0,     0,   225,   252,   213,
249      247,   249,   243,    88,   256,    88,    88,   235,   245,     0,
250        0,   238,   265,     0,     0,     0,     0,     0,     0,   241,
251        0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
252      129,   255,   220,   203,   165,   174,   166,   180,   204,   205,
253      206,   132,   210,     5,   226,   215,   218,   217,   219,   216,
254        0,     0,     0,    18,     7,    64,    29,    89,     0,     0,
255        0,    87,     0,     0,     0,     0,     0,     0,     0,     0,
256        0,    59,    75,     9,     0,    65,     0,    11,    26,    25,
257        0,    15,   113,     0,   196,     0,   186,   187,   292,   295,
258      294,   293,   281,   282,   279,   265,     0,     0,     0,     0,
259      244,     0,    92,    94,   236,     0,     0,   267,   267,   239,
260      240,   292,   266,   139,   293,     0,   283,   202,   201,     0,
261        0,    90,    91,   265,   211,     0,     0,   258,   262,   264,
262      263,   242,   237,   188,   189,   208,   193,   194,   214,     0,
263      280,   285,     0,     0,     0,   130,     0,     0,     0,   177,
264      176,     0,   183,   182,     0,     0,     0,     0,     0,     0,
265        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
266        0,     0,   190,   191,   192,     0,     0,     0,     0,     0,
267        0,     0,     0,     0,    21,    86,    87,    87,     0,    36,
268       18,    18,    18,    18,    18,     0,    18,    18,     0,    18,
269       18,    42,    58,     0,    54,    57,     0,     0,     0,     0,
270        0,     0,    28,    27,    22,   101,   102,    99,    99,   109,
271      108,   112,   114,   119,   195,   137,   267,     0,     0,   248,
272      142,    93,    94,    96,    18,   246,   250,     0,     0,     0,
273        0,   133,   198,     0,   229,     0,   209,     0,   215,   218,
274      217,   261,     0,    98,   257,     0,   212,   127,   128,   126,
275      131,     0,     0,   156,     0,   179,   185,   169,   162,   163,
276      160,     0,   171,   172,   170,   168,   167,   184,   181,   178,
277      175,   164,   173,   161,     0,     0,   287,   289,     0,   144,
278        0,     0,     0,   291,   136,   145,   227,     0,     0,     0,
279        0,     0,     0,     0,     0,     0,    85,     0,    31,    33,
280        0,     0,    80,     0,     0,     0,   277,     0,   278,   275,
281        0,   276,   272,   273,   274,     0,     0,    18,     0,     0,
282       76,    68,    63,    69,    82,    66,    67,    70,    71,   100,
283      104,   104,   110,     0,   269,   158,   265,    18,    95,   115,
284      200,   251,   141,   140,     0,   197,   214,     0,   259,   260,
285       97,     0,     0,     0,   149,   155,     0,     0,     0,   231,
286      232,   233,   284,   153,     0,   230,   234,   267,   228,     0,
287      147,     0,   221,     0,   222,     0,    16,    18,    30,    92,
288       94,    18,    35,     0,     0,    81,     0,     0,    83,     0,
289        0,   271,    18,    79,    84,     0,     0,    65,    50,     0,
290        0,     0,   105,   107,   103,   111,   138,     0,     0,   143,
291        0,   199,   118,     0,   116,   134,   212,   159,     0,   152,
292      207,     0,   148,   154,     0,   150,   223,   224,   146,     0,
293       94,    18,    55,   265,    77,    77,     0,     0,     0,     0,
294        0,    45,     0,     0,     0,     0,   106,   270,   253,    21,
295        0,    21,   157,   151,   135,     0,    18,   124,    34,   123,
296       21,     0,     0,     0,    20,    72,    72,     0,     0,    75,
297       80,     0,     0,    40,    41,     0,   117,     0,    23,   121,
298       32,   120,     0,    37,    75,    75,    21,     0,     0,    38,
299       39,     0,     0,    53,     0,     0,    75,   122,   125,     0,
300       56,    43,    44,     0,    73,     0,    75,    75,    46,     0,
301       49,    61,     0,    24,    19,     0,    48,    52,    77,    75,
302       21,    60,    17,     0,     0,    51,     0,    72,     0,    62,
303       74,     0,    47
304 };
305
306   /* YYPGOTO[NTERM-NUM].  */
307 static const yytype_int16 yypgoto[] =
308 {
309     -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,   228,
310     -456,    -5,  -139,  -456,   -17,  -456,   596,   506,    12,  -456,
311     -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,   266,  -341,
312     -448,  -192,  -455,  -456,   104,   277,  -337,    49,  -456,   -44,
313      159,  -456,   149,   202,  -243,   348,   389,  -456,  -456,   268,
314     -456,   273,  -456,  -456,  -456,  -456,   188,  -456,  -456,   152,
315     -456,   181,    -8,   -37,  -456,  -456,  -456,  -456,  -456,  -456,
316     -456,  -456,  -456,  -456,  -456,  -456,   103,  -456,  -456,   491,
317     -124,   -97,  -456,  -456,   312,  -456,  -456,   444,    38,   -45,
318      -42,  -456,  -456,  -456,  -456,  -456,    13
319 };
320
321   /* YYDEFGOTO[NTERM-NUM].  */
322 static const yytype_int16 yydefgoto[] =
323 {
324       -1,     8,     9,    10,    11,    12,    13,    14,    15,   102,
325      418,   379,   505,   526,   110,   539,   244,   108,   109,   419,
326      420,   341,   510,   558,   482,   500,   553,   561,   361,   104,
327      529,   234,   502,   434,   424,   363,   427,   436,   337,   219,
328      131,   215,   153,   262,   264,   284,   370,   248,   249,   443,
329      250,   251,   252,   253,   453,   454,   111,   112,   520,   451,
330      498,   380,   105,    60,    61,   376,   324,    62,    63,    64,
331       65,    66,    67,    68,    69,    70,    71,   127,    72,   157,
332      143,    73,   448,   430,   349,   350,   227,    74,    75,    76,
333       77,    78,    79,    80,    81,    82,   170
334 };
335
336   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
337      positive, shift that token.  If negative, reduce the rule whose
338      number is the opposite.  If YYTABLE_NINF, syntax error.  */
339 static const yytype_int16 yytable[] =
340 {
341      113,   255,    59,   159,    17,   142,   160,   421,   429,   176,
342      115,   177,    83,   162,   433,    83,    21,    22,   435,   377,
343      503,   440,   441,   118,   103,   151,   118,    83,   119,   274,
344      152,   119,   245,   246,   122,   123,   124,   150,   125,   126,
345      268,   269,   551,    21,    22,   175,   182,   183,   169,   137,
346      179,   180,    21,    22,    23,   145,   146,    16,   530,   121,
347      121,   121,   128,   121,   121,   172,   173,   174,   254,   201,
348      175,   171,   202,   203,   204,   205,   447,   207,   214,   208,
349      144,   121,   207,   138,   208,   314,   158,   315,   142,   527,
350      528,   316,   317,   318,   129,   121,   121,   319,   155,  -286,
351      135,  -286,   483,   564,   348,   422,   178,   156,   271,    57,
352      279,    57,   405,   280,    57,  -286,   142,  -286,   243,   570,
353      258,   285,   116,   117,   375,   247,   552,   394,   267,    59,
354       59,   172,   173,   174,   228,   130,    57,  -262,   320,   136,
355      134,   507,   508,   181,   140,    57,   410,   148,   282,   412,
356      154,   270,   161,   184,   163,   164,   165,   166,   167,   373,
357     -291,  -291,  -291,   205,   287,   288,   289,   206,   291,   292,
358      294,   414,   338,   339,   535,  -264,   144,   471,   218,  -261,
359      353,   457,   321,   354,   322,   323,  -290,   172,   173,   174,
360      172,   173,   174,   278,   132,   133,   462,   335,   327,   328,
361      329,   330,   331,   332,   333,   334,   392,   220,   555,   172,
362      173,   174,   172,   173,   174,   342,   343,   344,   345,   347,
363      374,   355,   356,   433,   358,   359,   213,   496,   362,   364,
364      362,   362,   362,   362,   172,   173,   174,   216,   217,    84,
365     -288,   221,  -288,   325,   172,   173,   174,   222,    59,   120,
366      120,   120,   449,   120,   120,   492,   232,   223,   276,   172,
367      173,   174,   384,   352,  -260,   233,  -288,   387,  -288,   139,
368      120,   120,   147,   172,   173,   174,   229,   391,   290,   230,
369      172,   173,   174,   235,   295,   120,   120,   296,   297,   298,
370      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
371      309,   310,   311,   312,   313,   273,   397,   398,   256,   257,
372      464,   353,   393,   404,   354,   259,   261,   533,   172,   173,
373      174,   263,   236,   237,   238,   239,  -263,   231,   209,   240,
374      210,   241,   541,   542,   425,   364,   428,   428,   506,   142,
375      224,   509,   272,   265,   550,   513,   514,   437,   283,   501,
376      428,   428,   439,   285,   556,   557,   172,   173,   174,   260,
377      121,   336,   186,   524,   525,   340,   120,   565,   346,   211,
378      225,   212,   450,   536,   357,   172,   173,   174,   369,   226,
379      372,    57,   378,   382,   458,   431,   -83,   383,   544,   172,
380      173,   174,   546,   547,   352,   200,   172,   173,   174,    59,
381      201,   390,   385,   202,   203,   204,   205,   409,   392,   407,
382      559,   174,   469,   399,   185,   400,   472,   401,   402,   286,
383      406,   186,   187,   417,   567,    57,   423,   479,   411,   432,
384      442,   428,   572,   446,   459,   452,   142,   465,   466,   487,
385      467,   188,   189,   396,   190,   191,   192,   193,   194,   195,
386      196,   197,   198,   199,   200,   172,   173,   174,   468,   201,
387      473,   360,   202,   203,   204,   205,   172,   173,   174,   474,
388      428,   428,   515,   475,   517,   476,   477,  -215,   478,   236,
389      237,   238,   239,   522,   480,   381,   240,   207,   241,   208,
390     -215,   450,   186,   187,   481,   172,   173,   174,   413,   460,
391      484,   485,   425,   428,   365,   366,   367,   368,   489,   543,
392      172,   173,   174,   172,   173,   174,   172,   173,   174,  -215,
393     -215,  -215,  -215,   488,   199,   200,  -215,   415,  -215,   491,
394      201,  -215,   493,   202,   203,   204,   205,   428,  -215,  -215,
395      495,   494,   461,   566,   497,   486,   389,   172,   173,   174,
396      120,  -215,   504,  -215,  -215,  -215,   512,  -215,  -215,  -215,
397     -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
398     -215,  -215,   511,  -254,   516,   518,  -215,   395,   519,  -215,
399     -215,  -215,  -215,  -215,   523,  -215,  -254,   531,  -215,   172,
400      173,   174,   532,   172,   173,   174,   172,   173,   174,   545,
401      186,   187,   548,   549,   560,   562,   172,   173,   174,   107,
402      563,   571,   242,   568,   534,  -254,  -254,  -254,  -254,   408,
403      426,   470,  -254,   455,  -254,   388,   456,  -254,   195,   196,
404      197,   198,   199,   200,  -254,  -254,   463,   371,   201,   444,
405      490,   202,   203,   204,   205,   445,   277,  -254,   521,  -254,
406     -254,  -254,   499,  -254,  -254,  -254,  -254,  -254,  -254,  -254,
407     -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,   438,   351,
408        0,     0,  -254,   -13,    85,  -254,  -254,  -254,  -254,  -254,
409        0,  -254,     0,    83,  -254,    18,     0,    19,    20,    21,
410       22,    23,     0,     0,    24,    25,    26,    27,    28,     0,
411       29,    30,    31,    32,    33,    34,    86,   106,    87,    88,
412       89,    35,    36,    90,    91,    92,    93,    94,    95,     0,
413      186,   187,    96,    97,    98,    99,    37,     0,   100,    38,
414       39,    40,    41,    42,     0,     0,    43,    44,    45,    46,
415       47,    48,    49,     0,     0,     0,   200,     0,     0,     0,
416        0,   201,    50,   200,   202,   203,   204,   205,   201,     0,
417        0,   202,   203,   204,   205,     0,     0,     0,    51,    52,
418        0,    53,     0,    54,    55,    -3,    85,     0,     0,     0,
419       56,   101,    57,    58,     0,    83,     0,    18,     0,    19,
420       20,    21,    22,    23,     0,     0,    24,    25,    26,    27,
421       28,     0,    29,    30,    31,    32,    33,    34,    86,   106,
422       87,    88,    89,    35,    36,    90,    91,    92,    93,    94,
423       95,     0,     0,     0,    96,    97,    98,    99,    37,     0,
424      100,    38,    39,    40,    41,    42,     0,     0,    43,    44,
425       45,    46,    47,    48,    49,     1,     2,     3,     4,     5,
426        6,     7,     0,     0,    50,     0,     0,     0,     0,     0,
427        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
428       51,    52,     0,    53,     0,    54,    55,    85,     0,     0,
429        0,     0,    56,   101,    57,    58,    83,   416,    18,     0,
430       19,    20,    21,    22,    23,     0,     0,    24,    25,    26,
431       27,    28,     0,    29,    30,    31,    32,    33,    34,    86,
432      106,    87,    88,    89,    35,    36,    90,    91,    92,    93,
433       94,    95,     0,     0,     0,    96,    97,    98,    99,    37,
434        0,   100,    38,    39,    40,    41,    42,     0,     0,    43,
435       44,    45,    46,    47,    48,    49,     0,     0,     0,     0,
436        0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
437        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
438        0,    51,    52,     0,    53,     0,    54,    55,    85,     0,
439        0,     0,     0,    56,   101,    57,    58,    83,   537,    18,
440        0,    19,    20,    21,    22,    23,     0,     0,    24,    25,
441       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
442       86,   106,    87,    88,    89,    35,    36,    90,    91,    92,
443       93,    94,    95,     0,     0,     0,    96,    97,    98,    99,
444       37,     0,   100,    38,    39,    40,    41,    42,     0,     0,
445       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
446        0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
448        0,     0,    51,    52,     0,    53,     0,    54,    55,    85,
449        0,     0,     0,     0,    56,   101,    57,    58,    83,   538,
450       18,     0,    19,    20,    21,    22,    23,     0,     0,    24,
451       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
452       34,    86,   106,    87,    88,    89,    35,    36,    90,    91,
453       92,    93,    94,    95,     0,     0,     0,    96,    97,    98,
454       99,    37,     0,   100,    38,    39,    40,    41,    42,     0,
455        0,    43,    44,    45,    46,    47,    48,    49,     0,     0,
456        0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
458        0,     0,     0,    51,    52,     0,    53,     0,    54,    55,
459       85,     0,     0,     0,     0,    56,   101,    57,    58,    83,
460      540,    18,     0,    19,    20,    21,    22,    23,     0,     0,
461       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
462       33,    34,    86,   106,    87,    88,    89,    35,    36,    90,
463       91,    92,    93,    94,    95,     0,     0,     0,    96,    97,
464       98,    99,    37,     0,   100,    38,    39,    40,    41,    42,
465        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
466        0,     0,     0,     0,     0,     0,     0,     0,    50,     0,
467        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
468        0,     0,     0,     0,    51,    52,     0,    53,     0,    54,
469       55,    85,     0,     0,     0,     0,    56,   101,    57,    58,
470       83,   554,    18,     0,    19,    20,    21,    22,    23,     0,
471        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
472       32,    33,    34,    86,   106,    87,    88,    89,    35,    36,
473       90,    91,    92,    93,    94,    95,     0,     0,     0,    96,
474       97,    98,    99,    37,     0,   100,    38,    39,    40,    41,
475       42,     0,     0,    43,    44,    45,    46,    47,    48,    49,
476        0,     0,     0,     0,     0,     0,     0,     0,     0,    50,
477        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
478        0,     0,     0,     0,     0,    51,    52,     0,    53,     0,
479       54,    55,    85,     0,     0,     0,     0,    56,   101,    57,
480       58,    83,     0,    18,     0,    19,    20,    21,    22,    23,
481        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
482       31,    32,    33,    34,    86,   106,    87,    88,    89,    35,
483       36,    90,    91,    92,    93,    94,    95,     0,     0,     0,
484       96,    97,    98,    99,    37,     0,   100,    38,    39,    40,
485       41,    42,     0,     0,    43,    44,    45,    46,    47,    48,
486       49,     0,     0,   569,     0,     0,     0,     0,     0,     0,
487       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
488        0,     0,     0,     0,     0,     0,    51,    52,     0,    53,
489        0,    54,    55,    85,     0,     0,     0,     0,    56,   101,
490       57,    58,    83,     0,    18,     0,    19,    20,    21,    22,
491       23,     0,     0,    24,    25,    26,    27,    28,     0,    29,
492       30,    31,    32,    33,    34,    86,   106,    87,    88,    89,
493       35,    36,    90,    91,    92,    93,    94,    95,     0,     0,
494        0,    96,    97,    98,    99,    37,     0,   100,    38,    39,
495       40,    41,    42,     0,     0,    43,    44,    45,    46,    47,
496       48,    49,     0,     0,     0,     0,     0,     0,     0,     0,
497        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
498        0,     0,     0,     0,     0,     0,     0,    51,    52,     0,
499       53,     0,    54,    55,    85,     0,     0,     0,     0,    56,
500      101,    57,    58,    83,     0,    18,     0,    19,    20,    21,
501       22,    23,     0,     0,    24,    25,    26,    27,    28,     0,
502       29,    30,    31,    32,    33,    34,    86,     0,    87,    88,
503       89,    35,    36,    90,    91,    92,    93,    94,    95,     0,
504        0,     0,    96,    97,    98,    99,    37,     0,   100,    38,
505       39,    40,    41,    42,     0,     0,    43,    44,    45,    46,
506       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
507        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
508        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
509        0,    53,     0,    54,    55,    85,     0,     0,     0,     0,
510       56,   101,    57,    58,     0,     0,    18,     0,    19,    20,
511       21,    22,    23,     0,     0,    24,    25,    26,    27,    28,
512        0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
513        0,     0,    35,    36,     0,     0,     0,     0,     0,   186,
514      187,     0,     0,     0,     0,     0,     0,    37,     0,     0,
515       38,    39,    40,    41,    42,     0,     0,    43,    44,    45,
516       46,    47,    48,    49,   192,   193,   194,   195,   196,   197,
517      198,   199,   200,    50,     0,     0,     0,   201,     0,     0,
518      202,   203,   204,   205,     0,     0,     0,     0,     0,    51,
519       52,     0,    53,     0,    54,    55,    85,     0,     0,     0,
520        0,    56,   -78,    57,    58,     0,     0,    18,     0,    19,
521       20,    21,    22,    23,     0,     0,    24,    25,    26,    27,
522       28,     0,    29,    30,    31,    32,    33,    34,     0,     0,
523        0,     0,     0,    35,    36,     0,     0,     0,     0,   186,
524      187,     0,     0,     0,     0,     0,     0,     0,    37,     0,
525        0,    38,    39,    40,    41,    42,     0,     0,    43,    44,
526       45,    46,    47,    48,    49,   193,   194,   195,   196,   197,
527      198,   199,   200,     0,    50,     0,     0,   201,     0,     0,
528      202,   203,   204,   205,     0,     0,     0,     0,     0,     0,
529       51,    52,     0,    53,     0,    54,    55,     0,     0,     0,
530        0,   -78,    56,     0,    57,    58,    83,     0,    18,     0,
531       19,    20,    21,    22,    23,     0,     0,   141,    25,    26,
532       27,    28,   119,    29,    30,    31,    32,    33,    34,     0,
533        0,     0,     0,     0,    35,    36,     0,     0,     0,   186,
534      187,     0,     0,     0,     0,     0,     0,     0,     0,    37,
535        0,     0,    38,    39,    40,    41,    42,     0,     0,    43,
536       44,    45,    46,    47,    48,    49,   194,   195,   196,   197,
537      198,   199,   200,     0,     0,    50,     0,   201,     0,     0,
538      202,   203,   204,   205,     0,     0,     0,     0,     0,     0,
539        0,    51,    52,     0,    53,     0,    54,    55,     0,     0,
540      186,   187,     0,    56,     0,    57,    58,    83,     0,    18,
541        0,    19,    20,    21,    22,    23,     0,     0,    24,    25,
542       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
543      197,   198,   199,   200,     0,    35,    36,     0,   201,     0,
544        0,   202,   203,   204,   205,     0,     0,     0,     0,     0,
545       37,     0,     0,    38,    39,    40,    41,    42,     0,     0,
546       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
547        0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
548        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
549        0,     0,    51,    52,     0,    53,     0,    54,    55,     0,
550        0,     0,     0,     0,    56,     0,    57,    58,    18,   114,
551       19,    20,    21,    22,    23,     0,     0,    24,    25,    26,
552       27,    28,     0,    29,    30,    31,    32,    33,    34,     0,
553        0,     0,     0,     0,    35,    36,     0,     0,     0,     0,
554        0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
555        0,     0,    38,    39,    40,    41,    42,     0,     0,    43,
556       44,    45,    46,    47,    48,    49,     0,     0,     0,     0,
557        0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
558        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
559        0,    51,    52,     0,    53,     0,    54,    55,     0,     0,
560        0,     0,     0,    56,     0,    57,    58,    18,     0,    19,
561       20,    21,    22,    23,     0,     0,    24,    25,    26,    27,
562       28,     0,    29,    30,    31,    32,    33,    34,     0,     0,
563        0,     0,     0,    35,    36,     0,     0,     0,     0,     0,
564        0,     0,     0,     0,     0,     0,     0,     0,    37,     0,
565        0,    38,    39,    40,    41,    42,     0,     0,    43,    44,
566       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
567        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
568        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
569       51,    52,     0,    53,     0,    54,    55,     0,     0,     0,
570        0,     0,    56,   149,    57,    58,    18,     0,    19,    20,
571       21,    22,    23,     0,     0,    24,    25,    26,    27,    28,
572        0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
573        0,     0,    35,    36,     0,     0,     0,     0,     0,     0,
574        0,     0,     0,     0,     0,     0,     0,    37,     0,     0,
575       38,    39,    40,    41,    42,     0,     0,    43,    44,    45,
576       46,    47,    48,    49,     0,     0,     0,     0,     0,     0,
577        0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
578        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
579       52,     0,    53,     0,    54,    55,     0,     0,     0,     0,
580      168,    56,     0,    57,    58,    18,     0,    19,    20,    21,
581       22,    23,     0,     0,    24,    25,    26,    27,    28,     0,
582       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
583        0,    35,    36,     0,     0,     0,     0,     0,     0,     0,
584        0,     0,     0,     0,     0,     0,    37,     0,     0,    38,
585       39,    40,    41,    42,     0,     0,    43,    44,    45,    46,
586       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
587        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
588        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
589        0,    53,     0,    54,    55,     0,     0,     0,     0,   266,
590       56,     0,    57,    58,    18,     0,    19,    20,    21,    22,
591       23,     0,     0,    24,    25,    26,    27,    28,     0,    29,
592       30,    31,    32,    33,    34,     0,     0,     0,     0,     0,
593       35,    36,     0,     0,     0,     0,     0,     0,     0,     0,
594        0,     0,     0,     0,     0,    37,     0,     0,    38,    39,
595       40,    41,    42,     0,     0,    43,    44,    45,    46,    47,
596       48,    49,     0,     0,     0,     0,     0,     0,     0,     0,
597        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
598        0,     0,     0,     0,     0,     0,     0,    51,    52,     0,
599       53,     0,    54,    55,     0,     0,     0,     0,   281,    56,
600        0,    57,    58,    18,     0,    19,    20,    21,    22,    23,
601        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
602       31,    32,    33,    34,     0,     0,     0,     0,     0,    35,
603       36,     0,     0,     0,     0,     0,     0,     0,     0,     0,
604        0,     0,     0,     0,    37,     0,     0,    38,    39,    40,
605       41,    42,     0,     0,    43,    44,    45,    46,    47,    48,
606       49,     0,     0,     0,     0,     0,     0,     0,     0,     0,
607       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
608        0,     0,     0,     0,     0,     0,    51,    52,     0,    53,
609        0,    54,    55,     0,     0,     0,     0,   293,    56,     0,
610       57,    58,    18,     0,    19,    20,    21,    22,    23,     0,
611        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
612       32,    33,    34,     0,     0,     0,     0,     0,    35,    36,
613        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
614        0,     0,     0,    37,     0,     0,    38,    39,    40,    41,
615       42,     0,     0,    43,    44,    45,    46,    47,    48,    49,
616        0,     0,     0,     0,     0,     0,     0,     0,     0,    50,
617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
618        0,     0,     0,     0,     0,    51,    52,     0,    53,     0,
619       54,    55,     0,     0,     0,     0,   326,    56,     0,    57,
620       58,    18,     0,    19,    20,    21,    22,    23,     0,     0,
621       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
622       33,    34,     0,     0,     0,     0,     0,    35,    36,     0,
623        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
624        0,     0,    37,     0,     0,    38,    39,    40,    41,    42,
625        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
626        0,     0,     0,     0,     0,     0,     0,     0,    50,     0,
627        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
628        0,     0,     0,     0,    51,    52,     0,    53,     0,    54,
629       55,     0,     0,     0,     0,   386,    56,     0,    57,    58,
630       18,     0,    19,    20,    21,    22,    23,     0,     0,    24,
631       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
632       34,     0,     0,     0,     0,     0,    35,    36,     0,     0,
633        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
634        0,    37,     0,     0,    38,    39,    40,    41,    42,     0,
635        0,    43,    44,    45,    46,    47,    48,    49,     0,     0,
636        0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
637        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
638        0,     0,     0,    51,    52,     0,    53,     0,    54,    55,
639        0,     0,     0,     0,   403,    56,     0,    57,    58,    18,
640        0,    19,    20,    21,    22,    23,     0,     0,    24,    25,
641       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
642        0,     0,     0,     0,     0,    35,    36,     0,     0,     0,
643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
644       37,     0,     0,    38,    39,    40,    41,    42,     0,     0,
645       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
646        0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
647        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
648        0,     0,    51,    52,     0,    53,     0,    54,    55,     0,
649        0,     0,     0,     0,    56,     0,    57,    58,    18,     0,
650       19,    20,    21,    22,    23,     0,     0,    24,    25,    26,
651       27,    28,     0,    29,    30,    31,    32,    33,    34,     0,
652        0,     0,     0,     0,    35,    36,     0,     0,     0,     0,
653        0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
654        0,     0,    38,    39,    40,    41,    42,     0,     0,    43,
655       44,    45,    46,    47,    48,    49,     0,     0,     0,     0,
656        0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
657      185,     0,     0,     0,     0,     0,     0,   186,   187,     0,
658        0,    51,    52,     0,    53,     0,    54,    55,     0,     0,
659        0,     0,     0,   275,     0,    57,    58,   188,   189,     0,
660      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
661      200,     0,     0,     0,     0,   201,   185,     0,   202,   203,
662      204,   205,     0,   186,   187,     0,     0,     0,     0,     0,
663        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
664        0,     0,     0,     0,   189,     0,   190,   191,   192,   193,
665      194,   195,   196,   197,   198,   199,   200,     0,     0,     0,
666        0,   201,  -291,     0,   202,   203,   204,   205,     0,   186,
667      187,     0,     0,     0,     0,     0,     0,     0,     0,     0,
668        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
669        0,     0,   190,   191,   192,   193,   194,   195,   196,   197,
670      198,   199,   200,     0,     0,     0,     0,   201,     0,     0,
671      202,   203,   204,   205
672 };
673
674 static const yytype_int16 yycheck[] =
675 {
676       17,   125,    10,    48,     9,    42,    48,    10,   345,    10,
677       18,    12,    10,    50,   355,    10,    16,    17,   355,   262,
678      475,   358,   359,    21,    12,    21,    21,    10,    26,   153,
679       26,    26,    16,    17,    21,    22,    23,    45,    25,    26,
680      137,   138,    24,    16,    17,    80,    89,    90,    56,    73,
681       91,    92,    16,    17,    18,    42,    43,     0,   506,    21,
682       22,    23,    12,    25,    26,    76,    77,    78,    13,    99,
683       80,    58,   102,   103,   104,   105,   111,    10,    83,    12,
684       42,    43,    10,   107,    12,    10,    48,    12,   125,    46,
685       47,    16,    17,    18,   107,    57,    58,    22,    98,    10,
686      107,    12,   439,   558,    68,   108,   107,   107,   145,   109,
687      155,   109,   110,   155,   109,    10,   153,    12,   106,   567,
688      128,    12,    19,    20,    13,   109,   108,    13,   136,   137,
689      138,    76,    77,    78,    96,    32,   109,    70,    63,   107,
690       37,   478,   479,    91,    41,   109,    13,    44,   156,    13,
691       47,   138,    49,    89,    51,    52,    53,    54,    55,   256,
692      102,   103,   104,   105,   172,   173,   174,   107,   176,   177,
693      178,    13,   216,   217,   511,    70,   138,   420,    21,    70,
694      225,    13,   107,   225,   109,   110,    10,    76,    77,    78,
695       76,    77,    78,   155,    35,    36,    13,   214,   206,   207,
696      208,   209,   210,   211,   212,   213,    12,   107,   545,    76,
697       77,    78,    76,    77,    78,   220,   221,   222,   223,   224,
698      257,   226,   227,   564,   229,   230,    10,   470,   236,   237,
699      238,   239,   240,   241,    76,    77,    78,    88,    89,    11,
700       10,   107,    12,   205,    76,    77,    78,   107,   256,    21,
701       22,    23,   376,    25,    26,    13,   108,   107,   155,    76,
702       77,    78,   270,   225,    70,    48,    10,   275,    12,    41,
703       42,    43,    44,    76,    77,    78,   107,   285,   175,   107,
704       76,    77,    78,   108,   181,    57,    58,   184,   185,   186,
705      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
706      197,   198,   199,   200,   201,   108,   314,   315,   107,    73,
707      407,   356,   108,   321,   356,   106,    24,   509,    76,    77,
708       78,    70,    42,    43,    44,    45,    70,    99,    10,    49,
709       12,    51,   524,   525,   342,   343,   344,   345,   477,   376,
710       68,   480,    11,   106,   536,   484,   485,   355,    70,   473,
711      358,   359,   357,    12,   546,   547,    76,    77,    78,   131,
712      322,    21,    61,   502,   503,    21,   138,   559,    98,    10,
713       98,    12,   377,   512,   107,    76,    77,    78,    26,   107,
714       80,   109,    24,    74,   392,   347,   106,   106,   527,    76,
715       77,    78,   531,   532,   356,    94,    76,    77,    78,   407,
716       99,    24,    11,   102,   103,   104,   105,   108,    12,   107,
717      549,    78,   417,   110,    54,   110,   421,   110,   110,   106,
718      110,    61,    62,    19,   563,   109,    21,   432,   108,   107,
719       81,   439,   571,   106,    11,   107,   473,    11,    11,   447,
720       11,    81,    82,    83,    84,    85,    86,    87,    88,    89,
721       90,    91,    92,    93,    94,    76,    77,    78,    11,    99,
722       21,   233,   102,   103,   104,   105,    76,    77,    78,   106,
723      478,   479,   489,   106,   491,   106,   106,     0,   107,    42,
724       43,    44,    45,   500,   106,   106,    49,    10,    51,    12,
725       13,   496,    61,    62,   108,    76,    77,    78,   108,   396,
726      106,   106,   510,   511,   238,   239,   240,   241,    10,   526,
727       76,    77,    78,    76,    77,    78,    76,    77,    78,    42,
728       43,    44,    45,    74,    93,    94,    49,   108,    51,    10,
729       99,    54,    11,   102,   103,   104,   105,   545,    61,    62,
730      108,   106,   108,   560,   108,   442,   106,    76,    77,    78,
731      322,    74,    10,    76,    77,    78,   106,    80,    81,    82,
732       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
733       93,    94,   107,     0,   106,    72,    99,   106,   108,   102,
734      103,   104,   105,   106,   108,   108,    13,   106,   111,    76,
735       77,    78,   106,    76,    77,    78,    76,    77,    78,   107,
736       61,    62,   108,   106,    71,    20,    76,    77,    78,    13,
737      106,   106,   106,   564,   510,    42,    43,    44,    45,   106,
738      343,   419,    49,   106,    51,   277,   106,    54,    89,    90,
739       91,    92,    93,    94,    61,    62,   106,   248,    99,   371,
740      452,   102,   103,   104,   105,   372,   155,    74,   496,    76,
741       77,    78,   471,    80,    81,    82,    83,    84,    85,    86,
742       87,    88,    89,    90,    91,    92,    93,    94,   356,   225,
743       -1,    -1,    99,     0,     1,   102,   103,   104,   105,   106,
744       -1,   108,    -1,    10,   111,    12,    -1,    14,    15,    16,
745       17,    18,    -1,    -1,    21,    22,    23,    24,    25,    -1,
746       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
747       37,    38,    39,    40,    41,    42,    43,    44,    45,    -1,
748       61,    62,    49,    50,    51,    52,    53,    -1,    55,    56,
749       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
750       67,    68,    69,    -1,    -1,    -1,    94,    -1,    -1,    -1,
751       -1,    99,    79,    94,   102,   103,   104,   105,    99,    -1,
752       -1,   102,   103,   104,   105,    -1,    -1,    -1,    95,    96,
753       -1,    98,    -1,   100,   101,     0,     1,    -1,    -1,    -1,
754      107,   108,   109,   110,    -1,    10,    -1,    12,    -1,    14,
755       15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24,
756       25,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
757       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
758       45,    -1,    -1,    -1,    49,    50,    51,    52,    53,    -1,
759       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
760       65,    66,    67,    68,    69,     3,     4,     5,     6,     7,
761        8,     9,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
763       95,    96,    -1,    98,    -1,   100,   101,     1,    -1,    -1,
764       -1,    -1,   107,   108,   109,   110,    10,    11,    12,    -1,
765       14,    15,    16,    17,    18,    -1,    -1,    21,    22,    23,
766       24,    25,    -1,    27,    28,    29,    30,    31,    32,    33,
767       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
768       44,    45,    -1,    -1,    -1,    49,    50,    51,    52,    53,
769       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
770       64,    65,    66,    67,    68,    69,    -1,    -1,    -1,    -1,
771       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
773       -1,    95,    96,    -1,    98,    -1,   100,   101,     1,    -1,
774       -1,    -1,    -1,   107,   108,   109,   110,    10,    11,    12,
775       -1,    14,    15,    16,    17,    18,    -1,    -1,    21,    22,
776       23,    24,    25,    -1,    27,    28,    29,    30,    31,    32,
777       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
778       43,    44,    45,    -1,    -1,    -1,    49,    50,    51,    52,
779       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
780       63,    64,    65,    66,    67,    68,    69,    -1,    -1,    -1,
781       -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
783       -1,    -1,    95,    96,    -1,    98,    -1,   100,   101,     1,
784       -1,    -1,    -1,    -1,   107,   108,   109,   110,    10,    11,
785       12,    -1,    14,    15,    16,    17,    18,    -1,    -1,    21,
786       22,    23,    24,    25,    -1,    27,    28,    29,    30,    31,
787       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
788       42,    43,    44,    45,    -1,    -1,    -1,    49,    50,    51,
789       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
790       -1,    63,    64,    65,    66,    67,    68,    69,    -1,    -1,
791       -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
793       -1,    -1,    -1,    95,    96,    -1,    98,    -1,   100,   101,
794        1,    -1,    -1,    -1,    -1,   107,   108,   109,   110,    10,
795       11,    12,    -1,    14,    15,    16,    17,    18,    -1,    -1,
796       21,    22,    23,    24,    25,    -1,    27,    28,    29,    30,
797       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
798       41,    42,    43,    44,    45,    -1,    -1,    -1,    49,    50,
799       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
800       -1,    -1,    63,    64,    65,    66,    67,    68,    69,    -1,
801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,
802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
803       -1,    -1,    -1,    -1,    95,    96,    -1,    98,    -1,   100,
804      101,     1,    -1,    -1,    -1,    -1,   107,   108,   109,   110,
805       10,    11,    12,    -1,    14,    15,    16,    17,    18,    -1,
806       -1,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
807       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
808       40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    49,
809       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
810       60,    -1,    -1,    63,    64,    65,    66,    67,    68,    69,
811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,
812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
813       -1,    -1,    -1,    -1,    -1,    95,    96,    -1,    98,    -1,
814      100,   101,     1,    -1,    -1,    -1,    -1,   107,   108,   109,
815      110,    10,    -1,    12,    -1,    14,    15,    16,    17,    18,
816       -1,    -1,    21,    22,    23,    24,    25,    -1,    27,    28,
817       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
818       39,    40,    41,    42,    43,    44,    45,    -1,    -1,    -1,
819       49,    50,    51,    52,    53,    -1,    55,    56,    57,    58,
820       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    68,
821       69,    -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,    -1,
822       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
823       -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,    98,
824       -1,   100,   101,     1,    -1,    -1,    -1,    -1,   107,   108,
825      109,   110,    10,    -1,    12,    -1,    14,    15,    16,    17,
826       18,    -1,    -1,    21,    22,    23,    24,    25,    -1,    27,
827       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
828       38,    39,    40,    41,    42,    43,    44,    45,    -1,    -1,
829       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
830       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
831       68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
832       -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
833       -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,
834       98,    -1,   100,   101,     1,    -1,    -1,    -1,    -1,   107,
835      108,   109,   110,    10,    -1,    12,    -1,    14,    15,    16,
836       17,    18,    -1,    -1,    21,    22,    23,    24,    25,    -1,
837       27,    28,    29,    30,    31,    32,    33,    -1,    35,    36,
838       37,    38,    39,    40,    41,    42,    43,    44,    45,    -1,
839       -1,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
840       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
841       67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
842       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,
844       -1,    98,    -1,   100,   101,     1,    -1,    -1,    -1,    -1,
845      107,   108,   109,   110,    -1,    -1,    12,    -1,    14,    15,
846       16,    17,    18,    -1,    -1,    21,    22,    23,    24,    25,
847       -1,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
848       -1,    -1,    38,    39,    -1,    -1,    -1,    -1,    -1,    61,
849       62,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,    -1,
850       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
851       66,    67,    68,    69,    86,    87,    88,    89,    90,    91,
852       92,    93,    94,    79,    -1,    -1,    -1,    99,    -1,    -1,
853      102,   103,   104,   105,    -1,    -1,    -1,    -1,    -1,    95,
854       96,    -1,    98,    -1,   100,   101,     1,    -1,    -1,    -1,
855       -1,   107,   108,   109,   110,    -1,    -1,    12,    -1,    14,
856       15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24,
857       25,    -1,    27,    28,    29,    30,    31,    32,    -1,    -1,
858       -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,    61,
859       62,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,
860       -1,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
861       65,    66,    67,    68,    69,    87,    88,    89,    90,    91,
862       92,    93,    94,    -1,    79,    -1,    -1,    99,    -1,    -1,
863      102,   103,   104,   105,    -1,    -1,    -1,    -1,    -1,    -1,
864       95,    96,    -1,    98,    -1,   100,   101,    -1,    -1,    -1,
865       -1,   106,   107,    -1,   109,   110,    10,    -1,    12,    -1,
866       14,    15,    16,    17,    18,    -1,    -1,    21,    22,    23,
867       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
868       -1,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    61,
869       62,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,
870       -1,    -1,    56,    57,    58,    59,    60,    -1,    -1,    63,
871       64,    65,    66,    67,    68,    69,    88,    89,    90,    91,
872       92,    93,    94,    -1,    -1,    79,    -1,    99,    -1,    -1,
873      102,   103,   104,   105,    -1,    -1,    -1,    -1,    -1,    -1,
874       -1,    95,    96,    -1,    98,    -1,   100,   101,    -1,    -1,
875       61,    62,    -1,   107,    -1,   109,   110,    10,    -1,    12,
876       -1,    14,    15,    16,    17,    18,    -1,    -1,    21,    22,
877       23,    24,    25,    -1,    27,    28,    29,    30,    31,    32,
878       91,    92,    93,    94,    -1,    38,    39,    -1,    99,    -1,
879       -1,   102,   103,   104,   105,    -1,    -1,    -1,    -1,    -1,
880       53,    -1,    -1,    56,    57,    58,    59,    60,    -1,    -1,
881       63,    64,    65,    66,    67,    68,    69,    -1,    -1,    -1,
882       -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
884       -1,    -1,    95,    96,    -1,    98,    -1,   100,   101,    -1,
885       -1,    -1,    -1,    -1,   107,    -1,   109,   110,    12,    13,
886       14,    15,    16,    17,    18,    -1,    -1,    21,    22,    23,
887       24,    25,    -1,    27,    28,    29,    30,    31,    32,    -1,
888       -1,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,
889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,
890       -1,    -1,    56,    57,    58,    59,    60,    -1,    -1,    63,
891       64,    65,    66,    67,    68,    69,    -1,    -1,    -1,    -1,
892       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
893       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
894       -1,    95,    96,    -1,    98,    -1,   100,   101,    -1,    -1,
895       -1,    -1,    -1,   107,    -1,   109,   110,    12,    -1,    14,
896       15,    16,    17,    18,    -1,    -1,    21,    22,    23,    24,
897       25,    -1,    27,    28,    29,    30,    31,    32,    -1,    -1,
898       -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,    -1,
899       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,
900       -1,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
901       65,    66,    67,    68,    69,    -1,    -1,    -1,    -1,    -1,
902       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
904       95,    96,    -1,    98,    -1,   100,   101,    -1,    -1,    -1,
905       -1,    -1,   107,   108,   109,   110,    12,    -1,    14,    15,
906       16,    17,    18,    -1,    -1,    21,    22,    23,    24,    25,
907       -1,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
908       -1,    -1,    38,    39,    -1,    -1,    -1,    -1,    -1,    -1,
909       -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,    -1,
910       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
911       66,    67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,
912       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,
913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,
914       96,    -1,    98,    -1,   100,   101,    -1,    -1,    -1,    -1,
915      106,   107,    -1,   109,   110,    12,    -1,    14,    15,    16,
916       17,    18,    -1,    -1,    21,    22,    23,    24,    25,    -1,
917       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
918       -1,    38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
919       -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,    -1,    56,
920       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
921       67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
922       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,
924       -1,    98,    -1,   100,   101,    -1,    -1,    -1,    -1,   106,
925      107,    -1,   109,   110,    12,    -1,    14,    15,    16,    17,
926       18,    -1,    -1,    21,    22,    23,    24,    25,    -1,    27,
927       28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
928       38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
929       -1,    -1,    -1,    -1,    -1,    53,    -1,    -1,    56,    57,
930       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
931       68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
932       -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
933       -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,
934       98,    -1,   100,   101,    -1,    -1,    -1,    -1,   106,   107,
935       -1,   109,   110,    12,    -1,    14,    15,    16,    17,    18,
936       -1,    -1,    21,    22,    23,    24,    25,    -1,    27,    28,
937       29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    38,
938       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
939       -1,    -1,    -1,    -1,    53,    -1,    -1,    56,    57,    58,
940       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    68,
941       69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
942       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
943       -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    -1,    98,
944       -1,   100,   101,    -1,    -1,    -1,    -1,   106,   107,    -1,
945      109,   110,    12,    -1,    14,    15,    16,    17,    18,    -1,
946       -1,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
947       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    38,    39,
948       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
949       -1,    -1,    -1,    53,    -1,    -1,    56,    57,    58,    59,
950       60,    -1,    -1,    63,    64,    65,    66,    67,    68,    69,
951       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,
952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
953       -1,    -1,    -1,    -1,    -1,    95,    96,    -1,    98,    -1,
954      100,   101,    -1,    -1,    -1,    -1,   106,   107,    -1,   109,
955      110,    12,    -1,    14,    15,    16,    17,    18,    -1,    -1,
956       21,    22,    23,    24,    25,    -1,    27,    28,    29,    30,
957       31,    32,    -1,    -1,    -1,    -1,    -1,    38,    39,    -1,
958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
959       -1,    -1,    53,    -1,    -1,    56,    57,    58,    59,    60,
960       -1,    -1,    63,    64,    65,    66,    67,    68,    69,    -1,
961       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,
962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
963       -1,    -1,    -1,    -1,    95,    96,    -1,    98,    -1,   100,
964      101,    -1,    -1,    -1,    -1,   106,   107,    -1,   109,   110,
965       12,    -1,    14,    15,    16,    17,    18,    -1,    -1,    21,
966       22,    23,    24,    25,    -1,    27,    28,    29,    30,    31,
967       32,    -1,    -1,    -1,    -1,    -1,    38,    39,    -1,    -1,
968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
969       -1,    53,    -1,    -1,    56,    57,    58,    59,    60,    -1,
970       -1,    63,    64,    65,    66,    67,    68,    69,    -1,    -1,
971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
973       -1,    -1,    -1,    95,    96,    -1,    98,    -1,   100,   101,
974       -1,    -1,    -1,    -1,   106,   107,    -1,   109,   110,    12,
975       -1,    14,    15,    16,    17,    18,    -1,    -1,    21,    22,
976       23,    24,    25,    -1,    27,    28,    29,    30,    31,    32,
977       -1,    -1,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,
978       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
979       53,    -1,    -1,    56,    57,    58,    59,    60,    -1,    -1,
980       63,    64,    65,    66,    67,    68,    69,    -1,    -1,    -1,
981       -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
982       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
983       -1,    -1,    95,    96,    -1,    98,    -1,   100,   101,    -1,
984       -1,    -1,    -1,    -1,   107,    -1,   109,   110,    12,    -1,
985       14,    15,    16,    17,    18,    -1,    -1,    21,    22,    23,
986       24,    25,    -1,    27,    28,    29,    30,    31,    32,    -1,
987       -1,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,
988       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,
989       -1,    -1,    56,    57,    58,    59,    60,    -1,    -1,    63,
990       64,    65,    66,    67,    68,    69,    -1,    -1,    -1,    -1,
991       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
992       54,    -1,    -1,    -1,    -1,    -1,    -1,    61,    62,    -1,
993       -1,    95,    96,    -1,    98,    -1,   100,   101,    -1,    -1,
994       -1,    -1,    -1,   107,    -1,   109,   110,    81,    82,    -1,
995       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
996       94,    -1,    -1,    -1,    -1,    99,    54,    -1,   102,   103,
997      104,   105,    -1,    61,    62,    -1,    -1,    -1,    -1,    -1,
998       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
999       -1,    -1,    -1,    -1,    82,    -1,    84,    85,    86,    87,
1000       88,    89,    90,    91,    92,    93,    94,    -1,    -1,    -1,
1001       -1,    99,    54,    -1,   102,   103,   104,   105,    -1,    61,
1002       62,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1003       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1004       -1,    -1,    84,    85,    86,    87,    88,    89,    90,    91,
1005       92,    93,    94,    -1,    -1,    -1,    -1,    99,    -1,    -1,
1006      102,   103,   104,   105
1007 };
1008
1009   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1010      symbol of state STATE-NUM.  */
1011 static const yytype_uint8 yystos[] =
1012 {
1013        0,     3,     4,     5,     6,     7,     8,     9,   113,   114,
1014      115,   116,   117,   118,   119,   120,     0,   123,    12,    14,
1015       15,    16,    17,    18,    21,    22,    23,    24,    25,    27,
1016       28,    29,    30,    31,    32,    38,    39,    53,    56,    57,
1017       58,    59,    60,    63,    64,    65,    66,    67,    68,    69,
1018       79,    95,    96,    98,   100,   101,   107,   109,   110,   174,
1019      175,   176,   179,   180,   181,   182,   183,   184,   185,   186,
1020      187,   188,   190,   193,   199,   200,   201,   202,   203,   204,
1021      205,   206,   207,    10,   121,     1,    33,    35,    36,    37,
1022       40,    41,    42,    43,    44,    45,    49,    50,    51,    52,
1023       55,   108,   121,   130,   141,   174,    34,   128,   129,   130,
1024      126,   168,   169,   126,    13,   174,   188,   188,    21,    26,
1025      121,   200,   208,   208,   208,   208,   208,   189,    12,   107,
1026      188,   152,   152,   152,   188,   107,   107,    73,   107,   121,
1027      188,    21,   175,   192,   200,   208,   208,   121,   188,   108,
1028      174,    21,    26,   154,   188,    98,   107,   191,   200,   201,
1029      202,   188,   175,   188,   188,   188,   188,   188,   106,   174,
1030      208,   208,    76,    77,    78,    80,    10,    12,   107,    91,
1031       92,    91,    89,    90,    89,    54,    61,    62,    81,    82,
1032       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1033       94,    99,   102,   103,   104,   105,   107,    10,    12,    10,
1034       12,    10,    12,    10,   123,   153,   154,   154,    21,   151,
1035      107,   107,   107,   107,    68,    98,   107,   198,   200,   107,
1036      107,   121,   108,    48,   143,   108,    42,    43,    44,    45,
1037       49,    51,   129,   130,   128,    16,    17,   109,   159,   160,
1038      162,   163,   164,   165,    13,   192,   107,    73,   174,   106,
1039      121,    24,   155,    70,   156,   106,   106,   174,   193,   193,
1040      208,   175,    11,   108,   192,   107,   188,   191,   200,   201,
1041      202,   106,   174,    70,   157,    12,   106,   174,   174,   174,
1042      188,   174,   174,   106,   174,   188,   188,   188,   188,   188,
1043      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1044      188,   188,   188,   188,    10,    12,    16,    17,    18,    22,
1045       63,   107,   109,   110,   178,   200,   106,   174,   174,   174,
1046      174,   174,   174,   174,   174,   126,    21,   150,   151,   151,
1047       21,   133,   123,   123,   123,   123,    98,   123,    68,   196,
1048      197,   199,   200,   201,   202,   123,   123,   107,   123,   123,
1049      121,   140,   174,   147,   174,   140,   140,   140,   140,    26,
1050      158,   158,    80,   193,   175,    13,   177,   156,    24,   123,
1051      173,   106,    74,   106,   174,    11,   106,   174,   157,   106,
1052       24,   174,    12,   108,    13,   106,    83,   174,   174,   110,
1053      110,   110,   110,   106,   174,   110,   110,   107,   106,   108,
1054       13,   108,    13,   108,    13,   108,    11,    19,   122,   131,
1055      132,    10,   108,    21,   146,   174,   147,   148,   174,   148,
1056      195,   200,   107,   141,   145,   148,   149,   174,   196,   123,
1057      148,   148,    81,   161,   161,   163,   106,   111,   194,   192,
1058      123,   171,   107,   166,   167,   106,   106,    13,   174,    11,
1059      188,   108,    13,   106,   193,    11,    11,    11,    11,   123,
1060      155,   156,   123,    21,   106,   106,   106,   106,   107,   123,
1061      106,   108,   136,   148,   106,   106,   188,   174,    74,    10,
1062      168,    10,    13,    11,   106,   108,   156,   108,   172,   173,
1063      137,   192,   144,   144,    10,   124,   124,   148,   148,   124,
1064      134,   107,   106,   124,   124,   126,   106,   126,    72,   108,
1065      170,   171,   126,   108,   124,   124,   125,    46,    47,   142,
1066      142,   106,   106,   143,   146,   148,   124,    11,    11,   127,
1067       11,   143,   143,   126,   124,   107,   124,   124,   108,   106,
1068      143,    24,   108,   138,    11,   148,   143,   143,   135,   124,
1069       71,   139,    20,   106,   144,   143,   126,   124,   149,    72,
1070      142,   106,   124
1071 };
1072
1073   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1074 static const yytype_uint8 yyr1[] =
1075 {
1076        0,   112,   114,   113,   115,   113,   116,   113,   117,   113,
1077      118,   113,   119,   113,   120,   113,   121,   122,   123,   124,
1078      125,   126,   126,   127,   127,   128,   128,   129,   129,   130,
1079      130,   131,   130,   132,   130,   130,   133,   130,   130,   130,
1080      130,   130,   130,   130,   130,   134,   135,   130,   130,   130,
1081      136,   130,   130,   130,   130,   137,   130,   130,   130,   130,
1082      138,   139,   139,   140,   141,   141,   141,   141,   141,   141,
1083      141,   141,   142,   142,   142,   143,   143,   144,   145,   145,
1084      146,   146,   147,   148,   149,   150,   150,   151,   152,   153,
1085      154,   154,   155,   155,   156,   156,   156,   157,   157,   158,
1086      158,   159,   159,   160,   161,   161,   161,   162,   163,   163,
1087      164,   164,   164,   165,   165,   166,   166,   167,   169,   168,
1088      170,   170,   171,   172,   172,   173,   174,   174,   174,   174,
1089      175,   175,   175,   176,   176,   176,   176,   176,   176,   176,
1090      176,   176,   177,   176,   178,   178,   179,   179,   179,   179,
1091      179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
1092      180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
1093      180,   180,   180,   180,   181,   181,   181,   181,   182,   182,
1094      183,   183,   183,   183,   184,   184,   185,   185,   185,   185,
1095      185,   185,   185,   185,   185,   186,   186,   186,   186,   186,
1096      186,   187,   187,   188,   188,   188,   188,   188,   188,   188,
1097      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1098      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1099      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1100      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1101      188,   188,   189,   188,   188,   188,   188,   190,   190,   190,
1102      191,   191,   191,   191,   191,   192,   192,   193,   193,   194,
1103      194,   195,   196,   196,   196,   197,   197,   198,   198,   199,
1104      200,   201,   202,   203,   203,   204,   205,   205,   206,   206,
1105      207,   207,   208,   208,   208,   208
1106 };
1107
1108   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1109 static const yytype_int8 yyr2[] =
1110 {
1111        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
1112        0,     3,     0,     3,     0,     3,     4,     7,     0,     4,
1113        0,     0,     2,     0,     2,     1,     1,     2,     2,     1,
1114        4,     0,     7,     0,     6,     4,     0,     7,     7,     7,
1115        6,     6,     2,     8,     8,     0,     0,    13,     9,     8,
1116        0,    10,     9,     7,     2,     0,     8,     2,     2,     1,
1117        2,     0,     3,     1,     1,     1,     3,     3,     3,     3,
1118        3,     3,     0,     2,     6,     0,     2,     0,     0,     1,
1119        0,     1,     1,     1,     1,     1,     0,     0,     0,     0,
1120        1,     1,     0,     1,     0,     2,     1,     2,     1,     0,
1121        1,     1,     1,     3,     0,     1,     2,     3,     1,     1,
1122        2,     3,     1,     0,     1,     0,     1,     3,     0,     2,
1123        1,     1,     4,     1,     1,     5,     3,     3,     3,     1,
1124        2,     3,     1,     3,     5,     6,     3,     3,     5,     2,
1125        4,     4,     0,     5,     1,     1,     5,     4,     5,     4,
1126        5,     6,     5,     4,     5,     4,     3,     6,     4,     5,
1127        3,     3,     3,     3,     3,     1,     1,     3,     3,     3,
1128        3,     3,     3,     3,     1,     3,     2,     2,     3,     3,
1129        1,     3,     2,     2,     3,     3,     2,     2,     2,     2,
1130        2,     2,     2,     2,     2,     3,     2,     4,     3,     5,
1131        4,     2,     2,     1,     1,     1,     1,     5,     2,     3,
1132        1,     2,     3,     1,     2,     1,     1,     1,     1,     1,
1133        1,     4,     4,     5,     5,     1,     1,     3,     4,     3,
1134        4,     4,     4,     4,     4,     1,     2,     2,     1,     2,
1135        2,     1,     2,     1,     2,     1,     3,     1,     3,     1,
1136        3,     4,     0,     6,     1,     1,     1,     3,     2,     4,
1137        3,     2,     1,     1,     1,     0,     1,     0,     1,     0,
1138        2,     1,     1,     1,     1,     1,     1,     2,     2,     2,
1139        2,     2,     2,     2,     4,     2,     1,     3,     1,     3,
1140        1,     3,     1,     1,     1,     1
1141 };
1142
1143 typedef enum {
1144         toketype_ival, toketype_opval
1145 } toketypes;
1146
1147 /* type of each token/terminal */
1148 static const toketypes yy_type_tab[] =
1149 {
1150   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1151   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1152   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1153   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1154   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1155   toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1156   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1157   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1158   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1159   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1160   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1161   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1162   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1163   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1164   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1165   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1166   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1167   toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1168   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1169   toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1170   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1171   toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1172   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1173   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1174   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1175   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1176   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1177   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1178   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1179   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1180   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1181   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
1182 };
1183
1184 /* Generated from:
1185  * cb0b53384d9fa75068c8e30d8fe9016dec2e65e0a5c16ce6479563d6b41626d6 perly.y
1186  * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
1187  * ex: set ro: */