/[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 556 by schoenebeck, Sat May 21 01:10:12 2005 UTC revision 1187 by iliev, Wed May 16 14:22:26 2007 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875d.  */  /* A Bison parser, made by GNU Bison 2.3.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton implementation for Bison's Yacc-like parsers in C
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.  
5       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6       Free Software Foundation, Inc.
7    
8     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
9     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 15  Line 17 
17    
18     You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
19     along with this program; if not, write to the Free Software     along with this program; if not, write to the Free Software
20     Foundation, Inc., 59 Temple Place - Suite 330,     Foundation, Inc., 51 Franklin Street, Fifth Floor,
21     Boston, MA 02111-1307, USA.  */     Boston, MA 02110-1301, USA.  */
22    
23    /* As a special exception, you may create a larger work that contains
24       part or all of the Bison parser skeleton and distribute that work
25       under terms of your choice, so long as that work isn't itself a
26       parser generator using the skeleton or a modified version thereof
27       as a parser skeleton.  Alternatively, if you modify or redistribute
28       the parser skeleton itself, you may (at your option) remove this
29       special exception, which will cause the skeleton and the resulting
30       Bison output files to be licensed under the GNU General Public
31       License without this special exception.
32    
33  /* As a special exception, when this file is copied by Bison into a     This special exception was added by the Free Software Foundation in
34     Bison output file, you may use that output file without restriction.     version 2.2 of Bison.  */
    This special exception was added by the Free Software Foundation  
    in version 1.24 of Bison.  */  
35    
36  /* Written by Richard Stallman by simplifying the original so called  /* C LALR(1) parser skeleton written by Richard Stallman, by
37     ``semantic'' parser.  */     simplifying the original so-called "semantic" parser.  */
38    
39  /* All symbols defined below should begin with yy or YY, to avoid  /* All symbols defined below should begin with yy or YY, to avoid
40     infringing on user name space.  This should be done even for local     infringing on user name space.  This should be done even for local
# Line 36  Line 46 
46  /* Identify Bison output.  */  /* Identify Bison output.  */
47  #define YYBISON 1  #define YYBISON 1
48    
49    /* Bison version.  */
50    #define YYBISON_VERSION "2.3"
51    
52  /* Skeleton name.  */  /* Skeleton name.  */
53  #define YYSKELETON_NAME "yacc.c"  #define YYSKELETON_NAME "yacc.c"
54    
# Line 50  Line 63 
63    
64    
65    
66    
67  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
68  #line 27 "lscp.y"  #line 31 "lscp.y"
69    
70    
71  #include "lscpparser.h"  #include "lscpparser.h"
# Line 104  int yylex(YYSTYPE* yylval) { Line 118  int yylex(YYSTYPE* yylval) {
118  # define YYERROR_VERBOSE 0  # define YYERROR_VERBOSE 0
119  #endif  #endif
120    
121  #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)  /* Enabling the token table.  */
122    #ifndef YYTOKEN_TABLE
123    # define YYTOKEN_TABLE 0
124    #endif
125    
126    #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
127  typedef int YYSTYPE;  typedef int YYSTYPE;
128  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
129  # define YYSTYPE_IS_DECLARED 1  # define YYSTYPE_IS_DECLARED 1
# Line 116  typedef int YYSTYPE; Line 135  typedef int YYSTYPE;
135  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
136    
137    
138  /* Line 214 of yacc.c.  */  /* Line 216 of yacc.c.  */
139  #line 121 "y.tab.c"  #line 140 "y.tab.c"
140    
141    #ifdef short
142    # undef short
143    #endif
144    
145  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #ifdef YYTYPE_UINT8
146    typedef YYTYPE_UINT8 yytype_uint8;
147    #else
148    typedef unsigned char yytype_uint8;
149    #endif
150    
151  # ifndef YYFREE  #ifdef YYTYPE_INT8
152  #  define YYFREE free  typedef YYTYPE_INT8 yytype_int8;
153    #elif (defined __STDC__ || defined __C99__FUNC__ \
154         || defined __cplusplus || defined _MSC_VER)
155    typedef signed char yytype_int8;
156    #else
157    typedef short int yytype_int8;
158    #endif
159    
160    #ifdef YYTYPE_UINT16
161    typedef YYTYPE_UINT16 yytype_uint16;
162    #else
163    typedef unsigned short int yytype_uint16;
164    #endif
165    
166    #ifdef YYTYPE_INT16
167    typedef YYTYPE_INT16 yytype_int16;
168    #else
169    typedef short int yytype_int16;
170    #endif
171    
172    #ifndef YYSIZE_T
173    # ifdef __SIZE_TYPE__
174    #  define YYSIZE_T __SIZE_TYPE__
175    # elif defined size_t
176    #  define YYSIZE_T size_t
177    # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
178         || defined __cplusplus || defined _MSC_VER)
179    #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
180    #  define YYSIZE_T size_t
181    # else
182    #  define YYSIZE_T unsigned int
183  # endif  # endif
184  # ifndef YYMALLOC  #endif
185  #  define YYMALLOC malloc  
186    #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187    
188    #ifndef YY_
189    # if YYENABLE_NLS
190    #  if ENABLE_NLS
191    #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192    #   define YY_(msgid) dgettext ("bison-runtime", msgid)
193    #  endif
194  # endif  # endif
195    # ifndef YY_
196    #  define YY_(msgid) msgid
197    # endif
198    #endif
199    
200    /* Suppress unused-variable warnings by "using" E.  */
201    #if ! defined lint || defined __GNUC__
202    # define YYUSE(e) ((void) (e))
203    #else
204    # define YYUSE(e) /* empty */
205    #endif
206    
207    /* Identity function, used to suppress warnings about constant conditions.  */
208    #ifndef lint
209    # define YYID(n) (n)
210    #else
211    #if (defined __STDC__ || defined __C99__FUNC__ \
212         || defined __cplusplus || defined _MSC_VER)
213    static int
214    YYID (int i)
215    #else
216    static int
217    YYID (i)
218        int i;
219    #endif
220    {
221      return i;
222    }
223    #endif
224    
225    #if ! defined yyoverflow || YYERROR_VERBOSE
226    
227  /* The parser invokes alloca or malloc; define the necessary symbols.  */  /* The parser invokes alloca or malloc; define the necessary symbols.  */
228    
229  # ifdef YYSTACK_USE_ALLOCA  # ifdef YYSTACK_USE_ALLOCA
230  #  if YYSTACK_USE_ALLOCA  #  if YYSTACK_USE_ALLOCA
 #   define YYSTACK_ALLOC alloca  
 #  endif  
 # else  
 #  if defined (alloca) || defined (_ALLOCA_H)  
 #   define YYSTACK_ALLOC alloca  
 #  else  
