/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/network/lscpparser.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 397 by senkov, Mon Feb 21 04:28:50 2005 UTC revision 528 by schoenebeck, Mon May 9 12:56:36 2005 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875.  */  /* A Bison parser, made by GNU Bison 1.875d.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton parser for Yacc-like parsing with Bison,
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
5    
6     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
# Line 51  Line 51 
51    
52    
53  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
54  #line 26 "lscp.y"  #line 27 "lscp.y"
55    
56    
57  #include "lscpparser.h"  #include "lscpparser.h"
# Line 117  typedef int YYSTYPE; Line 117  typedef int YYSTYPE;
117    
118    
119  /* Line 214 of yacc.c.  */  /* Line 214 of yacc.c.  */
120  #line 120 "y.tab.c"  #line 121 "y.tab.c"
121    
122  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
123    
124    # ifndef YYFREE
125    #  define YYFREE free
126    # endif
127    # ifndef YYMALLOC
128    #  define YYMALLOC malloc
129    # endif
130    
131  /* The parser invokes alloca or malloc; define the necessary symbols.  */  /* The parser invokes alloca or malloc; define the necessary symbols.  */
132    
133  # if YYSTACK_USE_ALLOCA  # ifdef YYSTACK_USE_ALLOCA
134  #  define YYSTACK_ALLOC alloca  #  if YYSTACK_USE_ALLOCA
135    #   define YYSTACK_ALLOC alloca
136    #  endif
137  # else  # else
138  #  ifndef YYSTACK_USE_ALLOCA  #  if defined (alloca) || defined (_ALLOCA_H)
139  #   if defined (alloca) || defined (_ALLOCA_H)  #   define YYSTACK_ALLOC alloca
140  #    define YYSTACK_ALLOC alloca  #  else
141  #   else  #   ifdef __GNUC__
142  #    ifdef __GNUC__  #    define YYSTACK_ALLOC __builtin_alloca
 #     define YYSTACK_ALLOC __builtin_alloca  
 #    endif  
