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