231  #   ifdef __GNUC__  #   ifdef __GNUC__
232  #    define YYSTACK_ALLOC __builtin_alloca  #    define YYSTACK_ALLOC __builtin_alloca
233    #   elif defined __BUILTIN_VA_ARG_INCR
234    #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
235    #   elif defined _AIX
236    #    define YYSTACK_ALLOC __alloca
237    #   elif defined _MSC_VER
238    #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
239    #    define alloca _alloca
240    #   else
241    #    define YYSTACK_ALLOC alloca
242    #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
243         || defined __cplusplus || defined _MSC_VER)
244    #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
245    #     ifndef _STDLIB_H
246    #      define _STDLIB_H 1
247    #     endif
248    #    endif
249  #   endif  #   endif
250  #  endif  #  endif
251  # endif  # endif
252    
253  # ifdef YYSTACK_ALLOC  # ifdef YYSTACK_ALLOC
254     /* Pacify GCC's `empty if-body' warning. */     /* Pacify GCC's `empty if-body' warning.  */
255  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
256  # else  #  ifndef YYSTACK_ALLOC_MAXIMUM
257  #  if defined (__STDC__) || defined (__cplusplus)      /* The OS might guarantee only one guard page at the bottom of the stack,
258  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */         and a page size can be as small as 4096 bytes.  So we cannot safely
259  #   define YYSIZE_T size_t         invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
260           to allow for a few compiler-allocated temporary stack slots.  */
261    #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262  #  endif  #  endif
263    # else
264  #  define YYSTACK_ALLOC YYMALLOC  #  define YYSTACK_ALLOC YYMALLOC
265  #  define YYSTACK_FREE YYFREE  #  define YYSTACK_FREE YYFREE
266    #  ifndef YYSTACK_ALLOC_MAXIMUM
267    #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268    #  endif
269    #  if (defined __cplusplus && ! defined _STDLIB_H \
270           && ! ((defined YYMALLOC || defined malloc) \
271                 && (defined YYFREE || defined free)))
272    #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273    #   ifndef _STDLIB_H
274    #    define _STDLIB_H 1
275    #   endif
276    #  endif
277    #  ifndef YYMALLOC
278    #   define YYMALLOC malloc
279    #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280         || defined __cplusplus || defined _MSC_VER)
281    void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282    #   endif
283    #  endif
284    #  ifndef YYFREE
285    #   define YYFREE free
286    #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287         || defined __cplusplus || defined _MSC_VER)
288    void free (void *); /* INFRINGES ON USER NAME SPACE */
289    #   endif
290    #  endif
291  # endif  # endif
292  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */  #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
293    
294    
295  #if (! defined (yyoverflow) \  #if (! defined yyoverflow \
296       && (! defined (__cplusplus) \       && (! defined __cplusplus \
297           || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))           || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
298    
299  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
300  union yyalloc  union yyalloc
301  {  {
302    short int yyss;    yytype_int16 yyss;
303    YYSTYPE yyvs;    YYSTYPE yyvs;
304    };    };
305    
# Line 175  union yyalloc Line 309  union yyalloc
309  /* 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
310     N elements.  */     N elements.  */
311  # define YYSTACK_BYTES(N) \  # define YYSTACK_BYTES(N) \
312       ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
313        + YYSTACK_GAP_MAXIMUM)        + YYSTACK_GAP_MAXIMUM)
314    
315  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
316     not overlap.  */     not overlap.  */
317  # ifndef YYCOPY  # ifndef YYCOPY
318  #  if defined (__GNUC__) && 1 < __GNUC__  #  if defined __GNUC__ && 1 < __GNUC__
319  #   define YYCOPY(To, From, Count) \  #   define YYCOPY(To, From, Count) \
320        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
321  #  else  #  else
322  #   define YYCOPY(To, From, Count)              \  #   define YYCOPY(To, From, Count)              \
323        do                                        \        do                                        \
324          {                                       \          {                                       \
325            register YYSIZE_T yyi;                \            YYSIZE_T yyi;                         \
326            for (yyi = 0; yyi < (Count); yyi++)   \            for (yyi = 0; yyi < (Count); yyi++)   \
327              (To)[yyi] = (From)[yyi];            \              (To)[yyi] = (From)[yyi];            \
328          }                                       \          }                                       \
329        while (0)        while (YYID (0))
330  #  endif  #  endif
331  # endif  # endif
332    
# Line 210  union yyalloc Line 344  union yyalloc
344          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345          yyptr += yynewbytes / sizeof (*yyptr);                          \          yyptr += yynewbytes / sizeof (*yyptr);                          \
346        }                                                                 \        }                                                                 \
347      while (0)      while (YYID (0))
348    
349  #endif  #endif
350    
351  #if defined (__STDC__) || defined (__cplusplus)  /* YYFINAL -- State number of the termination state.  */
352     typedef signed char yysigned_char;  #define YYFINAL  52
 #else  
    typedef short int yysigned_char;  
 #endif  
   
 /* YYFINAL -- State number of the termination state. */  
 #define YYFINAL  40  
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   4475  #define YYLAST   5508
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  227  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  94  #define YYNNTS  165
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  425  #define YYNRULES  601
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1172  #define YYNSTATES  2038
364    
365  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
366  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
367  #define YYMAXUTOK   257  #define YYMAXUTOK   257
368    
369  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
370    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371    
372  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
373  static const unsigned char yytranslate[] =  static const yytype_uint8 yytranslate[] =
374  {  {
375         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
376       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
377         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
378         2,     2,   224,    73,     7,     3,    74,    75,    76,     6,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        77,    78,    79,     9,     5,    10,     8,    80,    11,    12,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        13,    14,    15,    16,    17,    18,    19,    20,    81,    82,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        83,     4,    84,    85,    86,    21,    22,    23,    24,    25,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384        46,    87,    88,    89,    90,    91,     2,    47,    48,    49,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387        70,    71,    72,    92,    93,    94,    95,     2,    96,    97,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
391       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
392       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
393       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
394       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
395       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
396       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
397       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
398       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
399       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
400       218,   219,   220,   221,   222,   223,     1,     2       216,   217,   218,   219,   220,   221,     1,     2
401  };  };
402    
403  #if YYDEBUG  #if YYDEBUG
404  /* 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
405     YYRHS.  */     YYRHS.  */
406  static const unsigned short int yyprhs[] =  static const yytype_uint16 yyprhs[] =
407  {  {
408         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
409        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
410        61,    65,    69,    73,    77,    83,    85,    87,    89,    91,        59,    63,    67,    71,    75,    79,    83,    87,    91,    95,
411        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        99,   101,   103,   105,   109,   117,   125,   131,   139,   141,
412       113,   115,   121,   129,   139,   141,   147,   155,   165,   167,       145,   147,   149,   151,   153,   155,   157,   159,   161,   163,
413       169,   175,   181,   189,   199,   207,   217,   219,   225,   233,       165,   167,   169,   171,   173,   175,   177,   179,   181,   183,
414       239,   245,   251,   259,   269,   277,   287,   291,   295,   301,       185,   187,   189,   191,   193,   195,   197,   199,   201,   203,
415       305,   311,   315,   319,   323,   327,   331,   337,   345,   351,       205,   207,   209,   211,   213,   215,   217,   219,   221,   223,
416       361,   367,   373,   379,   385,   391,   395,   401,   403,   405,       225,   227,   229,   231,   233,   250,   269,   288,   309,   317,
417       407,   409,   411,   413,   415,   417,   423,   431,   435,   437,       321,   325,   329,   335,   339,   343,   345,   347,   353,   361,
418       439,   441,   443,   445,   447,   449,   451,   453,   455,   457,       371,   373,   379,   387,   397,   399,   401,   407,   413,   421,
419       459,   461,   463,   467,   469,   473,   477,   479,   481,   483,       431,   439,   449,   451,   457,   465,   471,   477,   483,   487,
420       485,   487,   490,   494,   499,   504,   506,   509,   511,   513,       489,   491,   495,   499,   509,   511,   517,   521,   529,   535,
421       515,   517,   519,   521,   523,   525,   527,   529,   531,   534,       539,   545,   551,   555,   561,   563,   571,   581,   589,   599,
422       537,   540,   543,   546,   549,   552,   555,   558,   560,   562,       603,   611,   621,   633,   643,   653,   661,   669,   677,   685,
423       564,   566,   568,   570,   572,   574,   576,   578,   580,   582,       689,   693,   699,   703,   709,   713,   719,   727,   731,   735,
424       584,   586,   588,   590,   592,   594,   596,   598,   600,   602,       739,   747,   753,   761,   767,   773,   779,   785,   791,   795,
425       604,   606,   608,   610,   612,   614,   616,   618,   620,   622,       799,   805,   809,   813,   819,   827,   833,   843,   849,   855,
426       624,   626,   628,   630,   632,   634,   636,   638,   640,   642,       861,   867,   873,   879,   885,   891,   897,   903,   904,   907,
427       644,   646,   648,   650,   652,   654,   656,   658,   660,   662,       911,   917,   919,   921,   923,   925,   927,   929,   931,   933,
428       664,   666,   668,   670,   672,   674,   676,   678,   680,   682,       937,   941,   943,   947,   953,   957,   963,   967,   973,   981,
429       684,   686,   688,   690,   692,   694,   696,   698,   700,   702,       985,   987,   989,   991,   993,   995,   997,   999,  1001,  1003,
430       704,   706,   708,   710,   712,   714,   716,   718,   720,   722,      1005,  1007,  1009,  1011,  1013,  1015,  1017,  1019,  1021,  1023,
431       724,   726,   728,   730,   732,   734,   736,   738,   740,   742,      1025,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1043,  1045,
432       744,   746,   748,   750,   752,   754,   756,   758,   760,   762,      1047,  1049,  1051,  1055,  1061,  1063,  1065,  1067,  1069,  1071,
433       764,   766,   768,   770,   772,   774,   776,   778,   780,   782,      1074,  1078,  1083,  1088,  1090,  1093,  1095,  1097,  1099,  1101,
434       784,   786,   788,   790,   792,   794,   796,   798,   800,   802,      1103,  1105,  1107,  1109,  1111,  1113,  1115,  1118,  1121,  1124,
435       804,   806,   808,   810,   812,   814,   816,   818,   820,   822,      1127,  1130,  1133,  1136,  1139,  1142,  1144,  1146,  1148,  1150,
436       824,   826,   828,   830,   832,   834,   836,   838,   840,   842,      1152,  1154,  1156,  1158,  1160,  1162,  1164,  1166,  1168,  1170,
437       844,   846,   848,   850,   852,   854,   856,   858,   860,   862,      1172,  1174,  1176,  1178,  1180,  1182,  1184,  1186,  1188,  1190,
438       864,   866,   868,   870,   872,   874,   876,   878,   880,   882,      1192,  1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,  1210,
439       884,   886,   888,   890,   892,   894,   896,   898,   900,   902,      1212,  1214,  1216,  1218,  1220,  1222,  1224,  1226,  1228,  1230,
440       904,   906,   908,   910,   912,   914,   916,   918,   920,   922,      1232,  1234,  1236,  1238,  1240,  1242,  1244,  1246,  1248,  1250,
441       924,   926,   928,   930,   932,   934,   936,   938,   940,   942,      1252,  1254,  1256,  1258,  1260,  1262,  1264,  1266,  1268,  1270,
442       944,   946,   948,   950,   952,   954,   956,   958,   960,   962,      1272,  1274,  1276,  1278,  1280,  1282,  1284,  1286,  1288,  1290,
443       964,   966,   968,   970,   972,   974,   976,   978,   980,   982,      1292,  1294,  1296,  1298,  1300,  1302,  1304,  1306,  1308,  1310,
444       984,   986,   988,   990,   992,   994,   996,   998,  1000,  1003,      1312,  1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,  1330,
445      1006,  1010,  1014,  1016,  1018,  1020,  1024,  1028,  1035,  1043,      1332,  1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,  1350,
446      1048,  1053,  1057,  1067,  1074,  1078,  1088,  1100,  1107,  1115,      1352,  1354,  1356,  1358,  1360,  1362,  1364,  1366,  1368,  1370,
447      1133,  1164,  1173,  1178,  1192,  1205,  1217,  1230,  1242,  1253,      1372,  1374,  1376,  1378,  1380,  1382,  1384,  1386,  1388,  1390,
448      1260,  1290,  1311,  1331,  1361,  1381,  1412,  1433,  1451,  1480,      1392,  1394,  1396,  1398,  1400,  1402,  1404,  1406,  1408,  1410,
449      1508,  1534,  1553,  1571,  1599,  1617,  1633,  1652,  1668,  1679,      1412,  1414,  1416,  1418,  1420,  1422,  1424,  1426,  1428,  1430,
450      1686,  1692,  1703,  1709,  1723,  1728      1432,  1434,  1436,  1438,  1440,  1442,  1444,  1446,  1448,  1450,
451        1452,  1454,  1456,  1458,  1460,  1462,  1464,  1466,  1468,  1470,
452        1472,  1474,  1476,  1478,  1480,  1482,  1484,  1486,  1488,  1490,
453        1492,  1494,  1496,  1498,  1500,  1502,  1504,  1506,  1508,  1510,
454        1512,  1514,  1516,  1518,  1520,  1522,  1524,  1526,  1528,  1530,
455        1532,  1534,  1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,
456        1552,  1554,  1556,  1558,  1560,  1562,  1564,  1566,  1568,  1570,
457        1572,  1574,  1576,  1578,  1580,  1582,  1584,  1587,  1590,  1594,
458        1598,  1600,  1602,  1604,  1608,  1612,  1616,  1622,  1628,  1633,
459        1638,  1643,  1650,  1658,  1663,  1668,  1672,  1677,  1685,  1695,
460        1702,  1706,  1716,  1728,  1736,  1754,  1785,  1794,  1799,  1825,
461        1850,  1874,  1897,  1923,  1948,  1970,  1991,  2021,  2050,  2070,
462        2089,  2103,  2116,  2130,  2143,  2155,  2168,  2180,  2198,  2220,
463        2232,  2243,  2250,  2260,  2275,  2286,  2316,  2337,  2357,  2387,
464        2407,  2438,  2459,  2477,  2506,  2534,  2560,  2579,  2597,  2625,
465        2641,  2658,  2678,  2699,  2717,  2733,  2752,  2768,  2779,  2795,
466        2803,  2812,  2836,  2862,  2877,  2891,  2903,  2909,  2914,  2924,
467        2938,  2945,  2952,  2958,  2963,  2968,  2974,  2985,  2991,  3005,
468        3010,  3015
469  };  };
470    
471  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
472  static const short int yyrhs[] =  static const yytype_int16 yyrhs[] =
473  {  {
474       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,       228,     0,    -1,   229,   291,    -1,   229,   292,   291,    -1,
475        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
476         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,         3,    -1,   230,   290,    -1,   230,   286,    -1,   230,   282,
477        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,        -1,   293,   290,   232,    -1,   295,   290,   235,    -1,   296,
478       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,       290,   236,    -1,   294,   290,   238,    -1,   301,   290,   240,
479        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,        -1,   302,   290,   246,    -1,   303,   290,   252,    -1,   304,
480        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,       290,   247,    -1,   309,   290,   237,    -1,   310,   290,   239,
481       267,   233,    -1,   282,   267,   265,    -1,   317,   267,   283,        -1,   311,   290,   233,    -1,   312,   290,   234,    -1,   387,
482       267,   252,    -1,   317,    -1,   320,    -1,   288,    -1,   292,       290,   241,    -1,   297,   290,   242,    -1,   298,   290,   243,
483        -1,   291,    -1,   290,    -1,   289,    -1,   318,    -1,   288,        -1,   299,   290,   244,    -1,   300,   290,   245,    -1,   387,
484        -1,   292,    -1,   291,    -1,   290,    -1,   289,    -1,   318,        -1,   391,    -1,   313,    -1,   371,   290,   271,    -1,   373,
485        -1,   284,    -1,   303,    -1,   309,   267,   287,   267,   259,       290,   377,   290,   271,   290,   271,    -1,   373,   290,   379,
486        -1,   308,   267,   287,   267,   259,   267,   259,    -1,   308,       290,   271,   290,   271,    -1,   373,   290,   271,   290,   271,
487       267,   287,   267,   259,   267,   259,   267,   240,    -1,   285,        -1,   373,   290,   271,   290,   271,   290,   268,    -1,   361,
488        -1,   299,   267,   287,   267,   259,    -1,   298,   267,   287,        -1,   361,   290,   274,    -1,   318,    -1,   319,    -1,   320,
489       267,   259,   267,   259,    -1,   298,   267,   287,   267,   259,        -1,   321,    -1,   330,    -1,   336,    -1,   335,    -1,   334,
490       267,   259,   267,   240,    -1,   296,    -1,   306,    -1,   297,        -1,   331,    -1,   332,    -1,   333,    -1,   322,    -1,   323,
491       267,   287,   267,   263,    -1,   307,   267,   287,   267,   263,        -1,   324,    -1,   325,    -1,   326,    -1,   327,    -1,   328,
492        -1,   310,   267,   287,   267,   263,   267,   263,    -1,   305,        -1,   329,    -1,   388,    -1,   337,    -1,   339,    -1,   318,
493       267,   287,   267,   263,   267,   263,   267,   259,    -1,   301,        -1,   319,    -1,   320,    -1,   321,    -1,   330,    -1,   336,
494       267,   287,   267,   263,   267,   263,    -1,   300,   267,   287,        -1,   335,    -1,   334,    -1,   331,    -1,   332,    -1,   333,
495       267,   263,   267,   263,   267,   259,    -1,   286,    -1,   283,        -1,   322,    -1,   323,    -1,   324,    -1,   325,    -1,   326,
496       267,   287,   267,   252,    -1,   283,   267,   290,   267,   241,        -1,   327,    -1,   328,    -1,   329,    -1,   388,    -1,   337,
497       267,   252,    -1,   283,   267,   291,   267,   252,    -1,   283,        -1,   339,    -1,   359,   290,   249,   262,   290,   263,   290,
498       267,   292,   267,   252,    -1,   294,   267,   287,   267,   254,       264,   290,   270,   290,   273,   290,   268,   290,   266,    -1,
499        -1,   295,   267,   263,   267,   259,     4,   256,    -1,   300,       359,   290,   249,   262,   290,   263,   290,   264,   290,   270,
500       267,   263,   267,   263,   267,   259,     4,   256,    -1,   304,       290,   273,   290,   268,   290,   266,   290,   255,    -1,   359,
501       267,   263,   267,   259,     4,   256,    -1,   305,   267,   263,       290,   249,   262,   290,   263,   290,   264,   290,   270,   290,
502       267,   263,   267,   259,     4,   256,    -1,   283,   267,   239,       273,   290,   268,   290,   266,   290,   275,    -1,   359,   290,
503        -1,   319,   267,   258,    -1,   297,   267,   259,   267,   240,       249,   262,   290,   263,   290,   264,   290,   270,   290,   273,
504        -1,   297,   267,   259,    -1,   307,   267,   259,   267,   240,       290,   268,   290,   266,   290,   255,   290,   275,    -1,   359,
505        -1,   307,   267,   259,    -1,   297,   267,   263,    -1,   307,       290,   262,   290,   263,   290,   264,    -1,   313,   290,   267,
506       267,   263,    -1,   293,   267,   243,    -1,   294,   267,   244,        -1,   361,   290,   262,    -1,   361,   290,   305,    -1,   371,
507        -1,   297,   267,   252,   267,   245,    -1,   301,   267,   252,       290,   376,   290,   271,    -1,   371,   290,   271,    -1,   374,
508       267,   246,   267,   246,    -1,   302,   267,   252,   267,   247,       290,   271,    -1,   314,    -1,   353,    -1,   363,   290,   317,
509        -1,   313,   267,   252,   267,   245,   267,   248,   267,   249,       290,   282,    -1,   358,   290,   317,   290,   282,   290,   282,
510        -1,   307,   267,   252,   267,   245,    -1,   310,   267,   252,        -1,   358,   290,   317,   290,   282,   290,   282,   290,   250,
511       267,   248,    -1,   311,   267,   252,   267,   249,    -1,   312,        -1,   315,    -1,   349,   290,   317,   290,   282,    -1,   348,
512       267,   252,   267,   250,    -1,   314,   267,   252,   267,   251,       290,   317,   290,   282,   290,   282,    -1,   348,   290,   317,
513        -1,   259,     4,   256,    -1,   240,   267,   259,     4,   256,       290,   282,   290,   282,   290,   250,    -1,   346,    -1,   356,
514        -1,   315,    -1,   316,    -1,   296,    -1,   306,    -1,   286,        -1,   347,   290,   317,   290,   286,    -1,   357,   290,   317,
515        -1,   284,    -1,   303,    -1,   285,    -1,   255,   267,   253,       290,   286,    -1,   364,   290,   317,   290,   286,   290,   286,
516       267,   252,    -1,   277,   267,   255,   267,   253,   267,   252,        -1,   355,   290,   317,   290,   286,   290,   286,   290,   282,
517        -1,   254,   267,   252,    -1,   263,    -1,   263,    -1,   259,        -1,   351,   290,   317,   290,   286,   290,   286,    -1,   350,
518        -1,   263,    -1,   263,    -1,   276,    -1,   259,    -1,   260,       290,   317,   290,   286,   290,   286,   290,   282,    -1,   316,
519        -1,   263,    -1,   263,    -1,   263,    -1,   259,    -1,   266,        -1,   313,   290,   317,   290,   267,    -1,   313,   290,   334,
520        -1,   257,    -1,   256,     5,   257,    -1,   259,    -1,     6,       290,   251,   290,   267,    -1,   313,   290,   335,   290,   267,
521       259,     6,    -1,     7,   259,     7,    -1,   263,    -1,   260,        -1,   313,   290,   336,   290,   267,    -1,   341,   290,   317,
522        -1,   263,    -1,   259,    -1,   264,    -1,   259,   264,    -1,       290,   270,    -1,   380,   290,   317,    -1,   337,    -1,   338,
523       261,     8,   261,    -1,     9,   261,     8,   261,    -1,    10,        -1,   360,   290,   262,    -1,   360,   290,   305,    -1,   359,
524       261,     8,   261,    -1,   262,    -1,   261,   262,    -1,    11,       290,   317,   290,   262,   290,   263,   290,   264,    -1,   362,
525        -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,    16,        -1,   361,   290,   317,   290,   262,    -1,   370,   290,   267,
526        -1,    17,    -1,    18,    -1,    19,    -1,    20,    -1,   262,        -1,   369,   290,   317,   290,   267,   290,   269,    -1,   372,
527        -1,    12,   261,    -1,    13,   261,    -1,    14,   261,    -1,       290,   378,   290,   271,    -1,   372,   290,   271,    -1,   371,
528        15,   261,    -1,    16,   261,    -1,    17,   261,    -1,    18,       290,   317,   290,   271,    -1,   373,   290,   378,   290,   271,
529       261,    -1,    19,   261,    -1,    20,   261,    -1,    21,    -1,        -1,   373,   290,   271,    -1,   374,   290,   317,   290,   271,
530        22,    -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,        -1,   381,    -1,   345,   290,   286,   290,   282,     4,   277,
531        27,    -1,    28,    -1,    29,    -1,    30,    -1,    31,    -1,        -1,   350,   290,   286,   290,   286,   290,   282,     4,   277,
532        32,    -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,        -1,   354,   290,   286,   290,   282,     4,   277,    -1,   355,
533        37,    -1,    38,    -1,    39,    -1,    40,    -1,    41,    -1,       290,   286,   290,   286,   290,   282,     4,   277,    -1,   313,
534        42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,       290,   248,    -1,   361,   290,   389,   290,   262,   290,   274,
535        47,    -1,    48,    -1,    49,    -1,    50,    -1,    51,    -1,        -1,   369,   290,   389,   290,   267,   290,   269,   290,   276,
536        52,    -1,    53,    -1,    54,    -1,    55,    -1,    56,    -1,        -1,   369,   290,   351,   290,   267,   290,   269,   290,   257,
537        57,    -1,    58,    -1,    59,    -1,    60,    -1,    61,    -1,       290,   257,    -1,   369,   290,   368,   290,   267,   290,   269,
538        62,    -1,    63,    -1,    64,    -1,    65,    -1,    66,    -1,       290,   265,    -1,   369,   290,   382,   290,   267,   290,   269,
539        67,    -1,    68,    -1,    69,    -1,    70,    -1,    71,    -1,       290,   266,    -1,   371,   290,   389,   290,   271,   290,   272,
540        72,    -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,        -1,   371,   290,   375,   290,   271,   290,   289,    -1,   374,
541        15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,    -1,       290,   389,   290,   271,   290,   272,    -1,   374,   290,   375,
542        20,    -1,    73,    -1,     3,    -1,    74,    -1,    75,    -1,       290,   271,   290,   289,    -1,   390,   290,   281,    -1,   381,
543        76,    -1,    77,    -1,    78,    -1,    79,    -1,     9,    -1,       290,   266,    -1,   347,   290,   282,   290,   250,    -1,   347,
544        10,    -1,     8,    -1,     5,    -1,    80,    -1,    81,    -1,       290,   282,    -1,   357,   290,   282,   290,   250,    -1,   357,
545        82,    -1,    83,    -1,     4,    -1,    84,    -1,    85,    -1,       290,   282,    -1,   369,   290,   267,   290,   265,    -1,   369,
546        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,       290,   267,   290,   265,   290,   276,    -1,   313,   290,   267,
547        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,        -1,   360,   290,   262,    -1,   360,   290,   305,    -1,   373,
548        96,    -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,       290,   379,   290,   271,   290,   279,    -1,   373,   290,   271,
549       101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,       290,   279,    -1,   372,   290,   379,   290,   271,   290,   279,
550       106,    -1,   107,    -1,   108,    -1,   109,    -1,   110,    -1,        -1,   372,   290,   271,   290,   279,    -1,   371,   290,   271,
551       111,    -1,   112,    -1,   113,    -1,   114,    -1,   115,    -1,       290,   271,    -1,   374,   290,   271,   290,   271,    -1,   371,
552       116,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,       290,   271,   290,   271,    -1,   374,   290,   271,   290,   271,
553       121,    -1,   122,    -1,   123,    -1,   124,    -1,   125,    -1,        -1,   347,   290,   286,    -1,   357,   290,   286,    -1,   369,
554       126,    -1,   127,    -1,   128,    -1,   129,    -1,   130,    -1,       290,   267,   290,   269,    -1,   340,   290,   253,    -1,   341,
555       131,    -1,   132,    -1,   133,    -1,   134,    -1,   135,    -1,       290,   254,    -1,   347,   290,   267,   290,   256,    -1,   351,
556       136,    -1,   137,    -1,   138,    -1,   139,    -1,   140,    -1,       290,   267,   290,   257,   290,   257,    -1,   352,   290,   267,
557       141,    -1,   142,    -1,   143,    -1,   144,    -1,   145,    -1,       290,   258,    -1,   367,   290,   267,   290,   256,   290,   259,
558       146,    -1,   147,    -1,   148,    -1,   149,    -1,   150,    -1,       290,   260,    -1,   357,   290,   267,   290,   256,    -1,   364,
559       151,    -1,   152,    -1,   153,    -1,   154,    -1,   155,    -1,       290,   267,   290,   259,    -1,   365,   290,   267,   290,   260,
560       156,    -1,   157,    -1,   158,    -1,   159,    -1,   160,    -1,        -1,   366,   290,   267,   290,   261,    -1,   381,   290,   267,
561       161,    -1,   162,    -1,   163,    -1,   164,    -1,   165,    -1,       290,   266,    -1,   383,   290,   267,   290,   281,    -1,   384,
562       166,    -1,   167,    -1,   168,    -1,   169,    -1,   170,    -1,       290,   267,   290,   281,    -1,   361,   290,   267,   290,   262,
563       171,    -1,   172,    -1,   173,    -1,   174,    -1,   175,    -1,        -1,   361,   290,   267,   290,   306,    -1,   361,   290,   267,
564       176,    -1,   177,    -1,   178,    -1,   179,    -1,   180,    -1,       290,   307,    -1,    -1,   308,   290,    -1,   282,     4,   277,
565       181,    -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,        -1,   250,   290,   282,     4,   277,    -1,   385,    -1,   386,
566       186,    -1,   187,    -1,   188,    -1,   189,    -1,   190,    -1,        -1,   346,    -1,   356,    -1,   316,    -1,   314,    -1,   353,
567       191,    -1,   192,    -1,   193,    -1,   194,    -1,   195,    -1,        -1,   315,    -1,   360,   290,   262,    -1,   360,   290,   305,
568       196,    -1,   197,    -1,   198,    -1,   199,    -1,   200,    -1,        -1,   362,    -1,   370,   290,   267,    -1,   372,   290,   378,
569       201,    -1,   202,    -1,   203,    -1,   204,    -1,   205,    -1,       290,   271,    -1,   372,   290,   271,    -1,   373,   290,   378,
570       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,       290,   271,    -1,   373,   290,   271,    -1,   273,   290,   268,
571       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,       290,   267,    -1,   308,   290,   273,   290,   268,   290,   267,
572       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,        -1,   270,   290,   267,    -1,   342,    -1,   343,    -1,   344,
573       221,    -1,   222,    -1,   223,    -1,   267,    -1,   259,    -1,        -1,   286,    -1,   286,    -1,   282,    -1,   286,    -1,   286,
574       265,   267,    -1,   265,   259,    -1,     6,   265,     6,    -1,        -1,   305,    -1,   282,    -1,   286,    -1,   286,    -1,   286,
575         7,   265,     7,    -1,   224,    -1,   225,    -1,   226,    -1,        -1,   286,    -1,   283,    -1,   286,    -1,   286,    -1,   286,
576        21,    24,    24,    -1,    27,    25,    40,    -1,    23,    38,        -1,   286,    -1,   282,    -1,   289,    -1,   289,    -1,   289,
577        25,    21,    40,    25,    -1,    24,    25,    39,    40,    38,        -1,   289,    -1,   289,    -1,   289,    -1,   278,    -1,   277,
578        35,    45,    -1,    32,    29,    39,    40,    -1,    32,    35,         5,   278,    -1,   282,    -1,   289,    -1,   286,    -1,   283,
579        21,    24,    -1,    21,    32,    32,    -1,    34,    35,    34,        -1,   282,     4,   280,    -1,   279,   290,   282,     4,   280,
580        91,    33,    35,    24,    21,    32,    -1,    38,    25,    33,        -1,   282,    -1,   289,    -1,   286,    -1,   282,    -1,   287,
581        35,    42,    25,    -1,    39,    25,    40,    -1,    39,    41,        -1,   282,   287,    -1,   284,     6,   284,    -1,     7,   284,
582        22,    39,    23,    38,    29,    22,    25,    -1,    41,    34,         6,   284,    -1,     8,   284,     6,   284,    -1,   285,    -1,
583        39,    41,    22,    39,    23,    38,    29,    22,    25,    -1,       284,   285,    -1,     9,    -1,    10,    -1,    11,    -1,    12,
584        39,    25,    32,    25,    23,    40,    -1,    23,    28,    21,        -1,    13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,
585        34,    34,    25,    32,    -1,    21,    42,    21,    29,    32,        -1,    18,    -1,   285,    -1,    10,   284,    -1,    11,   284,
586        21,    22,    32,    25,    91,    25,    34,    27,    29,    34,        -1,    12,   284,    -1,    13,   284,    -1,    14,   284,    -1,
587        25,    39,    -1,    21,    42,    21,    29,    32,    21,    22,        15,   284,    -1,    16,   284,    -1,    17,   284,    -1,    18,
588        32,    25,    91,    21,    41,    24,    29,    35,    91,    35,       284,    -1,    19,    -1,    20,    -1,    21,    -1,    22,    -1,
589        41,    40,    36,    41,    40,    91,    24,    38,    29,    42,        23,    -1,    24,    -1,    25,    -1,    26,    -1,    27,    -1,
590        25,    38,    39,    -1,    23,    28,    21,    34,    34,    25,        28,    -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,
591        32,    39,    -1,    29,    34,    26,    35,    -1,    23,    28,        33,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,
592        21,    34,    34,    25,    32,    91,    23,    35,    41,    34,        38,    -1,    39,    -1,    40,    -1,    41,    -1,    42,    -1,
593        40,    -1,    23,    28,    21,    34,    34,    25,    32,    91,        43,    -1,    44,    -1,    45,    -1,    46,    -1,    47,    -1,
594        29,    34,    26,    35,    -1,    22,    41,    26,    26,    25,        48,    -1,    49,    -1,    50,    -1,    51,    -1,    52,    -1,
595        38,    91,    26,    29,    32,    32,    -1,    39,    40,    38,        53,    -1,    54,    -1,    55,    -1,    56,    -1,    57,    -1,
596        25,    21,    33,    91,    23,    35,    41,    34,    40,    -1,        58,    -1,    59,    -1,    60,    -1,    61,    -1,    62,    -1,
597        42,    35,    29,    23,    25,    91,    23,    35,    41,    34,        63,    -1,    64,    -1,    65,    -1,    66,    -1,    67,    -1,
598        40,    -1,    29,    34,    39,    40,    38,    41,    33,    25,        68,    -1,    69,    -1,    70,    -1,     9,    -1,    10,    -1,
599        34,    40,    -1,    25,    34,    27,    29,    34,    25,    -1,        11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,
600        21,    41,    24,    29,    35,    91,    35,    41,    40,    36,        16,    -1,    17,    -1,    18,    -1,    71,    -1,     3,    -1,
601        41,    40,    91,    24,    25,    42,    29,    23,    25,    91,        72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,    -1,
602        36,    21,    38,    21,    33,    25,    40,    25,    38,    -1,        77,    -1,     7,    -1,     8,    -1,     6,    -1,     5,    -1,
603        21,    41,    24,    29,    35,    91,    35,    41,    40,    36,        78,    -1,    79,    -1,    80,    -1,    81,    -1,     4,    -1,
604        41,    40,    91,    24,    25,    42,    29,    23,    25,    39,        82,    -1,    83,    -1,    84,    -1,    85,    -1,    86,    -1,
605        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,        87,    -1,    88,    -1,    89,    -1,    90,    -1,    91,    -1,
606        36,    41,    40,    91,    24,    25,    42,    29,    23,    25,        92,    -1,    93,    -1,    94,    -1,    95,    -1,    96,    -1,
607        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,        97,    -1,    98,    -1,    99,    -1,   100,    -1,   101,    -1,
608        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,       102,    -1,   103,    -1,   104,    -1,   105,    -1,   106,    -1,
609        91,    36,    21,    38,    21,    33,    25,    40,    25,    38,       107,    -1,   108,    -1,   109,    -1,   110,    -1,   111,    -1,
610        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,       112,    -1,   113,    -1,   114,    -1,   115,    -1,   116,    -1,
611        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,       117,    -1,   118,    -1,   119,    -1,   120,    -1,   121,    -1,
612        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,       122,    -1,   123,    -1,   124,    -1,   125,    -1,   126,    -1,
613        36,    41,    40,    91,    23,    28,    21,    34,    34,    25,       127,    -1,   128,    -1,   129,    -1,   130,    -1,   131,    -1,
614        32,    91,    36,    21,    38,    21,    33,    25,    40,    25,       132,    -1,   133,    -1,   134,    -1,   135,    -1,   136,    -1,
615        38,    -1,    21,    41,    24,    29,    35,    91,    35,    41,       137,    -1,   138,    -1,   139,    -1,   140,    -1,   141,    -1,
616        40,    36,    41,    40,    91,    23,    28,    21,    34,    34,       142,    -1,   143,    -1,   144,    -1,   145,    -1,   146,    -1,
617        25,    32,    -1,    21,    41,    24,    29,    35,    91,    35,       147,    -1,   148,    -1,   149,    -1,   150,    -1,   151,    -1,
618        41,    40,    36,    41,    40,    91,    40,    45,    36,    25,       152,    -1,   153,    -1,   154,    -1,   155,    -1,   156,    -1,
619        -1,    21,    42,    21,    29,    32,    21,    22,    32,    25,       157,    -1,   158,    -1,   159,    -1,   160,    -1,   161,    -1,
620        91,    33,    29,    24,    29,    91,    29,    34,    36,    41,       162,    -1,   163,    -1,   164,    -1,   165,    -1,   166,    -1,
621        40,    91,    24,    38,    29,    42,    25,    38,    39,    -1,       167,    -1,   168,    -1,   169,    -1,   170,    -1,   171,    -1,
622        33,    29,    24,    29,    91,    29,    34,    36,    41,    40,       172,    -1,   173,    -1,   174,    -1,   175,    -1,   176,    -1,
623        91,    24,    25,    42,    29,    23,    25,    91,    36,    21,       177,    -1,   178,    -1,   179,    -1,   180,    -1,   181,    -1,
624        38,    21,    33,    25,    40,    25,    38,    -1,    33,    29,       182,    -1,   183,    -1,   184,    -1,   185,    -1,   186,    -1,
625        24,    29,    91,    29,    34,    36,    41,    40,    91,    36,       187,    -1,   188,    -1,   189,    -1,   190,    -1,   191,    -1,
626        35,    38,    40,    91,    36,    21,    38,    21,    33,    25,       192,    -1,   193,    -1,   194,    -1,   195,    -1,   196,    -1,
627        40,    25,    38,    -1,    33,    29,    24,    29,    91,    29,       197,    -1,   198,    -1,   199,    -1,   200,    -1,   201,    -1,
628        34,    36,    41,    40,    91,    24,    25,    42,    29,    23,       202,    -1,   203,    -1,   204,    -1,   205,    -1,   206,    -1,
629        25,    39,    -1,    33,    29,    24,    29,    91,    29,    34,       207,    -1,   208,    -1,   209,    -1,   210,    -1,   211,    -1,
630        36,    41,    40,    91,    24,    25,    42,    29,    23,    25,       212,    -1,   213,    -1,   214,    -1,   215,    -1,   216,    -1,
631        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,       217,    -1,   218,    -1,   219,    -1,   220,    -1,   221,    -1,
632        40,    91,    24,    38,    29,    42,    25,    38,    91,    36,       290,    -1,   282,    -1,   288,   290,    -1,   288,   282,    -1,
633        21,    38,    21,    33,    25,    40,    25,    38,    -1,    33,       222,   288,   222,    -1,   223,   288,   223,    -1,   224,    -1,
634        29,    24,    29,    91,    29,    34,    36,    41,    40,    91,       225,    -1,   226,    -1,    19,    22,    22,    -1,    25,    23,
635        24,    38,    29,    42,    25,    38,    -1,    33,    29,    24,        38,    -1,    31,    19,    34,    -1,    39,    32,    31,    19,
636        29,    91,    29,    34,    36,    41,    40,    91,    36,    35,        34,    -1,    21,    30,    23,    19,    36,    -1,    24,    27,
637        38,    40,    -1,    33,    29,    24,    29,    91,    29,    34,        32,    22,    -1,    31,    33,    40,    23,    -1,    21,    33,
638        36,    41,    40,    91,    23,    28,    21,    34,    34,    25,        34,    43,    -1,    21,    36,    23,    19,    38,    23,    -1,
639        32,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        22,    23,    37,    38,    36,    33,    43,    -1,    30,    27,
640        41,    40,    91,    40,    45,    36,    25,    -1,    33,    29,        37,    38,    -1,    30,    33,    19,    22,    -1,    19,    30,
641        24,    29,    91,    29,    34,    36,    41,    40,    -1,    42,        30,    -1,    32,    33,    32,    23,    -1,    22,    23,    24,
642        35,    32,    41,    33,    25,    -1,    22,    45,    40,    25,        19,    39,    30,    38,    -1,    32,    33,    32,    89,    31,
643        39,    -1,    36,    25,    38,    23,    25,    34,    40,    21,        33,    22,    19,    30,    -1,    36,    23,    31,    33,    40,
644        27,    25,    -1,    38,    25,    39,    25,    40,    -1,    33,        23,    -1,    37,    23,    38,    -1,    37,    39,    20,    37,
645        29,    39,    23,    25,    32,    32,    21,    34,    25,    35,        21,    36,    27,    20,    23,    -1,    39,    32,    37,    39,
646        41,    39,    -1,    25,    23,    28,    35,    -1,    37,    41,        20,    37,    21,    36,    27,    20,    23,    -1,    21,    26,
647        29,    40,    -1        19,    32,    32,    23,    30,    -1,    19,    40,    19,    27,
648          30,    19,    20,    30,    23,    89,    23,    32,    25,    27,
649          32,    23,    37,    -1,    19,    40,    19,    27,    30,    19,
650          20,    30,    23,    89,    19,    39,    22,    27,    33,    89,
651          33,    39,    38,    34,    39,    38,    89,    22,    36,    27,
652          40,    23,    36,    37,    -1,    21,    26,    19,    32,    32,
653          23,    30,    37,    -1,    27,    32,    24,    33,    -1,    19,
654          39,    22,    27,    33,    89,    33,    39,    38,    34,    39,
655          38,    89,    22,    23,    40,    27,    21,    23,    89,    21,
656          33,    39,    32,    38,    -1,    19,    39,    22,    27,    33,
657          89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
658          40,    27,    21,    23,    89,    27,    32,    24,    33,    -1,
659          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
660          89,    22,    23,    40,    27,    21,    23,    89,    21,    33,
661          39,    32,    38,    -1,    31,    27,    22,    27,    89,    27,
662          32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
663          23,    89,    27,    32,    24,    33,    -1,    31,    27,    22,
664          27,    89,    27,    32,    37,    38,    36,    39,    31,    23,
665          32,    38,    89,    31,    19,    34,    89,    21,    33,    39,
666          32,    38,    -1,    31,    27,    22,    27,    89,    27,    32,
667          37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
668          19,    34,    89,    27,    32,    24,    33,    -1,    31,    27,
669          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
670          23,    32,    38,    89,    21,    33,    39,    32,    38,    -1,
671          31,    27,    22,    27,    89,    27,    32,    37,    38,    36,
672          39,    31,    23,    32,    38,    89,    27,    32,    24,    33,
673          -1,    22,    20,    89,    27,    32,    37,    38,    36,    39,
674          31,    23,    32,    38,    89,    22,    27,    36,    23,    21,
675          38,    33,    36,    43,    89,    21,    33,    39,    32,    38,
676          -1,    22,    20,    89,    27,    32,    37,    38,    36,    39,
677          31,    23,    32,    38,    89,    22,    27,    36,    23,    21,
678          38,    33,    36,    43,    89,    27,    32,    24,    33,    -1,
679          22,    20,    89,    27,    32,    37,    38,    36,    39,    31,
680          23,    32,    38,    89,    21,    33,    39,    32,    38,    -1,
681          22,    20,    89,    27,    32,    37,    38,    36,    39,    31,
682          23,    32,    38,    89,    27,    32,    24,    33,    -1,    21,
683          26,    19,    32,    32,    23,    30,    89,    21,    33,    39,
684          32,    38,    -1,    21,    26,    19,    32,    32,    23,    30,
685          89,    27,    32,    24,    33,    -1,    24,    42,    89,    37,
686          23,    32,    22,    89,    21,    33,    39,    32,    38,    -1,
687          24,    42,    89,    37,    23,    32,    22,    89,    27,    32,
688          24,    33,    -1,    20,    39,    24,    24,    23,    36,    89,
689          24,    27,    30,    30,    -1,    37,    38,    36,    23,    19,
690          31,    89,    21,    33,    39,    32,    38,    -1,    40,    33,
691          27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
692          38,    33,    38,    19,    30,    89,    40,    33,    27,    21,
693          23,    89,    21,    33,    39,    32,    38,    -1,    38,    33,
694          38,    19,    30,    89,    40,    33,    27,    21,    23,    89,
695          21,    33,    39,    32,    38,    89,    31,    19,    42,    -1,
696          25,    30,    33,    20,    19,    30,    89,    27,    32,    24,
697          33,    -1,    27,    32,    37,    38,    36,    39,    31,    23,
698          32,    38,    -1,    23,    32,    25,    27,    32,    23,    -1,
699          33,    32,    89,    22,    23,    31,    19,    32,    22,    -1,
700          33,    32,    89,    22,    23,    31,    19,    32,    22,    89,
701          26,    33,    30,    22,    -1,    34,    23,    36,    37,    27,
702          37,    38,    23,    32,    38,    -1,    19,    39,    22,    27,
703          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
704          23,    40,    27,    21,    23,    89,    34,    19,    36,    19,
705          31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
706          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
707          23,    40,    27,    21,    23,    37,    -1,    19,    39,    22,
708          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
709          22,    23,    40,    27,    21,    23,    -1,    19,    39,    22,
710          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
711          22,    36,    27,    40,    23,    36,    89,    34,    19,    36,
712          19,    31,    23,    38,    23,    36,    -1,    19,    39,    22,
713          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
714          22,    36,    27,    40,    23,    36,    -1,    19,    39,    22,
715          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
716          21,    26,    19,    32,    32,    23,    30,    89,    34,    19,
717          36,    19,    31,    23,    38,    23,    36,    -1,    19,    39,
718          22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
719          89,    21,    26,    19,    32,    32,    23,    30,    -1,    19,
720          39,    22,    27,    33,    89,    33,    39,    38,    34,    39,
721          38,    89,    38,    43,    34,    23,    -1,    19,    40,    19,
722          27,    30,    19,    20,    30,    23,    89,    31,    27,    22,
723          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
724          27,    40,    23,    36,    37,    -1,    31,    27,    22,    27,
725          89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
726          27,    21,    23,    89,    34,    19,    36,    19,    31,    23,
727          38,    23,    36,    -1,    31,    27,    22,    27,    89,    27,
728          32,    34,    39,    38,    89,    34,    33,    36,    38,    89,
729          34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,
730          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
731          89,    22,    23,    40,    27,    21,    23,    37,    -1,    31,
732          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
733          22,    23,    40,    27,    21,    23,    -1,    31,    27,    22,
734          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
735          27,    40,    23,    36,    89,    34,    19,    36,    19,    31,
736          23,    38,    23,    36,    -1,    31,    27,    22,    27,    89,
737          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
738          -1,    31,    27,    22,    27,    89,    27,    32,    37,    38,
739          36,    39,    31,    23,    32,    38,    37,    -1,    31,    27,
740          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
741          23,    32,    38,    89,    31,    19,    34,    -1,    31,    27,
742          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
743          23,    32,    38,    89,    31,    19,    34,    37,    -1,    31,
744          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
745          22,    36,    27,    40,    23,    36,    -1,    31,    27,    22,
746          27,    89,    27,    32,    34,    39,    38,    89,    34,    33,
747          36,    38,    -1,    31,    27,    22,    27,    89,    27,    32,
748          34,    39,    38,    89,    21,    26,    19,    32,    32,    23,
749          30,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
750          39,    38,    89,    38,    43,    34,    23,    -1,    31,    27,
751          22,    27,    89,    27,    32,    34,    39,    38,    -1,    31,
752          27,    22,    27,    89,    21,    33,    32,    38,    36,    33,
753          30,    30,    23,    36,    -1,    24,    42,    89,    37,    23,
754          32,    22,    -1,    24,    42,    89,    37,    23,    32,    22,
755          37,    -1,    22,    20,    89,    27,    32,    37,    38,    36,
756          39,    31,    23,    32,    38,    89,    22,    27,    36,    23,
757          21,    38,    33,    36,    43,    -1,    22,    20,    89,    27,
758          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
759          22,    27,    36,    23,    21,    38,    33,    36,    27,    23,
760          37,    -1,    22,    20,    89,    27,    32,    37,    38,    36,
761          39,    31,    23,    32,    38,    37,    -1,    22,    20,    89,
762          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
763          -1,    22,    23,    37,    21,    36,    27,    34,    38,    27,
764          33,    32,    -1,    24,    33,    36,    21,    23,    -1,    24,
765          30,    19,    38,    -1,    36,    23,    21,    39,    36,    37,
766          27,    40,    23,    -1,    32,    33,    32,    89,    36,    23,
767          21,    39,    36,    37,    27,    40,    23,    -1,    37,    23,
768          36,    40,    23,    36,    -1,    40,    33,    30,    39,    31,
769          23,    -1,    30,    23,    40,    23,    30,    -1,    31,    39,
770          38,    23,    -1,    37,    33,    30,    33,    -1,    20,    43,
771          38,    23,    37,    -1,    34,    23,    36,    21,    23,    32,
772          38,    19,    25,    23,    -1,    36,    23,    37,    23,    38,
773          -1,    31,    27,    37,    21,    23,    30,    30,    19,    32,
774          23,    33,    39,    37,    -1,    32,    19,    31,    23,    -1,
775          23,    21,    26,    33,    -1,    35,    39,    27,    38,    -1
776  };  };
777    
778  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
779  static const unsigned short int yyrline[] =  static const yytype_uint16 yyrline[] =
780  {  {
781         0,    82,    82,    83,    86,    87,    88,    89,    92,    93,         0,    97,    97,    98,   101,   102,   103,   104,   107,   108,
782        94,    95,    96,    99,   100,   101,   102,   103,   104,   105,       109,   110,   111,   114,   115,   116,   117,   118,   119,   120,
783       106,   107,   108,   109,   110,   111,   112,   115,   116,   117,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
784       118,   119,   120,   123,   124,   125,   126,   127,   128,   131,       131,   132,   135,   136,   137,   138,   139,   140,   141,   142,
785       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
786       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
787       152,   153,   156,   157,   158,   159,   160,   161,   164,   165,       165,   166,   169,   170,   171,   172,   173,   174,   175,   176,
788       166,   167,   170,   171,   174,   175,   178,   179,   180,   181,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
789       182,   183,   184,   185,   186,   189,   190,   193,   194,   197,       187,   188,   189,   190,   193,   194,   195,   196,   199,   202,
790       198,   199,   200,   201,   202,   205,   206,   209,   212,   215,       203,   204,   205,   206,   207,   210,   211,   212,   213,   214,
791       218,   221,   224,   225,   228,   231,   232,   235,   238,   241,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
792       244,   247,   248,   251,   252,   253,   254,   255,   261,   262,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
793       265,   266,   269,   270,   271,   275,   276,   279,   280,   281,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
794       282,   283,   284,   285,   286,   287,   288,   291,   292,   293,       245,   246,   247,   248,   249,   252,   253,   254,   255,   256,
795       294,   295,   296,   297,   298,   299,   300,   302,   302,   302,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
796       302,   302,   302,   302,   302,   302,   302,   302,   302,   302,       267,   270,   271,   272,   273,   274,   275,   278,   281,   282,
797       302,   302,   302,   302,   302,   302,   302,   302,   302,   302,       285,   286,   287,   288,   291,   292,   295,   296,   299,   300,
798       302,   302,   302,   303,   303,   303,   303,   303,   303,   303,       301,   304,   305,   308,   309,   310,   311,   312,   313,   314,
799       303,   303,   303,   303,   303,   303,   303,   303,   303,   303,       315,   316,   317,   318,   319,   320,   321,   324,   325,   328,
800       303,   303,   303,   303,   303,   303,   303,   303,   303,   304,       329,   332,   333,   336,   337,   338,   339,   340,   341,   342,
801       304,   304,   304,   304,   304,   304,   304,   304,   304,   305,       343,   344,   345,   346,   347,   348,   349,   352,   353,   356,
802       305,   305,   305,   305,   305,   305,   305,   305,   305,   305,       359,   360,   361,   364,   367,   370,   373,   376,   377,   380,
803       305,   305,   306,   306,   306,   306,   306,   306,   306,   307,       383,   386,   389,   392,   395,   396,   399,   402,   405,   408,
804       307,   307,   307,   307,   308,   308,   308,   308,   309,   309,       411,   414,   417,   420,   423,   426,   429,   430,   433,   434,
805       309,   310,   310,   310,   311,   311,   311,   312,   312,   312,       435,   436,   439,   440,   443,   444,   452,   453,   456,   457,
806       313,   313,   313,   314,   314,   314,   315,   315,   315,   316,       460,   461,   462,   466,   467,   470,   471,   472,   473,   474,
807       316,   316,   317,   317,   317,   318,   318,   318,   319,   319,       475,   476,   477,   478,   479,   482,   483,   484,   485,   486,
808       319,   320,   320,   320,   321,   321,   321,   322,   322,   322,       487,   488,   489,   490,   491,   493,   493,   493,   493,   493,
809       323,   323,   323,   324,   324,   324,   325,   325,   325,   326,       493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
810       326,   326,   327,   327,   327,   328,   328,   328,   329,   329,       493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
811       329,   330,   330,   330,   331,   331,   331,   332,   332,   332,       493,   494,   494,   494,   494,   494,   494,   494,   494,   494,
812       333,   333,   333,   334,   334,   334,   335,   335,   335,   336,       494,   494,   494,   494,   494,   494,   494,   494,   494,   494,
813       336,   336,   337,   337,   337,   338,   338,   338,   339,   339,       494,   494,   494,   494,   494,   494,   494,   495,   495,   495,
814       339,   340,   340,   340,   341,   341,   341,   342,   342,   342,       495,   495,   495,   495,   495,   495,   495,   496,   496,   496,
815       343,   343,   343,   344,   344,   344,   345,   345,   345,   346,       496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
816       346,   346,   347,   347,   347,   348,   348,   348,   349,   349,       497,   497,   497,   497,   497,   497,   497,   498,   498,   498,
817       349,   350,   350,   350,   351,   351,   354,   355,   356,   357,       498,   498,   499,   499,   499,   499,   500,   500,   500,   501,
818       360,   361,   367,   370,   373,   376,   379,   382,   385,   388,       501,   501,   502,   502,   502,   503,   503,   503,   504,   504,
819       391,   394,   397,   400,   403,   406,   409,   412,   415,   418,       504,   505,   505,   505,   506,   506,   506,   507,   507,   507,
820       421,   424,   427,   430,   433,   436,   439,   442,   445,   448,       508,   508,   508,   509,   509,   509,   510,   510,   510,   511,
821       451,   454,   457,   460,   463,   466,   469,   472,   475,   478,       511,   511,   512,   512,   512,   513,   513,   513,   514,   514,
822       481,   484,   487,   490,   493,   496,   499,   502,   505,   508,       514,   515,   515,   515,   516,   516,   516,   517,   517,   517,
823       511,   514,   517,   520,   523,   526       518,   518,   518,   519,   519,   519,   520,   520,   520,   521,
824         521,   521,   522,   522,   522,   523,   523,   523,   524,   524,
825         524,   525,   525,   525,   526,   526,   526,   527,   527,   527,
826         528,   528,   528,   529,   529,   529,   530,   530,   530,   531,
827         531,   531,   532,   532,   532,   533,   533,   533,   534,   534,
828         534,   535,   535,   535,   536,   536,   536,   537,   537,   537,
829         538,   538,   538,   539,   539,   539,   540,   540,   540,   541,
830         541,   541,   542,   542,   545,   546,   547,   548,   551,   552,
831         558,   561,   564,   567,   570,   573,   576,   579,   582,   585,
832         588,   591,   594,   597,   600,   603,   606,   609,   612,   615,
833         618,   621,   624,   627,   630,   633,   636,   639,   642,   645,
834         648,   651,   654,   657,   660,   663,   666,   669,   672,   675,
835         678,   681,   684,   687,   690,   693,   696,   699,   702,   705,
836         708,   711,   714,   717,   720,   723,   726,   729,   732,   735,
837         738,   741,   744,   747,   750,   753,   756,   759,   762,   765,
838         768,   771,   774,   777,   780,   783,   786,   789,   792,   795,
839         798,   801,   804,   807,   810,   813,   816,   819,   822,   825,
840         828,   831,   834,   837,   840,   843,   846,   849,   852,   855,
841         858,   861
842  };  };
843  #endif  #endif
844    
845  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
846  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
847     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
848  static const char *const yytname[] =  static const char *const yytname[] =
849  {  {
850    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
851    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
852    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
853    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
854    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
855    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
856    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
857    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
858    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
859    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
860    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
861    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
862    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
863    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
864    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
865    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
866    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
867    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
868    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
869    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
870    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
871    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
872    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
873    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
874    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
875    "$accept", "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
876    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
877    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
878    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
879    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
880    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
881    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
882    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
883    "instrument_index", "engine_name", "filename", "param_val_list",    "map_instruction", "unmap_instruction", "remove_instruction",
884    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",    "get_instruction", "set_instruction", "create_instruction",
885    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",    "reset_instruction", "clear_instruction", "find_instruction",
886    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",    "move_instruction", "copy_instruction", "destroy_instruction",
887    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "load_instruction", "set_chan_instruction", "modal_arg", "key_val_list",
888    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",    "buffer_size_type", "list_instruction", "load_instr_args",
889    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "load_engine_args", "instr_load_mode", "device_index",
890    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_DEVICE_PARAMETER",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
891    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
892    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",    "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
893    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",    "instrument_index", "fx_send_id", "engine_name", "pathname", "dirname",
894    "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",    "filename", "map_name", "entry_name", "fx_send_name", "param_val_list",
895    "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",    "param_val", "query_val_list", "query_val", "boolean", "string",
896    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",    "dotnum", "digits", "digit", "number", "char", "text", "stringval", "SP",
897    "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",    "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR", "FIND", "MOVE",
898    "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME", "BYTES", "PERCENTAGE",    "COPY", "CREATE", "DESTROY", "LIST", "LOAD", "ALL", "NONE", "DEFAULT",
899    "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "CHANNEL",
900      "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS",
901      "INFO", "AUDIO_OUTPUT_DEVICE_COUNT", "AUDIO_OUTPUT_DEVICE_INFO",
902      "MIDI_INPUT_DEVICE_COUNT", "MIDI_INPUT_DEVICE_INFO",
903      "MIDI_INSTRUMENT_MAP_COUNT", "MIDI_INSTRUMENT_MAP_INFO",
904      "MIDI_INSTRUMENT_COUNT", "MIDI_INSTRUMENT_INFO",
905      "DB_INSTRUMENT_DIRECTORY_COUNT", "DB_INSTRUMENT_DIRECTORY_INFO",
906      "DB_INSTRUMENT_COUNT", "DB_INSTRUMENT_INFO", "CHANNEL_COUNT",
907      "CHANNEL_INFO", "FX_SEND_COUNT", "FX_SEND_INFO", "BUFFER_FILL",
908      "STREAM_COUNT", "VOICE_COUNT", "TOTAL_VOICE_COUNT",
909      "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO", "INSTRUMENT", "ENGINE",
910      "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
911      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
912      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
913      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
914      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
915      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
916      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
917      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
918      "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
919      "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
920      "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "DB_INSTRUMENT_DIRECTORY",
921      "DB_INSTRUMENT_DIRECTORIES", "DB_INSTRUMENTS", "DB_INSTRUMENT",
922      "DESCRIPTION", "FORCE", "FLAT", "RECURSIVE", "NON_RECURSIVE", "SERVER",
923      "VOLUME", "LEVEL", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET",
924      "MISCELLANEOUS", "NAME", "ECHO", "QUIT", 0
925  };  };
926  #endif  #endif
927    
928  # ifdef YYPRINT  # ifdef YYPRINT
929  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
930     token YYLEX-NUM.  */     token YYLEX-NUM.  */
931  static const unsigned short int yytoknum[] =  static const yytype_uint16 yytoknum[] =
932  {  {
933         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
934        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
935        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
936        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
937        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
938       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
939       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
940       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
941        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
942        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
943       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
944       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
945       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
946       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
947       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
948       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
949       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
950       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
951       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
952       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
953       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
954       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
955       252,   253,   254,   255,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
956  };  };
957  # endif  # endif
958    
959  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
960  static const unsigned short int yyr1[] =  static const yytype_uint16 yyr1[] =
961  {  {
962         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
963       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
964       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
965       232,   232,   232,   233,   233,   233,   233,   233,   233,   234,       231,   231,   232,   232,   232,   232,   232,   232,   232,   232,
966         233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
967         233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
968         233,   233,   234,   234,   234,   234,   234,   234,   234,   234,
969       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
970       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   235,   235,   235,   235,   236,   237,
971       234,   234,   235,   235,   235,   235,   235,   235,   236,   236,       237,   237,   237,   237,   237,   238,   238,   238,   238,   238,
972       236,   236,   237,   237,   238,   238,   239,   239,   239,   239,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
973       239,   239,   239,   239,   239,   240,   240,   241,   241,   242,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
974       242,   242,   242,   242,   242,   243,   243,   244,   245,   246,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
975       247,   248,   249,   249,   250,   251,   251,   252,   253,   254,       238,   238,   238,   238,   238,   239,   239,   239,   239,   239,
976       255,   256,   256,   257,   257,   257,   257,   257,   258,   258,       239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
977       259,   259,   260,   260,   260,   261,   261,   262,   262,   262,       239,   240,   240,   240,   240,   240,   240,   241,   242,   242,
978       262,   262,   262,   262,   262,   262,   262,   263,   263,   263,       243,   243,   243,   243,   244,   244,   245,   245,   246,   246,
979       263,   263,   263,   263,   263,   263,   263,   264,   264,   264,       246,   247,   247,   248,   248,   248,   248,   248,   248,   248,
980       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
981       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       250,   251,   251,   252,   252,   252,   252,   252,   252,   252,
982       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       252,   252,   252,   252,   252,   252,   252,   253,   253,   254,
983       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       255,   255,   255,   256,   257,   258,   259,   260,   260,   261,
984       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       262,   263,   264,   265,   266,   266,   267,   268,   269,   270,
985       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       271,   272,   273,   274,   275,   276,   277,   277,   278,   278,
986       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       278,   278,   279,   279,   280,   280,   281,   281,   282,   282,
987       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   284,   284,   285,   285,   285,   285,   285,
988       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       285,   285,   285,   285,   285,   286,   286,   286,   286,   286,
989       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       286,   286,   286,   286,   286,   287,   287,   287,   287,   287,
990       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
991       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
992       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
993       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
994       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
995       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
996       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
997       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
998       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
999       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1000       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1001       264,   264,   264,   264,   264,   264,   265,   265,   265,   265,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1002       266,   266,   267,   268,   269,   270,   271,   272,   273,   274,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1003       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1004       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1005       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1006       305,   306,   307,   308,   309,   310,   311,   312,   313,   314,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1007       315,   316,   317,   318,   319,   320       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1008         287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1009         287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1010         287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1011         287,   287,   287,   287,   288,   288,   288,   288,   289,   289,
1012         290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
1013         300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
1014         310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
1015         320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
1016         330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
1017         340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
1018         350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
1019         360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
1020         370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
1021         380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
1022         390,   391
1023  };  };
1024    
1025  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1026  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
1027  {  {
1028         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
1029         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
1030         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1031           1,     1,     1,     3,     7,     7,     5,     7,     1,     3,
1032           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1033         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     5,     7,     9,     1,     5,     7,     9,     1,     1,  
        5,     5,     7,     9,     7,     9,     1,     5,     7,     5,  
        5,     5,     7,     9,     7,     9,     3,     3,     5,     3,  
        5,     3,     3,     3,     3,     3,     5,     7,     5,     9,  
        5,     5,     5,     5,     5,     3,     5,     1,     1,     1,  
        1,     1,     1,     1,     1,     5,     7,     3,     1,     1,  
1034         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     3,     1,     3,     3,     1,     1,     1,     1,  
        1,     2,     3,     4,     4,     1,     2,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,  
        2,     2,     2,     2,     2,     2,     2,     1,     1,     1,  
1035         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1036           1,     1,     1,     1,    16,    18,    18,    20,     7,     3,
1037           3,     3,     5,     3,     3,     1,     1,     5,     7,     9,
1038           1,     5,     7,     9,     1,     1,     5,     5,     7,     9,
1039           7,     9,     1,     5,     7,     5,     5,     5,     3,     1,
1040           1,     3,     3,     9,     1,     5,     3,     7,     5,     3,
1041           5,     5,     3,     5,     1,     7,     9,     7,     9,     3,
1042           7,     9,    11,     9,     9,     7,     7,     7,     7,     3,
1043           3,     5,     3,     5,     3,     5,     7,     3,     3,     3,
1044           7,     5,     7,     5,     5,     5,     5,     5,     3,     3,
1045           5,     3,     3,     5,     7,     5,     9,     5,     5,     5,
1046           5,     5,     5,     5,     5,     5,     5,     0,     2,     3,
1047           5,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1048           3,     1,     3,     5,     3,     5,     3,     5,     7,     3,
1049         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1050         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1051           1,     1,     1,     1,     1,     1,     1,     3,     1,     1,
1052           1,     1,     3,     5,     1,     1,     1,     1,     1,     2,
1053           3,     4,     4,     1,     2,     1,     1,     1,     1,     1,
1054           1,     1,     1,     1,     1,     1,     2,     2,     2,     2,
1055           2,     2,     2,     2,     2,     1,     1,     1,     1,     1,
1056         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1057         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1058         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 726  static const unsigned char yyr2[] = Line 1071  static const unsigned char yyr2[] =
1071         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1072         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1073         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1074         1,     1,     1,     1,     1,     1,     1,     1,     2,     2,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1075         3,     3,     1,     1,     1,     3,     3,     6,     7,     4,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1076         4,     3,     9,     6,     3,     9,    11,     6,     7,    17,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1077        30,     8,     4,    13,    12,    11,    12,    11,    10,     6,         1,     1,     1,     1,     1,     1,     2,     2,     3,     3,
1078        29,    20,    19,    29,    19,    30,    20,    17,    28,    27,         1,     1,     1,     3,     3,     3,     5,     5,     4,     4,
1079        25,    18,    17,    27,    17,    15,    18,    15,    10,     6,         4,     6,     7,     4,     4,     3,     4,     7,     9,     6,
1080         5,    10,     5,    13,     4,     4         3,     9,    11,     7,    17,    30,     8,     4,    25,    24,
1081          23,    22,    25,    24,    21,    20,    29,    28,    19,    18,
1082          13,    12,    13,    12,    11,    12,    11,    17,    21,    11,
1083          10,     6,     9,    14,    10,    29,    20,    19,    29,    19,
1084          30,    20,    17,    28,    27,    25,    18,    17,    27,    15,
1085          16,    19,    20,    17,    15,    18,    15,    10,    15,     7,
1086           8,    23,    25,    14,    13,    11,     5,     4,     9,    13,
1087           6,     6,     5,     4,     4,     5,    10,     5,    13,     4,
1088           4,     4
1089  };  };
1090    
1091  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1092     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1093     means the default is an error.  */     means the default is an error.  */
1094  static const unsigned short int yydefact[] =  static const yytype_uint16 yydefact[] =
1095  {  {
1096         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1097         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     5,     6,     0,     0,
        0,     0,     0,     0,     0,     0,     0,    25,    26,     0,  
1098         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1099         1,   373,   374,     2,     0,     9,   225,   220,   219,   217,         0,     0,     0,     0,    30,    31,     0,     0,     0,     0,
1100       218,   127,   128,   129,   130,   131,   132,   133,   134,   135,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1101       136,   147,   148,   149,   150,   151,   152,   153,   154,   155,         0,     0,     1,   501,   502,     2,     0,     9,   353,   348,
1102       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,       347,   345,   346,   255,   256,   257,   258,   259,   260,   261,
1103       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,       262,   263,   264,   275,   276,   277,   278,   279,   280,   281,
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   209,   211,   212,   213,   214,   215,   216,  
      221,   222,   223,   224,   226,   227,   228,   229,   230,   231,  
      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,  
      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,  
      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,  
      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,  
      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,  
1104       282,   283,   284,   285,   286,   287,   288,   289,   290,   291,       282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
1105       292,   293,   294,   295,   296,   297,   298,   299,   300,   301,       292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
1106       302,   303,   304,   305,   306,   307,   308,   309,   310,   311,       302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
1107       312,   313,   314,   315,   316,   317,   318,   319,   320,   321,       312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
1108       322,   323,   324,   325,   326,   327,   328,   329,   330,   331,       322,   323,   324,   325,   326,   337,   339,   340,   341,   342,
1109       332,   333,   334,   335,   336,   337,   338,   339,   340,   341,       343,   344,   349,   350,   351,   352,   354,   355,   356,   357,
1110       342,   343,   344,   345,   346,   347,   348,   349,   350,   351,       358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
1111       352,   353,   354,   355,   356,   357,   358,   359,   360,   361,       368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
1112       362,   363,   364,   365,   372,    12,   137,    11,   120,    10,       378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
1113         388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
1114         398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
1115         408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
1116         418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
1117         428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
1118         438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
1119         448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
1120         458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
1121         468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
1122         478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
1123         488,   489,   490,   491,   492,   493,   500,    12,   265,    11,
1124         248,    10,     0,     0,     0,     0,     0,     0,     0,     0,
1125           0,     0,     0,     0,     0,     0,     0,     0,     0,   503,
1126           0,     0,     0,     0,     0,   504,     0,     0,   505,     0,
1127           0,     0,     0,   520,     0,     0,     0,     3,   255,   256,
1128         257,   258,   259,   260,   261,   262,   263,   264,   266,   253,
1129         267,   268,   269,   270,   271,   272,   273,   274,   338,   327,
1130         328,   329,   330,   331,   332,   333,   334,   335,   336,   249,
1131           0,     0,     0,    13,    32,    38,     0,     0,     0,     0,
1132           0,     0,     0,     0,     0,     0,     0,    16,     0,    95,
1133         100,   112,   119,   120,     0,   104,     0,     0,     0,     0,
1134           0,    96,     0,   105,     0,     0,     0,     0,     0,   124,
1135           0,     0,     0,     0,     0,     0,     0,     0,     0,   134,
1136           0,    14,     0,    15,     0,     0,    26,     0,     0,    27,
1137           0,     0,     0,    28,     0,     0,    29,     0,     0,     0,
1138           0,     0,    17,     0,     0,     0,    18,     0,     0,     0,
1139           0,     0,     0,     0,    19,   196,   198,   195,   193,   197,
1140         194,     0,   201,     0,     0,     0,     0,    20,     0,     0,
1141          21,     0,     0,     0,     0,     0,     0,     0,    22,     0,
1142           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1143           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1144          23,    40,    41,    42,    43,    51,    52,    53,    54,    55,
1145          56,    57,    58,    44,    48,    49,    50,    47,    46,    45,
1146          60,    61,    59,    24,    62,    63,    64,    65,    73,    74,
1147          75,    76,    77,    78,    79,    80,    66,    70,    71,    72,
1148          69,    68,    67,    82,    83,    81,    25,     0,     0,   510,
1149           0,     0,   508,   513,   514,   509,   601,     0,     0,     0,
1150           0,     0,   254,     0,     0,     0,     0,     0,     0,     0,
1151           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1152           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1153           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1154           0,     0,   187,     0,     0,     0,     0,     0,     0,     0,
1155           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1156           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1157           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1158           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1159           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1160           0,     0,     0,   507,     0,     0,     0,   597,     0,   506,
1161           0,     0,     0,     0,     0,     0,    39,   233,    33,   230,
1162           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1163           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1164           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1165         256,   257,   258,   259,   260,   261,   262,   263,   264,     0,
1166         121,   220,   122,     0,     0,     0,     0,   126,   226,     0,
1167           0,   129,     0,   132,     0,     0,   118,     0,     0,     0,
1168           0,     0,     0,   158,   159,     0,     0,     0,     0,     0,
1169           0,     0,     0,     0,     0,     0,     0,     0,   152,   154,
1170           0,   168,   169,     0,     0,     0,     0,     0,   199,   200,
1171         202,   204,     0,   206,     0,     0,   171,     0,   232,     0,
1172         172,     0,   229,    89,    90,    91,     0,    93,     0,    94,
1173           0,     0,     0,     0,     0,     0,   139,     0,     0,     0,
1174           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1175         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1176         0,     0,   375,     0,     0,   376,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   150,
1177         0,     0,   384,     0,     0,     3,   127,   128,   129,   130,       224,     0,   253,   225,   149,   247,   246,     0,     0,     0,
1178       131,   132,   133,   134,   135,   136,   138,   125,   139,   140,         0,     0,     0,     0,     0,     0,     0,     0,   157,   511,
1179       141,   142,   143,   144,   145,   146,   210,   199,   200,   201,         0,   519,     0,     0,     0,     0,     0,   495,     0,   494,
      202,   203,   204,   205,   206,   207,   208,   121,     0,    13,  
        0,     0,     0,     0,    14,     0,    39,    44,    56,     0,  
       48,     0,     0,     0,     0,     0,    40,     0,    49,     0,  
        0,     0,     0,     0,     0,    15,     0,     0,    16,     0,  
        0,     0,     0,     0,    17,    92,    94,    91,    89,    93,  
       90,     0,    18,     0,     0,     0,     0,     0,     0,    20,  
1180         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,    21,    27,    31,    30,    29,    28,    32,    22,    33,  
       37,    36,    35,    34,    38,   367,    23,   366,     0,     0,  
        0,   379,   380,   425,     0,     0,     0,     0,     0,   126,  
1181         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1182         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1183         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1184           0,     0,     0,     0,   188,     0,     0,     0,     0,     0,
1185         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,   369,   368,     0,     0,     0,  
        0,   422,     0,     0,     0,     0,     0,     0,     0,     0,  
1186         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1187         0,     0,     0,     0,     0,     0,     0,     0,     0,    69,         0,     0,     0,     0,     0,     0,     0,   600,     0,     0,
       71,   128,   129,   130,   131,   132,   133,   134,   135,   136,  
       72,    73,     0,     0,     0,     0,     0,     0,     0,    74,  
        0,   110,     0,    75,     0,   109,    19,   107,     0,     0,  
        0,     0,     0,     0,    66,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,    67,   119,  
      118,     0,     0,     0,     0,     0,    24,   377,     0,   383,  
      387,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
1188         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1189         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1190         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      424,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
1191         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1192         0,     0,     0,   378,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,   512,     0,     0,
1193         0,     0,     0,    57,     0,     0,     0,    87,    88,    59,         0,     0,     0,   498,   497,   496,   499,     0,     0,    36,
       60,    61,    50,     0,    45,     0,     0,     0,    51,     0,  
       41,     0,     0,     0,    68,     0,    70,     0,     0,     0,  
        0,   370,   371,     0,     0,   108,     0,    97,     0,     0,  
1194         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1195           0,     0,     0,   113,     0,     0,     0,   191,   192,   115,
1196         116,   117,   106,     0,   101,     0,     0,     0,   107,     0,
1197           0,   515,   125,    97,     0,     0,   130,     0,   128,   131,
1198         133,     0,     0,     0,     0,   221,     0,     0,   163,     0,
1199           0,   161,     0,     0,   164,   165,   166,   167,     0,     0,
1200           0,   151,     0,   153,   155,   223,   170,   228,     0,     0,
1201           0,     0,   203,   205,     0,     0,   227,     0,   209,     0,
1202          92,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1203         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   399,     0,   392,  
1204         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1205           0,     0,     0,     0,     0,     0,     0,     0,     0,   250,
1206         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1207           0,     0,     0,     0,     0,     0,   587,     0,     0,     0,
1208           0,     0,     0,     0,     0,   551,     0,     0,   590,     0,
1209         591,   527,     0,     0,     0,     0,     0,     0,     0,     0,
1210         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1211         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   385,     0,   388,     0,     0,   388,     0,  
        0,     0,    58,    46,     0,    54,     0,    42,    52,     0,  
        0,     0,     0,     0,   217,   218,    85,   111,   113,   117,  
        0,   125,   116,     0,     0,     0,     0,     0,    95,     0,  
        0,     0,     0,     0,     0,    76,    98,     0,    99,    78,  
      100,    80,    81,   101,     0,    82,   102,   103,    83,   104,  
        0,     0,     0,    84,   105,   106,    62,     0,    64,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,   391,     0,  
1212         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1213           0,     0,     0,   593,   594,     0,     0,     0,     0,     0,
1214         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1215         0,     0,     0,     0,   419,     0,     0,     0,     0,     0,         0,   599,     0,     0,     0,     0,     0,     0,     0,     0,
1216         0,     0,     0,     0,     0,   386,     0,     0,     0,   420,         0,     0,     0,     0,     0,   251,   252,     0,     0,     0,
1217         0,    47,    55,    53,    43,     0,     0,    86,   114,   115,         0,     0,     0,     0,     0,     0,     0,     0,   521,     0,
1218         0,     0,   112,   122,     0,     0,     0,     0,    96,     0,       523,     0,     0,     0,    37,    34,    35,     0,     0,   523,
1219         0,     0,     0,    77,   381,     0,    63,    65,     0,     0,         0,   579,     0,     0,     0,     0,   114,   102,     0,   110,
1220           0,    98,     0,   108,   127,     0,     0,     0,     0,    88,
1221         222,     0,     0,     0,   242,   244,   245,   162,   160,     0,
1222           0,   579,     0,     0,   345,   346,   189,   236,   238,   241,
1223         240,   239,   156,   235,     0,     0,     0,     0,     0,   207,
1224           0,   586,     0,     0,     0,     0,   173,   213,     0,   214,
1225         175,   215,   177,     0,     0,   184,   185,   186,   178,   216,
1226         179,   217,   218,   180,   219,     0,   181,   182,   183,   135,
1227           0,   137,     0,   140,     0,   592,     0,     0,     0,     0,
1228           0,     0,   146,   145,   231,   148,   147,     0,     0,     0,
1229         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1230       123,   124,     0,     0,   398,     0,     0,     0,     0,     0,         0,     0,     0,     0,   526,     0,   580,     0,     0,     0,
1231         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   382,     0,     0,  
        0,     0,    79,   395,     0,     0,     0,     0,   397,     0,  
1232         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   418,     0,   394,     0,   396,     0,  
1233         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   393,   423,     0,     0,  
        0,     0,     0,     0,     0,     0,   421,     0,     0,     0,  
1234         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   415,     0,     0,  
1235         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1236           0,     0,     0,   522,     0,     0,     0,     0,     0,     0,
1237           0,     0,     0,   595,     0,   103,   111,   109,    99,   123,
1238           0,     0,     0,     0,     0,     0,   243,     0,     0,     0,
1239         190,   237,     0,     0,     0,     0,   208,     0,     0,     0,
1240           0,   174,     0,     0,     0,   136,   138,     0,     0,     0,
1241         143,   144,   141,     0,     0,     0,     0,     0,     0,     0,
1242         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1243         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,   389,     0,   412,   414,     0,  
        0,   412,     0,     0,     0,     0,     0,     0,     0,     0,  
      415,   417,     0,     0,     0,     0,     0,   411,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   402,  
      404,     0,     0,     0,     0,   402,     0,     0,     0,     0,  
        0,   407,     0,   406,   401,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,   416,     0,     0,     0,     0,     0,  
1244         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1245         0,     0,   406,     0,     0,     0,     0,     0,     0,     0,       550,     0,     0,     0,     0,     0,   516,     0,     0,     0,
1246         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1247         0,     0,     0,     0,   410,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1248         0,     0,     0,     0,     0,     0,     0,     0,   413,     0,         0,     0,     0,     0,     0,     0,     0,     0,   588,     0,
1249       409,     0,     0,     0,   408,     0,     0,   403,     0,   400,       518,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1250       405,   390         0,     0,     0,     0,     0,   176,     0,     0,   142,     0,
1251           0,   544,     0,     0,     0,     0,     0,   549,     0,     0,
1252           0,     0,     0,   546,     0,     0,     0,     0,     0,     0,
1253           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1254           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1255           0,   577,     0,     0,     0,     0,     0,     0,   541,     0,
1256           0,   543,     0,     0,     0,   545,     0,     0,     0,     0,
1257           0,     0,     0,     0,   584,     0,     0,     0,     0,     0,
1258           0,     0,     0,     0,     0,   584,     0,     0,     0,     0,
1259           0,     0,     0,     0,     0,     0,   517,     0,     0,   585,
1260           0,   540,     0,   542,     0,     0,   598,     0,   583,     0,
1261           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1262           0,     0,     0,   596,     0,     0,     0,     0,     0,     0,
1263           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1264           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1265         589,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1266         574,   569,     0,   569,     0,     0,     0,     0,     0,     0,
1267           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1268           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1269           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1270           0,   570,     0,     0,    84,     0,     0,     0,     0,     0,
1271           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1272           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1273           0,     0,     0,   524,     0,     0,   567,   573,     0,     0,
1274         547,     0,     0,     0,   567,     0,     0,     0,     0,     0,
1275           0,     0,     0,     0,   574,   576,   578,     0,     0,     0,
1276           0,     0,     0,     0,     0,   547,     0,     0,     0,     0,
1277           0,     0,     0,     0,   566,     0,     0,     0,     0,     0,
1278           0,    85,    86,   234,   210,   211,   212,     0,     0,     0,
1279           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1280         539,     0,     0,     0,     0,     0,   571,     0,   557,   559,
1281           0,     0,     0,     0,     0,   571,     0,     0,     0,     0,
1282           0,   557,     0,     0,     0,     0,     0,     0,   562,     0,
1283           0,   538,     0,     0,     0,     0,     0,     0,     0,   561,
1284         556,     0,     0,     0,     0,     0,     0,   572,     0,     0,
1285           0,    87,     0,     0,     0,     0,     0,   575,     0,     0,
1286           0,     0,     0,   535,     0,     0,     0,     0,     0,     0,
1287           0,     0,     0,   548,     0,     0,     0,     0,     0,     0,
1288           0,     0,     0,     0,     0,   534,     0,     0,     0,     0,
1289           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1290           0,   561,     0,     0,     0,     0,   531,     0,     0,   581,
1291           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1292           0,     0,     0,     0,   530,     0,     0,     0,     0,     0,
1293           0,     0,     0,     0,     0,     0,     0,     0,     0,   529,
1294           0,     0,   533,     0,     0,     0,     0,   582,     0,   565,
1295           0,     0,     0,     0,   528,     0,     0,   532,     0,     0,
1296           0,     0,     0,   552,     0,     0,     0,     0,     0,     0,
1297           0,     0,     0,   568,     0,   554,     0,   564,     0,     0,
1298           0,     0,     0,   563,     0,     0,     0,   537,     0,   558,
1299           0,     0,   555,   536,   560,   525,     0,   553
1300  };  };
1301    
1302  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1303  static const short int yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1304  {  {
1305        -1,    12,    13,    14,    15,   391,   398,   334,   379,   355,        -1,    14,    15,    16,    17,   353,   480,   503,   401,   403,
1306       358,   372,   534,   654,   636,   364,   519,   523,   785,   787,       450,   367,   458,   422,   526,   406,   409,   413,   416,   426,
1307       789,   792,   795,   798,   803,   526,   664,   524,   520,   766,       447,   776,   719,  1041,   996,   434,   756,   760,  1821,  1286,
1308       767,   548,   768,   769,   770,   266,   527,   268,   406,   521,      1288,  1290,  1298,  1300,  1303,   700,  1024,  1249,  1044,   809,
1309       711,    43,    44,    16,    17,    18,    19,    20,    21,   797,       707,  1055,  1046,   761,   658,  1323,   757,   656,  1822,  1272,
1310       522,    22,    23,    24,    25,    26,   329,   336,   337,   338,      1266,  1267,  1028,  1254,   814,  1268,  1269,   811,   278,   708,
1311       482,   392,   393,   394,   395,   396,   373,   339,   381,   340,       280,   838,   659,  1150,    55,    56,    18,    19,    20,    21,
1312       341,   342,   343,   344,   345,   537,   346,   383,   347,   348,        22,    23,    24,    25,    26,    27,    28,    29,  1302,  1296,
1313       349,   350,   351,   352,   540,   541,   542,   543,   637,   638,      1297,   720,    30,    31,    32,    33,   354,   369,   370,   371,
1314        27,   397,   385,    28       676,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1315         490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
1316         372,   373,   501,   448,   374,  1824,  1825,  1826,   460,   375,
1317         376,   377,   378,   379,   380,   779,   381,   462,   382,   383,
1318         384,   385,   386,   387,   355,   389,   390,   391,   783,   784,
1319         785,   799,   392,   393,   356,   395,   357,   397,   803,   768,
1320         663,   712,   664,   398,   399,   800,   787,   788,   997,   998,
1321          34,   502,   794,   469,    35
1322  };  };
1323    
1324  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1325     STATE-NUM.  */     STATE-NUM.  */
1326  #define YYPACT_NINF -712  #define YYPACT_NINF -1308
1327  static const short int yypact[] =  static const yytype_int16 yypact[] =
1328  {  {
1329        51,  -712,  -712,    34,    23,    75,   109,    27,    38,   111,        45, -1308, -1308,    84,   258,   127,   105,   182,   140,   126,
1330        61,    48,    95,  -192,  1598,  -712,   -92,   -92,   -92,   -92,       193,   184,    74,   210,   296,    61,  2430, -1308,   122,   122,
1331       -92,   -92,   -92,   -92,   -92,   -92,   -92,   -92,  -712,   126,       122,   122,   122,   122,   122,   122,   122,   122,   122,   122,
1332       158,   127,   150,   153,   180,   212,    70,    -3,   220,   204,       122,   122,   122,   122,   122, -1308,   285,   327,   351,   332,
1333      -712,  -712,  -712,  -712,    19,  -712,  -712,  -712,  -712,  -712,       350,   378,   388,   393,   436,   442,   486,   495,   192,   493,
1334      -712,  -712,   216,   216,   216,   216,   216,   216,   216,   216,       512,   306, -1308, -1308, -1308, -1308,   308, -1308, -1308, -1308,
1335       216,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308,   492,   492,   492,   492,   492,   492,
1336      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,       492,   492,   492, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1337      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1338      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1339      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1340      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1341      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1342      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1343      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1344      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1345      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1346      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1347      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1348      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1349      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1350      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1351      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1352      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1353      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1354      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1355      -712,  -712,  -712,  -712,  -712,  2705,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1356       222,   163,    73,    73,   170,     6,   222,   164,    54,    54,     -1308, -1308, -1308, -1308, -1308, -1308, -1308,  3316, -1308, -1308,
1357      1820,   222,  -712,   225,   207,  -712,   208,   226,   211,   230,     -1308, -1308,    83,   139,   504,   504,   505,   515,   516,   516,
1358       241,   243,  -712,   231,   228,  -712,  -712,  -712,  -712,  -712,       249,   249,   179,   168,   219,   159,   117,   117,   513, -1308,
1359      -712,  -712,  -712,  -712,  -712,  -712,   216,  -712,   216,   216,       520,   498,   523,   506,   521, -1308,   508,   525, -1308,   526,
1360       216,   216,   216,   216,   216,   216,  -712,  -712,  -712,  -712,       510,   517,   528, -1308,   518,   533,   514, -1308, -1308, -1308,
1361      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,   244,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,   492, -1308,
1362        69,   245,   237,   246,  -712,   -92,  -712,  -712,  -712,   -92,       492,   492,   492,   492,   492,   492,   492,   492, -1308, -1308,
1363      -712,   -92,   -92,   -92,   -92,   -92,  -712,   -92,  -712,   -92,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1364       -92,   -92,   -92,   233,   259,  -712,   -92,   -92,  -712,   -92,       530,   534,   531, -1308, -1308,   122,   122,   122,   227,   536,
1365       -92,    72,   261,   262,  -712,  -712,  -712,  -712,  -712,  -712,       537,   527,   522,   538,   540,   535,   539, -1308,   122, -1308,
1366      -712,   256,  -712,   -92,   -92,   -92,   251,   270,   265,  -712,     -1308, -1308, -1308, -1308,   122, -1308,   122,   122,   122,   122,
1367       -92,   -92,   -92,   -92,   -92,   -92,   254,   269,   277,   268,       122, -1308,   122, -1308,   122,   122,   122,   122,   122, -1308,
1368       272,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,       122,   122,   122,   122,   122,   122,   122,   122,   122, -1308,
1369      -712,  -712,  -712,  -712,  -712,  2705,  1820,  -712,   -92,   271,       542, -1308,   122, -1308,   122,   543, -1308,   122,   546, -1308,
1370       274,  -712,  -712,  -712,   273,   276,   286,   287,   291,  -712,       122,   122,   547, -1308,   122,   122, -1308,   122,   122,   532,
1371       293,   294,   296,   298,   297,   299,    62,   292,   292,   292,       544,   550, -1308,   122,   122,   122, -1308,   122,   122,   122,
1372       292,   292,   292,   292,   292,   292,   292,   292,   301,   303,       279,   548,   545,   551, -1308, -1308, -1308, -1308, -1308, -1308,
1373      2705,  2705,   267,   267,   309,   314,   316,   281,    21,  2705,     -1308,   122, -1308,   122,   122,   122,   541, -1308,   122,   122,
1374       267,   317,   320,   318,    18,   267,   267,   267,   267,  2926,     -1308,   122,   122,   122,   122,   549,   558,   553, -1308,   122,
1375       323,   329,   312,   315,   325,  2705,  -712,   267,   327,   321,       122,   122,   122,   122,   122,   122,   122,   122,   122,   122,
1376       330,  -712,   319,   326,   324,   332,   328,   336,   339,   346,       566,   569,   556,   564,   567,   555,   563,   554,   577,   578,
1377       347,   343,   -92,   -92,   -92,   -92,   -92,   -92,   -92,   -92,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1378       -92,   -92,   -92,   -92,   -92,   -92,   -92,   349,   350,  1820,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1379      1820,   216,   216,   216,   216,   216,   216,   216,   216,   216,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1380      -712,  -712,   351,   348,   352,   344,  1820,  1820,   353,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1381       -92,  -712,   -92,  -712,   -92,  2705,  -712,  -712,   354,   355,     -1308, -1308, -1308, -1308, -1308, -1308, -1308,   122,   524, -1308,
1382       356,   345,   358,   357,  -712,   -92,   -92,   -92,   -92,   -92,       574,   582, -1308, -1308, -1308, -1308, -1308,   579,   584,   602,
1383       -92,   -92,   -92,   -92,   -92,   -92,   -92,   -92,  -712,  2705,       590,   605, -1308,   607,   552,   611,   174,   174,    13,   612,
1384      -712,   363,   360,   335,   366,   373,  -712,  -712,   359,  -712,       608,   616,   560,   615,   561,   620,   609,   606,   613,   107,
1385      -712,   368,   375,   365,   367,   369,   371,   372,   322,   374,       624,   624,   624,   624,   624,   624,   624,   624,   624,   624,
1386       267,    37,   267,   267,  2705,   267,  2705,  2705,   267,   267,       405,   624,   624,   624,   624,   503,   624,    22,    22,   624,
1387       267,   267,  2705,  2705,   267,   376,   333,  2705,  2705,   377,       624,   630,   621,   503,   632,   405,   568,     3,     3,   570,
1388       380,   334,   370,  1154,  1376,   381,   267,   124,   267,   382,       174,   174,   174,   174,   633,   585,   634,  3316,  3316,   503,
1389      -712,   340,   379,   383,   378,   267,   267,   267,   267,   267,       503,   503,   503,   636,   665,   596,   664,   405,   503,    22,
1390       267,   267,   267,   267,  2705,   267,  2705,   267,   384,   385,        22,   654,    15,  3316,   503,   405,     8,   174,   670,   668,
1391       391,   397,   395,  -712,   399,   388,   398,   341,   401,   402,       673,   109,   503,   503,   503,   503,   669,   156,   111,   111,
1392       405,   404,   400,  -712,   389,   411,   -92,  -712,  -712,  -712,       482,  3535,   675,   676,   683,   614,   617,   674,   129,   672,
1393      -712,  -712,  -712,  1820,  2705,   -92,   -92,   -92,  -712,  1820,       671,   687,   503, -1308,   696,   688,   697, -1308,   690, -1308,
1394      2705,   -92,   361,   408,   -92,  3147,   -92,   362,   413,   410,       691,   698,   702,   704,  2652,  2652, -1308, -1308, -1308, -1308,
1395       406,  -712,  -712,   364,   -92,  -712,   -92,  -712,   393,   417,       703,   699,   122,   122,   122,   707,   708,   705,   712,   713,
1396       419,   420,   409,   -92,   -92,   -92,   -92,   -92,   -92,   -92,       709,   715,   710,   725,   714,   716,   122,   122,   122,   122,
1397       -92,   -92,  3368,   -92,  3589,   -92,   416,   415,   424,   418,       122,   122,   122,   122,   122,   122,   122,   122,   122,   122,
1398       394,   432,   429,   427,   425,   439,   430,  -712,   431,  -712,       492,   492,   492,   492,   492,   492,   492,   492,   492,   717,
1399       423,   426,   267,  2705,   267,   267,   267,  2705,   267,   433,     -1308, -1308, -1308,   122,   122,   122,   122, -1308, -1308,   122,
1400       454,  2705,  2042,   455,   434,   466,   456,   468,   267,   267,       726, -1308,   122, -1308,   122,   122, -1308,   724,   721,   503,
1401       467,   471,   473,   444,   477,   267,   267,  2705,   267,   267,       122,   122,   728, -1308, -1308,   729,   122,   122,   122,   122,
1402       205,  2705,   267,   195,  2042,  2705,  2042,  2705,   445,   435,       730,   122,   122,   122,   122,   732,   723,   753,  2652,  2652,
1403       474,   446,   498,  -712,   516,  -712,   499,   507,   502,   506,       122, -1308, -1308,   122,   754,   759,   749,   767, -1308, -1308,
1404       518,   521,  -712,  1820,   -92,  -712,   -92,  1820,  -712,   504,     -1308, -1308,   122, -1308,   122,   757, -1308,   122, -1308,   122,
1405       510,  3810,  2705,  2705,   216,   216,   542,  -712,  2705,  -712,     -1308,   122,  3316, -1308, -1308, -1308,   763, -1308,   122, -1308,
1406       107,    14,  -712,   508,   502,   514,   526,   517,  -712,   -92,       770,   765,   772,   761,   167,   768, -1308,   122,   122,   122,
1407       512,   519,   463,   527,   532,  -712,  -712,   -92,  -712,  -712,       122,   122,   122,   122,   122,   122,   122,   122,   122,   122,
1408      2705,  -712,  -712,  -712,   528,  -712,  -712,  -712,  -712,  2705,       122,   122,   122,   783,   122,   764,   782,   779,   122,   122,
1409       -92,   216,   216,  -712,  -712,  -712,   542,  4031,   542,  4252,       122,   122,   784,   122,   122,   122,   122,   492,   492, -1308,
1410       533,   472,   537,   539,   534,   543,   531,   547,  -712,   535,     -1308,   247,    23, -1308, -1308,  3316, -1308,   781,   785,   778,
1411       536,   548,  2705,  2705,  2705,  2705,   538,   544,  2042,  2263,       786,   774,   792,   787,   794,   793,   798,   797, -1308, -1308,
1412      2484,   141,   162,  2042,   216,   546,   549,   540,   553,   267,       776, -1308,   796,   799,   789,   795,   736,  3316,  1986, -1308,
1413       551,   552,   554,   545,  -712,   267,   555,   267,  2042,  2042,      2208,   807,   800,   174,   174,   174,   801,   803,   814,   815,
1414       559,   106,   550,   557,   556,  -712,   558,   492,   560,  -712,       816,   805,   740,   808,   819,   804,   806,   503,   151,   503,
1415       561,   -92,  2705,  2705,   -92,   562,   564,   542,  -712,  -712,       503,  3316,   503,  3316,  3316,   503,   503,   503,   503,  3316,
1416       216,   216,  -712,   216,   563,   565,   566,   575,  -712,   571,       503,   820,   503,  3316,   503,   503,   174,   830,   174,   174,
1417       568,   569,   573,  -712,  -712,   -92,   542,   542,   570,   577,       174,   766,   821,   122, -1308,   503,   769,   822,  3316,   174,
1418       579,   589,   574,   582,   576,     5,   529,   578,   580,   567,      3316,   174,   824,   174,   174,   174,   174,   826,   829,   771,
1419       216,   216,   581,   583,  -712,   587,   584,   585,   586,   588,      3316,  3316,   503,   503,   828,   825,   839,   775,   174,   174,
1420       205,   592,   590,   601,   593,   603,   595,   599,   600,   606,       827,   503,   174,   503,   833,   174,   832, -1308,   777,   848,
1421       613,    92,   622,   604,   621,   607,   624,  -712,   609,   115,       853,   841,   847,   503,   503,   503,   503,   503,   503,   503,
1422       610,   612,  -712,  -712,   616,   619,   614,   617,  -712,   591,       503,   503,   503,   503,   503,  3316,   503,  3316,   503,   850,
1423       632,   642,   635,    60,   636,   646,   594,   650,   596,   652,       503,   860,   843,   862,   503,   503,   503,   503,   849,   174,
1424       598,   653,   644,   639,   602,   641,  -712,   645,  -712,   140,       174,   174,   174,   318,   450,   492,   852,   864,   856,   857,
1425       654,   657,   666,   655,   667,   661,   675,   677,   662,   679,       867,   873,   809,   870,   875,   865,   874, -1308,   876,   863,
1426       664,   171,   665,   670,   669,    17,  -712,  -712,   682,    74,       877,   866,   878, -1308,  3316, -1308, -1308,   869,   812,   122,
1427       678,   683,   630,   696,   685,   688,  -712,   704,   701,   706,       122,   122,   813,   885,   883,   879,   887,   880,   884,   882,
1428       703,   705,   709,   707,   695,   647,   711,   710,   697,   725,       831,   890,   881, -1308,   872,   896,   122, -1308, -1308, -1308,
1429       708,   718,   658,   726,   723,   730,   731,   668,   715,   735,     -1308, -1308, -1308,  2652,  3316,   122,   122,   122, -1308,  2652,
1430       719,   739,   742,   722,   744,   668,    57,   747,   727,   733,       122, -1308, -1308,  3316,   122,   122, -1308,   886, -1308, -1308,
1431       736,   748,   737,   738,   745,   751,   753,   743,   750,   759,     -1308,   894,   834,   503,   122, -1308,   895,   889,   122,  3754,
1432       764,   765,   768,   761,   767,   772,   770,   754,   766,   762,       122,   122,   122,   891, -1308, -1308, -1308, -1308,   835,   897,
1433       776,   769,   781,   780,   774,  -712,   771,   777,   720,   785,       900,   122,  3973,   122,   122, -1308, -1308, -1308,   842,   907,
1434       786,  -712,   787,   777,   783,   797,   734,   805,   791,   794,       901,   905, -1308, -1308,   898,   122, -1308,   122, -1308,   913,
1435      -712,  -712,   804,   811,   792,   800,   796,  -712,   806,   803,     -1308,   846,   909,   911,   912,   918,   910,   122,   122,   122,
1436       818,   819,   821,   824,   814,   817,   827,   828,   822,   816,       122,   122,   122,   122,   122,   122,   122,   122,   122,  4192,
1437       773,   820,   825,   836,   837,  -712,   816,   830,   775,   838,       122,  4411,   122,   922,   122,   920,   925,   923,   122,   122,
1438       833,  -712,   839,   778,  -712,   832,   829,   782,   840,   841,       122,   122,   928,   122,   122,   122,   122,   492,   492,   492,
1439       778,   843,   842,   850,  -712,   847,   855,   844,   853,   864,       871,   915,   929,   916,   924,   927,   932,   931,   935,   888,
1440       861,   866,   867,   857,   871,   856,   802,   859,   862,   858,       892,   939,   940,   938,   933,   937, -1308,   934,   503,   174,
1441       863,   869,  -712,   865,   878,   876,   875,   881,   884,   889,       174,   941,   952,   943,   944, -1308,   953,   946, -1308,   936,
1442       886,   891,   882,   879,   874,   880,   883,   890,   888,   896,     -1308, -1308,   945,   948,   503,  3316,   503,   503,   503,  3316,
1443       897,   901,   906,   909,  -712,   910,   911,   912,   899,   898,       503,   503,   503,   949,   947,   955,   122,   503,   956,   954,
1444       903,   904,   908,   905,   913,   919,   921,   915,  -712,   924,      3316,  2874,  3316,  3316,   957,   963,   978,   969,  3316,  3095,
1445      -712,   925,   914,   917,  -712,   918,   920,  -712,   922,  -712,       174,   970,   972,   982,   975,   979,   503,   503,   986,   980,
1446      -712,  -712       983,   984,   930, -1308, -1308,   503,   503,  3316,   503,    78,
1447         503,   405,  3316,   503,   482,  3535,  3535,  3095,  3316,  3095,
1448        3316, -1308,   174,   985,   981,   942,   503,   503,   503,   503,
1449         976,   174,   174,   174,   174,   492,   492,   987,   951,   991,
1450         988,  1002,   974,   998,  1004,   992,   996,  1011, -1308,  1017,
1451       -1308,  1006,  1007,  1022, -1308, -1308, -1308,  1026,  1037,  1032,
1452        1034,  1039,   209,  1038,  1061,  1064, -1308,  2652,   122, -1308,
1453         122,  2652,   122, -1308, -1308,  1049,  1050,  1055,   503, -1308,
1454       -1308,  1052,  1054,  4630, -1308,  3316, -1308,   122,   122,  1056,
1455        1057, -1308,  1059,  4849,   492,   492,  1086, -1308,  3316, -1308,
1456       -1308, -1308, -1308, -1308,  1058,  1032,  1039,   320,  1071, -1308,
1457         122, -1308,  1067,   397,  1009,  1076, -1308, -1308,   122, -1308,
1458       -1308,  3316, -1308,  1084,  1075, -1308, -1308, -1308, -1308, -1308,
1459       -1308, -1308, -1308, -1308,  3316,   122, -1308, -1308, -1308,  1086,
1460        5068,  1086,  5287, -1308,  1020, -1308,  1089,   122,   122,   122,
1461         122,  1085, -1308, -1308, -1308, -1308, -1308,  1072,  1090,  1024,
1462        1079,  1027,  1091,   420,  1098,  1101,  1092,  1093,  1096,  1088,
1463        1094,  1102,  1095,  1105, -1308,  1097, -1308,  1100,  1099,  1104,
1464        1103,  1106,  3316,  3316,  3316,  3316,   503,  1107,  1111,  1113,
1465         122,  1112,  1115,  2874,  1116,  1114,  1117,  3095,  3095,  1119,
1466        1120,  1122,  1109,   503,  1125,  1127,  1118,  1126,   503,  1121,
1467        1132,   503,  3095,  3095,  1134,  1135,   503,   503,   482,   174,
1468        1136,  1131,  1144,   317,  1133,   321,  1142,  1137,  1139,  1143,
1469        1145,  1152,  1141, -1308,  1157,  1147,  1155,  1162,  1108,  1167,
1470        1161,  1164,  1180, -1308,  1174,   122,  3316,  3316,   122, -1308,
1471        1168,  1171,  1191,  3316,  1175,  1181, -1308,  1184,  1182,  1179,
1472        1086, -1308,  1185,  1189,  1187,  1192, -1308,  1186,  1193,  1194,
1473         435, -1308,  1199,  1209,   122,  1086,  1086,  1195,  1204,   122,
1474       -1308, -1308, -1308,  1200,  1203,  1210,  1206,  1211,  1216,  1208,
1475        1219,  1218,  1214,  1212,  1230,  1217,  1234,  1225,  1236,  1221,
1476        1226,  1222,   173,  1240,  1176,  1227,  1244,  1231,  1245,  1232,
1477        1243,   122,  1235,  1247,  1252,  1237,  1188,  1239,  1190,  1241,
1478       -1308,  1242,  1196,  1246,  1251,  1253, -1308,   405,  1248,  1256,
1479         503,  1255,  1257,  1261,  1259,  1271,  1260,  1266,  1275,  1267,
1480        1220,  1268,  1277,  1276,  1288,  1274,  1282,  1284,  1279,  1280,
1481        1278,  1287,  1293,  1289,   186,  1291,  1238,  1304, -1308,  1294,
1482       -1308,   174,  1297,  1292,  1298,  1295,  1307,  1299,  1310,  1308,
1483        1300,   187,  1301,  1302,  1311, -1308,  1309,  1306, -1308,  1313,
1484        1312, -1308,  1316,  1318,  1317,  1322,  1323, -1308,  1333,  1326,
1485        1319,  1321,  1272, -1308,  1328,  1337,  1340,  1283,  1342,  1344,
1486        1353,  1341,   161,  1345,  1358,  1361,  1360,  1363,   122,  1367,
1487        1362,  1365,  1315,  1368,  1320,  1373,  1375,  1324,  1378,  1350,
1488        1366,  1325,  1372,  1376,  1384,  1374,  1329,  1381, -1308,  1382,
1489        1383, -1308,  1399,  1400,  1387, -1308,  1404,    35,  1394,  1389,
1490         418,  1403,  1405,  1407,    37,  1391,  1408,  1401,  1395,  1406,
1491        1413,  1409,   503,  1411,    40,  1349,  1418,  1410,  1425,  1412,
1492        1416,   449,  1414,  1415,  1419,    77, -1308,  1424,  1423, -1308,
1493        1427, -1308,  1377, -1308,  1428,  1431, -1308,  1434, -1308,  1442,
1494        1432,  1446,  1445,   166,  1439,  1441,  1385,  1453,  1449,  1440,
1495        1443,  1444,  1447, -1308,  1450,   122,  1451,  1457,  1460,  1463,
1496        1464,  1465,  1455,  1468,  1472,  1469,  1459,  1402,  1473,  1467,
1497        1458,  1420,  1474,  1475,   293,  1478,  1470,  1471,  1480,  1422,
1498       -1308,  1483,  1476,  1485,  1429,  1490,  1492,  1493,  1496,  1499,
1499        1435,    41,  1491, -1308,   482,  1489,  1500,  1488,  1510,  1494,
1500        1511,    46,  1514,  1498,  1515,  1435,    87,  1521,  1505,  1508,
1501        1522,  1523,  1504,  1512,  1524,  1516,  1528,  1461,  1525,  1517,
1502        1527,  1529,  1532,  1520,  1530,  1518,  1533,  1531,  1541,  1534,
1503        1535, -1308,  1537,  1536,   122,  1540,  1539,  1548,  1545,  1550,
1504        1546,  1547,  1551,  1557,  1555,  1513,  1552,  1544,  1560,  1549,
1505        1559,  1553,  1554,  1563,  1566,   254,  1561,  1568,  1574,  1565,
1506        1577,  1572,  1562, -1308,  1569,  1579,  1567,  1519,  1581,  1586,
1507        1526,    29,  1583,  1588, -1308,  1589,  1567,  1592,  1575,  1591,
1508        1542,  1594,  1580,  1584, -1308, -1308, -1308,  1596,  1587,  1595,
1509        1590,  1543,  1593,  1597,  1601, -1308,  1600,  1599,  1602,  1607,
1510        1598,  1603,  1585,  1614, -1308,  1604,  1608,  1605,  1606,  1611,
1511        1613,   122, -1308, -1308, -1308, -1308, -1308,  1619,  1622,  1624,
1512        1616,  1625,  1628,  1618,  1621,  1631,  1632,  1633,  1623,  1641,
1513       -1308,   324,  1627,  1639,  1630,  1629, -1308,  1638,  1634,  1609,
1514        1635,  1636,  1637,  1651,  1653,  1640,  1654,  1610,  1642,   174,
1515        1643, -1308,  1634,  1640,  1646,  1615,  1660,  1648, -1308,  1652,
1516        1617, -1308,  1645,  1655,  1658,  1659,  1661,  1620,  1663,  1626,
1517       -1308,  1668,  1647,  1644,  1670,  1649,  1656, -1308,  1665,  1686,
1518        1677, -1308,  1683,  1626,  1684,  1681,  1696, -1308,   326,  1687,
1519        1682,  1698,  1685, -1308,   338,  1688,  1691,  1707,  1689,  1708,
1520        1693,  1712,  1709, -1308,  1711,  1710,  1699,  1717,  1719,  1713,
1521        1706,  1718,  1704,  1720,  1716, -1308,  1721,  1723,  1702,  1722,
1522        1715,  1664,  1724,    75,  1725,  1727,  1735,  1705,  1731,  1732,
1523        1736, -1308,  1730,  1746,  1728,  1734, -1308,  1739,  1749, -1308,
1524        1738,  1756,  1757,  1753,  1758,  1759,  1761,  1766,  1748,  1768,
1525        1765,  1760,  1762,  1700, -1308,  1764,  1767,  1771,  1763,  1755,
1526        1582,  1769,  1770,  1773,  1772,  1774,  1776,  1775,  1777, -1308,
1527         362,  1778, -1308,  1779,  1780,  1784,  1789, -1308,  1791, -1308,
1528        1799,  1790,  1800,  1801, -1308,  1792,  1794, -1308,  1804,  1793,
1529        1788,  1796,  1797,  1740,  1798,  1802,  1803,  1754,  1806,  1805,
1530        1811,  1812,  1807, -1308,  1815, -1308,  1814, -1308,  1810,  1813,
1531        1822,  1816,  1817, -1308,  1821,  1819,  1809, -1308,  1820, -1308,
1532        1826,  1808, -1308, -1308, -1308, -1308,  1827, -1308
1533  };  };
1534    
1535  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1536  static const short int yypgoto[] =  static const yytype_int16 yypgoto[] =
1537  {  {
1538      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1539      -712,  -712,  -712,  -573,  -712,  -712,  -712,  -712,  -696,   112,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1540      -712,   104,    49,  -712,  -712,  -465,   247,   386,   387,  -711,     -1308, -1308, -1308,  -867, -1308, -1308, -1308, -1308, -1308, -1009,
1541       129,  -712,   331,   235,    11,   -10,   -14,   283,  -317,  -712,     -1307, -1308,   417,    57, -1308,  -547,  -984, -1204,   412, -1164,
1542       -13,   926,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -330, -1094, -1077,  -842,   868,   597,  -911,   610,   -11,   461,
1543      -712,  -712,  -712,  -712,  -712,  -712,  -109,   689,   690,   698,     -1128,   489,  -863,   501,  -744,   507,  -609,   -15,   147,     6,
1544      -173,   692,   694,  -261,  -257,  -255,  -712,   699,  -712,   702,       284,  1213,  -154,   -16,  1818, -1308, -1308, -1308, -1308, -1308,
1545      -256,  -712,  -712,   700,   515,  -712,   712,  -712,   713,   714,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,  -484, -1308,
1546      -252,  -712,  -712,   524,  -712,  -712,  -712,  -712,  -712,  -712,     -1308,  1254, -1308, -1308, -1308, -1308,  -130,  1573,  1612,  1650,
1547      -712,   716,  -712,  -712      -263,  1570,  1576,  1578,  1657,  1662,  1666,  1667,  1669,  1671,
1548        1672,  1673,  1674,  1675,  1676,  1678,  1679,  -267,  -266,  -264,
1549         177, -1308,  1680, -1308,  1690, -1308, -1308, -1308, -1308,  1692,
1550        -265, -1308, -1308,  1914,  -237, -1308,  1694, -1308,  2135,  2360,
1551        -248, -1308,   202,   114,  -254,  2361, -1308,  1250, -1308, -1308,
1552       -1308, -1308,    31,  2582,   -61,   -13,  -180,   -12,  1229, -1308,
1553       -1308,  -493,   -63, -1308,  -272, -1308, -1308, -1308, -1308, -1308,
1554       -1308,  2578,  -224, -1308, -1308
1555  };  };
1556    
1557  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1558     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1559     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1560     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1561  #define YYTABLE_NINF -138  #define YYTABLE_NINF -266
1562  static const short int yytable[] =  static const yytype_int16 yytable[] =
1563  {  {
1564       267,   269,   556,   270,   271,   272,   273,   274,   275,   276,       281,  1057,   282,   283,   284,   285,   286,   287,   288,   289,
1565       277,   278,   279,   280,   281,   656,   356,   359,   401,  -137,       290,   291,   292,   293,   294,   295,   296,   297,   298,  1001,
1566       357,   360,   402,   806,   403,   808,   918,   516,   517,   291,      1306,   810,   279,   468,  1224,   423,   427,  1031,  -265,   388,
1567       919,   332,   791,    41,    42,   371,   800,   292,   920,   531,       520,   521,   766,   522,  1043,   661,   721,   660,   723,  1146,
1568       996,   947,   307,   307,   307,   307,   307,   307,   307,   307,       452,   464,   424,   428,  1360,   661,     1,   718,     2,   328,
1569       307,   532,     1,   997,     2,   518,    33,   998,    29,   634,       330,   331,   332,   333,   334,   335,   336,   337,   710,  1309,
1570       533,    30,    34,   306,   308,   309,   310,   311,   312,   313,       748,  1311,  1819,  1820,     3,  1244,     4,     5,   764,     6,
1571       314,   315,     3,   635,     4,     5,   386,   387,     6,    35,         7,  1441,  1648,  1280,  1648,     8,     9,  1648,  1741,  1449,
1572      1036,   987,    39,     7,   386,   963,    37,   388,     8,     9,        10,    11,    12,  1741,    13,   714,   702,   318,   690,   691,
1573        10,   481,    11,   389,   353,    40,   390,  1037,   964,  1000,       692,   693,   694,   695,   696,   697,   698,    49,  1678,  1583,
1574        31,   389,    38,   289,   390,   633,   354,   639,   640,   290,      1293,   724,  1954,   396,   350,   351,    36,   411,  1754,  1668,
1575       421,   422,  1001,   444,   422,   834,   943,   867,   296,   297,      1294,  1679,   445,    50,   352,  1680,   752,   754,  1949,  1317,
1576       298,   299,   300,   301,   302,   303,   304,   305,   944,   889,      1318,  1319,  1320,   749,  1649,  1755,  1657,   471,   773,  1667,
1577       516,   517,   264,   667,    32,   890,    36,   886,   887,   951,      1742,   765,    41,   802,   675,  1750,   470,   471,   472,   473,
1578       673,   674,   675,   676,   677,   678,   679,   680,   681,   870,       774,   474,   475,   793,   477,    45,   775,   479,   476,   366,
1579       282,   952,   296,   297,   298,   299,   300,   301,   302,   303,        40,   823,  1419,   368,   477,   478,  1242,   479,   358,    46,
1580       304,   305,   335,   978,   979,   483,   284,   375,   380,   484,       359,   360,   361,   362,   451,   459,   824,    43,   527,  1292,
1581       871,   485,   408,   296,   297,   298,   299,   300,   301,   302,       363,   994,   883,    44,  1305,   795,   364,   365,   455,   366,
1582       303,   304,   305,   283,   330,   376,   331,   328,   332,   377,       350,   412,   456,   420,  1615,   995,   796,   797,   793,  1692,
1583       285,   361,   286,   362,   991,   992,   333,   378,   535,   593,       457,   361,  1520,  1548,   920,   446,  1521,  1616,   430,   366,
1584       594,   287,   538,   363,   801,   802,   296,   501,   502,   503,       431,   408,  1693,   432,  1522,    42,   921,    48,  1572,  1588,
1585       504,   505,   506,   507,   508,   509,   296,   501,   502,   503,       433,   329,   329,   329,   329,   329,   329,   329,   329,   329,
1586       504,   505,   506,   507,   508,   509,   794,   296,   297,   298,      1573,  1589,   394,   311,  1451,   654,   655,   414,   417,   312,
1587       299,   300,   301,   302,   303,   304,   305,   752,  -137,  -137,       654,   655,    47,   453,   466,   654,   655,   654,   655,  1430,
1588      -137,   288,   293,   294,    41,   328,   409,   410,   411,   861,       350,   412,    51,  1347,   654,   655,  1348,  -265,  -265,  -265,
1589       412,   413,   864,   778,   486,   487,   488,   489,   490,   491,       352,   654,   655,   955,  1445,  1446,   318,   319,   320,   321,
1590       492,   493,   494,   495,   496,   414,   415,   407,   416,   418,       322,   323,   324,   325,   326,   327,   549,   550,   419,   740,
1591       417,   424,   420,   423,   438,   425,    -4,    -4,   296,   501,        -4,    -4,   743,   420,   410,  1802,   415,   418,   750,   444,
1592       502,   503,   504,   505,   506,   507,   508,   509,   439,   445,       421,  1803,   454,   467,   763,  1804,    53,    54,    37,  1257,
1593       447,   446,   451,   452,   453,   460,   419,   461,   419,   419,      1258,    38,   677,   678,    39,   679,    52,   680,   681,   682,
1594       419,   419,   419,   419,   419,   419,   462,   464,   463,   472,       683,   684,   685,   686,   687,   688,   689,   299,   703,   704,
1595       473,   468,   469,   474,   475,   470,   471,   477,   476,   478,       705,   706,   828,   709,  1723,  1724,   715,   716,   603,   550,
1596       515,   481,   426,   480,   479,   497,   427,   498,   428,   429,      1725,   425,   429,  1010,  1097,  1012,   465,   318,   319,   320,
1597       430,   431,   432,   512,   433,   513,   434,   435,   436,   437,       321,   322,   323,   324,   325,   326,   327,   315,  1456,   546,
1598       514,   528,   530,   440,   441,   265,   442,   443,   529,   551,       547,   548,  1459,   316,  1457,  1873,   276,  1920,  1460,   786,
1599       552,   553,   557,   554,   555,   559,   558,   564,   620,   560,       300,  1874,   559,  1921,  1370,   302,   777,  1371,   560,  1926,
1600       448,   449,   450,   562,   561,   565,   563,   454,   455,   456,       561,   562,   563,   564,   565,  1927,   566,   781,   567,   568,
1601       457,   458,   459,   566,   878,   567,   568,   569,   585,   586,       569,   570,   571,   780,   572,   573,   574,   575,   576,   577,
1602       589,   591,   590,   599,   592,   601,   602,   603,   595,   618,       578,   579,   580,  1995,   778,   301,   582,   303,   583,  1996,
1603       600,   621,   604,   466,   619,   467,   622,   624,   625,   626,       798,   585,   657,  1084,   587,   588,   654,   655,   590,   591,
1604       632,   628,   627,   670,   623,   629,   630,   671,   660,   686,       407,   592,   593,   801,   804,   806,   441,   597,   598,   599,
1605       672,   652,   657,   631,   658,   663,   688,   668,   689,   687,       304,   600,   601,   602,   318,   690,   691,   692,   693,   694,
1606       690,   691,   695,   693,   653,   659,   692,   696,   510,   511,       695,   696,   697,   698,   699,   607,   305,   608,   609,   610,
1607       697,   669,   694,   698,   700,   699,   701,   710,   714,   715,       306,  1375,   612,   613,  1340,   614,   615,   616,   617,  1652,
1608       739,   544,   545,   546,   547,   550,   721,   716,   722,   723,      1653,  1307,  1308,   621,   622,   623,   624,   625,   626,   627,
1609       724,   741,   709,   713,   738,   717,   740,   743,   744,   745,       628,   629,   630,   631,  1397,   307,  1098,  1398,   758,   318,
1610       746,   747,   748,   750,   751,   749,   774,   811,   759,   570,       319,   320,   321,   322,   323,   324,   325,   326,   327,  1494,
1611       571,   572,   573,   574,   575,   576,   577,   578,   579,   580,      1673,  1674,  1340,   500,   523,   542,   308,   542,   542,   542,
1612       581,   582,   583,   584,   720,   742,   587,   588,   760,   776,       542,   542,   542,   542,   542,  1415,   402,   404,  1418,   807,
1613       773,   307,   307,   307,   307,   307,   307,   307,   307,   307,       808,   318,   690,   691,   692,   693,   694,   695,   696,   697,
1614       775,   777,   780,   407,   407,   781,   812,   596,   782,   597,       698,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1615       784,   598,   306,   308,   309,   310,   311,   312,   313,   314,       327,   642,   318,   690,   691,   692,   693,   694,   695,   696,
1616       315,   814,   605,   606,   607,   608,   609,   610,   611,   612,       697,   698,   310,   277,   727,   729,   309,   993,  1665,   999,
1617       613,   614,   615,   616,   617,   783,   810,   813,   815,   817,      1000,   313,   314,    53,   350,   400,   405,   408,   412,   528,
1618       816,   818,   819,   820,   821,   826,   827,   833,   327,   835,      1744,   529,   530,   532,   531,  1015,   533,   534,   536,   535,
1619       836,   837,   838,   840,   842,   841,   843,   844,   852,   850,       537,   538,   540,   541,   544,   539,   543,   552,   545,   553,
1620       846,   642,   853,   851,   645,   646,   647,   648,   855,   854,       643,   349,   551,   556,   554,   555,   586,   589,   557,   581,
1621       651,   856,   857,   860,   876,   859,   858,   877,   865,   882,       584,   594,   558,   611,   604,   810,   701,   596,   606,   619,
1622       466,   466,   665,   895,   891,   866,   874,   884,   888,   881,       620,  1481,   634,  1058,   635,   637,   595,   605,   618,   701,
1623       875,   879,   892,   880,   894,   897,   905,   893,   898,   902,       638,   701,   639,  1067,  1068,  1069,  1070,  1071,  1072,  1073,
1624       896,   683,   911,   685,   899,   903,   904,   906,   907,   909,      1074,  1075,  1076,  1077,  1078,   632,   741,   742,   633,   636,
1625       908,   405,   912,   913,   914,   915,   916,   917,   922,   927,       640,   641,   644,   701,  1088,  1089,  1090,  1091,   645,   646,
1626       921,   923,   925,   702,   933,   928,   930,   935,   936,   931,      1578,   701,   647,   648,   649,   650,   651,   666,   789,   790,
1627       703,   934,   704,   705,   706,   938,   707,   937,   708,   939,       791,   792,  1295,   653,   665,   667,   813,   816,   839,   839,
1628       941,   940,   942,   945,   946,   947,   953,   948,   949,   950,       669,   652,   671,   674,   673,   672,   843,   844,   845,   668,
1629       955,   718,   954,   719,   956,   957,   960,   958,   924,   962,       670,   675,   717,   718,   722,   735,   737,   725,   744,   730,
1630       725,   726,   727,   728,   729,   730,   731,   732,   733,   961,       857,   858,   859,   860,   861,   862,   863,   864,   865,   866,
1631       735,   965,   737,   966,   926,   968,   929,   970,   972,   973,       867,   868,   869,   870,   736,   328,   330,   331,   332,   333,
1632       974,   976,   959,   980,   977,   967,   981,   969,   327,   971,       334,   335,   336,   337,   745,   746,   747,   872,   873,   874,
1633       754,   755,   756,   975,   758,   982,   984,   983,   772,   985,       875,   755,   770,   876,   771,   772,   878,   817,   879,   880,
1634       986,   987,   771,   989,   988,   665,   990,   993,   994,   995,       818,   793,   819,   820,   884,   885,   821,   822,   825,   826,
1635       999,   786,   788,  1002,   786,   793,   796,  1003,   786,   805,       888,   889,   890,   891,   827,   893,   894,   895,   896,   829,
1636       772,  1004,   772,   771,   771,  1005,   771,  1006,  1007,  1008,       831,   830,   900,   901,   902,   701,   832,   903,   833,   835,
1637      1009,  1010,  1011,  1012,  1013,  1015,  1014,   465,  1016,  1017,       834,   836,   842,   841,   846,   847,   908,   848,   909,   849,
1638       822,   823,  1019,   824,   825,  1018,  1020,  1022,   327,  1023,       850,   911,   852,   912,   854,   913,   851,   871,   856,   877,
1639      1021,  1024,  1025,  1026,   307,   307,  1027,  1029,  1030,  1028,       853,   881,   915,   855,   882,   886,   887,   892,   758,   897,
1640       419,  1031,  1032,  1033,  1034,  1039,   839,  1035,  1038,  1040,       898,   923,   924,   925,   926,   927,   928,   929,   930,   931,
1641      1041,   499,   500,  1044,   845,   831,   832,  1042,  1047,  1043,       932,   933,   934,   935,   936,   937,   938,   812,   940,   810,
1642       525,  1048,   327,   327,  1045,  1046,  1049,   847,  1050,  1051,       899,   904,   944,   945,   946,   947,   906,   949,   950,   951,
1643       549,   307,   307,  1053,  1052,  1054,  1055,  1056,  1057,  1058,       952,   905,   953,   954,   907,   910,   914,   916,   917,   918,
1644      1059,  1061,  1060,  1062,  1063,  1064,  1069,  1066,   327,  1070,       919,   922,   939,   941,  1236,   942,   943,   948,   956,   957,
1645      1071,  1068,   831,   832,   772,  1065,  1067,  1072,   771,   772,       958,   960,   961,   959,   962,   963,   964,   965,   966,   967,
1646      1073,   419,   419,   771,   307,  1074,  1075,  1076,  1077,  1078,       969,   970,   975,   968,   975,   972,   977,   971,   987,   988,
1647      1080,   788,   327,   793,   772,   772,  1079,  1082,   771,   771,       992,   989,   978,   983,   982,   991,  1279,   329,   329,   329,
1648      1081,  1084,  1083,  1085,  1086,   873,  1087,   405,   405,  1088,       329,   329,   329,   329,   329,   329,   984,   985,   986,   990,
1649      1089,  1090,  1091,  1092,  1093,  1094,  1096,  1098,  1099,  1102,      1011,  1017,  1039,  1022,  1027,  1021,  1033,  1049,  1026,  1038,
1650       307,   307,  1100,   419,  1095,  1097,  1101,  1103,  1106,  1105,      1040,  1048,  1050,  1054,  1051,  1061,  1062,  1023,  1002,  1059,
1651      1107,  1104,   910,  1108,  1110,  1113,  1115,  1117,  1109,  1111,      1063,  1005,  1006,  1007,  1008,  1064,   701,  1066,   701,  1065,
1652      1112,   900,   901,  1114,  1116,  1118,  1119,  1120,  1121,  1122,      1014,  1083,  1085,  1086,  1087,  1100,  1092,  1101,  1102,  1103,
1653       419,   419,  1123,  1125,  1124,  1127,   796,  1126,  1128,  1132,      1104,  1025,  1105,  1107,  1108,  1109,  1111,  1110,  1106,  1112,
1654      1133,  1129,  1130,  1131,  1134,   525,  1135,   643,   644,  1136,      1113,  1117,  1121,  1114,  1122,  1115,  1123,  1116,  1045,  1047,
1655      1137,  1138,  1139,   649,   650,  1140,  1142,  1141,   655,   655,      1125,  1127,  1126,  1130,  1131,  1132,  1124,  1056,  1128,  1133,
1656      1143,  1144,  1148,  1145,   465,   465,   327,   327,  1146,  1147,      1129,  1144,  1148,  1145,  1155,  1143,  1149,  1157,  1154,  1156,
1657      1149,  1150,   327,   327,  1151,  1152,  1153,  1154,   327,  1155,      1162,  1161,  1164,  1163,  1168,  1169,  1170,  1165,  1171,  1172,
1658      1156,  1157,  1158,  1160,  1162,   682,  1163,   684,  1159,  1165,      1099,  1173,  1080,  1174,  1082,  1191,   701,  1193,  1194,  1200,
1659      1166,   885,  1167,  1161,  1164,  1168,  1169,   883,  1170,   932,      1195,  1208,  1209,  1210,   329,   329,  1211,  1212,   542,  1213,
1660       641,  1171,   872,   365,   366,   327,   779,   327,   804,   536,      1207,  1214,  1218,  1118,  1119,  1120,  1215,  1219,  1220,  1222,
1661       295,   399,   367,   400,   374,     0,   368,   382,   539,     0,      1223,  1221,  1228,  1229,  1227,  1231,  1233,  1216,  1232,  1246,
1662         0,     0,     0,     0,   666,     0,   369,     0,   370,     0,      1134,  1217,  1230,  1234,  1235,  1245,  1247,  1135,  1251,  1136,
1663       384,     0,     0,     0,     0,   404,     0,     0,     0,     0,      1137,  1138,  1252,  1139,  1140,  1259,  1260,  1256,  1141,  1142,
1664         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1261,  1262,  1275,  1274,  1276,  1271,  1273,  1277,  1147,  1281,
1665         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1278,  1315,  1321,  1282,  1152,  1283,  1153,  1284,  1314,  1285,
1666         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1327,  1329,   349,   349,  1331,  1158,  1330,  1158,  1160,  1025,
1667         0,     0,     0,     0,   753,     0,   327,     0,   757,     0,      1333,  1316,  1337,  1271,  1334,  1271,  1336,  1338,   657,  1166,
1668       327,     0,   761,     0,   327,     0,     0,     0,     0,     0,      1328,  1167,  1339,  1436,  1340,  1341,   349,  1322,  1324,  1325,
1669         0,   327,     0,     0,     0,     0,     0,     0,   790,     0,      1324,  1175,  1176,  1177,  1178,  1179,  1180,  1181,  1182,  1183,
1670         0,     0,   799,     0,     0,     0,   807,     0,   809,     0,      1184,  1185,  1186,  1332,  1188,  1342,  1190,  1343,  1192,  1344,
1671         0,     0,     0,   327,     0,     0,     0,     0,     0,     0,      1345,  1349,  1196,  1197,  1198,  1199,  1346,  1201,  1202,  1203,
1672         0,     0,   327,     0,     0,     0,     0,     0,     0,     0,      1204,  1335,  1205,  1206,  1350,  1351,  1357,  1358,  1359,  1361,
1673       327,     0,   327,   829,   830,     0,     0,     0,     0,     0,      1362,  1368,  1364,  1366,  1372,   810,  1365,  1369,  1376,   349,
1674         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       542,   542,   329,  1377,   738,   739,  1374,  1379,  1380,  1384,
1675         0,     0,   327,   327,     0,     0,     0,     0,     0,     0,      1385,  1391,  1390,  1393,  1392,  1394,  1395,  1399,  1396,  1403,
1676         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       762,   349,  1400,  1406,  1056,  1401,  1402,  1404,  1408,  1414,
1677         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1248,  1412,  1405,  1407,  1420,  1422,  1409,  1411,   815,  1410,
1678         0,     0,     0,     0,     0,   327,   327,     0,     0,     0,      1413,  1435,  1238,  1239,  1240,  1442,  1025,  1243,  1047,  1421,
1679         0,     0,     0,   655,   862,   863,   655,   316,    46,    47,      1424,  1439,  1428,  1250,  1425,  1427,  1429,  1432,  1440,  1433,
1680       661,     0,    48,    49,    50,   317,   318,   319,   320,   321,      1434,   837,   837,  1437,  1443,  1270,  1438,  1447,  1448,  1454,
1681       322,   323,   324,   325,   326,    61,    62,    63,    64,    65,      1453,  1455,  1458,  1056,  1461,  1464,  1462,  1463,  1465,  1466,
1682        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,      1467,  1287,  1289,  1469,  1287,   701,  1299,  1301,  1468,  1287,
1683        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,       813,   816,   816,  1270,  1470,  1270,  1471,  1472,  1473,  1474,
1684        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,      1475,  1476,  1047,  1047,  1047,  1047,  1477,  1479,  1478,  1256,
1685        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,      1480,  1482,  1483,  1271,  1271,  1484,  1485,  1486,  1495,  1487,
1686       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,      1491,  1352,  1353,  1489,  1354,  1355,  1356,  1488,  1271,  1271,
1687       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,      1490,  1492,  1496,  1493,  1498,  1273,  1499,  1502,  1501,  1504,
1688       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,      1503,  1507,  1509,  1505,   329,   329,   542,  1506,  1511,   953,
1689       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,       954,  1508,  1510,  1512,  1250,  1514,  1513,  1515,   349,  1516,
1690       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,      1517,  1519,  1518,  1523,  1373,  1524,  1525,  1526,  1528,  1527,
1691       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,      1533,  1529,  1378,  1530,  1532,  1534,  1535,  1536,  1537,  1538,
1692       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,      1539,  1540,  1549,  1554,  1542,  1541,  1546,   349,   349,  1381,
1693       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,      1543,  1551,  1544,   349,  1547,  1553,  1550,   349,  1552,  1556,
1694       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,      1557,  1386,  1387,  1388,  1389,  1555,   812,  1559,  1561,  1558,
1695       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,      1560,  1562,  1563,   349,  1564,  1565,  1566,  1568,  1567,  1569,
1696       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,      1570,  1571,  1574,  1576,  1580,  1577,   349,  1575,  1579,  1583,
1697       216,   217,   218,   219,   220,   221,   222,   223,   224,   225,      1581,   812,  1585,  1582,   812,  1590,   812,  1584,  1587,  1586,
1698       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,      1591,  1592,  1594,  1593,  1423,   974,  1595,   974,  1597,  1599,
1699       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,      1596,  1598,   542,   542,  1600,  1602,  1601,  1603,  1604,  1605,
1700       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,      1608,  1606,  1250,   349,  1611,   349,  1607,  1609,   762,  1612,
1701       256,   257,   258,   259,   260,   261,   262,   263,   264,   316,      1003,  1004,  1610,  1270,  1270,  1613,  1009,   758,  1617,  1614,
1702        46,    47,     0,   662,    48,    49,    50,   317,   318,   319,      1013,  1618,  1619,  1633,  1289,  1620,  1621,  1299,  1270,  1270,
1703       320,   321,   322,   323,   324,   325,   326,    61,    62,    63,      1623,  1627,  1289,  1045,   813,  1029,  1629,  1029,  1630,  1158,
1704        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,      1624,  1632,  1158,  1625,  1626,  1634,  1639,  1042,  1042,  1628,
1705        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,      1636,   329,   329,  1631,  1635,  1637,   662,  1638,  1640,  1641,
1706        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,      1642,  1643,  1644,  1645,  1646,  1647,  1650,  1661,  1497,  1651,
1707        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,      1654,  1658,  1655,  1500,  1656,  1659,  1663,  1660,  1649,  1662,
1708       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,      1668,  1664,  1079,  1666,  1081,   711,   713,  1670,  1672,  1683,
1709       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,      1669,  1676,  1671,  1682,  1675,   726,   728,  1677,   731,   732,
1710       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,       733,   734,  1681,  1686,  1688,  1531,  1684,  1687,  1685,  1690,
1711       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,      1689,  1691,  1694,  1695,  1696,  1697,  1698,   751,   753,  1706,
1712       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,      1699,  1700,  1701,  1707,   767,   769,  1702,  1709,  1703,  1705,
1713       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,      1708,  1716,  1710,  1711,  1712,  1713,  1714,  1715,  1722,  1717,
1714       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,      1718,  1719,  1731,  1301,  1721,  1726,  1289,  1729,  1727,  1720,
1715       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,      1728,  1730,  1733,  1735,   812,   812,  1732,  1738,  1734,  1736,
1716       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,      1737,   349,  1739,  1743,  1740,   349,  1741,  1745,  1746,   812,
1717       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       812,  1747,  1749,  1751,  1748,   812,  1753,   349,  1752,   349,
1718       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,      1756,  1757,  1758,  1754,  1760,  1761,  1759,   349,  1763,  1764,
1719       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,      1765,  1762,   349,  1767,  1545,  1773,  1792,  1766,  1768,  1770,
1720       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,      1771,  1769,  1622,  1772,  1776,  1774,  1783,  1775,  1779,  1778,
1721       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,      1777,  1784,  1785,  1786,  1780,   349,  1782,  1787,  1789,  1788,
1722       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,      1790,  1791,  1794,  1795,  1793,  1796,  1797,  1800,   349,  1801,
1723       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,      1799,  1806,  1798,  1807,   349,  1810,   349,  1808,  1809,  1805,
1724       264,    45,    46,    47,     0,     0,    48,    49,    50,    51,      1816,  1811,  1813,  1812,  1814,  1817,  1827,  1831,  1815,  1828,
1725        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,      1829,  1830,  1832,  1834,  1835,  1818,  1836,  1837,  1839,  1838,
1726        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,      1844,  1845,  1986,  1840,  1851,  1847,  1842,  1823,  1056,  1843,
1727        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,      1848,  1833,  1841,  1846,  1849,  1852,  1858,  1856,  1853,  1855,
1728        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,      1860,  1850,  1237,  1857,  1854,  1861,  1241,  1862,  1864,  1704,
1729        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,      1863,  1865,  1866,  1867,  1868,  1869,  1870,  1253,  1255,  1029,
1730       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,      1029,  1871,  1872,  1876,  1877,  1263,  1875,  1878,  1879,  1882,
1731       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,      1885,  1880,  1886,  1888,  1883,  1884,  1893,  1887,  1890,  1895,
1732       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,      1896,  1892,  1897,  1899,  1291,  1911,  1908,  1912,  1900,  1304,
1733       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,      1901,  1902,   815,   815,  1903,  1310,  1905,  1312,  1881,  1889,
1734       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       349,   349,  1907,  1910,  1894,  1823,  1898,  1913,  1914,  1904,
1735       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       813,   979,   980,   981,  1915,  1906,  1916,  1918,  1917,  1919,
1736       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,      1922,  1923,  1924,  1925,  1928,  1929,  1930,  1931,  1781,  1933,
1737       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,      1932,  1934,  1935,  1909,  1936,  1938,  1939,  1937,  1940,  1942,
1738       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,      1944,  1950,  1958,  1941,  1016,  1949,  1018,  1019,  1020,  1946,
1739       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,      1943,  1951,  1945,  1952,  1947,  1948,  1955,  1030,  1954,  1032,
1740       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,      1953,  1034,  1035,  1036,  1037,  1956,  1957,  1960,  1959,  1961,
1741       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,      1962,  1963,  1964,  1966,  1967,  1968,  1052,  1053,  1965,  1969,
1742       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,      1970,  1971,  1972,  1060,  1973,  1974,  1975,  1976,  1977,  1980,
1743       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,      1983,  1985,  1978,  2018,  1984,  1979,  1981,  1991,  1444,  1450,
1744       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,      1982,  1326,  1313,  1999,  1990,  1859,  1987,  1992,  1988,  1989,
1745       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,      1998,  2000,  2001,  1993,  2002,  1994,  1997,  1093,  1094,  1095,
1746       262,   263,   264,   316,    46,    47,     0,     0,    48,    49,      1096,  2003,  2004,  2005,  2006,  2007,  2008,  2009,  2011,  2014,
1747        50,   317,   318,   319,   320,   321,   322,   323,   324,   325,      2019,  2010,  2012,  2013,  2021,  2022,  2015,  2025,  2036,  2017,
1748       326,    61,    62,    63,    64,    65,    66,    67,    68,    69,      2016,  2024,  2026,  2020,  2023,  2028,  2027,  2033,  1891,  2037,
1749        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,      1452,   812,  2029,  2030,  2031,  2032,  2034,  1431,   805,  1042,
1750        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,      1416,  1417,  1042,  2035,  1426,   435,   759,   504,   840,     0,
1751        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,      1255,   782,     0,   505,   317,   506,     0,     0,     0,     0,
1752       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1753       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1754       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,         0,     0,     0,     0,   436,     0,     0,     0,     0,     0,
1755       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1756       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1757       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       762,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1758       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,         0,     0,   437,     0,     0,     0,     0,     0,     0,     0,
1759       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,         0,     0,     0,     0,   507,     0,     0,     0,     0,   508,
1760       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,         0,     0,     0,   509,   510,     0,   511,     0,   512,   513,
1761       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       514,   515,   516,   517,     0,   518,   519,   524,     0,     0,
1762       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,         0,     0,     0,   449,   438,     0,   439,  1225,  1226,   338,
1763       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,        58,    59,    60,    61,    62,   339,   340,   341,   342,   343,
1764       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,       344,   345,   346,   347,   348,    73,    74,    75,    76,    77,
      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,  
      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,  
      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,  
      260,   261,   262,   263,   264,   316,    46,    47,   762,   763,  
       48,   764,   765,    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,  
1765        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1766        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1767        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
# Line 1248  static const short int yytable[] = Line 1780  static const short int yytable[] =
1780       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1781       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1782       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1783       258,   259,   260,   261,   262,   263,   316,    46,    47,   868,       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1784         0,    48,    49,    50,   317,   318,   319,   320,   321,   322,       268,   269,   270,   271,   272,   273,   274,   275,   973,   461,
1785       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,       276,   338,    58,    59,    60,    61,    62,   339,   340,   341,
1786        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,       342,   343,   344,   345,   346,   347,   348,    73,    74,    75,
       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,   222,   223,   224,   225,   226,  
      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,  
      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,  
      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,  
      257,   258,   259,   260,   261,   262,   263,   316,    46,    47,  
        0,   869,    48,    49,    50,   317,   318,   319,   320,   321,  
      322,   323,   324,   325,   326,    61,    62,    63,    64,    65,  
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,  
1787        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1788        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1789        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
# Line 1292  static const short int yytable[] = Line 1802  static const short int yytable[] =
1802       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1803       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1804       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1805       256,   257,   258,   259,   260,   261,   262,   263,   316,    46,       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1806        47,     0,     0,    48,    49,    50,   317,   318,   319,   320,       266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
1807       321,   322,   323,   324,   325,   326,    61,    62,    63,    64,       463,   976,   276,    57,    58,    59,    60,    61,    62,    63,
       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,   222,   223,   224,  
      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,  
      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,  
      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,  
      255,   256,   257,   258,   259,   260,   261,   262,   263,   316,  
       46,    47,     0,     0,    48,    49,    50,    51,    52,    53,  
       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,  
1808        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1809        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1810        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1337  static const short int yytable[] = Line 1825  static const short int yytable[] =
1825       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1826       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1827       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1828       316,   712,    47,     0,     0,    48,    49,    50,   317,   318,       264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
1829       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,       274,   275,   440,   442,   276,   338,    58,    59,    60,    61,
1830        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        62,   339,   340,   341,   342,   343,   344,   345,   346,   347,
1831        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,       348,    73,    74,    75,    76,    77,    78,    79,    80,    81,
       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,   222,  
      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,  
      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,  
      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,  
      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,  
      263,   316,   734,    47,     0,     0,    48,    49,    50,   317,  
      318,   319,   320,   321,   322,   323,   324,   325,   326,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
1832        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1833        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1834       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
# Line 1381  static const short int yytable[] = Line 1847  static const short int yytable[] =
1847       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1848       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1849       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1850       262,   263,   316,   736,    47,     0,     0,    48,    49,    50,       262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
1851       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,       272,   273,   274,   275,   443,   525,   276,   338,    58,    59,
1852        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        60,    61,    62,   339,   340,   341,   342,   343,   344,   345,
1853        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,       346,   347,   348,    73,    74,    75,    76,    77,    78,    79,
       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,   222,   223,   224,   225,   226,   227,   228,   229,   230,  
      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,  
      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,  
      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,  
      261,   262,   263,   316,   828,    47,     0,     0,    48,    49,  
       50,   317,   318,   319,   320,   321,   322,   323,   324,   325,  
      326,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
1854        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1855        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1856       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
# Line 1425  static const short int yytable[] = Line 1869  static const short int yytable[] =
1869       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1870       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1871       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1872       260,   261,   262,   263,   316,   848,    47,     0,     0,    48,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1873        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,       270,   271,   272,   273,   274,   275,   654,   655,   338,    58,
1874       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,        59,    60,  1264,  1265,    63,    64,    65,    66,    67,    68,
1875        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1876        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1877        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1447  static const short int yytable[] = Line 1891  static const short int yytable[] =
1891       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1892       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1893       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1894       259,   260,   261,   262,   263,   316,   849,    47,     0,     0,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1895        48,    49,    50,   317,   318,   319,   320,   321,   322,   323,       269,   270,   271,   272,   273,   274,   275,   654,   655,   338,
1896       324,   325,   326,    61,    62,    63,    64,    65,    66,    67,        58,    59,    60,    61,    62,   339,   340,   341,   342,   343,
1897        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,       344,   345,   346,   347,   348,    73,    74,    75,    76,    77,
1898        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1899        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1900        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
# Line 1469  static const short int yytable[] = Line 1913  static const short int yytable[] =
1913       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1914       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1915       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1916       258,   259,   260,   261,   262,   263       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1917  };       268,   269,   270,   271,   272,   273,   274,   275,   338,    58,
1918          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1919  static const short int yycheck[] =        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1920  {        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1921        14,    14,   467,    16,    17,    18,    19,    20,    21,    22,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1922        23,    24,    25,    26,    27,   588,   272,   273,   279,     5,        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1923       272,   273,   279,   734,   279,   736,    21,     6,     7,    32,       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1924        25,    25,   728,   225,   226,    29,   732,    40,    33,    21,       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1925        23,    24,    52,    53,    54,    55,    56,    57,    58,    59,       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1926        60,    33,     1,    36,     3,    34,    29,    40,    24,    22,       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1927        42,    38,    35,    52,    53,    54,    55,    56,    57,    58,       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1928        59,    60,    21,    36,    23,    24,    22,    23,    27,    41,       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1929        23,    24,    34,    32,    22,    25,    25,    33,    37,    38,       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1930        39,    29,    41,    39,    21,     0,    42,    40,    38,    25,       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1931        25,    39,    41,    33,    42,   570,    33,   572,   573,    39,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1932        41,    42,    38,    41,    42,     8,    24,   828,    11,    12,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1933        13,    14,    15,    16,    17,    18,    19,    20,    36,    23,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1934         6,     7,   224,   598,    25,    29,    25,   848,   849,    24,       219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1935       605,   606,   607,   608,   609,   610,   611,   612,   613,     8,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1936        24,    36,    11,    12,    13,    14,    15,    16,    17,    18,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1937        19,    20,   271,    23,    24,   426,    39,   276,   277,   426,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1938         8,   426,   281,    11,    12,    13,    14,    15,    16,    17,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1939        18,    19,    20,    25,    21,    21,    23,    23,    25,    25,       269,   270,   271,   272,   273,   274,   275,   338,  1151,    59,
1940        40,    21,    39,    23,    23,    24,    33,    33,   454,   516,        60,    61,    62,   339,   340,   341,   342,   343,   344,   345,
1941       517,    21,   454,    33,     9,    10,    11,    12,    13,    14,       346,   347,   348,    73,    74,    75,    76,    77,    78,    79,
1942        15,    16,    17,    18,    19,    20,    11,    12,    13,    14,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1943        15,    16,    17,    18,    19,    20,    21,    11,    12,    13,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1944        14,    15,    16,    17,    18,    19,    20,   702,   224,   225,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1945       226,    29,    22,    39,   225,    23,    21,    40,    40,   822,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1946        24,    40,   825,   718,   427,   428,   429,   430,   431,   432,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1947       433,   434,   435,   436,   437,    35,    25,   280,    25,    41,       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1948        39,    34,    28,    28,    41,    29,   225,   226,    11,    12,       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1949        13,    14,    15,    16,    17,    18,    19,    20,    29,    28,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1950        34,    29,    41,    23,    29,    41,   306,    28,   308,   309,       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1951       310,   311,   312,   313,   314,   315,    29,    35,    40,    23,       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1952        23,    40,    38,    22,    21,    42,    40,    21,    24,    21,       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1953        39,    29,   335,    24,    27,    24,   339,    24,   341,   342,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1954       343,   344,   345,    24,   347,    21,   349,   350,   351,   352,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1955        24,    24,    24,   356,   357,    14,   359,   360,    28,    26,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1956        21,    39,    25,    38,    29,    25,    35,    29,    23,    40,       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1957       373,   374,   375,    39,    38,    29,    34,   380,   381,   382,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1958       383,   384,   385,    34,   839,    29,    29,    34,    29,    29,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1959        29,    29,    34,    29,    40,    29,    41,    29,    35,    26,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1960        35,    25,    35,   406,    34,   408,    23,    29,    23,    34,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1961        26,    32,    35,    24,    45,    34,    34,    24,    38,    25,       270,   271,   272,   273,   274,   275,   338,  1159,    59,    60,
1962        32,    35,    35,    91,    34,    34,    25,    35,    21,    34,        61,    62,   339,   340,   341,   342,   343,   344,   345,   346,
1963        25,    22,    21,    25,    91,    91,    38,    25,   442,   443,       347,   348,    73,    74,    75,    76,    77,    78,    79,    80,
1964        25,    91,    91,    29,    45,    35,    25,    29,    25,    29,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1965        25,   455,   456,   457,   458,   459,    29,    41,    29,    29,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1966        41,    33,    91,    91,    38,    91,    32,    25,    29,    32,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1967        35,    22,    32,    40,    38,    34,    32,    32,    35,   482,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1968       483,   484,   485,   486,   487,   488,   489,   490,   491,   492,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1969       493,   494,   495,   496,    91,    91,   499,   500,    34,    33,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1970        35,   501,   502,   503,   504,   505,   506,   507,   508,   509,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1971        34,    33,    35,   516,   517,    34,    32,   520,    35,   522,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1972        33,   524,   501,   502,   503,   504,   505,   506,   507,   508,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1973       509,    23,   535,   536,   537,   538,   539,   540,   541,   542,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1974       543,   544,   545,   546,   547,    91,    91,    91,    22,    32,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1975        41,    39,    36,    25,    23,    41,    36,     5,   265,    41,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1976        36,    25,    35,    41,    91,    36,    29,    25,    21,    26,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1977        32,   575,    23,    91,   578,   579,   580,   581,    25,    35,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1978       584,    40,    25,    25,    34,    39,    41,    24,    40,    34,       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1979       593,   594,   596,    91,    34,    41,    40,    32,    29,    35,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1980        41,    40,    35,    41,    36,    34,    21,    41,    36,    36,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1981        40,   615,    32,   617,    40,    40,    40,    36,    40,    36,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1982        41,   280,    35,    34,    25,    41,    34,    41,    40,    32,       261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1983        91,    41,    41,   636,    32,    41,    40,    26,    35,    41,       271,   272,   273,   274,   275,   338,  1187,    59,    60,    61,
1984       643,    41,   645,   646,   647,    40,   649,    34,   651,    40,        62,   339,   340,   341,   342,   343,   344,   345,   346,   347,
1985        34,    41,    29,    21,    40,    24,    36,    40,    24,    40,       348,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1986        34,   664,    40,   666,    35,    41,    24,    40,    91,    24,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1987       673,   674,   675,   676,   677,   678,   679,   680,   681,    27,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1988       683,    35,   685,    27,    91,    25,    91,    25,    25,    35,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1989        41,    40,    91,    29,    39,    91,    29,    91,   405,    91,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1990       704,   705,   706,    91,   708,    29,    29,    42,   712,    38,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1991        25,    24,   712,    24,    42,   719,    42,    42,    38,    40,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1992        28,   725,   726,    35,   728,   729,   730,    34,   732,   733,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1993       734,    91,   736,   733,   734,    29,   736,    42,    40,    25,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1994        29,    25,    29,    28,    25,    40,    29,   406,    91,    28,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1995       753,   754,    45,   756,   757,    35,    21,    29,   465,    91,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1996        42,    25,    29,    23,   764,   765,    25,    42,    23,    91,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1997       770,    42,    23,    21,    42,    38,   779,    23,    21,    36,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1998        34,   440,   441,    35,   787,   764,   765,    29,    25,    42,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1999       449,    38,   499,   500,    39,    34,    36,   800,    29,    25,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2000       459,   801,   802,    25,    29,    34,    29,    25,    28,    45,       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
2001        34,    25,    40,    34,    23,    25,    21,    36,   525,    23,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
2002        23,    91,   801,   802,   828,    41,    39,    34,   828,   833,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
2003        23,   831,   832,   833,   834,    91,    21,    36,    34,    25,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2004        38,   845,   549,   847,   848,   849,    25,    41,   848,   849,       262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
2005        40,    38,    36,    25,    25,   834,    25,   516,   517,    25,       272,   273,   274,   275,   338,  1189,    59,    60,    61,    62,
2006        36,    34,    25,    25,    32,    39,    36,    21,    21,    21,       339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
2007       870,   871,    32,   873,    91,    40,    91,    34,    36,    91,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2008        41,    32,   885,    91,    33,    25,    21,    24,    38,    36,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2009        38,   870,   871,    36,    40,    21,    25,    21,    21,    32,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2010       900,   901,    21,    91,    38,    33,   910,    38,    40,    21,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2011        24,    38,    33,    38,    29,   574,    25,   576,   577,    25,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2012        21,    25,    21,   582,   583,    33,    42,    38,   587,   588,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2013        40,    38,    25,    33,   593,   594,   643,   644,    40,    33,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2014        29,    25,   649,   650,    25,    25,    25,    25,   655,    40,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2015        42,    38,    38,    38,    25,   614,    25,   616,    40,    25,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2016        25,   847,    38,    40,    39,    38,    38,   845,    38,   910,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2017       574,    39,   833,   274,   274,   682,   719,   684,   733,   454,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2018        44,   279,   274,   279,   275,    -1,   274,   277,   454,    -1,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2019        -1,    -1,    -1,    -1,   597,    -1,   274,    -1,   274,    -1,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2020       277,    -1,    -1,    -1,    -1,   279,    -1,    -1,    -1,    -1,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2021        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
2022        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
2023        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
2024        -1,    -1,    -1,    -1,   703,    -1,   753,    -1,   707,    -1,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
2025       757,    -1,   711,    -1,   761,    -1,    -1,    -1,    -1,    -1,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
2026        -1,   768,    -1,    -1,    -1,    -1,    -1,    -1,   727,    -1,       263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
2027        -1,    -1,   731,    -1,    -1,    -1,   735,    -1,   737,    -1,       273,   274,   275,   338,  1363,    59,    60,    61,    62,   339,
2028        -1,    -1,    -1,   790,    -1,    -1,    -1,    -1,    -1,    -1,       340,   341,   342,   343,   344,   345,   346,   347,   348,    73,
2029        -1,    -1,   799,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2030       807,    -1,   809,   762,   763,    -1,    -1,    -1,    -1,    -1,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2031        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2032        -1,    -1,   829,   830,    -1,    -1,    -1,    -1,    -1,    -1,       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
2033        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2034        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
2035        -1,    -1,    -1,    -1,    -1,   862,   863,    -1,    -1,    -1,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2036        -1,    -1,    -1,   822,   823,   824,   825,     3,     4,     5,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2037         6,    -1,     8,     9,    10,    11,    12,    13,    14,    15,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2038        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2039        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
2040        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2041        46,    47,    48,    49,    50,    51,    52,    53,    54,    55,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2042        56,    57,    58,    59,    60,    61,    62,    63,    64,    65,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2043        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
2044         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
2045         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
2046         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
2047         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
2048         264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
2049         274,   275,   338,  1367,    59,    60,    61,    62,   339,   340,
2050         341,   342,   343,   344,   345,   346,   347,   348,    73,    74,
2051          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2052          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2053          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2054         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2055         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2056         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2057         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2058         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2059         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2060         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2061         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2062         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2063         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2064         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2065         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
2066         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
2067         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
2068         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
2069         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
2070         265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
2071         275,   338,  1382,    59,    60,    61,    62,   339,   340,   341,
2072         342,   343,   344,   345,   346,   347,   348,    73,    74,    75,
2073        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2074        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2075        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
# Line 1611  static const short int yycheck[] = Line 2084  static const short int yycheck[] =
2084       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2085       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2086       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2087       216,   217,   218,   219,   220,   221,   222,   223,   224,     3,       216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
2088         4,     5,    -1,     7,     8,     9,    10,    11,    12,    13,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
2089         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
2090         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2091         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
2092         266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
2093         338,  1383,    59,    60,    61,    62,   339,   340,   341,   342,
2094         343,   344,   345,   346,   347,   348,    73,    74,    75,    76,
2095          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2096          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2097          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2098         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2099         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2100         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2101         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2102         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2103         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2104         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2105         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2106         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2107         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2108         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2109         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
2110         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
2111         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
2112         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2113         257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2114         267,   268,   269,   270,   271,   272,   273,   274,   275
2115    };
2116    
2117    static const yytype_int16 yycheck[] =
2118    {
2119          16,   912,    18,    19,    20,    21,    22,    23,    24,    25,
2120          26,    27,    28,    29,    30,    31,    32,    33,    34,   861,
2121        1184,   630,    16,   295,  1118,   290,   291,   890,     5,   283,
2122         297,   297,    24,   297,   901,    32,   583,    24,   585,  1023,
2123         294,   295,   290,   291,  1248,    32,     1,    32,     3,    64,
2124          65,    66,    67,    68,    69,    70,    71,    72,    36,  1187,
2125         607,  1189,    33,    34,    19,  1142,    21,    22,   615,    24,
2126          25,  1378,    37,  1167,    37,    30,    31,    37,    37,  1386,
2127          35,    36,    37,    37,    39,   578,   570,     9,    10,    11,
2128          12,    13,    14,    15,    16,    17,    18,    23,    21,    22,
2129          22,   585,    27,   283,    21,    22,    22,   287,    21,    22,
2130          32,    34,   292,    39,    31,    38,   609,   610,    43,  1196,
2131        1197,  1198,  1199,   607,    89,    38,    89,    20,    19,    89,
2132          89,   615,    27,    22,    27,    89,    19,    20,    21,    22,
2133          31,    24,    25,    32,    37,    19,    37,    40,    31,    40,
2134          23,    22,  1356,   283,    37,    38,  1140,    40,    19,    33,
2135          21,    22,    23,    24,   294,   295,    37,    27,   298,  1178,
2136          31,    20,   719,    33,  1183,    19,    37,    38,    19,    40,
2137          21,    22,    23,    24,    23,    34,    30,    31,    32,    23,
2138          31,    23,    19,  1500,    27,    27,    23,    36,    19,    40,
2139          21,    22,    36,    24,    31,    23,    39,    23,    22,    22,
2140          31,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2141          34,    34,   283,    31,  1388,   222,   223,   288,   289,    37,
2142         222,   223,    39,   294,   295,   222,   223,   222,   223,  1367,
2143          21,    22,    32,    34,   222,   223,    37,   224,   225,   226,
2144          31,   222,   223,     6,  1382,  1383,     9,    10,    11,    12,
2145          13,    14,    15,    16,    17,    18,    39,    40,    19,   599,
2146         225,   226,   602,    24,   287,    21,   288,   289,   608,   292,
2147          31,    27,   294,   295,   614,    31,   225,   226,    30,  1152,
2148        1153,    33,   559,   559,    36,   559,     0,   560,   561,   562,
2149         563,   564,   565,   566,   567,   568,   569,    22,   571,   572,
2150         573,   574,   642,   576,    21,    22,   579,   580,    39,    40,
2151          27,   290,   291,   870,     6,   872,   295,     9,    10,    11,
2152          12,    13,    14,    15,    16,    17,    18,    31,    21,   355,
2153         356,   357,    21,    37,    27,    21,   224,    21,    27,   621,
2154          23,    27,   368,    27,    34,    23,   621,    37,   374,    21,
2155         376,   377,   378,   379,   380,    27,   382,   621,   384,   385,
2156         386,   387,   388,   621,   390,   391,   392,   393,   394,   395,
2157         396,   397,   398,    21,   621,    34,   402,    37,   404,    27,
2158         627,   407,   546,   940,   410,   411,   222,   223,   414,   415,
2159         286,   417,   418,   627,   628,   629,   292,   423,   424,   425,
2160          32,   427,   428,   429,     9,    10,    11,    12,    13,    14,
2161          15,    16,    17,    18,    19,   441,    38,   443,   444,   445,
2162          37,    34,   448,   449,    37,   451,   452,   453,   454,    21,
2163          22,  1185,  1186,   459,   460,   461,   462,   463,   464,   465,
2164         466,   467,   468,   469,    34,    19,     6,    37,   612,     9,
2165          10,    11,    12,    13,    14,    15,    16,    17,    18,    34,
2166          21,    22,    37,   296,   297,   328,    34,   330,   331,   332,
2167         333,   334,   335,   336,   337,  1352,   284,   285,  1355,     7,
2168           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2169          18,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2170          18,   527,     9,    10,    11,    12,    13,    14,    15,    16,
2171          17,    18,    27,    16,   587,   588,    40,   857,  1622,   859,
2172         860,    38,    20,   225,    21,    31,    31,    22,    22,    19,
2173        1704,    43,    19,    22,    38,   875,    38,    22,    38,    23,
2174          33,    23,    19,    39,    20,    37,    26,    20,    27,    32,
2175          36,   277,    26,    23,    42,    27,    20,    20,    33,    27,
2176          27,    39,    33,    32,    26,  1184,   570,    27,    27,    21,
2177          27,  1423,    26,   913,    20,    30,    42,    42,    39,   583,
2178          27,   585,    38,   923,   924,   925,   926,   927,   928,   929,
2179         930,   931,   932,   933,   934,    39,   600,   601,    39,    42,
2180          33,    33,    38,   607,   944,   945,   946,   947,    36,    40,
2181        1531,   615,    38,    21,    34,    20,    19,    19,   622,   623,
2182         624,   625,  1179,    22,    22,    19,   630,   631,   654,   655,
2183          25,    89,    22,    30,    38,    36,   662,   663,   664,    89,
2184          89,    27,    22,    32,    22,    22,    22,    89,    22,    89,
2185         676,   677,   678,   679,   680,   681,   682,   683,   684,   685,
2186         686,   687,   688,   689,    89,   690,   691,   692,   693,   694,
2187         695,   696,   697,   698,    19,    89,    22,   703,   704,   705,
2188         706,    37,    22,   709,    26,    22,   712,    22,   714,   715,
2189          24,    32,    19,    89,   720,   721,    89,    33,    36,    38,
2190         726,   727,   728,   729,    27,   731,   732,   733,   734,    23,
2191          23,    33,   738,   739,   740,   719,    36,   743,    37,    27,
2192          32,    27,    33,    30,    27,    27,   752,    32,   754,    27,
2193          27,   757,    27,   759,    19,   761,    37,    30,    32,    23,
2194          40,    27,   768,    39,    33,    27,    27,    27,   912,    27,
2195          37,   777,   778,   779,   780,   781,   782,   783,   784,   785,
2196         786,   787,   788,   789,   790,   791,   792,   630,   794,  1388,
2197          27,    27,   798,   799,   800,   801,    37,   803,   804,   805,
2198         806,    32,   807,   808,    27,    38,    33,    27,    33,    27,
2199          39,    33,    19,    39,  1134,    23,    27,    23,    27,    24,
2200          32,    37,    20,    27,    27,    21,    23,    19,    21,    43,
2201          21,    32,   838,    27,   840,    89,    19,    32,    23,    89,
2202          24,    23,    32,    30,    33,    31,  1166,   690,   691,   692,
2203         693,   694,   695,   696,   697,   698,    32,    32,    32,    30,
2204          30,    21,    23,    32,    32,    89,    32,    32,    89,    33,
2205          89,    33,    23,    36,    89,    33,    89,   883,   862,    36,
2206          22,   865,   866,   867,   868,    22,   870,    30,   872,    38,
2207         874,    31,    22,    40,    22,    33,    37,    23,    32,    32,
2208          23,   885,    19,    23,    19,    30,    20,    23,    89,    36,
2209          23,    89,    89,    37,    19,    27,    23,    38,   902,   903,
2210          23,    27,    32,    23,    33,    43,    37,   911,    36,    23,
2211          89,    27,    27,    89,    89,    39,    37,    27,    37,    32,
2212          23,    89,    27,    32,    21,    89,    27,    39,    27,    27,
2213         955,    23,   936,    33,   938,    23,   940,    27,    23,    21,
2214          27,    36,    23,    37,   807,   808,    32,    30,   811,    27,
2215          89,    30,    23,   979,   980,   981,    31,    27,    30,    32,
2216          36,    38,    20,    30,    33,    22,    40,    89,    32,    32,
2217         996,    89,    38,    38,    36,    36,    31,  1003,    32,  1005,
2218        1006,  1007,    38,  1009,  1010,    38,    33,  1151,  1014,  1015,
2219          22,    32,    30,    33,    22,  1159,  1160,    32,  1024,    23,
2220          31,    30,    36,    33,  1030,    32,  1032,    33,    33,    89,
2221          33,    30,   738,   739,    22,  1041,    38,  1043,  1044,  1023,
2222          32,    89,    21,  1187,    30,  1189,    40,    20,  1192,  1055,
2223          89,  1057,    36,  1373,    37,    23,   762,  1201,  1202,  1203,
2224        1204,  1067,  1068,  1069,  1070,  1071,  1072,  1073,  1074,  1075,
2225        1076,  1077,  1078,    89,  1080,    39,  1082,    30,  1084,    37,
2226          36,    33,  1088,  1089,  1090,  1091,    37,  1093,  1094,  1095,
2227        1096,    89,  1097,  1098,    23,    21,    37,    37,    33,    37,
2228          36,     5,    36,    34,    23,  1704,    39,    39,    89,   815,
2229         953,   954,   955,    27,   597,   598,    39,    23,    33,    89,
2230          21,    39,    27,    89,    24,    36,    89,    19,    27,    23,
2231         613,   837,    21,    21,  1118,    33,    33,    39,    23,    23,
2232        1146,    27,    38,    38,    27,    22,    39,    38,   631,    39,
2233          37,    32,  1136,  1137,  1138,    24,  1140,  1141,  1142,    38,
2234          38,    33,    38,  1147,    39,    39,    39,    38,    32,    39,
2235          38,   654,   655,    38,    32,  1159,    39,    33,    33,    38,
2236          34,    27,    39,  1167,    32,    32,    39,    38,    33,    27,
2237          39,  1175,  1176,    36,  1178,  1179,  1180,  1181,    31,  1183,
2238        1184,  1185,  1186,  1187,    39,  1189,    34,    89,    31,    38,
2239          36,    21,  1196,  1197,  1198,  1199,    32,    36,    40,  1363,
2240          19,    36,    31,  1367,  1368,    31,    34,    38,    19,    34,
2241          34,  1237,  1238,    36,  1240,  1241,  1242,    38,  1382,  1383,
2242          38,    38,    23,    39,    39,  1389,    32,    34,    38,    33,
2243          30,    33,    24,    32,  1097,  1098,  1099,    31,    36,  1264,
2244        1265,    32,    38,    23,  1248,    21,    39,    32,   974,    23,
2245          39,    39,    36,    23,  1280,    89,    39,    23,    23,    38,
2246          23,    39,  1288,    30,    39,    23,    39,    89,    39,    89,
2247          39,    39,    27,    23,    38,    89,    38,  1003,  1004,  1305,
2248          39,    30,    39,  1009,    38,    24,    39,  1013,    39,    24,
2249          33,  1317,  1318,  1319,  1320,    39,  1159,    39,    32,    89,
2250          33,    23,    38,  1029,    32,    31,    37,    39,    38,    32,
2251          27,    32,    31,    19,    32,    31,  1042,    89,    31,    22,
2252          32,  1184,    22,    38,  1187,    34,  1189,    38,    38,    31,
2253          38,    30,    36,    34,  1360,   838,    33,   840,    32,    32,
2254          38,    33,  1205,  1206,    32,    22,    33,    31,    39,    38,
2255          23,    89,  1356,  1079,    22,  1081,    38,    27,   861,    25,
2256         863,   864,    89,  1367,  1368,    22,   869,  1531,    33,    38,
2257         873,    23,    21,    33,  1378,    25,    23,  1381,  1382,  1383,
2258          23,    23,  1386,  1387,  1388,   888,    23,   890,    23,  1415,
2259          38,    23,  1418,    38,    89,    39,    32,   900,   901,    89,
2260          38,  1264,  1265,    89,    89,    39,   548,    33,    89,    38,
2261          38,    38,    23,    23,    37,    21,    32,    32,  1444,    40,
2262          27,    40,    27,  1449,    27,    27,    23,    36,    89,    33,
2263          22,    32,   935,    32,   937,   577,   578,    22,    32,    22,
2264          40,    36,    40,    30,    40,   587,   588,    38,   590,   591,
2265         592,   593,    38,    32,    22,  1481,    89,    33,    40,    23,
2266          38,    26,    33,    32,    89,    22,    27,   609,   610,    22,
2267          40,    38,    38,    23,   616,   617,    39,    23,    38,    38,
2268          27,    89,    27,    38,    26,    23,    27,    38,    23,    26,
2269          33,    43,    19,  1497,    30,    27,  1500,    27,    38,    89,
2270          39,    89,    27,    23,  1367,  1368,    40,    21,    89,    27,
2271          27,  1237,    23,    32,    89,  1241,    37,    27,    40,  1382,
2272        1383,    21,    21,    19,    40,  1388,    21,  1253,    40,  1255,
2273          19,    36,    34,    21,    40,    33,    23,  1263,    32,    21,
2274          89,    27,  1268,    36,  1497,    37,    43,    32,    31,    27,
2275          40,    32,  1578,    33,    23,    32,    27,    36,    31,    34,
2276          36,    23,    27,    23,    38,  1291,    36,    31,    27,    32,
2277          23,    26,    38,    23,    32,    36,    27,    24,  1304,    23,
2278          36,    23,    39,    19,  1310,    23,  1312,    32,    21,    38,
2279          19,    39,    23,    34,    37,    19,    23,    32,    89,    21,
2280          21,    19,    21,    19,    34,    89,    32,    21,    23,    32,
2281          19,    21,    40,    33,    39,    23,    33,  1781,  1622,    32,
2282          23,    89,    89,    34,    36,    21,    23,    31,    34,    34,
2283          21,    38,  1135,    32,    36,    23,  1139,    23,    23,  1665,
2284          34,    23,    34,    32,    23,    23,    23,  1150,  1151,  1152,
2285        1153,    38,    21,    24,    34,  1158,    39,    38,    30,    34,
2286          19,    37,    19,    19,    38,    38,    30,    37,    36,    19,
2287          32,    38,    30,    38,  1177,    36,    39,    31,    33,  1182,
2288          32,    32,  1185,  1186,    33,  1188,    33,  1190,    89,    89,
2289        1416,  1417,    34,    33,    89,  1859,    89,    42,    22,    89,
2290        1704,   843,   844,   845,    37,    89,    33,    36,    34,    23,
2291          33,    39,    24,    38,    36,    34,    19,    38,  1744,    36,
2292          22,    19,    23,    89,    23,    36,    19,    27,    19,    33,
2293          36,    19,    37,    30,   876,    43,   878,   879,   880,    33,
2294          32,    36,    32,    89,    33,    32,    31,   889,    27,   891,
2295          36,   893,   894,   895,   896,    38,    31,    31,    36,    39,
2296          24,    43,    38,    24,    36,    19,   908,   909,    39,    22,
2297          27,    23,    23,   915,    23,    19,    38,    19,    23,    89,
2298          19,    36,    32,    39,    31,    33,    32,    23,  1381,  1387,
2299          33,  1204,  1192,    23,    32,  1821,    37,    31,    38,    36,
2300          31,    27,    23,    38,    23,    38,    38,   949,   950,   951,
2301         952,    22,    32,    23,    23,    33,    32,    23,    40,    89,
2302          24,    38,    36,    36,    23,    23,    38,    23,    30,    36,
2303          38,    26,    32,    38,    37,    23,    33,    38,  1859,    22,
2304        1389,  1704,    36,    36,    33,    36,    36,  1368,   629,  1352,
2305        1353,  1354,  1355,    37,  1363,   292,   612,   297,   655,    -1,
2306        1363,   621,    -1,   297,    56,   297,    -1,    -1,    -1,    -1,
2307          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2308          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2309          -1,    -1,    -1,    -1,   292,    -1,    -1,    -1,    -1,    -1,
2310          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2311          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2312        1423,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2313          -1,    -1,   292,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2314          -1,    -1,    -1,    -1,   297,    -1,    -1,    -1,    -1,   297,
2315          -1,    -1,    -1,   297,   297,    -1,   297,    -1,   297,   297,
2316         297,   297,   297,   297,    -1,   297,   297,   297,    -1,    -1,
2317          -1,    -1,    -1,   293,   292,    -1,   292,  1119,  1120,     3,
2318           4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2319        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2320        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2321        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
# Line 1633  static const short int yycheck[] = Line 2336  static const short int yycheck[] =
2336       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2337       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2338       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2339       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       214,   215,   216,   217,   218,   219,   220,   221,   222,   295,
2340       224,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,       224,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2341        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2342        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2343        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1656  static const short int yycheck[] = Line 2359  static const short int yycheck[] =
2359       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2360       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2361       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2362       222,   223,   224,     3,     4,     5,    -1,    -1,     8,     9,       295,   223,   224,     3,     4,     5,     6,     7,     8,     9,
2363        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2364        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2365        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1678  static const short int yycheck[] = Line 2381  static const short int yycheck[] =
2381       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2382       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2383       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2384       220,   221,   222,   223,   224,     3,     4,     5,     6,     7,       220,   221,   292,   292,   224,     3,     4,     5,     6,     7,
2385         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2386        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2387        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1700  static const short int yycheck[] = Line 2403  static const short int yycheck[] =
2403       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2404       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2405       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2406       218,   219,   220,   221,   222,   223,     3,     4,     5,     6,       218,   219,   220,   221,   292,   297,   224,     3,     4,     5,
2407        -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
       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,   222,   223,     3,     4,     5,  
       -1,     7,     8,     9,    10,    11,    12,    13,    14,    15,  
2408        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2409        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2410        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
# Line 1745  static const short int yycheck[] = Line 2426  static const short int yycheck[] =
2426       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2427       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2428       216,   217,   218,   219,   220,   221,   222,   223,     3,     4,       216,   217,   218,   219,   220,   221,   222,   223,     3,     4,
2429         5,    -1,    -1,     8,     9,    10,    11,    12,    13,    14,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2430        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2431        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2432        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
# Line 1767  static const short int yycheck[] = Line 2448  static const short int yycheck[] =
2448       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2449       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2450       215,   216,   217,   218,   219,   220,   221,   222,   223,     3,       215,   216,   217,   218,   219,   220,   221,   222,   223,     3,
2451         4,     5,    -1,    -1,     8,     9,    10,    11,    12,    13,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2452        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2453        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2454        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
# Line 1788  static const short int yycheck[] = Line 2469  static const short int yycheck[] =
2469       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2470       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2471       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2472       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       214,   215,   216,   217,   218,   219,   220,   221,     3,     4,
2473         3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2474        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2475        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2476        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2477        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,        45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2478        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,        55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2479        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2480        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2481        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2482        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2483       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2484       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2485       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2486       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2487       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2488       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2489       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2490       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2491       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2492       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2493       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2494       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,       215,   216,   217,   218,   219,   220,   221,     3,     4,     5,
2495       223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2496        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2497        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2498        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2499        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,        46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2500        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,        56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2501        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2502        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2503        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2504        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2505       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2506       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2507       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2508       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2509       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2510       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2511       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2512       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2513       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2514       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2515       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2516       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2517       222,   223,     3,     4,     5,    -1,    -1,     8,     9,    10,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2518        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2519        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2520        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2521        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2522        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2523        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2524        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2525        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2526        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2527       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2528       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2529       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2530       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2531       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2532       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2533       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2534       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2535       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2536       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2537       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2538       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
      221,   222,   223,     3,     4,     5,    -1,    -1,     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,   222,   223,     3,     4,     5,    -1,    -1,     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,   222,   223,     3,     4,     5,    -1,    -1,  
2539         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2540        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2541        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1921  static const short int yycheck[] = Line 2557  static const short int yycheck[] =
2557       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2558       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2559       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2560       218,   219,   220,   221,   222,   223       218,   219,   220,   221,     3,     4,     5,     6,     7,     8,
2561  };         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2562          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2563  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
2564     symbol of state STATE-NUM.  */        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
2565  static const unsigned short int yystos[] =        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
2566  {        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
2567         0,     1,     3,    21,    23,    24,    27,    32,    37,    38,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2568        39,    41,   228,   229,   230,   231,   270,   271,   272,   273,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2569       274,   275,   278,   279,   280,   281,   282,   317,   320,    24,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2570        38,    25,    25,    29,    35,    41,    25,    25,    41,    34,        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2571         0,   225,   226,   268,   269,     3,     4,     5,     8,     9,       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2572         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2573         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2574         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2575         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2576         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2577         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2578         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
2579         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2580         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2581         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2582         219,   220,   221,     3,     4,     5,     6,     7,     8,     9,
2583        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2584        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2585        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1954  static const unsigned short int yystos[] Line 2601  static const unsigned short int yystos[]
2601       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2602       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2603       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2604       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,       220,   221,     3,     4,     5,     6,     7,     8,     9,    10,
2605       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2606       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2607        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2608        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2609       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2610        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2611        21,    23,    25,    33,   234,   283,   284,   285,   286,   294,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2612       296,   297,   298,   299,   300,   301,   303,   305,   306,   307,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2613       308,   309,   310,    21,    33,   236,   297,   307,   237,   297,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2614       307,    21,    23,    33,   242,   284,   285,   286,   296,   303,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2615       306,    29,   238,   293,   294,   283,    21,    25,    33,   235,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2616       283,   295,   300,   304,   305,   319,    22,    23,    33,    39,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2617        42,   232,   288,   289,   290,   291,   292,   318,   233,   288,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2618       289,   290,   291,   292,   318,   259,   265,   267,   283,    21,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2619        40,    40,    24,    40,    35,    25,    25,    39,    41,   262,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2620        28,    41,    42,    28,    34,    29,   267,   267,   267,   267,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2621       267,   267,   267,   267,   267,   267,   267,   267,    41,    29,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2622       267,   267,   267,   267,    41,    28,    29,    34,   267,   267,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2623       267,    41,    23,    29,   267,   267,   267,   267,   267,   267,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2624        41,    28,    29,    40,    35,   259,   267,   267,    40,    38,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2625        42,    40,    23,    23,    22,    21,    24,    21,    21,    27,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2626        24,    29,   287,   290,   291,   292,   287,   287,   287,   287,       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2627       287,   287,   287,   287,   287,   287,   287,    24,    24,   259,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2628       259,    12,    13,    14,    15,    16,    17,    18,    19,    20,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2629       263,   263,    24,    21,    24,    39,     6,     7,    34,   243,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2630       255,   266,   277,   244,   254,   259,   252,   263,    24,    28,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2631        24,    21,    33,    42,   239,   297,   301,   302,   307,   310,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2632       311,   312,   313,   314,   263,   263,   263,   263,   258,   259,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2633       263,    26,    21,    39,    38,    29,   252,    25,    35,    25,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2634        40,    38,    39,    34,    29,    29,    34,    29,    29,    34,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2635       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2636       267,   267,   267,   267,   267,    29,    29,   267,   267,    29,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2637        34,    29,    40,   265,   265,    35,   267,   267,   267,    29,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2638        35,    29,    41,    29,    35,   267,   267,   267,   267,   267,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2639       267,   267,   267,   267,   267,   267,   267,   267,    26,    34,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2640        23,    25,    23,    45,    29,    23,    34,    35,    32,    34,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2641        34,    91,    26,   252,    22,    36,   241,   315,   316,   252,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2642       252,   254,   263,   259,   259,   263,   263,   263,   263,   259,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2643       259,   263,    35,    91,   240,   259,   240,    35,    34,    91,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2644        38,     6,     7,    34,   253,   263,   255,   252,    35,    91,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2645        24,    24,    32,   252,   252,   252,   252,   252,   252,   252,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2646       252,   252,   259,   263,   259,   263,    25,    34,    25,    21,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2647        25,    22,    38,    25,    91,    21,    25,    25,    29,    35,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2648        45,    25,   267,   267,   267,   267,   267,   267,   267,    91,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2649        29,   267,     4,    91,    25,    29,    41,    91,   267,   267,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2650        91,    29,    29,    29,    41,   267,   267,   267,   267,   267,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2651       267,   267,   267,   267,     4,   267,     4,   267,    38,    25,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2652        32,    33,    91,    25,    29,    32,    35,    22,    32,    34,        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2653        40,    38,   252,   259,   263,   263,   263,   259,   263,    35,        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2654        34,   259,     6,     7,     9,    10,   256,   257,   259,   260,        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2655       261,   262,   263,    35,    32,    34,    33,    33,   252,   253,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2656        35,    34,    35,    91,    33,   245,   263,   246,   263,   247,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2657       259,   245,   248,   263,    21,   249,   263,   276,   250,   259,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2658       245,     9,    10,   251,   260,   263,   256,   259,   256,   259,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2659        91,    32,    32,    91,    23,    22,    41,    32,    39,    36,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2660        25,    23,   267,   267,   267,   267,    41,    36,     4,   259,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2661       259,   261,   261,     5,     8,    41,    36,    25,    35,   267,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2662        41,    36,    91,    29,    25,   267,    32,   267,     4,     4,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2663        26,    91,    21,    23,    35,    25,    40,    25,    41,    39,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2664        25,   240,   259,   259,   240,    40,    41,   256,     6,     7,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2665         8,     8,   257,   261,    40,    41,    34,    24,   252,    40,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2666        41,    35,    34,   246,    32,   248,   256,   256,    29,    23,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2667        29,    34,    35,    41,    36,    91,    40,    34,    36,    40,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2668       261,   261,    36,    40,    40,    21,    36,    40,    41,    36,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2669       267,    32,    35,    34,    25,    41,    34,    41,    21,    25,       213,   214,   215,   216,   217,   218,   219,   220,   221
       33,    91,    40,    41,    91,    41,    91,    32,    41,    91,  
       40,    41,   249,    32,    41,    26,    35,    34,    40,    40,  
       41,    34,    29,    24,    36,    21,    40,    24,    40,    24,  
       40,    24,    36,    36,    40,    34,    35,    41,    40,    91,  
       24,    27,    24,    25,    38,    35,    27,    91,    25,    91,  
       25,    91,    25,    35,    41,    91,    40,    39,    23,    24,  
       29,    29,    29,    42,    29,    38,    25,    24,    42,    24,  
       42,    23,    24,    42,    38,    40,    23,    36,    40,    28,  
       25,    38,    35,    34,    91,    29,    42,    40,    25,    29,  
       25,    29,    28,    25,    29,    40,    91,    28,    35,    45,  
       21,    42,    29,    91,    25,    29,    23,    25,    91,    42,  
       23,    42,    23,    21,    42,    23,    23,    40,    21,    38,  
       36,    34,    29,    42,    35,    39,    34,    25,    38,    36,  
       29,    25,    29,    25,    34,    29,    25,    28,    45,    34,  
       40,    25,    34,    23,    25,    41,    36,    39,    91,    21,  
       23,    23,    34,    23,    91,    21,    36,    34,    25,    25,  
       38,    40,    41,    36,    38,    25,    25,    25,    25,    36,  
       34,    25,    25,    32,    39,    91,    36,    40,    21,    21,  
       32,    91,    21,    34,    32,    91,    36,    41,    91,    38,  
       33,    36,    38,    25,    36,    21,    40,    24,    21,    25,  
       21,    21,    32,    21,    38,    91,    38,    33,    40,    38,  
       33,    38,    21,    24,    29,    25,    25,    21,    25,    21,  
       33,    38,    42,    40,    38,    33,    40,    33,    25,    29,  
       25,    25,    25,    25,    25,    40,    42,    38,    38,    40,  
       38,    40,    25,    25,    39,    25,    25,    38,    38,    38,  
       38,    39  
2670  };  };
2671    
2672  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2673  # define YYSIZE_T __SIZE_TYPE__     symbol of state STATE-NUM.  */
2674  #endif  static const yytype_uint16 yystos[] =
2675  #if ! defined (YYSIZE_T) && defined (size_t)  {
2676  # define YYSIZE_T size_t         0,     1,     3,    19,    21,    22,    24,    25,    30,    31,
2677  #endif        35,    36,    37,    39,   228,   229,   230,   231,   293,   294,
2678  #if ! defined (YYSIZE_T)       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
2679  # if defined (__STDC__) || defined (__cplusplus)       309,   310,   311,   312,   387,   391,    22,    30,    33,    36,
2680  #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */        23,    27,    23,    27,    33,    19,    33,    39,    23,    23,
2681  #  define YYSIZE_T size_t        39,    32,     0,   225,   226,   291,   292,     3,     4,     5,
2682  # endif         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2683  #endif        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2684  #if ! defined (YYSIZE_T)        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2685  # define YYSIZE_T unsigned int        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2686  #endif        46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2687          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2688          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2689          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2690          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2691          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2692         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2693         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2694         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2695         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2696         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2697         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2698         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2699         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2700         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2701         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2702         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2703         216,   217,   218,   219,   220,   221,   224,   282,   285,   286,
2704         287,   290,   290,   290,   290,   290,   290,   290,   290,   290,
2705         290,   290,   290,   290,   290,   290,   290,   290,   290,    22,
2706          23,    34,    23,    37,    32,    38,    37,    19,    34,    40,
2707          27,    31,    37,    38,    20,    31,    37,   291,     9,    10,
2708          11,    12,    13,    14,    15,    16,    17,    18,   284,   285,
2709         284,   284,   284,   284,   284,   284,   284,   284,     3,     9,
2710          10,    11,    12,    13,    14,    15,    16,    17,    18,   287,
2711          21,    22,    31,   232,   313,   361,   371,   373,    19,    21,
2712          22,    23,    24,    31,    37,    38,    40,   238,   313,   314,
2713         315,   316,   337,   338,   341,   346,   347,   348,   349,   350,
2714         351,   353,   355,   356,   357,   358,   359,   360,   361,   362,
2715         363,   364,   369,   370,   371,   372,   373,   374,   380,   381,
2716          31,   235,   359,   236,   359,    31,   242,   360,    22,   243,
2717         372,   373,    22,   244,   371,   374,   245,   371,   374,    19,
2718          24,    31,   240,   347,   357,   369,   246,   347,   357,   369,
2719          19,    21,    24,    31,   252,   314,   315,   316,   346,   353,
2720         356,   360,   362,   370,   372,   373,    27,   247,   340,   341,
2721         237,   313,   361,   371,   374,    19,    23,    31,   239,   313,
2722         345,   350,   354,   355,   361,   369,   371,   374,   381,   390,
2723          19,    20,    21,    22,    24,    25,    31,    37,    38,    40,
2724         233,   318,   319,   320,   321,   322,   323,   324,   325,   326,
2725         327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
2726         337,   339,   388,   234,   318,   319,   320,   321,   322,   323,
2727         324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
2728         334,   335,   336,   337,   339,   388,   241,   313,    19,    43,
2729          19,    38,    22,    38,    22,    23,    38,    33,    23,    37,
2730          19,    39,   285,    26,    20,    27,   290,   290,   290,    39,
2731          40,    26,    20,    32,    42,    27,    23,    33,    33,   290,
2732         290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
2733         290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
2734         290,    27,   290,   290,    27,   290,    20,   290,   290,    20,
2735         290,   290,   290,   290,    39,    42,    27,   290,   290,   290,
2736         290,   290,   290,    39,    26,    42,    27,   290,   290,   290,
2737         290,    32,   290,   290,   290,   290,   290,   290,    39,    21,
2738          27,   290,   290,   290,   290,   290,   290,   290,   290,   290,
2739         290,   290,    39,    39,    26,    20,    42,    30,    27,    38,
2740          33,    33,   290,    36,    38,    36,    40,    38,    21,    34,
2741          20,    19,    89,    22,   222,   223,   274,   289,   271,   289,
2742          24,    32,   271,   377,   379,    22,    19,    19,    89,    25,
2743          89,    22,    36,    38,    30,    27,   317,   334,   335,   336,
2744         317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
2745          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2746         262,   286,   305,   317,   317,   317,   317,   267,   286,   317,
2747          36,   271,   378,   271,   378,   317,   317,    22,    32,   249,
2748         308,   262,    22,   262,   305,    89,   271,   379,   271,   379,
2749          89,   271,   271,   271,   271,    22,    89,    22,   282,   282,
2750         267,   286,   286,   267,    22,    19,    89,    22,   262,   305,
2751         267,   271,   378,   271,   378,    37,   253,   273,   289,   308,
2752         254,   270,   282,   267,   262,   305,    24,   271,   376,   271,
2753          22,    26,    22,    19,    31,    37,   248,   347,   351,   352,
2754         357,   361,   364,   365,   366,   367,   381,   383,   384,   286,
2755         286,   286,   286,    32,   389,    19,    30,    31,   351,   368,
2756         382,   389,    22,   375,   389,   375,   389,     7,     8,   266,
2757         283,   284,   285,   286,   281,   282,   286,    22,    24,    19,
2758          89,    89,    33,    22,    37,    36,    38,    27,   267,    23,
2759          33,    23,    36,    37,    32,    27,    27,   282,   288,   290,
2760         288,    30,    33,   290,   290,   290,    27,    27,    32,    27,
2761          27,    37,    27,    40,    19,    39,    32,   290,   290,   290,
2762         290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
2763         290,    30,   290,   290,   290,   290,   290,    23,   290,   290,
2764         290,    27,    33,   262,   290,   290,    27,    27,   290,   290,
2765         290,   290,    27,   290,   290,   290,   290,    27,    37,    27,
2766         290,   290,   290,   290,    27,    32,    37,    27,   290,   290,
2767          38,   290,   290,   290,    33,   290,    27,    33,    27,    39,
2768          27,    39,    33,   290,   290,   290,   290,   290,   290,   290,
2769         290,   290,   290,   290,   290,   290,   290,   290,   290,    19,
2770         290,    39,    23,    27,   290,   290,   290,   290,    23,   290,
2771         290,   290,   290,   284,   284,     6,    27,    24,    32,    27,
2772          37,    20,    27,    21,    23,    19,    21,    43,    27,    21,
2773          32,    32,    89,   222,   282,   290,   223,    19,    32,   271,
2774         271,   271,    33,    30,    32,    32,    32,    23,    89,    23,
2775          30,    31,    24,   267,    20,    34,   251,   385,   386,   267,
2776         267,   270,   286,   282,   282,   286,   286,   286,   286,   282,
2777         262,    30,   262,   282,   286,   267,   271,    21,   271,   271,
2778         271,    89,    32,   290,   263,   286,    89,    32,   279,   282,
2779         271,   279,   271,    32,   271,   271,   271,   271,    33,    23,
2780          89,   250,   282,   250,   265,   286,   269,   286,    33,    32,
2781          23,    89,   271,   271,    36,   268,   286,   273,   267,    36,
2782         271,    33,    89,    22,    22,    38,    30,   267,   267,   267,
2783         267,   267,   267,   267,   267,   267,   267,   267,   267,   282,
2784         286,   282,   286,    31,   262,    22,    40,    22,   267,   267,
2785         267,   267,    37,   271,   271,   271,   271,     6,     6,   284,
2786          33,    23,    32,    32,    23,    19,    89,    23,    19,    30,
2787          23,    20,    36,    23,    37,    27,    38,    89,   290,   290,
2788         290,    89,    19,    23,    37,    23,    32,    27,    36,    89,
2789          23,    33,    43,    23,   290,   290,   290,   290,   290,   290,
2790         290,   290,   290,    39,    27,    89,   263,   290,    27,    37,
2791         290,     4,   290,   290,    37,    89,    32,    27,   290,     4,
2792         290,    89,    23,    32,    27,    39,   290,   290,    21,    89,
2793          27,    27,    27,    23,    33,   290,   290,   290,   290,   290,
2794         290,   290,   290,   290,   290,   290,   290,     4,   290,     4,
2795         290,    23,   290,    27,    23,    27,   290,   290,   290,   290,
2796          21,   290,   290,   290,   290,   284,   284,    89,    36,    23,
2797          37,    32,    30,    27,    30,    31,    89,    89,    23,    27,
2798          30,    38,    32,    36,   268,   271,   271,    33,    20,    30,
2799          38,    22,    32,    40,    38,    36,   267,   282,   286,   286,
2800         286,   282,   263,   286,   269,    36,    32,    31,   290,   264,
2801         286,    32,    38,   282,   280,   282,   289,   279,   279,    38,
2802          33,    22,    32,   282,     7,     8,   277,   278,   282,   283,
2803         286,   289,   276,   289,    33,    30,    22,    32,    31,   267,
2804         268,    23,    33,    32,    33,    89,   256,   286,   257,   286,
2805         258,   282,   256,    22,    32,   262,   306,   307,   259,   286,
2806         260,   286,   305,   261,   282,   256,   266,   281,   281,   277,
2807         282,   277,   282,   274,    33,    30,    89,   269,   269,   269,
2808         269,    36,   289,   272,   289,   289,   272,    33,    89,    30,
2809          38,    22,    89,    32,    30,    89,    40,    21,    20,    36,
2810          37,    23,    39,    30,    37,    36,    37,    34,    37,    33,
2811          23,    21,   290,   290,   290,   290,   290,    37,    37,    33,
2812         264,    37,    36,     4,    36,    39,    34,     4,     5,    39,
2813          34,    37,    23,   290,    39,    34,    89,    27,   290,    23,
2814          33,   290,     4,     4,    89,    21,   290,   290,   290,   290,
2815          27,    39,    24,    89,    36,    89,    27,    34,    37,    19,
2816          21,    33,    33,    23,    39,    38,    21,    38,    23,    39,
2817          39,    38,    27,    37,    23,   250,   282,   282,   250,   264,
2818          27,    38,    22,   290,    38,    39,   280,    39,    38,    39,
2819         277,   278,    38,    39,    38,    32,   267,    38,    39,    33,
2820          32,   257,    24,    32,   259,   277,   277,    33,    33,   257,
2821         265,   266,   276,    34,    38,    27,    21,    27,    39,    21,
2822          27,    32,    39,    38,    32,    33,    27,    39,    31,    36,
2823          39,    34,    89,    31,    38,    36,    21,    32,    40,    36,
2824          19,   270,    36,    31,    31,    34,    38,    34,    38,    36,
2825          38,    34,    38,    39,    34,    19,    23,   290,    39,    32,
2826         290,    38,    34,    30,    33,    32,    31,    33,    32,    24,
2827          38,    36,    23,    39,    21,    32,    23,    39,    36,    39,
2828          19,    23,    31,    23,    89,    39,    23,    38,    23,    39,
2829          30,   290,    39,    23,    23,    39,    89,    39,    89,    39,
2830          39,    89,    38,    39,    39,   260,    38,    38,   257,    27,
2831          39,    30,    39,    24,    23,    39,    24,    33,    89,    39,
2832          33,    32,    23,    38,    32,    31,    37,    38,    39,    32,
2833          27,    32,    22,    34,    31,    89,    19,    31,   273,    31,
2834          32,    32,    38,    22,    38,    22,    31,    38,    22,    34,
2835          34,    38,    30,    34,    36,    33,    38,    32,    33,    32,
2836          32,    33,    22,    31,    39,    38,    89,    38,    23,    27,
2837          89,    22,    25,    22,    38,    23,    36,    33,    23,    21,
2838          25,    23,   290,    23,    38,    38,    89,    23,    89,    23,
2839          23,    89,    23,    33,    39,    89,    38,    39,    33,    32,
2840          89,    38,    38,    38,    23,    23,    37,    21,    37,    89,
2841          32,    40,    21,    22,    27,    27,    27,    89,    40,    27,
2842          36,    32,    33,    23,    32,   268,    32,    89,    22,    40,
2843          22,    40,    32,    21,    22,    40,    36,    38,    21,    34,
2844          38,    38,    30,    22,    89,    40,    32,    33,    22,    38,
2845          23,    26,    23,    36,    33,    32,    89,    22,    27,    40,
2846          38,    38,    39,    38,   290,    38,    22,    23,    27,    23,
2847          27,    38,    26,    23,    27,    38,    89,    26,    33,    43,
2848          89,    30,    23,    21,    22,    27,    27,    38,    39,    27,
2849          89,    19,    40,    27,    89,    23,    27,    27,    21,    23,
2850          89,    37,    89,    32,   266,    27,    40,    21,    40,    21,
2851          89,    19,    40,    21,    21,    38,    19,    36,    34,    23,
2852          40,    33,    27,    32,    21,    89,    32,    36,    31,    32,
2853          27,    40,    33,    37,    32,    36,    23,    36,    34,    31,
2854          38,   290,    36,    27,    23,    27,    23,    31,    32,    27,
2855          23,    26,    43,    32,    38,    23,    36,    27,    39,    36,
2856          24,    23,    21,    27,    31,    38,    23,    19,    32,    21,
2857          23,    39,    34,    23,    37,    89,    19,    19,    89,    33,
2858          34,   255,   275,   289,   342,   343,   344,    23,    21,    21,
2859          19,    32,    21,    89,    19,    34,    32,    21,    32,    23,
2860          33,    89,    33,    32,    19,    21,    34,    23,    23,    36,
2861          38,    39,    21,    34,    36,    34,    31,    32,    23,   290,
2862          21,    23,    23,    34,    23,    23,    34,    32,    23,    23,
2863          23,    38,    21,    21,    27,    39,    24,    34,    38,    30,
2864          37,    89,    34,    38,    38,    19,    19,    37,    19,    89,
2865          36,   275,    38,    30,    89,    19,    32,    30,    89,    38,
2866          33,    32,    32,    33,    89,    33,    89,    34,    39,    89,
2867          33,    36,    31,    42,    22,    37,    33,    34,    36,    23,
2868          21,    27,    33,    39,    24,    38,    21,    27,    36,    34,
2869          19,    38,    22,    36,    19,    23,    23,    27,    36,    19,
2870          19,    30,    33,    32,    36,    32,    33,    33,    32,    43,
2871          19,    36,    89,    36,    27,    31,    38,    31,    37,    36,
2872          31,    39,    24,    43,    38,    39,    24,    36,    19,    22,
2873          27,    23,    23,    23,    19,    38,    19,    23,    32,    33,
2874          89,    32,    33,    19,    31,    36,    40,    37,    38,    36,
2875          32,    23,    31,    38,    38,    21,    27,    38,    31,    23,
2876          27,    23,    23,    22,    32,    23,    23,    33,    32,    23,
2877          38,    40,    36,    36,    89,    38,    38,    36,    39,    24,
2878          38,    23,    23,    37,    26,    23,    32,    33,    23,    36,
2879          36,    33,    36,    38,    36,    37,    30,    22
2880    };
2881    
2882  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2883  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
# Line 2089  do                                                             \ Line 2904  do                                                             \
2904        yychar = (Token);                                         \        yychar = (Token);                                         \
2905        yylval = (Value);                                         \        yylval = (Value);                                         \
2906        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2907        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2908        goto yybackup;                                            \        goto yybackup;                                            \
2909      }                                                           \      }                                                           \
2910    else                                                          \    else                                                          \
2911      {                                                           \      {                                                           \
2912        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2913        YYERROR;                                                  \        YYERROR;                                                  \
2914      }                                                           \      }                                                           \
2915  while (0)  while (YYID (0))
2916    
2917    
2918  #define YYTERROR        1  #define YYTERROR        1
2919  #define YYERRCODE       256  #define YYERRCODE       256
2920    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2921    
2922    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2923       If N is 0, then set CURRENT to the empty location which ends
2924       the previous symbol: RHS[0] (always defined).  */
2925    
2926    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2927  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2928  # define YYLLOC_DEFAULT(Current, Rhs, N)                \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2929     ((Current).first_line   = (Rhs)[1].first_line,       \      do                                                                  \
2930      (Current).first_column = (Rhs)[1].first_column,     \        if (YYID (N))                                                    \
2931      (Current).last_line    = (Rhs)[N].last_line,        \          {                                                               \
2932      (Current).last_column  = (Rhs)[N].last_column)            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2933              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2934              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2935              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2936            }                                                               \
2937          else                                                              \
2938            {                                                               \
2939              (Current).first_line   = (Current).last_line   =              \
2940                YYRHSLOC (Rhs, 0).last_line;                                \
2941              (Current).first_column = (Current).last_column =              \
2942                YYRHSLOC (Rhs, 0).last_column;                              \
2943            }                                                               \
2944        while (YYID (0))
2945    #endif
2946    
2947    
2948    /* YY_LOCATION_PRINT -- Print the location on the stream.
2949       This macro was not mandated originally: define only if we know
2950       we won't break user code: when these are the locations we know.  */
2951    
2952    #ifndef YY_LOCATION_PRINT
2953    # if YYLTYPE_IS_TRIVIAL
2954    #  define YY_LOCATION_PRINT(File, Loc)                  \
2955         fprintf (File, "%d.%d-%d.%d",                      \
2956                  (Loc).first_line, (Loc).first_column,     \
2957                  (Loc).last_line,  (Loc).last_column)
2958    # else
2959    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2960    # endif
2961  #endif  #endif
2962    
2963    
2964  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2965    
2966  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2133  while (0) Line 2981  while (0)
2981  do {                                            \  do {                                            \
2982    if (yydebug)                                  \    if (yydebug)                                  \
2983      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2984  } while (0)  } while (YYID (0))
2985    
2986  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2987  do {                                            \  do {                                                                      \
2988    if (yydebug)                                  \    if (yydebug)                                                            \
2989      yysymprint Args;                            \      {                                                                     \
2990  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
2991          yy_symbol_print (stderr,                                            \
2992                      Type, Value); \
2993          YYFPRINTF (stderr, "\n");                                           \
2994        }                                                                     \
2995    } while (YYID (0))
2996    
2997  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2998  do {                                                            \  /*--------------------------------.
2999    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
3000      {                                                           \  `--------------------------------*/
3001        YYFPRINTF (stderr, "%s ", Title);                         \  
3002        yysymprint (stderr,                                       \  /*ARGSUSED*/
3003                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
3004        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
3005      }                                                           \  static void
3006  } while (0)  yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3007    #else
3008    static void
3009    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
3010        FILE *yyoutput;
3011        int yytype;
3012        YYSTYPE const * const yyvaluep;
3013    #endif
3014    {
3015      if (!yyvaluep)
3016        return;
3017    # ifdef YYPRINT
3018      if (yytype < YYNTOKENS)
3019        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3020    # else
3021      YYUSE (yyoutput);
3022    # endif
3023      switch (yytype)
3024        {
3025          default:
3026            break;
3027        }
3028    }
3029    
3030    
3031    /*--------------------------------.
3032    | Print this symbol on YYOUTPUT.  |
3033    `--------------------------------*/
3034    
3035    #if (defined __STDC__ || defined __C99__FUNC__ \
3036         || defined __cplusplus || defined _MSC_VER)
3037    static void
3038    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3039    #else
3040    static void
3041    yy_symbol_print (yyoutput, yytype, yyvaluep)
3042        FILE *yyoutput;
3043        int yytype;
3044        YYSTYPE const * const yyvaluep;
3045    #endif
3046    {
3047      if (yytype < YYNTOKENS)
3048        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3049      else
3050        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3051    
3052      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3053      YYFPRINTF (yyoutput, ")");
3054    }
3055    
3056  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
3057  | 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 |
3058  | TOP (included).                                                   |  | TOP (included).                                                   |
3059  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
3060    
3061  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3062         || defined __cplusplus || defined _MSC_VER)
3063  static void  static void
3064  yy_stack_print (short int *bottom, short int *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3065  #else  #else
3066  static void  static void
3067  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
3068      short int *bottom;      yytype_int16 *bottom;
3069      short int *top;      yytype_int16 *top;
3070  #endif  #endif
3071  {  {
3072    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
3073    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
3074      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
3075    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
3076  }  }
# Line 2177  yy_stack_print (bottom, top) Line 3079  yy_stack_print (bottom, top)
3079  do {                                                            \  do {                                                            \
3080    if (yydebug)                                                  \    if (yydebug)                                                  \
3081      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
3082  } while (0)  } while (YYID (0))
3083    
3084    
3085  /*------------------------------------------------.  /*------------------------------------------------.
3086  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
3087  `------------------------------------------------*/  `------------------------------------------------*/
3088    
3089  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3090         || defined __cplusplus || defined _MSC_VER)
3091  static void  static void
3092  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
3093  #else  #else
3094  static void  static void
3095  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
3096        YYSTYPE *yyvsp;
3097      int yyrule;      int yyrule;
3098  #endif  #endif
3099  {  {
3100      int yynrhs = yyr2[yyrule];
3101    int yyi;    int yyi;
3102    unsigned int yylno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
3103    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3104               yyrule - 1, yylno);               yyrule - 1, yylno);
3105    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
3106    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
3107      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
3108    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
3109          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3110                           &(yyvsp[(yyi + 1) - (yynrhs)])
3111                                           );
3112          fprintf (stderr, "\n");
3113        }
3114  }  }
3115    
3116  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
3117  do {                                    \  do {                                    \
3118    if (yydebug)                          \    if (yydebug)                          \
3119      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
3120  } while (0)  } while (YYID (0))
3121    
3122  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
3123     multiple parsers can coexist.  */     multiple parsers can coexist.  */
3124  int yydebug;  int yydebug;
3125  #else /* !YYDEBUG */  #else /* !YYDEBUG */
3126  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
3127  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
3128  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
3129  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
3130  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2230  int yydebug; Line 3139  int yydebug;
3139     if the built-in stack extension method is used).     if the built-in stack extension method is used).
3140    
3141     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
3142     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3143     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
3144    
 #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
3145  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
3146  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
3147  #endif  #endif
# Line 2246  int yydebug; Line 3151  int yydebug;
3151  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
3152    
3153  # ifndef yystrlen  # ifndef yystrlen
3154  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
3155  #   define yystrlen strlen  #   define yystrlen strlen
3156  #  else  #  else
3157  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
3158    #if (defined __STDC__ || defined __C99__FUNC__ \
3159         || defined __cplusplus || defined _MSC_VER)
3160  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
3161  yystrlen (const char *yystr)  yystrlen (const char *yystr)
3162  #   else  #else
3163    static YYSIZE_T
3164  yystrlen (yystr)  yystrlen (yystr)
3165       const char *yystr;      const char *yystr;
3166  #   endif  #endif
3167  {  {
3168    register const char *yys = yystr;    YYSIZE_T yylen;
3169      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
3170      continue;      continue;
3171      return yylen;
   return yys - yystr - 1;  
3172  }  }
3173  #  endif  #  endif
3174  # endif  # endif
3175    
3176  # ifndef yystpcpy  # ifndef yystpcpy
3177  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3178  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
3179  #  else  #  else
3180  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3181     YYDEST.  */     YYDEST.  */
3182    #if (defined __STDC__ || defined __C99__FUNC__ \
3183         || defined __cplusplus || defined _MSC_VER)
3184  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
3185  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
3186  #   else  #else
3187    static char *
3188  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
3189       char *yydest;      char *yydest;
3190       const char *yysrc;      const char *yysrc;
3191  #   endif  #endif
3192  {  {
3193    register char *yyd = yydest;    char *yyd = yydest;
3194    register const char *yys = yysrc;    const char *yys = yysrc;
3195    
3196    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
3197      continue;      continue;
# Line 2294  yystpcpy (yydest, yysrc) Line 3201  yystpcpy (yydest, yysrc)
3201  #  endif  #  endif
3202  # endif  # endif
3203    
3204  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
3205    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3206       quotes and backslashes, so that it's suitable for yyerror.  The
3207       heuristic is that double-quoting is unnecessary unless the string
3208       contains an apostrophe, a comma, or backslash (other than
3209       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
3210       null, do not copy; instead, return the length of what the result
3211       would have been.  */
3212    static YYSIZE_T
3213    yytnamerr (char *yyres, const char *yystr)
3214    {
3215      if (*yystr == '"')
3216        {
3217          YYSIZE_T yyn = 0;
3218          char const *yyp = yystr;
3219    
3220          for (;;)
3221            switch (*++yyp)
3222              {
3223              case '\'':
3224              case ',':
3225                goto do_not_strip_quotes;
3226    
3227              case '\\':
3228                if (*++yyp != '\\')
3229                  goto do_not_strip_quotes;
3230                /* Fall through.  */
3231              default:
3232                if (yyres)
3233                  yyres[yyn] = *yyp;
3234                yyn++;
3235                break;
3236    
3237              case '"':
3238                if (yyres)
3239                  yyres[yyn] = '\0';
3240                return yyn;
3241              }
3242        do_not_strip_quotes: ;
3243        }
3244    
3245      if (! yyres)
3246        return yystrlen (yystr);
3247    
3248  #if YYDEBUG    return yystpcpy (yyres, yystr) - yyres;
3249  /*--------------------------------.  }
3250  | Print this symbol on YYOUTPUT.  |  # endif
 `--------------------------------*/  
3251    
3252  #if defined (__STDC__) || defined (__cplusplus)  /* Copy into YYRESULT an error message about the unexpected token
3253  static void     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
3254  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)     including the terminating null byte.  If YYRESULT is null, do not
3255  #else     copy anything; just return the number of bytes that would be
3256  static void     copied.  As a special case, return 0 if an ordinary "syntax error"
3257  yysymprint (yyoutput, yytype, yyvaluep)     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
3258      FILE *yyoutput;     size calculation.  */
3259      int yytype;  static YYSIZE_T
3260      YYSTYPE *yyvaluep;  yysyntax_error (char *yyresult, int yystate, int yychar)
 #endif  