143  #   endif  #   endif
144  #  endif  #  endif
145  # endif  # endif
# Line 145  typedef int YYSTYPE; Line 152  typedef int YYSTYPE;
152  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
153  #   define YYSIZE_T size_t  #   define YYSIZE_T size_t
154  #  endif  #  endif
155  #  define YYSTACK_ALLOC malloc  #  define YYSTACK_ALLOC YYMALLOC
156  #  define YYSTACK_FREE free  #  define YYSTACK_FREE YYFREE
157  # endif  # endif
158  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
159    
160    
161  #if (! defined (yyoverflow) \  #if (! defined (yyoverflow) \
162       && (! defined (__cplusplus) \       && (! defined (__cplusplus) \
163           || (YYSTYPE_IS_TRIVIAL)))           || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
164    
165  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
166  union yyalloc  union yyalloc
167  {  {
168    short yyss;    short int yyss;
169    YYSTYPE yyvs;    YYSTYPE yyvs;
170    };    };
171    
# Line 168  union yyalloc Line 175  union yyalloc
175  /* The size of an array large to enough to hold all stacks, each with  /* The size of an array large to enough to hold all stacks, each with
176     N elements.  */     N elements.  */
177  # define YYSTACK_BYTES(N) \  # define YYSTACK_BYTES(N) \
178       ((N) * (sizeof (short) + sizeof (YYSTYPE))                         \       ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \
179        + YYSTACK_GAP_MAXIMUM)        + YYSTACK_GAP_MAXIMUM)
180    
181  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
182     not overlap.  */     not overlap.  */
183  # ifndef YYCOPY  # ifndef YYCOPY
184  #  if 1 < __GNUC__  #  if defined (__GNUC__) && 1 < __GNUC__
185  #   define YYCOPY(To, From, Count) \  #   define YYCOPY(To, From, Count) \
186        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
187  #  else  #  else
# Line 210  union yyalloc Line 217  union yyalloc
217  #if defined (__STDC__) || defined (__cplusplus)  #if defined (__STDC__) || defined (__cplusplus)
218     typedef signed char yysigned_char;     typedef signed char yysigned_char;
219  #else  #else
220     typedef short yysigned_char;     typedef short int yysigned_char;
221  #endif  #endif
222    
223  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
224  #define YYFINAL  40  #define YYFINAL  40
225  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
226  #define YYLAST   3997  #define YYLAST   4496
227    
228  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
229  #define YYNTOKENS  227  #define YYNTOKENS  227
230  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
231  #define YYNNTS  91  #define YYNNTS  92
232  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
233  #define YYNRULES  417  #define YYNRULES  423
234  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
235  #define YYNSTATES  1144  #define YYNSTATES  1155
236    
237  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
238  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
# Line 240  static const unsigned char yytranslate[] Line 247  static const unsigned char yytranslate[]
247         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
248       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
249         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
250         2,     2,   224,    70,   223,     3,    71,    72,    73,   222,         2,     2,   224,    73,     7,     3,    74,    75,    76,     6,
251        74,    75,    76,     6,    77,     7,     5,    78,     8,     9,        77,    78,    79,     9,     5,    10,     8,    80,    11,    12,
252        10,    11,    12,    13,    14,    15,    16,    17,    79,    80,        13,    14,    15,    16,    17,    18,    19,    20,    81,    82,
253        81,     4,    82,    83,    84,    18,    19,    20,    21,    22,        83,     4,    84,    85,    86,    21,    22,    23,    24,    25,
254        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
255        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
256        43,    85,    86,    87,    88,    89,     2,    44,    45,    46,        46,    87,    88,    89,    90,    91,     2,    47,    48,    49,
257        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
258        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
259        67,    68,    69,    90,    91,    92,    93,     2,    94,    95,        70,    71,    72,    92,    93,    94,    95,     2,    96,    97,
260        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
261       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
262       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
263       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
264       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
265       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
266       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
267       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
268       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
269       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
270       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
271       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
272       216,   217,   218,   219,   220,   221,     1,     2       218,   219,   220,   221,   222,   223,     1,     2
273  };  };
274    
275  #if YYDEBUG  #if YYDEBUG
276  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
277     YYRHS.  */     YYRHS.  */
278  static const unsigned short yyprhs[] =  static const unsigned short int yyprhs[] =
279  {  {
280         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
281        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
# Line 279  static const unsigned short yyprhs[] = Line 286  static const unsigned short yyprhs[] =
286       239,   245,   251,   259,   269,   277,   287,   291,   295,   301,       239,   245,   251,   259,   269,   277,   287,   291,   295,   301,
287       305,   311,   315,   319,   323,   327,   331,   337,   345,   351,       305,   311,   315,   319,   323,   327,   331,   337,   345,   351,
288       361,   367,   373,   379,   385,   391,   395,   401,   403,   405,       361,   367,   373,   379,   385,   391,   395,   401,   403,   405,
289       407,   409,   411,   417,   425,   429,   431,   433,   435,   437,       407,   409,   411,   413,   415,   417,   423,   431,   435,   437,
290       439,   441,   443,   445,   447,   449,   451,   453,   455,   457,       439,   441,   443,   445,   447,   449,   451,   453,   455,   457,
291       459,   461,   463,   465,   467,   469,   472,   476,   481,   486,       459,   461,   463,   467,   469,   473,   477,   479,   481,   483,
292       488,   491,   493,   495,   497,   499,   501,   503,   505,   507,       485,   487,   490,   494,   499,   504,   506,   509,   511,   513,
293       509,   511,   513,   516,   519,   522,   525,   528,   531,   534,       515,   517,   519,   521,   523,   525,   527,   529,   531,   534,
294       537,   540,   542,   544,   546,   548,   550,   552,   554,   556,       537,   540,   543,   546,   549,   552,   555,   558,   560,   562,
295       558,   560,   562,   564,   566,   568,   570,   572,   574,   576,       564,   566,   568,   570,   572,   574,   576,   578,   580,   582,
296       578,   580,   582,   584,   586,   588,   590,   592,   594,   596,       584,   586,   588,   590,   592,   594,   596,   598,   600,   602,
297       598,   600,   602,   604,   606,   608,   610,   612,   614,   616,       604,   606,   608,   610,   612,   614,   616,   618,   620,   622,
298       618,   620,   622,   624,   626,   628,   630,   632,   634,   636,       624,   626,   628,   630,   632,   634,   636,   638,   640,   642,
299       638,   640,   642,   644,   646,   648,   650,   652,   654,   656,       644,   646,   648,   650,   652,   654,   656,   658,   660,   662,
300       658,   660,   662,   664,   666,   668,   670,   672,   674,   676,       664,   666,   668,   670,   672,   674,   676,   678,   680,   682,
301       678,   680,   682,   684,   686,   688,   690,   692,   694,   696,       684,   686,   688,   690,   692,   694,   696,   698,   700,   702,
302       698,   700,   702,   704,   706,   708,   710,   712,   714,   716,       704,   706,   708,   710,   712,   714,   716,   718,   720,   722,
303       718,   720,   722,   724,   726,   728,   730,   732,   734,   736,       724,   726,   728,   730,   732,   734,   736,   738,   740,   742,
304       738,   740,   742,   744,   746,   748,   750,   752,   754,   756,       744,   746,   748,   750,   752,   754,   756,   758,   760,   762,
305       758,   760,   762,   764,   766,   768,   770,   772,   774,   776,       764,   766,   768,   770,   772,   774,   776,   778,   780,   782,
306       778,   780,   782,   784,   786,   788,   790,   792,   794,   796,       784,   786,   788,   790,   792,   794,   796,   798,   800,   802,
307       798,   800,   802,   804,   806,   808,   810,   812,   814,   816,       804,   806,   808,   810,   812,   814,   816,   818,   820,   822,
308       818,   820,   822,   824,   826,   828,   830,   832,   834,   836,       824,   826,   828,   830,   832,   834,   836,   838,   840,   842,
309       838,   840,   842,   844,   846,   848,   850,   852,   854,   856,       844,   846,   848,   850,   852,   854,   856,   858,   860,   862,
310       858,   860,   862,   864,   866,   868,   870,   872,   874,   876,       864,   866,   868,   870,   872,   874,   876,   878,   880,   882,
311       878,   880,   882,   884,   886,   888,   890,   892,   894,   896,       884,   886,   888,   890,   892,   894,   896,   898,   900,   902,
312       898,   900,   902,   904,   906,   908,   910,   912,   914,   916,       904,   906,   908,   910,   912,   914,   916,   918,   920,   922,
313       918,   920,   922,   924,   926,   928,   930,   932,   934,   936,       924,   926,   928,   930,   932,   934,   936,   938,   940,   942,
314       938,   940,   942,   944,   946,   948,   950,   952,   954,   956,       944,   946,   948,   950,   952,   954,   956,   958,   960,   962,
315       958,   960,   962,   964,   966,   968,   970,   972,   974,   976,       964,   966,   968,   970,   972,   974,   976,   978,   980,   982,
316       978,   980,   982,   985,   988,   992,   996,   998,  1000,  1002,       984,   986,   988,   990,   992,   994,   996,   998,  1000,  1003,
317      1006,  1010,  1017,  1025,  1030,  1035,  1039,  1049,  1056,  1060,      1006,  1010,  1014,  1016,  1018,  1020,  1024,  1028,  1035,  1043,
318      1070,  1082,  1089,  1097,  1115,  1146,  1155,  1160,  1172,  1185,      1048,  1053,  1057,  1067,  1074,  1078,  1088,  1100,  1107,  1115,
319      1197,  1208,  1215,  1245,  1266,  1286,  1316,  1336,  1367,  1388,      1133,  1164,  1173,  1178,  1190,  1203,  1215,  1226,  1233,  1263,
320      1406,  1435,  1463,  1489,  1508,  1526,  1554,  1572,  1588,  1607,      1284,  1304,  1334,  1354,  1385,  1406,  1424,  1453,  1481,  1507,
321      1623,  1634,  1641,  1647,  1658,  1664,  1678,  1683      1526,  1544,  1572,  1590,  1606,  1625,  1641,  1652,  1659,  1665,
322        1676,  1682,  1696,  1701
323  };  };
324    
325  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
326  static const short yyrhs[] =  static const short int yyrhs[] =
327  {  {
328       228,     0,    -1,   229,   267,    -1,   229,   268,   267,    -1,       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,
329        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
330         3,    -1,   230,   266,    -1,   230,   262,    -1,   230,   258,         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,
331        -1,   269,   266,   282,    -1,   270,   266,   234,    -1,   271,        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,
332       266,   236,    -1,   272,   266,   237,    -1,   273,   266,   242,       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,
333        -1,   274,   266,   238,    -1,   277,   266,   282,   266,   252,        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,
334        -1,   278,   266,   235,    -1,   279,   266,   232,    -1,   280,        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,
335       266,   233,    -1,   281,   266,   264,    -1,   314,   266,   282,       267,   233,    -1,   282,   267,   265,    -1,   315,   267,   283,
336       266,   252,    -1,   314,    -1,   317,    -1,   285,    -1,   289,       267,   252,    -1,   315,    -1,   318,    -1,   286,    -1,   290,
337        -1,   288,    -1,   287,    -1,   286,    -1,   315,    -1,   285,        -1,   289,    -1,   288,    -1,   287,    -1,   316,    -1,   286,
338        -1,   289,    -1,   288,    -1,   287,    -1,   286,    -1,   315,        -1,   290,    -1,   289,    -1,   288,    -1,   287,    -1,   316,
339        -1,   283,    -1,   300,    -1,   306,   266,   286,   266,   258,        -1,   284,    -1,   301,    -1,   307,   267,   287,   267,   259,
340        -1,   305,   266,   286,   266,   258,   266,   258,    -1,   305,        -1,   306,   267,   287,   267,   259,   267,   259,    -1,   306,
341       266,   286,   266,   258,   266,   258,   266,   240,    -1,   284,       267,   287,   267,   259,   267,   259,   267,   240,    -1,   285,
342        -1,   296,   266,   286,   266,   258,    -1,   295,   266,   286,        -1,   297,   267,   287,   267,   259,    -1,   296,   267,   287,
343       266,   258,   266,   258,    -1,   295,   266,   286,   266,   258,       267,   259,   267,   259,    -1,   296,   267,   287,   267,   259,
344       266,   258,   266,   240,    -1,   293,    -1,   303,    -1,   294,       267,   259,   267,   240,    -1,   294,    -1,   304,    -1,   295,
345       266,   286,   266,   262,    -1,   304,   266,   286,   266,   262,       267,   287,   267,   263,    -1,   305,   267,   287,   267,   263,
346        -1,   307,   266,   286,   266,   262,   266,   262,    -1,   302,        -1,   308,   267,   287,   267,   263,   267,   263,    -1,   303,
347       266,   286,   266,   262,   266,   262,   266,   258,    -1,   298,       267,   287,   267,   263,   267,   263,   267,   259,    -1,   299,
348       266,   286,   266,   262,   266,   262,    -1,   297,   266,   286,       267,   287,   267,   263,   267,   263,    -1,   298,   267,   287,
349       266,   262,   266,   262,   266,   258,    -1,   285,    -1,   282,       267,   263,   267,   263,   267,   259,    -1,   286,    -1,   283,
350       266,   286,   266,   252,    -1,   282,   266,   287,   266,   241,       267,   287,   267,   252,    -1,   283,   267,   288,   267,   241,
351       266,   252,    -1,   282,   266,   288,   266,   252,    -1,   282,       267,   252,    -1,   283,   267,   289,   267,   252,    -1,   283,
352       266,   289,   266,   252,    -1,   291,   266,   286,   266,   254,       267,   290,   267,   252,    -1,   292,   267,   287,   267,   254,
353        -1,   292,   266,   262,   266,   258,     4,   256,    -1,   297,        -1,   293,   267,   263,   267,   259,     4,   256,    -1,   298,
354       266,   262,   266,   262,   266,   258,     4,   256,    -1,   301,       267,   263,   267,   263,   267,   259,     4,   256,    -1,   302,
355       266,   262,   266,   258,     4,   256,    -1,   302,   266,   262,       267,   263,   267,   259,     4,   256,    -1,   303,   267,   263,
356       266,   262,   266,   258,     4,   256,    -1,   282,   266,   239,       267,   263,   267,   259,     4,   256,    -1,   283,   267,   239,
357        -1,   316,   266,   257,    -1,   294,   266,   258,   266,   240,        -1,   317,   267,   258,    -1,   295,   267,   259,   267,   240,
358        -1,   294,   266,   258,    -1,   304,   266,   258,   266,   240,        -1,   295,   267,   259,    -1,   305,   267,   259,   267,   240,
359        -1,   304,   266,   258,    -1,   294,   266,   262,    -1,   304,        -1,   305,   267,   259,    -1,   295,   267,   263,    -1,   305,
360       266,   262,    -1,   290,   266,   243,    -1,   291,   266,   244,       267,   263,    -1,   291,   267,   243,    -1,   292,   267,   244,
361        -1,   294,   266,   252,   266,   245,    -1,   298,   266,   252,        -1,   295,   267,   252,   267,   245,    -1,   299,   267,   252,
362       266,   246,   266,   246,    -1,   299,   266,   252,   266,   247,       267,   246,   267,   246,    -1,   300,   267,   252,   267,   247,
363        -1,   310,   266,   252,   266,   245,   266,   248,   266,   249,        -1,   311,   267,   252,   267,   245,   267,   248,   267,   249,
364        -1,   304,   266,   252,   266,   245,    -1,   307,   266,   252,        -1,   305,   267,   252,   267,   245,    -1,   308,   267,   252,
365       266,   248,    -1,   308,   266,   252,   266,   249,    -1,   309,       267,   248,    -1,   309,   267,   252,   267,   249,    -1,   310,
366       266,   252,   266,   250,    -1,   311,   266,   252,   266,   251,       267,   252,   267,   250,    -1,   312,   267,   252,   267,   251,
367        -1,   258,     4,   256,    -1,   240,   266,   258,     4,   256,        -1,   259,     4,   256,    -1,   240,   267,   259,     4,   256,
368        -1,   312,    -1,   313,    -1,   293,    -1,   303,    -1,   285,        -1,   313,    -1,   314,    -1,   294,    -1,   304,    -1,   286,
369        -1,   255,   266,   253,   266,   252,    -1,   276,   266,   255,        -1,   284,    -1,   301,    -1,   285,    -1,   255,   267,   253,
370       266,   253,   266,   252,    -1,   254,   266,   252,    -1,   262,       267,   252,    -1,   277,   267,   255,   267,   253,   267,   252,
371        -1,   262,    -1,   258,    -1,   262,    -1,   262,    -1,   275,        -1,   254,   267,   252,    -1,   263,    -1,   263,    -1,   259,
372        -1,   258,    -1,   259,    -1,   262,    -1,   262,    -1,   262,        -1,   263,    -1,   263,    -1,   276,    -1,   259,    -1,   260,
373        -1,   258,    -1,   265,    -1,   258,    -1,   265,    -1,   262,        -1,   263,    -1,   263,    -1,   263,    -1,   259,    -1,   266,
374        -1,   259,    -1,   262,    -1,   258,    -1,   263,    -1,   258,        -1,   257,    -1,   256,     5,   257,    -1,   259,    -1,     6,
375       263,    -1,   260,     5,   260,    -1,     6,   260,     5,   260,       259,     6,    -1,     7,   259,     7,    -1,   263,    -1,   260,
376        -1,     7,   260,     5,   260,    -1,   261,    -1,   260,   261,        -1,   263,    -1,   259,    -1,   264,    -1,   259,   264,    -1,
377        -1,     8,    -1,     9,    -1,    10,    -1,    11,    -1,    12,       261,     8,   261,    -1,     9,   261,     8,   261,    -1,    10,
378        -1,    13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,       261,     8,   261,    -1,   262,    -1,   261,   262,    -1,    11,
379        -1,   261,    -1,     9,   260,    -1,    10,   260,    -1,    11,        -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,    16,
380       260,    -1,    12,   260,    -1,    13,   260,    -1,    14,   260,        -1,    17,    -1,    18,    -1,    19,    -1,    20,    -1,   262,
381        -1,    15,   260,    -1,    16,   260,    -1,    17,   260,    -1,        -1,    12,   261,    -1,    13,   261,    -1,    14,   261,    -1,
382        18,    -1,    19,    -1,    20,    -1,    21,    -1,    22,    -1,        15,   261,    -1,    16,   261,    -1,    17,   261,    -1,    18,
383        23,    -1,    24,    -1,    25,    -1,    26,    -1,    27,    -1,       261,    -1,    19,   261,    -1,    20,   261,    -1,    21,    -1,
384        28,    -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,        22,    -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,
385        33,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,        27,    -1,    28,    -1,    29,    -1,    30,    -1,    31,    -1,
386        38,    -1,    39,    -1,    40,    -1,    41,    -1,    42,    -1,        32,    -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,
387        43,    -1,    44,    -1,    45,    -1,    46,    -1,    47,    -1,        37,    -1,    38,    -1,    39,    -1,    40,    -1,    41,    -1,
388        48,    -1,    49,    -1,    50,    -1,    51,    -1,    52,    -1,        42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,
389        53,    -1,    54,    -1,    55,    -1,    56,    -1,    57,    -1,        47,    -1,    48,    -1,    49,    -1,    50,    -1,    51,    -1,
390        58,    -1,    59,    -1,    60,    -1,    61,    -1,    62,    -1,        52,    -1,    53,    -1,    54,    -1,    55,    -1,    56,    -1,
391        63,    -1,    64,    -1,    65,    -1,    66,    -1,    67,    -1,        57,    -1,    58,    -1,    59,    -1,    60,    -1,    61,    -1,
392        68,    -1,    69,    -1,     8,    -1,     9,    -1,    10,    -1,        62,    -1,    63,    -1,    64,    -1,    65,    -1,    66,    -1,
393        11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,        67,    -1,    68,    -1,    69,    -1,    70,    -1,    71,    -1,
394        16,    -1,    17,    -1,    70,    -1,     3,    -1,    71,    -1,        72,    -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,
395        72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,    -1,        15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,    -1,
396         6,    -1,     7,    -1,     5,    -1,    77,    -1,    78,    -1,        20,    -1,    73,    -1,     3,    -1,    74,    -1,    75,    -1,
397        79,    -1,    80,    -1,    81,    -1,     4,    -1,    82,    -1,        76,    -1,    77,    -1,    78,    -1,    79,    -1,     9,    -1,
398        83,    -1,    84,    -1,    85,    -1,    86,    -1,    87,    -1,        10,    -1,     8,    -1,     5,    -1,    80,    -1,    81,    -1,
399        88,    -1,    89,    -1,    90,    -1,    91,    -1,    92,    -1,        82,    -1,    83,    -1,     4,    -1,    84,    -1,    85,    -1,
400        93,    -1,    94,    -1,    95,    -1,    96,    -1,    97,    -1,        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,
401        98,    -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,
402       103,    -1,   104,    -1,   105,    -1,   106,    -1,   107,    -1,        96,    -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,
403       108,    -1,   109,    -1,   110,    -1,   111,    -1,   112,    -1,       101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,
404       113,    -1,   114,    -1,   115,    -1,   116,    -1,   117,    -1,       106,    -1,   107,    -1,   108,    -1,   109,    -1,   110,    -1,
405       118,    -1,   119,    -1,   120,    -1,   121,    -1,   122,    -1,       111,    -1,   112,    -1,   113,    -1,   114,    -1,   115,    -1,
406       123,    -1,   124,    -1,   125,    -1,   126,    -1,   127,    -1,       116,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,
407       128,    -1,   129,    -1,   130,    -1,   131,    -1,   132,    -1,       121,    -1,   122,    -1,   123,    -1,   124,    -1,   125,    -1,
408       133,    -1,   134,    -1,   135,    -1,   136,    -1,   137,    -1,       126,    -1,   127,    -1,   128,    -1,   129,    -1,   130,    -1,
409       138,    -1,   139,    -1,   140,    -1,   141,    -1,   142,    -1,       131,    -1,   132,    -1,   133,    -1,   134,    -1,   135,    -1,
410       143,    -1,   144,    -1,   145,    -1,   146,    -1,   147,    -1,       136,    -1,   137,    -1,   138,    -1,   139,    -1,   140,    -1,
411       148,    -1,   149,    -1,   150,    -1,   151,    -1,   152,    -1,       141,    -1,   142,    -1,   143,    -1,   144,    -1,   145,    -1,
412       153,    -1,   154,    -1,   155,    -1,   156,    -1,   157,    -1,       146,    -1,   147,    -1,   148,    -1,   149,    -1,   150,    -1,
413       158,    -1,   159,    -1,   160,    -1,   161,    -1,   162,    -1,       151,    -1,   152,    -1,   153,    -1,   154,    -1,   155,    -1,
414       163,    -1,   164,    -1,   165,    -1,   166,    -1,   167,    -1,       156,    -1,   157,    -1,   158,    -1,   159,    -1,   160,    -1,
415       168,    -1,   169,    -1,   170,    -1,   171,    -1,   172,    -1,       161,    -1,   162,    -1,   163,    -1,   164,    -1,   165,    -1,
416       173,    -1,   174,    -1,   175,    -1,   176,    -1,   177,    -1,       166,    -1,   167,    -1,   168,    -1,   169,    -1,   170,    -1,
417       178,    -1,   179,    -1,   180,    -1,   181,    -1,   182,    -1,       171,    -1,   172,    -1,   173,    -1,   174,    -1,   175,    -1,
418       183,    -1,   184,    -1,   185,    -1,   186,    -1,   187,    -1,       176,    -1,   177,    -1,   178,    -1,   179,    -1,   180,    -1,
419       188,    -1,   189,    -1,   190,    -1,   191,    -1,   192,    -1,       181,    -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,
420       193,    -1,   194,    -1,   195,    -1,   196,    -1,   197,    -1,       186,    -1,   187,    -1,   188,    -1,   189,    -1,   190,    -1,
421       198,    -1,   199,    -1,   200,    -1,   201,    -1,   202,    -1,       191,    -1,   192,    -1,   193,    -1,   194,    -1,   195,    -1,
422       203,    -1,   204,    -1,   205,    -1,   206,    -1,   207,    -1,       196,    -1,   197,    -1,   198,    -1,   199,    -1,   200,    -1,
423       208,    -1,   209,    -1,   210,    -1,   211,    -1,   212,    -1,       201,    -1,   202,    -1,   203,    -1,   204,    -1,   205,    -1,
424       213,    -1,   214,    -1,   215,    -1,   216,    -1,   217,    -1,       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,
425       218,    -1,   219,    -1,   220,    -1,   221,    -1,   266,    -1,       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,
426       258,    -1,   264,   266,    -1,   264,   258,    -1,   222,   264,       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,
427       222,    -1,   223,   264,   223,    -1,   224,    -1,   225,    -1,       221,    -1,   222,    -1,   223,    -1,   267,    -1,   259,    -1,
428       226,    -1,    18,    21,    21,    -1,    24,    22,    37,    -1,       265,   267,    -1,   265,   259,    -1,     6,   265,     6,    -1,
429        20,    35,    22,    18,    37,    22,    -1,    21,    22,    36,         7,   265,     7,    -1,   224,    -1,   225,    -1,   226,    -1,
430        37,    35,    32,    42,    -1,    29,    26,    36,    37,    -1,        21,    24,    24,    -1,    27,    25,    40,    -1,    23,    38,
431        29,    32,    18,    21,    -1,    18,    29,    29,    -1,    31,        25,    21,    40,    25,    -1,    24,    25,    39,    40,    38,
432        32,    31,    89,    30,    32,    21,    18,    29,    -1,    35,        35,    45,    -1,    32,    29,    39,    40,    -1,    32,    35,
433        22,    30,    32,    39,    22,    -1,    36,    22,    37,    -1,        21,    24,    -1,    21,    32,    32,    -1,    34,    35,    34,
434        36,    38,    19,    36,    20,    35,    26,    19,    22,    -1,        91,    33,    35,    24,    21,    32,    -1,    38,    25,    33,
435        38,    31,    36,    38,    19,    36,    20,    35,    26,    19,        35,    42,    25,    -1,    39,    25,    40,    -1,    39,    41,
436        22,    -1,    36,    22,    29,    22,    20,    37,    -1,    20,        22,    39,    23,    38,    29,    22,    25,    -1,    41,    34,
437        25,    18,    31,    31,    22,    29,    -1,    18,    39,    18,        39,    41,    22,    39,    23,    38,    29,    22,    25,    -1,
438        26,    29,    18,    19,    29,    22,    89,    22,    31,    24,        39,    25,    32,    25,    23,    40,    -1,    23,    28,    21,
439        26,    31,    22,    36,    -1,    18,    39,    18,    26,    29,        34,    34,    25,    32,    -1,    21,    42,    21,    29,    32,
440        18,    19,    29,    22,    89,    18,    38,    21,    26,    32,        21,    22,    32,    25,    91,    25,    34,    27,    29,    34,
441        89,    32,    38,    37,    33,    38,    37,    89,    21,    35,        25,    39,    -1,    21,    42,    21,    29,    32,    21,    22,
442        26,    39,    22,    35,    36,    -1,    20,    25,    18,    31,        32,    25,    91,    21,    41,    24,    29,    35,    91,    35,
443        31,    22,    29,    36,    -1,    26,    31,    23,    32,    -1,        41,    40,    36,    41,    40,    91,    24,    38,    29,    42,
444        19,    38,    23,    23,    22,    35,    89,    23,    26,    29,        25,    38,    39,    -1,    23,    28,    21,    34,    34,    25,
445        29,    -1,    36,    37,    35,    22,    18,    30,    89,    20,        32,    39,    -1,    29,    34,    26,    35,    -1,    22,    41,
446        32,    38,    31,    37,    -1,    39,    32,    26,    20,    22,        26,    26,    25,    38,    91,    26,    29,    32,    32,    -1,
447        89,    20,    32,    38,    31,    37,    -1,    26,    31,    36,        39,    40,    38,    25,    21,    33,    91,    23,    35,    41,
448        37,    35,    38,    30,    22,    31,    37,    -1,    22,    31,        34,    40,    -1,    42,    35,    29,    23,    25,    91,    23,
449        24,    26,    31,    22,    -1,    18,    38,    21,    26,    32,        35,    41,    34,    40,    -1,    29,    34,    39,    40,    38,
450        89,    32,    38,    37,    33,    38,    37,    89,    21,    22,        41,    33,    25,    34,    40,    -1,    25,    34,    27,    29,
451        39,    26,    20,    22,    89,    33,    18,    35,    18,    30,        34,    25,    -1,    21,    41,    24,    29,    35,    91,    35,
452        22,    37,    22,    35,    -1,    18,    38,    21,    26,    32,        41,    40,    36,    41,    40,    91,    24,    25,    42,    29,
453        89,    32,    38,    37,    33,    38,    37,    89,    21,    22,        23,    25,    91,    36,    21,    38,    21,    33,    25,    40,
454        39,    26,    20,    22,    36,    -1,    18,    38,    21,    26,        25,    38,    -1,    21,    41,    24,    29,    35,    91,    35,
455        32,    89,    32,    38,    37,    33,    38,    37,    89,    21,        41,    40,    36,    41,    40,    91,    24,    25,    42,    29,
456        22,    39,    26,    20,    22,    -1,    18,    38,    21,    26,        23,    25,    39,    -1,    21,    41,    24,    29,    35,    91,
457        32,    89,    32,    38,    37,    33,    38,    37,    89,    21,        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,
458        35,    26,    39,    22,    35,    89,    33,    18,    35,    18,        29,    23,    25,    -1,    21,    41,    24,    29,    35,    91,
459        30,    22,    37,    22,    35,    -1,    18,    38,    21,    26,        35,    41,    40,    36,    41,    40,    91,    24,    38,    29,
460        32,    89,    32,    38,    37,    33,    38,    37,    89,    21,        42,    25,    38,    91,    36,    21,    38,    21,    33,    25,
461        35,    26,    39,    22,    35,    -1,    18,    38,    21,    26,        40,    25,    38,    -1,    21,    41,    24,    29,    35,    91,
462        32,    89,    32,    38,    37,    33,    38,    37,    89,    20,        35,    41,    40,    36,    41,    40,    91,    24,    38,    29,
463        25,    18,    31,    31,    22,    29,    89,    33,    18,    35,        42,    25,    38,    -1,    21,    41,    24,    29,    35,    91,
464        18,    30,    22,    37,    22,    35,    -1,    18,    38,    21,        35,    41,    40,    36,    41,    40,    91,    23,    28,    21,
465        26,    32,    89,    32,    38,    37,    33,    38,    37,    89,        34,    34,    25,    32,    91,    36,    21,    38,    21,    33,
466        20,    25,    18,    31,    31,    22,    29,    -1,    18,    38,        25,    40,    25,    38,    -1,    21,    41,    24,    29,    35,
467        21,    26,    32,    89,    32,    38,    37,    33,    38,    37,        91,    35,    41,    40,    36,    41,    40,    91,    23,    28,
468        89,    37,    42,    33,    22,    -1,    18,    39,    18,    26,        21,    34,    34,    25,    32,    -1,    21,    41,    24,    29,
469        29,    18,    19,    29,    22,    89,    30,    26,    21,    26,        35,    91,    35,    41,    40,    36,    41,    40,    91,    40,
470        89,    26,    31,    33,    38,    37,    89,    21,    35,    26,        45,    36,    25,    -1,    21,    42,    21,    29,    32,    21,
471        39,    22,    35,    36,    -1,    30,    26,    21,    26,    89,        22,    32,    25,    91,    33,    29,    24,    29,    91,    29,
472        26,    31,    33,    38,    37,    89,    21,    22,    39,    26,        34,    36,    41,    40,    91,    24,    38,    29,    42,    25,
473        20,    22,    89,    33,    18,    35,    18,    30,    22,    37,        38,    39,    -1,    33,    29,    24,    29,    91,    29,    34,
474        22,    35,    -1,    30,    26,    21,    26,    89,    26,    31,        36,    41,    40,    91,    24,    25,    42,    29,    23,    25,
475        33,    38,    37,    89,    33,    32,    35,    37,    89,    33,        91,    36,    21,    38,    21,    33,    25,    40,    25,    38,
476        18,    35,    18,    30,    22,    37,    22,    35,    -1,    30,        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,
477        26,    21,    26,    89,    26,    31,    33,    38,    37,    89,        40,    91,    36,    35,    38,    40,    91,    36,    21,    38,
478        21,    22,    39,    26,    20,    22,    36,    -1,    30,    26,        21,    33,    25,    40,    25,    38,    -1,    33,    29,    24,
479        21,    26,    89,    26,    31,    33,    38,    37,    89,    21,        29,    91,    29,    34,    36,    41,    40,    91,    24,    25,
480        22,    39,    26,    20,    22,    -1,    30,    26,    21,    26,        42,    29,    23,    25,    39,    -1,    33,    29,    24,    29,
481        89,    26,    31,    33,    38,    37,    89,    21,    35,    26,        91,    29,    34,    36,    41,    40,    91,    24,    25,    42,
482        39,    22,    35,    89,    33,    18,    35,    18,    30,    22,        29,    23,    25,    -1,    33,    29,    24,    29,    91,    29,
483        37,    22,    35,    -1,    30,    26,    21,    26,    89,    26,        34,    36,    41,    40,    91,    24,    38,    29,    42,    25,
484        31,    33,    38,    37,    89,    21,    35,    26,    39,    22,        38,    91,    36,    21,    38,    21,    33,    25,    40,    25,
485        35,    -1,    30,    26,    21,    26,    89,    26,    31,    33,        38,    -1,    33,    29,    24,    29,    91,    29,    34,    36,
486        38,    37,    89,    33,    32,    35,    37,    -1,    30,    26,        41,    40,    91,    24,    38,    29,    42,    25,    38,    -1,
487        21,    26,    89,    26,    31,    33,    38,    37,    89,    20,        33,    29,    24,    29,    91,    29,    34,    36,    41,    40,
488        25,    18,    31,    31,    22,    29,    -1,    30,    26,    21,        91,    36,    35,    38,    40,    -1,    33,    29,    24,    29,
489        26,    89,    26,    31,    33,    38,    37,    89,    37,    42,        91,    29,    34,    36,    41,    40,    91,    23,    28,    21,
490        33,    22,    -1,    30,    26,    21,    26,    89,    26,    31,        34,    34,    25,    32,    -1,    33,    29,    24,    29,    91,
491        33,    38,    37,    -1,    39,    32,    29,    38,    30,    22,        29,    34,    36,    41,    40,    91,    40,    45,    36,    25,
492        -1,    19,    42,    37,    22,    36,    -1,    33,    22,    35,        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,
493        20,    22,    31,    37,    18,    24,    22,    -1,    35,    22,        40,    -1,    42,    35,    32,    41,    33,    25,    -1,    22,
494        36,    22,    37,    -1,    30,    26,    36,    20,    22,    29,        45,    40,    25,    39,    -1,    36,    25,    38,    23,    25,
495        29,    18,    31,    22,    32,    38,    36,    -1,    22,    20,        34,    40,    21,    27,    25,    -1,    38,    25,    39,    25,
496        25,    32,    -1,    34,    38,    26,    37,    -1        40,    -1,    33,    29,    39,    23,    25,    32,    32,    21,
497          34,    25,    35,    41,    39,    -1,    25,    23,    28,    35,
498          -1,    37,    41,    29,    40,    -1
499  };  };
500    
501  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
502  static const unsigned short yyrline[] =  static const unsigned short int yyrline[] =
503  {  {
504         0,    81,    81,    82,    85,    86,    87,    88,    91,    92,         0,    82,    82,    83,    86,    87,    88,    89,    92,    93,
505        93,    94,    95,    98,    99,   100,   101,   102,   103,   104,        94,    95,    96,    99,   100,   101,   102,   103,   104,   105,
506       105,   106,   107,   108,   109,   110,   111,   114,   115,   116,       106,   107,   108,   109,   110,   111,   112,   115,   116,   117,
507       117,   118,   119,   122,   123,   124,   125,   126,   127,   130,       118,   119,   120,   123,   124,   125,   126,   127,   128,   131,
508       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
509       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
510       151,   152,   155,   156,   157,   158,   159,   160,   163,   164,       152,   153,   156,   157,   158,   159,   160,   161,   164,   165,
511       165,   166,   169,   170,   173,   174,   177,   178,   179,   180,       166,   167,   170,   171,   174,   175,   178,   179,   180,   181,
512       181,   182,   183,   184,   185,   188,   189,   192,   193,   196,       182,   183,   184,   185,   186,   189,   190,   193,   194,   197,
513       197,   198,   201,   202,   205,   208,   211,   214,   217,   220,       198,   199,   200,   201,   202,   205,   206,   209,   212,   215,
514       221,   224,   227,   228,   231,   234,   237,   240,   243,   244,       218,   221,   224,   225,   228,   231,   232,   235,   238,   241,
515       245,   246,   252,   253,   256,   257,   260,   261,   262,   266,       244,   247,   248,   251,   252,   253,   254,   255,   261,   262,
516       267,   270,   271,   272,   273,   274,   275,   276,   277,   278,       265,   266,   269,   270,   271,   275,   276,   279,   280,   281,
517       279,   282,   283,   284,   285,   286,   287,   288,   289,   290,       282,   283,   284,   285,   286,   287,   288,   291,   292,   293,
518       291,   293,   293,   293,   293,   293,   293,   293,   293,   293,       294,   295,   296,   297,   298,   299,   300,   302,   302,   302,
519       293,   293,   293,   293,   293,   293,   293,   293,   293,   293,       302,   302,   302,   302,   302,   302,   302,   302,   302,   302,
520       293,   293,   293,   293,   293,   293,   293,   294,   294,   294,       302,   302,   302,   302,   302,   302,   302,   302,   302,   302,
521       294,   294,   294,   294,   294,   294,   294,   294,   294,   294,       302,   302,   302,   303,   303,   303,   303,   303,   303,   303,
522       294,   294,   294,   294,   294,   294,   294,   294,   294,   294,       303,   303,   303,   303,   303,   303,   303,   303,   303,   303,
523       294,   294,   294,   295,   295,   295,   295,   295,   295,   295,       303,   303,   303,   303,   303,   303,   303,   303,   303,   304,
524       295,   295,   295,   296,   296,   296,   296,   296,   296,   296,       304,   304,   304,   304,   304,   304,   304,   304,   304,   305,
525       296,   296,   296,   296,   296,   296,   297,   297,   297,   297,       305,   305,   305,   305,   305,   305,   305,   305,   305,   305,
526       297,   297,   297,   298,   298,   298,   298,   298,   299,   299,       305,   305,   306,   306,   306,   306,   306,   306,   306,   307,
527       299,   299,   300,   300,   300,   301,   301,   301,   302,   302,       307,   307,   307,   307,   308,   308,   308,   308,   309,   309,
528       302,   303,   303,   303,   304,   304,   304,   305,   305,   305,       309,   310,   310,   310,   311,   311,   311,   312,   312,   312,
529       306,   306,   306,   307,   307,   307,   308,   308,   308,   309,       313,   313,   313,   314,   314,   314,   315,   315,   315,   316,
530       309,   309,   310,   310,   310,   311,   311,   311,   312,   312,       316,   316,   317,   317,   317,   318,   318,   318,   319,   319,
531       312,   313,   313,   313,   314,   314,   314,   315,   315,   315,       319,   320,   320,   320,   321,   321,   321,   322,   322,   322,
532       316,   316,   316,   317,   317,   317,   318,   318,   318,   319,       323,   323,   323,   324,   324,   324,   325,   325,   325,   326,
533       319,   319,   320,   320,   320,   321,   321,   321,   322,   322,       326,   326,   327,   327,   327,   328,   328,   328,   329,   329,
534       322,   323,   323,   323,   324,   324,   324,   325,   325,   325,       329,   330,   330,   330,   331,   331,   331,   332,   332,   332,
535       326,   326,   326,   327,   327,   327,   328,   328,   328,   329,       333,   333,   333,   334,   334,   334,   335,   335,   335,   336,
536       329,   329,   330,   330,   330,   331,   331,   331,   332,   332,       336,   336,   337,   337,   337,   338,   338,   338,   339,   339,
537       332,   333,   333,   333,   334,   334,   334,   335,   335,   335,       339,   340,   340,   340,   341,   341,   341,   342,   342,   342,
538       336,   336,   336,   337,   337,   337,   338,   338,   338,   339,       343,   343,   343,   344,   344,   344,   345,   345,   345,   346,
539       339,   339,   340,   340,   340,   341,   341,   341,   342,   342,       346,   346,   347,   347,   347,   348,   348,   348,   349,   349,
540       345,   346,   347,   348,   351,   352,   358,   361,   364,   367,       349,   350,   350,   350,   351,   351,   354,   355,   356,   357,
541       370,   373,   376,   379,   382,   385,   388,   391,   394,   397,       360,   361,   367,   370,   373,   376,   379,   382,   385,   388,
542       400,   403,   406,   409,   412,   415,   418,   421,   424,   427,       391,   394,   397,   400,   403,   406,   409,   412,   415,   418,
543       430,   433,   436,   439,   442,   445,   448,   451,   454,   457,       421,   424,   427,   430,   433,   436,   439,   442,   445,   448,
544       460,   463,   466,   469,   472,   475,   478,   481,   484,   487,       451,   454,   457,   460,   463,   466,   469,   472,   475,   478,
545       490,   493,   496,   499,   502,   505,   508,   511       481,   484,   487,   490,   493,   496,   499,   502,   505,   508,
546         511,   514,   517,   520
547  };  };
548  #endif  #endif
549    
# Line 541  static const unsigned short yyrline[] = Line 552  static const unsigned short yyrline[] =
552     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals. */
553  static const char *const yytname[] =  static const char *const yytname[] =
554  {  {
555    "$end", "error", "$undefined", "'#'", "'='", "'.'", "'+'", "'-'", "'0'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",
556    "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'", "'A'",    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",
557    "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'", "'K'",    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",
558    "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'", "'U'",    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",
559    "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'", "'e'",    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",
560    "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'", "'o'",    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",
561    "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'", "'y'",    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",
562    "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "','", "'/'",    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",
563    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",
564    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",
565    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",
566    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",
567    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",
568    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",
569    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "' '", "'¡'",    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",
570    "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'", "'©'", "'ª'", "'«'",    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",
571    "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'", "'³'", "'´'", "'µ'",    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",
572    "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'", "'½'", "'¾'", "'¿'",    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",
573    "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'", "'Ç'", "'È'", "'É'",    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",
574    "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'", "'Ñ'", "'Ò'", "'Ó'",    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",
575    "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'", "'Û'", "'Ü'", "'Ý'",    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",
576    "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'", "'å'", "'æ'", "'ç'",    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",
577    "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'", "'ï'", "'ð'", "'ñ'",    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",
578    "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'", "'ù'", "'ú'", "'û'",    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",
579    "'ü'", "'ý'", "'þ'", "'ÿ'", "'''", "'\"'", "' '", "'\\n'", "'\\r'",    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",
580    "$accept", "input", "line", "comment", "command", "subscribe_event",    "$accept", "input", "line", "comment", "command", "subscribe_event",
581    "unsubscribe_event", "get_instruction", "set_instruction",    "unsubscribe_event", "get_instruction", "set_instruction",
582    "create_instruction", "destroy_instruction", "load_instruction",    "create_instruction", "destroy_instruction", "load_instruction",
583    "set_chan_instruction", "key_val_list", "buffer_size_type",    "set_chan_instruction", "key_val_list", "buffer_size_type",
584    "list_instruction", "load_instr_args", "load_engine_args",    "list_instruction", "load_instr_args", "load_engine_args",
585    "device_index", "audio_channel_index", "audio_output_type_name",    "device_index", "audio_channel_index", "audio_output_type_name",
586    "midi_input_port_index", "midi_input_channel_index",    "midi_input_port_index", "midi_input_channel_index",
587    "midi_input_type_name", "volume_value", "sampler_channel",    "midi_input_type_name", "volume_value", "sampler_channel",
588    "instrument_index", "engine_name", "filename", "param_val", "boolean",    "instrument_index", "engine_name", "filename", "param_val_list",
589    "string", "dotnum", "digits", "digit", "number", "char", "text",    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",
590    "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE", "DESTROY",    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",
591    "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",
592    "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",
593    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",
594    "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",    "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",
595    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
596    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
597    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
598    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
599    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
600    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
601    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",
602    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME",    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME", "BYTES",
603    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0
604  };  };
605  #endif  #endif
606    
607  # ifdef YYPRINT  # ifdef YYPRINT
608  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
609     token YYLEX-NUM.  */     token YYLEX-NUM.  */
610  static const unsigned short yytoknum[] =  static const unsigned short int yytoknum[] =
611  {  {
612         0,   256,   257,    35,    61,    46,    43,    45,    48,    49,         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,
613        50,    51,    52,    53,    54,    55,    56,    57,    65,    66,        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,
614        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,
615        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
616        87,    88,    89,    90,    97,    98,    99,   100,   101,   102,        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,
617       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
618       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
619        33,    36,    37,    38,    40,    41,    42,    44,    47,    58,       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,
620        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,
621       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,
622       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
623       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
624       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
625       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
626       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
627       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
628       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
629       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
630       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
631       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
632       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
633       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
634       254,   255,    39,    34,    32,    10,    13       252,   253,   254,   255,    32,    10,    13
635  };  };
636  # endif  # endif
637    
638  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
639  static const unsigned short yyr1[] =  static const unsigned short int yyr1[] =
640  {  {
641         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
642       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
# Line 636  static const unsigned short yyr1[] = Line 647  static const unsigned short yyr1[] =
647       234,   234,   235,   235,   235,   235,   235,   235,   236,   236,       234,   234,   235,   235,   235,   235,   235,   235,   236,   236,
648       236,   236,   237,   237,   238,   238,   239,   239,   239,   239,       236,   236,   237,   237,   238,   238,   239,   239,   239,   239,
649       239,   239,   239,   239,   239,   240,   240,   241,   241,   242,       239,   239,   239,   239,   239,   240,   240,   241,   241,   242,
650       242,   242,   243,   243,   244,   245,   246,   247,   248,   249,       242,   242,   242,   242,   242,   243,   243,   244,   245,   246,
651       249,   250,   251,   251,   252,   253,   254,   255,   256,   256,       247,   248,   249,   249,   250,   251,   251,   252,   253,   254,
652       256,   256,   257,   257,   258,   258,   259,   259,   259,   260,       255,   256,   256,   257,   257,   257,   257,   257,   258,   258,
653       260,   261,   261,   261,   261,   261,   261,   261,   261,   261,       259,   259,   260,   260,   260,   261,   261,   262,   262,   262,
654       261,   262,   262,   262,   262,   262,   262,   262,   262,   262,       262,   262,   262,   262,   262,   262,   262,   263,   263,   263,
655       262,   263,   263,   263,   263,   263,   263,   263,   263,   263,       263,   263,   263,   263,   263,   263,   263,   264,   264,   264,
656       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
657       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
658       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
659       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
660       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
661       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
662       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
663       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
664       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
665       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
666       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
667       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
668       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
669       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
670       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
671       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
672       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
673       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
674       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
675       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
676       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
677       264,   264,   264,   264,   265,   265,   266,   267,   268,   269,       264,   264,   264,   264,   264,   264,   265,   265,   265,   265,
678       270,   271,   272,   273,   274,   275,   276,   277,   278,   279,       266,   266,   267,   268,   269,   270,   271,   272,   273,   274,
679       280,   281,   282,   283,   284,   285,   286,   287,   288,   289,       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
680       290,   291,   292,   293,   294,   295,   296,   297,   298,   299,       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
681       300,   301,   302,   303,   304,   305,   306,   307,   308,   309,       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
682       310,   311,   312,   313,   314,   315,   316,   317       305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
683         315,   316,   317,   318
684  };  };
685    
686  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 683  static const unsigned char yyr2[] = Line 695  static const unsigned char yyr2[] =
695         5,     5,     7,     9,     7,     9,     3,     3,     5,     3,         5,     5,     7,     9,     7,     9,     3,     3,     5,     3,
696         5,     3,     3,     3,     3,     3,     5,     7,     5,     9,         5,     3,     3,     3,     3,     3,     5,     7,     5,     9,
697         5,     5,     5,     5,     5,     3,     5,     1,     1,     1,         5,     5,     5,     5,     5,     3,     5,     1,     1,     1,
698         1,     1,     5,     7,     3,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     5,     7,     3,     1,     1,
699         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
700         1,     1,     1,     1,     1,     2,     3,     4,     4,     1,         1,     1,     3,     1,     3,     3,     1,     1,     1,     1,
701         2,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     2,     3,     4,     4,     1,     2,     1,     1,     1,
702         1,     1,     2,     2,     2,     2,     2,     2,     2,     2,         1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
703         2,     1,     1,     1,     1,     1,     1,     1,     1,     1,         2,     2,     2,     2,     2,     2,     2,     1,     1,     1,
704         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
705         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
706         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 710  static const unsigned char yyr2[] = Line 722  static const unsigned char yyr2[] =
722         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
723         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
724         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
725         1,     1,     2,     2,     3,     3,     1,     1,     1,     3,         1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
726         3,     6,     7,     4,     4,     3,     9,     6,     3,     9,         3,     3,     1,     1,     1,     3,     3,     6,     7,     4,
727        11,     6,     7,    17,    30,     8,     4,    11,    12,    11,         4,     3,     9,     6,     3,     9,    11,     6,     7,    17,
728        10,     6,    29,    20,    19,    29,    19,    30,    20,    17,        30,     8,     4,    11,    12,    11,    10,     6,    29,    20,
729        28,    27,    25,    18,    17,    27,    17,    15,    18,    15,        19,    29,    19,    30,    20,    17,    28,    27,    25,    18,
730        10,     6,     5,    10,     5,    13,     4,     4        17,    27,    17,    15,    18,    15,    10,     6,     5,    10,
731           5,    13,     4,     4
732  };  };
733    
734  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
735     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
736     means the default is an error.  */     means the default is an error.  */
737  static const unsigned short yydefact[] =  static const unsigned short int yydefact[] =
738  {  {
739         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
740         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,
741         0,     0,     0,     0,     0,     0,     0,    25,    26,     0,         0,     0,     0,     0,     0,     0,     0,    25,    26,     0,
742         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
743         1,   367,   368,     2,     0,     9,   219,   213,   211,   212,         1,   373,   374,     2,     0,     9,   225,   220,   219,   217,
744       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       218,   127,   128,   129,   130,   131,   132,   133,   134,   135,
745       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       136,   147,   148,   149,   150,   151,   152,   153,   154,   155,
746       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
747       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
748       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
749       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
750       191,   192,   203,   205,   206,   207,   208,   209,   210,   214,       196,   197,   198,   209,   211,   212,   213,   214,   215,   216,
751       215,   216,   217,   218,   220,   221,   222,   223,   224,   225,       221,   222,   223,   224,   226,   227,   228,   229,   230,   231,
752       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
753       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
754       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
755       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,       262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
756       266,   267,   268,   269,   270,   271,   272,   273,   274,   275,       272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
757       276,   277,   278,   279,   280,   281,   282,   283,   284,   285,       282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
758       286,   287,   288,   289,   290,   291,   292,   293,   294,   295,       292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
759       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
760       306,   307,   308,   309,   310,   311,   312,   313,   314,   315,       312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
761       316,   317,   318,   319,   320,   321,   322,   323,   324,   325,       322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
762       326,   327,   328,   329,   330,   331,   332,   333,   334,   335,       332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
763       336,   337,   338,   339,   340,   341,   342,   343,   344,   345,       342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
764       346,   347,   348,   349,   350,   351,   352,   353,   354,   355,       352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
765       356,   357,   358,   359,   366,    12,   131,    11,   114,    10,       362,   363,   364,   365,   372,    12,   137,    11,   120,    10,
766         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
767         0,     0,   369,     0,     0,   370,     0,     0,     0,     0,         0,     0,   375,     0,     0,   376,     0,     0,     0,     0,
768         0,     0,   378,     0,     0,     3,   121,   122,   123,   124,         0,     0,   384,     0,     0,     3,   127,   128,   129,   130,
769       125,   126,   127,   128,   129,   130,   132,   119,   133,   134,       131,   132,   133,   134,   135,   136,   138,   125,   139,   140,
770       135,   136,   137,   138,   139,   140,   204,   193,   194,   195,       141,   142,   143,   144,   145,   146,   210,   199,   200,   201,
771       196,   197,   198,   199,   200,   201,   202,   115,     0,    13,       202,   203,   204,   205,   206,   207,   208,   121,     0,    13,
772         0,     0,     0,     0,    14,     0,    39,    44,    56,     0,         0,     0,     0,     0,    14,     0,    39,    44,    56,     0,
773        48,     0,     0,     0,     0,     0,    40,     0,    49,     0,        48,     0,     0,     0,     0,     0,    40,     0,    49,     0,
774         0,     0,     0,     0,     0,    15,     0,     0,    16,     0,         0,     0,     0,     0,     0,    15,     0,     0,    16,     0,
775         0,     0,     0,     0,    17,    91,    89,    90,     0,    18,         0,     0,     0,     0,    17,    92,    94,    91,    89,    93,
776         0,     0,     0,     0,     0,     0,    20,     0,     0,     0,        90,     0,    18,     0,     0,     0,     0,     0,     0,    20,
777         0,     0,     0,     0,     0,     0,     0,     0,    21,    27,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
778        31,    30,    29,    28,    32,    22,    33,    37,    36,    35,         0,    21,    27,    31,    30,    29,    28,    32,    22,    33,
779        34,    38,   361,    23,   360,     0,     0,     0,   373,   374,        37,    36,    35,    34,    38,   367,    23,   366,     0,     0,
780       417,     0,     0,     0,     0,     0,   120,     0,     0,     0,         0,   379,   380,   423,     0,     0,     0,     0,     0,   126,
781         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
782         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
783         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
784         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
785         0,     0,   363,   362,     0,     0,     0,     0,   414,     0,         0,     0,     0,     0,     0,   369,   368,     0,     0,     0,
786           0,   420,     0,     0,     0,     0,     0,     0,     0,     0,
787         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
788           0,     0,     0,     0,     0,     0,     0,     0,    69,    71,
789         128,   129,   130,   131,   132,   133,   134,   135,   136,    72,
790          73,     0,     0,     0,     0,     0,     0,     0,    74,     0,
791         110,     0,    75,     0,   109,    19,   107,     0,     0,     0,
792           0,     0,     0,    66,     0,     0,     0,     0,     0,     0,
793           0,     0,     0,     0,     0,     0,     0,    67,   119,   118,
794           0,     0,     0,     0,     0,    24,   377,     0,   383,   387,
795         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,    69,    71,   122,   123,   124,  
      125,   126,   127,   128,   129,   130,    72,    73,     0,     0,  
        0,     0,     0,     0,     0,    74,     0,   107,     0,    75,  
        0,   106,    19,   104,     0,     0,     0,     0,     0,     0,  
       66,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,    67,   113,   112,     0,     0,     0,  
        0,     0,    24,   371,     0,   377,   381,     0,     0,     0,  
796         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
797         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
798           0,     0,     0,     0,     0,     0,     0,     0,   422,     0,
799         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
800         0,     0,     0,     0,     0,   416,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,   392,     0,     0,
801           0,   378,     0,     0,     0,     0,     0,     0,     0,     0,
802          57,     0,     0,     0,    87,    88,    59,    60,    61,    50,
803           0,    45,     0,     0,     0,    51,     0,    41,     0,     0,
804           0,    68,     0,    70,     0,     0,     0,     0,   370,   371,
805           0,     0,   108,     0,    97,     0,     0,     0,     0,     0,
806         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   386,     0,     0,     0,   372,     0,  
        0,     0,     0,     0,     0,     0,     0,    57,     0,     0,  
        0,    87,    88,    59,    60,    61,    50,     0,    45,     0,  
        0,     0,    51,     0,    41,     0,     0,     0,    68,     0,  
       70,     0,     0,     0,     0,     0,   364,   365,     0,   105,  
        0,    94,     0,     0,     0,     0,     0,     0,     0,     0,  
807         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
808           0,     0,     0,   397,     0,     0,     0,     0,     0,     0,
809         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      391,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
810         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
811         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
812           0,     0,     0,     0,     0,     0,     0,   385,     0,   388,
813           0,     0,   388,     0,     0,     0,    58,    46,     0,    54,
814           0,    42,    52,     0,     0,     0,     0,     0,   217,   218,
815          85,   111,   113,   117,     0,   125,   116,     0,     0,     0,
816           0,     0,    95,     0,     0,     0,     0,     0,     0,    76,
817          98,     0,    99,    78,   100,    80,    81,   101,     0,    82,
818         102,   103,    83,   104,     0,     0,     0,    84,   105,   106,
819          62,     0,    64,     0,     0,     0,     0,     0,     0,     0,
820           0,   391,     0,     0,     0,     0,     0,     0,     0,     0,
821         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
822         0,     0,     0,     0,   379,     0,   382,     0,     0,   382,         0,     0,     0,     0,     0,     0,     0,   417,     0,     0,
823         0,     0,     0,    58,    46,     0,    54,     0,    42,    52,         0,     0,     0,     0,     0,     0,     0,   386,     0,     0,
824         0,     0,     0,   211,   212,    85,   108,   111,     0,   119,         0,   418,     0,    47,    55,    53,    43,     0,     0,    86,
825       110,   109,     0,     0,     0,     0,     0,    92,     0,     0,       114,   115,     0,     0,   112,   122,     0,     0,     0,     0,
826         0,     0,     0,     0,    76,    95,     0,    96,    78,    97,        96,     0,     0,     0,     0,    77,   381,     0,    63,    65,
       80,    81,    98,     0,    82,    99,   100,    83,   101,     0,  
        0,     0,    84,   102,   103,    62,     0,    64,     0,     0,  
        0,     0,     0,     0,     0,     0,   385,     0,     0,     0,  
827         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
828         0,     0,     0,     0,     0,     0,     0,     0,     0,   411,       123,   124,     0,     0,   396,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   380,  
        0,     0,     0,   412,     0,    47,    55,    53,    43,     0,  
        0,    86,     0,     0,   116,     0,     0,     0,     0,    93,  
        0,     0,     0,     0,    77,   375,     0,    63,    65,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   117,  
      118,     0,     0,   390,     0,     0,     0,     0,     0,     0,  
829         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
830         0,     0,     0,     0,   376,     0,     0,     0,     0,    79,         0,     0,     0,     0,     0,   382,     0,     0,     0,     0,
831       387,     0,     0,   389,     0,     0,     0,     0,     0,     0,        79,   393,     0,     0,   395,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   410,  
        0,   388,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   415,  
        0,     0,     0,     0,     0,     0,     0,     0,   413,     0,  
832         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
833         0,     0,     0,     0,     0,     0,     0,     0,     0,   407,       416,     0,   394,     0,     0,     0,     0,     0,     0,     0,
834         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
835         421,     0,     0,     0,     0,     0,     0,     0,     0,   419,
836         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
837         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
838         0,     0,     0,     0,     0,     0,     0,   383,     0,   404,       413,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      406,     0,     0,   404,     0,     0,     0,     0,     0,     0,  
        0,     0,   407,   409,     0,     0,     0,     0,     0,   403,  
839         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   394,   396,     0,     0,     0,     0,   394,     0,     0,  
        0,     0,     0,   399,     0,   398,   393,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,   408,     0,     0,     0,  
840         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
841         0,     0,     0,     0,   398,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,   389,     0,
842         410,   412,     0,     0,   410,     0,     0,     0,     0,     0,
843           0,     0,     0,   413,   415,     0,     0,     0,     0,     0,
844         409,     0,     0,     0,     0,     0,     0,     0,     0,     0,
845           0,     0,   400,   402,     0,     0,     0,     0,   400,     0,
846           0,     0,     0,     0,   405,     0,   404,   399,     0,     0,
847           0,     0,     0,     0,     0,     0,     0,   414,     0,     0,
848         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
849         0,     0,     0,     0,     0,     0,   402,     0,     0,     0,         0,     0,     0,     0,     0,   404,     0,     0,     0,     0,
850         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
851       405,     0,   401,     0,     0,     0,   400,     0,     0,   395,         0,     0,     0,     0,     0,     0,     0,   408,     0,     0,
852         0,   392,   397,   384         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
853           0,   411,     0,   407,     0,     0,     0,   406,     0,     0,
854         401,     0,   398,   403,   390
855  };  };
856    
857  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
858  static const short yydefgoto[] =  static const short int yydefgoto[] =
859  {  {
860        -1,    12,    13,    14,    15,   388,   395,   334,   376,   355,        -1,    12,    13,    14,    15,   391,   398,   334,   379,   355,
861       358,   369,   530,   648,   630,   364,   515,   519,   774,   776,       358,   372,   533,   651,   633,   364,   518,   522,   779,   781,
862       778,   781,   784,   787,   792,   522,   658,   520,   516,   755,       783,   786,   789,   792,   797,   525,   661,   523,   519,   760,
863       544,   756,   757,   758,   266,   523,   268,   403,   761,   703,       761,   547,   762,   763,   764,   266,   526,   268,   406,   520,
864        43,    44,    16,    17,    18,    19,    20,    21,   786,   518,       706,    43,    44,    16,    17,    18,    19,    20,    21,   791,
865        22,    23,    24,    25,    26,   329,   336,   337,   338,   390,       521,    22,    23,    24,    25,    26,   329,   336,   337,   338,
866       391,   392,   393,   370,   339,   378,   340,   341,   342,   343,       393,   394,   395,   396,   373,   339,   381,   340,   341,   342,
867       344,   345,   533,   346,   380,   347,   348,   349,   350,   351,       343,   344,   345,   536,   346,   383,   347,   348,   349,   350,
868       352,   536,   537,   538,   539,   631,   632,    27,   394,   382,       351,   352,   539,   540,   541,   542,   634,   635,    27,   397,
869        28       385,    28
870  };  };
871    
872  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
873     STATE-NUM.  */     STATE-NUM.  */
874  #define YYPACT_NINF -705  #define YYPACT_NINF -708
875  static const short yypact[] =  static const short int yypact[] =
876  {  {
877        55,  -705,  -705,    12,    25,    33,    80,    31,    39,    82,        30,  -708,  -708,     6,    -1,    31,    49,    -3,    55,    52,
878         1,   101,   109,  -173,  1578,  -705,   -64,   -64,   -64,   -64,        -2,    76,   132,  -113,  1619,  -708,   -77,   -77,   -77,   -77,
879       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,  -705,   182,       -77,   -77,   -77,   -77,   -77,   -77,   -77,   -77,  -708,   143,
880       171,   194,   207,   209,   228,   221,    97,    -1,   252,   234,       155,   158,   163,   187,   206,   201,   127,    41,   210,   199,
881      -705,  -705,  -705,  -705,    47,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,    14,  -708,  -708,  -708,  -708,  -708,
882      -705,   241,   241,   241,   241,   241,   241,   241,   241,   241,      -708,  -708,   268,   268,   268,   268,   268,   268,   268,   268,
883      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,       268,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
884      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
885      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
886      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
887      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
888      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
889      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
890      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
891      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
892      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
893      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
894      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
895      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
896      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
897      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
898      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
899      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
900      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
901      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
902      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
903      -705,  -705,  -705,  -705,  -705,  2243,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  2726,  -708,  -708,  -708,  -708,
904       253,     7,    78,    78,    65,   200,   253,   106,    62,    62,       217,   115,     8,     8,   110,    86,   217,   116,    37,    37,
905      1800,   253,  -705,   256,   238,  -705,   239,   257,   240,   247,      1841,   217,  -708,   220,   203,  -708,   204,   218,   207,   211,
906       260,   261,  -705,   248,   249,  -705,  -705,  -705,  -705,  -705,       223,   224,  -708,   212,   209,  -708,  -708,  -708,  -708,  -708,
907      -705,  -705,  -705,  -705,  -705,  -705,   241,  -705,   241,   241,      -708,  -708,  -708,  -708,  -708,  -708,   268,  -708,   268,   268,
908       241,   241,   241,   241,   241,   241,  -705,  -705,  -705,  -705,       268,   268,   268,   268,   268,   268,  -708,  -708,  -708,  -708,
909      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   263,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,   225,  -708,
910        96,   264,   254,   265,  -705,   -64,  -705,  -705,  -705,   -64,       104,   226,   228,   229,  -708,   -77,  -708,  -708,  -708,   -77,
911      -705,   -64,   -64,   -64,   -64,   -64,  -705,   -64,  -705,   -64,      -708,   -77,   -77,   -77,   -77,   -77,  -708,   -77,  -708,   -77,
912       -64,   -64,   -64,   255,   266,  -705,   -64,   -64,  -705,   -64,       -77,   -77,   -77,   216,   230,  -708,   -77,   -77,  -708,   -77,
913       -64,   259,   269,   280,  -705,  -705,  -705,  -705,   276,  -705,       -77,   122,   232,   234,  -708,  -708,  -708,  -708,  -708,  -708,
914       -64,   -64,   -64,   270,   275,   283,  -705,   -64,   -64,   -64,      -708,   231,  -708,   -77,   -77,   -77,   248,   241,   237,  -708,
915       -64,   -64,   -64,   272,   281,   285,   278,   258,  -705,  -705,       -77,   -77,   -77,   -77,   -77,   -77,   249,   258,   262,   253,
916      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,       259,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
917      -705,  -705,  2243,  1800,  -705,   -64,   279,   282,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  2726,  1841,  -708,   -77,   255,
918      -705,   274,   284,   294,   298,   267,  -705,   301,   299,   304,       214,  -708,  -708,  -708,   274,   277,   296,   297,   275,  -708,
919       305,   302,   306,    61,   303,   303,   303,   303,   303,   303,       300,   294,   302,   303,   298,   309,    36,   306,   306,   306,
920       303,   303,   303,   303,   303,   314,   321,  2243,  2243,   251,       306,   306,   306,   306,   306,   306,   306,   306,   316,   317,
921       251,   322,   307,   326,   308,   -27,  2243,   251,   329,   327,      2726,  2726,   295,   295,   318,   324,   326,   288,    21,  2726,
922       330,    20,   251,   251,   251,   251,  2462,   331,   332,   317,       295,   327,   320,   328,    19,   295,   295,   295,   295,  2947,
923       328,   338,  2243,  -705,   251,   334,   325,   336,  -705,   335,       329,   330,   314,   319,   325,  2726,  -708,   295,   333,   331,
924       339,   337,   344,   350,   351,   347,   353,   354,   -64,   -64,       334,  -708,   323,   336,   337,   339,   346,   348,   344,   350,
925       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,       352,   -77,   -77,   -77,   -77,   -77,   -77,   -77,   -77,   -77,
926       -64,   -64,   -64,   355,   356,  1800,  1800,   241,   241,   241,       -77,   -77,   -77,   -77,   -77,   -77,   353,   354,  1841,  1841,
927       241,   241,   241,   241,   241,   241,  -705,  -705,   357,   358,       268,   268,   268,   268,   268,   268,   268,   268,   268,  -708,
928       359,   349,   333,  1800,  1800,  -705,   -64,  -705,   -64,  -705,      -708,   355,   351,   357,   347,  1841,  1841,   356,  -708,   -77,
929       -64,  2243,  -705,  -705,   361,   352,   362,   360,   364,   363,      -708,   -77,  -708,   -77,  2726,  -708,  -708,   359,   361,   360,
930      -705,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,       349,   363,   362,  -708,   -77,   -77,   -77,   -77,   -77,   -77,
931       -64,   -64,   -64,   -64,  -705,  2243,  -705,   368,   365,   373,       -77,   -77,   -77,   -77,   -77,   -77,   -77,  -708,  2726,  -708,
932       374,   379,  -705,  -705,   366,  -705,  -705,   375,   380,   371,       338,   364,   342,   369,   375,  -708,  -708,   358,  -708,  -708,
933       372,   376,   378,   381,   318,   251,    21,   251,   251,  2243,       371,   378,   368,   370,   372,   373,   374,   315,   295,    62,
934       251,  2243,  2243,   251,   251,   251,   251,  2243,  2243,   251,       295,   295,  2726,   295,  2726,  2726,   295,   295,   295,   295,
935       382,   324,  2243,  2243,   383,   385,   340,   384,   386,  1134,      2726,  2726,   295,   376,   321,  2726,  2726,   379,   381,   332,
936      1356,   251,   -44,   251,   388,  -705,   341,   389,   390,   377,       380,  1175,  1397,   382,   295,   179,   295,   384,  -708,   340,
937       251,   251,   251,   251,   251,   251,   251,   251,   251,  2243,       385,   386,   388,   295,   295,   295,   295,   295,   295,   295,
938       251,  2243,   251,   396,  -705,   399,   404,   401,  -705,   405,       295,   295,  2726,   295,  2726,   295,   392,  -708,   396,   401,
939       392,   406,   342,   414,   411,   412,   409,  -705,   394,   415,       399,  -708,   391,   387,   402,   341,   405,   408,   409,   406,
940       -64,  -705,  -705,  -705,  -705,  -705,  -705,  1800,  2243,   -64,      -708,   393,   411,   -77,  -708,  -708,  -708,  -708,  -708,  -708,
941       -64,   -64,  -705,  1800,  2243,   -64,   367,   417,   -64,  2681,      1841,  2726,   -77,   -77,   -77,  -708,  1841,  2726,   -77,   365,
942       -64,   369,   422,   419,   408,   370,  -705,  -705,   -64,  -705,       410,   -77,  3168,   -77,   366,   412,   417,   389,  -708,  -708,
943       -64,  -705,   393,   421,   423,   424,   410,   -64,   -64,   -64,       367,   -77,  -708,   -77,  -708,   397,   418,   419,   420,   413,
944       -64,   -64,   -64,   -64,   -64,   -64,  2900,   -64,  3119,   -64,       -77,   -77,   -77,   -77,   -77,   -77,   -77,   -77,   -77,  3389,
945       416,   425,   427,   397,   430,   429,   431,   432,   434,   433,       -77,  3610,   -77,   414,   421,   407,   398,   425,   422,   423,
946      -705,   435,   426,   448,   251,  2243,   251,   251,   251,  2243,       424,   438,   429,  -708,   428,   426,   427,   295,  2726,   295,
947       251,   464,   466,  2243,  2022,   467,   436,   469,   468,   471,       295,   295,  2726,   295,   432,   430,  2726,  2063,   448,   431,
948       251,   251,   472,   475,   476,   444,   489,   251,   251,  2243,       450,   454,   466,   295,   295,   465,   467,   469,   416,   472,
949       251,   251,   225,  2243,   251,   201,  2022,  2243,  2022,  2243,       295,   295,  2726,   295,   295,   257,  2726,   295,   202,  2063,
950       445,   506,   447,   441,  -705,   518,  -705,   500,   510,   504,      2726,  2063,  2726,   452,   477,   453,   488,  -708,   490,  -708,
951       508,   521,   524,  -705,  1800,   -64,  -705,   -64,  1800,  -705,       473,   481,   476,   480,   492,   495,  -708,  1841,   -77,  -708,
952       507,   513,  3338,   241,   241,  -705,  2243,  -705,   105,   -34,       -77,  1841,  -708,   478,   484,  3831,  2726,  2726,   268,   268,
953      -705,  -705,   509,   504,   515,   527,   519,  -705,   -64,   512,       540,  -708,  2726,  -708,    89,    11,  -708,   505,   476,   511,
954       520,   463,   528,   533,  -705,  -705,   -64,  -705,  -705,  2243,       523,   514,  -708,   -77,   509,   515,   461,   524,   529,  -708,
955      -705,  -705,  -705,   529,  -705,  -705,  -705,  -705,  2243,   -64,      -708,   -77,  -708,  -708,  2726,  -708,  -708,  -708,   525,  -708,
956       241,   241,  -705,  -705,  -705,  -705,  3557,  -705,  3776,   534,      -708,  -708,  -708,  2726,   -77,   268,   268,  -708,  -708,  -708,
957       545,   544,   535,   546,   532,   548,  -705,   536,   530,   549,       540,  4052,   540,  4273,   530,   534,   535,   526,   541,   520,
958      2243,  2243,  2243,  2243,   538,   542,  2022,   142,   172,   241,       542,  -708,   528,   531,   546,  2726,  2726,  2726,  2726,   532,
959       539,   543,   541,   552,   251,   547,   550,   551,   554,  -705,       533,  2063,  2284,  2505,   109,   176,  2063,   268,   536,   543,
960       251,   553,   251,  2022,  2022,   560,   556,   557,   555,  -705,       539,   551,   295,   537,   544,   547,   549,  -708,   295,   554,
961       558,   501,   562,  -705,   561,   -64,  2243,  2243,   -64,   564,       295,  2063,  2063,   552,   555,   553,   550,  -708,   556,   499,
962       563,  -705,   241,   241,   241,   568,   565,   567,   576,  -705,       557,  -708,   559,   -77,  2726,  2726,   -77,   558,   560,   540,
963       572,   569,   570,   574,  -705,  -705,   -64,  -705,  -705,   566,      -708,  -708,   268,   268,  -708,   268,   562,   563,   564,   574,
964       587,   573,   579,   575,   176,   523,   577,   578,   526,   241,      -708,   566,   565,   567,   570,  -708,  -708,   -77,   540,   540,
965       241,   580,   531,  -705,   588,   583,   559,   585,   586,   225,       575,   571,   568,   576,   572,   177,   521,   577,   573,   527,
966       594,   593,   596,   598,   599,   595,   600,   611,    90,   620,       268,   268,   578,   545,  -708,   579,   580,   548,   582,   583,
967       602,   619,   604,   621,  -705,   606,   104,   612,   607,  -705,       257,   584,   588,   591,   586,   592,   587,   600,   608,   106,
968      -705,   608,   613,  -705,   581,   630,   628,   632,    64,   622,       617,   601,   616,   602,   619,  -708,   604,   126,   609,   606,
969       631,   582,   643,   584,   645,   589,   647,   640,   636,   591,      -708,  -708,   610,   607,  -708,   561,   625,   626,   630,     0,
970       639,  -705,   128,   650,   651,   655,   646,   661,   653,   667,       620,   629,   581,   641,   585,   643,   589,   645,   636,   632,
971       670,   654,   671,   656,   181,   657,   663,   662,    41,  -705,       590,   635,  -708,   183,   646,   648,   649,   637,   653,   650,
972       675,    72,   669,   674,   624,   676,   678,   672,  -705,   697,       658,   660,   652,   666,   654,   185,   656,   657,   651,    59,
973       694,   699,   696,   698,   702,   701,   688,   641,   703,   700,      -708,   664,    47,   667,   665,   612,   672,   662,   668,  -708,
974       687,   713,   706,   709,   649,   718,   715,   722,   724,   658,       680,   683,   691,   693,   692,   698,   695,   685,   638,   700,
975       710,   730,   712,   732,   735,   716,   734,   658,    14,   738,       696,   681,   709,   690,   704,   655,   711,   710,   717,   718,
976       723,   726,   731,   737,   725,   736,   739,   740,   748,   741,       659,   702,   719,   703,   724,   730,   713,   729,   659,    40,
977       744,   756,   752,   757,   762,   754,   760,   765,   763,   747,       732,   720,   721,   722,   733,   723,   726,   725,   735,   734,
978       759,   755,   769,   764,   773,   772,   758,  -705,   766,   761,       728,   727,   738,   745,   742,   747,   739,   748,   749,   750,
979       711,   783,   785,  -705,   790,   761,   780,   792,   728,   795,       737,   746,   743,   754,   755,   765,   766,   756,  -708,   759,
980       781,   784,  -705,  -705,   799,   803,   791,   793,   789,  -705,       751,   705,   777,   776,  -708,   778,   751,   768,   780,   714,
981       796,   798,   806,   809,   812,   813,   805,   808,   818,   819,       779,   770,   774,  -708,  -708,   784,   785,   775,   764,   781,
982       816,   810,   767,   814,   811,   831,   832,  -705,   810,   822,      -708,   782,   787,   794,   798,   808,   809,   799,   802,   812,
983       768,   834,   823,  -705,   824,   770,  -705,   825,   826,   771,       813,   807,   801,   752,   805,   804,   821,   824,  -708,   801,
984       827,   833,   770,   828,   836,   845,  -705,   835,   854,   837,       815,   757,   828,   820,  -708,   825,   767,  -708,   823,   819,
985       852,   858,   855,   860,   861,   851,   863,   847,   794,   849,       771,   818,   830,   767,   829,   831,   841,  -708,   832,   846,
986       856,   848,   853,   857,  -705,   862,   871,   869,   865,   874,       833,   847,   851,   849,   854,   855,   845,   857,   844,   788,
987       876,   875,   877,   884,   873,   872,   870,   867,   881,   878,       850,   852,   843,   853,   856,  -708,   860,   863,   866,   858,
988       880,   888,   889,   893,   900,   901,  -705,   902,   903,   905,       867,   868,   873,   870,   878,   869,   862,   859,   864,   865,
989       891,   890,   895,   896,   898,   904,   899,   911,   915,   906,       872,   871,   875,   881,   883,   888,   889,  -708,   892,   893,
990      -705,   916,  -705,   918,   908,   909,  -705,   910,   912,  -705,       894,   882,   886,   885,   887,   884,   891,   890,   906,   907,
991       913,  -705,  -705,  -705       895,  -708,   908,  -708,   910,   898,   899,  -708,   900,   901,
992        -708,   902,  -708,  -708,  -708
993  };  };
994    
995  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
996  static const short yypgoto[] =  static const short int yypgoto[] =
997  {  {
998      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
999      -705,  -705,  -705,  -582,  -705,  -705,  -705,  -705,  -497,  -427,      -708,  -708,  -708,  -584,  -708,  -708,  -708,  -708,  -562,   102,
1000      -705,   114,    52,  -705,  -705,  -462,   199,   387,   391,  -704,      -708,   103,    42,  -708,  -708,  -452,   236,   383,   377,  -707,
1001      -705,   323,   223,    13,   -10,   -14,   277,  -293,  -419,   -11,       118,  -708,   335,   233,    34,   -10,   -14,   322,  -291,  -708,
1002       907,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,       -13,   904,  -708,  -708,  -708,  -708,  -708,  -708,  -708,  -708,
1003      -705,  -705,  -705,  -705,  -705,   -52,  -705,  -705,   -74,  -262,      -708,  -708,  -708,  -708,  -708,  -708,   -48,   671,   677,   -74,
1004      -249,  -248,  -247,  -705,   677,  -705,   680,  -254,  -705,  -705,      -258,  -245,  -244,  -243,  -708,   678,  -708,   682,  -255,  -708,
1005       673,   511,  -705,  -705,  -705,   681,   683,  -252,  -705,  -705,      -708,   669,   498,  -708,   684,  -708,   687,   686,  -253,  -708,
1006       514,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   682,  -705,      -708,   500,  -708,  -708,  -708,  -708,  -708,  -708,  -708,   688,
1007      -705      -708,  -708
1008  };  };
1009    
1010  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1011     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1012     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1013     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1014  #define YYTABLE_NINF -132  #define YYTABLE_NINF -138
1015  static const short yytable[] =  static const short int yytable[] =
1016  {  {
1017       267,   650,   552,   269,   512,   270,   271,   272,   273,   274,       267,   269,   653,   270,   271,   272,   273,   274,   275,   276,
1018       275,   276,   277,   278,   279,   280,   281,   397,   356,   359,       277,   278,   279,   280,   281,   555,  -137,   356,   359,   357,
1019       357,   360,   795,    37,   797,   330,   517,   331,   291,   332,       360,   400,   800,    37,   802,   947,    33,   515,   516,   353,
1020       398,   399,   400,    29,  1008,   959,   292,   333,   527,    38,        29,     1,    34,     2,   401,   402,   403,    30,   948,    38,
1021       628,   307,   307,   307,   307,   307,   307,   307,   307,   307,       530,   354,   307,   307,   307,   307,   307,   307,   307,   307,
1022       528,  1009,    41,    42,   629,    31,     1,    33,     2,   529,       307,     3,   531,     4,     5,   517,    31,     6,   386,   386,
1023        30,   968,   922,    34,   306,   308,   309,   310,   311,   312,       362,   532,     7,  1019,   970,   387,   387,     8,     9,    10,
1024       313,   314,   315,     3,   969,     4,     5,    35,   970,     6,       388,    11,   983,   291,    32,   389,   389,    36,   390,   390,
1025       383,   383,   362,   361,     7,   362,   936,   384,   384,     8,      1020,   292,   979,   933,   631,   984,   306,   308,   309,   310,
1026         9,    10,   385,    11,   972,   363,   353,   386,   386,   937,       311,   312,   313,   314,   315,   980,    35,   827,   632,   981,
      387,   387,    32,   627,    36,   633,   634,   973,   354,    40,  
      819,   918,   851,   296,   297,   298,   299,   300,   301,   302,  
      303,   304,   305,   919,   373,   926,   328,   289,   374,   867,  
      868,   661,    39,   290,   418,   419,   375,   927,   667,   668,  
      669,   670,   671,   672,   673,   674,   675,   852,   950,   951,  
1027       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
1028       264,   478,   482,   483,   484,   485,   486,   487,   488,   489,        39,   332,    41,    42,   859,   371,   630,   862,   636,   637,
      490,   491,   492,   517,   479,   480,   481,   853,   513,   514,  
1029       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
1030      -131,  -131,  -131,   283,   895,   513,   514,   531,   896,   534,       929,   361,    40,   362,   878,   879,   330,   376,   331,   328,
1031       365,   963,   964,   282,   389,   396,   897,   790,   791,   296,       332,   377,   930,   363,   664,   421,   422,   264,   333,   378,
1032       497,   498,   499,   500,   501,   502,   503,   504,   505,   335,       937,   670,   671,   672,   673,   674,   675,   676,   677,   678,
1033       589,   590,   332,   780,   372,   377,   368,   789,   845,   405,       289,   785,   938,   444,   422,   794,   290,   282,   481,   485,
1034       284,   848,   743,   296,   497,   498,   499,   500,   501,   502,       486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
1035       503,   504,   505,   783,   285,   286,   287,   288,   767,   296,       283,   482,   483,   484,   863,   515,   516,   296,   297,   298,
1036       297,   298,   299,   300,   301,   302,   303,   304,   305,   296,       299,   300,   301,   302,   303,   304,   305,   284,   906,   534,
1037       497,   498,   499,   500,   501,   502,   503,   504,   505,   404,       367,   537,   907,   285,   392,   399,   961,   962,   974,   975,
1038       294,   293,    41,   328,   406,   407,   408,   410,   409,   411,       908,   795,   796,   296,   500,   501,   502,   503,   504,   505,
1039        -4,    -4,   412,   413,   414,   421,   471,   415,   417,   420,       506,   507,   508,   335,   591,   592,   286,   287,   375,   380,
1040       461,   422,   436,   435,   442,   449,   416,   441,   416,   416,       288,   853,   293,   408,   856,  -137,  -137,  -137,   294,    41,
1041       416,   416,   416,   416,   416,   416,   443,   444,   448,   450,       328,   409,   412,   410,   411,   746,   414,   413,   415,   416,
1042       457,   459,   458,   467,   469,   460,   465,   466,   470,   472,       418,   417,   469,   420,   423,    -4,    -4,   438,   425,   439,
1043       473,   468,   474,   475,   423,   509,   476,   477,   424,   384,       445,   772,   424,   446,   452,   447,   453,   407,   296,   500,
1044       425,   426,   427,   428,   429,   493,   430,   265,   431,   432,       501,   502,   503,   504,   505,   506,   507,   508,   788,   296,
1045       433,   434,   494,   508,   511,   437,   438,   510,   439,   440,       297,   298,   299,   300,   301,   302,   303,   304,   305,   451,
1046       524,   526,   525,   549,   547,   548,   553,   554,   555,   445,       460,   462,   461,   463,   464,   468,   419,   474,   419,   419,
1047       446,   447,   859,   550,   551,   588,   451,   452,   453,   454,       419,   419,   419,   419,   419,   419,   296,   500,   501,   502,
1048       455,   456,   556,   558,   557,   559,   560,   561,   562,   563,       503,   504,   505,   506,   507,   508,   470,   471,   476,   472,
1049       564,   580,   581,   584,   595,   586,   587,   594,   596,   585,       473,   475,   426,   477,   478,   479,   427,   514,   428,   429,
1050       598,   613,   463,   615,   464,   599,   616,   614,   597,   617,       430,   431,   432,   480,   433,   387,   434,   435,   436,   437,
1051       620,   619,   621,   864,   622,   623,   666,   626,   618,   624,       496,   497,   511,   440,   441,   512,   442,   443,   528,   265,
1052       664,   665,   625,   647,   646,   651,   652,   655,   680,   654,       513,   527,   529,   552,   554,   550,   551,   553,   556,   558,
1053       662,   681,   682,   683,   684,   506,   507,   685,   686,   653,       448,   449,   450,   559,   616,   618,   557,   454,   455,   456,
1054       663,   687,   688,   689,   690,   691,   692,   693,   540,   541,       457,   458,   459,   562,   560,   563,   561,   564,   565,   566,
1055       542,   543,   546,   702,   706,   707,   708,   713,   716,   714,       870,   567,   583,   584,   587,   588,   589,   590,   597,   599,
1056       715,   730,   734,   738,   731,   735,   701,   732,   705,   709,       600,   593,   601,   466,   619,   467,   598,   602,   620,   617,
1057       736,   802,   739,   741,   737,   763,   740,   565,   566,   567,       622,   623,   624,   621,   626,   625,   629,   627,   628,   667,
1058       568,   569,   570,   571,   572,   573,   574,   575,   576,   577,       668,   649,   650,   687,   654,   655,   660,   683,   657,   665,
1059       578,   579,   712,   742,   582,   583,   733,   307,   307,   307,       669,   684,   685,   656,   686,   688,   691,   689,   509,   510,
1060       307,   307,   307,   307,   307,   307,   750,   751,   765,   762,       711,   666,   690,   692,   693,   694,   696,   709,   695,   705,
1061       764,   766,   404,   404,   769,   591,   770,   592,   771,   593,       735,   543,   544,   545,   546,   549,   710,   716,   717,   718,
1062       306,   308,   309,   310,   311,   312,   313,   314,   315,   773,       737,   738,   733,   734,   719,   739,   704,   708,   712,   740,
1063       600,   601,   602,   603,   604,   605,   606,   607,   608,   609,       741,   742,   743,   768,   754,   745,   744,   753,   568,   569,
1064       610,   611,   612,   772,   799,   800,   801,   803,   804,   805,       570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
1065       806,   807,   327,   808,   809,   814,   815,   820,   821,   822,       580,   581,   582,   767,   769,   585,   586,   770,   715,   736,
1066       825,   823,   827,   826,   828,   829,   636,   835,   831,   639,       307,   307,   307,   307,   307,   307,   307,   307,   307,   771,
1067       640,   641,   642,   836,   837,   645,   843,   838,   839,   840,       774,   775,   407,   407,   776,   778,   594,   777,   595,   805,
1068       841,   844,   857,   858,   842,   849,   855,   659,   463,   463,       596,   807,   808,   810,   809,   811,   812,   813,   814,   819,
1069       850,   856,   865,   862,   860,   863,   869,   870,   861,   871,       820,   603,   604,   605,   606,   607,   608,   609,   610,   611,
1070       874,   873,   876,   872,   884,   890,   677,   877,   679,   875,       612,   613,   614,   615,   306,   308,   309,   310,   311,   312,
1071       878,   881,   882,   402,   883,   885,   886,   888,   887,   891,       313,   314,   315,   804,   806,   826,   828,   829,   830,   831,
1072       893,   892,   898,   894,   899,   901,   900,   904,   902,   694,       833,   834,   835,   836,   837,   844,   843,   839,   845,   639,
1073       903,   905,   907,   910,   908,   911,   695,   912,   696,   697,       848,   846,   642,   643,   644,   645,   847,   849,   648,   850,
1074       698,   916,   699,   915,   700,   913,   914,   917,   920,   921,       851,   852,   857,   868,   858,   869,   866,   871,   466,   466,
1075       922,   923,   924,   925,   929,   928,   930,   710,   906,   711,       662,   880,   873,   874,   867,   872,   876,   327,   882,   881,
1076       931,   933,   934,   935,   938,   939,   717,   718,   719,   720,       885,   883,   884,   887,   888,   895,   902,   886,   892,   680,
1077       721,   722,   723,   724,   725,   941,   727,   943,   729,   945,       889,   682,   896,   893,   894,   897,   899,   901,   898,   903,
1078       932,   940,   946,   942,   947,   949,   952,   953,   944,   327,       904,   915,   909,   905,   911,   405,   921,   910,   912,   913,
1079       948,   954,   745,   746,   747,   955,   749,   956,   957,   958,       697,   916,   918,   922,   919,   923,   924,   698,   926,   699,
1080       760,   959,   961,   960,   759,   962,   965,   659,   966,   967,       700,   701,   925,   702,   927,   703,   914,   928,   931,   917,
1081       971,   974,   977,   775,   777,   975,   775,   782,   785,   979,       933,   932,   934,   935,   936,   939,   940,   942,   713,   944,
1082       775,   794,   760,   976,   760,   759,   759,   978,   759,   980,       714,   941,   943,   945,   946,   949,   950,   720,   721,   722,
1083       981,   982,   983,   984,   985,   987,   462,   986,   989,   991,       723,   724,   725,   726,   727,   728,   952,   730,   954,   732,
1084       988,   992,   990,   810,   811,   994,   812,   813,   995,   327,       956,   957,   951,   958,   960,   963,   953,   964,   965,   966,
1085       996,   997,   998,   307,   307,   993,   999,  1000,   416,  1001,       955,   959,   967,   969,   970,   748,   749,   750,   968,   752,
1086      1002,  1003,  1004,  1005,  1007,  1006,  1010,   824,  1011,  1012,       972,   978,   982,   766,   971,   977,   973,   765,   976,   986,
1087       495,   496,  1013,  1014,  1015,   830,   817,   818,  1016,   521,       662,   988,   985,   987,   989,   991,   780,   782,   990,   780,
1088      1019,  1018,   327,   327,  1023,  1017,  1020,  1021,   832,   545,       787,   790,   992,   780,   799,   766,   993,   766,   765,   765,
1089       307,   307,  1022,  1024,  1025,  1026,  1027,  1028,  1029,  1030,       995,   765,   994,   996,   997,   998,  1002,   327,  1000,   999,
1090      1031,  1033,  1032,  1035,  1036,  1034,  1037,  1039,   327,  1038,      1003,  1001,  1004,  1005,   815,   816,  1007,   817,   818,  1008,
1091      1040,  1041,   760,   817,   818,  1042,   759,   416,   416,   307,      1009,   465,  1013,  1010,  1012,  1014,  1006,  1015,   307,   307,
1092      1043,  1044,  1045,  1047,  1048,  1049,   777,  1046,   782,   760,      1011,  1016,  1018,  1021,   419,  1017,  1024,  1023,  1022,  1030,
1093       760,  1050,   327,   759,   759,  1051,  1052,  1054,  1057,  1055,       832,  1027,  1025,  1032,  1028,  1026,  1031,  1033,   838,  1029,
1094      1053,  1058,   854,  1056,  1059,  1060,   402,   402,  1061,  1062,      1034,  1035,  1036,  1037,  1039,   498,   499,  1038,  1040,  1044,
1095      1063,  1064,   307,   307,   416,  1065,  1066,  1068,  1069,  1070,      1042,   840,  1041,  1043,   524,   307,   307,   327,  1046,  1045,
1096      1071,  1072,  1074,  1076,  1075,   889,  1067,  1073,  1078,  1077,      1050,  1047,   824,   825,   548,  1049,  1051,  1048,  1052,  1053,
1097      1080,  1083,  1081,  1082,  1079,   879,   880,  1085,  1086,   416,      1058,  1054,  1055,  1056,  1064,  1057,  1059,   766,  1060,  1061,
1098       416,  1084,  1087,  1089,  1088,   785,  1090,  1091,  1092,  1093,      1062,   765,   766,  1063,   419,   419,   765,   307,  1066,  1068,
1099      1094,  1095,  1096,  1097,  1098,  1100,  1099,  1102,  1101,  1104,       327,   327,  1065,  1069,   782,  1067,   787,   766,   766,   824,
1100      1105,  1106,   521,  1109,   637,   638,  1107,  1103,  1108,  1110,       825,   765,   765,  1070,  1071,  1072,  1073,  1074,  1075,  1076,
1101       643,   644,  1111,  1112,  1115,   649,   649,  1113,  1117,  1114,      1077,  1079,  1081,  1078,  1080,  1082,   327,  1083,  1084,  1085,
1102       768,  1120,   462,   462,   327,   327,  1116,  1118,  1119,  1121,       405,   405,   307,   307,  1086,   419,  1092,  1087,  1088,  1089,
1103       327,   327,  1122,  1123,  1124,  1125,   327,  1126,  1127,  1128,      1090,   865,  1091,  1093,   900,  1094,  1096,  1098,  1097,  1095,
1104      1129,  1130,   676,  1134,   678,  1131,  1133,  1135,  1137,  1132,       327,  1100,  1101,  1099,  1102,  1103,  1104,  1105,  1106,  1108,
1105      1138,   909,  1136,  1139,  1140,  1141,   866,  1142,   793,  1143,       419,   419,  1107,  1111,  1115,  1110,   790,  1117,  1109,  1113,
1106       379,   295,   371,   327,   366,   327,   635,   367,   381,     0,      1116,  1112,  1118,  1119,  1120,  1121,   890,   891,  1114,  1122,
1107         0,   401,   532,     0,     0,   535,     0,     0,     0,     0,      1124,  1125,  1123,  1127,  1126,  1128,  1131,   524,  1130,   640,
1108         641,  1129,  1132,  1133,  1134,   646,   647,  1135,  1136,  1137,
1109         652,   652,  1138,  1140,  1142,  1141,   465,   465,  1139,  1143,
1110        1144,  1145,  1146,  1148,  1147,  1149,  1150,  1151,  1152,  1153,
1111         875,  1154,   920,   877,   864,   365,   382,   679,   295,   681,
1112         773,   366,   535,   374,   538,   638,   368,     0,   369,     0,
1113         370,   798,   327,   327,   384,     0,     0,   404,   327,   327,
1114           0,     0,   663,     0,   327,     0,     0,     0,     0,     0,
1115           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1116         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1117         0,     0,     0,   660,     0,     0,     0,     0,     0,     0,         0,   327,     0,   327,     0,     0,     0,     0,     0,     0,
1118         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1119         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1120         0,     0,     0,     0,     0,     0,     0,     0,   744,     0,         0,     0,     0,   747,     0,     0,     0,   751,     0,     0,
1121         0,   327,   748,     0,     0,   327,   752,     0,     0,   327,         0,   755,     0,     0,     0,     0,     0,     0,     0,     0,
1122         0,     0,     0,   327,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,   784,     0,     0,
1123         0,     0,   779,     0,     0,     0,   788,     0,     0,     0,         0,   793,     0,     0,     0,   801,     0,   803,     0,   327,
1124       796,     0,   798,     0,     0,     0,   327,     0,     0,     0,         0,     0,     0,   327,     0,     0,     0,   327,     0,     0,
1125           0,     0,     0,     0,   327,     0,     0,     0,     0,     0,
1126           0,   822,   823,     0,     0,     0,     0,     0,     0,     0,
1127           0,     0,     0,     0,     0,     0,   327,     0,     0,     0,
1128         0,     0,     0,     0,     0,   327,     0,     0,     0,     0,         0,     0,     0,     0,     0,   327,     0,     0,     0,     0,
1129         0,     0,     0,   327,     0,   327,     0,     0,     0,     0,         0,     0,     0,   327,     0,   327,     0,     0,     0,     0,
1130         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1131           0,     0,     0,     0,   327,   327,     0,     0,     0,     0,
1132         652,   854,   855,   652,     0,     0,     0,     0,     0,     0,
1133         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1134         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,   327,   327,   316,    46,
1135         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,        47,   658,     0,    48,    49,    50,   317,   318,   319,   320,
1136         0,     0,     0,   327,   327,     0,     0,     0,     0,     0,       321,   322,   323,   324,   325,   326,    61,    62,    63,    64,
1137         0,     0,     0,   649,   846,   847,   649,   316,    46,    47,        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1138        48,    49,   317,   318,   319,   320,   321,   322,   323,   324,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1139       325,   326,    60,    61,    62,    63,    64,    65,    66,    67,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1140        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1141        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1142        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1143        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1144       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1145       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1146       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1147       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1148       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1149       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1150       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1151       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1152       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1153       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1154       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1155       218,   219,   220,   221,   222,   223,   224,   225,   226,   227,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1156       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1157       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       316,    46,    47,     0,   659,    48,    49,    50,   317,   318,
1158       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,
1159       258,   259,   260,   261,   262,   263,   656,     0,   264,   316,        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1160        46,    47,    48,    49,   317,   318,   319,   320,   321,   322,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1161       323,   324,   325,   326,    60,    61,    62,    63,    64,    65,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1162          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1163         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1164         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1165         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1166         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1167         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1168         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1169         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1170         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1171         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1172         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1173         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1174         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1175         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1176         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1177         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1178         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1179         263,   264,    45,    46,    47,     0,     0,    48,    49,    50,
1180          51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1181          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1182          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1183          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1184          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1185         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1186         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1187         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1188         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1189         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1190         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1191         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1192         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1193         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1194         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1195         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1196         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1197         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1198         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1199         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1200         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1201         261,   262,   263,   264,   316,    46,    47,     0,     0,    48,
1202          49,    50,   317,   318,   319,   320,   321,   322,   323,   324,
1203         325,   326,    61,    62,    63,    64,    65,    66,    67,    68,
1204          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1205          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1206          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1207          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1208         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1209         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1210         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1211         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1212         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1213         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1214         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1215         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1216         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1217         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1218         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1219         219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1220         229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1221         239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1222         249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1223         259,   260,   261,   262,   263,   264,   316,    46,    47,   756,
1224         757,    48,   758,   759,    51,    52,    53,    54,    55,    56,
1225          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1226          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1227          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1228          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1229          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1230         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1231         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1232         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1233         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1234         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1235         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1236         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1237         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1238         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1239         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1240         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1241         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1242         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1243         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1244         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1245         257,   258,   259,   260,   261,   262,   263,   316,    46,    47,
1246         860,     0,    48,    49,    50,   317,   318,   319,   320,   321,
1247         322,   323,   324,   325,   326,    61,    62,    63,    64,    65,
1248        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1249        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1250        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
# Line 1156  static const short yytable[] = Line 1264  static const short yytable[] =
1264       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1265       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1266       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1267       256,   257,   258,   259,   260,   261,   262,   263,     0,   657,       256,   257,   258,   259,   260,   261,   262,   263,   316,    46,
1268       264,    45,    46,    47,    48,    49,    50,    51,    52,    53,        47,     0,   861,    48,    49,    50,   317,   318,   319,   320,
1269        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,       321,   322,   323,   324,   325,   326,    61,    62,    63,    64,
1270          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1271          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1272          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1273          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1274         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1275         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1276         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1277         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1278         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1279         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1280         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1281         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1282         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1283         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1284         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1285         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1286         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1287         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1288         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1289         255,   256,   257,   258,   259,   260,   261,   262,   263,   316,
1290          46,    47,     0,     0,    48,    49,    50,   317,   318,   319,
1291         320,   321,   322,   323,   324,   325,   326,    61,    62,    63,
1292        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1293        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1294        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1179  static const short yytable[] = Line 1309  static const short yytable[] =
1309       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1310       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1311       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1312         0,     0,   264,   316,    46,    47,    48,    49,   317,   318,       316,    46,    47,     0,     0,    48,    49,    50,    51,    52,
1313       319,   320,   321,   322,   323,   324,   325,   326,    60,    61,        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1314          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1315          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1316          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1317          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1318         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1319         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1320         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1321         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1322         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1323         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1324         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1325         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1326         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1327         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1328         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1329         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1330         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1331         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1332         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1333         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1334         263,   316,   707,    47,     0,     0,    48,    49,    50,   317,
1335         318,   319,   320,   321,   322,   323,   324,   325,   326,    61,
1336        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1337        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1338        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
# Line 1201  static const short yytable[] = Line 1353  static const short yytable[] =
1353       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1354       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1355       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1356       262,   263,     0,     0,   264,   316,    46,    47,   753,   754,       262,   263,   316,   729,    47,     0,     0,    48,    49,    50,
1357        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1358        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1359          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1360          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1361          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1362         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1363         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1364         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1365         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1366         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1367         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1368         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1369         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1370         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1371         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1372         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1373         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1374         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1375         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1376         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1377         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1378         261,   262,   263,   316,   731,    47,     0,     0,    48,    49,
1379          50,   317,   318,   319,   320,   321,   322,   323,   324,   325,
1380         326,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1381        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1382        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1383        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
# Line 1223  static const short yytable[] = Line 1397  static const short yytable[] =
1397       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1398       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1399       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1400       260,   261,   262,   263,   513,   514,   316,    46,    47,    48,       260,   261,   262,   263,   316,   821,    47,     0,     0,    48,
1401        49,   317,   318,   319,   320,   321,   322,   323,   324,   325,        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,
1402       326,    60,    61,    62,    63,    64,    65,    66,    67,    68,       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,
1403        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1404        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1405        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1245  static const short yytable[] = Line 1419  static const short yytable[] =
1419       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1420       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1421       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1422       259,   260,   261,   262,   263,   316,    46,    47,    48,    49,       259,   260,   261,   262,   263,   316,   841,    47,     0,     0,
1423        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        48,    49,    50,   317,   318,   319,   320,   321,   322,   323,
1424        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,       324,   325,   326,    61,    62,    63,    64,    65,    66,    67,
1425        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1426        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1427        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1428       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1429       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1430       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1431       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1432       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1433       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1434       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1435       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1436       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1437       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1438       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1439       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1440       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,       218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1441       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1442       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1443       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1444       260,   261,   262,   263,   316,   704,    47,    48,    49,   317,       258,   259,   260,   261,   262,   263,   316,   842,    47,     0,
1445       318,   319,   320,   321,   322,   323,   324,   325,   326,    60,         0,    48,    49,    50,   317,   318,   319,   320,   321,   322,
1446        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,
1447        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1448        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1449        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1450       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1451       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1452       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1453       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1454       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1455       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1456       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1457       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1458       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1459       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1460       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1461       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1462       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,       217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1463       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1464       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1465       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1466       261,   262,   263,   316,   726,    47,    48,    49,   317,   318,       257,   258,   259,   260,   261,   262,   263
1467       319,   320,   321,   322,   323,   324,   325,   326,    60,    61,  };
1468        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
1469        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  static const short int yycheck[] =
1470        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,  {
1471        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        14,    14,   586,    16,    17,    18,    19,    20,    21,    22,
1472       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,        23,    24,    25,    26,    27,   467,     5,   272,   273,   272,
1473       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,       273,   279,   729,    25,   731,    25,    29,     6,     7,    21,
1474       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,        24,     1,    35,     3,   279,   279,   279,    38,    38,    41,
1475       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,        21,    33,    52,    53,    54,    55,    56,    57,    58,    59,
1476       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,        60,    21,    33,    23,    24,    34,    25,    27,    22,    22,
1477       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,        23,    42,    32,    23,    24,    29,    29,    37,    38,    39,
1478       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,        33,    41,    25,    32,    25,    39,    39,    25,    42,    42,
1479       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,        40,    40,    23,    24,    22,    38,    52,    53,    54,    55,
1480       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,        56,    57,    58,    59,    60,    36,    41,     8,    36,    40,
1481       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1482       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,        34,    25,   225,   226,   821,    29,   568,     8,   570,   571,
1483       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1484       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,        24,    21,     0,    23,   841,   842,    21,    21,    23,    23,
1485       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,        25,    25,    36,    33,   596,    41,    42,   224,    33,    33,
1486       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,        24,   603,   604,   605,   606,   607,   608,   609,   610,   611,
1487       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,        33,   723,    36,    41,    42,   727,    39,    24,   426,   427,
1488       262,   263,   316,   728,    47,    48,    49,   317,   318,   319,       428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
1489       320,   321,   322,   323,   324,   325,   326,    60,    61,    62,        25,   426,   426,   426,     8,     6,     7,    11,    12,    13,
1490        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        14,    15,    16,    17,    18,    19,    20,    39,    21,   454,
1491        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,       274,   454,    25,    40,   278,   279,    23,    24,    23,    24,
1492        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        33,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1493        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        18,    19,    20,   271,   515,   516,    39,    21,   276,   277,
1494       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,        29,   815,    22,   281,   818,   224,   225,   226,    39,   225,
1495       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,        23,    21,    24,    40,    40,   697,    35,    40,    25,    25,
1496       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,        41,    39,    38,    28,    28,   225,   226,    41,    29,    29,
1497       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,        28,   713,    34,    29,    23,    34,    29,   280,    11,    12,
1498       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,        13,    14,    15,    16,    17,    18,    19,    20,    21,    11,
1499       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,        12,    13,    14,    15,    16,    17,    18,    19,    20,    41,
1500       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,        41,    29,    34,    40,    35,    40,   306,    22,   308,   309,
1501       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,       310,   311,   312,   313,   314,   315,    11,    12,    13,    14,
1502       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,        15,    16,    17,    18,    19,    20,    42,    40,    24,    23,
1503       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,        23,    21,   335,    21,    21,    27,   339,    39,   341,   342,
1504       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       343,   344,   345,    24,   347,    29,   349,   350,   351,   352,
1505       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,        24,    24,    24,   356,   357,    21,   359,   360,    28,    14,
1506       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,        24,    24,    24,    39,    29,    26,    26,    38,    25,    25,
1507       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       373,   374,   375,    40,    26,    23,    35,   380,   381,   382,
1508       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       383,   384,   385,    34,    38,    29,    39,    29,    34,    29,
1509       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,       832,    29,    29,    29,    29,    34,    29,    40,    29,    29,
1510       263,   316,   816,    47,    48,    49,   317,   318,   319,   320,        41,    35,    29,   406,    25,   408,    35,    35,    23,    35,
1511       321,   322,   323,   324,   325,   326,    60,    61,    62,    63,        29,    23,    34,    45,    32,    35,    91,    34,    34,    24,
1512        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        24,    35,    91,    22,    35,    34,    34,    25,    38,    35,
1513        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        32,    25,    21,    91,    25,    38,    21,    25,   442,   443,
1514        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        41,    91,    91,    25,    25,    29,    25,    25,    45,    29,
1515        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,        33,   455,   456,   457,   458,   459,    29,    29,    29,    29,
1516       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,        25,    29,    38,    32,    41,    32,    91,    91,    91,    35,
1517       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,        22,    32,    34,    32,    34,    38,    40,    35,   481,   482,
1518       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,       483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
1519       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,       493,   494,   495,    35,    34,   498,   499,    33,    91,    91,
1520       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,       500,   501,   502,   503,   504,   505,   506,   507,   508,    33,
1521       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,        35,    34,   515,   516,    35,    33,   519,    91,   521,    32,
1522       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,       523,    23,    22,    32,    41,    39,    36,    25,    23,    41,
1523       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,        36,   534,   535,   536,   537,   538,   539,   540,   541,   542,
1524       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       543,   544,   545,   546,   500,   501,   502,   503,   504,   505,
1525       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       506,   507,   508,    91,    91,     5,    41,    36,    25,    35,
1526       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,        41,    36,    91,    29,    25,    21,    26,    32,    23,   573,
1527       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,        40,    35,   576,   577,   578,   579,    25,    25,   582,    41,
1528       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,        39,    25,    40,    34,    41,    24,    40,    40,   591,   592,
1529       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       594,    29,    35,    34,    41,    41,    32,   265,    35,    34,
1530       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,        91,    41,    36,    34,    36,    21,    25,    40,    36,   613,
1531       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,        40,   615,    36,    40,    40,    40,    36,    32,    41,    41,
1532       316,   833,    47,    48,    49,   317,   318,   319,   320,   321,        34,    32,    91,    41,    41,   280,    32,    40,    91,    41,
1533       322,   323,   324,   325,   326,    60,    61,    62,    63,    64,       633,    41,    40,    35,    41,    34,    40,   640,    41,   642,
1534         643,   644,    40,   646,    34,   648,    91,    29,    21,    91,
1535          24,    40,    40,    24,    40,    36,    40,    40,   661,    24,
1536         663,    41,    91,    27,    24,    35,    27,   670,   671,   672,
1537         673,   674,   675,   676,   677,   678,    25,   680,    25,   682,
1538          25,    35,    91,    41,    39,    29,    91,    29,    29,    42,
1539          91,    91,    29,    25,    24,   699,   700,   701,    38,   703,
1540          24,    40,    28,   707,    42,    38,    42,   707,    42,    34,
1541         714,    29,    35,    91,    42,    25,   720,   721,    40,   723,
1542         724,   725,    29,   727,   728,   729,    25,   731,   728,   729,
1543          28,   731,    29,    25,    29,    40,    45,   405,    28,    91,
1544          21,    35,    42,    29,   747,   748,    25,   750,   751,    29,
1545          23,   406,    23,    25,    42,    42,    91,    23,   758,   759,
1546          91,    21,    23,    21,   764,    42,    34,    36,    38,    25,
1547         773,    35,    29,    36,    39,    42,    38,    29,   781,    34,
1548          25,    29,    25,    34,    25,   440,   441,    29,    28,    25,
1549          34,   794,    45,    40,   449,   795,   796,   465,    23,    34,
1550          39,    25,   758,   759,   459,    36,    91,    41,    21,    23,
1551          21,    23,    34,    23,    40,    91,    36,   821,    34,    25,
1552          25,   821,   826,    38,   824,   825,   826,   827,    36,    25,
1553         498,   499,    41,    25,   838,    38,   840,   841,   842,   795,
1554         796,   841,   842,    25,    25,    36,    34,    25,    25,    32,
1555          39,    36,    21,    91,    40,    21,   524,    32,    91,    21,
1556         515,   516,   862,   863,    34,   865,    38,    32,    91,    36,
1557          41,   827,    91,    33,   877,    36,    25,    21,    36,    38,
1558         548,    24,    21,    40,    25,    21,    21,    32,    21,    91,
1559         890,   891,    38,    40,    21,    33,   900,    29,    38,    33,
1560          24,    38,    25,    25,    21,    25,   862,   863,    38,    21,
1561          38,    42,    33,    38,    40,    33,    25,   572,    33,   574,
1562         575,    40,    29,    25,    25,   580,   581,    25,    25,    25,
1563         585,   586,    40,    38,    40,    38,   591,   592,    42,    38,
1564          40,    25,    25,    25,    39,    25,    38,    38,    38,    38,
1565         838,    39,   900,   840,   826,   274,   277,   612,    44,   614,
1566         714,   274,   454,   275,   454,   572,   274,    -1,   274,    -1,
1567         274,   728,   640,   641,   277,    -1,    -1,   279,   646,   647,
1568          -1,    -1,   595,    -1,   652,    -1,    -1,    -1,    -1,    -1,
1569          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1570          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1571          -1,   679,    -1,   681,    -1,    -1,    -1,    -1,    -1,    -1,
1572          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1573          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1574          -1,    -1,    -1,   698,    -1,    -1,    -1,   702,    -1,    -1,
1575          -1,   706,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1576          -1,    -1,    -1,    -1,    -1,    -1,    -1,   722,    -1,    -1,
1577          -1,   726,    -1,    -1,    -1,   730,    -1,   732,    -1,   747,
1578          -1,    -1,    -1,   751,    -1,    -1,    -1,   755,    -1,    -1,
1579          -1,    -1,    -1,    -1,   762,    -1,    -1,    -1,    -1,    -1,
1580          -1,   756,   757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1581          -1,    -1,    -1,    -1,    -1,    -1,   784,    -1,    -1,    -1,
1582          -1,    -1,    -1,    -1,    -1,   793,    -1,    -1,    -1,    -1,
1583          -1,    -1,    -1,   801,    -1,   803,    -1,    -1,    -1,    -1,
1584          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1585          -1,    -1,    -1,    -1,   822,   823,    -1,    -1,    -1,    -1,
1586         815,   816,   817,   818,    -1,    -1,    -1,    -1,    -1,    -1,
1587          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1588          -1,    -1,    -1,    -1,    -1,    -1,   854,   855,     3,     4,
1589           5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
1590          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1591          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1592          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1593          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1594          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1595        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1596        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1597        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
# Line 1373  static const short yytable[] = Line 1608  static const short yytable[] =
1608       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1609       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1610       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1611       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,         3,     4,     5,    -1,     7,     8,     9,    10,    11,    12,
1612       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
1613       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1614       255,   256,   257,   258,   259,   260,   261,   262,   263,   316,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1615       834,    47,    48,    49,   317,   318,   319,   320,   321,   322,        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1616       323,   324,   325,   326,    60,    61,    62,    63,    64,    65,        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1617        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1618        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1619        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1620        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1621       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1622       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1623       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1624       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1625       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1626       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1627       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1628       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1629       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1630       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1631       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1632       216,   217,   218,   219,   220,   221,   222,   223,   224,   225,       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1633       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       223,   224,     3,     4,     5,    -1,    -1,     8,     9,    10,
1634       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1635       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1636       256,   257,   258,   259,   260,   261,   262,   263        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
1637  };        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1638          51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1639  static const short yycheck[] =        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1640  {        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1641        14,   583,   464,    14,    31,    16,    17,    18,    19,    20,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1642        21,    22,    23,    24,    25,    26,    27,   279,   272,   273,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1643       272,   273,   726,    22,   728,    18,   445,    20,    29,    22,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1644       279,   279,   279,    21,    20,    21,    37,    30,    18,    38,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1645        19,    51,    52,    53,    54,    55,    56,    57,    58,    59,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1646        30,    37,   225,   226,    33,    22,     1,    26,     3,    39,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1647        35,    20,    21,    32,    51,    52,    53,    54,    55,    56,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1648        57,    58,    59,    18,    33,    20,    21,    38,    37,    24,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1649        19,    19,    20,    18,    29,    20,    22,    26,    26,    34,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1650        35,    36,    30,    38,    22,    30,    18,    36,    36,    35,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1651        39,    39,    22,   565,    22,   567,   568,    35,    30,     0,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1652         5,    21,   816,     8,     9,    10,    11,    12,    13,    14,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1653        15,    16,    17,    33,    18,    21,    20,    30,    22,   833,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1654       834,   593,    31,    36,    38,    39,    30,    33,   600,   601,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1655       602,   603,   604,   605,   606,   607,   608,     5,    20,    21,       221,   222,   223,   224,     3,     4,     5,    -1,    -1,     8,
1656         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1657       224,   423,   424,   425,   426,   427,   428,   429,   430,   431,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1658       432,   433,   434,   592,   423,   423,   423,     5,   222,   223,        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1659         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1660       224,   225,   226,    22,    18,   222,   223,   451,    22,   451,        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1661       274,    20,    21,    21,   278,   279,    30,     6,     7,     8,        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1662         9,    10,    11,    12,    13,    14,    15,    16,    17,   271,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1663       513,   514,    22,   720,   276,   277,    26,   724,   810,   281,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1664        36,   813,   694,     8,     9,    10,    11,    12,    13,    14,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1665        15,    16,    17,    18,    37,    36,    18,    26,   710,     8,        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1666         9,    10,    11,    12,    13,    14,    15,    16,    17,     8,       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1667         9,    10,    11,    12,    13,    14,    15,    16,    17,   280,       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1668        36,    19,   225,    20,    18,    37,    37,    37,    21,    32,       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1669       225,   226,    22,    22,    36,    31,    19,    38,    25,    25,       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1670        32,    26,    26,    38,    25,    20,   306,    38,   308,   309,       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1671       310,   311,   312,   313,   314,   315,    26,    31,    38,    26,       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1672        38,    26,    31,    39,    20,    37,    37,    35,    20,    18,       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1673        21,    37,    18,    18,   335,    18,    24,    21,   339,    26,       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1674       341,   342,   343,   344,   345,    21,   347,    14,   349,   350,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1675       351,   352,    21,    21,    36,   356,   357,    21,   359,   360,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1676        21,    21,    25,    36,    23,    23,    22,    32,    22,   370,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1677       371,   372,   824,    35,    26,    32,   377,   378,   379,   380,       219,   220,   221,   222,   223,   224,     3,     4,     5,     6,
1678       381,   382,    37,    36,    35,    31,    26,    26,    31,    26,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1679        26,    26,    26,    26,    32,    26,    37,    26,    26,    31,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1680        26,    23,   403,    20,   405,    32,    22,    32,    38,    20,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1681        20,    26,    31,   830,    32,    29,    29,    89,    42,    31,        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1682        21,    21,    31,    89,    32,    32,    31,    31,    22,    35,        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1683        32,    22,    18,    22,    19,   439,   440,    35,    22,    89,        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1684        89,    89,    18,    22,    22,    26,    42,    22,   452,   453,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1685       454,   455,   456,    26,    22,    26,    38,    26,    38,    26,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1686        26,    35,    22,    19,    29,    26,    89,    30,    89,    89,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1687        29,    20,    29,    37,    32,    29,    31,   478,   479,   480,        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1688       481,   482,   483,   484,   485,   486,   487,   488,   489,   490,       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1689       491,   492,    89,    35,   495,   496,    89,   497,   498,   499,       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1690       500,   501,   502,   503,   504,   505,    32,    31,    30,    32,       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1691        31,    30,   513,   514,    32,   516,    31,   518,    32,   520,       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1692       497,   498,   499,   500,   501,   502,   503,   504,   505,    30,       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1693       531,   532,   533,   534,   535,   536,   537,   538,   539,   540,       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1694       541,   542,   543,    89,    89,    29,    89,    19,    38,    29,       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1695        36,    33,   265,    22,    20,    38,    33,    38,    33,    22,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1696        38,    32,    89,    33,    26,    22,   570,    23,    29,   573,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1697       574,   575,   576,    18,    20,   579,    36,    32,    22,    37,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1698        22,    22,    31,    21,    38,    37,    37,   591,   589,   590,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1699        38,    38,    29,    32,    37,    31,    26,    31,    38,    32,       217,   218,   219,   220,   221,   222,   223,     3,     4,     5,
1700        89,    33,    31,    38,    18,    29,   610,    33,   612,    37,         6,    -1,     8,     9,    10,    11,    12,    13,    14,    15,
       37,    33,    37,   280,    37,    33,    37,    33,    38,    22,  
       31,    38,    89,    38,    37,    89,    38,    29,    38,   630,  
       89,    38,    37,    29,    38,    32,   637,    31,   639,   640,  
      641,    31,   643,    38,   645,    37,    37,    26,    18,    37,  
       21,    37,    21,    37,    37,    33,    38,   658,    89,   660,  
       37,    21,    24,    21,    32,    24,   667,   668,   669,   670,  
      671,   672,   673,   674,   675,    22,   677,    22,   679,    22,  
       89,    89,    32,    89,    38,    36,    26,    26,    89,   402,  
       89,    26,   696,   697,   698,    39,   700,    26,    35,    22,  
      704,    21,    21,    39,   704,    39,    39,   711,    35,    37,  
       25,    32,    26,   717,   718,    31,   720,   721,   722,    37,  
      724,   725,   726,    89,   728,   725,   726,    39,   728,    22,  
       26,    22,    26,    25,    22,    37,   403,    26,    25,    42,  
       89,    18,    32,   744,   745,    26,   747,   748,    89,   462,  
       22,    26,    20,   753,   754,    39,    22,    89,   758,    39,  
       20,    39,    20,    18,    20,    39,    18,   768,    35,    33,  
      437,   438,    31,    26,    39,   776,   753,   754,    32,   446,  
       22,    31,   495,   496,    22,    36,    35,    33,   789,   456,  
      790,   791,    26,    26,    22,    31,    26,    22,    25,    42,  
       31,    22,    37,    20,    22,    31,    38,    36,   521,    33,  
       89,    18,   816,   790,   791,    20,   816,   817,   818,   819,  
       20,    31,    20,    18,    33,    31,   830,    89,   832,   833,  
      834,    22,   545,   833,   834,    22,    35,    38,    22,    33,  
       37,    22,   819,    35,    22,    22,   513,   514,    33,    31,  
       22,    22,   852,   853,   854,    29,    36,    33,    37,    18,  
       18,    29,    18,    29,    31,   866,    89,    89,    33,    89,  
       89,    33,    35,    30,    38,   852,   853,    22,    33,   879,  
      880,    35,    18,    21,    37,   889,    18,    22,    18,    18,  
       29,    18,    35,    89,    35,    37,    30,    30,    35,    18,  
       21,    26,   569,    18,   571,   572,    22,    35,    22,    22,  
      577,   578,    18,    30,    37,   582,   583,    35,    30,    39,  
      711,    22,   589,   590,   637,   638,    35,    37,    30,    26,  
      643,   644,    22,    22,    22,    22,   649,    22,    37,    39,  
       35,    35,   609,    22,   611,    37,    37,    22,    22,    35,  
       22,   889,    36,    35,    35,    35,   832,    35,   725,    36,  
      277,    44,   275,   676,   274,   678,   569,   274,   277,    -1,  
       -1,   279,   451,    -1,    -1,   451,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,   592,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   695,    -1,  
       -1,   744,   699,    -1,    -1,   748,   703,    -1,    -1,   752,  
       -1,    -1,    -1,   756,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,   719,    -1,    -1,    -1,   723,    -1,    -1,    -1,  
      727,    -1,   729,    -1,    -1,    -1,   779,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,   788,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,   796,    -1,   798,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,   846,   847,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,   810,   811,   812,   813,     3,     4,     5,  
        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,  
1701        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1702        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1703        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
# Line 1538  static const short yycheck[] = Line 1718  static const short yycheck[] =
1718       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1719       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1720       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1721       216,   217,   218,   219,   220,   221,   222,    -1,   224,     3,       216,   217,   218,   219,   220,   221,   222,   223,     3,     4,
1722         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,         5,    -1,     7,     8,     9,    10,    11,    12,    13,    14,
1723          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1724          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1725          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1726          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1727          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1728          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1729          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1730          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1731          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1732         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1733         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1734         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1735         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1736         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1737         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1738         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1739         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1740         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1741         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1742         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1743         215,   216,   217,   218,   219,   220,   221,   222,   223,     3,
1744           4,     5,    -1,    -1,     8,     9,    10,    11,    12,    13,
1745        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1746        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1747        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
# Line 1560  static const short yycheck[] = Line 1762  static const short yycheck[] =
1762       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1763       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1764       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1765       214,   215,   216,   217,   218,   219,   220,   221,    -1,   223,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1766       224,     3,     4,     5,     6,     7,     8,     9,    10,    11,         3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,
1767          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
1768          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1769          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1770          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1771          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1772          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1773          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1774          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1775          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1776         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1777         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1778         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1779         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1780         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1781         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1782         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1783         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1784         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1785         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1786         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1787         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1788         223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,
1789        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1790        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1791        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1583  static const short yycheck[] = Line 1807  static const short yycheck[] =
1807       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1808       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1809       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1810        -1,    -1,   224,     3,     4,     5,     6,     7,     8,     9,       222,   223,     3,     4,     5,    -1,    -1,     8,     9,    10,
1811          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1812          21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1813          31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
1814          41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1815          51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1816          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1817          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1818          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1819          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1820         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1821         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1822         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1823         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1824         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1825         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1826         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1827         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1828         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1829         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1830         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1831         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1832         221,   222,   223,     3,     4,     5,    -1,    -1,     8,     9,
1833        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1834        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1835        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1605  static const short yycheck[] = Line 1851  static const short yycheck[] =
1851       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1852       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1853       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1854       220,   221,    -1,    -1,   224,     3,     4,     5,     6,     7,       220,   221,   222,   223,     3,     4,     5,    -1,    -1,     8,
1855           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1856          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1857          29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1858          39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1859          49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1860          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1861          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1862          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1863          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1864          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1865         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1866         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1867         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1868         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1869         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1870         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1871         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1872         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1873         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1874         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1875         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1876         219,   220,   221,   222,   223,     3,     4,     5,    -1,    -1,
1877         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1878        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1879        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1627  static const short yycheck[] = Line 1895  static const short yycheck[] =
1895       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1896       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1897       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1898       218,   219,   220,   221,   222,   223,     3,     4,     5,     6,       218,   219,   220,   221,   222,   223,     3,     4,     5,    -1,
1899         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,        -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1900        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1901        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1902        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
# Line 1649  static const short yycheck[] = Line 1917  static const short yycheck[] =
1917       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1918       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1919       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1920       217,   218,   219,   220,   221,     3,     4,     5,     6,     7,       217,   218,   219,   220,   221,   222,   223
1921         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,  };
1922        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,  
1923        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1924        38,    39,    40,    41,    42,    43,    44,    45,    46,    47,     symbol of state STATE-NUM.  */
1925        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,  static const unsigned short int yystos[] =
1926        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,  {
1927        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,         0,     1,     3,    21,    23,    24,    27,    32,    37,    38,
1928        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        39,    41,   228,   229,   230,   231,   270,   271,   272,   273,
1929        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,       274,   275,   278,   279,   280,   281,   282,   315,   318,    24,
1930        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        38,    25,    25,    29,    35,    41,    25,    25,    41,    34,
1931       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,         0,   225,   226,   268,   269,     3,     4,     5,     8,     9,
      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,  
      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,  
      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,  
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,  
      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,  
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,  
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,  
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,  
      218,   219,   220,   221,     3,     4,     5,     6,     7,     8,  
        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,  
       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,  
       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,  
       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,  
       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,  
       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,  
       69,    70,    71,    72,    73,    74,    75,    76,    77,    78,  
       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,  
       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,  
       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,  
      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,  
      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,  
      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,  
      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,  
      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,  
      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,  
      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,  
      179,   180,   181,   182,   183,   184,   185,   186,   187,   188,  
      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,  
      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,  
      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,  
      219,   220,   221,     3,     4,     5,     6,     7,     8,     9,  
1932        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1933        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1934        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1715  static const short yycheck[] = Line 1950  static const short yycheck[] =
1950       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1951       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1952       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1953       220,   221,     3,     4,     5,     6,     7,     8,     9,    10,       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,
1954        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1955        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,
1956        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,
1957        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,
1958        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,
1959        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,
1960        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        21,    23,    25,    33,   234,   283,   284,   285,   286,   292,
1961        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,       294,   295,   296,   297,   298,   299,   301,   303,   304,   305,
1962        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,       306,   307,   308,    21,    33,   236,   295,   305,   237,   295,
1963       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       305,    21,    23,    33,   242,   284,   285,   286,   294,   301,
1964       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       304,    29,   238,   291,   292,   283,    21,    25,    33,   235,
1965       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       283,   293,   298,   302,   303,   317,    22,    29,    33,    39,
1966       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,        42,   232,   286,   287,   288,   289,   290,   316,   233,   286,
1967       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       287,   288,   289,   290,   316,   259,   265,   267,   283,    21,
1968       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,        40,    40,    24,    40,    35,    25,    25,    39,    41,   262,
1969       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,        28,    41,    42,    28,    34,    29,   267,   267,   267,   267,
1970       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       267,   267,   267,   267,   267,   267,   267,   267,    41,    29,
1971       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       267,   267,   267,   267,    41,    28,    29,    34,   267,   267,
1972       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       267,    41,    23,    29,   267,   267,   267,   267,   267,   267,
1973       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,        41,    34,    29,    40,    35,   259,   267,   267,    40,    38,
1974       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,        42,    40,    23,    23,    22,    21,    24,    21,    21,    27,
1975       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,        24,   287,   288,   289,   290,   287,   287,   287,   287,   287,
1976        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,       287,   287,   287,   287,   287,   287,    24,    24,   259,   259,
1977        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        12,    13,    14,    15,    16,    17,    18,    19,    20,   263,
1978        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,       263,    24,    21,    24,    39,     6,     7,    34,   243,   255,
1979        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,       266,   277,   244,   254,   259,   252,   263,    24,    28,    24,
1980        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,        21,    33,    42,   239,   295,   299,   300,   305,   308,   309,
1981        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,       310,   311,   312,   263,   263,   263,   263,   258,   259,   263,
1982        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        26,    26,    39,    38,    29,   252,    25,    35,    25,    40,
1983        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        38,    39,    34,    29,    29,    34,    29,    29,   267,   267,
1984        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1985       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       267,   267,   267,    29,    29,   267,   267,    29,    34,    29,
1986       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,        40,   265,   265,    35,   267,   267,   267,    29,    35,    29,
1987       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,        41,    29,    35,   267,   267,   267,   267,   267,   267,   267,
1988       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       267,   267,   267,   267,   267,   267,    26,    35,    23,    25,
1989       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,        23,    45,    29,    23,    34,    35,    32,    34,    34,    91,
1990       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       252,    22,    36,   241,   313,   314,   252,   252,   254,   263,
1991       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       259,   259,   263,   263,   263,   263,   259,   259,   263,    35,
1992       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,        91,   240,   259,   240,    35,    34,    91,    38,     6,     7,
1993       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,        34,   253,   263,   255,   252,    35,    91,    24,    24,    32,
1994       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       252,   252,   252,   252,   252,   252,   252,   252,   252,   259,
1995       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       263,   259,   263,    25,    25,    21,    25,    22,    38,    25,
1996       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,        91,    21,    25,    25,    29,    45,    25,   267,   267,   267,
1997         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,       267,   267,   267,   267,    91,    29,   267,     4,    91,    25,
1998        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,        29,    41,    91,   267,   267,    91,    29,    29,    29,    41,
1999        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,       267,   267,   267,   267,   267,   267,   267,   267,   267,     4,
2000        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,       267,     4,   267,    38,    32,    33,    91,    25,    29,    32,
2001        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,        35,    22,    32,    34,    40,    38,   252,   259,   263,   263,
2002        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,       263,   259,   263,    35,    34,   259,     6,     7,     9,    10,
2003        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       256,   257,   259,   260,   261,   262,   263,    35,    32,    34,
2004        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        33,    33,   252,   253,    35,    34,    35,    91,    33,   245,
2005        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,       263,   246,   263,   247,   259,   245,   248,   263,    21,   249,
2006        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,       263,   276,   250,   259,   245,     9,    10,   251,   260,   263,
2007       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       256,   259,   256,   259,    91,    32,    91,    23,    22,    41,
2008       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,        32,    39,    36,    25,    23,   267,   267,   267,   267,    41,
2009       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,        36,     4,   259,   259,   261,   261,     5,     8,    41,    36,
2010       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,        25,    35,   267,    41,    36,    91,    29,    25,   267,    32,
2011       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,       267,     4,     4,    26,    21,    23,    35,    25,    40,    25,
2012       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,        41,    39,    25,   240,   259,   259,   240,    40,    41,   256,
2013       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,         6,     7,     8,     8,   257,   261,    40,    41,    34,    24,
2014       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,       252,    40,    41,    35,    34,   246,    32,   248,   256,   256,
2015       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,        29,    34,    35,    41,    36,    91,    40,    34,    36,    40,
2016       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       261,   261,    36,    40,    40,    21,    36,    40,    41,    36,
2017       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       267,    32,    25,    41,    34,    41,    21,    25,    33,    91,
2018       213,   214,   215,   216,   217,   218,   219,   220,   221,     3,        40,    41,    91,    41,    91,    32,    41,    91,    40,    41,
2019         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,       249,    32,    35,    34,    40,    40,    41,    34,    29,    24,
2020        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        36,    21,    40,    24,    40,    24,    40,    24,    36,    36,
2021        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        40,    41,    40,    91,    24,    27,    24,    25,    38,    35,
2022        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        27,    91,    25,    91,    25,    91,    25,    35,    41,    91,
2023        44,    45,    46,    47,    48,    49,    50,    51,    52,    53,        39,    23,    24,    29,    29,    29,    42,    29,    38,    25,
2024        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,        24,    42,    24,    42,    23,    24,    42,    38,    40,    23,
2025        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        36,    40,    28,    25,    38,    35,    34,    91,    29,    42,
2026        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        40,    25,    29,    25,    29,    28,    25,    29,    40,    91,
2027        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        28,    35,    45,    21,    42,    29,    91,    25,    29,    23,
2028        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,        25,    91,    42,    23,    42,    23,    21,    42,    23,    23,
2029       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,        40,    21,    38,    36,    34,    29,    42,    35,    39,    34,
2030       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,        25,    38,    36,    29,    25,    29,    25,    34,    29,    25,
2031       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,        28,    45,    34,    40,    25,    34,    23,    25,    41,    36,
2032       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,        39,    91,    21,    23,    23,    34,    23,    91,    21,    36,
2033       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,        34,    25,    25,    38,    40,    41,    36,    38,    25,    25,
2034       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,        25,    25,    36,    34,    25,    25,    32,    39,    91,    36,
2035       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,        40,    21,    21,    32,    91,    21,    34,    32,    91,    36,
2036       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,        41,    91,    38,    33,    36,    38,    25,    36,    21,    40,
2037       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,        24,    21,    25,    21,    21,    32,    21,    38,    91,    38,
2038       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,        33,    40,    38,    33,    38,    21,    24,    29,    25,    25,
2039       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,        21,    25,    21,    33,    38,    42,    40,    38,    33,    40,
2040       214,   215,   216,   217,   218,   219,   220,   221        33,    25,    29,    25,    25,    25,    25,    25,    40,    42,
2041  };        38,    38,    40,    38,    40,    25,    25,    39,    25,    25,
2042          38,    38,    38,    38,    39
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  
    symbol of state STATE-NUM.  */  
 static const unsigned short yystos[] =  
 {  
        0,     1,     3,    18,    20,    21,    24,    29,    34,    35,  
       36,    38,   228,   229,   230,   231,   269,   270,   271,   272,  
      273,   274,   277,   278,   279,   280,   281,   314,   317,    21,  
       35,    22,    22,    26,    32,    38,    22,    22,    38,    31,  
        0,   225,   226,   267,   268,     3,     4,     5,     6,     7,  
        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,  
       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,  
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,  
       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,  
       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,  
       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,  
       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,  
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,  
       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,  
       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,  
      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,  
      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,  
      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,  
      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,  
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,  
      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,  
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,  
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,  
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,  
      218,   219,   220,   221,   224,   258,   261,   262,   263,   266,  
      266,   266,   266,   266,   266,   266,   266,   266,   266,   266,  
      266,   266,    21,    22,    36,    37,    36,    18,    26,    30,  
       36,    29,    37,    19,    36,   267,     8,     9,    10,    11,  
       12,    13,    14,    15,    16,    17,   260,   261,   260,   260,  
      260,   260,   260,   260,   260,   260,     3,     8,     9,    10,  
       11,    12,    13,    14,    15,    16,    17,   263,    20,   282,  
       18,    20,    22,    30,   234,   282,   283,   284,   285,   291,  
      293,   294,   295,   296,   297,   298,   300,   302,   303,   304,  
      305,   306,   307,    18,    30,   236,   294,   304,   237,   294,  
      304,    18,    20,    30,   242,   285,   293,   303,    26,   238,  
      290,   291,   282,    18,    22,    30,   235,   282,   292,   297,  
      301,   302,   316,    19,    26,    30,    36,    39,   232,   285,  
      286,   287,   288,   289,   315,   233,   285,   286,   287,   288,  
      289,   315,   258,   264,   266,   282,    18,    37,    37,    21,  
       37,    32,    22,    22,    36,    38,   261,    25,    38,    39,  
       25,    31,    26,   266,   266,   266,   266,   266,   266,   266,  
      266,   266,   266,   266,   266,    38,    26,   266,   266,   266,  
      266,    38,    25,    26,    31,   266,   266,   266,    38,    20,  
       26,   266,   266,   266,   266,   266,   266,    38,    31,    26,  
       37,    32,   258,   266,   266,    37,    35,    39,    37,    20,  
       20,    19,    18,    21,    18,    18,    24,    21,   286,   287,  
      288,   289,   286,   286,   286,   286,   286,   286,   286,   286,  
      286,   286,   286,    21,    21,   258,   258,     9,    10,    11,  
       12,    13,    14,    15,    16,    17,   262,   262,    21,    18,  
       21,    36,    31,   222,   223,   243,   255,   265,   276,   244,  
      254,   258,   252,   262,    21,    25,    21,    18,    30,    39,  
      239,   294,   298,   299,   304,   307,   308,   309,   310,   311,  
      262,   262,   262,   262,   257,   258,   262,    23,    23,    36,  
       35,    26,   252,    22,    32,    22,    37,    35,    36,    31,  
       26,    26,    31,    26,    26,   266,   266,   266,   266,   266,  
      266,   266,   266,   266,   266,   266,   266,   266,   266,   266,  
       26,    26,   266,   266,    26,    31,    26,    37,    32,   264,  
      264,   266,   266,   266,    26,    32,    26,    38,    26,    32,  
      266,   266,   266,   266,   266,   266,   266,   266,   266,   266,  
      266,   266,   266,    23,    32,    20,    22,    20,    42,    26,  
       20,    31,    32,    29,    31,    31,    89,   252,    19,    33,  
      241,   312,   313,   252,   252,   254,   262,   258,   258,   262,  
      262,   262,   262,   258,   258,   262,    32,    89,   240,   258,  
      240,    32,    31,    89,    35,    31,   222,   223,   253,   262,  
      255,   252,    32,    89,    21,    21,    29,   252,   252,   252,  
      252,   252,   252,   252,   252,   252,   258,   262,   258,   262,  
       22,    22,    18,    22,    19,    35,    22,    89,    18,    22,  
       22,    26,    42,    22,   266,   266,   266,   266,   266,   266,  
      266,    89,    26,   266,     4,    89,    22,    26,    38,    89,  
      266,   266,    89,    26,    26,    26,    38,   266,   266,   266,  
      266,   266,   266,   266,   266,   266,     4,   266,     4,   266,  
       35,    29,    30,    89,    22,    26,    29,    32,    19,    29,  
       31,    37,    35,   252,   258,   262,   262,   262,   258,   262,  
       32,    31,   258,     6,     7,   256,   258,   259,   260,   261,  
      262,   265,    32,    29,    31,    30,    30,   252,   253,    32,  
       31,    32,    89,    30,   245,   262,   246,   262,   247,   258,  
      245,   248,   262,    18,   249,   262,   275,   250,   258,   245,  
        6,     7,   251,   259,   262,   256,   258,   256,   258,    89,  
       29,    89,    20,    19,    38,    29,    36,    33,    22,    20,  
      266,   266,   266,   266,    38,    33,     4,   260,   260,     5,  
       38,    33,    22,    32,   266,    38,    33,    89,    26,    22,  
      266,    29,   266,     4,     4,    23,    18,    20,    32,    22,  
       37,    22,    38,    36,    22,   240,   258,   258,   240,    37,  
       38,   256,     5,     5,   260,    37,    38,    31,    21,   252,  
       37,    38,    32,    31,   246,    29,   248,   256,   256,    26,  
       31,    32,    38,    33,    89,    37,    31,    33,    37,   260,  
      260,    33,    37,    37,    18,    33,    37,    38,    33,   266,  
       29,    22,    38,    31,    38,    18,    22,    30,    89,    37,  
       38,    89,    38,    89,    29,    38,    89,    37,    38,   249,  
       29,    32,    31,    37,    37,    38,    31,    26,    21,    33,  
       18,    37,    21,    37,    21,    37,    21,    33,    33,    37,  
       38,    37,    89,    21,    24,    21,    22,    35,    32,    24,  
       89,    22,    89,    22,    89,    22,    32,    38,    89,    36,  
       20,    21,    26,    26,    26,    39,    26,    35,    22,    21,  
       39,    21,    39,    20,    21,    39,    35,    37,    20,    33,  
       37,    25,    22,    35,    32,    31,    89,    26,    39,    37,  
       22,    26,    22,    26,    25,    22,    26,    37,    89,    25,  
       32,    42,    18,    39,    26,    89,    22,    26,    20,    22,  
       89,    39,    20,    39,    20,    18,    39,    20,    20,    37,  
       18,    35,    33,    31,    26,    39,    32,    36,    31,    22,  
       35,    33,    26,    22,    26,    22,    31,    26,    22,    25,  
       42,    31,    37,    22,    31,    20,    22,    38,    33,    36,  
       89,    18,    20,    20,    31,    20,    89,    18,    33,    31,  
       22,    22,    35,    37,    38,    33,    35,    22,    22,    22,  
       22,    33,    31,    22,    22,    29,    36,    89,    33,    37,  
       18,    18,    29,    89,    18,    31,    29,    89,    33,    38,  
       89,    35,    30,    33,    35,    22,    33,    18,    37,    21,  
       18,    22,    18,    18,    29,    18,    35,    89,    35,    30,  
       37,    35,    30,    35,    18,    21,    26,    22,    22,    18,  
       22,    18,    30,    35,    39,    37,    35,    30,    37,    30,  
       22,    26,    22,    22,    22,    22,    22,    37,    39,    35,  
       35,    37,    35,    37,    22,    22,    36,    22,    22,    35,  
       35,    35,    35,    36  
2043  };  };
2044    
2045  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1949  static const unsigned short yystos[] = Line 2065  static const unsigned short yystos[] =
2065    
2066  #define YYACCEPT        goto yyacceptlab  #define YYACCEPT        goto yyacceptlab
2067  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
2068  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrorlab
2069    
2070    
2071  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
# Line 1984  while (0) Line 2100  while (0)
2100     are run).  */     are run).  */
2101    
2102  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2103  # define YYLLOC_DEFAULT(Current, Rhs, N)         \  # define YYLLOC_DEFAULT(Current, Rhs, N)                \
2104    Current.first_line   = Rhs[1].first_line;      \     ((Current).first_line   = (Rhs)[1].first_line,       \
2105    Current.first_column = Rhs[1].first_column;    \      (Current).first_column = (Rhs)[1].first_column,     \
2106    Current.last_line    = Rhs[N].last_line;       \      (Current).last_line    = (Rhs)[N].last_line,        \
2107    Current.last_column  = Rhs[N].last_column;      (Current).last_column  = (Rhs)[N].last_column)
2108  #endif  #endif
2109    
2110  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
# Line 2032  do {                                                           \ Line 2148  do {                                                           \
2148    
2149  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2150  | yy_stack_print -- Print the state stack from its BOTTOM up to its |  | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2151  | TOP (cinluded).                                                   |  | TOP (included).                                                   |
2152  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2153    
2154  #if defined (__STDC__) || defined (__cplusplus)  #if defined (__STDC__) || defined (__cplusplus)
2155  static void  static void
2156  yy_stack_print (short *bottom, short *top)  yy_stack_print (short int *bottom, short int *top)
2157  #else  #else
2158  static void  static void
2159  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2160      short *bottom;      short int *bottom;
2161      short *top;      short int *top;
2162  #endif  #endif
2163  {  {
2164    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
# Line 2072  yy_reduce_print (yyrule) Line 2188  yy_reduce_print (yyrule)
2188  #endif  #endif
2189  {  {
2190    int yyi;    int yyi;
2191    unsigned int yylineno = yyrline[yyrule];    unsigned int yylno = yyrline[yyrule];
2192    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
2193               yyrule - 1, yylineno);               yyrule - 1, yylno);
2194    /* Print the symbols being reduced, and their result.  */    /* Print the symbols being reduced, and their result.  */
2195    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
2196      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
# Line 2111  int yydebug; Line 2227  int yydebug;
2227     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
2228     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2229    
2230  #if YYMAXDEPTH == 0  #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
2231  # undef YYMAXDEPTH  # undef YYMAXDEPTH
2232  #endif  #endif
2233    
# Line 2309  int yynerrs; Line 2425  int yynerrs;
2425       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
2426    
2427    /* The state stack.  */    /* The state stack.  */
2428    short yyssa[YYINITDEPTH];    short int yyssa[YYINITDEPTH];
2429    short *yyss = yyssa;    short int *yyss = yyssa;
2430    register short *yyssp;    register short int *yyssp;
2431    
2432    /* The semantic value stack.  */    /* The semantic value stack.  */
2433    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
# Line 2348  int yynerrs; Line 2464  int yynerrs;
2464    yyssp = yyss;    yyssp = yyss;
2465    yyvsp = yyvs;    yyvsp = yyvs;
2466    
2467    
2468    goto yysetstate;    goto yysetstate;
2469    
2470  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 2373  int yynerrs; Line 2490  int yynerrs;
2490             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
2491             memory.  */             memory.  */
2492          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
2493          short *yyss1 = yyss;          short int *yyss1 = yyss;
2494    
2495    
2496          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
# Line 2401  int yynerrs; Line 2518  int yynerrs;
2518          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
2519    
2520        {        {
2521          short *yyss1 = yyss;          short int *yyss1 = yyss;
2522          union yyalloc *yyptr =          union yyalloc *yyptr =
2523            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2524          if (! yyptr)          if (! yyptr)
# Line 2534  yyreduce: Line 2651  yyreduce:
2651    switch (yyn)    switch (yyn)
2652      {      {
2653          case 4:          case 4:
2654  #line 85 "lscp.y"  #line 86 "lscp.y"
2655      { return LSCP_DONE; }      { return LSCP_DONE; }
2656      break;      break;
2657    
2658    case 5:    case 5:
2659  #line 86 "lscp.y"  #line 87 "lscp.y"
2660      { return LSCP_DONE; }      { return LSCP_DONE; }
2661      break;      break;
2662    
2663    case 6:    case 6:
2664  #line 87 "lscp.y"  #line 88 "lscp.y"
2665      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }
2666      break;      break;
2667    
2668    case 7:    case 7:
2669  #line 88 "lscp.y"  #line 89 "lscp.y"
2670      { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }      { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
2671      break;      break;
2672    
2673    case 13:    case 13:
2674  #line 98 "lscp.y"  #line 99 "lscp.y"
2675      { yyval.String = LSCPSERVER->AddChannel();                          }      { yyval.String = LSCPSERVER->AddChannel();                          }
2676      break;      break;
2677    
2678    case 14:    case 14:
2679  #line 99 "lscp.y"  #line 100 "lscp.y"
2680      { yyval.String = yyvsp[0].String;                                                }      { yyval.String = yyvsp[0].String;                                                }
2681      break;      break;
2682    
2683    case 15:    case 15:
2684  #line 100 "lscp.y"  #line 101 "lscp.y"
2685      { yyval.String = yyvsp[0].String;                                                }      { yyval.String = yyvsp[0].String;                                                }
2686      break;      break;
2687    
2688    case 16:    case 16:
2689  #line 101 "lscp.y"  #line 102 "lscp.y"
2690      { yyval.String = yyvsp[0].String;                                                }      { yyval.String = yyvsp[0].String;                                                }
2691      break;      break;
2692    
2693    case 17:    case 17:
2694  #line 102 "lscp.y"  #line 103 "lscp.y"
2695      { yyval.String = yyvsp[0].String;                                                }      { yyval.String = yyvsp[0].String;                                                }
2696      break;      break;
2697    
2698    case 18:    case 18:
2699  #line 103 "lscp.y"  #line 104 "lscp.y"
2700      { yyval.String = yyvsp[0].String;                                                }      { yyval.String = yyvsp[0].String;                                                }
2701      break;      break;
2702    
2703    case 19:    case 19:
2704  #line 104 "lscp.y"  #line 105 "lscp.y"
2705      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }
2706      break;      break;
2707    
2708    case 20:    case 20:
2709  #line 105 "lscp.y"  #line 106 "lscp.y"
2710      { yyval.String = yyvsp[0].String;                                                }      { yyval.String = yyvsp[0].String;                                                }
2711      break;      break;
2712    
2713    case 21:    case 21:
2714  #line 106 "lscp.y"  #line 107 "lscp.y"
2715      { yyval.String = yyvsp[0].String;                                                }      { yyval.String = yyvsp[0].String;                                                }
2716      break;      break;
2717    
2718    case 22:    case 22:
2719  #line 107 "lscp.y"  #line 108 "lscp.y"
2720      { yyval.String = yyvsp[0].String;                                                }      { yyval.String = yyvsp[0].String;                                                }
2721      break;      break;
2722    
2723    case 23:    case 23:
2724  #line 108 "lscp.y"  #line 109 "lscp.y"
2725      { yyval.String = LSCPSERVER->QueryDatabase(yyvsp[0].String);                     }      { yyval.String = LSCPSERVER->QueryDatabase(yyvsp[0].String);                     }
2726      break;      break;
2727    
2728    case 24:    case 24:
2729  #line 109 "lscp.y"  #line 110 "lscp.y"
2730      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }
2731      break;      break;
2732    
2733    case 25:    case 25:
2734  #line 110 "lscp.y"  #line 111 "lscp.y"
2735      { yyval.String = LSCPSERVER->ResetSampler();                        }      { yyval.String = LSCPSERVER->ResetSampler();                        }
2736      break;      break;
2737    
2738    case 26:    case 26:
2739  #line 111 "lscp.y"  #line 112 "lscp.y"
2740      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
2741      break;      break;
2742    
2743    case 27:    case 27:
2744  #line 114 "lscp.y"  #line 115 "lscp.y"
2745      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels);     }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels);     }
2746      break;      break;
2747    
2748    case 28:    case 28:
2749  #line 115 "lscp.y"  #line 116 "lscp.y"
2750      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);  }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);  }
2751      break;      break;
2752    
2753    case 29:    case 29:
2754  #line 116 "lscp.y"  #line 117 "lscp.y"
2755      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }
2756      break;      break;
2757    
2758    case 30:    case 30:
2759  #line 117 "lscp.y"  #line 118 "lscp.y"
2760      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);  }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);  }
2761      break;      break;
2762    
2763    case 31:    case 31:
2764  #line 118 "lscp.y"  #line 119 "lscp.y"
2765      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info);         }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info);         }
2766      break;      break;
2767    
2768    case 32:    case 32:
2769  #line 119 "lscp.y"  #line 120 "lscp.y"
2770      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }
2771      break;      break;
2772    
2773    case 33:    case 33:
2774  #line 122 "lscp.y"  #line 123 "lscp.y"
2775      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels);     }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels);     }
2776      break;      break;
2777    
2778    case 34:    case 34:
2779  #line 123 "lscp.y"  #line 124 "lscp.y"
2780      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);  }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);  }
2781      break;      break;
2782    
2783    case 35:    case 35:
2784  #line 124 "lscp.y"  #line 125 "lscp.y"
2785      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }
2786      break;      break;
2787    
2788    case 36:    case 36:
2789  #line 125 "lscp.y"  #line 126 "lscp.y"
2790      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);  }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);  }
2791      break;      break;
2792    
2793    case 37:    case 37:
2794  #line 126 "lscp.y"  #line 127 "lscp.y"
2795      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info);         }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info);         }
2796      break;      break;
2797    
2798    case 38:    case 38:
2799  #line 127 "lscp.y"  #line 128 "lscp.y"
2800      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }
2801      break;      break;
2802    
2803    case 39:    case 39:
2804  #line 130 "lscp.y"  #line 131 "lscp.y"
2805      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }
2806      break;      break;
2807    
2808    case 40:    case 40:
2809  #line 131 "lscp.y"  #line 132 "lscp.y"
2810      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
2811      break;      break;
2812    
2813    case 41:    case 41:
2814  #line 132 "lscp.y"  #line 133 "lscp.y"
2815      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }
2816      break;      break;
2817    
2818    case 42:    case 42:
2819  #line 133 "lscp.y"  #line 134 "lscp.y"
2820      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }
2821      break;      break;
2822    
2823    case 43:    case 43:
2824  #line 134 "lscp.y"  #line 135 "lscp.y"
2825      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }
2826      break;      break;
2827    
2828    case 44:    case 44:
2829  #line 135 "lscp.y"  #line 136 "lscp.y"
2830      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
2831      break;      break;
2832    
2833    case 45:    case 45:
2834  #line 136 "lscp.y"  #line 137 "lscp.y"
2835      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }
2836      break;      break;
2837    
2838    case 46:    case 46:
2839  #line 137 "lscp.y"  #line 138 "lscp.y"
2840      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }
2841      break;      break;
2842    
2843    case 47:    case 47:
2844  #line 138 "lscp.y"  #line 139 "lscp.y"
2845      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }
2846      break;      break;
2847    
2848    case 48:    case 48:
2849  #line 139 "lscp.y"  #line 140 "lscp.y"
2850      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }
2851      break;      break;
2852    
2853    case 49:    case 49:
2854  #line 140 "lscp.y"  #line 141 "lscp.y"
2855      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }
2856      break;      break;
2857    
2858    case 50:    case 50:
2859  #line 141 "lscp.y"  #line 142 "lscp.y"
2860      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }
2861      break;      break;
2862    
2863    case 51:    case 51:
2864  #line 142 "lscp.y"  #line 143 "lscp.y"
2865      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }
2866      break;      break;
2867    
2868    case 52:    case 52:
2869  #line 143 "lscp.y"  #line 144 "lscp.y"
2870      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }
2871      break;      break;
2872    
2873    case 53:    case 53:
2874  #line 144 "lscp.y"  #line 145 "lscp.y"
2875      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }
2876      break;      break;
2877    
2878    case 54:    case 54:
2879  #line 145 "lscp.y"  #line 146 "lscp.y"
2880      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }
2881      break;      break;
2882    
2883    case 55:    case 55:
2884  #line 146 "lscp.y"  #line 147 "lscp.y"
2885      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }
2886      break;      break;
2887    
2888    case 56:    case 56:
2889  #line 147 "lscp.y"  #line 148 "lscp.y"
2890      { yyval.String = LSCPSERVER->GetChannels();                                  }      { yyval.String = LSCPSERVER->GetChannels();                                  }
2891      break;      break;
2892    
2893    case 57:    case 57:
2894  #line 148 "lscp.y"  #line 149 "lscp.y"
2895      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }
2896      break;      break;
2897    
2898    case 58:    case 58:
2899  #line 149 "lscp.y"  #line 150 "lscp.y"
2900      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }
2901      break;      break;
2902    
2903    case 59:    case 59:
2904  #line 150 "lscp.y"  #line 151 "lscp.y"
2905      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }
2906      break;      break;
2907    
2908    case 60:    case 60:
2909  #line 151 "lscp.y"  #line 152 "lscp.y"
2910      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }
2911      break;      break;
2912    
2913    case 61:    case 61:
2914  #line 152 "lscp.y"  #line 153 "lscp.y"
2915      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }
2916      break;      break;
2917    
2918    case 62:    case 62:
2919  #line 155 "lscp.y"  #line 156 "lscp.y"
2920      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
2921      break;      break;
2922    
2923    case 63:    case 63:
2924  #line 156 "lscp.y"  #line 157 "lscp.y"
2925      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }
2926      break;      break;
2927    
2928    case 64:    case 64:
2929  #line 157 "lscp.y"  #line 158 "lscp.y"
2930      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }
2931      break;      break;
2932    
2933    case 65:    case 65:
2934  #line 158 "lscp.y"  #line 159 "lscp.y"
2935      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
2936      break;      break;
2937    
2938    case 66:    case 66:
2939  #line 159 "lscp.y"  #line 160 "lscp.y"
2940      { yyval.String = yyvsp[0].String;                                                         }      { yyval.String = yyvsp[0].String;                                                         }
2941      break;      break;
2942    
2943    case 67:    case 67:
2944  #line 160 "lscp.y"  #line 161 "lscp.y"
2945      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }
2946      break;      break;
2947    
2948    case 68:    case 68:
2949  #line 163 "lscp.y"  #line 164 "lscp.y"
2950      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }
2951      break;      break;
2952    
2953    case 69:    case 69:
2954  #line 164 "lscp.y"  #line 165 "lscp.y"
2955      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }
2956      break;      break;
2957    
2958    case 70:    case 70:
2959  #line 165 "lscp.y"  #line 166 "lscp.y"
2960      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }
2961      break;      break;
2962    
2963    case 71:    case 71:
2964  #line 166 "lscp.y"  #line 167 "lscp.y"
2965      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }
2966      break;      break;
2967    
2968    case 72:    case 72:
2969  #line 169 "lscp.y"  #line 170 "lscp.y"
2970      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }
2971      break;      break;
2972    
2973    case 73:    case 73:
2974  #line 170 "lscp.y"  #line 171 "lscp.y"
2975      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }
2976      break;      break;
2977    
2978    case 74:    case 74:
2979  #line 173 "lscp.y"  #line 174 "lscp.y"
2980      { yyval.String = yyvsp[0].String; }      { yyval.String = yyvsp[0].String; }
2981      break;      break;
2982    
2983    case 75:    case 75:
2984  #line 174 "lscp.y"  #line 175 "lscp.y"
2985      { yyval.String = yyvsp[0].String; }      { yyval.String = yyvsp[0].String; }
2986      break;      break;
2987    
2988    case 76:    case 76:
2989  #line 177 "lscp.y"  #line 178 "lscp.y"
2990      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }
2991      break;      break;
2992    
2993    case 77:    case 77:
2994  #line 178 "lscp.y"  #line 179 "lscp.y"
2995      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }
2996      break;      break;
2997    
2998    case 78:    case 78:
2999  #line 179 "lscp.y"  #line 180 "lscp.y"
3000      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }
3001      break;      break;
3002    
3003    case 79:    case 79:
3004  #line 180 "lscp.y"  #line 181 "lscp.y"
3005      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }
3006      break;      break;
3007    
3008    case 80:    case 80:
3009  #line 181 "lscp.y"  #line 182 "lscp.y"
3010      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }
3011      break;      break;
3012    
3013    case 81:    case 81:
3014  #line 182 "lscp.y"  #line 183 "lscp.y"
3015      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }
3016      break;      break;
3017    
3018    case 82:    case 82:
3019  #line 183 "lscp.y"  #line 184 "lscp.y"
3020      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }
3021      break;      break;
3022    
3023    case 83:    case 83:
3024  #line 184 "lscp.y"  #line 185 "lscp.y"
3025      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }
3026      break;      break;
3027    
3028    case 84:    case 84:
3029  #line 185 "lscp.y"  #line 186 "lscp.y"
3030      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }
3031      break;      break;
3032    
3033    case 85:    case 85:
3034  #line 188 "lscp.y"  #line 189 "lscp.y"
3035      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }
3036      break;      break;
3037    
3038    case 86:    case 86:
3039  #line 189 "lscp.y"  #line 190 "lscp.y"
3040      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }
3041      break;      break;
3042    
3043    case 87:    case 87:
3044  #line 192 "lscp.y"  #line 193 "lscp.y"
3045      { yyval.FillResponse = fill_response_bytes;      }      { yyval.FillResponse = fill_response_bytes;      }
3046      break;      break;
3047    
3048    case 88:    case 88:
3049  #line 193 "lscp.y"  #line 194 "lscp.y"
3050      { yyval.FillResponse = fill_response_percentage; }      { yyval.FillResponse = fill_response_percentage; }
3051      break;      break;
3052    
3053    case 89:    case 89:
3054  #line 196 "lscp.y"  #line 197 "lscp.y"
3055      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { yyval.String = LSCPSERVER->GetAudioOutputDevices();           }
3056      break;      break;
3057    
3058    case 90:    case 90:
3059  #line 197 "lscp.y"  #line 198 "lscp.y"
3060      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }      { yyval.String = LSCPSERVER->GetMidiInputDevices();             }
3061      break;      break;
3062    
3063    case 91:    case 91:
3064  #line 198 "lscp.y"  #line 199 "lscp.y"
3065      { yyval.String = LSCPSERVER->ListChannels();          }      { yyval.String = LSCPSERVER->ListChannels();                    }
3066      break;      break;
3067    
3068    case 92:    case 92:
3069  #line 201 "lscp.y"  #line 200 "lscp.y"
3070      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->ListAvailableEngines();            }
3071      break;      break;
3072    
3073    case 93:    case 93:
3074  #line 202 "lscp.y"  #line 201 "lscp.y"
3075      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { yyval.String = LSCPSERVER->ListAvailableMidiInputDrivers();   }
3076      break;      break;
3077    
3078    case 94:    case 94:
3079    #line 202 "lscp.y"
3080        { yyval.String = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
3081        break;
3082    
3083      case 95:
3084  #line 205 "lscp.y"  #line 205 "lscp.y"
3085      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }
3086      break;      break;
3087    
3088    case 100:    case 96:
3089  #line 221 "lscp.y"  #line 206 "lscp.y"
3090      { yyval.Number = 16; }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }
3091      break;      break;
3092    
3093    case 103:    case 97:
3094  #line 228 "lscp.y"  #line 209 "lscp.y"
3095      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.String = LSCPSERVER->SetEngineType(yyvsp[-2].String, yyvsp[0].Number); }
3096      break;      break;
3097    
3098    case 110:    case 103:
3099  #line 245 "lscp.y"  #line 225 "lscp.y"
3100      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); }      { yyval.Number = 16; }
3101      break;      break;
3102    
3103    case 111:    case 106:
3104  #line 246 "lscp.y"  #line 232 "lscp.y"
3105      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); }      { yyval.Dotnum = yyvsp[0].Number; }
3106      break;      break;
3107    
3108    case 112:    case 112:
3109    #line 248 "lscp.y"
3110        { yyval.String = yyvsp[-2].String + "," + yyvsp[0].String; }
3111        break;
3112    
3113      case 114:
3114  #line 252 "lscp.y"  #line 252 "lscp.y"
3115      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.String = "\'" + yyvsp[-1].String + "\'"; }
3116      break;      break;
3117    
3118    case 113:    case 115:
3119  #line 253 "lscp.y"  #line 253 "lscp.y"
3120        { yyval.String = "\"" + yyvsp[-1].String + "\""; }
3121        break;
3122    
3123      case 116:
3124    #line 254 "lscp.y"
3125        { std::stringstream ss; ss << "\'" << yyvsp[0].Number << "\'"; yyval.String = ss.str(); }
3126        break;
3127    
3128      case 117:
3129    #line 255 "lscp.y"
3130        { std::stringstream ss; ss << "\'" << yyvsp[0].Dotnum << "\'"; yyval.String = ss.str(); }
3131        break;
3132    
3133      case 118:
3134    #line 261 "lscp.y"
3135        { yyval.Dotnum = yyvsp[0].Number; }
3136        break;
3137    
3138      case 119:
3139    #line 262 "lscp.y"
3140      { yyval.Dotnum = -1; }      { yyval.Dotnum = -1; }
3141      break;      break;
3142    
3143    case 114:    case 120:
3144  #line 256 "lscp.y"  #line 265 "lscp.y"
3145      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { std::string s; s = yyvsp[0].Char; yyval.String = s; }
3146      break;      break;
3147    
3148    case 115:    case 121:
3149  #line 257 "lscp.y"  #line 266 "lscp.y"
3150      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }
3151      break;      break;
3152    
3153    case 116:    case 122:
3154  #line 260 "lscp.y"  #line 269 "lscp.y"
3155      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }
3156      break;      break;
3157    
3158    case 117:    case 123:
3159  #line 261 "lscp.y"  #line 270 "lscp.y"
3160      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }
3161      break;      break;
3162    
3163    case 118:    case 124:
3164  #line 262 "lscp.y"  #line 271 "lscp.y"
3165      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }
3166      break;      break;
3167    
3168    case 119:    case 125:
3169  #line 266 "lscp.y"  #line 275 "lscp.y"
3170      { yyval.String = yyvsp[0].Char;      }      { yyval.String = yyvsp[0].Char;      }
3171      break;      break;
3172    
3173    case 120:    case 126:
3174  #line 267 "lscp.y"  #line 276 "lscp.y"
3175      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }
3176      break;      break;
3177    
3178    case 121:    case 127:
3179  #line 270 "lscp.y"  #line 279 "lscp.y"
3180      { yyval.Char = '0'; }      { yyval.Char = '0'; }
3181      break;      break;
3182    
3183    case 122:    case 128:
3184  #line 271 "lscp.y"  #line 280 "lscp.y"
3185      { yyval.Char = '1'; }      { yyval.Char = '1'; }
3186      break;      break;
3187    
3188    case 123:    case 129:
3189  #line 272 "lscp.y"  #line 281 "lscp.y"
3190      { yyval.Char = '2'; }      { yyval.Char = '2'; }
3191      break;      break;
3192    
3193    case 124:    case 130:
3194  #line 273 "lscp.y"  #line 282 "lscp.y"
3195      { yyval.Char = '3'; }      { yyval.Char = '3'; }
3196      break;      break;
3197    
3198    case 125:    case 131:
3199  #line 274 "lscp.y"  #line 283 "lscp.y"
3200      { yyval.Char = '4'; }      { yyval.Char = '4'; }
3201      break;      break;
3202    
3203    case 126:    case 132:
3204  #line 275 "lscp.y"  #line 284 "lscp.y"
3205      { yyval.Char = '5'; }      { yyval.Char = '5'; }
3206      break;      break;
3207    
3208    case 127:    case 133:
3209  #line 276 "lscp.y"  #line 285 "lscp.y"
3210      { yyval.Char = '6'; }      { yyval.Char = '6'; }
3211      break;      break;
3212    
3213    case 128:    case 134:
3214  #line 277 "lscp.y"  #line 286 "lscp.y"
3215      { yyval.Char = '7'; }      { yyval.Char = '7'; }
3216      break;      break;
3217    
3218    case 129:    case 135:
3219  #line 278 "lscp.y"  #line 287 "lscp.y"
3220      { yyval.Char = '8'; }      { yyval.Char = '8'; }
3221      break;      break;
3222    
3223    case 130:    case 136:
3224  #line 279 "lscp.y"  #line 288 "lscp.y"
3225      { yyval.Char = '9'; }      { yyval.Char = '9'; }
3226      break;      break;
3227    
3228    case 131:    case 137:
3229  #line 282 "lscp.y"  #line 291 "lscp.y"
3230      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }
3231      break;      break;
3232    
3233    case 132:    case 138:
3234  #line 283 "lscp.y"  #line 292 "lscp.y"
3235      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }
3236      break;      break;
3237    
3238    case 133:    case 139:
3239  #line 284 "lscp.y"  #line 293 "lscp.y"
3240      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }
3241      break;      break;
3242    
3243    case 134:    case 140:
3244  #line 285 "lscp.y"  #line 294 "lscp.y"
3245      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }
3246      break;      break;
3247    
3248    case 135:    case 141:
3249  #line 286 "lscp.y"  #line 295 "lscp.y"
3250      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }
3251      break;      break;
3252    
3253    case 136:    case 142:
3254  #line 287 "lscp.y"  #line 296 "lscp.y"
3255      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }
3256      break;      break;
3257    
3258    case 137:    case 143:
3259  #line 288 "lscp.y"  #line 297 "lscp.y"
3260      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }
3261      break;      break;
3262    
3263    case 138:    case 144:
3264  #line 289 "lscp.y"  #line 298 "lscp.y"
3265      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }
3266      break;      break;
3267    
3268    case 139:    case 145:
3269  #line 290 "lscp.y"  #line 299 "lscp.y"
3270      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }
3271      break;      break;
3272    
3273    case 140:    case 146:
3274  #line 291 "lscp.y"  #line 300 "lscp.y"
3275      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }
3276      break;      break;
3277    
3278    case 141:    case 147:
3279  #line 293 "lscp.y"  #line 302 "lscp.y"
3280      { yyval.Char = 'A'; }      { yyval.Char = 'A'; }
3281      break;      break;
3282    
3283    case 142:    case 148:
3284  #line 293 "lscp.y"  #line 302 "lscp.y"
3285      { yyval.Char = 'B'; }      { yyval.Char = 'B'; }
3286      break;      break;
3287    
3288    case 143:    case 149:
3289  #line 293 "lscp.y"  #line 302 "lscp.y"
3290      { yyval.Char = 'C'; }      { yyval.Char = 'C'; }
3291      break;      break;
3292    
3293    case 144:    case 150:
3294  #line 293 "lscp.y"  #line 302 "lscp.y"
3295      { yyval.Char = 'D'; }      { yyval.Char = 'D'; }
3296      break;      break;
3297    
3298    case 145:    case 151:
3299  #line 293 "lscp.y"  #line 302 "lscp.y"
3300      { yyval.Char = 'E'; }      { yyval.Char = 'E'; }
3301      break;      break;
3302    
3303    case 146:    case 152:
3304  #line 293 "lscp.y"  #line 302 "lscp.y"
3305      { yyval.Char = 'F'; }      { yyval.Char = 'F'; }
3306      break;      break;
3307    
3308    case 147:    case 153:
3309  #line 293 "lscp.y"  #line 302 "lscp.y"
3310      { yyval.Char = 'G'; }      { yyval.Char = 'G'; }
3311      break;      break;
3312    
3313    case 148:    case 154:
3314  #line 293 "lscp.y"  #line 302 "lscp.y"
3315      { yyval.Char = 'H'; }      { yyval.Char = 'H'; }
3316      break;      break;
3317    
3318    case 149:    case 155:
3319  #line 293 "lscp.y"  #line 302 "lscp.y"
3320      { yyval.Char = 'I'; }      { yyval.Char = 'I'; }
3321      break;      break;
3322    
3323    case 150:    case 156:
3324  #line 293 "lscp.y"  #line 302 "lscp.y"
3325      { yyval.Char = 'J'; }      { yyval.Char = 'J'; }
3326      break;      break;
3327    
3328    case 151:    case 157:
3329  #line 293 "lscp.y"  #line 302 "lscp.y"
3330      { yyval.Char = 'K'; }      { yyval.Char = 'K'; }
3331      break;      break;
3332    
3333    case 152:    case 158:
3334  #line 293 "lscp.y"  #line 302 "lscp.y"
3335      { yyval.Char = 'L'; }      { yyval.Char = 'L'; }
3336      break;      break;
3337    
3338    case 153:    case 159:
3339  #line 293 "lscp.y"  #line 302 "lscp.y"
3340      { yyval.Char = 'M'; }      { yyval.Char = 'M'; }
3341      break;      break;
3342    
3343    case 154:    case 160:
3344  #line 293 "lscp.y"  #line 302 "lscp.y"
3345      { yyval.Char = 'N'; }      { yyval.Char = 'N'; }
3346      break;      break;
3347    
3348    case 155:    case 161:
3349  #line 293 "lscp.y"  #line 302 "lscp.y"
3350      { yyval.Char = 'O'; }      { yyval.Char = 'O'; }
3351      break;      break;
3352    
3353    case 156:    case 162:
3354  #line 293 "lscp.y"  #line 302 "lscp.y"
3355      { yyval.Char = 'P'; }      { yyval.Char = 'P'; }
3356      break;      break;
3357    
3358    case 157:    case 163:
3359  #line 293 "lscp.y"  #line 302 "lscp.y"
3360      { yyval.Char = 'Q'; }      { yyval.Char = 'Q'; }
3361      break;      break;
3362    
3363    case 158:    case 164:
3364  #line 293 "lscp.y"  #line 302 "lscp.y"
3365      { yyval.Char = 'R'; }      { yyval.Char = 'R'; }
3366      break;      break;
3367    
3368    case 159:    case 165:
3369  #line 293 "lscp.y"  #line 302 "lscp.y"
3370      { yyval.Char = 'S'; }      { yyval.Char = 'S'; }
3371      break;      break;
3372    
3373    case 160:    case 166:
3374  #line 293 "lscp.y"  #line 302 "lscp.y"
3375      { yyval.Char = 'T'; }      { yyval.Char = 'T'; }
3376      break;      break;
3377    
3378    case 161:    case 167:
3379  #line 293 "lscp.y"  #line 302 "lscp.y"
3380      { yyval.Char = 'U'; }      { yyval.Char = 'U'; }
3381      break;      break;
3382    
3383    case 162:    case 168:
3384  #line 293 "lscp.y"  #line 302 "lscp.y"
3385      { yyval.Char = 'V'; }      { yyval.Char = 'V'; }
3386      break;      break;
3387    
3388    case 163:    case 169:
3389  #line 293 "lscp.y"  #line 302 "lscp.y"
3390      { yyval.Char = 'W'; }      { yyval.Char = 'W'; }
3391      break;      break;
3392    
3393    case 164:    case 170:
3394  #line 293 "lscp.y"  #line 302 "lscp.y"
3395      { yyval.Char = 'X'; }      { yyval.Char = 'X'; }
3396      break;      break;
3397    
3398    case 165:    case 171:
3399  #line 293 "lscp.y"  #line 302 "lscp.y"
3400      { yyval.Char = 'Y'; }      { yyval.Char = 'Y'; }
3401      break;      break;
3402    
3403    case 166:    case 172:
3404  #line 293 "lscp.y"  #line 302 "lscp.y"
3405      { yyval.Char = 'Z'; }      { yyval.Char = 'Z'; }
3406      break;      break;
3407    
3408    case 167:    case 173:
3409  #line 294 "lscp.y"  #line 303 "lscp.y"
3410      { yyval.Char = 'a'; }      { yyval.Char = 'a'; }
3411      break;      break;
3412    
3413    case 168:    case 174:
3414  #line 294 "lscp.y"  #line 303 "lscp.y"
3415      { yyval.Char = 'b'; }      { yyval.Char = 'b'; }
3416      break;      break;
3417    
3418    case 169:    case 175:
3419  #line 294 "lscp.y"  #line 303 "lscp.y"
3420      { yyval.Char = 'c'; }      { yyval.Char = 'c'; }
3421      break;      break;
3422    
3423    case 170:    case 176:
3424  #line 294 "lscp.y"  #line 303 "lscp.y"
3425      { yyval.Char = 'd'; }      { yyval.Char = 'd'; }
3426      break;      break;
3427    
3428    case 171:    case 177:
3429  #line 294 "lscp.y"  #line 303 "lscp.y"
3430      { yyval.Char = 'e'; }      { yyval.Char = 'e'; }
3431      break;      break;
3432    
3433    case 172:    case 178:
3434  #line 294 "lscp.y"  #line 303 "lscp.y"
3435      { yyval.Char = 'f'; }      { yyval.Char = 'f'; }
3436      break;      break;
3437    
3438    case 173:    case 179:
3439  #line 294 "lscp.y"  #line 303 "lscp.y"
3440      { yyval.Char = 'g'; }      { yyval.Char = 'g'; }
3441      break;      break;
3442    
3443    case 174:    case 180:
3444  #line 294 "lscp.y"  #line 303 "lscp.y"
3445      { yyval.Char = 'h'; }      { yyval.Char = 'h'; }
3446      break;      break;
3447    
3448    case 175:    case 181:
3449  #line 294 "lscp.y"  #line 303 "lscp.y"
3450      { yyval.Char = 'i'; }      { yyval.Char = 'i'; }
3451      break;      break;
3452    
3453    case 176:    case 182:
3454  #line 294 "lscp.y"  #line 303 "lscp.y"
3455      { yyval.Char = 'j'; }      { yyval.Char = 'j'; }
3456      break;      break;
3457    
3458    case 177:    case 183:
3459  #line 294 "lscp.y"  #line 303 "lscp.y"
3460      { yyval.Char = 'k'; }      { yyval.Char = 'k'; }
3461      break;      break;
3462    
3463    case 178:    case 184:
3464  #line 294 "lscp.y"  #line 303 "lscp.y"
3465      { yyval.Char = 'l'; }      { yyval.Char = 'l'; }
3466      break;      break;
3467    
3468    case 179:    case 185:
3469  #line 294 "lscp.y"  #line 303 "lscp.y"
3470      { yyval.Char = 'm'; }      { yyval.Char = 'm'; }
3471      break;      break;
3472    
3473    case 180:    case 186:
3474  #line 294 "lscp.y"  #line 303 "lscp.y"
3475      { yyval.Char = 'n'; }      { yyval.Char = 'n'; }
3476      break;      break;
3477    
3478    case 181:    case 187:
3479  #line 294 "lscp.y"  #line 303 "lscp.y"
3480      { yyval.Char = 'o'; }      { yyval.Char = 'o'; }
3481      break;      break;
3482    
3483    case 182:    case 188:
3484  #line 294 "lscp.y"  #line 303 "lscp.y"
3485      { yyval.Char = 'p'; }      { yyval.Char = 'p'; }
3486      break;      break;
3487    
3488    case 183:    case 189:
3489  #line 294 "lscp.y"  #line 303 "lscp.y"
3490      { yyval.Char = 'q'; }      { yyval.Char = 'q'; }
3491      break;      break;
3492    
3493    case 184:    case 190:
3494  #line 294 "lscp.y"  #line 303 "lscp.y"
3495      { yyval.Char = 'r'; }      { yyval.Char = 'r'; }
3496      break;      break;
3497    
3498    case 185:    case 191:
3499  #line 294 "lscp.y"  #line 303 "lscp.y"
3500      { yyval.Char = 's'; }      { yyval.Char = 's'; }
3501      break;      break;
3502    
3503    case 186:    case 192:
3504  #line 294 "lscp.y"  #line 303 "lscp.y"
3505      { yyval.Char = 't'; }      { yyval.Char = 't'; }
3506      break;      break;
3507    
3508    case 187:    case 193:
3509  #line 294 "lscp.y"  #line 303 "lscp.y"
3510      { yyval.Char = 'u'; }      { yyval.Char = 'u'; }
3511      break;      break;
3512    
3513    case 188:    case 194:
3514  #line 294 "lscp.y"  #line 303 "lscp.y"
3515      { yyval.Char = 'v'; }      { yyval.Char = 'v'; }
3516      break;      break;
3517    
3518    case 189:    case 195:
3519  #line 294 "lscp.y"  #line 303 "lscp.y"
3520      { yyval.Char = 'w'; }      { yyval.Char = 'w'; }
3521      break;      break;
3522    
3523    case 190:    case 196:
3524  #line 294 "lscp.y"  #line 303 "lscp.y"
3525      { yyval.Char = 'x'; }      { yyval.Char = 'x'; }
3526      break;      break;
3527    
3528    case 191:    case 197:
3529  #line 294 "lscp.y"  #line 303 "lscp.y"
3530      { yyval.Char = 'y'; }      { yyval.Char = 'y'; }
3531      break;      break;
3532    
3533    case 192:    case 198:
3534  #line 294 "lscp.y"  #line 303 "lscp.y"
3535      { yyval.Char = 'z'; }      { yyval.Char = 'z'; }
3536      break;      break;
3537    
3538    case 193:    case 199:
3539  #line 295 "lscp.y"  #line 304 "lscp.y"
3540      { yyval.Char = '0'; }      { yyval.Char = '0'; }
3541      break;      break;
3542    
3543    case 194:    case 200:
3544  #line 295 "lscp.y"  #line 304 "lscp.y"
3545      { yyval.Char = '1'; }      { yyval.Char = '1'; }
3546      break;      break;
3547    
3548    case 195:    case 201:
3549  #line 295 "lscp.y"  #line 304 "lscp.y"
3550      { yyval.Char = '2'; }      { yyval.Char = '2'; }
3551      break;      break;
3552    
3553    case 196:    case 202:
3554  #line 295 "lscp.y"  #line 304 "lscp.y"
3555      { yyval.Char = '3'; }      { yyval.Char = '3'; }
3556      break;      break;
3557    
3558    case 197:    case 203:
3559  #line 295 "lscp.y"  #line 304 "lscp.y"
3560      { yyval.Char = '4'; }      { yyval.Char = '4'; }
3561      break;      break;
3562    
3563    case 198:    case 204:
3564  #line 295 "lscp.y"  #line 304 "lscp.y"
3565      { yyval.Char = '5'; }      { yyval.Char = '5'; }
3566      break;      break;
3567    
3568    case 199:    case 205:
3569  #line 295 "lscp.y"  #line 304 "lscp.y"
3570      { yyval.Char = '6'; }      { yyval.Char = '6'; }
3571      break;      break;
3572    
3573    case 200:    case 206:
3574  #line 295 "lscp.y"  #line 304 "lscp.y"
3575      { yyval.Char = '7'; }      { yyval.Char = '7'; }
3576      break;      break;
3577    
3578    case 201:    case 207:
3579  #line 295 "lscp.y"  #line 304 "lscp.y"
3580      { yyval.Char = '8'; }      { yyval.Char = '8'; }
3581      break;      break;
3582    
3583    case 202:    case 208:
3584  #line 295 "lscp.y"  #line 304 "lscp.y"
3585      { yyval.Char = '9'; }      { yyval.Char = '9'; }
3586      break;      break;
3587    
3588    case 203:    case 209:
3589  #line 296 "lscp.y"  #line 305 "lscp.y"
3590      { yyval.Char = '!'; }      { yyval.Char = '!'; }
3591      break;      break;
3592    
3593    case 204:    case 210:
3594  #line 296 "lscp.y"  #line 305 "lscp.y"
3595      { yyval.Char = '#'; }      { yyval.Char = '#'; }
3596      break;      break;
3597    
3598    case 205:    case 211:
3599  #line 296 "lscp.y"  #line 305 "lscp.y"
3600      { yyval.Char = '$'; }      { yyval.Char = '$'; }
3601      break;      break;
3602    
3603    case 206:    case 212:
3604  #line 296 "lscp.y"  #line 305 "lscp.y"
3605      { yyval.Char = '%'; }      { yyval.Char = '%'; }
3606      break;      break;
3607    
3608    case 207:    case 213:
3609  #line 296 "lscp.y"  #line 305 "lscp.y"
3610      { yyval.Char = '&'; }      { yyval.Char = '&'; }
3611      break;      break;
3612    
3613    case 208:    case 214:
3614  #line 296 "lscp.y"  #line 305 "lscp.y"
3615      { yyval.Char = '('; }      { yyval.Char = '('; }
3616      break;      break;
3617    
3618    case 209:    case 215:
3619  #line 296 "lscp.y"  #line 305 "lscp.y"
3620      { yyval.Char = ')'; }      { yyval.Char = ')'; }
3621      break;      break;
3622    
3623    case 210:    case 216:
3624  #line 296 "lscp.y"  #line 305 "lscp.y"
3625      { yyval.Char = '*'; }      { yyval.Char = '*'; }
3626      break;      break;
3627    
3628    case 211:    case 217:
3629  #line 296 "lscp.y"  #line 305 "lscp.y"
3630      { yyval.Char = '+'; }      { yyval.Char = '+'; }
3631      break;      break;
3632    
3633    case 212:    case 218:
3634  #line 296 "lscp.y"  #line 305 "lscp.y"
3635      { yyval.Char = '-'; }      { yyval.Char = '-'; }
3636      break;      break;
3637    
3638    case 213:    case 219:
3639  #line 296 "lscp.y"  #line 305 "lscp.y"
3640      { yyval.Char = '.'; }      { yyval.Char = '.'; }
3641      break;      break;
3642    
3643    case 214:    case 220:
3644  #line 296 "lscp.y"  #line 305 "lscp.y"
3645      { yyval.Char = ','; }      { yyval.Char = ','; }
3646      break;      break;
3647    
3648    case 215:    case 221:
3649  #line 296 "lscp.y"  #line 305 "lscp.y"
3650      { yyval.Char = '/'; }      { yyval.Char = '/'; }
3651      break;      break;
3652    
3653    case 216:    case 222:
3654  #line 297 "lscp.y"  #line 306 "lscp.y"
3655      { yyval.Char = ':'; }      { yyval.Char = ':'; }
3656      break;      break;
3657    
3658    case 217:    case 223:
3659  #line 297 "lscp.y"  #line 306 "lscp.y"
3660      { yyval.Char = ';'; }      { yyval.Char = ';'; }
3661      break;      break;
3662    
3663    case 218:    case 224:
3664  #line 297 "lscp.y"  #line 306 "lscp.y"
3665      { yyval.Char = '<'; }      { yyval.Char = '<'; }
3666      break;      break;
3667    
3668    case 219:    case 225:
3669  #line 297 "lscp.y"  #line 306 "lscp.y"
3670      { yyval.Char = '='; }      { yyval.Char = '='; }
3671      break;      break;
3672    
3673    case 220:    case 226:
3674  #line 297 "lscp.y"  #line 306 "lscp.y"
3675      { yyval.Char = '>'; }      { yyval.Char = '>'; }
3676      break;      break;
3677    
3678    case 221:    case 227:
3679  #line 297 "lscp.y"  #line 306 "lscp.y"
3680      { yyval.Char = '?'; }      { yyval.Char = '?'; }
3681      break;      break;
3682    
3683    case 222:    case 228:
3684  #line 297 "lscp.y"  #line 306 "lscp.y"
3685      { yyval.Char = '@'; }      { yyval.Char = '@'; }
3686      break;      break;
3687    
3688    case 223:    case 229:
3689  #line 298 "lscp.y"  #line 307 "lscp.y"
3690      { yyval.Char = '['; }      { yyval.Char = '['; }
3691      break;      break;
3692    
3693    case 224:    case 230:
3694  #line 298 "lscp.y"  #line 307 "lscp.y"
3695      { yyval.Char = '\\'; }      { yyval.Char = '\\'; }
3696      break;      break;
3697    
3698    case 225:    case 231:
3699  #line 298 "lscp.y"  #line 307 "lscp.y"
3700      { yyval.Char = ']'; }      { yyval.Char = ']'; }
3701      break;      break;
3702    
3703    case 226:    case 232:
3704  #line 298 "lscp.y"  #line 307 "lscp.y"
3705      { yyval.Char = '^'; }      { yyval.Char = '^'; }
3706      break;      break;
3707    
3708    case 227:    case 233:
3709  #line 298 "lscp.y"  #line 307 "lscp.y"
3710      { yyval.Char = '_'; }      { yyval.Char = '_'; }
3711      break;      break;
3712    
3713    case 228:    case 234:
3714  #line 299 "lscp.y"  #line 308 "lscp.y"
3715      { yyval.Char = '{'; }      { yyval.Char = '{'; }
3716      break;      break;
3717    
3718    case 229:    case 235:
3719  #line 299 "lscp.y"  #line 308 "lscp.y"
3720      { yyval.Char = '|'; }      { yyval.Char = '|'; }
3721      break;      break;
3722    
3723    case 230:    case 236:
3724  #line 299 "lscp.y"  #line 308 "lscp.y"
3725      { yyval.Char = '}'; }      { yyval.Char = '}'; }
3726      break;      break;
3727    
3728    case 231:    case 237:
3729  #line 299 "lscp.y"  #line 308 "lscp.y"
3730      { yyval.Char = '~'; }      { yyval.Char = '~'; }
3731      break;      break;
3732    
3733    case 232:    case 238:
3734  #line 300 "lscp.y"  #line 309 "lscp.y"
3735      { yyval.Char = '\200'; }      { yyval.Char = '\200'; }
3736      break;      break;
3737    
3738    case 233:    case 239:
3739  #line 300 "lscp.y"  #line 309 "lscp.y"
3740      { yyval.Char = '\201'; }      { yyval.Char = '\201'; }
3741      break;      break;
3742    
3743    case 234:    case 240:
3744  #line 300 "lscp.y"  #line 309 "lscp.y"
3745      { yyval.Char = '\202'; }      { yyval.Char = '\202'; }
3746      break;      break;
3747    
3748    case 235:    case 241:
3749  #line 301 "lscp.y"  #line 310 "lscp.y"
3750      { yyval.Char = '\203'; }      { yyval.Char = '\203'; }
3751      break;      break;
3752    
3753    case 236:    case 242:
3754  #line 301 "lscp.y"  #line 310 "lscp.y"
3755      { yyval.Char = '\204'; }      { yyval.Char = '\204'; }
3756      break;      break;
3757    
3758    case 237:    case 243:
3759  #line 301 "lscp.y"  #line 310 "lscp.y"
3760      { yyval.Char = '\205'; }      { yyval.Char = '\205'; }
3761      break;      break;
3762    
3763    case 238:    case 244:
3764  #line 302 "lscp.y"  #line 311 "lscp.y"
3765      { yyval.Char = '\206'; }      { yyval.Char = '\206'; }
3766      break;      break;
3767    
3768    case 239:    case 245:
3769  #line 302 "lscp.y"  #line 311 "lscp.y"
3770      { yyval.Char = '\207'; }      { yyval.Char = '\207'; }
3771      break;      break;
3772    
3773    case 240:    case 246:
3774  #line 302 "lscp.y"  #line 311 "lscp.y"
3775      { yyval.Char = '\210'; }      { yyval.Char = '\210'; }
3776      break;      break;
3777    
3778    case 241:    case 247:
3779  #line 303 "lscp.y"  #line 312 "lscp.y"
3780      { yyval.Char = '\211'; }      { yyval.Char = '\211'; }
3781      break;      break;
3782    
3783    case 242:    case 248:
3784  #line 303 "lscp.y"  #line 312 "lscp.y"
3785      { yyval.Char = '\212'; }      { yyval.Char = '\212'; }
3786      break;      break;
3787    
3788    case 243:    case 249:
3789  #line 303 "lscp.y"  #line 312 "lscp.y"
3790      { yyval.Char = '\213'; }      { yyval.Char = '\213'; }
3791      break;      break;
3792    
3793    case 244:    case 250:
3794  #line 304 "lscp.y"  #line 313 "lscp.y"
3795      { yyval.Char = '\214'; }      { yyval.Char = '\214'; }
3796      break;      break;
3797    
3798    case 245:    case 251:
3799  #line 304 "lscp.y"  #line 313 "lscp.y"
3800      { yyval.Char = '\215'; }      { yyval.Char = '\215'; }
3801      break;      break;
3802    
3803    case 246:    case 252:
3804  #line 304 "lscp.y"  #line 313 "lscp.y"
3805      { yyval.Char = '\216'; }      { yyval.Char = '\216'; }
3806      break;      break;
3807    
3808    case 247:    case 253:
3809  #line 305 "lscp.y"  #line 314 "lscp.y"
3810      { yyval.Char = '\217'; }      { yyval.Char = '\217'; }
3811      break;      break;
3812    
3813    case 248:    case 254:
3814  #line 305 "lscp.y"  #line 314 "lscp.y"
3815      { yyval.Char = '\220'; }      { yyval.Char = '\220'; }
3816      break;      break;
3817    
3818    case 249:    case 255:
3819  #line 305 "lscp.y"  #line 314 "lscp.y"
3820      { yyval.Char = '\221'; }      { yyval.Char = '\221'; }
3821      break;      break;
3822    
3823    case 250:    case 256:
3824  #line 306 "lscp.y"  #line 315 "lscp.y"
3825      { yyval.Char = '\222'; }      { yyval.Char = '\222'; }
3826      break;      break;
3827    
3828    case 251:    case 257:
3829  #line 306 "lscp.y"  #line 315 "lscp.y"
3830      { yyval.Char = '\223'; }      { yyval.Char = '\223'; }
3831      break;      break;
3832    
3833    case 252:    case 258:
3834  #line 306 "lscp.y"  #line 315 "lscp.y"
3835      { yyval.Char = '\224'; }      { yyval.Char = '\224'; }
3836      break;      break;
3837    
3838    case 253:    case 259:
3839  #line 307 "lscp.y"  #line 316 "lscp.y"
3840      { yyval.Char = '\225'; }      { yyval.Char = '\225'; }
3841      break;      break;
3842    
3843    case 254:    case 260:
3844  #line 307 "lscp.y"  #line 316 "lscp.y"
3845      { yyval.Char = '\226'; }      { yyval.Char = '\226'; }
3846      break;      break;
3847    
3848    case 255:    case 261:
3849  #line 307 "lscp.y"  #line 316 "lscp.y"
3850      { yyval.Char = '\227'; }      { yyval.Char = '\227'; }
3851      break;      break;
3852    
3853    case 256:    case 262:
3854  #line 308 "lscp.y"  #line 317 "lscp.y"
3855      { yyval.Char = '\230'; }      { yyval.Char = '\230'; }
3856      break;      break;
3857    
3858    case 257:    case 263:
3859  #line 308 "lscp.y"  #line 317 "lscp.y"
3860      { yyval.Char = '\231'; }      { yyval.Char = '\231'; }
3861      break;      break;
3862    
3863    case 258:    case 264:
3864  #line 308 "lscp.y"  #line 317 "lscp.y"
3865      { yyval.Char = '\232'; }      { yyval.Char = '\232'; }
3866      break;      break;
3867    
3868    case 259:    case 265:
3869  #line 309 "lscp.y"  #line 318 "lscp.y"
3870      { yyval.Char = '\233'; }      { yyval.Char = '\233'; }
3871      break;      break;
3872    
3873    case 260:    case 266:
3874  #line 309 "lscp.y"  #line 318 "lscp.y"
3875      { yyval.Char = '\234'; }      { yyval.Char = '\234'; }
3876      break;      break;
3877    
3878    case 261:    case 267:
3879  #line 309 "lscp.y"  #line 318 "lscp.y"
3880      { yyval.Char = '\235'; }      { yyval.Char = '\235'; }
3881      break;      break;
3882    
3883    case 262:    case 268:
3884  #line 310 "lscp.y"  #line 319 "lscp.y"
3885      { yyval.Char = '\236'; }      { yyval.Char = '\236'; }
3886      break;      break;
3887    
3888    case 263:    case 269:
3889  #line 310 "lscp.y"  #line 319 "lscp.y"
3890      { yyval.Char = '\237'; }      { yyval.Char = '\237'; }
3891      break;      break;
3892    
3893    case 264:    case 270:
3894  #line 310 "lscp.y"  #line 319 "lscp.y"
3895      { yyval.Char = '\240'; }      { yyval.Char = '\240'; }
3896      break;      break;
3897    
3898    case 265:    case 271:
3899  #line 311 "lscp.y"  #line 320 "lscp.y"
3900      { yyval.Char = '\241'; }      { yyval.Char = '\241'; }
3901      break;      break;
3902    
3903    case 266:    case 272:
3904  #line 311 "lscp.y"  #line 320 "lscp.y"
3905      { yyval.Char = '\242'; }      { yyval.Char = '\242'; }
3906      break;      break;
3907    
3908    case 267:    case 273:
3909  #line 311 "lscp.y"  #line 320 "lscp.y"
3910      { yyval.Char = '\243'; }      { yyval.Char = '\243'; }
3911      break;      break;
3912    
3913    case 268:    case 274:
3914  #line 312 "lscp.y"  #line 321 "lscp.y"
3915      { yyval.Char = '\244'; }      { yyval.Char = '\244'; }
3916      break;      break;
3917    
3918    case 269:    case 275:
3919  #line 312 "lscp.y"  #line 321 "lscp.y"
3920      { yyval.Char = '\245'; }      { yyval.Char = '\245'; }
3921      break;      break;
3922    
3923    case 270:    case 276:
3924  #line 312 "lscp.y"  #line 321 "lscp.y"
3925      { yyval.Char = '\246'; }      { yyval.Char = '\246'; }
3926      break;      break;
3927    
3928    case 271:    case 277:
3929  #line 313 "lscp.y"  #line 322 "lscp.y"
3930      { yyval.Char = '\247'; }      { yyval.Char = '\247'; }
3931      break;      break;
3932    
3933    case 272:    case 278:
3934  #line 313 "lscp.y"  #line 322 "lscp.y"
3935      { yyval.Char = '\250'; }      { yyval.Char = '\250'; }
3936      break;      break;
3937    
3938    case 273:    case 279:
3939  #line 313 "lscp.y"  #line 322 "lscp.y"
3940      { yyval.Char = '\251'; }      { yyval.Char = '\251'; }
3941      break;      break;
3942    
3943    case 274:    case 280:
3944  #line 314 "lscp.y"  #line 323 "lscp.y"
3945      { yyval.Char = '\252'; }      { yyval.Char = '\252'; }
3946      break;      break;
3947    
3948    case 275:    case 281:
3949  #line 314 "lscp.y"  #line 323 "lscp.y"
3950      { yyval.Char = '\253'; }      { yyval.Char = '\253'; }
3951      break;      break;
3952    
3953    case 276:    case 282:
3954  #line 314 "lscp.y"  #line 323 "lscp.y"
3955      { yyval.Char = '\254'; }      { yyval.Char = '\254'; }
3956      break;      break;
3957    
3958    case 277:    case 283:
3959  #line 315 "lscp.y"  #line 324 "lscp.y"
3960      { yyval.Char = '\255'; }      { yyval.Char = '\255'; }
3961      break;      break;
3962    
3963    case 278:    case 284:
3964  #line 315 "lscp.y"  #line 324 "lscp.y"
3965      { yyval.Char = '\256'; }      { yyval.Char = '\256'; }
3966      break;      break;
3967    
3968    case 279:    case 285:
3969  #line 315 "lscp.y"  #line 324 "lscp.y"
3970      { yyval.Char = '\257'; }      { yyval.Char = '\257'; }
3971      break;      break;
3972    
3973    case 280:    case 286:
3974  #line 316 "lscp.y"  #line 325 "lscp.y"
3975      { yyval.Char = '\260'; }      { yyval.Char = '\260'; }
3976      break;      break;
3977    
3978    case 281:    case 287:
3979  #line 316 "lscp.y"  #line 325 "lscp.y"
3980      { yyval.Char = '\261'; }      { yyval.Char = '\261'; }
3981      break;      break;
3982    
3983    case 282:    case 288:
3984  #line 316 "lscp.y"  #line 325 "lscp.y"
3985      { yyval.Char = '\262'; }      { yyval.Char = '\262'; }
3986      break;      break;
3987    
3988    case 283:    case 289:
3989  #line 317 "lscp.y"  #line 326 "lscp.y"
3990      { yyval.Char = '\263'; }      { yyval.Char = '\263'; }
3991      break;      break;
3992    
3993    case 284:    case 290:
3994  #line 317 "lscp.y"  #line 326 "lscp.y"
3995      { yyval.Char = '\264'; }      { yyval.Char = '\264'; }
3996      break;      break;
3997    
3998    case 285:    case 291:
3999  #line 317 "lscp.y"  #line 326 "lscp.y"
4000      { yyval.Char = '\265'; }      { yyval.Char = '\265'; }
4001      break;      break;
4002    
4003    case 286:    case 292:
4004  #line 318 "lscp.y"  #line 327 "lscp.y"
4005      { yyval.Char = '\266'; }      { yyval.Char = '\266'; }
4006      break;      break;
4007    
4008    case 287:    case 293:
4009  #line 318 "lscp.y"  #line 327 "lscp.y"
4010      { yyval.Char = '\267'; }      { yyval.Char = '\267'; }
4011      break;      break;
4012    
4013    case 288:    case 294:
4014  #line 318 "lscp.y"  #line 327 "lscp.y"
4015      { yyval.Char = '\270'; }      { yyval.Char = '\270'; }
4016      break;      break;
4017    
4018    case 289:    case 295:
4019  #line 319 "lscp.y"  #line 328 "lscp.y"
4020      { yyval.Char = '\271'; }      { yyval.Char = '\271'; }
4021      break;      break;
4022    
4023    case 290:    case 296:
4024  #line 319 "lscp.y"  #line 328 "lscp.y"
4025      { yyval.Char = '\272'; }      { yyval.Char = '\272'; }
4026      break;      break;
4027    
4028    case 291:    case 297:
4029  #line 319 "lscp.y"  #line 328 "lscp.y"
4030      { yyval.Char = '\273'; }      { yyval.Char = '\273'; }
4031      break;      break;
4032    
4033    case 292:    case 298:
4034  #line 320 "lscp.y"  #line 329 "lscp.y"
4035      { yyval.Char = '\274'; }      { yyval.Char = '\274'; }
4036      break;      break;
4037    
4038    case 293:    case 299:
4039  #line 320 "lscp.y"  #line 329 "lscp.y"
4040      { yyval.Char = '\275'; }      { yyval.Char = '\275'; }
4041      break;      break;
4042    
4043    case 294:    case 300:
4044  #line 320 "lscp.y"  #line 329 "lscp.y"
4045      { yyval.Char = '\276'; }      { yyval.Char = '\276'; }
4046      break;      break;
4047    
4048    case 295:    case 301:
4049  #line 321 "lscp.y"  #line 330 "lscp.y"
4050      { yyval.Char = '\277'; }      { yyval.Char = '\277'; }
4051      break;      break;
4052    
4053    case 296:    case 302:
4054  #line 321 "lscp.y"  #line 330 "lscp.y"
4055      { yyval.Char = '\300'; }      { yyval.Char = '\300'; }
4056      break;      break;
4057    
4058    case 297:    case 303:
4059  #line 321 "lscp.y"  #line 330 "lscp.y"
4060      { yyval.Char = '\301'; }      { yyval.Char = '\301'; }
4061      break;      break;
4062    
4063    case 298:    case 304:
4064  #line 322 "lscp.y"  #line 331 "lscp.y"
4065      { yyval.Char = '\302'; }      { yyval.Char = '\302'; }
4066      break;      break;
4067    
4068    case 299:    case 305:
4069  #line 322 "lscp.y"  #line 331 "lscp.y"
4070      { yyval.Char = '\303'; }      { yyval.Char = '\303'; }
4071      break;      break;
4072    
4073    case 300:    case 306:
4074  #line 322 "lscp.y"  #line 331 "lscp.y"
4075      { yyval.Char = '\304'; }      { yyval.Char = '\304'; }
4076      break;      break;
4077    
4078    case 301:    case 307:
4079  #line 323 "lscp.y"  #line 332 "lscp.y"
4080      { yyval.Char = '\305'; }      { yyval.Char = '\305'; }
4081      break;      break;
4082    
4083    case 302:    case 308:
4084  #line 323 "lscp.y"  #line 332 "lscp.y"
4085      { yyval.Char = '\306'; }      { yyval.Char = '\306'; }
4086      break;      break;
4087    
4088    case 303:    case 309:
4089  #line 323 "lscp.y"  #line 332 "lscp.y"
4090      { yyval.Char = '\307'; }      { yyval.Char = '\307'; }
4091      break;      break;
4092    
4093    case 304:    case 310:
4094  #line 324 "lscp.y"  #line 333 "lscp.y"
4095      { yyval.Char = '\310'; }      { yyval.Char = '\310'; }
4096      break;      break;
4097    
4098    case 305:    case 311:
4099  #line 324 "lscp.y"  #line 333 "lscp.y"
4100      { yyval.Char = '\311'; }      { yyval.Char = '\311'; }
4101      break;      break;
4102    
4103    case 306:    case 312:
4104  #line 324 "lscp.y"  #line 333 "lscp.y"
4105      { yyval.Char = '\312'; }      { yyval.Char = '\312'; }
4106      break;      break;
4107    
4108    case 307:    case 313:
4109  #line 325 "lscp.y"  #line 334 "lscp.y"
4110      { yyval.Char = '\313'; }      { yyval.Char = '\313'; }
4111      break;      break;
4112    
4113    case 308:    case 314:
4114  #line 325 "lscp.y"  #line 334 "lscp.y"
4115      { yyval.Char = '\314'; }      { yyval.Char = '\314'; }
4116      break;      break;
4117    
4118    case 309:    case 315:
4119  #line 325 "lscp.y"  #line 334 "lscp.y"
4120      { yyval.Char = '\315'; }      { yyval.Char = '\315'; }
4121      break;      break;
4122    
4123    case 310:    case 316:
4124  #line 326 "lscp.y"  #line 335 "lscp.y"
4125      { yyval.Char = '\316'; }      { yyval.Char = '\316'; }
4126      break;      break;
4127    
4128    case 311:    case 317:
4129  #line 326 "lscp.y"  #line 335 "lscp.y"
4130      { yyval.Char = '\317'; }      { yyval.Char = '\317'; }
4131      break;      break;
4132    
4133    case 312:    case 318:
4134  #line 326 "lscp.y"  #line 335 "lscp.y"
4135      { yyval.Char = '\320'; }      { yyval.Char = '\320'; }
4136      break;      break;
4137    
4138    case 313:    case 319:
4139  #line 327 "lscp.y"  #line 336 "lscp.y"
4140      { yyval.Char = '\321'; }      { yyval.Char = '\321'; }
4141      break;      break;
4142    
4143    case 314:    case 320:
4144  #line 327 "lscp.y"  #line 336 "lscp.y"
4145      { yyval.Char = '\322'; }      { yyval.Char = '\322'; }
4146      break;      break;
4147    
4148    case 315:    case 321:
4149  #line 327 "lscp.y"  #line 336 "lscp.y"
4150      { yyval.Char = '\323'; }      { yyval.Char = '\323'; }
4151      break;      break;
4152    
4153    case 316:    case 322:
4154  #line 328 "lscp.y"  #line 337 "lscp.y"
4155      { yyval.Char = '\324'; }      { yyval.Char = '\324'; }
4156      break;      break;
4157    
4158    case 317:    case 323:
4159  #line 328 "lscp.y"  #line 337 "lscp.y"
4160      { yyval.Char = '\325'; }      { yyval.Char = '\325'; }
4161      break;      break;
4162    
4163    case 318:    case 324:
4164  #line 328 "lscp.y"  #line 337 "lscp.y"
4165      { yyval.Char = '\326'; }      { yyval.Char = '\326'; }
4166      break;      break;
4167    
4168    case 319:    case 325:
4169  #line 329 "lscp.y"  #line 338 "lscp.y"
4170      { yyval.Char = '\327'; }      { yyval.Char = '\327'; }
4171      break;      break;
4172    
4173    case 320:    case 326:
4174  #line 329 "lscp.y"  #line 338 "lscp.y"
4175      { yyval.Char = '\330'; }      { yyval.Char = '\330'; }
4176      break;      break;
4177    
4178    case 321:    case 327:
4179  #line 329 "lscp.y"  #line 338 "lscp.y"
4180      { yyval.Char = '\331'; }      { yyval.Char = '\331'; }
4181      break;      break;
4182    
4183    case 322:    case 328:
4184  #line 330 "lscp.y"  #line 339 "lscp.y"
4185      { yyval.Char = '\332'; }      { yyval.Char = '\332'; }
4186      break;      break;
4187    
4188    case 323:    case 329:
4189  #line 330 "lscp.y"  #line 339 "lscp.y"
4190      { yyval.Char = '\333'; }      { yyval.Char = '\333'; }
4191      break;      break;
4192    
4193    case 324:    case 330:
4194  #line 330 "lscp.y"  #line 339 "lscp.y"
4195      { yyval.Char = '\334'; }      { yyval.Char = '\334'; }
4196      break;      break;
4197    
4198    case 325:    case 331:
4199  #line 331 "lscp.y"  #line 340 "lscp.y"
4200      { yyval.Char = '\335'; }      { yyval.Char = '\335'; }
4201      break;      break;
4202    
4203    case 326:    case 332:
4204  #line 331 "lscp.y"  #line 340 "lscp.y"
4205      { yyval.Char = '\336'; }      { yyval.Char = '\336'; }
4206      break;      break;
4207    
4208    case 327:    case 333:
4209  #line 331 "lscp.y"  #line 340 "lscp.y"
4210      { yyval.Char = '\337'; }      { yyval.Char = '\337'; }
4211      break;      break;
4212    
4213    case 328:    case 334:
4214  #line 332 "lscp.y"  #line 341 "lscp.y"
4215      { yyval.Char = '\340'; }      { yyval.Char = '\340'; }
4216      break;      break;
4217    
4218    case 329:    case 335:
4219  #line 332 "lscp.y"  #line 341 "lscp.y"
4220      { yyval.Char = '\341'; }      { yyval.Char = '\341'; }
4221      break;      break;
4222    
4223    case 330:    case 336:
4224  #line 332 "lscp.y"  #line 341 "lscp.y"
4225      { yyval.Char = '\342'; }      { yyval.Char = '\342'; }
4226      break;      break;
4227    
4228    case 331:    case 337:
4229  #line 333 "lscp.y"  #line 342 "lscp.y"
4230      { yyval.Char = '\343'; }      { yyval.Char = '\343'; }
4231      break;      break;
4232    
4233    case 332:    case 338:
4234  #line 333 "lscp.y"  #line 342 "lscp.y"
4235      { yyval.Char = '\344'; }      { yyval.Char = '\344'; }
4236      break;      break;
4237    
4238    case 333:    case 339:
4239  #line 333 "lscp.y"  #line 342 "lscp.y"
4240      { yyval.Char = '\345'; }      { yyval.Char = '\345'; }
4241      break;      break;
4242    
4243    case 334:    case 340:
4244  #line 334 "lscp.y"  #line 343 "lscp.y"
4245      { yyval.Char = '\346'; }      { yyval.Char = '\346'; }
4246      break;      break;
4247    
4248    case 335:    case 341:
4249  #line 334 "lscp.y"  #line 343 "lscp.y"
4250      { yyval.Char = '\347'; }      { yyval.Char = '\347'; }
4251      break;      break;
4252    
4253    case 336:    case 342:
4254  #line 334 "lscp.y"  #line 343 "lscp.y"
4255      { yyval.Char = '\350'; }      { yyval.Char = '\350'; }
4256      break;      break;
4257    
4258    case 337:    case 343:
4259  #line 335 "lscp.y"  #line 344 "lscp.y"
4260      { yyval.Char = '\351'; }      { yyval.Char = '\351'; }
4261      break;      break;
4262    
4263    case 338:    case 344:
4264  #line 335 "lscp.y"  #line 344 "lscp.y"
4265      { yyval.Char = '\352'; }      { yyval.Char = '\352'; }
4266      break;      break;
4267    
4268    case 339:    case 345:
4269  #line 335 "lscp.y"  #line 344 "lscp.y"
4270      { yyval.Char = '\353'; }      { yyval.Char = '\353'; }
4271      break;      break;
4272    
4273    case 340:    case 346:
4274  #line 336 "lscp.y"  #line 345 "lscp.y"
4275      { yyval.Char = '\354'; }      { yyval.Char = '\354'; }
4276      break;      break;
4277    
4278    case 341:    case 347:
4279  #line 336 "lscp.y"  #line 345 "lscp.y"
4280      { yyval.Char = '\355'; }      { yyval.Char = '\355'; }
4281      break;      break;
4282    
4283    case 342:    case 348:
4284  #line 336 "lscp.y"  #line 345 "lscp.y"
4285      { yyval.Char = '\356'; }      { yyval.Char = '\356'; }
4286      break;      break;
4287    
4288    case 343:    case 349:
4289  #line 337 "lscp.y"  #line 346 "lscp.y"
4290      { yyval.Char = '\357'; }      { yyval.Char = '\357'; }
4291      break;      break;
4292    
4293    case 344:    case 350:
4294  #line 337 "lscp.y"  #line 346 "lscp.y"
4295      { yyval.Char = '\360'; }      { yyval.Char = '\360'; }
4296      break;      break;
4297    
4298    case 345:    case 351:
4299  #line 337 "lscp.y"  #line 346 "lscp.y"
4300      { yyval.Char = '\361'; }      { yyval.Char = '\361'; }
4301      break;      break;
4302    
4303    case 346:    case 352:
4304  #line 338 "lscp.y"  #line 347 "lscp.y"
4305      { yyval.Char = '\362'; }      { yyval.Char = '\362'; }
4306      break;      break;
4307    
4308    case 347:    case 353:
4309  #line 338 "lscp.y"  #line 347 "lscp.y"
4310      { yyval.Char = '\363'; }      { yyval.Char = '\363'; }
4311      break;      break;
4312    
4313    case 348:    case 354:
4314  #line 338 "lscp.y"  #line 347 "lscp.y"
4315      { yyval.Char = '\364'; }      { yyval.Char = '\364'; }
4316      break;      break;
4317    
4318    case 349:    case 355:
4319  #line 339 "lscp.y"  #line 348 "lscp.y"
4320      { yyval.Char = '\365'; }      { yyval.Char = '\365'; }
4321      break;      break;
4322    
4323    case 350:    case 356:
4324  #line 339 "lscp.y"  #line 348 "lscp.y"
4325      { yyval.Char = '\366'; }      { yyval.Char = '\366'; }
4326      break;      break;
4327    
4328    case 351:    case 357:
4329  #line 339 "lscp.y"  #line 348 "lscp.y"
4330      { yyval.Char = '\367'; }      { yyval.Char = '\367'; }
4331      break;      break;
4332    
4333    case 352:    case 358:
4334  #line 340 "lscp.y"  #line 349 "lscp.y"
4335      { yyval.Char = '\370'; }      { yyval.Char = '\370'; }
4336      break;      break;
4337    
4338    case 353:    case 359:
4339  #line 340 "lscp.y"  #line 349 "lscp.y"
4340      { yyval.Char = '\371'; }      { yyval.Char = '\371'; }
4341      break;      break;
4342    
4343    case 354:    case 360:
4344  #line 340 "lscp.y"  #line 349 "lscp.y"
4345      { yyval.Char = '\372'; }      { yyval.Char = '\372'; }
4346      break;      break;
4347    
4348    case 355:    case 361:
4349  #line 341 "lscp.y"  #line 350 "lscp.y"
4350      { yyval.Char = '\373'; }      { yyval.Char = '\373'; }
4351      break;      break;
4352    
4353    case 356:    case 362:
4354  #line 341 "lscp.y"  #line 350 "lscp.y"
4355      { yyval.Char = '\374'; }      { yyval.Char = '\374'; }
4356      break;      break;
4357    
4358    case 357:    case 363:
4359  #line 341 "lscp.y"  #line 350 "lscp.y"
4360      { yyval.Char = '\375'; }      { yyval.Char = '\375'; }
4361      break;      break;
4362    
4363    case 358:    case 364:
4364  #line 342 "lscp.y"  #line 351 "lscp.y"
4365      { yyval.Char = '\376'; }      { yyval.Char = '\376'; }
4366      break;      break;
4367    
4368    case 359:    case 365:
4369  #line 342 "lscp.y"  #line 351 "lscp.y"
4370      { yyval.Char = '\377'; }      { yyval.Char = '\377'; }
4371      break;      break;
4372    
4373    case 360:    case 366:
4374  #line 345 "lscp.y"  #line 354 "lscp.y"
4375      { yyval.String = " ";      }      { yyval.String = " ";      }
4376      break;      break;
4377    
4378    case 362:    case 368:
4379  #line 347 "lscp.y"  #line 356 "lscp.y"
4380      { yyval.String = yyvsp[-1].String + " "; }      { yyval.String = yyvsp[-1].String + " "; }
4381      break;      break;
4382    
4383    case 363:    case 369:
4384  #line 348 "lscp.y"  #line 357 "lscp.y"
4385      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }
4386      break;      break;
4387    
4388    case 364:    case 370:
4389  #line 351 "lscp.y"  #line 360 "lscp.y"
4390      { yyval.String = yyvsp[-1].String; }      { yyval.String = yyvsp[-1].String; }
4391      break;      break;
4392    
4393    case 365:    case 371:
4394  #line 352 "lscp.y"  #line 361 "lscp.y"
4395      { yyval.String = yyvsp[-1].String; }      { yyval.String = yyvsp[-1].String; }
4396      break;      break;
4397    
4398    
4399      }      }
4400    
4401  /* Line 999 of yacc.c.  */  /* Line 1010 of yacc.c.  */
4402  #line 4255 "y.tab.c"  #line 4403 "y.tab.c"
4403    
4404    yyvsp -= yylen;    yyvsp -= yylen;
4405    yyssp -= yylen;    yyssp -= yylen;
# Line 4293  yyerrlab: Line 4440  yyerrlab:
4440          {          {
4441            YYSIZE_T yysize = 0;            YYSIZE_T yysize = 0;
4442            int yytype = YYTRANSLATE (yychar);            int yytype = YYTRANSLATE (yychar);
4443              const char* yyprefix;
4444            char *yymsg;            char *yymsg;
4445            int yyx, yycount;            int yyx;
4446    
           yycount = 0;  
4447            /* Start YYX at -YYN if negative to avoid negative indexes in            /* Start YYX at -YYN if negative to avoid negative indexes in
4448               YYCHECK.  */               YYCHECK.  */
4449            for (yyx = yyn < 0 ? -yyn : 0;            int yyxbegin = yyn < 0 ? -yyn : 0;
4450                 yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)  
4451              /* Stay within bounds of both yycheck and yytname.  */
4452              int yychecklim = YYLAST - yyn;
4453              int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
4454              int yycount = 0;
4455    
4456              yyprefix = ", expecting ";
4457              for (yyx = yyxbegin; yyx < yyxend; ++yyx)
4458              if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)              if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
4459                yysize += yystrlen (yytname[yyx]) + 15, yycount++;                {
4460            yysize += yystrlen ("syntax error, unexpected ") + 1;                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
4461            yysize += yystrlen (yytname[yytype]);                  yycount += 1;
4462                    if (yycount == 5)
4463                      {
4464                        yysize = 0;
4465                        break;
4466                      }
4467                  }
4468              yysize += (sizeof ("syntax error, unexpected ")
4469                         + yystrlen (yytname[yytype]));
4470            yymsg = (char *) YYSTACK_ALLOC (yysize);            yymsg = (char *) YYSTACK_ALLOC (yysize);
4471            if (yymsg != 0)            if (yymsg != 0)
4472              {              {
# Line 4313  yyerrlab: Line 4475  yyerrlab:
4475    
4476                if (yycount < 5)                if (yycount < 5)
4477                  {                  {
4478                    yycount = 0;                    yyprefix = ", expecting ";
4479                    for (yyx = yyn < 0 ? -yyn : 0;                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)
                        yyx < (int) (sizeof (yytname) / sizeof (char *));  
                        yyx++)  
4480                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
4481                        {                        {
4482                          const char *yyq = ! yycount ? ", expecting " : " or ";                          yyp = yystpcpy (yyp, yyprefix);
                         yyp = yystpcpy (yyp, yyq);  
4483                          yyp = yystpcpy (yyp, yytname[yyx]);                          yyp = yystpcpy (yyp, yytname[yyx]);
4484                          yycount++;                          yyprefix = " or ";
4485                        }                        }
4486                  }                  }
4487                yyerror (yymsg);                yyerror (yymsg);
# Line 4343  yyerrlab: Line 4502  yyerrlab:
4502        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse lookahead token after an
4503           error, discard it.  */           error, discard it.  */
4504    
4505        /* Return failure if at end of input.  */        if (yychar <= YYEOF)
       if (yychar == YYEOF)  
4506          {          {
4507            /* Pop the error token.  */            /* If at end of input, pop the error token,
4508            YYPOPSTACK;               then the rest of the stack, then return failure.  */
4509            /* Pop the rest of the stack.  */            if (yychar == YYEOF)
4510            while (yyss < yyssp)               for (;;)
4511              {                 {
4512                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);                   YYPOPSTACK;
4513                yydestruct (yystos[*yyssp], yyvsp);                   if (yyssp == yyss)
4514                YYPOPSTACK;                     YYABORT;
4515              }                   YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
4516            YYABORT;                   yydestruct (yystos[*yyssp], yyvsp);
4517                   }
4518          }          }
4519          else
4520            {
4521              YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
4522              yydestruct (yytoken, &yylval);
4523              yychar = YYEMPTY;
4524    
4525        YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);          }
       yydestruct (yytoken, &yylval);  
       yychar = YYEMPTY;  
   