3261  {  {
3262    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
3263    
3264    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3265        return 0;
3266      else
3267      {      {
3268        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
3269  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3270        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
3271          YYSIZE_T yysize1;
3272          int yysize_overflow = 0;
3273          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3274          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3275          int yyx;
3276    
3277    # if 0
3278          /* This is so xgettext sees the translatable formats that are
3279             constructed on the fly.  */
3280          YY_("syntax error, unexpected %s");
3281          YY_("syntax error, unexpected %s, expecting %s");
3282          YY_("syntax error, unexpected %s, expecting %s or %s");
3283          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3284          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3285  # endif  # endif
3286      }        char *yyfmt;
3287    else        char const *yyf;
3288      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
3289          static char const yyexpecting[] = ", expecting %s";
3290          static char const yyor[] = " or %s";
3291          char yyformat[sizeof yyunexpected
3292                        + sizeof yyexpecting - 1
3293                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3294                           * (sizeof yyor - 1))];
3295          char const *yyprefix = yyexpecting;
3296    
3297          /* Start YYX at -YYN if negative to avoid negative indexes in
3298             YYCHECK.  */
3299          int yyxbegin = yyn < 0 ? -yyn : 0;
3300    
3301          /* Stay within bounds of both yycheck and yytname.  */
3302          int yychecklim = YYLAST - yyn + 1;
3303          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3304          int yycount = 1;
3305    
3306          yyarg[0] = yytname[yytype];
3307          yyfmt = yystpcpy (yyformat, yyunexpected);
3308    
3309          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3310            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3311              {
3312                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3313                  {
3314                    yycount = 1;
3315                    yysize = yysize0;
3316                    yyformat[sizeof yyunexpected - 1] = '\0';
3317                    break;
3318                  }
3319                yyarg[yycount++] = yytname[yyx];
3320                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3321                yysize_overflow |= (yysize1 < yysize);
3322                yysize = yysize1;
3323                yyfmt = yystpcpy (yyfmt, yyprefix);
3324                yyprefix = yyor;
3325              }
3326    
3327          yyf = YY_(yyformat);
3328          yysize1 = yysize + yystrlen (yyf);
3329          yysize_overflow |= (yysize1 < yysize);
3330          yysize = yysize1;
3331    
3332    switch (yytype)        if (yysize_overflow)
3333      {          return YYSIZE_MAXIMUM;
3334        default:  
3335          break;        if (yyresult)
3336            {
3337              /* Avoid sprintf, as that infringes on the user's name space.
3338                 Don't have undefined behavior even if the translation
3339                 produced a string with the wrong number of "%s"s.  */
3340              char *yyp = yyresult;
3341              int yyi = 0;
3342              while ((*yyp = *yyf) != '\0')
3343                {
3344                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3345                    {
3346                      yyp += yytnamerr (yyp, yyarg[yyi++]);
3347                      yyf += 2;
3348                    }
3349                  else
3350                    {
3351                      yyp++;
3352                      yyf++;
3353                    }
3354                }
3355            }
3356          return yysize;
3357      }      }
   YYFPRINTF (yyoutput, ")");  
3358  }  }
3359    #endif /* YYERROR_VERBOSE */
3360    
3361    
 #endif /* ! YYDEBUG */  
3362  /*-----------------------------------------------.  /*-----------------------------------------------.
3363  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
3364  `-----------------------------------------------*/  `-----------------------------------------------*/
3365    
3366  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
3367    #if (defined __STDC__ || defined __C99__FUNC__ \
3368         || defined __cplusplus || defined _MSC_VER)
3369  static void  static void
3370  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3371  #else  #else
3372  static void  static void
3373  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
3374        const char *yymsg;
3375      int yytype;      int yytype;
3376      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3377  #endif  #endif
3378  {  {
3379    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
3380    (void) yyvaluep;  
3381      if (!yymsg)
3382        yymsg = "Deleting";
3383      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3384    
3385    switch (yytype)    switch (yytype)
3386      {      {
3387    
3388        default:        default:
3389          break;          break;
3390      }      }
3391  }  }
3392    
# Line 2365  yydestruct (yytype, yyvaluep) Line 3394  yydestruct (yytype, yyvaluep)
3394  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
3395    
3396  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3397  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3398  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
3399  # else  #else
3400  int yyparse ();  int yyparse ();
3401  # endif  #endif
3402  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3403  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3404  int yyparse (void);  int yyparse (void);
3405  #else  #else
3406  int yyparse ();  int yyparse ();
# Line 2388  int yyparse (); Line 3417  int yyparse ();
3417  `----------*/  `----------*/
3418    
3419  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3420  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3421  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3422  # else  int
3423  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3424    void *YYPARSE_PARAM;  #else
3425  # endif  int
3426    yyparse (YYPARSE_PARAM)
3427        void *YYPARSE_PARAM;
3428    #endif
3429  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3430  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3431         || defined __cplusplus || defined _MSC_VER)
3432  int  int
3433  yyparse (void)  yyparse (void)
3434  #else  #else
# Line 2405  yyparse () Line 3438  yyparse ()
3438  #endif  #endif
3439  #endif  #endif
3440  {  {
3441    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
3442  int yychar;  int yychar;
3443    
3444  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
3445  YYSTYPE yylval;  YYSTYPE yylval;
3446    
3447  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3448  int yynerrs;  int yynerrs;
3449    
3450    register int yystate;    int yystate;
3451    register int yyn;    int yyn;
3452    int yyresult;    int yyresult;
3453    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3454    int yyerrstatus;    int yyerrstatus;
3455    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3456    int yytoken = 0;    int yytoken = 0;
3457    #if YYERROR_VERBOSE
3458      /* Buffer for error messages, and its allocated size.  */
3459      char yymsgbuf[128];
3460      char *yymsg = yymsgbuf;
3461      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3462    #endif
3463    
3464    /* Three stacks and their tools:    /* Three stacks and their tools:
3465       `yyss': related to states,       `yyss': related to states,
# Line 2431  int yynerrs; Line 3470  int yynerrs;
3470       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3471    
3472    /* The state stack.  */    /* The state stack.  */
3473    short int yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3474    short int *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3475    register short int *yyssp;    yytype_int16 *yyssp;
3476    
3477    /* The semantic value stack.  */    /* The semantic value stack.  */
3478    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3479    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3480    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
3481    
3482    
3483    
3484  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3485    
3486    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3487    
# Line 2451  int yynerrs; Line 3490  int yynerrs;
3490    YYSTYPE yyval;    YYSTYPE yyval;
3491    
3492    
3493    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3494       rule.  */       Keep to zero when no symbol should be popped.  */
3495    int yylen;    int yylen = 0;
3496    
3497    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3498    
# Line 2470  int yynerrs; Line 3509  int yynerrs;
3509    yyssp = yyss;    yyssp = yyss;
3510    yyvsp = yyvs;    yyvsp = yyvs;
3511    
   