4526      }      }
4527    
4528    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse lookahead token after shifting the error
# Line 4369  yyerrlab: Line 4530  yyerrlab:
4530    goto yyerrlab1;    goto yyerrlab1;
4531    
4532    
4533  /*----------------------------------------------------.  /*---------------------------------------------------.
4534  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrorlab -- error raised explicitly by YYERROR.  |
4535  `----------------------------------------------------*/  `---------------------------------------------------*/
4536    yyerrorlab:
4537    
4538    #ifdef __GNUC__
4539      /* Pacify GCC when the user code never invokes YYERROR and the label
4540         yyerrorlab therefore never appears in user code.  */
4541      if (0)
4542         goto yyerrorlab;
4543    #endif
4544    
4545      yyvsp -= yylen;
4546      yyssp -= yylen;
4547      yystate = *yyssp;
4548      goto yyerrlab1;
4549    
4550    
4551    /*-------------------------------------------------------------.
4552    | yyerrlab1 -- common code for both syntax error and YYERROR.  |
4553    `-------------------------------------------------------------*/
4554  yyerrlab1:  yyerrlab1:
4555    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
4556    
# Line 4395  yyerrlab1: Line 4574  yyerrlab1:
4574    
4575        YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);        YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
4576        yydestruct (yystos[yystate], yyvsp);        yydestruct (yystos[yystate], yyvsp);
4577        yyvsp--;        YYPOPSTACK;
4578        yystate = *--yyssp;        yystate = *yyssp;
   
4579        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
4580      }      }
4581    
# Line 4446  yyreturn: Line 4624  yyreturn:
4624  }  }
4625    
4626    
4627  #line 514 "lscp.y"  #line 523 "lscp.y"
4628    
4629    
4630  /**  /**

Legend:
Removed from v.397  
changed lines
  Added in v.528

  ViewVC Help
Powered by ViewVC