3512    goto yysetstate;    goto yysetstate;
3513    
3514  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 2478  int yynerrs; Line 3516  int yynerrs;
3516  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3517   yynewstate:   yynewstate:
3518    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3519       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3520    yyssp++;    yyssp++;
3521    
3522   yysetstate:   yysetstate:
# Line 2492  int yynerrs; Line 3529  int yynerrs;
3529    
3530  #ifdef yyoverflow  #ifdef yyoverflow
3531        {        {
3532          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3533             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3534             memory.  */             memory.  */
3535          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3536          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3537    
3538    
3539          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3540             data in use in that stack, in bytes.  This used to be a             data in use in that stack, in bytes.  This used to be a
3541             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3542             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3543          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3544                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3545                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3546    
# Line 2514  int yynerrs; Line 3551  int yynerrs;
3551        }        }
3552  #else /* no yyoverflow */  #else /* no yyoverflow */
3553  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3554        goto yyoverflowlab;        goto yyexhaustedlab;
3555  # else  # else
3556        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3557        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3558          goto yyoverflowlab;          goto yyexhaustedlab;
3559        yystacksize *= 2;        yystacksize *= 2;
3560        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3561          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3562    
3563        {        {
3564          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3565          union yyalloc *yyptr =          union yyalloc *yyptr =
3566            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3567          if (! yyptr)          if (! yyptr)
3568            goto yyoverflowlab;            goto yyexhaustedlab;
3569          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3570          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3571    
# Line 2559  int yynerrs; Line 3596  int yynerrs;
3596  `-----------*/  `-----------*/
3597  yybackup:  yybackup:
3598    
3599  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3600  /* Read a lookahead token if we need one and don't already have one.  */       look-ahead token if we need one and don't already have one.  */
 /* yyresume: */  
   
   /* First try to decide what to do without reference to lookahead token.  */  
3601    
3602      /* First try to decide what to do without reference to look-ahead token.  */
3603    yyn = yypact[yystate];    yyn = yypact[yystate];
3604    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3605      goto yydefault;      goto yydefault;
3606    
3607    /* Not known => get a lookahead token if don't already have one.  */    /* Not known => get a look-ahead token if don't already have one.  */
3608    
3609    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3610    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3611      {      {
3612        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2586  yybackup: Line 3621  yybackup:
3621    else    else
3622      {      {
3623        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3624        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3625      }      }
3626    
3627    /* If the proper action on seeing token YYTOKEN is to reduce or to    /* If the proper action on seeing token YYTOKEN is to reduce or to
# Line 2606  yybackup: Line 3641  yybackup:
3641    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3642      YYACCEPT;      YYACCEPT;
3643    
   /* Shift the lookahead token.  */  
   YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));  
   
   /* Discard the token being shifted unless it is eof.  */  
   if (yychar != YYEOF)  
     yychar = YYEMPTY;  
   
   *++yyvsp = yylval;  
   
   
3644    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3645       status.  */       status.  */
3646    if (yyerrstatus)    if (yyerrstatus)
3647      yyerrstatus--;      yyerrstatus--;
3648    
3649      /* Shift the look-ahead token.  */
3650      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3651    
3652      /* Discard the shifted token unless it is eof.  */
3653      if (yychar != YYEOF)
3654        yychar = YYEMPTY;
3655    
3656    yystate = yyn;    yystate = yyn;
3657      *++yyvsp = yylval;
3658    
3659    goto yynewstate;    goto yynewstate;
3660    
3661    
# Line 2657  yyreduce: Line 3691  yyreduce:
3691    switch (yyn)    switch (yyn)
3692      {      {
3693          case 4:          case 4:
3694  #line 86 "lscp.y"  #line 101 "lscp.y"
3695      { return LSCP_DONE; }      { return LSCP_DONE; }
3696      break;      break;
3697    
3698    case 5:    case 5:
3699  #line 87 "lscp.y"  #line 102 "lscp.y"
3700      { return LSCP_DONE; }      { return LSCP_DONE; }
3701      break;      break;
3702    
3703    case 6:    case 6:
3704  #line 88 "lscp.y"  #line 103 "lscp.y"
3705      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3706      break;      break;
3707    
3708    case 7:    case 7:
3709  #line 89 "lscp.y"  #line 104 "lscp.y"
3710      { 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; }
3711      break;      break;
3712    
3713    case 13:    case 13:
3714  #line 99 "lscp.y"  #line 114 "lscp.y"
3715      { yyval.String = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3716      break;      break;
3717    
3718    case 14:    case 14:
3719  #line 100 "lscp.y"  #line 115 "lscp.y"
3720      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3721      break;      break;
3722    
3723    case 15:    case 15:
3724  #line 101 "lscp.y"  #line 116 "lscp.y"
3725      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3726      break;      break;
3727    
3728    case 16:    case 16:
3729  #line 102 "lscp.y"  #line 117 "lscp.y"
3730      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3731      break;      break;
3732    
3733    case 17:    case 17:
3734  #line 103 "lscp.y"  #line 118 "lscp.y"
3735      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3736      break;      break;
3737    
3738    case 18:    case 18:
3739  #line 104 "lscp.y"  #line 119 "lscp.y"
3740      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3741      break;      break;
3742    
3743    case 19:    case 19:
3744  #line 105 "lscp.y"  #line 120 "lscp.y"
3745      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3746      break;      break;
3747    
3748    case 20:    case 20:
3749  #line 106 "lscp.y"  #line 121 "lscp.y"
3750      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3751      break;      break;
3752    
3753    case 21:    case 21:
3754  #line 107 "lscp.y"  #line 122 "lscp.y"
3755      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3756      break;      break;
3757    
3758    case 22:    case 22:
3759  #line 108 "lscp.y"  #line 123 "lscp.y"
3760      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3761      break;      break;
3762    
3763    case 23:    case 23:
3764  #line 109 "lscp.y"  #line 124 "lscp.y"
3765      { yyval.String = LSCPSERVER->QueryDatabase(yyvsp[0].String);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3766      break;      break;
3767    
3768    case 24:    case 24:
3769  #line 110 "lscp.y"  #line 125 "lscp.y"
3770      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3771      break;      break;
3772    
3773    case 25:    case 25:
3774  #line 111 "lscp.y"  #line 126 "lscp.y"
3775      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3776      break;      break;
3777    
3778    case 26:    case 26:
3779  #line 112 "lscp.y"  #line 127 "lscp.y"
3780      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3781      break;      break;
3782    
3783    case 27:    case 27:
3784  #line 115 "lscp.y"  #line 128 "lscp.y"
3785      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3786      break;      break;
3787    
3788    case 28:    case 28:
3789  #line 116 "lscp.y"  #line 129 "lscp.y"
3790      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3791      break;      break;
3792    
3793    case 29:    case 29:
3794  #line 117 "lscp.y"  #line 130 "lscp.y"
3795      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);  }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3796      break;      break;
3797    
3798    case 30:    case 30:
3799  #line 118 "lscp.y"  #line 131 "lscp.y"
3800      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3801      break;      break;
3802    
3803    case 31:    case 31:
3804  #line 119 "lscp.y"  #line 132 "lscp.y"
3805      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3806      break;      break;
3807    
3808    case 32:    case 32:
3809  #line 120 "lscp.y"  #line 135 "lscp.y"
3810      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3811      break;      break;
3812    
3813    case 33:    case 33:
3814  #line 123 "lscp.y"  #line 136 "lscp.y"
3815      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = LSCPSERVER->AddDbInstrumentDirectory((yyvsp[(3) - (3)].String));          }
3816      break;      break;
3817    
3818    case 34:    case 34:
3819  #line 124 "lscp.y"  #line 137 "lscp.y"
3820      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = LSCPSERVER->AddDbInstrumentsFlat((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));         }
3821      break;      break;
3822    
3823    case 35:    case 35:
3824  #line 125 "lscp.y"  #line 138 "lscp.y"
3825      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);  }      { (yyval.String) = LSCPSERVER->AddDbInstrumentsNonrecursive((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
3826      break;      break;
3827    
3828    case 36:    case 36:
3829  #line 126 "lscp.y"  #line 139 "lscp.y"
3830      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));             }
3831      break;      break;
3832    
3833    case 37:    case 37:
3834  #line 127 "lscp.y"  #line 140 "lscp.y"
3835      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);  }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].Number));          }
3836      break;      break;
3837    
3838    case 38:    case 38:
3839  #line 128 "lscp.y"  #line 141 "lscp.y"
3840      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3841      break;      break;
3842    
3843    case 39:    case 39:
3844  #line 131 "lscp.y"  #line 142 "lscp.y"
3845      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3846      break;      break;
3847    
3848    case 40:    case 40:
3849  #line 132 "lscp.y"  #line 145 "lscp.y"
3850      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3851      break;      break;
3852    
3853    case 41:    case 41:
3854  #line 133 "lscp.y"  #line 146 "lscp.y"
3855      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3856      break;      break;
3857    
3858    case 42:    case 42:
3859  #line 134 "lscp.y"  #line 147 "lscp.y"
3860      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3861      break;      break;
3862    
3863    case 43:    case 43:
3864  #line 135 "lscp.y"  #line 148 "lscp.y"
3865      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3866      break;      break;
3867    
3868    case 44:    case 44:
3869  #line 136 "lscp.y"  #line 149 "lscp.y"
3870      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3871      break;      break;
3872    
3873    case 45:    case 45:
3874  #line 137 "lscp.y"  #line 150 "lscp.y"
3875      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3876      break;      break;
3877    
3878    case 46:    case 46:
3879  #line 138 "lscp.y"  #line 151 "lscp.y"
3880      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3881      break;      break;
3882    
3883    case 47:    case 47:
3884  #line 139 "lscp.y"  #line 152 "lscp.y"
3885      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3886      break;      break;
3887    
3888    case 48:    case 48:
3889  #line 140 "lscp.y"  #line 153 "lscp.y"
3890      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3891      break;      break;
3892    
3893    case 49:    case 49:
3894  #line 141 "lscp.y"  #line 154 "lscp.y"
3895      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count);        }
3896      break;      break;
3897    
3898    case 50:    case 50:
3899  #line 142 "lscp.y"  #line 155 "lscp.y"
3900      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info);         }
3901      break;      break;
3902    
3903    case 51:    case 51:
3904  #line 143 "lscp.y"  #line 156 "lscp.y"
3905      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3906      break;      break;
3907    
3908    case 52:    case 52:
3909  #line 144 "lscp.y"  #line 157 "lscp.y"
3910      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3911      break;      break;
3912    
3913    case 53:    case 53:
3914  #line 145 "lscp.y"  #line 158 "lscp.y"
3915      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3916      break;      break;
3917    
3918    case 54:    case 54:
3919  #line 146 "lscp.y"  #line 159 "lscp.y"
3920      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3921      break;      break;
3922    
3923    case 55:    case 55:
3924  #line 147 "lscp.y"  #line 160 "lscp.y"
3925      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
3926      break;      break;
3927    
3928    case 56:    case 56:
3929  #line 148 "lscp.y"  #line 161 "lscp.y"
3930      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
3931      break;      break;
3932    
3933    case 57:    case 57:
3934  #line 149 "lscp.y"  #line 162 "lscp.y"
3935      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_count);       }
3936      break;      break;
3937    
3938    case 58:    case 58:
3939  #line 150 "lscp.y"  #line 163 "lscp.y"
3940      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_info);        }
3941      break;      break;
3942    
3943    case 59:    case 59:
3944  #line 151 "lscp.y"  #line 164 "lscp.y"
3945      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3946      break;      break;
3947    
3948    case 60:    case 60:
3949  #line 152 "lscp.y"  #line 165 "lscp.y"
3950      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3951      break;      break;
3952    
3953    case 61:    case 61:
3954  #line 153 "lscp.y"  #line 166 "lscp.y"
3955      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info);          }
3956      break;      break;
3957    
3958    case 62:    case 62:
3959  #line 156 "lscp.y"  #line 169 "lscp.y"
3960      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3961      break;      break;
3962    
3963    case 63:    case 63:
3964  #line 157 "lscp.y"  #line 170 "lscp.y"
3965      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3966      break;      break;
3967    
3968    case 64:    case 64:
3969  #line 158 "lscp.y"  #line 171 "lscp.y"
3970      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3971      break;      break;
3972    
3973    case 65:    case 65:
3974  #line 159 "lscp.y"  #line 172 "lscp.y"
3975      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3976      break;      break;
3977    
3978    case 66:    case 66:
3979  #line 160 "lscp.y"  #line 173 "lscp.y"
3980      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3981      break;      break;
3982    
3983    case 67:    case 67:
3984  #line 161 "lscp.y"  #line 174 "lscp.y"
3985      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3986      break;      break;
3987    
3988    case 68:    case 68:
3989  #line 164 "lscp.y"  #line 175 "lscp.y"
3990      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3991      break;      break;
3992    
3993    case 69:    case 69:
3994  #line 165 "lscp.y"  #line 176 "lscp.y"
3995      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3996      break;      break;
3997    
3998    case 70:    case 70:
3999  #line 166 "lscp.y"  #line 177 "lscp.y"
4000      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
4001      break;      break;
4002    
4003    case 71:    case 71:
4004  #line 167 "lscp.y"  #line 178 "lscp.y"
4005      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count);        }
4006      break;      break;
4007    
4008    case 72:    case 72:
4009  #line 170 "lscp.y"  #line 179 "lscp.y"
4010      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info);         }
4011      break;      break;
4012    
4013    case 73:    case 73:
4014  #line 171 "lscp.y"  #line 180 "lscp.y"
4015      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
4016      break;      break;
4017    
4018    case 74:    case 74:
4019  #line 174 "lscp.y"  #line 181 "lscp.y"
4020      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
4021      break;      break;
4022    
4023    case 75:    case 75:
4024  #line 175 "lscp.y"  #line 182 "lscp.y"
4025      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
4026      break;      break;
4027    
4028    case 76:    case 76:
4029  #line 178 "lscp.y"  #line 183 "lscp.y"
4030      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
4031      break;      break;
4032    
4033    case 77:    case 77:
4034  #line 179 "lscp.y"  #line 184 "lscp.y"
4035      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
4036      break;      break;
4037    
4038    case 78:    case 78:
4039  #line 180 "lscp.y"  #line 185 "lscp.y"
4040      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
4041      break;      break;
4042    
4043    case 79:    case 79:
4044  #line 181 "lscp.y"  #line 186 "lscp.y"
4045      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_count);       }
4046      break;      break;
4047    
4048    case 80:    case 80:
4049  #line 182 "lscp.y"  #line 187 "lscp.y"
4050      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_info);        }
4051      break;      break;
4052    
4053    case 81:    case 81:
4054  #line 183 "lscp.y"  #line 188 "lscp.y"
4055      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
4056      break;      break;
4057    
4058    case 82:    case 82:
4059  #line 184 "lscp.y"  #line 189 "lscp.y"
4060      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
4061      break;      break;
4062    
4063    case 83:    case 83:
4064  #line 185 "lscp.y"  #line 190 "lscp.y"
4065      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info);          }
4066      break;      break;
4067    
4068    case 84:    case 84:
4069  #line 186 "lscp.y"  #line 193 "lscp.y"
4070      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (16)].Number),(yyvsp[(6) - (16)].Number),(yyvsp[(8) - (16)].Number),(yyvsp[(10) - (16)].String),(yyvsp[(12) - (16)].String),(yyvsp[(14) - (16)].Number),(yyvsp[(16) - (16)].Dotnum),MidiInstrumentMapper::VOID,"",(yyvsp[(3) - (16)].Bool)); }
4071      break;      break;
4072    
4073    case 85:    case 85:
4074  #line 189 "lscp.y"  #line 194 "lscp.y"
4075      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),(yyvsp[(18) - (18)].LoadMode),"",(yyvsp[(3) - (18)].Bool)); }
4076      break;      break;
4077    
4078    case 86:    case 86:
4079  #line 190 "lscp.y"  #line 195 "lscp.y"
4080      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(18) - (18)].String),(yyvsp[(3) - (18)].Bool)); }
4081      break;      break;
4082    
4083    case 87:    case 87:
4084  #line 193 "lscp.y"  #line 196 "lscp.y"
4085      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (20)].Number),(yyvsp[(6) - (20)].Number),(yyvsp[(8) - (20)].Number),(yyvsp[(10) - (20)].String),(yyvsp[(12) - (20)].String),(yyvsp[(14) - (20)].Number),(yyvsp[(16) - (20)].Dotnum),(yyvsp[(18) - (20)].LoadMode),(yyvsp[(20) - (20)].String),(yyvsp[(3) - (20)].Bool)); }
4086      break;      break;
4087    
4088    case 88:    case 88:
4089  #line 194 "lscp.y"  #line 199 "lscp.y"
4090      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
4091      break;      break;
4092    
4093    case 89:    case 89:
4094  #line 197 "lscp.y"  #line 202 "lscp.y"
4095      { yyval.String = LSCPSERVER->GetAudioOutputDevices();           }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));                     }
4096      break;      break;
4097    
4098    case 90:    case 90:
4099  #line 198 "lscp.y"  #line 203 "lscp.y"
4100      { yyval.String = LSCPSERVER->GetMidiInputDevices();             }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));           }
4101      break;      break;
4102    
4103    case 91:    case 91:
4104  #line 199 "lscp.y"  #line 204 "lscp.y"
4105      { yyval.String = LSCPSERVER->ListChannels();                    }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps();         }
4106      break;      break;
4107    
4108    case 92:    case 92:
4109  #line 200 "lscp.y"  #line 205 "lscp.y"
4110      { yyval.String = LSCPSERVER->ListAvailableEngines();            }      { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(5) - (5)].String), true); }
4111      break;      break;
4112    
4113    case 93:    case 93:
4114  #line 201 "lscp.y"  #line 206 "lscp.y"
4115      { yyval.String = LSCPSERVER->ListAvailableMidiInputDrivers();   }      { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(3) - (3)].String));       }
4116      break;      break;
4117    
4118    case 94:    case 94:
4119  #line 202 "lscp.y"  #line 207 "lscp.y"
4120      { yyval.String = LSCPSERVER->ListAvailableAudioOutputDrivers(); }      { (yyval.String) = LSCPSERVER->RemoveDbInstrument((yyvsp[(3) - (3)].String));                }
4121      break;      break;
4122    
4123    case 95:    case 95:
4124  #line 205 "lscp.y"  #line 210 "lscp.y"
4125      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
4126      break;      break;
4127    
4128    case 96:    case 96:
4129  #line 206 "lscp.y"  #line 211 "lscp.y"
4130      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
4131      break;      break;
4132    
4133    case 97:    case 97:
4134  #line 209 "lscp.y"  #line 212 "lscp.y"
4135      { yyval.String = LSCPSERVER->SetEngineType(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
4136        break;
4137    
4138      case 98:
4139    #line 213 "lscp.y"
4140        { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
4141        break;
4142    
4143      case 99:
4144    #line 214 "lscp.y"
4145        { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
4146        break;
4147    
4148      case 100:
4149    #line 215 "lscp.y"
4150        { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
4151        break;
4152    
4153      case 101:
4154    #line 216 "lscp.y"
4155        { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
4156        break;
4157    
4158      case 102:
4159    #line 217 "lscp.y"
4160        { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
4161      break;      break;
4162    
4163    case 103:    case 103:
4164  #line 225 "lscp.y"  #line 218 "lscp.y"
4165      { yyval.Number = 16; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
4166        break;
4167    
4168      case 104:
4169    #line 219 "lscp.y"
4170        { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
4171        break;
4172    
4173      case 105:
4174    #line 220 "lscp.y"
4175        { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
4176      break;      break;
4177    
4178    case 106:    case 106:
4179  #line 232 "lscp.y"  #line 221 "lscp.y"
4180      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
4181        break;
4182    
4183      case 107:
4184    #line 222 "lscp.y"
4185        { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
4186        break;
4187    
4188      case 108:
4189    #line 223 "lscp.y"
4190        { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
4191        break;
4192    
4193      case 109:
4194    #line 224 "lscp.y"
4195        { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
4196        break;
4197    
4198      case 110:
4199    #line 225 "lscp.y"
4200        { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
4201        break;
4202    
4203      case 111:
4204    #line 226 "lscp.y"
4205        { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
4206      break;      break;
4207    
4208    case 112:    case 112:
4209  #line 248 "lscp.y"  #line 227 "lscp.y"
4210      { yyval.String = yyvsp[-2].String + "," + yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
4211        break;
4212    
4213      case 113:
4214    #line 228 "lscp.y"
4215        { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
4216      break;      break;
4217    
4218    case 114:    case 114:
4219  #line 252 "lscp.y"  #line 229 "lscp.y"
4220      { yyval.String = "\'" + yyvsp[-1].String + "\'"; }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
4221      break;      break;
4222    
4223    case 115:    case 115:
4224  #line 253 "lscp.y"  #line 230 "lscp.y"
4225      { yyval.String = "\"" + yyvsp[-1].String + "\""; }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
4226      break;      break;
4227    
4228    case 116:    case 116:
4229  #line 254 "lscp.y"  #line 231 "lscp.y"
4230      { std::stringstream ss; ss << "\'" << yyvsp[0].Number << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
4231      break;      break;
4232    
4233    case 117:    case 117:
4234  #line 255 "lscp.y"  #line 232 "lscp.y"
4235      { std::stringstream ss; ss << "\'" << yyvsp[0].Dotnum << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
4236      break;      break;
4237    
4238    case 118:    case 118:
4239  #line 261 "lscp.y"  #line 233 "lscp.y"
4240      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
4241      break;      break;
4242    
4243    case 119:    case 119:
4244  #line 262 "lscp.y"  #line 234 "lscp.y"
4245      { yyval.Dotnum = -1; }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                           }
4246      break;      break;
4247    
4248    case 120:    case 120:
4249  #line 265 "lscp.y"  #line 235 "lscp.y"
4250      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
4251      break;      break;
4252    
4253    case 121:    case 121:
4254  #line 266 "lscp.y"  #line 236 "lscp.y"
4255      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
4256      break;      break;
4257    
4258    case 122:    case 122:
4259  #line 269 "lscp.y"  #line 237 "lscp.y"
4260      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
4261      break;      break;
4262    
4263    case 123:    case 123:
4264  #line 270 "lscp.y"  #line 238 "lscp.y"
4265      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
4266      break;      break;
4267    
4268    case 124:    case 124:
4269  #line 271 "lscp.y"  #line 239 "lscp.y"
4270      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
4271      break;      break;
4272    
4273    case 125:    case 125:
4274  #line 275 "lscp.y"  #line 240 "lscp.y"
4275      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
4276      break;      break;
4277    
4278    case 126:    case 126:
4279  #line 276 "lscp.y"  #line 241 "lscp.y"
4280      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
4281      break;      break;
4282    
4283    case 127:    case 127:
4284  #line 279 "lscp.y"  #line 242 "lscp.y"
4285      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
4286      break;      break;
4287    
4288    case 128:    case 128:
4289  #line 280 "lscp.y"  #line 243 "lscp.y"
4290      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(5) - (5)].String), true);        }
4291      break;      break;
4292    
4293    case 129:    case 129:
4294  #line 281 "lscp.y"  #line 244 "lscp.y"
4295      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(3) - (3)].String), false);       }
4296      break;      break;
4297    
4298    case 130:    case 130:
4299  #line 282 "lscp.y"  #line 245 "lscp.y"
4300      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryInfo((yyvsp[(5) - (5)].String));               }
4301      break;      break;
4302    
4303    case 131:    case 131:
4304  #line 283 "lscp.y"  #line 246 "lscp.y"
4305      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(5) - (5)].String), true);                 }
4306      break;      break;
4307    
4308    case 132:    case 132:
4309  #line 284 "lscp.y"  #line 247 "lscp.y"
4310      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(3) - (3)].String), false);                }
4311      break;      break;
4312    
4313    case 133:    case 133:
4314  #line 285 "lscp.y"  #line 248 "lscp.y"
4315      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentInfo((yyvsp[(5) - (5)].String));                        }
4316      break;      break;
4317    
4318    case 134:    case 134:
4319  #line 286 "lscp.y"  #line 249 "lscp.y"
4320      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
4321      break;      break;
4322    
4323    case 135:    case 135:
4324  #line 287 "lscp.y"  #line 252 "lscp.y"
4325      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
4326      break;      break;
4327    
4328    case 136:    case 136:
4329  #line 288 "lscp.y"  #line 253 "lscp.y"
4330      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
4331      break;      break;
4332    
4333    case 137:    case 137:
4334  #line 291 "lscp.y"  #line 254 "lscp.y"
4335      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
4336      break;      break;
4337    
4338    case 138:    case 138:
4339  #line 292 "lscp.y"  #line 255 "lscp.y"
4340      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
4341      break;      break;
4342    
4343    case 139:    case 139:
4344  #line 293 "lscp.y"  #line 256 "lscp.y"
4345      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
4346      break;      break;
4347    
4348    case 140:    case 140:
4349  #line 294 "lscp.y"  #line 257 "lscp.y"
4350      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
4351      break;      break;
4352    
4353    case 141:    case 141:
4354  #line 295 "lscp.y"  #line 258 "lscp.y"
4355      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetFxSendName((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].String));                        }
4356      break;      break;
4357    
4358    case 142:    case 142:
4359  #line 296 "lscp.y"  #line 259 "lscp.y"
4360      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
4361      break;      break;
4362    
4363    case 143:    case 143:
4364  #line 297 "lscp.y"  #line 260 "lscp.y"
4365      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
4366      break;      break;
4367    
4368    case 144:    case 144:
4369  #line 298 "lscp.y"  #line 261 "lscp.y"
4370      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
4371      break;      break;
4372    
4373    case 145:    case 145:
4374  #line 299 "lscp.y"  #line 262 "lscp.y"
4375      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));            }
4376      break;      break;
4377    
4378    case 146:    case 146:
4379  #line 300 "lscp.y"  #line 263 "lscp.y"
4380      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));     }
4381      break;      break;
4382    
4383    case 147:    case 147:
4384  #line 302 "lscp.y"  #line 264 "lscp.y"
4385      { yyval.Char = 'A'; }      { (yyval.String) = LSCPSERVER->SetDbInstrumentName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));                     }
4386      break;      break;
4387    
4388    case 148:    case 148:
4389  #line 302 "lscp.y"  #line 265 "lscp.y"
4390      { yyval.Char = 'B'; }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));              }
4391      break;      break;
4392    
4393    case 149:    case 149:
4394  #line 302 "lscp.y"  #line 266 "lscp.y"
4395      { yyval.Char = 'C'; }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
4396      break;      break;
4397    
4398    case 150:    case 150:
4399  #line 302 "lscp.y"  #line 267 "lscp.y"
4400      { yyval.Char = 'D'; }      { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
4401      break;      break;
4402    
4403    case 151:    case 151:
4404  #line 302 "lscp.y"  #line 270 "lscp.y"
4405      { yyval.Char = 'E'; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
4406      break;      break;
4407    
4408    case 152:    case 152:
4409  #line 302 "lscp.y"  #line 271 "lscp.y"
4410      { yyval.Char = 'F'; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
4411      break;      break;
4412    
4413    case 153:    case 153:
4414  #line 302 "lscp.y"  #line 272 "lscp.y"
4415      { yyval.Char = 'G'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
4416      break;      break;
4417    
4418    case 154:    case 154:
4419  #line 302 "lscp.y"  #line 273 "lscp.y"
4420      { yyval.Char = 'H'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
4421      break;      break;
4422    
4423    case 155:    case 155:
4424  #line 302 "lscp.y"  #line 274 "lscp.y"
4425      { yyval.Char = 'I'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
4426      break;      break;
4427    
4428    case 156:    case 156:
4429  #line 302 "lscp.y"  #line 275 "lscp.y"
4430      { yyval.Char = 'J'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
4431      break;      break;
4432    
4433    case 157:    case 157:
4434  #line 302 "lscp.y"  #line 278 "lscp.y"
4435      { yyval.Char = 'K'; }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
4436      break;      break;
4437    
4438    case 158:    case 158:
4439  #line 302 "lscp.y"  #line 281 "lscp.y"
4440      { yyval.Char = 'L'; }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
4441      break;      break;
4442    
4443    case 159:    case 159:
4444  #line 302 "lscp.y"  #line 282 "lscp.y"
4445      { yyval.Char = 'M'; }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
4446      break;      break;
4447    
4448    case 160:    case 160:
4449  #line 302 "lscp.y"  #line 285 "lscp.y"
4450      { yyval.Char = 'N'; }      { (yyval.String) = LSCPSERVER->FindDbInstruments((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].KeyValList), false);           }
4451      break;      break;
4452    
4453    case 161:    case 161:
4454  #line 302 "lscp.y"  #line 286 "lscp.y"
4455      { yyval.Char = 'O'; }      { (yyval.String) = LSCPSERVER->FindDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList), true);            }
4456      break;      break;
4457    
4458    case 162:    case 162:
4459  #line 302 "lscp.y"  #line 287 "lscp.y"
4460      { yyval.Char = 'P'; }      { (yyval.String) = LSCPSERVER->FindDbInstrumentDirectories((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].KeyValList), false); }
4461      break;      break;
4462    
4463    case 163:    case 163:
4464  #line 302 "lscp.y"  #line 288 "lscp.y"
4465      { yyval.Char = 'Q'; }      { (yyval.String) = LSCPSERVER->FindDbInstrumentDirectories((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList), true);  }
4466      break;      break;
4467    
4468    case 164:    case 164:
4469  #line 302 "lscp.y"  #line 291 "lscp.y"
4470      { yyval.Char = 'R'; }      { (yyval.String) = LSCPSERVER->MoveDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4471      break;      break;
4472    
4473    case 165:    case 165:
4474  #line 302 "lscp.y"  #line 292 "lscp.y"
4475      { yyval.Char = 'S'; }      { (yyval.String) = LSCPSERVER->MoveDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));          }
4476      break;      break;
4477    
4478    case 166:    case 166:
4479  #line 302 "lscp.y"  #line 295 "lscp.y"
4480      { yyval.Char = 'T'; }      { (yyval.String) = LSCPSERVER->CopyDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4481      break;      break;
4482    
4483    case 167:    case 167:
4484  #line 302 "lscp.y"  #line 296 "lscp.y"
4485      { yyval.Char = 'U'; }      { (yyval.String) = LSCPSERVER->CopyDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));          }
4486      break;      break;
4487    
4488    case 168:    case 168:
4489  #line 302 "lscp.y"  #line 299 "lscp.y"
4490      { yyval.Char = 'V'; }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
4491      break;      break;
4492    
4493    case 169:    case 169:
4494  #line 302 "lscp.y"  #line 300 "lscp.y"
4495      { yyval.Char = 'W'; }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
4496      break;      break;
4497    
4498    case 170:    case 170:
4499  #line 302 "lscp.y"  #line 301 "lscp.y"
4500      { yyval.Char = 'X'; }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
4501      break;      break;
4502    
4503    case 171:    case 171:
4504  #line 302 "lscp.y"  #line 304 "lscp.y"
4505      { yyval.Char = 'Y'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
4506      break;      break;
4507    
4508    case 172:    case 172:
4509  #line 302 "lscp.y"  #line 305 "lscp.y"
4510      { yyval.Char = 'Z'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
4511      break;      break;
4512    
4513    case 173:    case 173:
4514  #line 303 "lscp.y"  #line 308 "lscp.y"
4515      { yyval.Char = 'a'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
4516      break;      break;
4517    
4518    case 174:    case 174:
4519  #line 303 "lscp.y"  #line 309 "lscp.y"
4520      { yyval.Char = 'b'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
4521      break;      break;
4522    
4523    case 175:    case 175:
4524  #line 303 "lscp.y"  #line 310 "lscp.y"
4525      { yyval.Char = 'c'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
4526      break;      break;
4527    
4528    case 176:    case 176:
4529  #line 303 "lscp.y"  #line 311 "lscp.y"
4530      { yyval.Char = 'd'; }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
4531      break;      break;
4532    
4533    case 177:    case 177:
4534  #line 303 "lscp.y"  #line 312 "lscp.y"
4535      { yyval.Char = 'e'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
4536      break;      break;
4537    
4538    case 178:    case 178:
4539  #line 303 "lscp.y"  #line 313 "lscp.y"
4540      { yyval.Char = 'f'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
4541      break;      break;
4542    
4543    case 179:    case 179:
4544  #line 303 "lscp.y"  #line 314 "lscp.y"
4545      { yyval.Char = 'g'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
4546      break;      break;
4547    
4548    case 180:    case 180:
4549  #line 303 "lscp.y"  #line 315 "lscp.y"
4550      { yyval.Char = 'h'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
4551      break;      break;
4552    
4553    case 181:    case 181:
4554  #line 303 "lscp.y"  #line 316 "lscp.y"
4555      { yyval.Char = 'i'; }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
4556      break;      break;
4557    
4558    case 182:    case 182:
4559  #line 303 "lscp.y"  #line 317 "lscp.y"
4560      { yyval.Char = 'j'; }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4561      break;      break;
4562    
4563    case 183:    case 183:
4564  #line 303 "lscp.y"  #line 318 "lscp.y"
4565      { yyval.Char = 'k'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4566      break;      break;
4567    
4568    case 184:    case 184:
4569  #line 303 "lscp.y"  #line 319 "lscp.y"
4570      { yyval.Char = 'l'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4571      break;      break;
4572    
4573    case 185:    case 185:
4574  #line 303 "lscp.y"  #line 320 "lscp.y"
4575      { yyval.Char = 'm'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4576      break;      break;
4577    
4578    case 186:    case 186:
4579  #line 303 "lscp.y"  #line 321 "lscp.y"
4580      { yyval.Char = 'n'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4581      break;      break;
4582    
4583    case 187:    case 187:
4584  #line 303 "lscp.y"  #line 324 "lscp.y"
4585      { yyval.Char = 'o'; }      { (yyval.Bool) = true;  }
4586      break;      break;
4587    
4588    case 188:    case 188:
4589  #line 303 "lscp.y"  #line 325 "lscp.y"
4590      { yyval.Char = 'p'; }      { (yyval.Bool) = false; }
4591      break;      break;
4592    
4593    case 189:    case 189:
4594  #line 303 "lscp.y"  #line 328 "lscp.y"
4595      { yyval.Char = 'q'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4596      break;      break;
4597    
4598    case 190:    case 190:
4599  #line 303 "lscp.y"  #line 329 "lscp.y"
4600      { yyval.Char = 'r'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4601      break;      break;
4602    
4603    case 191:    case 191:
4604  #line 303 "lscp.y"  #line 332 "lscp.y"
4605      { yyval.Char = 's'; }      { (yyval.FillResponse) = fill_response_bytes;      }
4606      break;      break;
4607    
4608    case 192:    case 192:
4609  #line 303 "lscp.y"  #line 333 "lscp.y"
4610      { yyval.Char = 't'; }      { (yyval.FillResponse) = fill_response_percentage; }
4611      break;      break;
4612    
4613    case 193:    case 193:
4614  #line 303 "lscp.y"  #line 336 "lscp.y"
4615      { yyval.Char = 'u'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();              }
4616      break;      break;
4617    
4618    case 194:    case 194:
4619  #line 303 "lscp.y"  #line 337 "lscp.y"
4620      { yyval.Char = 'v'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();                }
4621      break;      break;
4622    
4623    case 195:    case 195:
4624  #line 303 "lscp.y"  #line 338 "lscp.y"
4625      { yyval.Char = 'w'; }      { (yyval.String) = LSCPSERVER->ListChannels();                       }
4626      break;      break;
4627    
4628    case 196:    case 196:
4629  #line 303 "lscp.y"  #line 339 "lscp.y"
4630      { yyval.Char = 'x'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();               }
4631      break;      break;
4632    
4633    case 197:    case 197:
4634  #line 303 "lscp.y"  #line 340 "lscp.y"
4635      { yyval.Char = 'y'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();      }
4636      break;      break;
4637    
4638    case 198:    case 198:
4639  #line 303 "lscp.y"  #line 341 "lscp.y"
4640      { yyval.Char = 'z'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers();    }
4641      break;      break;
4642    
4643    case 199:    case 199:
4644  #line 304 "lscp.y"  #line 342 "lscp.y"
4645      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));       }
4646      break;      break;
4647    
4648    case 200:    case 200:
4649  #line 304 "lscp.y"  #line 343 "lscp.y"
4650      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();      }
4651      break;      break;
4652    
4653    case 201:    case 201:
4654  #line 304 "lscp.y"  #line 344 "lscp.y"
4655      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();             }
4656      break;      break;
4657    
4658    case 202:    case 202:
4659  #line 304 "lscp.y"  #line 345 "lscp.y"
4660      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                      }
4661      break;      break;
4662    
4663    case 203:    case 203:
4664  #line 304 "lscp.y"  #line 346 "lscp.y"
4665      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(5) - (5)].String), true); }
4666      break;      break;
4667    
4668    case 204:    case 204:
4669  #line 304 "lscp.y"  #line 347 "lscp.y"
4670      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(3) - (3)].String));       }
4671      break;      break;
4672    
4673    case 205:    case 205:
4674  #line 304 "lscp.y"  #line 348 "lscp.y"
4675      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(5) - (5)].String), true);           }
4676      break;      break;
4677    
4678    case 206:    case 206:
4679  #line 304 "lscp.y"  #line 349 "lscp.y"
4680      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(3) - (3)].String));                 }
4681      break;      break;
4682    
4683    case 207:    case 207:
4684  #line 304 "lscp.y"  #line 352 "lscp.y"
4685      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4686      break;      break;
4687    
4688    case 208:    case 208:
4689  #line 304 "lscp.y"  #line 353 "lscp.y"
4690      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4691      break;      break;
4692    
4693    case 209:    case 209:
4694  #line 305 "lscp.y"  #line 356 "lscp.y"
4695      { yyval.Char = '!'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4696      break;      break;
4697    
4698    case 210:    case 210:
4699  #line 305 "lscp.y"  #line 359 "lscp.y"
4700      { yyval.Char = '#'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4701      break;      break;
4702    
4703    case 211:    case 211:
4704  #line 305 "lscp.y"  #line 360 "lscp.y"
4705      { yyval.Char = '$'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4706      break;      break;
4707    
4708    case 212:    case 212:
4709  #line 305 "lscp.y"  #line 361 "lscp.y"
4710      { yyval.Char = '%'; }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
     break;  
   
   case 213:  
 #line 305 "lscp.y"  
     { yyval.Char = '&'; }  
     break;  
   
   case 214:  
 #line 305 "lscp.y"  
     { yyval.Char = '('; }  
     break;  
   
   case 215:  
 #line 305 "lscp.y"  
     { yyval.Char = ')'; }  
     break;  
   
   case 216:  
 #line 305 "lscp.y"  
     { yyval.Char = '*'; }  
     break;  
   
   case 217:  
 #line 305 "lscp.y"  
     { yyval.Char = '+'; }  
4711      break;      break;
4712    
4713    case 218:    case 218:
4714  #line 305 "lscp.y"  #line 377 "lscp.y"
4715      { yyval.Char = '-'; }      { (yyval.Number) = 16; }
     break;  
   
   case 219:  
 #line 305 "lscp.y"  
     { yyval.Char = '.'; }  
     break;  
   
   case 220:  
 #line 305 "lscp.y"  
     { yyval.Char = ','; }  
     break;  
   
   case 221:  
 #line 305 "lscp.y"  
     { yyval.Char = '/'; }  
     break;  
   
   case 222:  
 #line 306 "lscp.y"  
     { yyval.Char = ':'; }  
     break;  
   
   case 223:  
 #line 306 "lscp.y"  
     { yyval.Char = ';'; }  
     break;  
   
   case 224:  
 #line 306 "lscp.y"  
     { yyval.Char = '<'; }  
4716      break;      break;
4717    
4718    case 225:    case 225:
4719  #line 306 "lscp.y"  #line 396 "lscp.y"
4720      { yyval.Char = '='; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
     break;  
   
   case 226:  
 #line 306 "lscp.y"  
     { yyval.Char = '>'; }  
     break;  
   
   case 227:  
 #line 306 "lscp.y"  
     { yyval.Char = '?'; }  
     break;  
   
   case 228:  
 #line 306 "lscp.y"  
     { yyval.Char = '@'; }  
     break;  
   
   case 229:  
 #line 307 "lscp.y"  
     { yyval.Char = '['; }  
     break;  
   
   case 230:  
 #line 307 "lscp.y"  
     { yyval.Char = '\\'; }  
     break;  
   
   case 231:  
 #line 307 "lscp.y"  
     { yyval.Char = ']'; }  
     break;  
   
   case 232:  
 #line 307 "lscp.y"  
     { yyval.Char = '^'; }  
     break;  
   
   case 233:  
 #line 307 "lscp.y"  
     { yyval.Char = '_'; }  
     break;  
   
   case 234:  
 #line 308 "lscp.y"  
     { yyval.Char = '{'; }  
     break;  
   
   case 235:  
 #line 308 "lscp.y"  
     { yyval.Char = '|'; }  
     break;  
   
   case 236:  
 #line 308 "lscp.y"  
     { yyval.Char = '}'; }  
4721      break;      break;
4722    
4723    case 237:    case 237:
4724  #line 308 "lscp.y"  #line 430 "lscp.y"
4725      { yyval.Char = '~'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 238:  
 #line 309 "lscp.y"  
     { yyval.Char = '\200'; }  
     break;  
   
   case 239:  
 #line 309 "lscp.y"  
     { yyval.Char = '\201'; }  
4726      break;      break;
4727    
4728    case 240:    case 240:
4729  #line 309 "lscp.y"  #line 435 "lscp.y"
4730      { yyval.Char = '\202'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4731      break;      break;
4732    
4733    case 241:    case 241:
4734  #line 310 "lscp.y"  #line 436 "lscp.y"
4735      { yyval.Char = '\203'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4736      break;      break;
4737    
4738    case 242:    case 242:
4739  #line 310 "lscp.y"  #line 439 "lscp.y"
4740      { yyval.Char = '\204'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4741      break;      break;
4742    
4743    case 243:    case 243:
4744  #line 310 "lscp.y"  #line 440 "lscp.y"
4745      { yyval.Char = '\205'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
     break;  
   
   case 244:  
 #line 311 "lscp.y"  
     { yyval.Char = '\206'; }  
     break;  
   
   case 245:  
 #line 311 "lscp.y"  
     { yyval.Char = '\207'; }  
4746      break;      break;
4747    
4748    case 246:    case 246:
4749  #line 311 "lscp.y"  #line 452 "lscp.y"
4750      { yyval.Char = '\210'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4751      break;      break;
4752    
4753    case 247:    case 247:
4754  #line 312 "lscp.y"  #line 453 "lscp.y"
4755      { yyval.Char = '\211'; }      { (yyval.Dotnum) = -1; }
4756      break;      break;
4757    
4758    case 248:    case 248:
4759  #line 312 "lscp.y"  #line 456 "lscp.y"
4760      { yyval.Char = '\212'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4761      break;      break;
4762    
4763    case 249:    case 249:
4764  #line 312 "lscp.y"  #line 457 "lscp.y"
4765      { yyval.Char = '\213'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4766      break;      break;
4767    
4768    case 250:    case 250:
4769  #line 313 "lscp.y"  #line 460 "lscp.y"
4770      { yyval.Char = '\214'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4771      break;      break;
4772    
4773    case 251:    case 251:
4774  #line 313 "lscp.y"  #line 461 "lscp.y"
4775      { yyval.Char = '\215'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4776      break;      break;
4777    
4778    case 252:    case 252:
4779  #line 313 "lscp.y"  #line 462 "lscp.y"
4780      { yyval.Char = '\216'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4781      break;      break;
4782    
4783    case 253:    case 253:
4784  #line 314 "lscp.y"  #line 466 "lscp.y"
4785      { yyval.Char = '\217'; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4786      break;      break;
4787    
4788    case 254:    case 254:
4789  #line 314 "lscp.y"  #line 467 "lscp.y"
4790      { yyval.Char = '\220'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4791      break;      break;
4792    
4793    case 255:    case 255:
4794  #line 314 "lscp.y"  #line 470 "lscp.y"
4795      { yyval.Char = '\221'; }      { (yyval.Char) = '0'; }
4796      break;      break;
4797    
4798    case 256:    case 256:
4799  #line 315 "lscp.y"  #line 471 "lscp.y"
4800      { yyval.Char = '\222'; }      { (yyval.Char) = '1'; }
4801      break;      break;
4802    
4803    case 257:    case 257:
4804  #line 315 "lscp.y"  #line 472 "lscp.y"
4805      { yyval.Char = '\223'; }      { (yyval.Char) = '2'; }
4806      break;      break;
4807    
4808    case 258:    case 258:
4809  #line 315 "lscp.y"  #line 473 "lscp.y"
4810      { yyval.Char = '\224'; }      { (yyval.Char) = '3'; }
4811      break;      break;
4812    
4813    case 259:    case 259:
4814  #line 316 "lscp.y"  #line 474 "lscp.y"
4815      { yyval.Char = '\225'; }      { (yyval.Char) = '4'; }
4816      break;      break;
4817    
4818    case 260:    case 260:
4819  #line 316 "lscp.y"  #line 475 "lscp.y"
4820      { yyval.Char = '\226'; }      { (yyval.Char) = '5'; }
4821      break;      break;
4822    
4823    case 261:    case 261:
4824  #line 316 "lscp.y"  #line 476 "lscp.y"
4825      { yyval.Char = '\227'; }      { (yyval.Char) = '6'; }
4826      break;      break;
4827    
4828    case 262:    case 262:
4829  #line 317 "lscp.y"  #line 477 "lscp.y"
4830      { yyval.Char = '\230'; }      { (yyval.Char) = '7'; }
4831      break;      break;
4832    
4833    case 263:    case 263:
4834  #line 317 "lscp.y"  #line 478 "lscp.y"
4835      { yyval.Char = '\231'; }      { (yyval.Char) = '8'; }
4836      break;      break;
4837    
4838    case 264:    case 264:
4839  #line 317 "lscp.y"  #line 479 "lscp.y"
4840      { yyval.Char = '\232'; }      { (yyval.Char) = '9'; }
4841      break;      break;
4842    
4843    case 265:    case 265:
4844  #line 318 "lscp.y"  #line 482 "lscp.y"
4845      { yyval.Char = '\233'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4846      break;      break;
4847    
4848    case 266:    case 266:
4849  #line 318 "lscp.y"  #line 483 "lscp.y"
4850      { yyval.Char = '\234'; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4851      break;      break;
4852    
4853    case 267:    case 267:
4854  #line 318 "lscp.y"  #line 484 "lscp.y"
4855      { yyval.Char = '\235'; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4856      break;      break;
4857    
4858    case 268:    case 268:
4859  #line 319 "lscp.y"  #line 485 "lscp.y"
4860      { yyval.Char = '\236'; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4861      break;      break;
4862    
4863    case 269:    case 269:
4864  #line 319 "lscp.y"  #line 486 "lscp.y"
4865      { yyval.Char = '\237'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4866      break;      break;
4867    
4868    case 270:    case 270:
4869  #line 319 "lscp.y"  #line 487 "lscp.y"
4870      { yyval.Char = '\240'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4871      break;      break;
4872    
4873    case 271:    case 271:
4874  #line 320 "lscp.y"  #line 488 "lscp.y"
4875      { yyval.Char = '\241'; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4876      break;      break;
4877    
4878    case 272:    case 272:
4879  #line 320 "lscp.y"  #line 489 "lscp.y"
4880      { yyval.Char = '\242'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4881      break;      break;
4882    
4883    case 273:    case 273:
4884  #line 320 "lscp.y"  #line 490 "lscp.y"
4885      { yyval.Char = '\243'; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4886      break;      break;
4887    
4888    case 274:    case 274:
4889  #line 321 "lscp.y"  #line 491 "lscp.y"
4890      { yyval.Char = '\244'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4891      break;      break;
4892    
4893    case 275:    case 275:
4894  #line 321 "lscp.y"  #line 493 "lscp.y"
4895      { yyval.Char = '\245'; }      { (yyval.Char) = 'A'; }
4896      break;      break;
4897    
4898    case 276:    case 276:
4899  #line 321 "lscp.y"  #line 493 "lscp.y"
4900      { yyval.Char = '\246'; }      { (yyval.Char) = 'B'; }
4901      break;      break;
4902    
4903    case 277:    case 277:
4904  #line 322 "lscp.y"  #line 493 "lscp.y"
4905      { yyval.Char = '\247'; }      { (yyval.Char) = 'C'; }
4906      break;      break;
4907    
4908    case 278:    case 278:
4909  #line 322 "lscp.y"  #line 493 "lscp.y"
4910      { yyval.Char = '\250'; }      { (yyval.Char) = 'D'; }
4911      break;      break;
4912    
4913    case 279:    case 279:
4914  #line 322 "lscp.y"  #line 493 "lscp.y"
4915      { yyval.Char = '\251'; }      { (yyval.Char) = 'E'; }
4916      break;      break;
4917    
4918    case 280:    case 280:
4919  #line 323 "lscp.y"  #line 493 "lscp.y"
4920      { yyval.Char = '\252'; }      { (yyval.Char) = 'F'; }
4921      break;      break;
4922    
4923    case 281:    case 281:
4924  #line 323 "lscp.y"  #line 493 "lscp.y"
4925      { yyval.Char = '\253'; }      { (yyval.Char) = 'G'; }
4926      break;      break;
4927    
4928    case 282:    case 282:
4929  #line 323 "lscp.y"  #line 493 "lscp.y"
4930      { yyval.Char = '\254'; }      { (yyval.Char) = 'H'; }
4931      break;      break;
4932    
4933    case 283:    case 283:
4934  #line 324 "lscp.y"  #line 493 "lscp.y"
4935      { yyval.Char = '\255'; }      { (yyval.Char) = 'I'; }
4936      break;      break;
4937    
4938    case 284:    case 284:
4939  #line 324 "lscp.y"  #line 493 "lscp.y"
4940      { yyval.Char = '\256'; }      { (yyval.Char) = 'J'; }
4941      break;      break;
4942    
4943    case 285:    case 285:
4944  #line 324 "lscp.y"  #line 493 "lscp.y"
4945      { yyval.Char = '\257'; }      { (yyval.Char) = 'K'; }
4946      break;      break;
4947    
4948    case 286:    case 286:
4949  #line 325 "lscp.y"  #line 493 "lscp.y"
4950      { yyval.Char = '\260'; }      { (yyval.Char) = 'L'; }
4951      break;      break;
4952    
4953    case 287:    case 287:
4954  #line 325 "lscp.y"  #line 493 "lscp.y"
4955      { yyval.Char = '\261'; }      { (yyval.Char) = 'M'; }
4956      break;      break;
4957    
4958    case 288:    case 288:
4959  #line 325 "lscp.y"  #line 493 "lscp.y"
4960      { yyval.Char = '\262'; }      { (yyval.Char) = 'N'; }
4961      break;      break;
4962    
4963    case 289:    case 289:
4964  #line 326 "lscp.y"  #line 493 "lscp.y"
4965      { yyval.Char = '\263'; }      { (yyval.Char) = 'O'; }
4966      break;      break;
4967    
4968    case 290:    case 290:
4969  #line 326 "lscp.y"  #line 493 "lscp.y"
4970      { yyval.Char = '\264'; }      { (yyval.Char) = 'P'; }
4971      break;      break;
4972    
4973    case 291:    case 291:
4974  #line 326 "lscp.y"  #line 493 "lscp.y"
4975      { yyval.Char = '\265'; }      { (yyval.Char) = 'Q'; }
4976      break;      break;
4977    
4978    case 292:    case 292:
4979  #line 327 "lscp.y"  #line 493 "lscp.y"
4980      { yyval.Char = '\266'; }      { (yyval.Char) = 'R'; }
4981      break;      break;
4982    
4983    case 293:    case 293:
4984  #line 327 "lscp.y"  #line 493 "lscp.y"
4985      { yyval.Char = '\267'; }      { (yyval.Char) = 'S'; }
4986      break;      break;
4987    
4988    case 294:    case 294:
4989  #line 327 "lscp.y"  #line 493 "lscp.y"
4990      { yyval.Char = '\270'; }      { (yyval.Char) = 'T'; }
4991      break;      break;
4992    
4993    case 295:    case 295:
4994  #line 328 "lscp.y"  #line 493 "lscp.y"
4995      { yyval.Char = '\271'; }      { (yyval.Char) = 'U'; }
4996      break;      break;
4997    
4998    case 296:    case 296:
4999  #line 328 "lscp.y"  #line 493 "lscp.y"
5000      { yyval.Char = '\272'; }      { (yyval.Char) = 'V'; }
5001      break;      break;
5002    
5003    case 297:    case 297:
5004  #line 328 "lscp.y"  #line 493 "lscp.y"
5005      { yyval.Char = '\273'; }      { (yyval.Char) = 'W'; }
5006      break;      break;
5007    
5008    case 298:    case 298:
5009  #line 329 "lscp.y"  #line 493 "lscp.y"
5010      { yyval.Char = '\274'; }      { (yyval.Char) = 'X'; }
5011      break;      break;
5012    
5013    case 299:    case 299:
5014  #line 329 "lscp.y"  #line 493 "lscp.y"
5015      { yyval.Char = '\275'; }      { (yyval.Char) = 'Y'; }
5016      break;      break;
5017    
5018    case 300:    case 300:
5019  #line 329 "lscp.y"  #line 493 "lscp.y"
5020      { yyval.Char = '\276'; }      { (yyval.Char) = 'Z'; }
5021      break;      break;
5022    
5023    case 301:    case 301:
5024  #line 330 "lscp.y"  #line 494 "lscp.y"
5025      { yyval.Char = '\277'; }      { (yyval.Char) = 'a'; }
5026      break;      break;
5027    
5028    case 302:    case 302:
5029  #line 330 "lscp.y"  #line 494 "lscp.y"
5030      { yyval.Char = '\300'; }      { (yyval.Char) = 'b'; }
5031      break;      break;
5032    
5033    case 303:    case 303:
5034  #line 330 "lscp.y"  #line 494 "lscp.y"
5035      { yyval.Char = '\301'; }      { (yyval.Char) = 'c'; }
5036      break;      break;
5037    
5038    case 304:    case 304:
5039  #line 331 "lscp.y"  #line 494 "lscp.y"
5040      { yyval.Char = '\302'; }      { (yyval.Char) = 'd'; }
5041      break;      break;
5042    
5043    case 305:    case 305:
5044  #line 331 "lscp.y"  #line 494 "lscp.y"
5045      { yyval.Char = '\303'; }      { (yyval.Char) = 'e'; }
5046      break;      break;
5047    
5048    case 306:    case 306:
5049  #line 331 "lscp.y"  #line 494 "lscp.y"
5050      { yyval.Char = '\304'; }      { (yyval.Char) = 'f'; }
5051      break;      break;
5052    
5053    case 307:    case 307:
5054  #line 332 "lscp.y"  #line 494 "lscp.y"
5055      { yyval.Char = '\305'; }      { (yyval.Char) = 'g'; }
5056      break;      break;
5057    
5058    case 308:    case 308:
5059  #line 332 "lscp.y"  #line 494 "lscp.y"
5060      { yyval.Char = '\306'; }      { (yyval.Char) = 'h'; }
5061      break;      break;
5062    
5063    case 309:    case 309:
5064  #line 332 "lscp.y"  #line 494 "lscp.y"
5065      { yyval.Char = '\307'; }      { (yyval.Char) = 'i'; }
5066      break;      break;
5067    
5068    case 310:    case 310:
5069  #line 333 "lscp.y"  #line 494 "lscp.y"
5070      { yyval.Char = '\310'; }      { (yyval.Char) = 'j'; }
5071      break;      break;
5072    
5073    case 311:    case 311:
5074  #line 333 "lscp.y"  #line 494 "lscp.y"
5075      { yyval.Char = '\311'; }      { (yyval.Char) = 'k'; }
5076      break;      break;
5077    
5078    case 312:    case 312:
5079  #line 333 "lscp.y"  #line 494 "lscp.y"
5080      { yyval.Char = '\312'; }      { (yyval.Char) = 'l'; }
5081      break;      break;
5082    
5083    case 313:    case 313:
5084  #line 334 "lscp.y"  #line 494 "lscp.y"
5085      { yyval.Char = '\313'; }      { (yyval.Char) = 'm'; }
5086      break;      break;
5087    
5088    case 314:    case 314:
5089  #line 334 "lscp.y"  #line 494 "lscp.y"
5090      { yyval.Char = '\314'; }      { (yyval.Char) = 'n'; }
5091      break;      break;
5092    
5093    case 315:    case 315:
5094  #line 334 "lscp.y"  #line 494 "lscp.y"
5095      { yyval.Char = '\315'; }      { (yyval.Char) = 'o'; }
5096      break;      break;
5097    
5098    case 316:    case 316:
5099  #line 335 "lscp.y"  #line 494 "lscp.y"
5100      { yyval.Char = '\316'; }      { (yyval.Char) = 'p'; }
5101      break;      break;
5102    
5103    case 317:    case 317:
5104  #line 335 "lscp.y"  #line 494 "lscp.y"
5105      { yyval.Char = '\317'; }      { (yyval.Char) = 'q'; }
5106      break;      break;
5107    
5108    case 318:    case 318:
5109  #line 335 "lscp.y"  #line 494 "lscp.y"
5110      { yyval.Char = '\320'; }      { (yyval.Char) = 'r'; }
5111      break;      break;
5112    
5113    case 319:    case 319:
5114  #line 336 "lscp.y"  #line 494 "lscp.y"
5115      { yyval.Char = '\321'; }      { (yyval.Char) = 's'; }
5116      break;      break;
5117    
5118    case 320:    case 320:
5119  #line 336 "lscp.y"  #line 494 "lscp.y"
5120      { yyval.Char = '\322'; }      { (yyval.Char) = 't'; }
5121      break;      break;
5122    
5123    case 321:    case 321:
5124  #line 336 "lscp.y"  #line 494 "lscp.y"
5125      { yyval.Char = '\323'; }      { (yyval.Char) = 'u'; }
5126      break;      break;
5127    
5128    case 322:    case 322:
5129  #line 337 "lscp.y"  #line 494 "lscp.y"
5130      { yyval.Char = '\324'; }      { (yyval.Char) = 'v'; }
5131      break;      break;
5132    
5133    case 323:    case 323:
5134  #line 337 "lscp.y"  #line 494 "lscp.y"
5135      { yyval.Char = '\325'; }      { (yyval.Char) = 'w'; }
5136      break;      break;
5137    
5138    case 324:    case 324:
5139  #line 337 "lscp.y"  #line 494 "lscp.y"
5140      { yyval.Char = '\326'; }      { (yyval.Char) = 'x'; }
5141      break;      break;
5142    
5143    case 325:    case 325:
5144  #line 338 "lscp.y"  #line 494 "lscp.y"
5145      { yyval.Char = '\327'; }      { (yyval.Char) = 'y'; }
5146      break;      break;
5147    
5148    case 326:    case 326:
5149  #line 338 "lscp.y"  #line 494 "lscp.y"
5150      { yyval.Char = '\330'; }      { (yyval.Char) = 'z'; }
5151      break;      break;
5152    
5153    case 327:    case 327:
5154  #line 338 "lscp.y"  #line 495 "lscp.y"
5155      { yyval.Char = '\331'; }      { (yyval.Char) = '0'; }
5156      break;      break;
5157    
5158    case 328:    case 328:
5159  #line 339 "lscp.y"  #line 495 "lscp.y"
5160      { yyval.Char = '\332'; }      { (yyval.Char) = '1'; }
5161      break;      break;
5162    
5163    case 329:    case 329:
5164  #line 339 "lscp.y"  #line 495 "lscp.y"
5165      { yyval.Char = '\333'; }      { (yyval.Char) = '2'; }
5166      break;      break;
5167    
5168    case 330:    case 330:
5169  #line 339 "lscp.y"  #line 495 "lscp.y"
5170      { yyval.Char = '\334'; }      { (yyval.Char) = '3'; }
5171      break;      break;
5172    
5173    case 331:    case 331:
5174  #line 340 "lscp.y"  #line 495 "lscp.y"
5175      { yyval.Char = '\335'; }      { (yyval.Char) = '4'; }
5176      break;      break;
5177    
5178    case 332:    case 332:
5179  #line 340 "lscp.y"  #line 495 "lscp.y"
5180      { yyval.Char = '\336'; }      { (yyval.Char) = '5'; }
5181      break;      break;
5182    
5183    case 333:    case 333:
5184  #line 340 "lscp.y"  #line 495 "lscp.y"
5185      { yyval.Char = '\337'; }      { (yyval.Char) = '6'; }
5186      break;      break;
5187    
5188    case 334:    case 334:
5189  #line 341 "lscp.y"  #line 495 "lscp.y"
5190      { yyval.Char = '\340'; }      { (yyval.Char) = '7'; }
5191      break;      break;
5192    
5193    case 335:    case 335:
5194  #line 341 "lscp.y"  #line 495 "lscp.y"
5195      { yyval.Char = '\341'; }      { (yyval.Char) = '8'; }
5196      break;      break;
5197    
5198    case 336:    case 336:
5199  #line 341 "lscp.y"  #line 495 "lscp.y"
5200      { yyval.Char = '\342'; }      { (yyval.Char) = '9'; }
5201      break;      break;
5202    
5203    case 337:    case 337:
5204  #line 342 "lscp.y"  #line 496 "lscp.y"
5205      { yyval.Char = '\343'; }      { (yyval.Char) = '!'; }
5206      break;      break;
5207    
5208    case 338:    case 338:
5209  #line 342 "lscp.y"  #line 496 "lscp.y"
5210      { yyval.Char = '\344'; }      { (yyval.Char) = '#'; }
5211      break;      break;
5212    
5213    case 339:    case 339:
5214  #line 342 "lscp.y"  #line 496 "lscp.y"
5215      { yyval.Char = '\345'; }      { (yyval.Char) = '$'; }
5216      break;      break;
5217    
5218    case 340:    case 340:
5219  #line 343 "lscp.y"  #line 496 "lscp.y"
5220      { yyval.Char = '\346'; }      { (yyval.Char) = '%'; }
5221      break;      break;
5222    
5223    case 341:    case 341:
5224  #line 343 "lscp.y"  #line 496 "lscp.y"
5225      { yyval.Char = '\347'; }      { (yyval.Char) = '&'; }
5226      break;      break;
5227    
5228    case 342:    case 342:
5229  #line 343 "lscp.y"  #line 496 "lscp.y"
5230      { yyval.Char = '\350'; }      { (yyval.Char) = '('; }
5231      break;      break;
5232    
5233    case 343:    case 343:
5234  #line 344 "lscp.y"  #line 496 "lscp.y"
5235      { yyval.Char = '\351'; }      { (yyval.Char) = ')'; }
5236      break;      break;
5237    
5238    case 344:    case 344:
5239  #line 344 "lscp.y"  #line 496 "lscp.y"
5240      { yyval.Char = '\352'; }      { (yyval.Char) = '*'; }
5241      break;      break;
5242    
5243    case 345:    case 345:
5244  #line 344 "lscp.y"  #line 496 "lscp.y"
5245      { yyval.Char = '\353'; }      { (yyval.Char) = '+'; }
5246      break;      break;
5247    
5248    case 346:    case 346:
5249  #line 345 "lscp.y"  #line 496 "lscp.y"
5250      { yyval.Char = '\354'; }      { (yyval.Char) = '-'; }
5251      break;      break;
5252    
5253    case 347:    case 347:
5254  #line 345 "lscp.y"  #line 496 "lscp.y"
5255      { yyval.Char = '\355'; }      { (yyval.Char) = '.'; }
5256      break;      break;
5257    
5258    case 348:    case 348:
5259  #line 345 "lscp.y"  #line 496 "lscp.y"
5260      { yyval.Char = '\356'; }      { (yyval.Char) = ','; }
5261      break;      break;
5262    
5263    case 349:    case 349:
5264  #line 346 "lscp.y"  #line 496 "lscp.y"
5265      { yyval.Char = '\357'; }      { (yyval.Char) = '/'; }
5266      break;      break;
5267    
5268    case 350:    case 350:
5269  #line 346 "lscp.y"  #line 497 "lscp.y"
5270      { yyval.Char = '\360'; }      { (yyval.Char) = ':'; }
5271      break;      break;
5272    
5273    case 351:    case 351:
5274  #line 346 "lscp.y"  #line 497 "lscp.y"
5275      { yyval.Char = '\361'; }      { (yyval.Char) = ';'; }
5276      break;      break;
5277    
5278    case 352:    case 352:
5279  #line 347 "lscp.y"  #line 497 "lscp.y"
5280      { yyval.Char = '\362'; }      { (yyval.Char) = '<'; }
5281      break;      break;
5282    
5283    case 353:    case 353:
5284  #line 347 "lscp.y"  #line 497 "lscp.y"
5285      { yyval.Char = '\363'; }      { (yyval.Char) = '='; }
5286      break;      break;
5287    
5288    case 354:    case 354:
5289  #line 347 "lscp.y"  #line 497 "lscp.y"
5290      { yyval.Char = '\364'; }      { (yyval.Char) = '>'; }
5291      break;      break;
5292    
5293    case 355:    case 355:
5294  #line 348 "lscp.y"  #line 497 "lscp.y"
5295      { yyval.Char = '\365'; }      { (yyval.Char) = '?'; }
5296      break;      break;
5297    
5298    case 356:    case 356:
5299  #line 348 "lscp.y"  #line 497 "lscp.y"
5300      { yyval.Char = '\366'; }      { (yyval.Char) = '@'; }
5301      break;      break;
5302    
5303    case 357:    case 357:
5304  #line 348 "lscp.y"  #line 498 "lscp.y"
5305      { yyval.Char = '\367'; }      { (yyval.Char) = '['; }
5306      break;      break;
5307    
5308    case 358:    case 358:
5309  #line 349 "lscp.y"  #line 498 "lscp.y"
5310      { yyval.Char = '\370'; }      { (yyval.Char) = '\\'; }
5311      break;      break;
5312    
5313    case 359:    case 359:
5314  #line 349 "lscp.y"  #line 498 "lscp.y"
5315      { yyval.Char = '\371'; }      { (yyval.Char) = ']'; }
5316      break;      break;
5317    
5318    case 360:    case 360:
5319  #line 349 "lscp.y"  #line 498 "lscp.y"
5320      { yyval.Char = '\372'; }      { (yyval.Char) = '^'; }
5321      break;      break;
5322    
5323    case 361:    case 361:
5324  #line 350 "lscp.y"  #line 498 "lscp.y"
5325      { yyval.Char = '\373'; }      { (yyval.Char) = '_'; }
5326      break;      break;
5327    
5328    case 362:    case 362:
5329  #line 350 "lscp.y"  #line 499 "lscp.y"
5330      { yyval.Char = '\374'; }      { (yyval.Char) = '{'; }
5331      break;      break;
5332    
5333    case 363:    case 363:
5334  #line 350 "lscp.y"  #line 499 "lscp.y"
5335      { yyval.Char = '\375'; }      { (yyval.Char) = '|'; }
5336      break;      break;
5337    
5338    case 364:    case 364:
5339  #line 351 "lscp.y"  #line 499 "lscp.y"
5340      { yyval.Char = '\376'; }      { (yyval.Char) = '}'; }
5341      break;      break;
5342    
5343    case 365:    case 365:
5344  #line 351 "lscp.y"  #line 499 "lscp.y"
5345      { yyval.Char = '\377'; }      { (yyval.Char) = '~'; }
5346      break;      break;
5347    
5348    case 366:    case 366:
5349  #line 354 "lscp.y"  #line 500 "lscp.y"
5350      { yyval.String = " ";      }      { (yyval.Char) = '\200'; }
5351        break;
5352    
5353      case 367:
5354    #line 500 "lscp.y"
5355        { (yyval.Char) = '\201'; }
5356      break;      break;
5357    
5358    case 368:    case 368:
5359  #line 356 "lscp.y"  #line 500 "lscp.y"
5360      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '\202'; }
5361      break;      break;
5362    
5363    case 369:    case 369:
5364  #line 357 "lscp.y"  #line 501 "lscp.y"
5365      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '\203'; }
5366      break;      break;
5367    
5368    case 370:    case 370:
5369  #line 360 "lscp.y"  #line 501 "lscp.y"
5370      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\204'; }
5371      break;      break;
5372    
5373    case 371:    case 371:
5374  #line 361 "lscp.y"  #line 501 "lscp.y"
5375      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\205'; }
5376      break;      break;
5377    
5378      case 372:
5379    #line 502 "lscp.y"
5380        { (yyval.Char) = '\206'; }
5381        break;
5382    
5383      }    case 373:
5384    #line 502 "lscp.y"
5385        { (yyval.Char) = '\207'; }
5386        break;
5387    
5388  /* Line 1010 of yacc.c.  */    case 374:
5389  #line 4409 "y.tab.c"  #line 502 "lscp.y"
5390        { (yyval.Char) = '\210'; }
5391    yyvsp -= yylen;      break;
5392    yyssp -= yylen;  
5393      case 375:
5394    #line 503 "lscp.y"
5395        { (yyval.Char) = '\211'; }
5396        break;
5397    
5398      case 376:
5399    #line 503 "lscp.y"
5400        { (yyval.Char) = '\212'; }
5401        break;
5402    
5403      case 377:
5404    #line 503 "lscp.y"
5405        { (yyval.Char) = '\213'; }
5406        break;
5407    
5408      case 378:
5409    #line 504 "lscp.y"
5410        { (yyval.Char) = '\214'; }
5411        break;
5412    
5413      case 379:
5414    #line 504 "lscp.y"
5415        { (yyval.Char) = '\215'; }
5416        break;
5417    
5418      case 380:
5419    #line 504 "lscp.y"
5420        { (yyval.Char) = '\216'; }
5421        break;
5422    
5423      case 381:
5424    #line 505 "lscp.y"
5425        { (yyval.Char) = '\217'; }
5426        break;
5427    
5428      case 382:
5429    #line 505 "lscp.y"
5430        { (yyval.Char) = '\220'; }
5431        break;
5432    
5433      case 383:
5434    #line 505 "lscp.y"
5435        { (yyval.Char) = '\221'; }
5436        break;
5437    
5438      case 384:
5439    #line 506 "lscp.y"
5440        { (yyval.Char) = '\222'; }
5441        break;
5442    
5443      case 385:
5444    #line 506 "lscp.y"
5445        { (yyval.Char) = '\223'; }
5446        break;
5447    
5448      case 386:
5449    #line 506 "lscp.y"
5450        { (yyval.Char) = '\224'; }
5451        break;
5452    
5453      case 387:
5454    #line 507 "lscp.y"
5455        { (yyval.Char) = '\225'; }
5456        break;
5457    
5458      case 388:
5459    #line 507 "lscp.y"
5460        { (yyval.Char) = '\226'; }
5461        break;
5462    
5463      case 389:
5464    #line 507 "lscp.y"
5465        { (yyval.Char) = '\227'; }
5466        break;
5467    
5468      case 390:
5469    #line 508 "lscp.y"
5470        { (yyval.Char) = '\230'; }
5471        break;
5472    
5473      case 391:
5474    #line 508 "lscp.y"
5475        { (yyval.Char) = '\231'; }
5476        break;
5477    
5478      case 392:
5479    #line 508 "lscp.y"
5480        { (yyval.Char) = '\232'; }
5481        break;
5482    
5483      case 393:
5484    #line 509 "lscp.y"
5485        { (yyval.Char) = '\233'; }
5486        break;
5487    
5488      case 394:
5489    #line 509 "lscp.y"
5490        { (yyval.Char) = '\234'; }
5491        break;
5492    
5493      case 395:
5494    #line 509 "lscp.y"
5495        { (yyval.Char) = '\235'; }
5496        break;
5497    
5498      case 396:
5499    #line 510 "lscp.y"
5500        { (yyval.Char) = '\236'; }
5501        break;
5502    
5503      case 397:
5504    #line 510 "lscp.y"
5505        { (yyval.Char) = '\237'; }
5506        break;
5507    
5508      case 398:
5509    #line 510 "lscp.y"
5510        { (yyval.Char) = '\240'; }
5511        break;
5512    
5513      case 399:
5514    #line 511 "lscp.y"
5515        { (yyval.Char) = '\241'; }
5516        break;
5517    
5518      case 400:
5519    #line 511 "lscp.y"
5520        { (yyval.Char) = '\242'; }
5521        break;
5522    
5523      case 401:
5524    #line 511 "lscp.y"
5525        { (yyval.Char) = '\243'; }
5526        break;
5527    
5528      case 402:
5529    #line 512 "lscp.y"
5530        { (yyval.Char) = '\244'; }
5531        break;
5532    
5533      case 403:
5534    #line 512 "lscp.y"
5535        { (yyval.Char) = '\245'; }
5536        break;
5537    
5538      case 404:
5539    #line 512 "lscp.y"
5540        { (yyval.Char) = '\246'; }
5541        break;
5542    
5543      case 405:
5544    #line 513 "lscp.y"
5545        { (yyval.Char) = '\247'; }
5546        break;
5547    
5548      case 406:
5549    #line 513 "lscp.y"
5550        { (yyval.Char) = '\250'; }
5551        break;
5552    
5553      case 407:
5554    #line 513 "lscp.y"
5555        { (yyval.Char) = '\251'; }
5556        break;
5557    
5558      case 408:
5559    #line 514 "lscp.y"
5560        { (yyval.Char) = '\252'; }
5561        break;
5562    
5563      case 409:
5564    #line 514 "lscp.y"
5565        { (yyval.Char) = '\253'; }
5566        break;
5567    
5568      case 410:
5569    #line 514 "lscp.y"
5570        { (yyval.Char) = '\254'; }
5571        break;
5572    
5573      case 411:
5574    #line 515 "lscp.y"
5575        { (yyval.Char) = '\255'; }
5576        break;
5577    
5578      case 412:
5579    #line 515 "lscp.y"
5580        { (yyval.Char) = '\256'; }
5581        break;
5582    
5583      case 413:
5584    #line 515 "lscp.y"
5585        { (yyval.Char) = '\257'; }
5586        break;
5587    
5588      case 414:
5589    #line 516 "lscp.y"
5590        { (yyval.Char) = '\260'; }
5591        break;
5592    
5593      case 415:
5594    #line 516 "lscp.y"
5595        { (yyval.Char) = '\261'; }
5596        break;
5597    
5598      case 416:
5599    #line 516 "lscp.y"
5600        { (yyval.Char) = '\262'; }
5601        break;
5602    
5603      case 417:
5604    #line 517 "lscp.y"
5605        { (yyval.Char) = '\263'; }
5606        break;
5607    
5608      case 418:
5609    #line 517 "lscp.y"
5610        { (yyval.Char) = '\264'; }
5611        break;
5612    
5613      case 419:
5614    #line 517 "lscp.y"
5615        { (yyval.Char) = '\265'; }
5616        break;
5617    
5618      case 420:
5619    #line 518 "lscp.y"
5620        { (yyval.Char) = '\266'; }
5621        break;
5622    
5623      case 421:
5624    #line 518 "lscp.y"
5625        { (yyval.Char) = '\267'; }
5626        break;
5627    
5628      case 422:
5629    #line 518 "lscp.y"
5630        { (yyval.Char) = '\270'; }
5631        break;
5632    
5633      case 423:
5634    #line 519 "lscp.y"
5635        { (yyval.Char) = '\271'; }
5636        break;
5637    
5638      case 424:
5639    #line 519 "lscp.y"
5640        { (yyval.Char) = '\272'; }
5641        break;
5642    
5643      case 425:
5644    #line 519 "lscp.y"
5645        { (yyval.Char) = '\273'; }
5646        break;
5647    
5648      case 426:
5649    #line 520 "lscp.y"
5650        { (yyval.Char) = '\274'; }
5651        break;
5652    
5653      case 427:
5654    #line 520 "lscp.y"
5655        { (yyval.Char) = '\275'; }
5656        break;
5657    
5658      case 428:
5659    #line 520 "lscp.y"
5660        { (yyval.Char) = '\276'; }
5661        break;
5662    
5663      case 429:
5664    #line 521 "lscp.y"
5665        { (yyval.Char) = '\277'; }
5666        break;
5667    
5668      case 430:
5669    #line 521 "lscp.y"
5670        { (yyval.Char) = '\300'; }
5671        break;
5672    
5673      case 431:
5674    #line 521 "lscp.y"
5675        { (yyval.Char) = '\301'; }
5676        break;
5677    
5678      case 432:
5679    #line 522 "lscp.y"
5680        { (yyval.Char) = '\302'; }
5681        break;
5682    
5683      case 433:
5684    #line 522 "lscp.y"
5685        { (yyval.Char) = '\303'; }
5686        break;
5687    
5688      case 434:
5689    #line 522 "lscp.y"
5690        { (yyval.Char) = '\304'; }
5691        break;
5692    
5693      case 435:
5694    #line 523 "lscp.y"
5695        { (yyval.Char) = '\305'; }
5696        break;
5697    
5698      case 436:
5699    #line 523 "lscp.y"
5700        { (yyval.Char) = '\306'; }
5701        break;
5702    
5703      case 437:
5704    #line 523 "lscp.y"
5705        { (yyval.Char) = '\307'; }
5706        break;
5707    
5708      case 438:
5709    #line 524 "lscp.y"
5710        { (yyval.Char) = '\310'; }
5711        break;
5712    
5713      case 439:
5714    #line 524 "lscp.y"
5715        { (yyval.Char) = '\311'; }
5716        break;
5717    
5718      case 440:
5719    #line 524 "lscp.y"
5720        { (yyval.Char) = '\312'; }
5721        break;
5722    
5723      case 441:
5724    #line 525 "lscp.y"
5725        { (yyval.Char) = '\313'; }
5726        break;
5727    
5728      case 442:
5729    #line 525 "lscp.y"
5730        { (yyval.Char) = '\314'; }
5731        break;
5732    
5733      case 443:
5734    #line 525 "lscp.y"
5735        { (yyval.Char) = '\315'; }
5736        break;
5737    
5738      case 444:
5739    #line 526 "lscp.y"
5740        { (yyval.Char) = '\316'; }
5741        break;
5742    
5743      case 445:
5744    #line 526 "lscp.y"
5745        { (yyval.Char) = '\317'; }
5746        break;
5747    
5748      case 446:
5749    #line 526 "lscp.y"
5750        { (yyval.Char) = '\320'; }
5751        break;
5752    
5753      case 447:
5754    #line 527 "lscp.y"
5755        { (yyval.Char) = '\321'; }
5756        break;
5757    
5758      case 448:
5759    #line 527 "lscp.y"
5760        { (yyval.Char) = '\322'; }
5761        break;
5762    
5763      case 449:
5764    #line 527 "lscp.y"
5765        { (yyval.Char) = '\323'; }
5766        break;
5767    
5768      case 450:
5769    #line 528 "lscp.y"
5770        { (yyval.Char) = '\324'; }
5771        break;
5772    
5773      case 451:
5774    #line 528 "lscp.y"
5775        { (yyval.Char) = '\325'; }
5776        break;
5777    
5778      case 452:
5779    #line 528 "lscp.y"
5780        { (yyval.Char) = '\326'; }
5781        break;
5782    
5783      case 453:
5784    #line 529 "lscp.y"
5785        { (yyval.Char) = '\327'; }
5786        break;
5787    
5788      case 454:
5789    #line 529 "lscp.y"
5790        { (yyval.Char) = '\330'; }
5791        break;
5792    
5793      case 455:
5794    #line 529 "lscp.y"
5795        { (yyval.Char) = '\331'; }
5796        break;
5797    
5798      case 456:
5799    #line 530 "lscp.y"
5800        { (yyval.Char) = '\332'; }
5801        break;
5802    
5803      case 457:
5804    #line 530 "lscp.y"
5805        { (yyval.Char) = '\333'; }
5806        break;
5807    
5808      case 458:
5809    #line 530 "lscp.y"
5810        { (yyval.Char) = '\334'; }
5811        break;
5812    
5813      case 459:
5814    #line 531 "lscp.y"
5815        { (yyval.Char) = '\335'; }
5816        break;
5817    
5818      case 460:
5819    #line 531 "lscp.y"
5820        { (yyval.Char) = '\336'; }
5821        break;
5822    
5823      case 461:
5824    #line 531 "lscp.y"
5825        { (yyval.Char) = '\337'; }
5826        break;
5827    
5828      case 462:
5829    #line 532 "lscp.y"
5830        { (yyval.Char) = '\340'; }
5831        break;
5832    
5833      case 463:
5834    #line 532 "lscp.y"
5835        { (yyval.Char) = '\341'; }
5836        break;
5837    
5838      case 464:
5839    #line 532 "lscp.y"
5840        { (yyval.Char) = '\342'; }
5841        break;
5842    
5843      case 465:
5844    #line 533 "lscp.y"
5845        { (yyval.Char) = '\343'; }
5846        break;
5847    
5848      case 466:
5849    #line 533 "lscp.y"
5850        { (yyval.Char) = '\344'; }
5851        break;
5852    
5853      case 467:
5854    #line 533 "lscp.y"
5855        { (yyval.Char) = '\345'; }
5856        break;
5857    
5858      case 468:
5859    #line 534 "lscp.y"
5860        { (yyval.Char) = '\346'; }
5861        break;
5862    
5863      case 469:
5864    #line 534 "lscp.y"
5865        { (yyval.Char) = '\347'; }
5866        break;
5867    
5868      case 470:
5869    #line 534 "lscp.y"
5870        { (yyval.Char) = '\350'; }
5871        break;
5872    
5873      case 471:
5874    #line 535 "lscp.y"
5875        { (yyval.Char) = '\351'; }
5876        break;
5877    
5878      case 472:
5879    #line 535 "lscp.y"
5880        { (yyval.Char) = '\352'; }
5881        break;
5882    
5883      case 473:
5884    #line 535 "lscp.y"
5885        { (yyval.Char) = '\353'; }
5886        break;
5887    
5888      case 474:
5889    #line 536 "lscp.y"
5890        { (yyval.Char) = '\354'; }
5891        break;
5892    
5893      case 475:
5894    #line 536 "lscp.y"
5895        { (yyval.Char) = '\355'; }
5896        break;
5897    
5898      case 476:
5899    #line 536 "lscp.y"
5900        { (yyval.Char) = '\356'; }
5901        break;
5902    
5903      case 477:
5904    #line 537 "lscp.y"
5905        { (yyval.Char) = '\357'; }
5906        break;
5907    
5908      case 478:
5909    #line 537 "lscp.y"
5910        { (yyval.Char) = '\360'; }
5911        break;
5912    
5913      case 479:
5914    #line 537 "lscp.y"
5915        { (yyval.Char) = '\361'; }
5916        break;
5917    
5918      case 480:
5919    #line 538 "lscp.y"
5920        { (yyval.Char) = '\362'; }
5921        break;
5922    
5923      case 481:
5924    #line 538 "lscp.y"
5925        { (yyval.Char) = '\363'; }
5926        break;
5927    
5928      case 482:
5929    #line 538 "lscp.y"
5930        { (yyval.Char) = '\364'; }
5931        break;
5932    
5933      case 483:
5934    #line 539 "lscp.y"
5935        { (yyval.Char) = '\365'; }
5936        break;
5937    
5938      case 484:
5939    #line 539 "lscp.y"
5940        { (yyval.Char) = '\366'; }
5941        break;
5942    
5943      case 485:
5944    #line 539 "lscp.y"
5945        { (yyval.Char) = '\367'; }
5946        break;
5947    
5948      case 486:
5949    #line 540 "lscp.y"
5950        { (yyval.Char) = '\370'; }
5951        break;
5952    
5953      case 487:
5954    #line 540 "lscp.y"
5955        { (yyval.Char) = '\371'; }
5956        break;
5957    
5958      case 488:
5959    #line 540 "lscp.y"
5960        { (yyval.Char) = '\372'; }
5961        break;
5962    
5963      case 489:
5964    #line 541 "lscp.y"
5965        { (yyval.Char) = '\373'; }
5966        break;
5967    
5968      case 490:
5969    #line 541 "lscp.y"
5970        { (yyval.Char) = '\374'; }
5971        break;
5972    
5973      case 491:
5974    #line 541 "lscp.y"
5975        { (yyval.Char) = '\375'; }
5976        break;
5977    
5978      case 492:
5979    #line 542 "lscp.y"
5980        { (yyval.Char) = '\376'; }
5981        break;
5982    
5983      case 493:
5984    #line 542 "lscp.y"
5985        { (yyval.Char) = '\377'; }
5986        break;
5987    
5988      case 494:
5989    #line 545 "lscp.y"
5990        { (yyval.String) = " ";      }
5991        break;
5992    
5993      case 496:
5994    #line 547 "lscp.y"
5995        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5996        break;
5997    
5998      case 497:
5999    #line 548 "lscp.y"
6000        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
6001        break;
6002    
6003      case 498:
6004    #line 551 "lscp.y"
6005        { (yyval.String) = (yyvsp[(2) - (3)].String); }
6006        break;
6007    
6008      case 499:
6009    #line 552 "lscp.y"
6010        { (yyval.String) = (yyvsp[(2) - (3)].String); }
6011        break;
6012    
6013    
6014    /* Line 1267 of yacc.c.  */
6015    #line 6016 "y.tab.c"
6016          default: break;
6017        }
6018      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6019    
6020      YYPOPSTACK (yylen);
6021      yylen = 0;
6022    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
6023    
6024    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4439  yyerrlab: Line 6047  yyerrlab:
6047    if (!yyerrstatus)    if (!yyerrstatus)
6048      {      {
6049        ++yynerrs;        ++yynerrs;
6050  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
6051        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
6052    #else
6053        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
6054          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
6055            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
6056            int yytype = YYTRANSLATE (yychar);            {
6057            const char* yyprefix;              YYSIZE_T yyalloc = 2 * yysize;
6058            char *yymsg;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
6059            int yyx;                yyalloc = YYSTACK_ALLOC_MAXIMUM;
6060                if (yymsg != yymsgbuf)
6061            /* Start YYX at -YYN if negative to avoid negative indexes in                YYSTACK_FREE (yymsg);
6062               YYCHECK.  */              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
6063            int yyxbegin = yyn < 0 ? -yyn : 0;              if (yymsg)
6064                  yymsg_alloc = yyalloc;
6065            /* Stay within bounds of both yycheck and yytname.  */              else
           int yychecklim = YYLAST - yyn;  
           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;  
           int yycount = 0;  
   
           yyprefix = ", expecting ";  
           for (yyx = yyxbegin; yyx < yyxend; ++yyx)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
6066                {                {
6067                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);                  yymsg = yymsgbuf;
6068                  yycount += 1;                  yymsg_alloc = sizeof yymsgbuf;
                 if (yycount == 5)  
                   {  
                     yysize = 0;  
                     break;  
                   }  
6069                }                }
6070            yysize += (sizeof ("syntax error, unexpected ")            }
                      + yystrlen (yytname[yytype]));  
           yymsg = (char *) YYSTACK_ALLOC (yysize);  
           if (yymsg != 0)  
             {  
               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");  
               yyp = yystpcpy (yyp, yytname[yytype]);  
6071    
6072                if (yycount < 5)          if (0 < yysize && yysize <= yymsg_alloc)
6073                  {            {
6074                    yyprefix = ", expecting ";              (void) yysyntax_error (yymsg, yystate, yychar);
6075                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)              yyerror (yymsg);
6076                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)            }
6077                        {          else
6078                          yyp = yystpcpy (yyp, yyprefix);            {
6079                          yyp = yystpcpy (yyp, yytname[yyx]);              yyerror (YY_("syntax error"));
6080                          yyprefix = " or ";              if (yysize != 0)
6081                        }                goto yyexhaustedlab;
6082                  }            }
6083                yyerror (yymsg);        }
6084                YYSTACK_FREE (yymsg);  #endif
             }  
           else  
             yyerror ("syntax error; also virtual memory exhausted");  
         }  
       else  
 #endif /* YYERROR_VERBOSE */  
         yyerror ("syntax error");  
6085      }      }
6086    
6087    
6088    
6089    if (yyerrstatus == 3)    if (yyerrstatus == 3)
6090      {      {
6091        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
6092           error, discard it.  */           error, discard it.  */
6093    
6094        if (yychar <= YYEOF)        if (yychar <= YYEOF)
6095          {          {
6096            /* If at end of input, pop the error token,            /* Return failure if at end of input.  */
              then the rest of the stack, then return failure.  */  
6097            if (yychar == YYEOF)            if (yychar == YYEOF)
6098               for (;;)              YYABORT;
6099                 {          }
                  YYPOPSTACK;  
                  if (yyssp == yyss)  
                    YYABORT;  
                  YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
                  yydestruct (yystos[*yyssp], yyvsp);  
                }  
         }  
6100        else        else
6101          {          {
6102            YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);            yydestruct ("Error: discarding",
6103            yydestruct (yytoken, &yylval);                        yytoken, &yylval);
6104            yychar = YYEMPTY;            yychar = YYEMPTY;
   
6105          }          }
6106      }      }
6107    
6108    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
6109       token.  */       token.  */
6110    goto yyerrlab1;    goto yyerrlab1;
6111    
# Line 4541  yyerrlab: Line 6115  yyerrlab:
6115  `---------------------------------------------------*/  `---------------------------------------------------*/
6116  yyerrorlab:  yyerrorlab:
6117    
6118  #ifdef __GNUC__    /* Pacify compilers like GCC when the user code never invokes
6119    /* Pacify GCC when the user code never invokes YYERROR and the label       YYERROR and the label yyerrorlab therefore never appears in user
6120       yyerrorlab therefore never appears in user code.  */       code.  */
6121    if (0)    if (/*CONSTCOND*/ 0)
6122       goto yyerrorlab;       goto yyerrorlab;
 #endif  
6123    
6124    yyvsp -= yylen;    /* Do not reclaim the symbols of the rule which action triggered
6125    yyssp -= yylen;       this YYERROR.  */
6126      YYPOPSTACK (yylen);
6127      yylen = 0;
6128      YY_STACK_PRINT (yyss, yyssp);
6129    yystate = *yyssp;    yystate = *yyssp;
6130    goto yyerrlab1;    goto yyerrlab1;
6131    
# Line 4578  yyerrlab1: Line 6154  yyerrlab1:
6154        if (yyssp == yyss)        if (yyssp == yyss)
6155          YYABORT;          YYABORT;
6156    
6157        YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
6158        yydestruct (yystos[yystate], yyvsp);        yydestruct ("Error: popping",
6159        YYPOPSTACK;                    yystos[yystate], yyvsp);
6160          YYPOPSTACK (1);
6161        yystate = *yyssp;        yystate = *yyssp;
6162        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
6163      }      }
# Line 4588  yyerrlab1: Line 6165  yyerrlab1:
6165    if (yyn == YYFINAL)    if (yyn == YYFINAL)
6166      YYACCEPT;      YYACCEPT;
6167    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
6168    *++yyvsp = yylval;    *++yyvsp = yylval;
6169    
6170    
6171      /* Shift the error token.  */
6172      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
6173    
6174    yystate = yyn;    yystate = yyn;
6175    goto yynewstate;    goto yynewstate;
6176    
# Line 4612  yyabortlab: Line 6190  yyabortlab:
6190    goto yyreturn;    goto yyreturn;
6191    
6192  #ifndef yyoverflow  #ifndef yyoverflow
6193  /*----------------------------------------------.  /*-------------------------------------------------.
6194  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
6195  `----------------------------------------------*/  `-------------------------------------------------*/
6196  yyoverflowlab:  yyexhaustedlab:
6197    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
6198    yyresult = 2;    yyresult = 2;
6199    /* Fall through.  */    /* Fall through.  */
6200  #endif  #endif
6201    
6202  yyreturn:  yyreturn:
6203      if (yychar != YYEOF && yychar != YYEMPTY)
6204         yydestruct ("Cleanup: discarding lookahead",
6205                     yytoken, &yylval);
6206      /* Do not reclaim the symbols of the rule which action triggered
6207         this YYABORT or YYACCEPT.  */
6208      YYPOPSTACK (yylen);
6209      YY_STACK_PRINT (yyss, yyssp);
6210      while (yyssp != yyss)
6211        {
6212          yydestruct ("Cleanup: popping",
6213                      yystos[*yyssp], yyvsp);
6214          YYPOPSTACK (1);
6215        }
6216  #ifndef yyoverflow  #ifndef yyoverflow
6217    if (yyss != yyssa)    if (yyss != yyssa)
6218      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
6219  #endif  #endif
6220    return yyresult;  #if YYERROR_VERBOSE
6221      if (yymsg != yymsgbuf)
6222        YYSTACK_FREE (yymsg);
6223    #endif
6224      /* Make sure YYID is used.  */
6225      return YYID (yyresult);
6226  }  }
6227    
6228    
6229  #line 529 "lscp.y"  #line 864 "lscp.y"
6230    
6231    
6232  /**  /**
# Line 4648  void restart(yyparse_param_t* pparam, in Line 6244  void restart(yyparse_param_t* pparam, in
6244      ptr   = 0;      ptr   = 0;
6245  }  }
6246    
   

Legend:
Removed from v.556  
changed lines
  Added in v.1187

  ViewVC Help
Powered by ViewVC