/[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 573 by schoenebeck, Tue May 24 03:18:30 2005 UTC revision 1161 by iliev, Mon Apr 16 15:51:18 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    #ifdef YYTYPE_UINT8
146    typedef YYTYPE_UINT8 yytype_uint8;
147    #else
148    typedef unsigned char yytype_uint8;
149    #endif
150    
151    #ifdef YYTYPE_INT8
152    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
184    #endif
185    
186  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187    
188  # ifndef YYFREE  #ifndef YY_
189  #  define YYFREE free  # 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 YYMALLOC  # ifndef YY_
196  #  define YYMALLOC malloc  #  define YY_(msgid) msgid
197  # endif  # 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  47
 #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   4524  #define YYLAST   4799
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  95  #define YYNNTS  158
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  427  #define YYNRULES  582
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1181  #define YYNSTATES  1965
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,    93,
411        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        95,    97,   101,   109,   117,   123,   131,   133,   137,   139,
412       113,   115,   121,   129,   139,   141,   147,   155,   165,   167,       141,   143,   145,   147,   149,   151,   153,   155,   157,   159,
413       169,   175,   181,   189,   199,   207,   217,   219,   225,   233,       161,   163,   165,   167,   169,   171,   173,   175,   177,   179,
414       239,   245,   251,   255,   263,   273,   281,   291,   295,   299,       181,   183,   185,   187,   189,   191,   193,   195,   197,   199,
415       305,   309,   315,   319,   323,   327,   331,   335,   341,   349,       201,   203,   205,   207,   209,   211,   213,   215,   217,   219,
416       355,   365,   371,   377,   383,   389,   395,   399,   405,   407,       221,   223,   225,   242,   261,   280,   301,   309,   313,   317,
417       409,   411,   413,   415,   417,   419,   421,   427,   435,   439,       321,   327,   331,   335,   337,   339,   345,   353,   363,   365,
418       441,   443,   445,   447,   449,   451,   453,   455,   457,   459,       371,   379,   389,   391,   393,   399,   405,   413,   423,   431,
419       461,   463,   465,   467,   471,   473,   477,   481,   483,   485,       441,   443,   449,   457,   463,   469,   475,   479,   481,   483,
420       487,   489,   491,   494,   498,   503,   508,   510,   513,   515,       487,   491,   501,   503,   509,   513,   521,   525,   531,   535,
421       517,   519,   521,   523,   525,   527,   529,   531,   533,   535,       541,   543,   551,   561,   569,   579,   583,   591,   601,   613,
422       538,   541,   544,   547,   550,   553,   556,   559,   562,   564,       623,   633,   641,   649,   657,   665,   669,   673,   679,   683,
423       566,   568,   570,   572,   574,   576,   578,   580,   582,   584,       689,   693,   699,   707,   711,   715,   719,   725,   731,   735,
424       586,   588,   590,   592,   594,   596,   598,   600,   602,   604,       739,   745,   749,   753,   759,   767,   773,   783,   789,   795,
425       606,   608,   610,   612,   614,   616,   618,   620,   622,   624,       801,   807,   813,   819,   825,   831,   837,   843,   844,   847,
426       626,   628,   630,   632,   634,   636,   638,   640,   642,   644,       851,   857,   859,   861,   863,   865,   867,   869,   871,   873,
427       646,   648,   650,   652,   654,   656,   658,   660,   662,   664,       877,   881,   883,   887,   891,   895,   901,   909,   913,   915,
428       666,   668,   670,   672,   674,   676,   678,   680,   682,   684,       917,   919,   921,   923,   925,   927,   929,   931,   933,   935,
429       686,   688,   690,   692,   694,   696,   698,   700,   702,   704,       937,   939,   941,   943,   945,   947,   949,   951,   953,   955,
430       706,   708,   710,   712,   714,   716,   718,   720,   722,   724,       957,   959,   961,   963,   965,   967,   971,   973,   975,   977,
431       726,   728,   730,   732,   734,   736,   738,   740,   742,   744,       979,   981,   983,   985,   988,   992,   997,  1002,  1004,  1007,
432       746,   748,   750,   752,   754,   756,   758,   760,   762,   764,      1009,  1011,  1013,  1015,  1017,  1019,  1021,  1023,  1025,  1027,
433       766,   768,   770,   772,   774,   776,   778,   780,   782,   784,      1029,  1032,  1035,  1038,  1041,  1044,  1047,  1050,  1053,  1056,
434       786,   788,   790,   792,   794,   796,   798,   800,   802,   804,      1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,  1074,  1076,
435       806,   808,   810,   812,   814,   816,   818,   820,   822,   824,      1078,  1080,  1082,  1084,  1086,  1088,  1090,  1092,  1094,  1096,
436       826,   828,   830,   832,   834,   836,   838,   840,   842,   844,      1098,  1100,  1102,  1104,  1106,  1108,  1110,  1112,  1114,  1116,
437       846,   848,   850,   852,   854,   856,   858,   860,   862,   864,      1118,  1120,  1122,  1124,  1126,  1128,  1130,  1132,  1134,  1136,
438       866,   868,   870,   872,   874,   876,   878,   880,   882,   884,      1138,  1140,  1142,  1144,  1146,  1148,  1150,  1152,  1154,  1156,
439       886,   888,   890,   892,   894,   896,   898,   900,   902,   904,      1158,  1160,  1162,  1164,  1166,  1168,  1170,  1172,  1174,  1176,
440       906,   908,   910,   912,   914,   916,   918,   920,   922,   924,      1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,  1196,
441       926,   928,   930,   932,   934,   936,   938,   940,   942,   944,      1198,  1200,  1202,  1204,  1206,  1208,  1210,  1212,  1214,  1216,
442       946,   948,   950,   952,   954,   956,   958,   960,   962,   964,      1218,  1220,  1222,  1224,  1226,  1228,  1230,  1232,  1234,  1236,
443       966,   968,   970,   972,   974,   976,   978,   980,   982,   984,      1238,  1240,  1242,  1244,  1246,  1248,  1250,  1252,  1254,  1256,
444       986,   988,   990,   992,   994,   996,   998,  1000,  1002,  1004,      1258,  1260,  1262,  1264,  1266,  1268,  1270,  1272,  1274,  1276,
445      1007,  1010,  1014,  1018,  1020,  1022,  1024,  1028,  1032,  1039,      1278,  1280,  1282,  1284,  1286,  1288,  1290,  1292,  1294,  1296,
446      1047,  1052,  1057,  1061,  1071,  1078,  1082,  1092,  1104,  1111,      1298,  1300,  1302,  1304,  1306,  1308,  1310,  1312,  1314,  1316,
447      1119,  1137,  1168,  1177,  1182,  1196,  1209,  1221,  1234,  1246,      1318,  1320,  1322,  1324,  1326,  1328,  1330,  1332,  1334,  1336,
448      1257,  1264,  1294,  1315,  1335,  1365,  1385,  1416,  1437,  1455,      1338,  1340,  1342,  1344,  1346,  1348,  1350,  1352,  1354,  1356,
449      1484,  1512,  1538,  1557,  1575,  1603,  1621,  1637,  1656,  1672,      1358,  1360,  1362,  1364,  1366,  1368,  1370,  1372,  1374,  1376,
450      1683,  1690,  1697,  1703,  1714,  1720,  1734,  1739      1378,  1380,  1382,  1384,  1386,  1388,  1390,  1392,  1394,  1396,
451        1398,  1400,  1402,  1404,  1406,  1408,  1410,  1412,  1414,  1416,
452        1418,  1420,  1422,  1424,  1426,  1428,  1430,  1432,  1434,  1436,
453        1438,  1440,  1442,  1444,  1446,  1448,  1450,  1452,  1454,  1456,
454        1458,  1460,  1462,  1464,  1466,  1468,  1470,  1472,  1474,  1476,
455        1478,  1480,  1482,  1484,  1486,  1488,  1490,  1492,  1494,  1496,
456        1498,  1501,  1504,  1508,  1512,  1514,  1516,  1518,  1522,  1526,
457        1530,  1536,  1542,  1547,  1554,  1562,  1567,  1572,  1576,  1581,
458        1589,  1599,  1606,  1610,  1620,  1632,  1640,  1658,  1689,  1698,
459        1703,  1729,  1754,  1778,  1801,  1827,  1852,  1874,  1895,  1925,
460        1954,  1974,  1993,  2007,  2020,  2034,  2047,  2059,  2072,  2084,
461        2102,  2124,  2136,  2147,  2154,  2164,  2179,  2190,  2220,  2241,
462        2261,  2291,  2311,  2342,  2363,  2381,  2410,  2438,  2464,  2483,
463        2501,  2529,  2545,  2562,  2582,  2603,  2621,  2637,  2656,  2672,
464        2683,  2699,  2707,  2716,  2740,  2766,  2781,  2795,  2807,  2813,
465        2818,  2832,  2839,  2846,  2852,  2857,  2862,  2868,  2879,  2885,
466        2899,  2904,  2909
467  };  };
468    
469  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
470  static const short int yyrhs[] =  static const yytype_int16 yyrhs[] =
471  {  {
472       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,       228,     0,    -1,   229,   287,    -1,   229,   288,   287,    -1,
473        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
474         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,         3,    -1,   230,   286,    -1,   230,   282,    -1,   230,   278,
475        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,        -1,   289,   286,   232,    -1,   291,   286,   235,    -1,   292,
476       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,       286,   236,    -1,   290,   286,   238,    -1,   295,   286,   240,
477        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,        -1,   296,   286,   244,    -1,   297,   286,   250,    -1,   298,
478        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,       286,   245,    -1,   303,   286,   237,    -1,   304,   286,   239,
479       267,   233,    -1,   282,   267,   265,    -1,   318,   267,   283,        -1,   305,   286,   233,    -1,   306,   286,   234,    -1,   380,
480       267,   252,    -1,   318,    -1,   321,    -1,   288,    -1,   292,       286,   241,    -1,   293,   286,   242,    -1,   294,   286,   243,
481        -1,   291,    -1,   290,    -1,   289,    -1,   319,    -1,   288,        -1,   380,    -1,   384,    -1,   307,    -1,   365,   286,   269,
482        -1,   292,    -1,   291,    -1,   290,    -1,   289,    -1,   319,        -1,   367,   286,   371,   286,   269,   286,   269,    -1,   367,
483        -1,   284,    -1,   303,    -1,   309,   267,   287,   267,   259,       286,   372,   286,   269,   286,   269,    -1,   367,   286,   269,
484        -1,   308,   267,   287,   267,   259,   267,   259,    -1,   308,       286,   269,    -1,   367,   286,   269,   286,   269,   286,   266,
485       267,   287,   267,   259,   267,   259,   267,   240,    -1,   285,        -1,   355,    -1,   355,   286,   272,    -1,   312,    -1,   313,
486        -1,   299,   267,   287,   267,   259,    -1,   298,   267,   287,        -1,   314,    -1,   315,    -1,   324,    -1,   330,    -1,   329,
487       267,   259,   267,   259,    -1,   298,   267,   287,   267,   259,        -1,   328,    -1,   325,    -1,   326,    -1,   327,    -1,   316,
488       267,   259,   267,   240,    -1,   296,    -1,   306,    -1,   297,        -1,   317,    -1,   318,    -1,   319,    -1,   320,    -1,   321,
489       267,   287,   267,   263,    -1,   307,   267,   287,   267,   263,        -1,   322,    -1,   323,    -1,   381,    -1,   331,    -1,   333,
490        -1,   310,   267,   287,   267,   263,   267,   263,    -1,   305,        -1,   312,    -1,   313,    -1,   314,    -1,   315,    -1,   324,
491       267,   287,   267,   263,   267,   263,   267,   259,    -1,   301,        -1,   330,    -1,   329,    -1,   328,    -1,   325,    -1,   326,
492       267,   287,   267,   263,   267,   263,    -1,   300,   267,   287,        -1,   327,    -1,   316,    -1,   317,    -1,   318,    -1,   319,
493       267,   263,   267,   263,   267,   259,    -1,   286,    -1,   283,        -1,   320,    -1,   321,    -1,   322,    -1,   323,    -1,   381,
494       267,   287,   267,   252,    -1,   283,   267,   290,   267,   241,        -1,   331,    -1,   333,    -1,   353,   286,   247,   260,   286,
495       267,   252,    -1,   283,   267,   291,   267,   252,    -1,   283,       261,   286,   262,   286,   268,   286,   271,   286,   266,   286,
496       267,   292,   267,   252,    -1,   294,   267,   287,   267,   254,       264,    -1,   353,   286,   247,   260,   286,   261,   286,   262,
497        -1,   314,   267,   287,    -1,   295,   267,   263,   267,   259,       286,   268,   286,   271,   286,   266,   286,   264,   286,   253,
498         4,   256,    -1,   300,   267,   263,   267,   263,   267,   259,        -1,   353,   286,   247,   260,   286,   261,   286,   262,   286,
499         4,   256,    -1,   304,   267,   263,   267,   259,     4,   256,       268,   286,   271,   286,   266,   286,   264,   286,   273,    -1,
500        -1,   305,   267,   263,   267,   263,   267,   259,     4,   256,       353,   286,   247,   260,   286,   261,   286,   262,   286,   268,
501        -1,   283,   267,   239,    -1,   320,   267,   258,    -1,   297,       286,   271,   286,   266,   286,   264,   286,   253,   286,   273,
502       267,   259,   267,   240,    -1,   297,   267,   259,    -1,   307,        -1,   353,   286,   260,   286,   261,   286,   262,    -1,   307,
503       267,   259,   267,   240,    -1,   307,   267,   259,    -1,   297,       286,   265,    -1,   355,   286,   260,    -1,   355,   286,   299,
504       267,   263,    -1,   307,   267,   263,    -1,   293,   267,   243,        -1,   365,   286,   370,   286,   269,    -1,   365,   286,   269,
505        -1,   294,   267,   244,    -1,   297,   267,   252,   267,   245,        -1,   368,   286,   269,    -1,   308,    -1,   347,    -1,   357,
506        -1,   301,   267,   252,   267,   246,   267,   246,    -1,   302,       286,   311,   286,   278,    -1,   352,   286,   311,   286,   278,
507       267,   252,   267,   247,    -1,   313,   267,   252,   267,   245,       286,   278,    -1,   352,   286,   311,   286,   278,   286,   278,
508       267,   248,   267,   249,    -1,   307,   267,   252,   267,   245,       286,   248,    -1,   309,    -1,   343,   286,   311,   286,   278,
509        -1,   310,   267,   252,   267,   248,    -1,   311,   267,   252,        -1,   342,   286,   311,   286,   278,   286,   278,    -1,   342,
510       267,   249,    -1,   312,   267,   252,   267,   250,    -1,   315,       286,   311,   286,   278,   286,   278,   286,   248,    -1,   340,
511       267,   252,   267,   251,    -1,   259,     4,   256,    -1,   240,        -1,   350,    -1,   341,   286,   311,   286,   282,    -1,   351,
512       267,   259,     4,   256,    -1,   316,    -1,   317,    -1,   296,       286,   311,   286,   282,    -1,   358,   286,   311,   286,   282,
513        -1,   306,    -1,   286,    -1,   284,    -1,   303,    -1,   285,       286,   282,    -1,   349,   286,   311,   286,   282,   286,   282,
514        -1,   255,   267,   253,   267,   252,    -1,   277,   267,   255,       286,   278,    -1,   345,   286,   311,   286,   282,   286,   282,
515       267,   253,   267,   252,    -1,   254,   267,   252,    -1,   263,        -1,   344,   286,   311,   286,   282,   286,   282,   286,   278,
516        -1,   263,    -1,   259,    -1,   263,    -1,   263,    -1,   276,        -1,   310,    -1,   307,   286,   311,   286,   265,    -1,   307,
517        -1,   259,    -1,   260,    -1,   263,    -1,   263,    -1,   263,       286,   328,   286,   249,   286,   265,    -1,   307,   286,   329,
518        -1,   259,    -1,   266,    -1,   257,    -1,   256,     5,   257,       286,   265,    -1,   307,   286,   330,   286,   265,    -1,   335,
519        -1,   259,    -1,     6,   259,     6,    -1,     7,   259,     7,       286,   311,   286,   268,    -1,   373,   286,   311,    -1,   331,
520        -1,   263,    -1,   260,    -1,   263,    -1,   259,    -1,   264,        -1,   332,    -1,   354,   286,   260,    -1,   354,   286,   299,
521        -1,   259,   264,    -1,   261,     8,   261,    -1,     9,   261,        -1,   353,   286,   311,   286,   260,   286,   261,   286,   262,
522         8,   261,    -1,    10,   261,     8,   261,    -1,   262,    -1,        -1,   356,    -1,   355,   286,   311,   286,   260,    -1,   364,
523       261,   262,    -1,    11,    -1,    12,    -1,    13,    -1,    14,       286,   265,    -1,   363,   286,   311,   286,   265,   286,   267,
524        -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,        -1,   366,   286,   269,    -1,   365,   286,   311,   286,   269,
525        -1,    20,    -1,   262,    -1,    12,   261,    -1,    13,   261,        -1,   367,   286,   269,    -1,   368,   286,   311,   286,   269,
526        -1,    14,   261,    -1,    15,   261,    -1,    16,   261,    -1,        -1,   374,    -1,   339,   286,   282,   286,   278,     4,   275,
527        17,   261,    -1,    18,   261,    -1,    19,   261,    -1,    20,        -1,   344,   286,   282,   286,   282,   286,   278,     4,   275,
528       261,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,        -1,   348,   286,   282,   286,   278,     4,   275,    -1,   349,
529        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,       286,   282,   286,   282,   286,   278,     4,   275,    -1,   307,
530        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,       286,   246,    -1,   355,   286,   382,   286,   260,   286,   272,
531        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,        -1,   363,   286,   382,   286,   265,   286,   267,   286,   274,
532        40,    -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1,        -1,   363,   286,   345,   286,   265,   286,   267,   286,   255,
533        45,    -1,    46,    -1,    47,    -1,    48,    -1,    49,    -1,       286,   255,    -1,   363,   286,   362,   286,   265,   286,   267,
534        50,    -1,    51,    -1,    52,    -1,    53,    -1,    54,    -1,       286,   263,    -1,   363,   286,   375,   286,   265,   286,   267,
535        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,       286,   264,    -1,   365,   286,   382,   286,   269,   286,   270,
536        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,        -1,   365,   286,   369,   286,   269,   286,   285,    -1,   368,
537        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,       286,   382,   286,   269,   286,   270,    -1,   368,   286,   369,
538        70,    -1,    71,    -1,    72,    -1,    11,    -1,    12,    -1,       286,   269,   286,   285,    -1,   383,   286,   277,    -1,   374,
539        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,       286,   264,    -1,   341,   286,   278,   286,   248,    -1,   341,
540        18,    -1,    19,    -1,    20,    -1,    73,    -1,     3,    -1,       286,   278,    -1,   351,   286,   278,   286,   248,    -1,   351,
541        74,    -1,    75,    -1,    76,    -1,    77,    -1,    78,    -1,       286,   278,    -1,   363,   286,   265,   286,   263,    -1,   363,
542        79,    -1,     9,    -1,    10,    -1,     8,    -1,     5,    -1,       286,   265,   286,   263,   286,   274,    -1,   307,   286,   265,
543        80,    -1,    81,    -1,    82,    -1,    83,    -1,     4,    -1,        -1,   354,   286,   260,    -1,   354,   286,   299,    -1,   365,
544        84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,       286,   269,   286,   269,    -1,   368,   286,   269,   286,   269,
545        89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,        -1,   341,   286,   282,    -1,   351,   286,   282,    -1,   363,
546        94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,    -1,       286,   265,   286,   267,    -1,   334,   286,   251,    -1,   335,
547        99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,       286,   252,    -1,   341,   286,   265,   286,   254,    -1,   345,
548       104,    -1,   105,    -1,   106,    -1,   107,    -1,   108,    -1,       286,   265,   286,   255,   286,   255,    -1,   346,   286,   265,
549       109,    -1,   110,    -1,   111,    -1,   112,    -1,   113,    -1,       286,   256,    -1,   361,   286,   265,   286,   254,   286,   257,
550       114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,    -1,       286,   258,    -1,   351,   286,   265,   286,   254,    -1,   358,
551       119,    -1,   120,    -1,   121,    -1,   122,    -1,   123,    -1,       286,   265,   286,   257,    -1,   359,   286,   265,   286,   258,
552       124,    -1,   125,    -1,   126,    -1,   127,    -1,   128,    -1,        -1,   360,   286,   265,   286,   259,    -1,   374,   286,   265,
553       129,    -1,   130,    -1,   131,    -1,   132,    -1,   133,    -1,       286,   264,    -1,   376,   286,   265,   286,   277,    -1,   377,
554       134,    -1,   135,    -1,   136,    -1,   137,    -1,   138,    -1,       286,   265,   286,   277,    -1,   355,   286,   265,   286,   260,
555       139,    -1,   140,    -1,   141,    -1,   142,    -1,   143,    -1,        -1,   355,   286,   265,   286,   300,    -1,   355,   286,   265,
556       144,    -1,   145,    -1,   146,    -1,   147,    -1,   148,    -1,       286,   301,    -1,    -1,   302,   286,    -1,   278,     4,   275,
557       149,    -1,   150,    -1,   151,    -1,   152,    -1,   153,    -1,        -1,   248,   286,   278,     4,   275,    -1,   378,    -1,   379,
558       154,    -1,   155,    -1,   156,    -1,   157,    -1,   158,    -1,        -1,   340,    -1,   350,    -1,   310,    -1,   308,    -1,   347,
559       159,    -1,   160,    -1,   161,    -1,   162,    -1,   163,    -1,        -1,   309,    -1,   354,   286,   260,    -1,   354,   286,   299,
560       164,    -1,   165,    -1,   166,    -1,   167,    -1,   168,    -1,        -1,   356,    -1,   364,   286,   265,    -1,   366,   286,   269,
561       169,    -1,   170,    -1,   171,    -1,   172,    -1,   173,    -1,        -1,   367,   286,   269,    -1,   271,   286,   266,   286,   265,
562       174,    -1,   175,    -1,   176,    -1,   177,    -1,   178,    -1,        -1,   302,   286,   271,   286,   266,   286,   265,    -1,   268,
563       179,    -1,   180,    -1,   181,    -1,   182,    -1,   183,    -1,       286,   265,    -1,   336,    -1,   337,    -1,   338,    -1,   282,
564       184,    -1,   185,    -1,   186,    -1,   187,    -1,   188,    -1,        -1,   282,    -1,   278,    -1,   282,    -1,   282,    -1,   299,
565       189,    -1,   190,    -1,   191,    -1,   192,    -1,   193,    -1,        -1,   278,    -1,   282,    -1,   282,    -1,   282,    -1,   282,
566       194,    -1,   195,    -1,   196,    -1,   197,    -1,   198,    -1,        -1,   279,    -1,   282,    -1,   282,    -1,   282,    -1,   282,
567       199,    -1,   200,    -1,   201,    -1,   202,    -1,   203,    -1,        -1,   278,    -1,   285,    -1,   285,    -1,   285,    -1,   285,
568       204,    -1,   205,    -1,   206,    -1,   207,    -1,   208,    -1,        -1,   285,    -1,   285,    -1,   276,    -1,   275,     5,   276,
569       209,    -1,   210,    -1,   211,    -1,   212,    -1,   213,    -1,        -1,   278,    -1,   285,    -1,   282,    -1,   279,    -1,   282,
570       214,    -1,   215,    -1,   216,    -1,   217,    -1,   218,    -1,        -1,   278,    -1,   283,    -1,   278,   283,    -1,   280,     6,
571       219,    -1,   220,    -1,   221,    -1,   222,    -1,   223,    -1,       280,    -1,     7,   280,     6,   280,    -1,     8,   280,     6,
572       267,    -1,   259,    -1,   265,   267,    -1,   265,   259,    -1,       280,    -1,   281,    -1,   280,   281,    -1,     9,    -1,    10,
573         6,   265,     6,    -1,     7,   265,     7,    -1,   224,    -1,        -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,
574       225,    -1,   226,    -1,    21,    24,    24,    -1,    27,    25,        -1,    16,    -1,    17,    -1,    18,    -1,   281,    -1,    10,
575        40,    -1,    23,    38,    25,    21,    40,    25,    -1,    24,       280,    -1,    11,   280,    -1,    12,   280,    -1,    13,   280,
576        25,    39,    40,    38,    35,    45,    -1,    32,    29,    39,        -1,    14,   280,    -1,    15,   280,    -1,    16,   280,    -1,
577        40,    -1,    32,    35,    21,    24,    -1,    21,    32,    32,        17,   280,    -1,    18,   280,    -1,    19,    -1,    20,    -1,
578        -1,    34,    35,    34,    91,    33,    35,    24,    21,    32,        21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
579        -1,    38,    25,    33,    35,    42,    25,    -1,    39,    25,        26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,
580        40,    -1,    39,    41,    22,    39,    23,    38,    29,    22,        31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,
581        25,    -1,    41,    34,    39,    41,    22,    39,    23,    38,        36,    -1,    37,    -1,    38,    -1,    39,    -1,    40,    -1,
582        29,    22,    25,    -1,    39,    25,    32,    25,    23,    40,        41,    -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1,
583        -1,    23,    28,    21,    34,    34,    25,    32,    -1,    21,        46,    -1,    47,    -1,    48,    -1,    49,    -1,    50,    -1,
584        42,    21,    29,    32,    21,    22,    32,    25,    91,    25,        51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,
585        34,    27,    29,    34,    25,    39,    -1,    21,    42,    21,        56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,
586        29,    32,    21,    22,    32,    25,    91,    21,    41,    24,        61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,
587        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,        66,    -1,    67,    -1,    68,    -1,    69,    -1,    70,    -1,
588        24,    38,    29,    42,    25,    38,    39,    -1,    23,    28,         9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,
589        21,    34,    34,    25,    32,    39,    -1,    29,    34,    26,        14,    -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,
590        35,    -1,    23,    28,    21,    34,    34,    25,    32,    91,        71,    -1,     3,    -1,    72,    -1,    73,    -1,    74,    -1,
591        23,    35,    41,    34,    40,    -1,    23,    28,    21,    34,        75,    -1,    76,    -1,    77,    -1,     7,    -1,     8,    -1,
592        34,    25,    32,    91,    29,    34,    26,    35,    -1,    22,         6,    -1,     5,    -1,    78,    -1,    79,    -1,    80,    -1,
593        41,    26,    26,    25,    38,    91,    26,    29,    32,    32,        81,    -1,     4,    -1,    82,    -1,    83,    -1,    84,    -1,
594        -1,    39,    40,    38,    25,    21,    33,    91,    23,    35,        85,    -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,
595        41,    34,    40,    -1,    42,    35,    29,    23,    25,    91,        90,    -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,
596        23,    35,    41,    34,    40,    -1,    29,    34,    39,    40,        95,    -1,    96,    -1,    97,    -1,    98,    -1,    99,    -1,
597        38,    41,    33,    25,    34,    40,    -1,    25,    34,    27,       100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,
598        29,    34,    25,    -1,    21,    41,    24,    29,    35,    91,       105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,    -1,
599        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,       110,    -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,
600        29,    23,    25,    91,    36,    21,    38,    21,    33,    25,       115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,    -1,
601        40,    25,    38,    -1,    21,    41,    24,    29,    35,    91,       120,    -1,   121,    -1,   122,    -1,   123,    -1,   124,    -1,
602        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,       125,    -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,
603        29,    23,    25,    39,    -1,    21,    41,    24,    29,    35,       130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    -1,
604        91,    35,    41,    40,    36,    41,    40,    91,    24,    25,       135,    -1,   136,    -1,   137,    -1,   138,    -1,   139,    -1,
605        42,    29,    23,    25,    -1,    21,    41,    24,    29,    35,       140,    -1,   141,    -1,   142,    -1,   143,    -1,   144,    -1,
606        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,       145,    -1,   146,    -1,   147,    -1,   148,    -1,   149,    -1,
607        29,    42,    25,    38,    91,    36,    21,    38,    21,    33,       150,    -1,   151,    -1,   152,    -1,   153,    -1,   154,    -1,
608        25,    40,    25,    38,    -1,    21,    41,    24,    29,    35,       155,    -1,   156,    -1,   157,    -1,   158,    -1,   159,    -1,
609        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,       160,    -1,   161,    -1,   162,    -1,   163,    -1,   164,    -1,
610        29,    42,    25,    38,    -1,    21,    41,    24,    29,    35,       165,    -1,   166,    -1,   167,    -1,   168,    -1,   169,    -1,
611        91,    35,    41,    40,    36,    41,    40,    91,    23,    28,       170,    -1,   171,    -1,   172,    -1,   173,    -1,   174,    -1,
612        21,    34,    34,    25,    32,    91,    36,    21,    38,    21,       175,    -1,   176,    -1,   177,    -1,   178,    -1,   179,    -1,
613        33,    25,    40,    25,    38,    -1,    21,    41,    24,    29,       180,    -1,   181,    -1,   182,    -1,   183,    -1,   184,    -1,
614        35,    91,    35,    41,    40,    36,    41,    40,    91,    23,       185,    -1,   186,    -1,   187,    -1,   188,    -1,   189,    -1,
615        28,    21,    34,    34,    25,    32,    -1,    21,    41,    24,       190,    -1,   191,    -1,   192,    -1,   193,    -1,   194,    -1,
616        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,       195,    -1,   196,    -1,   197,    -1,   198,    -1,   199,    -1,
617        40,    45,    36,    25,    -1,    21,    42,    21,    29,    32,       200,    -1,   201,    -1,   202,    -1,   203,    -1,   204,    -1,
618        21,    22,    32,    25,    91,    33,    29,    24,    29,    91,       205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,
619        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,       210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,
620        25,    38,    39,    -1,    33,    29,    24,    29,    91,    29,       215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,
621        34,    36,    41,    40,    91,    24,    25,    42,    29,    23,       220,    -1,   221,    -1,   286,    -1,   278,    -1,   284,   286,
622        25,    91,    36,    21,    38,    21,    33,    25,    40,    25,        -1,   284,   278,    -1,   222,   284,   222,    -1,   223,   284,
623        38,    -1,    33,    29,    24,    29,    91,    29,    34,    36,       223,    -1,   224,    -1,   225,    -1,   226,    -1,    19,    22,
624        41,    40,    91,    36,    35,    38,    40,    91,    36,    21,        22,    -1,    25,    23,    38,    -1,    31,    19,    34,    -1,
625        38,    21,    33,    25,    40,    25,    38,    -1,    33,    29,        39,    32,    31,    19,    34,    -1,    21,    30,    23,    19,
626        24,    29,    91,    29,    34,    36,    41,    40,    91,    24,        36,    -1,    31,    33,    40,    23,    -1,    21,    36,    23,
627        25,    42,    29,    23,    25,    39,    -1,    33,    29,    24,        19,    38,    23,    -1,    22,    23,    37,    38,    36,    33,
628        29,    91,    29,    34,    36,    41,    40,    91,    24,    25,        43,    -1,    30,    27,    37,    38,    -1,    30,    33,    19,
629        42,    29,    23,    25,    -1,    33,    29,    24,    29,    91,        22,    -1,    19,    30,    30,    -1,    32,    33,    32,    23,
630        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,        -1,    22,    23,    24,    19,    39,    30,    38,    -1,    32,
631        25,    38,    91,    36,    21,    38,    21,    33,    25,    40,        33,    32,    89,    31,    33,    22,    19,    30,    -1,    36,
632        25,    38,    -1,    33,    29,    24,    29,    91,    29,    34,        23,    31,    33,    40,    23,    -1,    37,    23,    38,    -1,
633        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,        37,    39,    20,    37,    21,    36,    27,    20,    23,    -1,
634        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,        39,    32,    37,    39,    20,    37,    21,    36,    27,    20,
635        40,    91,    36,    35,    38,    40,    -1,    33,    29,    24,        23,    -1,    21,    26,    19,    32,    32,    23,    30,    -1,
636        29,    91,    29,    34,    36,    41,    40,    91,    23,    28,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
637        21,    34,    34,    25,    32,    -1,    33,    29,    24,    29,        23,    32,    25,    27,    32,    23,    37,    -1,    19,    40,
638        91,    29,    34,    36,    41,    40,    91,    40,    45,    36,        19,    27,    30,    19,    20,    30,    23,    89,    19,    39,
639        25,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
640        41,    40,    -1,    39,    25,    38,    42,    25,    38,    -1,        89,    22,    36,    27,    40,    23,    36,    37,    -1,    21,
641        42,    35,    32,    41,    33,    25,    -1,    22,    45,    40,        26,    19,    32,    32,    23,    30,    37,    -1,    27,    32,
642        25,    39,    -1,    36,    25,    38,    23,    25,    34,    40,        24,    33,    -1,    19,    39,    22,    27,    33,    89,    33,
643        21,    27,    25,    -1,    38,    25,    39,    25,    40,    -1,        39,    38,    34,    39,    38,    89,    22,    23,    40,    27,
644        33,    29,    39,    23,    25,    32,    32,    21,    34,    25,        21,    23,    89,    21,    33,    39,    32,    38,    -1,    19,
645        35,    41,    39,    -1,    25,    23,    28,    35,    -1,    37,        39,    22,    27,    33,    89,    33,    39,    38,    34,    39,
646        41,    29,    40,    -1        38,    89,    22,    23,    40,    27,    21,    23,    89,    27,
647          32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
648          32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
649          23,    89,    21,    33,    39,    32,    38,    -1,    31,    27,
650          22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
651          23,    40,    27,    21,    23,    89,    27,    32,    24,    33,
652          -1,    31,    27,    22,    27,    89,    27,    32,    37,    38,
653          36,    39,    31,    23,    32,    38,    89,    31,    19,    34,
654          89,    21,    33,    39,    32,    38,    -1,    31,    27,    22,
655          27,    89,    27,    32,    37,    38,    36,    39,    31,    23,
656          32,    38,    89,    31,    19,    34,    89,    27,    32,    24,
657          33,    -1,    31,    27,    22,    27,    89,    27,    32,    37,
658          38,    36,    39,    31,    23,    32,    38,    89,    21,    33,
659          39,    32,    38,    -1,    31,    27,    22,    27,    89,    27,
660          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
661          27,    32,    24,    33,    -1,    22,    20,    89,    27,    32,
662          37,    38,    36,    39,    31,    23,    32,    38,    89,    22,
663          27,    36,    23,    21,    38,    33,    36,    43,    89,    21,
664          33,    39,    32,    38,    -1,    22,    20,    89,    27,    32,
665          37,    38,    36,    39,    31,    23,    32,    38,    89,    22,
666          27,    36,    23,    21,    38,    33,    36,    43,    89,    27,
667          32,    24,    33,    -1,    22,    20,    89,    27,    32,    37,
668          38,    36,    39,    31,    23,    32,    38,    89,    21,    33,
669          39,    32,    38,    -1,    22,    20,    89,    27,    32,    37,
670          38,    36,    39,    31,    23,    32,    38,    89,    27,    32,
671          24,    33,    -1,    21,    26,    19,    32,    32,    23,    30,
672          89,    21,    33,    39,    32,    38,    -1,    21,    26,    19,
673          32,    32,    23,    30,    89,    27,    32,    24,    33,    -1,
674          24,    42,    89,    37,    23,    32,    22,    89,    21,    33,
675          39,    32,    38,    -1,    24,    42,    89,    37,    23,    32,
676          22,    89,    27,    32,    24,    33,    -1,    20,    39,    24,
677          24,    23,    36,    89,    24,    27,    30,    30,    -1,    37,
678          38,    36,    23,    19,    31,    89,    21,    33,    39,    32,
679          38,    -1,    40,    33,    27,    21,    23,    89,    21,    33,
680          39,    32,    38,    -1,    38,    33,    38,    19,    30,    89,
681          40,    33,    27,    21,    23,    89,    21,    33,    39,    32,
682          38,    -1,    38,    33,    38,    19,    30,    89,    40,    33,
683          27,    21,    23,    89,    21,    33,    39,    32,    38,    89,
684          31,    19,    42,    -1,    25,    30,    33,    20,    19,    30,
685          89,    27,    32,    24,    33,    -1,    27,    32,    37,    38,
686          36,    39,    31,    23,    32,    38,    -1,    23,    32,    25,
687          27,    32,    23,    -1,    33,    32,    89,    22,    23,    31,
688          19,    32,    22,    -1,    33,    32,    89,    22,    23,    31,
689          19,    32,    22,    89,    26,    33,    30,    22,    -1,    34,
690          23,    36,    37,    27,    37,    38,    23,    32,    38,    -1,
691          19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
692          39,    38,    89,    22,    23,    40,    27,    21,    23,    89,
693          34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,
694          19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
695          39,    38,    89,    22,    23,    40,    27,    21,    23,    37,
696          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
697          34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
698          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
699          34,    39,    38,    89,    22,    36,    27,    40,    23,    36,
700          89,    34,    19,    36,    19,    31,    23,    38,    23,    36,
701          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
702          34,    39,    38,    89,    22,    36,    27,    40,    23,    36,
703          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
704          34,    39,    38,    89,    21,    26,    19,    32,    32,    23,
705          30,    89,    34,    19,    36,    19,    31,    23,    38,    23,
706          36,    -1,    19,    39,    22,    27,    33,    89,    33,    39,
707          38,    34,    39,    38,    89,    21,    26,    19,    32,    32,
708          23,    30,    -1,    19,    39,    22,    27,    33,    89,    33,
709          39,    38,    34,    39,    38,    89,    38,    43,    34,    23,
710          -1,    19,    40,    19,    27,    30,    19,    20,    30,    23,
711          89,    31,    27,    22,    27,    89,    27,    32,    34,    39,
712          38,    89,    22,    36,    27,    40,    23,    36,    37,    -1,
713          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
714          89,    22,    23,    40,    27,    21,    23,    89,    34,    19,
715          36,    19,    31,    23,    38,    23,    36,    -1,    31,    27,
716          22,    27,    89,    27,    32,    34,    39,    38,    89,    34,
717          33,    36,    38,    89,    34,    19,    36,    19,    31,    23,
718          38,    23,    36,    -1,    31,    27,    22,    27,    89,    27,
719          32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
720          23,    37,    -1,    31,    27,    22,    27,    89,    27,    32,
721          34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
722          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
723          38,    89,    22,    36,    27,    40,    23,    36,    89,    34,
724          19,    36,    19,    31,    23,    38,    23,    36,    -1,    31,
725          27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
726          31,    23,    32,    38,    -1,    31,    27,    22,    27,    89,
727          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
728          37,    -1,    31,    27,    22,    27,    89,    27,    32,    37,
729          38,    36,    39,    31,    23,    32,    38,    89,    31,    19,
730          34,    -1,    31,    27,    22,    27,    89,    27,    32,    37,
731          38,    36,    39,    31,    23,    32,    38,    89,    31,    19,
732          34,    37,    -1,    31,    27,    22,    27,    89,    27,    32,
733          34,    39,    38,    89,    22,    36,    27,    40,    23,    36,
734          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
735          38,    89,    34,    33,    36,    38,    -1,    31,    27,    22,
736          27,    89,    27,    32,    34,    39,    38,    89,    21,    26,
737          19,    32,    32,    23,    30,    -1,    31,    27,    22,    27,
738          89,    27,    32,    34,    39,    38,    89,    38,    43,    34,
739          23,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
740          39,    38,    -1,    31,    27,    22,    27,    89,    21,    33,
741          32,    38,    36,    33,    30,    30,    23,    36,    -1,    24,
742          42,    89,    37,    23,    32,    22,    -1,    24,    42,    89,
743          37,    23,    32,    22,    37,    -1,    22,    20,    89,    27,
744          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
745          22,    27,    36,    23,    21,    38,    33,    36,    43,    -1,
746          22,    20,    89,    27,    32,    37,    38,    36,    39,    31,
747          23,    32,    38,    89,    22,    27,    36,    23,    21,    38,
748          33,    36,    27,    23,    37,    -1,    22,    20,    89,    27,
749          32,    37,    38,    36,    39,    31,    23,    32,    38,    37,
750          -1,    22,    20,    89,    27,    32,    37,    38,    36,    39,
751          31,    23,    32,    38,    -1,    22,    23,    37,    21,    36,
752          27,    34,    38,    27,    33,    32,    -1,    24,    33,    36,
753          21,    23,    -1,    24,    30,    19,    38,    -1,    32,    33,
754          32,    89,    36,    23,    21,    39,    36,    37,    27,    40,
755          23,    -1,    37,    23,    36,    40,    23,    36,    -1,    40,
756          33,    30,    39,    31,    23,    -1,    30,    23,    40,    23,
757          30,    -1,    31,    39,    38,    23,    -1,    37,    33,    30,
758          33,    -1,    20,    43,    38,    23,    37,    -1,    34,    23,
759          36,    21,    23,    32,    38,    19,    25,    23,    -1,    36,
760          23,    37,    23,    38,    -1,    31,    27,    37,    21,    23,
761          30,    30,    19,    32,    23,    33,    39,    37,    -1,    32,
762          19,    31,    23,    -1,    23,    21,    26,    33,    -1,    35,
763          39,    27,    38,    -1
764  };  };
765    
766  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
767  static const unsigned short int yyrline[] =  static const yytype_uint16 yyrline[] =
768  {  {
769         0,    90,    90,    91,    94,    95,    96,    97,   100,   101,         0,    97,    97,    98,   101,   102,   103,   104,   107,   108,
770       102,   103,   104,   107,   108,   109,   110,   111,   112,   113,       109,   110,   111,   114,   115,   116,   117,   118,   119,   120,
771       114,   115,   116,   117,   118,   119,   120,   123,   124,   125,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
772       126,   127,   128,   131,   132,   133,   134,   135,   136,   139,       133,   134,   135,   136,   137,   138,   139,   140,   143,   144,
773       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
774       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
775       160,   161,   162,   165,   166,   167,   168,   169,   170,   173,       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
776       174,   175,   176,   179,   180,   183,   184,   187,   188,   189,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
777       190,   191,   192,   193,   194,   195,   198,   199,   202,   203,       187,   188,   191,   192,   193,   194,   197,   200,   201,   202,
778       206,   207,   208,   209,   210,   211,   214,   215,   218,   221,       203,   204,   205,   208,   209,   210,   211,   212,   213,   214,
779       224,   227,   230,   233,   234,   237,   240,   241,   244,   247,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
780       250,   253,   256,   257,   260,   261,   262,   263,   264,   272,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
781       273,   276,   277,   280,   281,   282,   286,   287,   290,   291,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
782       292,   293,   294,   295,   296,   297,   298,   299,   302,   303,       245,   248,   249,   250,   251,   252,   253,   254,   255,   256,
783       304,   305,   306,   307,   308,   309,   310,   311,   313,   313,       257,   258,   259,   260,   261,   262,   263,   266,   267,   268,
784       313,   313,   313,   313,   313,   313,   313,   313,   313,   313,       269,   270,   271,   274,   277,   278,   281,   282,   285,   286,
785       313,   313,   313,   313,   313,   313,   313,   313,   313,   313,       287,   290,   291,   294,   295,   296,   297,   298,   299,   300,
786       313,   313,   313,   313,   314,   314,   314,   314,   314,   314,       301,   302,   303,   304,   305,   306,   307,   310,   311,   314,
787       314,   314,   314,   314,   314,   314,   314,   314,   314,   314,       315,   318,   319,   322,   323,   324,   325,   326,   327,   328,
788       314,   314,   314,   314,   314,   314,   314,   314,   314,   314,       329,   330,   331,   332,   333,   336,   337,   340,   343,   344,
789       315,   315,   315,   315,   315,   315,   315,   315,   315,   315,       345,   348,   351,   354,   357,   360,   361,   364,   367,   370,
790       316,   316,   316,   316,   316,   316,   316,   316,   316,   316,       373,   376,   379,   380,   383,   386,   389,   392,   395,   398,
791       316,   316,   316,   317,   317,   317,   317,   317,   317,   317,       401,   404,   407,   410,   413,   414,   417,   418,   419,   420,
792       318,   318,   318,   318,   318,   319,   319,   319,   319,   320,       428,   429,   432,   433,   436,   437,   438,   442,   443,   446,
793       320,   320,   321,   321,   321,   322,   322,   322,   323,   323,       447,   448,   449,   450,   451,   452,   453,   454,   455,   458,
794       323,   324,   324,   324,   325,   325,   325,   326,   326,   326,       459,   460,   461,   462,   463,   464,   465,   466,   467,   469,
795       327,   327,   327,   328,   328,   328,   329,   329,   329,   330,       469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
796       330,   330,   331,   331,   331,   332,   332,   332,   333,   333,       469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
797       333,   334,   334,   334,   335,   335,   335,   336,   336,   336,       469,   469,   469,   469,   469,   470,   470,   470,   470,   470,
798       337,   337,   337,   338,   338,   338,   339,   339,   339,   340,       470,   470,   470,   470,   470,   470,   470,   470,   470,   470,
799       340,   340,   341,   341,   341,   342,   342,   342,   343,   343,       470,   470,   470,   470,   470,   470,   470,   470,   470,   470,
800       343,   344,   344,   344,   345,   345,   345,   346,   346,   346,       470,   471,   471,   471,   471,   471,   471,   471,   471,   471,
801       347,   347,   347,   348,   348,   348,   349,   349,   349,   350,       471,   472,   472,   472,   472,   472,   472,   472,   472,   472,
802       350,   350,   351,   351,   351,   352,   352,   352,   353,   353,       472,   472,   472,   472,   473,   473,   473,   473,   473,   473,
803       353,   354,   354,   354,   355,   355,   355,   356,   356,   356,       473,   474,   474,   474,   474,   474,   475,   475,   475,   475,
804       357,   357,   357,   358,   358,   358,   359,   359,   359,   360,       476,   476,   476,   477,   477,   477,   478,   478,   478,   479,
805       360,   360,   361,   361,   361,   362,   362,   365,   366,   367,       479,   479,   480,   480,   480,   481,   481,   481,   482,   482,
806       368,   371,   372,   378,   381,   384,   387,   390,   393,   396,       482,   483,   483,   483,   484,   484,   484,   485,   485,   485,
807       399,   402,   405,   408,   411,   414,   417,   420,   423,   426,       486,   486,   486,   487,   487,   487,   488,   488,   488,   489,
808       429,   432,   435,   438,   441,   444,   447,   450,   453,   456,       489,   489,   490,   490,   490,   491,   491,   491,   492,   492,
809       459,   462,   465,   468,   471,   474,   477,   480,   483,   486,       492,   493,   493,   493,   494,   494,   494,   495,   495,   495,
810       489,   492,   495,   498,   501,   504,   507,   510,   513,   516,       496,   496,   496,   497,   497,   497,   498,   498,   498,   499,
811       519,   522,   525,   528,   531,   534,   537,   540       499,   499,   500,   500,   500,   501,   501,   501,   502,   502,
812         502,   503,   503,   503,   504,   504,   504,   505,   505,   505,
813         506,   506,   506,   507,   507,   507,   508,   508,   508,   509,
814         509,   509,   510,   510,   510,   511,   511,   511,   512,   512,
815         512,   513,   513,   513,   514,   514,   514,   515,   515,   515,
816         516,   516,   516,   517,   517,   517,   518,   518,   521,   522,
817         523,   524,   527,   528,   534,   537,   540,   543,   546,   549,
818         552,   555,   558,   561,   564,   567,   570,   573,   576,   579,
819         582,   585,   588,   591,   594,   597,   600,   603,   606,   609,
820         612,   615,   618,   621,   624,   627,   630,   633,   636,   639,
821         642,   645,   648,   651,   654,   657,   660,   663,   666,   669,
822         672,   675,   678,   681,   684,   687,   690,   693,   696,   699,
823         702,   705,   708,   711,   714,   717,   720,   723,   726,   729,
824         732,   735,   738,   741,   744,   747,   750,   753,   756,   759,
825         762,   765,   768,   771,   774,   777,   780,   783,   786,   789,
826         792,   795,   798,   801,   804,   807,   810,   813,   816,   819,
827         822,   825,   828
828  };  };
829  #endif  #endif
830    
831  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
832  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
833     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
834  static const char *const yytname[] =  static const char *const yytname[] =
835  {  {
836    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
837    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
838    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
839    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
840    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
841    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
842    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
843    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
844    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
845    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
846    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
847    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
848    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
849    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
850    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
851    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
852    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
853    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
854    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
855    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
856    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
857    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
858    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
859    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
860    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
861    "$accept", "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
862    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
863    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
864    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
865    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
866    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
867    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
868    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
869    "instrument_index", "engine_name", "filename", "param_val_list",    "map_instruction", "unmap_instruction", "remove_instruction",
870      "get_instruction", "set_instruction", "create_instruction",
871      "reset_instruction", "clear_instruction", "move_instruction",
872      "destroy_instruction", "load_instruction", "set_chan_instruction",
873      "modal_arg", "key_val_list", "buffer_size_type", "list_instruction",
874      "load_instr_args", "load_engine_args", "instr_load_mode", "device_index",
875      "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
876      "midi_input_channel_index", "midi_input_type_name", "midi_map",
877      "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
878      "instrument_index", "fx_send_id", "engine_name", "pathname", "dirname",
879      "filename", "map_name", "entry_name", "fx_send_name", "param_val_list",
880    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",
881    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP",
882    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",    "UNMAP", "CLEAR", "MOVE", "CREATE", "DESTROY", "LIST", "LOAD", "ALL",
883    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "NONE", "DEFAULT", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
884    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",    "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",
885    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO",
886    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_DEVICE_PARAMETER",    "AUDIO_OUTPUT_DEVICE_COUNT", "AUDIO_OUTPUT_DEVICE_INFO",
887    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE",    "MIDI_INPUT_DEVICE_COUNT", "MIDI_INPUT_DEVICE_INFO",
888    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",    "MIDI_INSTRUMENT_MAP_COUNT", "MIDI_INSTRUMENT_MAP_INFO",
889    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",    "MIDI_INSTRUMENT_COUNT", "MIDI_INSTRUMENT_INFO",
890    "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",    "DB_INSTRUMENT_DIRECTORY_COUNT", "DB_INSTRUMENT_DIRECTORY_INFO",
891    "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",    "DB_INSTRUMENT_COUNT", "DB_INSTRUMENT_INFO", "CHANNEL_COUNT",
892    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",    "CHANNEL_INFO", "FX_SEND_COUNT", "FX_SEND_INFO", "BUFFER_FILL",
893    "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",    "STREAM_COUNT", "VOICE_COUNT", "TOTAL_VOICE_COUNT",
894    "MIDI_INPUT_TYPE", "MIDI_INPUT", "SERVER", "VOLUME", "BYTES",    "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO", "INSTRUMENT", "ENGINE",
895    "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
896      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
897      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
898      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
899      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
900      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
901      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
902      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
903      "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
904      "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
905      "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "DB_INSTRUMENT_DIRECTORY",
906      "DB_INSTRUMENT_DIRECTORIES", "DB_INSTRUMENTS", "DB_INSTRUMENT",
907      "DESCRIPTION", "FORCE", "FLAT", "NON_RECURSIVE", "SERVER", "VOLUME",
908      "LEVEL", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS",
909      "NAME", "ECHO", "QUIT", 0
910  };  };
911  #endif  #endif
912    
913  # ifdef YYPRINT  # ifdef YYPRINT
914  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
915     token YYLEX-NUM.  */     token YYLEX-NUM.  */
916  static const unsigned short int yytoknum[] =  static const yytype_uint16 yytoknum[] =
917  {  {
918         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
919        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
920        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
921        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
922        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
923       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
924       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
925       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
926        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
927        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
928       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
929       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
930       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
931       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
932       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
933       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
934       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
935       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
936       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
937       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
938       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
939       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
940       252,   253,   254,   255,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
941  };  };
942  # endif  # endif
943    
944  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
945  static const unsigned short int yyr1[] =  static const yytype_uint16 yyr1[] =
946  {  {
947         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
948       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
949       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
950       232,   232,   232,   233,   233,   233,   233,   233,   233,   234,       232,   232,   232,   232,   232,   232,   232,   232,   233,   233,
951         233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
952         233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
953       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
954       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
955       234,   234,   234,   235,   235,   235,   235,   235,   235,   236,       234,   234,   235,   235,   235,   235,   236,   237,   237,   237,
956       236,   236,   236,   237,   237,   238,   238,   239,   239,   239,       237,   237,   237,   238,   238,   238,   238,   238,   238,   238,
957       239,   239,   239,   239,   239,   239,   240,   240,   241,   241,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
958       242,   242,   242,   242,   242,   242,   243,   243,   244,   245,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
959       246,   247,   248,   249,   249,   250,   251,   251,   252,   253,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
960       254,   255,   256,   256,   257,   257,   257,   257,   257,   258,       238,   239,   239,   239,   239,   239,   239,   239,   239,   239,
961       258,   259,   259,   260,   260,   260,   261,   261,   262,   262,       239,   239,   239,   239,   239,   239,   239,   240,   240,   240,
962       262,   262,   262,   262,   262,   262,   262,   262,   263,   263,       240,   240,   240,   241,   242,   242,   243,   243,   244,   244,
963       263,   263,   263,   263,   263,   263,   263,   263,   264,   264,       244,   245,   245,   246,   246,   246,   246,   246,   246,   246,
964       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       246,   246,   246,   246,   246,   246,   246,   247,   247,   248,
965       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       248,   249,   249,   250,   250,   250,   250,   250,   250,   250,
966       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       250,   250,   250,   250,   250,   251,   251,   252,   253,   253,
967       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       253,   254,   255,   256,   257,   258,   258,   259,   260,   261,
968       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       262,   263,   264,   264,   265,   266,   267,   268,   269,   270,
969       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       271,   272,   273,   274,   275,   275,   276,   276,   276,   276,
970       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       277,   277,   278,   278,   279,   279,   279,   280,   280,   281,
971       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       281,   281,   281,   281,   281,   281,   281,   281,   281,   282,
972       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       282,   282,   282,   282,   282,   282,   282,   282,   282,   283,
973       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
974       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
975       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
976       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
977       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
978       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
979       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
980       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
981       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
982       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
983       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
984       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
985       264,   264,   264,   264,   264,   264,   264,   265,   265,   265,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
986       265,   266,   266,   267,   268,   269,   270,   271,   272,   273,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
987       274,   275,   276,   277,   278,   279,   280,   281,   282,   283,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
988       284,   285,   286,   287,   288,   289,   290,   291,   292,   293,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
989       294,   295,   296,   297,   298,   299,   300,   301,   302,   303,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
990       304,   305,   306,   307,   308,   309,   310,   311,   312,   313,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
991       314,   315,   316,   317,   318,   319,   320,   321       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
992         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
993         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
994         283,   283,   283,   283,   283,   283,   283,   283,   284,   284,
995         284,   284,   285,   285,   286,   287,   288,   289,   290,   291,
996         292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
997         302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
998         312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
999         322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
1000         332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
1001         342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1002         352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
1003         362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
1004         372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
1005         382,   383,   384
1006  };  };
1007    
1008  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1009  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
1010  {  {
1011         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
1012         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
1013         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
1014           1,     3,     7,     7,     5,     7,     1,     3,     1,     1,
1015           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1016           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1017           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1018           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1019           1,     1,    16,    18,    18,    20,     7,     3,     3,     3,
1020           5,     3,     3,     1,     1,     5,     7,     9,     1,     5,
1021           7,     9,     1,     1,     5,     5,     7,     9,     7,     9,
1022           1,     5,     7,     5,     5,     5,     3,     1,     1,     3,
1023           3,     9,     1,     5,     3,     7,     3,     5,     3,     5,
1024           1,     7,     9,     7,     9,     3,     7,     9,    11,     9,
1025           9,     7,     7,     7,     7,     3,     3,     5,     3,     5,
1026           3,     5,     7,     3,     3,     3,     5,     5,     3,     3,
1027           5,     3,     3,     5,     7,     5,     9,     5,     5,     5,
1028           5,     5,     5,     5,     5,     5,     5,     0,     2,     3,
1029           5,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1030           3,     1,     3,     3,     3,     5,     7,     3,     1,     1,
1031           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1032         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1033         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,         1,     1,     1,     1,     1,     3,     1,     1,     1,     1,
1034         5,     5,     7,     9,     7,     9,     1,     5,     7,     5,         1,     1,     1,     2,     3,     4,     4,     1,     2,     1,
        5,     5,     3,     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,  
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,     3,     1,     3,     3,     1,     1,     1,         2,     2,     2,     2,     2,     2,     2,     2,     2,     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,  
1037         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1038         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1039         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 727  static const unsigned char yyr2[] = Line 1055  static const unsigned char yyr2[] =
1055         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     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,     2,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1059         2,     3,     3,     1,     1,     1,     3,     3,     6,     7,         2,     2,     3,     3,     1,     1,     1,     3,     3,     3,
1060         4,     4,     3,     9,     6,     3,     9,    11,     6,     7,         5,     5,     4,     6,     7,     4,     4,     3,     4,     7,
1061        17,    30,     8,     4,    13,    12,    11,    12,    11,    10,         9,     6,     3,     9,    11,     7,    17,    30,     8,     4,
1062         6,    29,    20,    19,    29,    19,    30,    20,    17,    28,        25,    24,    23,    22,    25,    24,    21,    20,    29,    28,
1063        27,    25,    18,    17,    27,    17,    15,    18,    15,    10,        19,    18,    13,    12,    13,    12,    11,    12,    11,    17,
1064         6,     6,     5,    10,     5,    13,     4,     4        21,    11,    10,     6,     9,    14,    10,    29,    20,    19,
1065          29,    19,    30,    20,    17,    28,    27,    25,    18,    17,
1066          27,    15,    16,    19,    20,    17,    15,    18,    15,    10,
1067          15,     7,     8,    23,    25,    14,    13,    11,     5,     4,
1068          13,     6,     6,     5,     4,     4,     5,    10,     5,    13,
1069           4,     4,     4
1070  };  };
1071    
1072  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1073     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1074     means the default is an error.  */     means the default is an error.  */
1075  static const unsigned short int yydefact[] =  static const yytype_uint16 yydefact[] =
1076  {  {
1077         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1078         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
1079         0,     0,     0,     0,     0,     0,     0,    25,    26,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1080           0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
1081           0,     0,     0,     0,     0,     0,     0,     1,   485,   486,
1082           2,     0,     9,   337,   332,   331,   329,   330,   239,   240,
1083         241,   242,   243,   244,   245,   246,   247,   248,   259,   260,
1084         261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1085         271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
1086         281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1087         291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
1088         301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
1089         321,   323,   324,   325,   326,   327,   328,   333,   334,   335,
1090         336,   338,   339,   340,   341,   342,   343,   344,   345,   346,
1091         347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
1092         357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
1093         367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
1094         377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1095         387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
1096         397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
1097         407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
1098         417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
1099         427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
1100         437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
1101         447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1102         457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1103         467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
1104         477,   484,    12,   249,    11,   232,    10,     0,     0,     0,
1105           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1106           0,     0,   487,     0,     0,     0,   488,     0,     0,   489,
1107           0,     0,     0,     0,   502,     0,     0,     0,     3,   239,
1108         240,   241,   242,   243,   244,   245,   246,   247,   248,   250,
1109         237,   251,   252,   253,   254,   255,   256,   257,   258,   322,
1110         311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
1111         233,     0,     0,     0,    13,    30,    36,     0,     0,     0,
1112           0,     0,     0,     0,     0,     0,     0,     0,    16,     0,
1113          93,    98,   110,   117,   118,     0,   102,     0,     0,     0,
1114           0,     0,    94,     0,   103,     0,     0,     0,     0,     0,
1115         122,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1116         130,     0,    14,     0,    15,     0,     0,    26,     0,     0,
1117          27,     0,     0,     0,     0,     0,    17,     0,     0,     0,
1118          18,     0,     0,     0,     0,     0,     0,     0,     0,    19,
1119         186,   188,   185,   183,   187,   184,     0,   191,     0,     0,
1120           0,     0,    20,     0,     0,    21,     0,     0,     0,     0,
1121           0,     0,     0,    22,     0,     0,     0,     0,     0,     0,
1122           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1123           0,     0,     0,     0,     0,    23,    38,    39,    40,    41,
1124          49,    50,    51,    52,    53,    54,    55,    56,    42,    46,
1125          47,    48,    45,    44,    43,    58,    59,    57,    24,    60,
1126          61,    62,    63,    71,    72,    73,    74,    75,    76,    77,
1127          78,    64,    68,    69,    70,    67,    66,    65,    80,    81,
1128          79,    25,     0,     0,     0,     0,   495,   496,   492,   582,
1129           0,     0,     0,     0,     0,   238,     0,     0,     0,     0,
1130           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1131           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1132           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1133           0,     0,     0,     0,     0,   177,     0,     0,     0,     0,
1134           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1135           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1136           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1137           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1138           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1139           0,     0,   491,     0,     0,     0,   578,     0,   490,     0,
1140           0,     0,     0,     0,     0,    37,   221,    31,   218,     0,
1141           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1142           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1143           0,     0,     0,     0,     0,     0,     0,     0,     0,   240,
1144         241,   242,   243,   244,   245,   246,   247,   248,     0,   119,
1145         208,   120,     0,     0,     0,     0,   124,   214,     0,   126,
1146         128,     0,   116,     0,     0,     0,     0,     0,     0,   154,
1147         155,     0,     0,     0,     0,     0,     0,   148,   150,     0,
1148         158,   159,     0,     0,     0,     0,     0,     0,   189,   190,
1149         192,   193,   194,     0,   161,     0,   220,     0,   162,     0,
1150         217,    87,    88,    89,     0,    91,     0,    92,     0,     0,
1151           0,     0,     0,     0,   135,     0,     0,     0,     0,     0,
1152         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        1,   374,   375,     2,     0,     9,   226,   221,   220,   218,  
      219,   128,   129,   130,   131,   132,   133,   134,   135,   136,  
      137,   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,   210,   212,   213,   214,   215,   216,   217,  
      222,   223,   224,   225,   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,   282,  
      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,  
      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,  
      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,  
      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,  
      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,  
      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,  
      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,  
      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,  
      363,   364,   365,   366,   373,    12,   138,    11,   121,    10,  
1153         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1154         0,     0,   376,     0,     0,   377,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,   146,   212,     0,
1155         0,     0,   385,     0,     0,     3,   128,   129,   130,   131,       237,   213,   145,   231,   230,     0,     0,     0,     0,     0,
1156       132,   133,   134,   135,   136,   137,   139,   126,   140,   141,         0,     0,     0,     0,     0,     0,   153,   493,     0,   501,
1157       142,   143,   144,   145,   146,   147,   211,   200,   201,   202,         0,     0,     0,     0,     0,   479,     0,   478,     0,     0,
      203,   204,   205,   206,   207,   208,   209,   122,     0,    13,  
        0,     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,     0,    15,     0,     0,  
       16,     0,     0,     0,     0,     0,    17,    93,    95,    92,  
       90,    94,    91,     0,    18,     0,     0,     0,     0,     0,  
        0,    20,     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,   368,    23,   367,  
        0,     0,     0,   380,   381,   427,     0,     0,     0,     0,  
        0,   127,     0,     0,     0,     0,     0,     0,     0,     0,  
1158         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1159         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1160         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1161         0,     0,     0,     0,     0,     0,     0,     0,     0,   370,         0,     0,     0,     0,     0,     0,     0,     0,     0,   178,
      369,     0,     0,     0,     0,   424,     0,     0,     0,     0,  
1162         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1163         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1164         0,     0,    62,     0,     0,    70,    72,   129,   130,   131,         0,     0,     0,     0,   581,     0,     0,     0,     0,     0,
      132,   133,   134,   135,   136,   137,    73,    74,     0,     0,  
        0,     0,     0,     0,     0,    75,     0,   111,     0,    76,  
        0,   110,    19,   108,     0,     0,     0,     0,     0,     0,  
       67,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,    68,   120,   119,     0,     0,     0,  
        0,     0,    24,   378,     0,   384,   388,     0,     0,     0,  
1165         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1166         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1167         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,   426,     0,     0,  
1168         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1169           0,     0,     0,     0,   494,     0,     0,     0,     0,     0,
1170         482,   481,   480,   483,     0,     0,    34,     0,     0,     0,
1171         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1172       379,     0,     0,     0,     0,     0,     0,     0,     0,     0,       111,     0,     0,     0,   181,   182,   113,   114,   115,   104,
1173         0,    57,     0,     0,     0,    88,    89,    59,    60,    61,         0,    99,     0,     0,     0,   105,     0,     0,   497,   123,
1174        50,     0,    45,     0,     0,     0,    51,     0,    41,     0,        95,     0,     0,   127,   129,     0,     0,     0,     0,   209,
1175         0,     0,    69,     0,    71,     0,     0,     0,     0,   371,         0,     0,   156,   157,     0,     0,     0,   147,     0,   149,
1176       372,     0,     0,   109,     0,    98,     0,     0,     0,     0,       151,   211,   160,   216,     0,     0,     0,     0,     0,     0,
1177           0,   215,     0,   197,     0,    90,     0,     0,     0,     0,
1178         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1179         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,   400,     0,   420,   393,     0,  
1180         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1181           0,     0,     0,     0,   234,     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,   569,     0,     0,     0,     0,     0,     0,     0,     0,
1184         533,     0,     0,   571,     0,   572,   509,     0,     0,     0,
1185         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     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,
        0,     0,   386,     0,   389,     0,     0,   389,     0,     0,  
        0,    58,    46,     0,    54,     0,    42,    52,     0,     0,  
        0,     0,     0,   218,   219,    86,   112,   114,   118,     0,  
      126,   117,     0,     0,     0,     0,     0,    96,     0,     0,  
        0,     0,     0,     0,    77,    99,     0,   100,    79,   101,  
       81,    82,   102,     0,    83,   103,   104,    84,   105,     0,  
        0,     0,    85,   106,   107,    63,     0,    65,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,   392,     0,     0,  
1187         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1188           0,     0,     0,   574,   575,     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,   421,     0,     0,     0,     0,     0,     0,         0,   580,     0,     0,     0,     0,     0,     0,     0,     0,
1191         0,     0,     0,     0,   387,     0,     0,     0,   422,     0,         0,     0,     0,     0,     0,   235,   236,     0,     0,     0,
1192        47,    55,    53,    43,     0,     0,    87,   115,   116,     0,         0,     0,     0,     0,     0,     0,     0,     0,   503,     0,
1193         0,   113,   123,     0,     0,     0,     0,    97,     0,     0,       505,     0,     0,     0,    35,    32,    33,     0,     0,   505,
1194         0,     0,    78,   382,     0,    64,    66,     0,     0,     0,         0,   561,     0,     0,     0,     0,   112,   100,     0,   108,
1195         0,     0,     0,     0,     0,     0,     0,     0,     0,   124,         0,    96,     0,   106,   125,     0,     0,     0,    86,   210,
1196       125,     0,     0,   399,     0,     0,     0,     0,     0,     0,         0,     0,     0,   561,     0,     0,   329,   330,   179,   224,
1197         226,   229,   228,   227,   152,   223,     0,     0,     0,     0,
1198           0,     0,   195,     0,   568,     0,     0,     0,     0,   163,
1199         201,     0,   202,   165,   203,   167,     0,     0,   174,   175,
1200         176,   168,   204,   169,   205,   206,   170,   207,     0,   171,
1201         172,   173,   131,     0,   133,     0,   136,     0,   573,     0,
1202           0,     0,     0,     0,     0,   142,   141,   219,   144,   143,
1203         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1204         0,     0,     0,     0,     0,     0,   383,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,   508,     0,   562,
        0,    80,   396,     0,     0,     0,     0,   398,     0,     0,  
1205         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   419,     0,   395,     0,   397,     0,     0,  
1206         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,   394,   425,     0,     0,     0,  
        0,     0,     0,     0,     0,   423,     0,     0,     0,     0,  
1207         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,   416,     0,     0,     0,  
1208         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1209         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1210           0,     0,     0,     0,   504,     0,     0,     0,     0,     0,
1211           0,     0,     0,     0,   576,     0,   101,   109,   107,    97,
1212         121,     0,     0,     0,     0,     0,     0,     0,   180,   225,
1213           0,     0,     0,     0,     0,   196,     0,     0,     0,     0,
1214         164,     0,     0,     0,   132,   134,     0,     0,     0,   139,
1215         140,   137,     0,     0,     0,     0,     0,     0,     0,     0,
1216         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   390,     0,   413,   415,     0,     0,  
      413,     0,     0,     0,     0,     0,     0,     0,     0,   416,  
      418,     0,     0,     0,     0,     0,   412,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,   403,   405,  
        0,     0,     0,     0,   403,     0,     0,     0,     0,     0,  
      408,     0,   407,   402,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,   417,     0,     0,     0,     0,     0,     0,  
1217         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1218         0,   407,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,   532,     0,
1219           0,     0,     0,     0,   498,     0,     0,     0,     0,     0,
1220         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1221         0,     0,     0,   411,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1222         0,     0,     0,     0,     0,     0,     0,   414,     0,   410,         0,     0,     0,     0,     0,     0,     0,   500,     0,     0,
1223         0,     0,     0,   409,     0,     0,   404,     0,   401,   406,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1224       391         0,     0,   166,     0,     0,   138,     0,     0,   526,     0,
1225           0,     0,     0,     0,   531,     0,     0,     0,     0,     0,
1226         528,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1227           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1228           0,     0,     0,     0,     0,     0,     0,     0,   559,     0,
1229           0,     0,     0,     0,     0,   523,     0,     0,   525,     0,
1230           0,     0,   527,     0,     0,     0,     0,     0,     0,     0,
1231           0,   566,     0,     0,     0,     0,     0,     0,     0,     0,
1232           0,   566,     0,     0,     0,     0,     0,     0,     0,     0,
1233           0,     0,     0,   499,     0,     0,   567,     0,   522,     0,
1234         524,     0,     0,   579,     0,   565,     0,     0,     0,     0,
1235           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1236         577,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1237           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1238           0,     0,     0,     0,     0,     0,     0,   570,     0,     0,
1239           0,     0,     0,     0,     0,     0,     0,   556,   551,     0,
1240         551,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1241           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1242           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1243           0,     0,     0,     0,     0,     0,     0,     0,   552,     0,
1244           0,    82,     0,     0,     0,     0,     0,     0,     0,     0,
1245           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1246           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1247         506,     0,     0,   549,   555,     0,     0,   529,     0,     0,
1248         549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1249           0,   556,   558,   560,     0,     0,     0,     0,     0,     0,
1250           0,     0,   529,     0,     0,     0,     0,     0,     0,     0,
1251           0,   548,     0,     0,     0,     0,     0,     0,    83,    84,
1252         222,   198,   199,   200,     0,     0,     0,     0,     0,     0,
1253           0,     0,     0,     0,     0,     0,     0,   521,     0,     0,
1254           0,     0,     0,   553,     0,   539,   541,     0,     0,     0,
1255           0,     0,   553,     0,     0,     0,     0,   539,     0,     0,
1256           0,     0,     0,     0,     0,   544,     0,     0,   520,     0,
1257           0,     0,     0,     0,     0,     0,   543,   538,     0,     0,
1258           0,     0,     0,     0,   554,     0,     0,     0,    85,     0,
1259           0,     0,     0,     0,   557,     0,     0,     0,     0,     0,
1260         517,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1261         530,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1262           0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
1263           0,     0,     0,     0,     0,     0,     0,     0,   543,     0,
1264           0,     0,     0,   513,     0,     0,   563,     0,     0,     0,
1265           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1266           0,   512,     0,     0,     0,     0,     0,     0,     0,     0,
1267           0,     0,     0,     0,     0,     0,   511,     0,     0,   515,
1268           0,     0,     0,     0,   564,     0,   547,     0,     0,     0,
1269           0,   510,     0,     0,   514,     0,     0,     0,     0,     0,
1270         534,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1271         550,     0,   536,     0,   546,     0,     0,     0,     0,     0,
1272         545,     0,     0,     0,   519,     0,   540,     0,     0,   537,
1273         518,   542,   507,     0,   535
1274  };  };
1275    
1276  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1277  static const short int yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1278  {  {
1279        -1,    12,    13,    14,    15,   393,   400,   335,   381,   357,        -1,    13,    14,    15,    16,   344,   465,   488,   392,   394,
1280       360,   374,   540,   662,   644,   366,   525,   529,   794,   796,       435,   358,   443,   406,   511,   397,   400,   410,   432,   744,
1281       798,   801,   804,   807,   812,   532,   672,   530,   526,   775,       695,   987,   953,   419,   724,   728,  1748,  1219,  1221,  1223,
1282       776,   554,   777,   778,   779,   266,   533,   268,   408,   527,      1231,  1233,  1236,   679,   978,  1188,   990,   777,   686,  1000,
1283       720,    43,    44,    16,    17,    18,    19,    20,    21,   806,       992,   729,   637,  1256,   725,   635,  1749,  1204,  1198,  1199,
1284       528,    22,    23,    24,    25,    26,   329,   337,   338,   339,       782,  1200,  1201,   779,   273,   687,   275,   806,   638,  1097,
1285       487,   394,   395,   396,   397,   398,   375,   340,   383,   341,        50,    51,    17,    18,    19,    20,    21,    22,    23,    24,
1286       342,   343,   344,   345,   346,   543,   347,   385,   348,   349,        25,    26,  1235,  1229,  1230,   696,    27,    28,    29,    30,
1287       350,   351,   352,   353,   546,   547,   548,   354,   549,   645,       345,   360,   361,   362,   655,   466,   467,   468,   469,   470,
1288       646,    27,   399,   387,    28       471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
1289         481,   482,   483,   484,   363,   364,   486,   433,   365,  1751,
1290        1752,  1753,   445,   366,   367,   368,   369,   370,   371,   747,
1291         372,   447,   373,   374,   375,   376,   377,   378,   346,   380,
1292         381,   382,   751,   752,   753,   767,   383,   384,   347,   386,
1293         348,   388,   771,   736,   642,   643,   389,   390,   768,   755,
1294         756,   954,   955,    31,   487,   762,   454,    32
1295  };  };
1296    
1297  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1298     STATE-NUM.  */     STATE-NUM.  */
1299  #define YYPACT_NINF -720  #define YYPACT_NINF -1267
1300  static const short int yypact[] =  static const yytype_int16 yypact[] =
1301  {  {
1302        51,  -720,  -720,    10,    20,    36,    55,     1,    89,   112,        38, -1267, -1267,    97,    79,   115,   157,   160,    34,     8,
1303        61,   131,   142,  -193,  1647,  -720,   -55,   -55,   -55,   -55,       208,    66,   140,   214,   112,  2369, -1267,   -33,   -33,   -33,
1304       -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,  -720,   146,       -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,
1305       159,   152,   153,   157,   171,   170,    23,    -3,   181,   192,       -33,   -33, -1267,   227,   228,   230,   223,   275,   288,   315,
1306      -720,  -720,  -720,  -720,     7,  -720,  -720,  -720,  -720,  -720,       313,   303,   322,   187,   327,   331,   248, -1267, -1267, -1267,
1307      -720,  -720,   295,   295,   295,   295,   295,   295,   295,   295,     -1267,   150, -1267, -1267, -1267, -1267, -1267, -1267, -1267,   525,
1308       295,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,       525,   525,   525,   525,   525,   525,   525,   525, -1267, -1267,
1309      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1310      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1311      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1312      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1313      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1314      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1315      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1316      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1317      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1318      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1319      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1320      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1321      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1322      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1323      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1324      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1325      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1326      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1327      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1328      -720,  -720,  -720,  -720,  -720,  2754,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1329       210,    74,    73,    73,   165,     6,   210,   164,    54,    54,     -1267, -1267,  3034, -1267, -1267, -1267, -1267,   133,   144,   346,
1330      1869,   210,  -720,   213,   195,  -720,   199,   216,   201,   208,       346,   364,   390,   191,   191,   221,    93,   215,   155,   121,
1331       219,   220,  -720,   207,   206,  -720,  -720,  -720,  -720,  -720,       121,   399, -1267,   425,   426,   408, -1267,   409,   428, -1267,
1332      -720,  -720,  -720,  -720,  -720,  -720,   295,  -720,   295,   295,       430,   410,   418,   431, -1267,   419,   436,   420, -1267, -1267,
1333       295,   295,   295,   295,   295,   295,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,   525,
1334      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,   221,  -720,     -1267,   525,   525,   525,   525,   525,   525,   525,   525, -1267,
1335        91,   222,   214,   223,   228,  -720,   -55,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1336       -55,  -720,   -55,   -55,   -55,   -55,   -55,  -720,   -55,  -720,     -1267,   432,   441,   447, -1267, -1267,   -33,   -33,   -33,   243,
1337       -55,   -55,   -55,   -55,   -55,   215,   226,  -720,   -55,   -55,       449,   478,   468,   457,   474,   479,   472,   473, -1267,   -33,
1338      -720,   -55,   -55,    93,   229,   230,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267,   -33, -1267,   -33,   -33,   -33,
1339      -720,  -720,  -720,   227,  -720,   -55,   -55,   -55,   224,   237,       -33,   -33, -1267,   -33, -1267,   -33,   -33,   -33,   -33,   -33,
1340       233,  -720,   -55,   -55,   -55,   -55,   -55,   -55,   225,   235,     -1267,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,
1341       239,   231,   234,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267,   480, -1267,   -33, -1267,   -33,   482, -1267,   -33,   490,
1342      -720,  -720,  -720,  -720,  -720,  -720,  -720,  2754,  1869,  -720,     -1267,   -33,   -33,   485,   484,   500, -1267,   -33,   -33,   -33,
1343       -55,   232,   236,  -720,  -720,  -720,   247,   250,   241,   252,     -1267,   -33,   -33,   -33,   349,   503,   510,   512,   528, -1267,
1344       248,  -720,   270,   249,   271,   272,   268,   273,   256,    62,     -1267, -1267, -1267, -1267, -1267, -1267,   -33, -1267,   -33,   -33,
1345       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,       -33,   524, -1267,   -33,   -33, -1267,   -33,   -33,   -33,   -33,
1346       287,   287,   293,   294,  2754,  2754,   339,   339,   296,   298,       493,   537,   532, -1267,   -33,   -33,   -33,   -33,   -33,   -33,
1347       297,   283,    21,  2754,   339,   300,   306,   301,    18,   339,       -33,   -33,   -33,   -33,   -33,   521,   522,   536,   543,   527,
1348       339,   339,   339,  2975,   310,   305,   303,   309,   315,  2754,       534,   544,   538,   540,   541, -1267, -1267, -1267, -1267, -1267,
1349      -720,   339,   318,   325,   336,  -720,   326,   327,   328,   334,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1350       346,   347,   343,   349,   351,   340,   350,   -55,   -55,   -55,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1351       -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1352       -55,   -55,  -720,   352,   354,  1869,  1869,   295,   295,   295,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1353       295,   295,   295,   295,   295,   295,  -720,  -720,   356,   353,     -1267, -1267,   -33,   539,   542,   548, -1267, -1267, -1267, -1267,
1354       357,   348,  1869,  1869,   355,  -720,   -55,  -720,   -55,  -720,       545,   550,   556,   555,   558, -1267,   560,   502,   570,   168,
1355       -55,  2754,  -720,  -720,   360,   358,   362,   359,   363,   361,       168,    12,   571,   575,   576,   507,   572,   511,   577,   565,
1356      -720,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,       564,   573,   172,   583,   583,   583,   583,   583,   583,   583,
1357       -55,   -55,   -55,   -55,  -720,  2754,  -720,   368,   364,   376,       583,   583,   583,   477,   583,   583,   583,   583,   535,   583,
1358       377,   378,  -720,  -720,   365,  -720,  -720,   374,   381,   371,       168,   168,   583,   583,   582,   579,   535,   590,   477,   533,
1359       372,   379,   375,   380,   317,   387,   389,   339,    37,   339,       168,   168,   594,   546,   599,  3034,  3034,   535,   535,   535,
1360       339,  2754,   339,  2754,  2754,   339,   339,   339,   339,  2754,       535,   601,   605,   547,   549,   603,   477,   535,   168,   168,
1361      2754,   339,   382,   322,  2754,  2754,   383,   385,   329,   384,       596,    10,  3034,   535,   477,     5,   168,   612,   611,   617,
1362      1203,  1425,   390,   339,   108,   339,   386,  -720,   332,   392,        81,   535,   535,   535,   535,   622,   166,    54,    54,   392,
1363       401,   394,   339,   339,   339,   339,   339,   339,   339,   339,      3253,   633,   632,   638,   569,   574,   626,    86,   624,   627,
1364       339,  2754,   339,  2754,   339,   402,   395,   403,   409,   406,       634,   535, -1267,   639,   631,   643, -1267,   635, -1267,   637,
1365      -720,   412,   397,   411,   366,   416,   413,   414,   415,   404,       640,   648,   650,  2591,  2591, -1267, -1267, -1267, -1267,   649,
1366       405,  -720,   396,   418,   -55,  -720,  -720,  -720,  -720,  -720,       645,   -33,   -33,   -33,   653,   656,   652,   658,   659,   654,
1367      -720,  1869,  2754,   -55,   -55,   -55,  -720,  1869,  2754,   -55,       662,   655,   671,   657,   666,   -33,   -33,   -33,   -33,   -33,
1368       367,   421,   -55,  3196,   -55,   369,   426,   423,   420,  -720,       -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   525,
1369      -720,   373,   -55,  -720,   -55,  -720,   398,   424,   425,   427,       525,   525,   525,   525,   525,   525,   525,   525,   679, -1267,
1370       422,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,     -1267, -1267,   -33,   -33,   -33,   -33, -1267, -1267,   -33, -1267,
1371      3417,   -55,  3638,   -55,   417,   434,   430,   432,   399,   441,     -1267,   -33, -1267,   684,   680,   535,   -33,   -33,   688, -1267,
1372       438,   436,   435,   447,   439,  -720,   457,  -720,  -720,   433,     -1267,   689,   -33,   -33,   690,   681,   692,  2591,  2591,   -33,
1373       456,   339,  2754,   339,   339,   339,  2754,   339,   437,   461,     -1267, -1267,   -33,   693,   694,   695,   709,   698, -1267, -1267,
1374      2754,  2091,   471,   464,   473,   475,   478,   339,   339,   477,     -1267, -1267, -1267,   691, -1267,   -33, -1267,   -33, -1267,   -33,
1375       480,   481,   450,   494,   339,   339,  2754,   339,   339,   267,      3034, -1267, -1267, -1267,   715, -1267,   -33, -1267,   700,   716,
1376      2754,   339,   198,  2091,  2754,  2091,  2754,   451,   511,   512,       728,   721,   184,   729, -1267,   -33,   -33,   -33,   -33,   -33,
1377       454,   523,  -720,   525,  -720,   507,   517,   513,   370,   526,       -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,
1378       527,  -720,  1869,   -55,  -720,   -55,  1869,  -720,   514,   518,       -33,   742,   -33,   724,   741,   738,   -33,   -33,   -33,   -33,
1379      3859,  2754,  2754,   295,   295,   548,  -720,  2754,  -720,   109,       743,   -33,   -33,   -33,   -33,   525,   525, -1267, -1267,   259,
1380        12,  -720,   515,   513,   521,   533,   524,  -720,   -55,   519,        33, -1267, -1267,  3034, -1267,   740,   744,   737,   745,   733,
1381       528,   470,   534,   537,  -720,  -720,   -55,  -720,  -720,  2754,       751,   746,   753,   752,   757,   756, -1267, -1267,   735, -1267,
1382      -720,  -720,  -720,   535,  -720,  -720,  -720,  -720,  2754,   -55,       754,   758,   748,   750,   699,  3034,  1925, -1267,  2147,   764,
1383       295,   295,  -720,  -720,  -720,   548,  4080,   548,  4301,   539,       755,   168,   168,   168,   759,   760,   762,   763,   765,   761,
1384       479,   545,   546,   540,   551,   538,   554,  -720,   541,   542,       707,   766,   768,   769,   775,   535,   102,   535,   535,  3034,
1385       555,  2754,  2754,  2754,  2754,   543,   544,  2091,  2312,  2533,       535,  3034,  3034,   535,   535,   535,   535,  3034,   535,   773,
1386       144,   163,  2091,   295,   550,   552,   557,   560,   339,   556,       535,  3034,   535,   535,   168,   168,   720,   772,   -33, -1267,
1387       558,   562,   561,  -720,   339,   568,   339,  2091,  2091,   563,       535,   730,   788,   168,   168,   789,   782,   732,  3034,  3034,
1388        56,   567,   569,   564,  -720,   566,   495,   571,  -720,   572,       535,   535,   790,   792,   793,   803,   739,   791,   535,   168,
1389       -55,  2754,  2754,   -55,   573,   574,   548,  -720,  -720,   295,       535,   794,   168,   796, -1267,   747,   809,   810,   797,   811,
1390       295,  -720,   295,   576,   575,   577,   582,  -720,   580,   578,       535,   535,   535,   535,   535,   535,   535,   535,   535,   535,
1391       579,   583,  -720,  -720,   -55,   548,   548,   581,   586,   588,       535,   535,  3034,   535,  3034,   535,   812,   535,   823,   807,
1392       598,   584,   590,   585,   169,   516,   587,   589,   559,   295,       826,   535,   535,   535,   535,   813,   168,   168,   168,   168,
1393       295,   591,   565,  -720,   596,   592,   593,   594,   595,   267,       467,   505,   525,   816,   830,   824,   825,   832,   839,   770,
1394       597,   602,   609,   604,   603,   605,   607,   608,   614,   622,       837,   842,   833,   843, -1267,   847,   834,   846,   836,   835,
1395        76,   631,   613,   630,   615,   633,  -720,   618,    95,   624,     -1267,  3034, -1267, -1267,   838,   785,   -33,   -33,   -33,   786,
1396       623,  -720,  -720,   628,   629,   625,   627,  -720,   599,   641,       852,   854,   841,   856,   848,   855,   845,   795,   860,   857,
1397       650,   655,     0,   646,   656,   600,   657,   601,   660,   606,     -1267,   844,   862,   -33, -1267, -1267, -1267, -1267, -1267, -1267,
1398       661,   652,   647,   611,   649,  -720,   654,  -720,   117,   665,      2591,  3034,   -33,   -33,   -33, -1267,  2591,   -33, -1267, -1267,
1399       666,   667,   662,   669,   668,   680,   684,   670,   685,   671,      3034,   -33,   -33, -1267, -1267,   861,   800,   535,   -33, -1267,
1400       130,   673,   672,   676,    17,  -720,  -720,   689,    78,   683,       864,   858, -1267, -1267,   805,   866,   869,   -33,  3472,   -33,
1401       692,   639,   690,   694,   697,  -720,   709,   710,   713,   712,       -33, -1267, -1267, -1267,   814,   877,   865,   872,   878,   867,
1402       714,   718,   715,   705,   663,   719,   711,   703,   730,   720,       -33, -1267,   -33, -1267,   886, -1267,   819,   884,   885,   887,
1403       726,   674,   731,   728,   737,   736,   675,   729,   745,   732,       890,   891,   -33,   -33,   -33,   -33,   -33,   -33,   -33,   -33,
1404       747,   751,   734,   750,   675,    58,   757,   741,   744,   748,       -33,   -33,   -33,   -33,  3691,   -33,  3910,   -33,   895,   -33,
1405       752,   746,   754,   753,   756,   761,   749,   755,   764,   769,       892,   902,   899,   -33,   -33,   -33,   -33,   906,   -33,   -33,
1406       766,   772,   765,   774,   773,   776,   760,   775,   767,   781,       -33,   -33,   525,   525,   525,   840,   894,   905,   896,   900,
1407       777,   785,   787,   778,  -720,   779,   771,   722,   793,   794,       901,   907,   909,   904,   851,   853,   913,   910,   911,   912,
1408      -720,   795,   771,   782,   797,   733,   804,   790,   800,  -720,       921, -1267,   908,   535,   168,   168,   922,   934,   928,   923,
1409      -720,   810,   816,   791,   805,   808,  -720,   814,   813,   821,     -1267,   937,   930, -1267,   920, -1267, -1267,   926,   929,   535,
1410       827,   828,   830,   820,   823,   833,   834,   829,   824,   780,      3034,   535,   535,   535,  3034,   535,   535,   535,   935,   938,
1411       826,   825,   839,   845,  -720,   824,   835,   783,   847,   841,       -33,   535,   939,   932,   933,   950,   941,  3034,  2813,   168,
1412      -720,   844,   786,  -720,   837,   838,   789,   840,   849,   786,       943,   944,   940,   955,   947,   949,   535,   535,   959,   951,
1413       848,   851,   858,  -720,   850,   864,   852,   863,   872,   869,       954,   956,   903, -1267, -1267,   535,   535,  3034,   535,   117,
1414       875,   880,   870,   885,   873,   819,   874,   883,   867,   879,       535,   477,  3034,   535,   392,  3253,  3253,  2813,  3034,  2813,
1415       886,  -720,   882,   892,   894,   893,   896,   898,   903,   900,      3034, -1267,   168,   958,   953,   924,   535,   535,   535,   535,
1416       905,   895,   889,   887,   890,   901,   899,   891,   907,   908,       952,   168,   168,   168,   168,   525,   525,   960,   927,   964,
1417       909,   911,   916,  -720,   917,   918,   919,   906,   910,   912,       957,   974,   942,   977,   981,   945,   975,   996, -1267,  1002,
1418       913,   914,   915,   920,   922,   923,   924,  -720,   930,  -720,     -1267,   991,   992,  1005, -1267, -1267, -1267,   993,  1000,   998,
1419       931,   921,   926,  -720,   927,   928,  -720,   929,  -720,  -720,       997,   999,   207,  1004,  1015,  1018, -1267,  2591,   -33, -1267,
1420      -720       -33,  2591,   -33, -1267, -1267,  1006,  1008,   535, -1267, -1267,
1421        1007,  1009,  1003, -1267,  1012,  4129,   525,   525,  1042, -1267,
1422        3034, -1267, -1267, -1267, -1267, -1267,  1010,   998,  1014,   999,
1423         244,  1025, -1267,   -33, -1267,  1016,   342,   965,  1029, -1267,
1424       -1267,   -33, -1267, -1267,  3034, -1267,  1034,  1026, -1267, -1267,
1425       -1267, -1267, -1267, -1267, -1267, -1267, -1267,  3034,   -33, -1267,
1426       -1267, -1267,  1042,  4348,  1042,  4567, -1267,   969, -1267,  1039,
1427         -33,   -33,   -33,   -33,  1035, -1267, -1267, -1267, -1267, -1267,
1428        1022,  1040,   976,  1027,   979,  1043,   347,  1047,  1048,  1038,
1429        1044,  1049,  1037,  1041,  1057,  1045,  1058, -1267,  1053, -1267,
1430        1054,  1050,  1067,  1059,  1074,  3034,  3034,  3034,  3034,   535,
1431        1060,  1077,   -33,  1062,  1064,  1063,  1065,  2813,  2813,  1068,
1432        1070,  1071,  1076,  1080,   535,  1083,  1079,  1082,  1094,   535,
1433        1056,  1100,   535,  2813,  2813,  1103,  1104,   535,   535,   392,
1434         168,  1105,  1106,  1111,   269,  1108,   274,  1116,  1110,  1112,
1435        1120,  1121,  1126,  1117, -1267,  1127,  1123,  1118,  1130,  1072,
1436        1129,  1131,  1135,  1151, -1267,  1142,   -33,  3034,  3034,   -33,
1437       -1267,  1139,  1157,  3034,  1141,  1147,  1145,  1143,  1042, -1267,
1438        1146,  1155,  1144,  1152,  1149, -1267,  1156,  1154,  1150,   348,
1439       -1267,  1174,  1171,   -33,  1042,  1042,  1158,  1163,   -33, -1267,
1440       -1267, -1267,  1161,  1167,  1172,  1175,  1173,  1176,  1179,  1181,
1441        1180,  1177,  1178,  1194,  1182,  1197,  1187,  1199,  1185,  1184,
1442        1186,   194,  1203,  1140,  1191,  1208,  1195,  1193,  1204,   -33,
1443        1201,  1218,  1206,  1153,  1207,  1220,  1159,  1210, -1267,  1211,
1444        1162,  1209,  1213,  1214, -1267,   477,  1216,  1217,   535,  1229,
1445        1219,  1227,  1221,  1235,  1238,  1223,  1239,  1231,  1183,  1228,
1446        1233,  1237,  1248,  1240,  1241,  1244,  1242,  1243,  1245,  1250,
1447        1249,  1251,   122,  1254,  1200,  1261,  1257, -1267,   168,  1259,
1448        1260,  1253,  1272,  1258,  1263,  1275,  1267,  1262,   149,  1265,
1449        1266,  1273, -1267,  1271,  1270, -1267,  1274,  1276, -1267,  1277,
1450        1278,  1280,  1283,  1286, -1267,  1288,  1289,  1269,  1287,  1246,
1451       -1267,  1290,  1301,  1299,  1247,  1305,  1304,  1308,  1293,    88,
1452        1300,  1309,  1313,  1314,  1317,   -33,  1318,  1306,  1256,  1319,
1453        1264,  1310,  1320,  1323,  1268,  1324,  1316,  1311,  1279,  1321,
1454        1312,  1322,  1329,  1281,  1326, -1267,  1327,  1331, -1267,  1344,
1455        1348,  1315, -1267,  1333,    17,  1340,  1334,   395,  1349,  1350,
1456        1351,    18,  1335,  1352,  1345,  1354,  1355,  1359,  1357,   535,
1457        1358,  1294,  1362,  1347,  1369,    21,  1356,  1360,   404,  1363,
1458        1361,  1367,    49, -1267,  1370,  1365, -1267,  1377, -1267,  1325,
1459       -1267,  1371,  1368, -1267,  1374, -1267,  1388,  1375,  1389,  1390,
1460         114,  1382,  1385,  1330,  1396,  1393,  1381,  1386,  1387,  1384,
1461       -1267,  1395,   -33,  1397,  1403,  1400,  1408,  1412,  1409,  1399,
1462        1414,  1418,  1415,  1405,  1364,  1419,  1411,  1404,  1372,  1416,
1463        1426,   167,  1425,  1420,  1417,  1430,  1373, -1267,  1440,  1423,
1464        1437,  1376,  1444,  1441,  1442,  1449,  1448,  1383,    24,  1443,
1465       -1267,   392,  1436,  1434,  1455,  1438,  1450,  1458,    25,  1461,
1466        1445,  1460,  1383,    43,  1463,  1447,  1452,  1466,  1465,  1451,
1467        1456,  1457,  1462,  1471,  1406,  1464,  1479,  1467,  1468,  1470,
1468        1459,  1469,  1480,  1484,  1482,  1478,  1483,  1486, -1267,  1490,
1469        1485,   -33,  1495,  1505,  1502,  1494,  1508,  1503,  1504,  1510,
1470        1512,  1513,  1497,  1506,  1507,  1518,  1511,  1515,  1509,  1514,
1471        1519,  1521,   297,  1516,  1523,  1530,  1520,  1534,  1528,  1517,
1472       -1267,  1524,  1536,  1529,  1476,  1538,  1541,  1481,    16,  1546,
1473       -1267,  1547,  1548,  1529,  1550,  1540,  1552,  1487,  1555,  1544,
1474        1543, -1267, -1267, -1267,  1558,  1549,  1557,  1551,  1493,  1553,
1475        1556,  1564, -1267,  1566,  1559,  1562,  1567,  1560,  1554,  1561,
1476        1568, -1267,  1563,  1565,  1569,  1571,  1572,  1575,   -33, -1267,
1477       -1267, -1267, -1267, -1267,  1576,  1582,  1570,  1573,  1583,  1585,
1478        1577,  1578,  1586,  1589,  1590,  1579,  1574, -1267,   299,  1580,
1479        1591,  1584,  1587, -1267,  1592,  1593,  1525,  1594,  1588,  1595,
1480        1597,  1601,  1599,  1602,  1535,  1596,   168, -1267,  1593,  1600,
1481        1599,  1604,  1542,  1608,  1605, -1267,  1609,  1581, -1267,  1603,
1482        1607,  1610,  1611,  1612,  1598,  1613,  1606, -1267,  1614,  1615,
1483        1616,  1617,  1619,  1618, -1267,  1620,  1622,  1621, -1267,  1624,
1484        1606,  1625,  1627,  1628, -1267,   300,  1631,  1626,  1623,  1629,
1485       -1267,   308,  1630,  1634,  1633,  1635,  1638,  1636,  1642,  1646,
1486       -1267,  1648,  1647,  1639,  1657,  1658,  1649,  1645,  1650,  1644,
1487        1651,  1652, -1267,  1653,  1656,  1641,  1662,  1654,  1632,  1655,
1488          45,  1661,  1659,  1663,  1664,  1666,  1660,  1667, -1267,  1665,
1489        1675,  1668,  1669, -1267,  1670,  1676, -1267,  1672,  1684,  1688,
1490        1679,  1689,  1690,  1691,  1696,  1678,  1698,  1695,  1687,  1692,
1491        1637, -1267,  1699,  1694,  1701,  1693,  1686,  1683,  1697,  1700,
1492        1703,  1704,  1705,  1706,  1702,  1707, -1267,   309,  1708, -1267,
1493        1710,  1709,  1715,  1712, -1267,  1720, -1267,  1722,  1716,  1724,
1494        1726, -1267,  1717,  1719, -1267,  1729,  1718,  1713,  1721,  1723,
1495        1671,  1725,  1727,  1728,  1730,  1731,  1732,  1735,  1738,  1734,
1496       -1267,  1736, -1267,  1743, -1267,  1741,  1742,  1744,  1740,  1745,
1497       -1267,  1746,  1747,  1739, -1267,  1748, -1267,  1737,  1750, -1267,
1498       -1267, -1267, -1267,  1756, -1267
1499  };  };
1500    
1501  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1502  static const short int yypgoto[] =  static const yytype_int16 yypgoto[] =
1503  {  {
1504      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1505      -720,  -720,  -720,  -580,  -720,  -720,  -720,  -720,  -632,    80,     -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1506      -720,   101,    26,  -720,  -720,  -469,   242,   388,   345,  -719,     -1267,  -836, -1267, -1267, -1267, -1267, -1267,  -897, -1266, -1267,
1507       116,  -720,   314,   238,    11,   -10,   -14,   333,  -355,  -720,       282,   198, -1267,  -538,  -932, -1141,   335, -1103,   623, -1041,
1508       -13,   932,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1035,  -828,  -341,   586,  -849,   557,   -32,   448, -1047,   487,
1509      -720,  -720,  -720,  -720,  -720,  -720,   -76,   687,   688,   693,      -698,   276,  -591,    31,   141,     4,   185,  1148,  -512,   -15,
1510      -211,   695,   696,  -263,  -257,  -256,  -720,   698,  -720,   704,      1749, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
1511      -254,  -720,  -720,   700,   529,  -720,   707,  -720,   702,   708,     -1267, -1267,  -469, -1267, -1267,  1196, -1267, -1267, -1267, -1267,
1512      -252,  -720,  -720,   530,  -720,  -720,  -720,  -720,  -720,  -720,      -118,  1501,  1522,  1526,  -240,  1498,  1499,  1500,  1527,  1531,
1513      -720,  -720,   716,  -720,  -720      1532,  1533,  1537,  1539,  1545,  1858,  2079,  2301,  2302,  2523,
1514        2524,  -255,  -253,  -250,   151, -1267,  4499, -1267,  1640, -1267,
1515       -1267, -1267, -1267,  4505,  -258, -1267, -1267,  4503,  -320, -1267,
1516        4507, -1267,  4506,  4508,  -252, -1267,   163,  -134,  -254,  4510,
1517       -1267,  1192, -1267, -1267, -1267, -1267,    57,  4511,     6,  4512,
1518        -200,   -26,  1188, -1267, -1267, -1267, -1267,  -261, -1267, -1267,
1519       -1267, -1267, -1267, -1267,  4509,  -309, -1267, -1267
1520  };  };
1521    
1522  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1523     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1524     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1525     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1526  #define YYTABLE_NINF -139  #define YYTABLE_NINF -250
1527  static const short int yytable[] =  static const yytype_int16 yytable[] =
1528  {  {
1529       267,   269,   562,   270,   271,   272,   273,   274,   275,   276,       276,   958,   277,   278,   279,   280,   281,   282,   283,   284,
1530       277,   278,   279,   280,   281,   664,   403,  -138,   358,   361,       285,   286,   287,   288,   289,   290,   291,   636,   778,   274,
1531       359,   362,   404,   405,   815,   972,   817,   522,   523,   291,      1002,  1239,  1164,   989,   379,   407,   411,   453,   697,   734,
1532        33,   332,    41,    42,    29,   373,    34,   292,   973,   537,       699,   408,   412,   437,   449,   505,   639,   506,  -249,     1,
1533      1005,   956,   307,   307,   307,   307,   307,   307,   307,   307,       507,     2,   694,  1370,   640,  1090,  1292,    42,   718,  1746,
1534       307,   538,     1,  1006,     2,   524,   289,  1007,    30,   642,      1747,  1378,  1184,    40,  1575,  1575,   732,     3,  1575,     4,
1535       539,    31,   290,   306,   308,   309,   310,   311,   312,   313,         5,  1668,  1668,     6,  1681,  1594,  1213,    41,     7,     8,
1536       314,   315,     3,   643,     4,     5,   388,   389,     6,   898,      1605,  1509,  1881,     9,    10,    11,   770,    12,   387,   726,
1537        32,  1045,   996,     7,   388,   899,    37,   390,     8,     9,      1242,  1682,  1244,  1606,   681,   430,   761,  1607,  1876,    44,
1538        10,   486,    11,   391,   355,   330,   392,   331,  1046,   332,       319,   321,   322,   323,   324,   325,   326,   327,   328,   700,
1539       952,   391,    38,  1009,   392,   800,   356,   333,   641,   809,       741,  1250,  1251,  1252,  1253,    45,  1576,  1584,   791,    34,
1540       647,   648,   953,   334,   522,   523,  1010,   843,   876,   960,      1597,  1542,   742,  1669,  1677,    35,   352,   719,   743,    33,
1541       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       431,   357,   951,   792,  1543,   733,   309,   669,   670,   671,
1542        35,   961,   423,   424,   448,   424,   675,    36,   895,   896,       672,   673,   674,   675,   676,   677,   952,  1619,    36,  1226,
1543       987,   988,    40,   681,   682,   683,   684,   685,   686,   687,       455,   456,   457,   458,  1499,   459,   460,   398,  1350,  1227,
1544       688,   689,   879,  1000,  1001,   296,   297,   298,   299,   300,      1620,   426,   461,  1182,   341,   342,  1500,   848,   462,   463,
1545       301,   302,   303,   304,   305,    39,   488,   600,   601,   264,       359,   464,  1475,   349,   343,   350,   351,   352,   353,   436,
1546       282,   880,   489,   490,   296,   297,   298,   299,   300,   301,       444,  1515,    46,   512,   440,   354,   341,   399,   441,   404,
1547       302,   303,   304,   305,   283,   378,   363,   328,   364,   379,        37,   355,   356,  1516,   357,   763,   442,    38,  1650,  1651,
1548       927,   284,   287,   285,   928,   336,   286,   380,   365,   288,       641,   271,   456,    39,  1652,   357,   764,   765,   761,   654,
1549       377,   382,   929,   293,   541,   410,   544,   810,   811,   296,       320,   320,   320,   320,   320,   320,   320,   320,   320,   462,
1550       507,   508,   509,   510,   511,   512,   513,   514,   515,   491,       403,   877,   464,  1448,    47,   404,  1380,  1449,   302,   689,
1551       492,   493,   494,   495,   496,   497,   498,   499,   500,   501,       690,  1225,   405,   878,   303,  1450,  1238,   633,   634,   702,
1552       502,   294,    41,   328,   411,   412,  -138,  -138,  -138,   413,       703,    43,   633,   634,   633,   634,   341,   399,   633,   634,
1553       414,   415,   761,   416,   417,   418,   419,   420,   426,   422,       414,  1280,   415,   416,  1281,   417,   343,   721,   722,   292,
1554       425,   870,   427,   428,   873,   443,   442,   449,   787,   450,      1358,   293,   418,   294,   735,   737,   402,  -249,  -249,  -249,
1555       456,   451,   457,   465,   476,   455,   464,   409,   466,   468,       295,   439,   452,    -4,    -4,   912,  1374,  1375,   309,   310,
1556       478,   467,   472,   480,   473,   477,    -4,    -4,   296,   507,       311,   312,   313,   314,   315,   316,   317,   318,  1301,   306,
1557       508,   509,   510,   511,   512,   513,   514,   515,   803,   474,       746,  1302,   532,   533,   385,   307,   766,   656,   401,   657,
1558       475,   479,   481,   482,   485,   483,   421,   484,   421,   421,      1385,   272,   658,   438,   451,  1388,  1386,   769,   772,   774,
1559       421,   421,   421,   421,   421,   421,   296,   297,   298,   299,       967,  1389,   969,   659,   660,   661,   662,   663,   664,   665,
1560       300,   301,   302,   303,   304,   305,   486,   503,   504,   519,       666,   667,   668,   296,   682,   683,   684,   685,  1729,   688,
1561       518,   520,   521,   429,   534,   536,   558,   430,   265,   431,      1800,  1847,   691,   692,  1730,   297,  1801,  1848,  1731,  1853,
1562       432,   433,   434,   435,   535,   436,   557,   437,   438,   439,      1922,   529,   530,   531,   298,  1854,  1923,    48,    49,   754,
1563       440,   441,   559,   563,   561,   444,   445,   560,   446,   447,       409,   413,   745,   300,   542,   450,   749,   299,   748,   301,
1564       296,   507,   508,   509,   510,   511,   512,   513,   514,   515,       543,   305,   544,   545,   546,   547,   548,   726,   549,  1029,
1565       564,   565,   452,   453,   454,   567,   566,   568,   569,   458,       550,   551,   552,   553,   554,   304,   555,   556,   557,   558,
1566       459,   460,   461,   462,   463,   570,   571,   572,   573,   887,       559,   560,   561,   562,   563,    48,  1306,   391,   565,  1273,
1567       574,   592,   575,   593,   576,   596,   598,   597,   599,   606,       566,  1328,  1422,   568,  1329,  1273,   570,   571,   581,   533,
1568       602,   608,   610,   607,   625,   470,   611,   471,   626,   627,       633,   634,   575,   576,   577,   396,   578,   579,   580,   775,
1569       609,   629,   628,   631,   632,   633,   828,   634,   638,   636,       776,   309,   669,   670,   671,   672,   673,   674,   675,   676,
1570       630,   635,   639,   661,   637,   640,   678,   660,   665,   666,       677,   586,   399,   587,   588,   589,  1579,  1580,   591,   592,
1571       667,   676,   668,   677,   671,   679,   680,   694,   696,   695,       341,   593,   594,   595,   596,  1600,  1601,  1240,  1241,   600,
1572       697,   698,   516,   517,   699,   700,   701,   703,   704,   705,       601,   602,   603,   604,   605,   606,   607,   608,   609,   610,
1573       708,   709,   707,   710,   706,   550,   551,   552,   553,   556,       485,   508,   393,   395,   513,   514,   515,   516,   519,  1346,
1574       719,   723,   724,   730,   731,   747,   732,   702,   718,   748,       517,   520,  1349,   518,   521,   523,   522,   340,   526,   524,
1575       722,   725,   749,   733,   726,   750,   752,   753,   754,   756,       525,   527,   525,   525,   525,   525,   525,   525,   525,   525,
1576       755,   757,   768,   759,   577,   578,   579,   580,   581,   582,       936,   937,   938,  1042,   528,   534,   309,   310,   311,   312,
1577       583,   584,   585,   586,   587,   588,   589,   590,   591,   729,       313,   314,   315,   316,   317,   318,   309,   669,   670,   671,
1578       751,   758,   594,   595,   760,   769,   783,   307,   307,   307,       672,   673,   674,   675,   676,   677,   678,   621,   535,   537,
1579       307,   307,   307,   307,   307,   307,   782,   784,   785,   409,       536,   538,   539,   973,   974,   540,   541,   564,  1592,   567,
1580       409,   786,   789,   603,   790,   604,   791,   605,   306,   308,       569,  1043,   982,   983,   309,   310,   311,   312,   313,   314,
1581       309,   310,   311,   312,   313,   314,   315,   793,   612,   613,       315,   316,   317,   318,   572,  1409,   573,   574,  1671,   582,
1582       614,   615,   616,   617,   618,   619,   620,   621,   622,   623,       583,  1005,   597,   778,   309,   310,   311,   312,   313,   314,
1583       624,   792,   819,   820,   821,   822,   823,   824,   825,   826,       315,   316,   317,   318,   309,   669,   670,   671,   672,   673,
1584       830,   829,   827,   842,   836,   835,   844,   845,   846,   847,       674,   675,   676,   677,   584,   585,   590,   680,   598,   599,
1585       849,   851,   853,   852,   850,   859,   861,   855,   650,   862,       611,   612,   613,   614,   616,  1038,  1039,  1040,  1041,   615,
1586       860,   653,   654,   655,   656,   863,   864,   659,   865,   866,       680,   617,   680,   619,   620,   622,   618,   627,   629,   630,
1587       869,   868,   867,   874,   886,   875,   904,   470,   470,   673,       623,  1228,   710,   711,   624,   625,  1203,  1205,   626,   628,
1588       883,   885,   897,   884,   407,   891,   888,   890,   327,   889,       680,   631,   632,   644,   645,   646,   647,   648,   680,   650,
1589       893,   900,   903,   914,   901,   902,   906,   930,   691,   907,       649,   651,   652,   653,   693,   757,   758,   759,   760,  1505,
1590       693,   905,   911,   920,   908,   912,   915,   913,   916,   918,       654,   694,   698,   781,   784,  1203,   704,  1203,   807,   807,
1591       917,   921,   922,   923,   925,   924,   926,   931,   936,   942,       636,   706,   701,   713,   714,   717,   811,   812,   813,  1255,
1592       932,   711,   934,   937,   939,   944,   940,   946,   712,   945,      1257,  1258,  1257,   723,   738,   705,   715,   739,   716,   740,
1593       713,   714,   715,   943,   716,   947,   717,   948,   950,   949,       825,   826,   827,   828,   829,   830,   831,   832,   833,   834,
1594       933,   951,   954,   955,   956,   957,   935,   958,   959,   727,       835,   836,   837,   838,   761,   785,   786,   787,   788,   790,
1595       962,   728,   964,   963,   965,   969,   966,   967,   734,   735,       793,   795,   797,   789,   798,   794,   799,   840,   841,   842,
1596       736,   737,   738,   739,   740,   741,   742,   970,   744,   971,       843,   800,   802,   844,   801,   803,   845,   804,   810,   809,
1597       746,   974,   977,   975,   938,   979,   981,   982,   983,   985,       814,   849,   850,   815,   816,   817,   818,   853,   854,   820,
1598       968,   976,   978,   986,   989,   990,   991,   980,   993,   763,       822,   819,   858,   859,   860,   821,   823,   861,   824,   680,
1599       764,   765,   984,   767,   992,   995,   994,   781,   996,   998,       319,   321,   322,   323,   324,   325,   326,   327,   328,   839,
1600      1003,   780,   997,   999,   673,  1002,  1004,  1008,  1011,  1014,       868,   846,   869,   847,   870,   851,   852,   855,   856,   857,
1601       795,   797,   469,   795,   802,   805,  1012,   795,   814,   781,       862,   872,   864,  1165,  1166,   866,   863,   873,   778,   867,
1602      1013,   781,   780,   780,  1017,   780,  1015,  1016,  1019,  1018,       880,   881,   882,   883,   884,   885,   886,   887,   888,   889,
1603       327,  1020,  1021,  1022,  1023,  1024,  1027,  1026,  1028,   831,       890,   891,   892,   893,   894,   895,   865,   897,   871,   874,
1604       832,  1029,   833,   834,  1025,  1031,  1033,  1034,   505,   506,       780,   901,   902,   903,   904,   875,   906,   907,   908,   909,
1605      1035,  1036,  1030,   307,   307,  1032,  1037,   531,  1039,   421,       876,   896,   879,   898,   899,   900,   905,   913,   914,   915,
1606      1041,  1038,  1042,  1044,  1040,   848,  1043,   555,  1047,  1048,       917,   918,   916,   919,   920,   921,   922,   923,   924,   926,
1607      1049,  1051,  1050,   854,   840,   841,  1056,  1057,  1052,  1053,       927,   925,   928,   934,   944,  1203,  1203,   935,   929,   946,
1608      1055,  1058,  1054,  1059,  1060,  1061,   856,  1062,  1065,  1063,       940,   932,   939,   932,   941,   942,   945,   943,   947,   949,
1609       307,   307,   327,  1064,  1066,  1067,  1070,  1069,  1072,  1068,       948,  1203,  1203,   968,   976,   985,   910,   911,  1205,   975,
1610      1076,  1071,  1073,  1077,  1078,  1075,  1081,  1079,  1080,  1074,       320,   320,   320,   320,   320,   320,   320,   320,   320,   980,
1611      1082,   840,   841,   781,  1083,  1084,  1085,   780,   781,  1089,       981,   986,   984,   994,   995,   996,   997,   999,   998,  1006,
1612       421,   421,   780,   307,  1086,  1087,   407,   407,   327,   327,      1004,  1008,  1009,   977,   959,  1010,  1007,   962,   963,   964,
1613       797,  1088,   802,   781,   781,  1090,  1094,   780,   780,  1091,       965,  1011,   680,  1028,   680,  1030,   971,  1031,  1032,  1045,
1614      1092,  1093,  1095,  1096,   882,  1097,  1098,  1099,  1100,  1101,      1037,   707,   708,  1046,   979,  1049,  1047,  1048,  1050,  1051,
1615      1107,  1102,  1105,  1103,   327,  1106,  1108,  1109,  1111,   307,      1052,  1053,  1060,  1054,   991,   993,  1055,  1056,   730,  1058,
1616       307,  1104,   421,  1115,  1110,  1112,  1113,  1114,  1118,  1116,      1057,  1067,  1001,  1059,  1062,  1066,  1061,  1068,  1069,  1070,
1617      1117,   919,  1119,  1122,  1120,  1124,  1123,  1126,   327,  1121,      1071,  1073,  1072,  1075,  1074,  1078,   783,  1077,  1088,  1089,
1618       909,   910,  1125,  1127,  1128,   531,  1129,   651,   652,   421,      1076,  1092,   340,   340,  1094,  1093,  1096,  1025,  1095,  1027,
1619       421,  1130,  1131,   657,   658,   805,  1132,  1137,   663,   663,      1101,   680,  1102,  1100,  1103,  1104,  1105,  1108,  1109,   805,
1620      1134,  1133,  1135,  1141,   469,   469,  1136,  1138,  1142,  1139,       805,  1110,  1111,  1113,  1112,   340,   320,   320,  1131,  1133,
1621      1140,  1144,  1143,  1145,  1146,  1147,  1148,  1150,  1149,  1151,       525,  1063,  1064,  1065,  1114,  1134,  1135,  1140,  1149,  1147,
1622      1152,  1155,  1154,  1157,   892,   690,  1159,   692,  1158,  1153,      1148,  1152,  1151,  1150,  1153,  1155,  1158,  1159,  1079,  1154,
1623      1156,  1160,  1161,  1162,  1163,   941,  1164,  1171,  1172,   674,      1156,  1160,  1157,  1044,  1163,  1080,   726,  1081,  1082,  1083,
1624      1166,  1167,  1165,  1169,  1168,  1174,  1175,   894,   881,  1176,      1161,  1084,  1085,  1162,  1168,  1167,  1086,  1087,  1169,  1171,
1625      1170,   367,   368,  1173,  1177,  1178,  1179,   369,  1180,   649,      1173,  1170,  1172,  1091,  1174,  1175,  1192,  1185,   340,  1186,
1626       788,     0,     0,   376,   401,   402,   295,   384,   370,   386,      1191,  1190,  1193,  1194,  1207,  1099,  1206,  1209,  1208,  1210,
1627       813,   371,   372,     0,   327,   327,     0,   542,   545,     0,      1211,   979,  1214,  1248,  1215,  1106,  1216,  1107,  1254,  1217,
1628       327,   327,     0,     0,     0,   406,   327,     0,     0,     0,       340,  1247,  1218,  1260,  1262,  1263,  1264,  1115,  1116,  1117,
1629         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1118,  1119,  1120,  1121,  1122,  1123,  1124,  1125,  1126,  1266,
1630         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1128,  1267,  1130,  1249,  1132,  1269,  1261,  1270,  1136,  1137,
1631         0,     0,     0,   327,     0,   327,   762,     0,     0,     0,      1138,  1139,  1271,  1141,  1142,  1143,  1144,  1272,  1274,  1273,
1632       766,     0,     0,     0,   770,     0,     0,     0,     0,     0,      1276,  1265,  1275,  1278,  1268,  1277,  1279,  1282,  1283,  1284,
1633         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       778,  1291,  1295,  1290,  1293,  1294,  1296,  1298,  1303,  1299,
1634       799,     0,     0,     0,   808,     0,     0,     0,   816,     0,      1300,   525,   525,   320,  1307,  1305,  1308,  1310,  1315,  1311,
1635       818,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1316,  1322,  1321,  1325,  1323,  1324,  1330,  1001,  1326,  1331,
1636         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1327,  1332,  1334,  1145,  1146,  1187,  1335,  1333,  1337,  1336,
1637         0,     0,     0,     0,     0,   838,   839,     0,     0,     0,      1371,  1339,   931,  1338,   931,  1178,  1179,  1180,  1342,   979,
1638         0,     0,     0,     0,     0,   327,     0,     0,     0,   327,      1183,   993,  1340,  1341,  1343,  1189,  1344,  1345,  1351,  1352,
1639         0,     0,     0,   327,     0,     0,     0,     0,     0,     0,      1354,  1356,  1202,  1355,  1357,   730,  1360,   960,   961,  1361,
1640       327,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1362,  1001,  1364,   966,  1363,  1368,   340,   970,  1367,  1220,
1641         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1222,  1366,  1220,   680,  1232,  1234,  1369,  1220,   781,   784,
1642         0,     0,   327,     0,     0,     0,     0,     0,     0,     0,       784,  1202,  1372,  1202,   988,   988,  1376,  1377,  1384,  1382,
1643         0,   327,     0,     0,     0,   663,   871,   872,   663,   327,       993,   993,   993,   993,  1383,   340,   340,  1387,  1390,  1391,
1644         0,   327,     0,     0,     0,     0,     0,     0,     0,     0,      1392,   340,  1393,  1395,  1394,   340,  1396,  1399,  1397,  1398,
1645         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1402,  1401,  1285,  1286,  1400,  1287,  1288,  1289,  1024,  1403,
1646         0,   327,   327,     0,     0,     0,     0,     0,     0,     0,      1026,  1404,  1405,   340,  1406,  1407,  1408,  1410,  1411,  1412,
1647         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1414,  1413,  1416,   320,   320,   525,  1415,  1418,  1417,  1421,
1648         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1419,  1189,  1420,  1423,  1424,  1427,  1750,  1426,  1304,  1429,
1649         0,     0,     0,     0,   327,   327,   316,    46,    47,   669,       709,  1430,  1431,   712,  1437,  1433,  1309,  1434,  1432,   340,
1650         0,    48,    49,    50,   317,   318,   319,   320,   321,   322,       720,   340,  1435,  1436,  1439,  1438,   731,  1440,  1442,  1443,
1651       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,      1446,  1441,  1444,  1312,  1445,  1447,  1451,   910,   911,  1452,
1652        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,      1453,  1454,  1456,  1455,  1457,  1317,  1318,  1319,  1320,   780,
1653        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,      1459,  1460,  1462,  1464,   796,  1461,  1463,  1469,  1465,  1466,
1654        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,      1467,  1468,  1470,  1471,  1473,  1474,  1476,  1478,  1477,  1480,
1655        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,      1479,  1481,  1482,  1483,  1484,   780,  1487,  1486,   780,  1488,
1656       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,       780,  1489,  1485,  1491,  1750,  1492,  1497,  1353,  1490,  1493,
1657       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,      1503,  1494,  1496,  1498,  1495,  1501,   525,   525,  1504,  1502,
1658       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,      1506,  1508,  1507,  1189,  1509,  1511,  1510,  1512,  1513,  1517,
1659       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,      1514,  1202,  1202,  1519,  1518,  1520,  1521,  1522,  1531,  1524,
1660       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,      1529,  1525,  1526,  1222,  1523,  1527,  1232,  1202,  1202,  1528,
1661       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,      1530,  1222,   991,   781,  1535,  1532,  1536,  1538,  1534,  1539,
1662       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,      1540,  1541,  1545,  1544,  1546,  1533,  1537,   320,   320,  1547,
1663       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,      1548,  1550,  1553,  1556,  1551,  1552,  1557,  1559,  1555,  1560,
1664       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,      1561,  1564,  1573,  1554,  1574,  1565,  1177,  1558,  1425,  1563,
1665       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,      1181,  1566,   340,  1428,  1568,  1569,   340,  1571,  1562,  1570,
1666       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,      1567,  1572,  1577,  1195,  1578,  1585,  1581,  1582,  1583,  1586,
1667       217,   218,   219,   220,   221,   222,   223,   224,   225,   226,       340,  1587,  1590,  1576,  1594,   340,  1588,  1595,  1589,  1591,
1668       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,      1593,  1596,  1599,  1224,  1458,  1609,  1598,  1603,  1237,  1610,
1669       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,      1613,   783,   783,  1602,  1243,  1604,  1245,  1614,  1608,   340,
1670       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,      1615,  1612,  1617,  1616,  1611,  1621,  1618,  1622,  1624,  1623,
1671       257,   258,   259,   260,   261,   262,   263,   264,   316,    46,      1625,  1626,   340,  1629,  1627,  1628,  1633,  1634,   340,  1234,
1672        47,     0,   670,    48,    49,    50,   317,   318,   319,   320,       340,  1635,  1222,  1630,  1636,  1632,  1637,  1638,   780,   780,
1673       321,   322,   323,   324,   325,   326,    61,    62,    63,    64,      1639,  1640,  1641,  1642,  1645,  1644,  1648,  1646,   950,  1649,
1674        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,       956,   957,  1653,  1643,   780,   780,  1655,  1656,  1654,  1658,
1675        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,       780,  1647,  1657,  1659,  1660,  1661,   972,  1662,  1663,  1664,
1676        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,      1665,  1666,  1667,  1668,  1672,  1670,  1673,  1675,  1674,  1676,
1677        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,      1678,  1680,  1683,  1684,  1689,  1679,  1685,  1681,  1686,  1688,
1678       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,      1549,  1687,  1691,  1003,  1690,  1692,  1693,  1697,  1695,  1698,
1679       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,      1696,  1703,  1699,  1012,  1013,  1014,  1015,  1016,  1017,  1018,
1680       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,      1019,  1020,  1021,  1022,  1023,  1694,  1701,  1700,  1702,  1704,
1681       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,      1705,  1706,  1709,  1707,  1033,  1034,  1035,  1036,  1710,  1711,
1682       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,      1712,  1713,   340,   340,  1714,  1717,  1715,  1716,  1720,  1718,
1683       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,      1719,  1722,  1724,  1727,  1728,  1721,  1733,  1723,  1725,  1734,
1684       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,      1726,  1737,  1735,  1001,  1732,  1736,  1738,  1743,  1739,  1740,
1685       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,      1744,   988,  1347,  1348,   988,  1742,  1741,  1754,  1755,  1757,
1686       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,      1745,  1756,  1758,  1759,  1761,  1763,  1760,  1631,  1762,  1764,
1687       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,      1766,  1765,  1768,  1771,  1767,  1774,  1769,  1772,  1770,  1779,
1688       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,      1775,  1789,  1777,  1773,  1373,  1799,  1776,  1780,  1785,  1787,
1689       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,      1778,  1781,  1783,  1782,  1784,  1788,  1791,  1790,  1792,  1795,
1690       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,      1794,  1793,  1796,  1797,  1808,  1803,  1812,  1798,  1804,  1802,
1691       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,      1813,  1815,  1806,  1472,  1816,  1805,  1810,  1822,  1809,   730,
1692       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,      1807,  1821,  1817,  1811,  1820,   781,  1814,  1823,  1819,  1824,
1693       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,      1827,  1826,  1828,  1829,  1841,  1830,  1832,  1851,  1834,  1839,
1694        45,    46,    47,     0,     0,    48,    49,    50,    51,    52,      1837,  1846,  1857,  1379,  1835,  1838,  1708,  1843,  1842,  1844,
1695        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,      1859,  1861,  1840,  1845,  1849,  1850,  1855,  1852,  1856,  1862,
1696        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,      1825,  1863,  1860,  1858,  1864,  1865,  1866,  1867,  1869,  1868,
1697        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,      1871,  1877,  1870,  1872,  1876,  1873,  1874,  1831,  1875,  1246,
1698        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,      1878,  1880,  1882,  1881,  1884,  1833,  1886,  1883,  1887,  1889,
1699        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,      1893,  1885,  1176,  1895,  1888,  1836,  1897,  1891,  1894,  1892,
1700       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,      1896,  1890,  1898,  1899,  1900,  1901,  1902,  1903,  1904,  1905,
1701       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,      1910,  1879,  1912,  1913,  1911,  1906,  1907,  1909,  1918,  1212,
1702       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,      1259,  1908,  1926,  1786,  1914,  1928,  1917,  1919,  1915,  1916,
1703       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,      1920,  1925,  1927,  1929,  1930,  1921,  1924,  1932,  1931,  1933,
1704       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,      1934,  1935,  1936,  1938,  1818,  1946,  1937,  1939,  1948,  1940,
1705       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,      1941,  1949,  1951,  1942,  1944,  1943,  1952,  1955,  1381,  1945,
1706       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,      1947,  1950,   780,  1953,  1962,  1954,  1956,  1960,  1964,  1958,
1707       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,      1963,  1957,   808,  1959,  1961,  1359,   420,   727,   489,   490,
1708       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       491,     0,   750,     0,     0,     0,   773,     0,     0,     0,
1709       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       308,     0,     0,     0,     0,     0,     0,   421,     0,     0,
1710       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,         0,   422,     0,     0,     0,     0,     0,   492,     0,     0,
1711       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,         0,   493,   494,   495,     0,     0,     0,   496,     0,   497,
1712       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,         0,     0,     0,     0,     0,   498,     0,     0,     0,     0,
1713       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1714       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1715       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1716       263,   264,   316,    46,    47,     0,     0,    48,    49,    50,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1718        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1719        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1720        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1721        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,         0,     0,     0,     0,     0,     0,   434,  1365,   329,    53,
1722       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,        54,    55,    56,    57,   330,   331,   332,   333,   334,   335,
1723       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       336,   337,   338,   339,    68,    69,    70,    71,    72,    73,
      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,   264,   316,    46,    47,   771,   772,    48,  
      773,   774,    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,   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,   877,     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,    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,  
      878,    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,    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,   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,    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,    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,   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,  
      721,    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,  
1724        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1725        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1726        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
# Line 1367  static const short int yytable[] = Line 1740  static const short int yytable[] =
1740       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1741       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1742       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1743       316,   743,    47,     0,     0,    48,    49,    50,   317,   318,       264,   265,   266,   267,   268,   269,   270,   930,   499,   271,
1744       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,       329,    53,    54,    55,    56,    57,   330,   331,   332,   333,
1745        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       334,   335,   336,   337,   338,   339,    68,    69,    70,    71,
       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,   745,    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,  
1746        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1747        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1748        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
# Line 1411  static const short int yytable[] = Line 1762  static const short int yytable[] =
1762       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1763       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1764       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1765       262,   263,   316,   837,    47,     0,     0,    48,    49,    50,       262,   263,   264,   265,   266,   267,   268,   269,   270,   500,
1766       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,       933,   271,    52,    53,    54,    55,    56,    57,    58,    59,
1767        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
       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,   857,    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,  
1768        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1769        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1770        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
# Line 1455  static const short int yytable[] = Line 1784  static const short int yytable[] =
1784       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1785       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1786       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1787       260,   261,   262,   263,   316,   858,    47,     0,     0,    48,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1788        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,       270,   501,   502,   271,   329,    53,    54,    55,    56,    57,
1789       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,       330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
1790          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1791          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1792          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1793          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1794         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1795         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1796         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1797         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1798         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1799         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1800         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1801         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1802         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1803         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1804         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1805         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1806         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1807         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1808         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1809         258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1810         268,   269,   270,   503,   504,   271,   329,    53,    54,    55,
1811        1196,  1197,    58,    59,    60,    61,    62,    63,    64,    65,
1812          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1813          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1814          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1815          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1816         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1817         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1818         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1819         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1820         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1821         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1822         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1823         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1824         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1825         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1826         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1827         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1828         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1829         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1830         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1831         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1832         266,   267,   268,   269,   270,   633,   634,   329,    53,    54,
1833          55,    56,    57,   330,   331,   332,   333,   334,   335,   336,
1834         337,   338,   339,    68,    69,    70,    71,    72,    73,    74,
1835          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1836          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1837          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1838         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1839         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1840         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1841         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1842         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1843         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1844         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1845         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1846         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1847         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1848         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1849         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1850         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1851         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1852         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1853         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1854         265,   266,   267,   268,   269,   270,   329,    53,    54,    55,
1855          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1856          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1857          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1858          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1859          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1860         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1861         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1862         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1863         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1864         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1865         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1866         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1867         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1868         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1869         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1870         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1871         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1872         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1873         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1874         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1875         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1876         266,   267,   268,   269,   270,   329,  1098,    54,    55,    56,
1877          57,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1878         339,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1879          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1880          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1881          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1882         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1883         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1884         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1885         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1886         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1887         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1888         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1889         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1890         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1891         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1892         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1893         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1894         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1895         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1896         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1897         257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1898         267,   268,   269,   270,   329,  1127,    54,    55,    56,    57,
1899         330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
1900          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1901          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1902          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1903          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1904         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1905         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1906         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1907         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1908         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1909         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1910         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1911         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1912         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1913         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1914         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1915         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1916         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1917         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1918         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1919         258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1920         268,   269,   270,   329,  1129,    54,    55,    56,    57,   330,
1921         331,   332,   333,   334,   335,   336,   337,   338,   339,    68,
1922        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1923        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1924        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1477  static const short int yytable[] = Line 1938  static const short int yytable[] =
1938       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1939       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1940       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1941       259,   260,   261,   262,   263       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1942         269,   270,   329,  1297,    54,    55,    56,    57,   330,   331,
1943         332,   333,   334,   335,   336,   337,   338,   339,    68,    69,
1944          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1945          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1946          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1947         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1948         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1949         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1950         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1951         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1952         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1953         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1954         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1955         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1956         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1957         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1958         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1959         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1960         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1961         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1962         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1963         260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1964         270,   329,  1313,    54,    55,    56,    57,   330,   331,   332,
1965         333,   334,   335,   336,   337,   338,   339,    68,    69,    70,
1966          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1967          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1968          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1969         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1970         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1971         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1972         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1973         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1974         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1975         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1976         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1977         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1978         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1979         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1980         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1981         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1982         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1983         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1984         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1985         261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1986         329,  1314,    54,    55,    56,    57,   330,   331,   332,   333,
1987         334,   335,   336,   337,   338,   339,    68,    69,    70,    71,
1988          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1989          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1990          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1991         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1992         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1993         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1994         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1995         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1996         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1997         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1998         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1999         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2000         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2001         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2002         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2003         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
2004         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
2005         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
2006         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2007         262,   263,   264,   265,   266,   267,   268,   269,   270,   509,
2008         423,   446,   424,   425,   448,   427,   428,   429,     0,   510
2009  };  };
2010    
2011  static const short int yycheck[] =  static const yytype_int16 yycheck[] =
2012  {  {
2013        14,    14,   471,    16,    17,    18,    19,    20,    21,    22,        15,   829,    17,    18,    19,    20,    21,    22,    23,    24,
2014        23,    24,    25,    26,    27,   595,   279,     5,   272,   273,        25,    26,    27,    28,    29,    30,    31,   529,   609,    15,
2015       272,   273,   279,   279,   743,    25,   745,     6,     7,    32,       869,  1124,  1063,   859,   278,   283,   284,   288,   566,    24,
2016        29,    25,   225,   226,    24,    29,    35,    40,    38,    21,       568,   283,   284,   287,   288,   290,    24,   290,     5,     1,
2017        23,    24,    52,    53,    54,    55,    56,    57,    58,    59,       290,     3,    32,  1309,    32,   977,  1187,    39,   586,    33,
2018        60,    33,     1,    36,     3,    34,    33,    40,    38,    22,        34,  1317,  1087,    19,    37,    37,   594,    19,    37,    21,
2019        42,    25,    39,    52,    53,    54,    55,    56,    57,    58,        22,    37,    37,    25,    21,    22,  1107,    33,    30,    31,
2020        59,    60,    21,    36,    23,    24,    22,    23,    27,    23,        21,    22,    27,    35,    36,    37,    22,    39,   278,   591,
2021        25,    23,    24,    32,    22,    29,    25,    33,    37,    38,      1127,    38,  1129,    34,   553,   285,    32,    38,    43,    23,
2022        39,    29,    41,    39,    21,    21,    42,    23,    40,    25,        59,    60,    61,    62,    63,    64,    65,    66,    67,   568,
2023        24,    39,    41,    25,    42,   737,    33,    33,   577,   741,        19,  1136,  1137,  1138,  1139,    39,    89,    89,    22,    30,
2024       579,   580,    36,    39,     6,     7,    38,     8,   837,    24,        89,    23,    31,    89,    89,    36,    23,   586,    37,    22,
2025        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        27,    40,    20,    37,    36,   594,     9,    10,    11,    12,
2026        41,    36,    41,    42,    41,    42,   605,    25,   857,   858,        13,    14,    15,    16,    17,    18,    34,    23,    23,    22,
2027        23,    24,     0,   612,   613,   614,   615,   616,   617,   618,        19,    20,    21,    22,    22,    24,    25,   281,  1289,    32,
2028       619,   620,     8,    23,    24,    11,    12,    13,    14,    15,        36,   285,    31,  1085,    21,    22,    34,   695,    37,    38,
2029        16,    17,    18,    19,    20,    34,   429,   522,   523,   224,       278,    40,  1428,    19,    31,    21,    22,    23,    24,   287,
2030        24,     8,   429,   429,    11,    12,    13,    14,    15,    16,       288,    22,    32,   291,    19,    31,    21,    22,    23,    24,
2031        17,    18,    19,    20,    25,    21,    21,    23,    23,    25,        23,    37,    38,    34,    40,    19,    31,    27,    21,    22,
2032        21,    39,    21,    40,    25,   271,    39,    33,    33,    29,       531,   224,    20,    33,    27,    40,    30,    31,    32,    27,
2033       276,   277,    33,    22,   458,   281,   458,     9,    10,    11,        59,    60,    61,    62,    63,    64,    65,    66,    67,    37,
2034        12,    13,    14,    15,    16,    17,    18,    19,    20,   430,        19,    27,    40,    19,     0,    24,  1319,    23,    31,   560,
2035       431,   432,   433,   434,   435,   436,   437,   438,   439,   440,       561,  1118,    31,    39,    37,    31,  1123,   222,   223,   570,
2036       441,    39,   225,    23,    21,    40,   224,   225,   226,    40,       571,    23,   222,   223,   222,   223,    21,    22,   222,   223,
2037        24,    40,   711,    35,    25,    25,    39,    41,    34,    28,        19,    34,    21,    22,    37,    24,    31,   588,   589,    22,
2038        28,   831,    29,    25,   834,    29,    41,    28,   727,    29,      1297,    23,    31,    23,   595,   596,   282,   224,   225,   226,
2039        23,    34,    29,    28,    23,    41,    41,   280,    29,    35,        37,   287,   288,   225,   226,     6,  1313,  1314,     9,    10,
2040        22,    40,    40,    24,    38,    23,   225,   226,    11,    12,        11,    12,    13,    14,    15,    16,    17,    18,    34,    31,
2041        13,    14,    15,    16,    17,    18,    19,    20,    21,    42,       600,    37,    39,    40,   278,    37,   606,   542,   282,   542,
2042        40,    21,    21,    21,    38,    27,   306,    24,   308,   309,        21,    15,   542,   287,   288,    21,    27,   606,   607,   608,
2043       310,   311,   312,   313,   314,   315,    11,    12,    13,    14,       838,    27,   840,   543,   544,   545,   546,   547,   548,   549,
2044        15,    16,    17,    18,    19,    20,    29,    24,    24,    21,       550,   551,   552,    38,   554,   555,   556,   557,    21,   559,
2045        24,    24,    39,   336,    24,    24,    21,   340,    14,   342,        21,    21,   562,   563,    27,    37,    27,    27,    31,    21,
2046       343,   344,   345,   346,    28,   348,    26,   350,   351,   352,        21,   346,   347,   348,    19,    27,    27,   225,   226,   600,
2047       353,   354,    39,    25,    29,   358,   359,    38,   361,   362,       283,   284,   600,    40,   359,   288,   600,    34,   600,    27,
2048        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,       365,    20,   367,   368,   369,   370,   371,   869,   373,   897,
2049        35,    25,   375,   376,   377,    38,    40,    39,    34,   382,       375,   376,   377,   378,   379,    38,   381,   382,   383,   384,
2050       383,   384,   385,   386,   387,    29,    29,    34,    29,   848,       385,   386,   387,   388,   389,   225,    34,    31,   393,    37,
2051        29,    29,    42,    29,    34,    29,    29,    34,    40,    29,       395,    34,    34,   398,    37,    37,   401,   402,    39,    40,
2052        35,    29,    29,    35,    26,   408,    35,   410,    34,    23,       222,   223,   407,   408,   409,    31,   411,   412,   413,     7,
2053        41,    23,    25,    29,    23,    34,    36,    35,    91,    34,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2054        45,    32,    25,    91,    34,    26,    24,    35,    35,    34,        18,   426,    22,   428,   429,   430,    21,    22,   433,   434,
2055        91,    35,    38,    91,    34,    24,    32,    25,    25,    34,        21,   436,   437,   438,   439,    21,    22,  1125,  1126,   444,
2056        21,    25,   446,   447,    22,    38,    25,    21,    25,    25,       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
2057        35,    45,    38,    25,    29,   459,   460,   461,   462,   463,       289,   290,   279,   280,    19,    19,    38,    38,    38,  1285,
2058        29,    25,    29,    29,    29,    38,    29,    91,    91,    25,        22,    33,  1288,    23,    23,    19,    37,   272,    26,    39,
2059        91,    41,    32,    41,    91,    33,    25,    29,    32,    22,       319,    20,   321,   322,   323,   324,   325,   326,   327,   328,
2060        35,    32,    35,    40,   487,   488,   489,   490,   491,   492,       811,   812,   813,     6,    27,    26,     9,    10,    11,    12,
2061       493,   494,   495,   496,   497,   498,   499,   500,   501,    91,        13,    14,    15,    16,    17,    18,     9,    10,    11,    12,
2062        91,    34,   505,   506,    38,    34,    32,   507,   508,   509,        13,    14,    15,    16,    17,    18,    19,   512,    20,    42,
2063       510,   511,   512,   513,   514,   515,    35,    34,    33,   522,        32,    27,    23,   844,   845,    33,    33,    27,  1549,    27,
2064       523,    33,    35,   526,    34,   528,    35,   530,   507,   508,        20,     6,   853,   854,     9,    10,    11,    12,    13,    14,
2065       509,   510,   511,   512,   513,   514,   515,    33,   541,   542,        15,    16,    17,    18,    39,  1353,    42,    27,  1631,    26,
2066       543,   544,   545,   546,   547,   548,   549,   550,   551,   552,        20,   872,    39,  1124,     9,    10,    11,    12,    13,    14,
2067       553,    91,    91,    32,    32,    91,    23,    22,    41,    32,        15,    16,    17,    18,     9,    10,    11,    12,    13,    14,
2068        23,    25,    39,     5,    36,    41,    41,    36,    25,    35,        15,    16,    17,    18,    42,    27,    32,   553,    21,    27,
2069        41,    91,    25,    29,    36,    26,    21,    32,   582,    23,        39,    39,    26,    20,    30,   906,   907,   908,   909,    42,
2070        91,   585,   586,   587,   588,    35,    25,   591,    40,    25,       566,    27,   568,    33,    33,    36,    38,    21,    20,    19,
2071        25,    39,    41,    40,    24,    41,    91,   600,   601,   603,        38,  1119,   578,   579,    36,    40,  1098,  1099,    38,    34,
2072        40,    34,    29,    41,   280,    34,    40,    35,   265,    41,       586,    89,    22,    22,    19,    19,    89,    25,   594,    22,
2073        32,    34,    36,    21,    35,    41,    34,    91,   622,    36,        89,    36,    38,    30,    22,   601,   602,   603,   604,  1458,
2074       624,    40,    36,    32,    40,    40,    36,    40,    40,    36,        27,    32,    22,   609,   610,  1127,    22,  1129,   633,   634,
2075        41,    35,    34,    25,    34,    41,    41,    40,    32,    32,      1132,    22,    89,    22,    19,    22,   641,   642,   643,  1141,
2076        41,   644,    41,    41,    40,    26,    41,    34,   651,    35,      1142,  1143,  1144,    37,    22,    89,    89,    26,    89,    22,
2077       653,   654,   655,    41,   657,    40,   659,    40,    34,    41,       655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
2078        91,    29,    21,    40,    24,    40,    91,    24,    40,   672,       665,   666,   667,   668,    32,    22,    24,    19,    89,    33,
2079        36,   674,    34,    40,    35,    24,    41,    40,   681,   682,        36,    27,    23,    89,    33,    38,    23,   682,   683,   684,
2080       683,   684,   685,   686,   687,   688,   689,    27,   691,    24,       685,    36,    32,   688,    37,    27,   691,    27,    33,    30,
2081       693,    35,    25,    27,    91,    25,    25,    35,    41,    40,        27,   696,   697,    27,    32,    27,    27,   702,   703,    27,
2082        91,    91,    91,    39,    29,    29,    29,    91,    29,   713,        19,    37,   707,   708,   709,    40,    39,   712,    32,   695,
2083       714,   715,    91,   717,    42,    25,    38,   721,    24,    24,       669,   670,   671,   672,   673,   674,   675,   676,   677,    30,
2084        38,   721,    42,    42,   728,    42,    40,    28,    35,    29,       725,    27,   727,    33,   729,    27,    27,    27,    37,    27,
2085       734,   735,   408,   737,   738,   739,    34,   741,   742,   743,        27,   736,    27,  1064,  1065,    27,    32,    27,  1319,    38,
2086        91,   745,   742,   743,    25,   745,    42,    40,    25,    29,       745,   746,   747,   748,   749,   750,   751,   752,   753,   754,
2087       407,    29,    28,    25,    29,    40,    35,    28,    45,   762,       755,   756,   757,   758,   759,   760,    37,   762,    33,    33,
2088       763,    21,   765,   766,    91,    29,    25,    29,   444,   445,       609,   766,   767,   768,   769,    27,   771,   772,   773,   774,
2089        23,    25,    42,   773,   774,    91,    91,   453,    23,   779,        39,    19,    33,    39,    23,    27,    23,    27,    24,    32,
2090        23,    42,    21,    23,    42,   788,    42,   463,    21,    38,        37,    20,    27,    27,    21,    23,    19,    21,    43,    21,
2091        36,    29,    34,   796,   773,   774,    25,    38,    42,    35,        32,    27,    32,    19,    23,  1297,  1298,    32,    89,    23,
2092        34,    36,    39,    29,    25,    29,   809,    25,    25,    34,        30,   806,    33,   808,    32,    32,    89,    32,    30,    24,
2093       810,   811,   469,    29,    28,    45,    25,    40,    23,    34,        31,  1313,  1314,    30,    32,    23,   775,   776,  1320,    89,
2094        39,    34,    25,    91,    21,    36,    34,    23,    23,    41,       669,   670,   671,   672,   673,   674,   675,   676,   677,    89,
2095        23,   810,   811,   837,    91,    21,    36,   837,   842,    38,        32,    89,    33,    33,    32,    32,    23,    36,    89,    33,
2096       840,   841,   842,   843,    34,    25,   522,   523,   505,   506,        36,    22,    22,   848,   830,    38,    89,   833,   834,   835,
2097       854,    25,   856,   857,   858,    40,    25,   857,   858,    41,       836,    30,   838,    31,   840,    22,   842,    40,    22,    33,
2098        36,    38,    25,    25,   843,    25,    36,    34,    25,    25,        37,   575,   576,    23,   850,    23,    32,    32,    19,    89,
2099        21,    32,    36,    39,   531,    40,    21,    32,    21,   879,        23,    19,    27,    30,   860,   861,    23,    20,   592,    23,
2100       880,    91,   882,    36,    91,    34,    32,    91,    38,    41,        36,    19,   868,    37,    89,    89,    38,    23,    37,    23,
2101        91,   894,    33,    25,    36,    21,    36,    24,   555,    38,        32,    36,    27,    23,    89,    23,   610,    43,    27,    89,
2102       879,   880,    40,    21,    25,   581,    21,   583,   584,   909,        33,    27,   707,   708,    89,    37,    27,   893,    32,   895,
2103       910,    21,    32,   589,   590,   919,    21,    40,   594,   595,        23,   897,    37,    89,    32,    27,    39,    21,    89,   633,
2104        91,    38,    38,    21,   600,   601,    33,    38,    24,    33,       634,    27,    27,    23,    27,   730,   775,   776,    23,    27,
2105        38,    25,    29,    25,    21,    25,    21,    38,    33,    42,       779,   936,   937,   938,    33,    23,    27,    21,    23,    89,
2106        40,    40,    33,    25,   854,   621,    25,   623,    29,    38,        36,    30,    32,    37,    27,    31,    23,    27,   953,    30,
2107        33,    25,    25,    25,    25,   919,    40,    25,    25,   604,        89,    30,    89,   912,    36,   960,  1458,   962,   963,   964,
2108        38,    38,    42,    38,    40,    25,    25,   856,   842,    38,        38,   966,   967,    32,    20,    33,   971,   972,    30,    22,
2109        40,   274,   274,    39,    38,    38,    38,   274,    39,   581,        40,    38,    32,   978,    38,    36,    33,    32,   783,    31,
2110       728,    -1,    -1,   275,   279,   279,    44,   277,   274,   277,        38,    32,    22,    32,    30,   990,    33,    22,    38,    32,
2111       742,   274,   274,    -1,   651,   652,    -1,   458,   458,    -1,        31,   977,    23,    30,    33,  1000,    32,  1002,    36,    33,
2112       657,   658,    -1,    -1,    -1,   279,   663,    -1,    -1,    -1,       805,    33,    89,    33,    30,    38,    22,  1012,  1013,  1014,
2113        1015,  1016,  1017,  1018,  1019,  1020,  1021,  1022,  1023,    32,
2114        1025,    30,  1027,    89,  1029,    40,    89,    21,  1033,  1034,
2115        1035,  1036,    20,  1038,  1039,  1040,  1041,    36,    23,    37,
2116          30,    89,    39,    36,    89,    37,    37,    33,    23,    21,
2117        1631,    33,    39,    37,    37,    36,    34,     5,    23,    39,
2118          36,   910,   911,   912,    89,    39,    27,    23,    89,    33,
2119          21,    39,    27,    36,    24,    89,    19,  1063,    89,    21,
2120          27,    33,    23,  1042,  1043,  1090,    39,    33,    21,    38,
2121          24,    23,   806,    38,   808,  1081,  1082,  1083,    38,  1085,
2122        1086,  1087,    39,    39,    27,  1091,    37,    23,    38,    22,
2123          38,    38,  1098,    39,    39,   829,    38,   831,   832,    39,
2124          39,  1107,    32,   837,    38,    33,   931,   841,    39,  1115,
2125        1116,    38,  1118,  1119,  1120,  1121,    32,  1123,  1124,  1125,
2126        1126,  1127,    32,  1129,   858,   859,    33,    33,    27,    34,
2127        1136,  1137,  1138,  1139,    38,   960,   961,    39,    32,    39,
2128          38,   966,    32,    27,    33,   970,    39,    39,    31,    36,
2129          31,    89,  1177,  1178,    34,  1180,  1181,  1182,   892,    38,
2130         894,    36,    21,   988,    32,    36,    19,    36,    31,    34,
2131          34,    38,    38,  1042,  1043,  1044,    31,    38,    36,    39,
2132          34,  1187,    38,    19,    23,    32,  1708,    39,  1213,    38,
2133         577,    34,    30,   580,    24,    32,  1221,    31,    33,  1024,
2134         587,  1026,    33,    32,    36,    38,   593,    23,    21,    32,
2135          36,    39,    23,  1238,    39,    39,    23,  1196,  1197,    89,
2136          39,    23,    39,    38,    30,  1250,  1251,  1252,  1253,  1098,
2137          39,    23,    89,    23,   621,    39,    39,    38,    89,    39,
2138          39,    89,    39,    39,    38,    38,    27,    30,    39,    24,
2139          39,    23,    39,    24,    33,  1124,    33,    39,  1127,    32,
2140        1129,    23,    89,    32,  1786,    31,    27,  1292,    38,    37,
2141          19,    38,    32,    32,    39,    31,  1145,  1146,    31,    89,
2142          31,    38,    32,  1289,    22,    32,    38,    22,    31,    34,
2143          38,  1297,  1298,    30,    38,    34,    36,    33,    39,    32,
2144          22,    33,    32,  1309,    38,    32,  1312,  1313,  1314,    33,
2145          31,  1317,  1318,  1319,    23,    38,    27,    22,    38,    25,
2146          22,    38,    23,    33,    21,    89,    89,  1196,  1197,    25,
2147          23,    23,    23,    23,    38,    89,    23,    23,    38,    33,
2148          39,    39,    37,    89,    21,    33,  1080,    89,  1373,    38,
2149        1084,    32,  1177,  1378,    38,    38,  1181,    23,    89,    38,
2150          89,    23,    32,  1097,    40,    40,    27,    27,    27,    27,
2151        1195,    36,    23,    89,    22,  1200,    32,    40,    33,    32,
2152          32,    22,    32,  1117,  1409,    30,    40,    36,  1122,    22,
2153          32,  1125,  1126,    40,  1128,    38,  1130,    33,    38,  1224,
2154          22,    40,    23,    38,    89,    33,    26,    32,    22,    89,
2155          27,    40,  1237,    39,    38,    38,    23,    27,  1243,  1425,
2156        1245,    23,  1428,    38,    22,    38,    27,    38,  1297,  1298,
2157          26,    23,    27,    38,    33,    26,    30,    43,   825,    23,
2158         827,   828,    27,    89,  1313,  1314,    39,    27,    38,    19,
2159        1319,    89,    89,    40,    27,    89,   843,    23,    27,    27,
2160          21,    23,    89,    37,    40,    32,    21,    27,    40,    21,
2161          19,    21,    19,    36,    27,    40,    34,    21,    23,    33,
2162        1505,    40,    21,   870,    32,    89,    32,    27,    31,    40,
2163          32,    23,    33,   880,   881,   882,   883,   884,   885,   886,
2164         887,   888,   889,   890,   891,    36,    32,    37,    36,    36,
2165          34,    31,    27,    38,   901,   902,   903,   904,    23,    27,
2166          36,    23,  1347,  1348,    31,    23,    32,    27,    32,    26,
2167          43,    23,    27,    24,    23,    38,    23,    36,    39,    19,
2168          36,    23,    32,  1549,    38,    21,    39,    19,    34,    23,
2169          19,  1285,  1286,  1287,  1288,    89,    37,    21,    21,    19,
2170          89,    23,    32,    21,    19,    32,    89,  1592,    34,    21,
2171          23,    32,    89,    19,    33,    23,    33,    21,    32,    21,
2172          23,    21,    38,    34,  1312,    21,    36,    34,    23,    23,
2173          39,    36,    31,    34,    32,    23,    23,    34,    23,    23,
2174          32,    34,    23,    23,    89,    24,    19,    38,    34,    39,
2175          19,    19,    30,  1425,    89,    38,    38,    19,    34,  1353,
2176          37,    89,    36,    38,    30,  1631,    37,    32,    38,    30,
2177          33,    38,    32,    32,    22,    33,    33,    24,    34,    31,
2178          33,    23,    19,  1318,    39,    36,  1671,    33,    37,    34,
2179          22,    19,    42,    36,    33,    39,    36,    38,    34,    23,
2180          89,    23,    36,    38,    27,    36,    19,    19,    33,    30,
2181          36,    19,    32,    32,    43,    33,    33,    89,    32,  1132,
2182          36,    36,    31,    27,    31,    89,    36,    38,    31,    24,
2183          24,    37,  1079,    19,    39,    89,    27,    38,    36,    39,
2184          22,    43,    23,    23,    23,    19,    38,    19,    23,    32,
2185          19,    89,    36,    40,    31,    33,    89,    33,    23,  1106,
2186        1144,    32,    23,  1748,    37,    23,    32,    31,    38,    36,
2187          38,    31,    27,    23,    22,    38,    38,    23,    32,    23,
2188          33,    32,    23,    40,  1786,    24,    38,    36,    23,    36,
2189          89,    23,    26,    38,    36,    38,    23,    23,  1320,    39,
2190          38,    37,  1631,    32,    37,    33,    36,    38,    22,    33,
2191          30,    36,   634,    36,    36,  1298,   285,   591,   290,   290,
2192         290,    -1,   600,    -1,    -1,    -1,   608,    -1,    -1,    -1,
2193          51,    -1,    -1,    -1,    -1,    -1,    -1,   285,    -1,    -1,
2194          -1,   285,    -1,    -1,    -1,    -1,    -1,   290,    -1,    -1,
2195          -1,   290,   290,   290,    -1,    -1,    -1,   290,    -1,   290,
2196          -1,    -1,    -1,    -1,    -1,   290,    -1,    -1,    -1,    -1,
2197        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2198        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,   690,    -1,   692,   712,    -1,    -1,    -1,  
      716,    -1,    -1,    -1,   720,    -1,    -1,    -1,    -1,    -1,  
2199        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      736,    -1,    -1,    -1,   740,    -1,    -1,    -1,   744,    -1,  
      746,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2200        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,   771,   772,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,   762,    -1,    -1,    -1,   766,  
       -1,    -1,    -1,   770,    -1,    -1,    -1,    -1,    -1,    -1,  
      777,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2201        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,   799,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,   808,    -1,    -1,    -1,   831,   832,   833,   834,   816,  
       -1,   818,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2202        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,   838,   839,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2203        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2204        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2205        -1,    -1,    -1,    -1,   871,   872,     3,     4,     5,     6,        -1,    -1,    -1,    -1,    -1,    -1,   286,  1304,     3,     4,
2206        -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
       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,   224,     3,     4,  
        5,    -1,     7,     8,     9,    10,    11,    12,    13,    14,  
2207        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2208        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2209        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
# Line 1646  static const short int yycheck[] = Line 2224  static const short int yycheck[] =
2224       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2225       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2226       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2227       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,       215,   216,   217,   218,   219,   220,   221,   222,   290,   224,
2228         3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2229        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2230        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2231        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
# Line 1668  static const short int yycheck[] = Line 2246  static const short int yycheck[] =
2246       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2247       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2248       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2249       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,       213,   214,   215,   216,   217,   218,   219,   220,   221,   290,
2250       223,   224,     3,     4,     5,    -1,    -1,     8,     9,    10,       223,   224,     3,     4,     5,     6,     7,     8,     9,    10,
2251        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2252        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2253        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1691  static const short int yycheck[] = Line 2269  static const short int yycheck[] =
2269       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2270       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2271       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2272       221,   222,   223,   224,     3,     4,     5,     6,     7,     8,       221,   290,   290,   224,     3,     4,     5,     6,     7,     8,
2273         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2274        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2275        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
# Line 1713  static const short int yycheck[] = Line 2291  static const short int yycheck[] =
2291       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2292       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2293       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2294       219,   220,   221,   222,   223,     3,     4,     5,     6,    -1,       219,   220,   221,   290,   290,   224,     3,     4,     5,     6,
        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,  
2295         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2296        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2297        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
# Line 1758  static const short int yycheck[] = Line 2314  static const short int yycheck[] =
2314       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2315       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2316       217,   218,   219,   220,   221,   222,   223,     3,     4,     5,       217,   218,   219,   220,   221,   222,   223,     3,     4,     5,
2317        -1,    -1,     8,     9,    10,    11,    12,    13,    14,    15,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2318        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2319        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2320        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
# Line 1779  static const short int yycheck[] = Line 2335  static const short int yycheck[] =
2335       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2336       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2337       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2338       216,   217,   218,   219,   220,   221,   222,   223,     3,     4,       216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2339         5,    -1,    -1,     8,     9,    10,    11,    12,    13,    14,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2340        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2341        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2342        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2343        45,    46,    47,    48,    49,    50,    51,    52,    53,    54,        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2344        55,    56,    57,    58,    59,    60,    61,    62,    63,    64,        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2345        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2346        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2347        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2348        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2349       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2350       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2351       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2352       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2353       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2354       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2355       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2356       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2357       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2358       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2359       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2360       215,   216,   217,   218,   219,   220,   221,   222,   223,     3,       217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
2361         4,     5,    -1,    -1,     8,     9,    10,    11,    12,    13,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2362        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2363        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2364        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
2365        44,    45,    46,    47,    48,    49,    50,    51,    52,    53,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2366        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2367        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
2368        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2369        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2370        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
2371       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
2372       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
2373       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2374       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2375       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2376       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2377       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2378       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2379       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2380       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2381       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2382       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       218,   219,   220,   221,     3,     4,     5,     6,     7,     8,
        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,     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,     8,  
2383         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2384        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2385        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
# Line 1934  static const short int yycheck[] = Line 2401  static const short int yycheck[] =
2401       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2402       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2403       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2404       219,   220,   221,   222,   223       219,   220,   221,     3,     4,     5,     6,     7,     8,     9,
 };  
   
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  
    symbol of state STATE-NUM.  */  
 static const unsigned short int yystos[] =  
 {  
        0,     1,     3,    21,    23,    24,    27,    32,    37,    38,  
       39,    41,   228,   229,   230,   231,   270,   271,   272,   273,  
      274,   275,   278,   279,   280,   281,   282,   318,   321,    24,  
       38,    25,    25,    29,    35,    41,    25,    25,    41,    34,  
        0,   225,   226,   268,   269,     3,     4,     5,     8,     9,  
2405        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2406        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2407        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1967  static const unsigned short int yystos[] Line 2423  static const unsigned short int yystos[]
2423       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2424       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2425       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2426       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,       220,   221,     3,     4,     5,     6,     7,     8,     9,    10,
2427       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2428       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2429        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2430        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2431       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2432        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2433        21,    23,    25,    33,    39,   234,   283,   284,   285,   286,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2434       294,   296,   297,   298,   299,   300,   301,   303,   305,   306,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2435       307,   308,   309,   310,   314,    21,    33,   236,   297,   307,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2436       237,   297,   307,    21,    23,    33,   242,   284,   285,   286,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2437       296,   303,   306,    29,   238,   293,   294,   283,    21,    25,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2438        33,   235,   283,   295,   300,   304,   305,   320,    22,    23,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2439        33,    39,    42,   232,   288,   289,   290,   291,   292,   319,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2440       233,   288,   289,   290,   291,   292,   319,   259,   265,   267,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2441       283,    21,    40,    40,    24,    40,    35,    25,    25,    39,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2442        41,   262,    28,    41,    42,    28,    34,    29,    25,   267,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2443       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2444       267,   267,    41,    29,   267,   267,   267,   267,    41,    28,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2445        29,    34,   267,   267,   267,    41,    23,    29,   267,   267,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2446       267,   267,   267,   267,    41,    28,    29,    40,    35,   259,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2447       267,   267,    40,    38,    42,    40,    23,    23,    22,    21,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2448        24,    21,    21,    27,    24,    38,    29,   287,   290,   291,       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2449       292,   287,   287,   287,   287,   287,   287,   287,   287,   287,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2450       287,   287,   287,    24,    24,   259,   259,    12,    13,    14,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2451        15,    16,    17,    18,    19,    20,   263,   263,    24,    21,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2452        24,    39,     6,     7,    34,   243,   255,   266,   277,   244,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2453       254,   259,   252,   263,    24,    28,    24,    21,    33,    42,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2454       239,   297,   301,   302,   307,   310,   311,   312,   313,   315,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2455       263,   263,   263,   263,   258,   259,   263,    26,    21,    39,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2456        38,    29,   252,    25,    35,    25,    40,    38,    39,    34,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2457        29,    29,    34,    29,    29,    42,    34,   267,   267,   267,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2458       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2459       267,   267,    29,    29,   267,   267,    29,    34,    29,    40,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2460       265,   265,    35,   267,   267,   267,    29,    35,    29,    41,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2461        29,    35,   267,   267,   267,   267,   267,   267,   267,   267,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2462       267,   267,   267,   267,   267,    26,    34,    23,    25,    23,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2463        45,    29,    23,    34,    35,    32,    34,    34,    91,    25,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2464        26,   252,    22,    36,   241,   316,   317,   252,   252,   254,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2465       263,   259,   259,   263,   263,   263,   263,   259,   259,   263,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2466        35,    91,   240,   259,   240,    35,    34,    91,    38,     6,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2467         7,    34,   253,   263,   255,   252,    35,    91,    24,    24,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2468        32,   252,   252,   252,   252,   252,   252,   252,   252,   252,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2469       259,   263,   259,   263,    25,    34,    25,    21,    25,    22,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2470        38,    25,    91,    21,    25,    25,    29,    38,    35,    45,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2471        25,   267,   267,   267,   267,   267,   267,   267,    91,    29,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2472       267,     4,    91,    25,    29,    41,    91,   267,   267,    91,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2473        29,    29,    29,    41,   267,   267,   267,   267,   267,   267,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2474       267,   267,   267,     4,   267,     4,   267,    38,    25,    32,        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2475        33,    91,    25,    29,    32,    35,    22,    32,    34,    40,        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2476        38,   252,   259,   263,   263,   263,   259,   263,    35,    34,        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2477       259,     6,     7,     9,    10,   256,   257,   259,   260,   261,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2478       262,   263,    35,    32,    34,    33,    33,   252,   253,    35,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2479        34,    35,    91,    33,   245,   263,   246,   263,   247,   259,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2480       245,   248,   263,    21,   249,   263,   276,   250,   259,   245,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2481         9,    10,   251,   260,   263,   256,   259,   256,   259,    91,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2482        32,    32,    91,    23,    22,    41,    32,    39,    36,    25,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2483        23,   267,   267,   267,   267,    41,    36,     4,   259,   259,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2484       261,   261,     5,     8,    41,    36,    25,    35,   267,    41,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2485        36,    91,    29,    25,   267,    32,   267,     4,     4,    26,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2486        91,    21,    23,    35,    25,    40,    25,    41,    39,    25,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2487       240,   259,   259,   240,    40,    41,   256,     6,     7,     8,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2488         8,   257,   261,    40,    41,    34,    24,   252,    40,    41,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2489        35,    34,   246,    32,   248,   256,   256,    29,    23,    29,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2490        34,    35,    41,    36,    91,    40,    34,    36,    40,   261,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2491       261,    36,    40,    40,    21,    36,    40,    41,    36,   267,       213,   214,   215,   216,   217,   218,   219,   220,   221,   290,
2492        32,    35,    34,    25,    41,    34,    41,    21,    25,    33,       285,   288,   285,   285,   288,   285,   285,   285,    -1,   290
       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  
2493  };  };
2494    
2495  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2496  # define YYSIZE_T __SIZE_TYPE__     symbol of state STATE-NUM.  */
2497  #endif  static const yytype_uint16 yystos[] =
2498  #if ! defined (YYSIZE_T) && defined (size_t)  {
2499  # define YYSIZE_T size_t         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2500  #endif        36,    37,    39,   228,   229,   230,   231,   289,   290,   291,
2501  #if ! defined (YYSIZE_T)       292,   293,   294,   295,   296,   297,   298,   303,   304,   305,
2502  # if defined (__STDC__) || defined (__cplusplus)       306,   380,   384,    22,    30,    36,    23,    23,    27,    33,
2503  #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */        19,    33,    39,    23,    23,    39,    32,     0,   225,   226,
2504  #  define YYSIZE_T size_t       287,   288,     3,     4,     5,     6,     7,     8,     9,    10,
2505  # endif        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2506  #endif        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2507  #if ! defined (YYSIZE_T)        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2508  # define YYSIZE_T unsigned int        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2509  #endif        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2510          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2511          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2512          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2513          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2514         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2515         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2516         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2517         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2518         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2519         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2520         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2521         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2522         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2523         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2524         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2525         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2526         221,   224,   278,   281,   282,   283,   286,   286,   286,   286,
2527         286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
2528         286,   286,    22,    23,    23,    37,    38,    37,    19,    34,
2529          40,    27,    31,    37,    38,    20,    31,    37,   287,     9,
2530          10,    11,    12,    13,    14,    15,    16,    17,    18,   280,
2531         281,   280,   280,   280,   280,   280,   280,   280,   280,     3,
2532           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2533         283,    21,    22,    31,   232,   307,   355,   365,   367,    19,
2534          21,    22,    23,    24,    31,    37,    38,    40,   238,   307,
2535         308,   309,   310,   331,   332,   335,   340,   341,   342,   343,
2536         344,   345,   347,   349,   350,   351,   352,   353,   354,   355,
2537         356,   357,   358,   363,   364,   365,   366,   367,   368,   373,
2538         374,    31,   235,   353,   236,   353,    31,   242,   354,    22,
2539         243,   365,   368,    19,    24,    31,   240,   341,   351,   363,
2540         244,   341,   351,   363,    19,    21,    22,    24,    31,   250,
2541         308,   309,   310,   340,   347,   350,   354,   356,   364,   366,
2542         367,    27,   245,   334,   335,   237,   307,   355,   365,   368,
2543          19,    23,    31,   239,   307,   339,   344,   348,   349,   355,
2544         363,   365,   368,   374,   383,    19,    20,    21,    22,    24,
2545          25,    31,    37,    38,    40,   233,   312,   313,   314,   315,
2546         316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
2547         326,   327,   328,   329,   330,   331,   333,   381,   234,   312,
2548         313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
2549         323,   324,   325,   326,   327,   328,   329,   330,   331,   333,
2550         381,   241,   307,    19,    19,    38,    38,    22,    23,    38,
2551          33,    23,    37,    19,    39,   281,    26,    20,    27,   286,
2552         286,   286,    39,    40,    26,    20,    32,    42,    27,    23,
2553          33,    33,   286,   286,   286,   286,   286,   286,   286,   286,
2554         286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
2555         286,   286,   286,   286,    27,   286,   286,    27,   286,    20,
2556         286,   286,    39,    42,    27,   286,   286,   286,   286,   286,
2557         286,    39,    26,    20,    42,    27,   286,   286,   286,   286,
2558          32,   286,   286,   286,   286,   286,   286,    39,    21,    27,
2559         286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
2560         286,    39,    39,    26,    20,    42,    30,    27,    38,    33,
2561          33,   286,    36,    38,    36,    40,    38,    21,    34,    20,
2562          19,    89,    22,   222,   223,   272,   285,   269,   285,    24,
2563          32,   269,   371,   372,    22,    19,    19,    89,    25,    89,
2564          22,    36,    38,    30,    27,   311,   328,   329,   330,   311,
2565         311,   311,   311,   311,   311,   311,   311,   311,   311,    10,
2566          11,    12,    13,    14,    15,    16,    17,    18,    19,   260,
2567         282,   299,   311,   311,   311,   311,   265,   282,   311,   269,
2568         269,   311,   311,    22,    32,   247,   302,   260,    22,   260,
2569         299,    89,   269,   269,    22,    89,    22,   278,   278,   265,
2570         282,   282,   265,    22,    19,    89,    89,    22,   260,   299,
2571         265,   269,   269,    37,   251,   271,   285,   302,   252,   268,
2572         278,   265,   260,   299,    24,   269,   370,   269,    22,    26,
2573          22,    19,    31,    37,   246,   341,   345,   346,   351,   355,
2574         358,   359,   360,   361,   374,   376,   377,   282,   282,   282,
2575         282,    32,   382,    19,    30,    31,   345,   362,   375,   382,
2576          22,   369,   382,   369,   382,     7,     8,   264,   279,   280,
2577         281,   282,   277,   278,   282,    22,    24,    19,    89,    89,
2578          33,    22,    37,    36,    38,    27,   265,    23,    33,    23,
2579          36,    37,    32,    27,    27,   278,   284,   286,   284,    30,
2580          33,   286,   286,   286,    27,    27,    32,    27,    27,    37,
2581          27,    40,    19,    39,    32,   286,   286,   286,   286,   286,
2582         286,   286,   286,   286,   286,   286,   286,   286,   286,    30,
2583         286,   286,   286,   286,   286,   286,    27,    33,   260,   286,
2584         286,    27,    27,   286,   286,    27,    37,    27,   286,   286,
2585         286,   286,    27,    32,    27,    37,    27,    38,   286,   286,
2586         286,    33,   286,    27,    33,    27,    39,    27,    39,    33,
2587         286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
2588         286,   286,   286,   286,   286,   286,    19,   286,    39,    23,
2589          27,   286,   286,   286,   286,    23,   286,   286,   286,   286,
2590         280,   280,     6,    27,    24,    32,    27,    37,    20,    27,
2591          21,    23,    19,    21,    43,    27,    21,    32,    32,    89,
2592         222,   278,   286,   223,    19,    32,   269,   269,   269,    33,
2593          30,    32,    32,    32,    23,    89,    23,    30,    31,    24,
2594         265,    20,    34,   249,   378,   379,   265,   265,   268,   282,
2595         278,   278,   282,   282,   282,   282,   278,   260,    30,   260,
2596         278,   282,   265,   269,   269,    89,    32,   286,   261,   282,
2597          89,    32,   269,   269,    33,    23,    89,   248,   278,   248,
2598         263,   282,   267,   282,    33,    32,    32,    23,    89,    36,
2599         266,   282,   271,   265,    36,   269,    33,    89,    22,    22,
2600          38,    30,   265,   265,   265,   265,   265,   265,   265,   265,
2601         265,   265,   265,   265,   278,   282,   278,   282,    31,   260,
2602          22,    40,    22,   265,   265,   265,   265,    37,   269,   269,
2603         269,   269,     6,     6,   280,    33,    23,    32,    32,    23,
2604          19,    89,    23,    19,    30,    23,    20,    36,    23,    37,
2605          27,    38,    89,   286,   286,   286,    89,    19,    23,    37,
2606          23,    32,    27,    36,    89,    23,    33,    43,    23,   286,
2607         286,   286,   286,   286,   286,   286,   286,   286,    27,    89,
2608         261,   286,    27,    37,    89,    32,    27,   286,     4,   286,
2609          89,    23,    37,    32,    27,    39,   286,   286,    21,    89,
2610          27,    27,    27,    23,    33,   286,   286,   286,   286,   286,
2611         286,   286,   286,   286,   286,   286,   286,     4,   286,     4,
2612         286,    23,   286,    27,    23,    27,   286,   286,   286,   286,
2613          21,   286,   286,   286,   286,   280,   280,    89,    36,    23,
2614          37,    32,    30,    27,    30,    31,    89,    89,    23,    27,
2615          30,    38,    32,    36,   266,   269,   269,    33,    20,    30,
2616          38,    22,    32,    40,    38,    36,   265,   278,   282,   282,
2617         282,   278,   261,   282,   267,    32,    31,   286,   262,   282,
2618          32,    38,    33,    22,    32,   278,     7,     8,   275,   276,
2619         278,   279,   282,   285,   274,   285,    33,    30,    38,    22,
2620          32,    31,   265,   266,    23,    33,    32,    33,    89,   254,
2621         282,   255,   282,   256,   278,   254,    22,    32,   260,   300,
2622         301,   257,   282,   258,   282,   299,   259,   278,   254,   264,
2623         277,   277,   275,   278,   275,   278,   272,    33,    30,    89,
2624         267,   267,   267,   267,    36,   285,   270,   285,   285,   270,
2625          33,    89,    30,    38,    22,    89,    32,    30,    89,    40,
2626          21,    20,    36,    37,    23,    39,    30,    37,    36,    37,
2627          34,    37,    33,    23,    21,   286,   286,   286,   286,   286,
2628          37,    33,   262,    37,    36,    39,    34,     4,     5,    39,
2629          36,    34,    37,    23,   286,    39,    34,    89,    27,   286,
2630          23,    33,   286,     4,     4,    89,    21,   286,   286,   286,
2631         286,    27,    39,    24,    89,    36,    89,    27,    34,    37,
2632          19,    21,    33,    33,    23,    39,    38,    21,    38,    23,
2633          39,    39,    38,    27,    37,    23,   248,   278,   278,   248,
2634         262,    38,    22,   286,    38,    39,    38,    39,   275,   276,
2635          38,    39,    39,    38,    32,   265,    38,    39,    33,    32,
2636         255,    24,    32,   257,   275,   275,    33,    33,   255,   263,
2637         264,   274,    34,    38,    27,    21,    27,    39,    21,    27,
2638          32,    39,    38,    32,    33,    27,    39,    31,    36,    39,
2639          34,    89,    31,    38,    36,    21,    32,    36,    19,   268,
2640          36,    31,    34,    38,    34,    31,    38,    36,    38,    34,
2641          38,    39,    34,    19,    23,   286,    39,    32,   286,    38,
2642          34,    30,    33,    32,    31,    33,    32,    24,    38,    36,
2643          23,    39,    21,    32,    23,    39,    36,    39,    19,    23,
2644          31,    23,    89,    39,    23,    38,    39,    30,   286,    39,
2645          23,    39,    89,    39,    23,    89,    39,    39,    89,    38,
2646          39,    39,   258,    38,    38,   255,    27,    39,    30,    39,
2647          24,    23,    39,    24,    33,    89,    39,    33,    32,    23,
2648          38,    32,    31,    37,    38,    39,    32,    27,    32,    22,
2649          34,    31,    89,    19,    31,   271,    31,    32,    38,    22,
2650          38,    32,    22,    31,    38,    22,    34,    34,    38,    30,
2651          34,    36,    33,    38,    32,    33,    32,    32,    33,    22,
2652          31,    39,    38,    89,    38,    23,    27,    89,    22,    25,
2653          22,    38,    23,    36,    33,    23,    21,    25,    23,   286,
2654          23,    38,    89,    23,    89,    38,    23,    23,    89,    23,
2655          33,    39,    89,    38,    39,    33,    32,    89,    38,    38,
2656          38,    23,    23,    37,    21,    37,    89,    32,    40,    21,
2657          22,    27,    27,    27,    89,    40,    27,    36,    32,    33,
2658          23,    32,   266,    32,    22,    40,    22,    89,    40,    32,
2659          21,    22,    40,    36,    38,    21,    34,    38,    38,    30,
2660          22,    89,    40,    32,    33,    22,    38,    23,    26,    23,
2661          36,    33,    32,    89,    22,    27,    40,    38,    38,    39,
2662          38,   286,    38,    23,    27,    23,    22,    27,    38,    26,
2663          23,    27,    38,    89,    26,    33,    43,    89,    30,    23,
2664          21,    22,    27,    27,    38,    39,    27,    89,    19,    40,
2665          27,    89,    23,    27,    27,    21,    23,    89,    37,    89,
2666          32,   264,    40,    21,    40,    27,    21,    89,    19,    40,
2667          21,    21,    38,    19,    36,    34,    23,    40,    33,    27,
2668          32,    21,    89,    32,    36,    31,    32,    27,    40,    33,
2669          37,    32,    36,    23,    36,    34,    31,    38,   286,    27,
2670          23,    27,    36,    23,    31,    32,    27,    23,    26,    43,
2671          32,    38,    23,    36,    27,    39,    36,    24,    23,    21,
2672          27,    31,    38,    23,    19,    32,    21,    23,    39,    34,
2673          23,    37,    89,    19,    19,    89,    33,    34,   253,   273,
2674         285,   336,   337,   338,    21,    21,    23,    19,    32,    21,
2675          89,    19,    34,    32,    21,    32,    23,    33,    89,    33,
2676          32,    19,    21,    34,    23,    23,    36,    38,    39,    21,
2677          34,    36,    34,    31,    32,    23,   286,    23,    23,    21,
2678          34,    23,    23,    34,    32,    23,    23,    23,    38,    21,
2679          21,    27,    39,    24,    34,    38,    30,    37,    89,    34,
2680          38,    38,    19,    19,    37,    19,    89,    36,   273,    38,
2681          30,    89,    19,    32,    30,    89,    38,    33,    32,    32,
2682          33,    89,    33,    89,    34,    39,    89,    33,    36,    31,
2683          42,    22,    37,    33,    34,    36,    23,    21,    27,    33,
2684          39,    24,    38,    21,    27,    36,    34,    19,    38,    22,
2685          36,    19,    23,    23,    27,    36,    19,    19,    30,    33,
2686          32,    36,    32,    33,    33,    32,    43,    19,    36,    89,
2687          36,    27,    31,    38,    31,    37,    36,    31,    39,    24,
2688          43,    38,    39,    24,    36,    19,    22,    27,    23,    23,
2689          23,    19,    38,    19,    23,    32,    33,    89,    32,    33,
2690          19,    31,    36,    40,    37,    38,    36,    32,    23,    31,
2691          38,    38,    21,    27,    38,    31,    23,    27,    23,    23,
2692          22,    32,    23,    23,    33,    32,    23,    38,    40,    36,
2693          36,    89,    38,    38,    36,    39,    24,    38,    23,    23,
2694          37,    26,    23,    32,    33,    23,    36,    36,    33,    36,
2695          38,    36,    37,    30,    22
2696    };
2697    
2698  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2699  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
# Line 2103  do                                                             \ Line 2720  do                                                             \
2720        yychar = (Token);                                         \        yychar = (Token);                                         \
2721        yylval = (Value);                                         \        yylval = (Value);                                         \
2722        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2723        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2724        goto yybackup;                                            \        goto yybackup;                                            \
2725      }                                                           \      }                                                           \
2726    else                                                          \    else                                                          \
2727      {                                                           \      {                                                           \
2728        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2729        YYERROR;                                                  \        YYERROR;                                                  \
2730      }                                                           \      }                                                           \
2731  while (0)  while (YYID (0))
2732    
2733    
2734  #define YYTERROR        1  #define YYTERROR        1
2735  #define YYERRCODE       256  #define YYERRCODE       256
2736    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2737    
2738    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2739       If N is 0, then set CURRENT to the empty location which ends
2740       the previous symbol: RHS[0] (always defined).  */
2741    
2742    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2743  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2744  # define YYLLOC_DEFAULT(Current, Rhs, N)                \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2745     ((Current).first_line   = (Rhs)[1].first_line,       \      do                                                                  \
2746      (Current).first_column = (Rhs)[1].first_column,     \        if (YYID (N))                                                    \
2747      (Current).last_line    = (Rhs)[N].last_line,        \          {                                                               \
2748      (Current).last_column  = (Rhs)[N].last_column)            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2749              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2750              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2751              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2752            }                                                               \
2753          else                                                              \
2754            {                                                               \
2755              (Current).first_line   = (Current).last_line   =              \
2756                YYRHSLOC (Rhs, 0).last_line;                                \
2757              (Current).first_column = (Current).last_column =              \
2758                YYRHSLOC (Rhs, 0).last_column;                              \
2759            }                                                               \
2760        while (YYID (0))
2761  #endif  #endif
2762    
2763    
2764    /* YY_LOCATION_PRINT -- Print the location on the stream.
2765       This macro was not mandated originally: define only if we know
2766       we won't break user code: when these are the locations we know.  */
2767    
2768    #ifndef YY_LOCATION_PRINT
2769    # if YYLTYPE_IS_TRIVIAL
2770    #  define YY_LOCATION_PRINT(File, Loc)                  \
2771         fprintf (File, "%d.%d-%d.%d",                      \
2772                  (Loc).first_line, (Loc).first_column,     \
2773                  (Loc).last_line,  (Loc).last_column)
2774    # else
2775    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2776    # endif
2777    #endif
2778    
2779    
2780  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2781    
2782  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2147  while (0) Line 2797  while (0)
2797  do {                                            \  do {                                            \
2798    if (yydebug)                                  \    if (yydebug)                                  \
2799      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2800  } while (0)  } while (YYID (0))
2801    
2802  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2803  do {                                            \  do {                                                                      \
2804    if (yydebug)                                  \    if (yydebug)                                                            \
2805      yysymprint Args;                            \      {                                                                     \
2806  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
2807          yy_symbol_print (stderr,                                            \
2808                      Type, Value); \
2809          YYFPRINTF (stderr, "\n");                                           \
2810        }                                                                     \
2811    } while (YYID (0))
2812    
2813    
2814    /*--------------------------------.
2815    | Print this symbol on YYOUTPUT.  |
2816    `--------------------------------*/
2817    
2818    /*ARGSUSED*/
2819    #if (defined __STDC__ || defined __C99__FUNC__ \
2820         || defined __cplusplus || defined _MSC_VER)
2821    static void
2822    yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2823    #else
2824    static void
2825    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2826        FILE *yyoutput;
2827        int yytype;
2828        YYSTYPE const * const yyvaluep;
2829    #endif
2830    {
2831      if (!yyvaluep)
2832        return;
2833    # ifdef YYPRINT
2834      if (yytype < YYNTOKENS)
2835        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2836    # else
2837      YYUSE (yyoutput);
2838    # endif
2839      switch (yytype)
2840        {
2841          default:
2842            break;
2843        }
2844    }
2845    
2846  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2847  do {                                                            \  /*--------------------------------.
2848    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
2849      {                                                           \  `--------------------------------*/
2850        YYFPRINTF (stderr, "%s ", Title);                         \  
2851        yysymprint (stderr,                                       \  #if (defined __STDC__ || defined __C99__FUNC__ \
2852                    Token, Value);        \       || defined __cplusplus || defined _MSC_VER)
2853        YYFPRINTF (stderr, "\n");                                 \  static void
2854      }                                                           \  yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2855  } while (0)  #else
2856    static void
2857    yy_symbol_print (yyoutput, yytype, yyvaluep)
2858        FILE *yyoutput;
2859        int yytype;
2860        YYSTYPE const * const yyvaluep;
2861    #endif
2862    {
2863      if (yytype < YYNTOKENS)
2864        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2865      else
2866        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2867    
2868      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2869      YYFPRINTF (yyoutput, ")");
2870    }
2871    
2872  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2873  | 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 |
2874  | TOP (included).                                                   |  | TOP (included).                                                   |
2875  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2876    
2877  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2878         || defined __cplusplus || defined _MSC_VER)
2879  static void  static void
2880  yy_stack_print (short int *bottom, short int *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2881  #else  #else
2882  static void  static void
2883  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2884      short int *bottom;      yytype_int16 *bottom;
2885      short int *top;      yytype_int16 *top;
2886  #endif  #endif
2887  {  {
2888    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2889    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
2890      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
2891    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2892  }  }
# Line 2191  yy_stack_print (bottom, top) Line 2895  yy_stack_print (bottom, top)
2895  do {                                                            \  do {                                                            \
2896    if (yydebug)                                                  \    if (yydebug)                                                  \
2897      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
2898  } while (0)  } while (YYID (0))
2899    
2900    
2901  /*------------------------------------------------.  /*------------------------------------------------.
2902  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
2903  `------------------------------------------------*/  `------------------------------------------------*/
2904    
2905  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2906         || defined __cplusplus || defined _MSC_VER)
2907  static void  static void
2908  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2909  #else  #else
2910  static void  static void
2911  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
2912        YYSTYPE *yyvsp;
2913      int yyrule;      int yyrule;
2914  #endif  #endif
2915  {  {
2916      int yynrhs = yyr2[yyrule];
2917    int yyi;    int yyi;
2918    unsigned int yylno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2919    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2920               yyrule - 1, yylno);               yyrule - 1, yylno);
2921    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
2922    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2923      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
2924    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
2925          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2926                           &(yyvsp[(yyi + 1) - (yynrhs)])
2927                                           );
2928          fprintf (stderr, "\n");
2929        }
2930  }  }
2931    
2932  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
2933  do {                                    \  do {                                    \
2934    if (yydebug)                          \    if (yydebug)                          \
2935      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
2936  } while (0)  } while (YYID (0))
2937    
2938  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
2939     multiple parsers can coexist.  */     multiple parsers can coexist.  */
2940  int yydebug;  int yydebug;
2941  #else /* !YYDEBUG */  #else /* !YYDEBUG */
2942  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
2943  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
2944  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
2945  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
2946  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2244  int yydebug; Line 2955  int yydebug;
2955     if the built-in stack extension method is used).     if the built-in stack extension method is used).
2956    
2957     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
2958     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2959     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2960    
 #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
2961  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
2962  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
2963  #endif  #endif
# Line 2260  int yydebug; Line 2967  int yydebug;
2967  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
2968    
2969  # ifndef yystrlen  # ifndef yystrlen
2970  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
2971  #   define yystrlen strlen  #   define yystrlen strlen
2972  #  else  #  else
2973  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
2974    #if (defined __STDC__ || defined __C99__FUNC__ \
2975         || defined __cplusplus || defined _MSC_VER)
2976  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
2977  yystrlen (const char *yystr)  yystrlen (const char *yystr)
2978  #   else  #else
2979    static YYSIZE_T
2980  yystrlen (yystr)  yystrlen (yystr)
2981       const char *yystr;      const char *yystr;
2982  #   endif  #endif
2983  {  {
2984    register const char *yys = yystr;    YYSIZE_T yylen;
2985      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
2986      continue;      continue;
2987      return yylen;
   return yys - yystr - 1;  
2988  }  }
2989  #  endif  #  endif
2990  # endif  # endif
2991    
2992  # ifndef yystpcpy  # ifndef yystpcpy
2993  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2994  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
2995  #  else  #  else
2996  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2997     YYDEST.  */     YYDEST.  */
2998    #if (defined __STDC__ || defined __C99__FUNC__ \
2999         || defined __cplusplus || defined _MSC_VER)
3000  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
3001  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
3002  #   else  #else
3003    static char *
3004  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
3005       char *yydest;      char *yydest;
3006       const char *yysrc;      const char *yysrc;
3007  #   endif  #endif
3008  {  {
3009    register char *yyd = yydest;    char *yyd = yydest;
3010    register const char *yys = yysrc;    const char *yys = yysrc;
3011    
3012    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
3013      continue;      continue;
# Line 2308  yystpcpy (yydest, yysrc) Line 3017  yystpcpy (yydest, yysrc)
3017  #  endif  #  endif
3018  # endif  # endif
3019    
3020  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
3021    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3022       quotes and backslashes, so that it's suitable for yyerror.  The
3023       heuristic is that double-quoting is unnecessary unless the string
3024       contains an apostrophe, a comma, or backslash (other than
3025       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
3026       null, do not copy; instead, return the length of what the result
3027       would have been.  */
3028    static YYSIZE_T
3029    yytnamerr (char *yyres, const char *yystr)
3030    {
3031      if (*yystr == '"')
3032        {
3033          YYSIZE_T yyn = 0;
3034          char const *yyp = yystr;
3035    
3036          for (;;)
3037            switch (*++yyp)
3038              {
3039              case '\'':
3040              case ',':
3041                goto do_not_strip_quotes;
3042    
3043              case '\\':
3044                if (*++yyp != '\\')
3045                  goto do_not_strip_quotes;
3046                /* Fall through.  */
3047              default:
3048                if (yyres)
3049                  yyres[yyn] = *yyp;
3050                yyn++;
3051                break;
3052    
3053              case '"':
3054                if (yyres)
3055                  yyres[yyn] = '\0';
3056                return yyn;
3057              }
3058        do_not_strip_quotes: ;
3059        }
3060    
3061  #if YYDEBUG    if (! yyres)
3062  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
3063    
3064  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
3065  static void  }
3066  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
3067  #else  
3068  static void  /* Copy into YYRESULT an error message about the unexpected token
3069  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
3070      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
3071      int yytype;     copy anything; just return the number of bytes that would be
3072      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
3073  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
3074       size calculation.  */
3075    static YYSIZE_T
3076    yysyntax_error (char *yyresult, int yystate, int yychar)
3077  {  {
3078    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
3079    
3080    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3081        return 0;
3082      else
3083      {      {
3084        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
3085  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3086        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
3087          YYSIZE_T yysize1;
3088          int yysize_overflow = 0;
3089          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3090          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3091          int yyx;
3092    
3093    # if 0
3094          /* This is so xgettext sees the translatable formats that are
3095             constructed on the fly.  */
3096          YY_("syntax error, unexpected %s");
3097          YY_("syntax error, unexpected %s, expecting %s");
3098          YY_("syntax error, unexpected %s, expecting %s or %s");
3099          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3100          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3101  # endif  # endif
3102      }        char *yyfmt;
3103    else        char const *yyf;
3104      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
3105          static char const yyexpecting[] = ", expecting %s";
3106          static char const yyor[] = " or %s";
3107          char yyformat[sizeof yyunexpected
3108                        + sizeof yyexpecting - 1
3109                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3110                           * (sizeof yyor - 1))];
3111          char const *yyprefix = yyexpecting;
3112    
3113          /* Start YYX at -YYN if negative to avoid negative indexes in
3114             YYCHECK.  */
3115          int yyxbegin = yyn < 0 ? -yyn : 0;
3116    
3117          /* Stay within bounds of both yycheck and yytname.  */
3118          int yychecklim = YYLAST - yyn + 1;
3119          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3120          int yycount = 1;
3121    
3122          yyarg[0] = yytname[yytype];
3123          yyfmt = yystpcpy (yyformat, yyunexpected);
3124    
3125          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3126            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3127              {
3128                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3129                  {
3130                    yycount = 1;
3131                    yysize = yysize0;
3132                    yyformat[sizeof yyunexpected - 1] = '\0';
3133                    break;
3134                  }
3135                yyarg[yycount++] = yytname[yyx];
3136                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3137                yysize_overflow |= (yysize1 < yysize);
3138                yysize = yysize1;
3139                yyfmt = yystpcpy (yyfmt, yyprefix);
3140                yyprefix = yyor;
3141              }
3142    
3143          yyf = YY_(yyformat);
3144          yysize1 = yysize + yystrlen (yyf);
3145          yysize_overflow |= (yysize1 < yysize);
3146          yysize = yysize1;
3147    
3148    switch (yytype)        if (yysize_overflow)
3149      {          return YYSIZE_MAXIMUM;
3150        default:  
3151          break;        if (yyresult)
3152            {
3153              /* Avoid sprintf, as that infringes on the user's name space.
3154                 Don't have undefined behavior even if the translation
3155                 produced a string with the wrong number of "%s"s.  */
3156              char *yyp = yyresult;
3157              int yyi = 0;
3158              while ((*yyp = *yyf) != '\0')
3159                {
3160                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3161                    {
3162                      yyp += yytnamerr (yyp, yyarg[yyi++]);
3163                      yyf += 2;
3164                    }
3165                  else
3166                    {
3167                      yyp++;
3168                      yyf++;
3169                    }
3170                }
3171            }
3172          return yysize;
3173      }      }
   YYFPRINTF (yyoutput, ")");  
3174  }  }
3175    #endif /* YYERROR_VERBOSE */
3176    
3177    
 #endif /* ! YYDEBUG */  
3178  /*-----------------------------------------------.  /*-----------------------------------------------.
3179  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
3180  `-----------------------------------------------*/  `-----------------------------------------------*/
3181    
3182  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
3183    #if (defined __STDC__ || defined __C99__FUNC__ \
3184         || defined __cplusplus || defined _MSC_VER)
3185  static void  static void
3186  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3187  #else  #else
3188  static void  static void
3189  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
3190        const char *yymsg;
3191      int yytype;      int yytype;
3192      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3193  #endif  #endif
3194  {  {
3195    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
3196    (void) yyvaluep;  
3197      if (!yymsg)
3198        yymsg = "Deleting";
3199      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3200    
3201    switch (yytype)    switch (yytype)
3202      {      {
3203    
3204        default:        default:
3205          break;          break;
3206      }      }
3207  }  }
3208    
# Line 2379  yydestruct (yytype, yyvaluep) Line 3210  yydestruct (yytype, yyvaluep)
3210  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
3211    
3212  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3213  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3214  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
3215  # else  #else
3216  int yyparse ();  int yyparse ();
3217  # endif  #endif
3218  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3219  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3220  int yyparse (void);  int yyparse (void);
3221  #else  #else
3222  int yyparse ();  int yyparse ();
# Line 2402  int yyparse (); Line 3233  int yyparse ();
3233  `----------*/  `----------*/
3234    
3235  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3236  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3237  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3238  # else  int
3239  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3240    void *YYPARSE_PARAM;  #else
3241  # endif  int
3242    yyparse (YYPARSE_PARAM)
3243        void *YYPARSE_PARAM;
3244    #endif
3245  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3246  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3247         || defined __cplusplus || defined _MSC_VER)
3248  int  int
3249  yyparse (void)  yyparse (void)
3250  #else  #else
# Line 2419  yyparse () Line 3254  yyparse ()
3254  #endif  #endif
3255  #endif  #endif
3256  {  {
3257    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
3258  int yychar;  int yychar;
3259    
3260  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
3261  YYSTYPE yylval;  YYSTYPE yylval;
3262    
3263  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3264  int yynerrs;  int yynerrs;
3265    
3266    register int yystate;    int yystate;
3267    register int yyn;    int yyn;
3268    int yyresult;    int yyresult;
3269    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3270    int yyerrstatus;    int yyerrstatus;
3271    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3272    int yytoken = 0;    int yytoken = 0;
3273    #if YYERROR_VERBOSE
3274      /* Buffer for error messages, and its allocated size.  */
3275      char yymsgbuf[128];
3276      char *yymsg = yymsgbuf;
3277      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3278    #endif
3279    
3280    /* Three stacks and their tools:    /* Three stacks and their tools:
3281       `yyss': related to states,       `yyss': related to states,
# Line 2445  int yynerrs; Line 3286  int yynerrs;
3286       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3287    
3288    /* The state stack.  */    /* The state stack.  */
3289    short int yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3290    short int *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3291    register short int *yyssp;    yytype_int16 *yyssp;
3292    
3293    /* The semantic value stack.  */    /* The semantic value stack.  */
3294    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3295    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3296    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
3297    
3298    
3299    
3300  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3301    
3302    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3303    
# Line 2465  int yynerrs; Line 3306  int yynerrs;
3306    YYSTYPE yyval;    YYSTYPE yyval;
3307    
3308    
3309    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3310       rule.  */       Keep to zero when no symbol should be popped.  */
3311    int yylen;    int yylen = 0;
3312    
3313    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3314    
# Line 2484  int yynerrs; Line 3325  int yynerrs;
3325    yyssp = yyss;    yyssp = yyss;
3326    yyvsp = yyvs;    yyvsp = yyvs;
3327    
   
3328    goto yysetstate;    goto yysetstate;
3329    
3330  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 2492  int yynerrs; Line 3332  int yynerrs;
3332  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3333   yynewstate:   yynewstate:
3334    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3335       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3336    yyssp++;    yyssp++;
3337    
3338   yysetstate:   yysetstate:
# Line 2506  int yynerrs; Line 3345  int yynerrs;
3345    
3346  #ifdef yyoverflow  #ifdef yyoverflow
3347        {        {
3348          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3349             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3350             memory.  */             memory.  */
3351          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3352          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3353    
3354    
3355          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3356             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
3357             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3358             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3359          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3360                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3361                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3362    
# Line 2528  int yynerrs; Line 3367  int yynerrs;
3367        }        }
3368  #else /* no yyoverflow */  #else /* no yyoverflow */
3369  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3370        goto yyoverflowlab;        goto yyexhaustedlab;
3371  # else  # else
3372        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3373        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3374          goto yyoverflowlab;          goto yyexhaustedlab;
3375        yystacksize *= 2;        yystacksize *= 2;
3376        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3377          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3378    
3379        {        {
3380          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3381          union yyalloc *yyptr =          union yyalloc *yyptr =
3382            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3383          if (! yyptr)          if (! yyptr)
3384            goto yyoverflowlab;            goto yyexhaustedlab;
3385          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3386          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3387    
# Line 2573  int yynerrs; Line 3412  int yynerrs;
3412  `-----------*/  `-----------*/
3413  yybackup:  yybackup:
3414    
3415  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3416  /* 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.  */  
3417    
3418      /* First try to decide what to do without reference to look-ahead token.  */
3419    yyn = yypact[yystate];    yyn = yypact[yystate];
3420    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3421      goto yydefault;      goto yydefault;
3422    
3423    /* 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.  */
3424    
3425    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3426    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3427      {      {
3428        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2600  yybackup: Line 3437  yybackup:
3437    else    else
3438      {      {
3439        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3440        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3441      }      }
3442    
3443    /* 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 2620  yybackup: Line 3457  yybackup:
3457    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3458      YYACCEPT;      YYACCEPT;
3459    
   /* 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;  
   
   
3460    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3461       status.  */       status.  */
3462    if (yyerrstatus)    if (yyerrstatus)
3463      yyerrstatus--;      yyerrstatus--;
3464    
3465      /* Shift the look-ahead token.  */
3466      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3467    
3468      /* Discard the shifted token unless it is eof.  */
3469      if (yychar != YYEOF)
3470        yychar = YYEMPTY;
3471    
3472    yystate = yyn;    yystate = yyn;
3473      *++yyvsp = yylval;
3474    
3475    goto yynewstate;    goto yynewstate;
3476    
3477    
# Line 2671  yyreduce: Line 3507  yyreduce:
3507    switch (yyn)    switch (yyn)
3508      {      {
3509          case 4:          case 4:
3510  #line 94 "lscp.y"  #line 101 "lscp.y"
3511      { return LSCP_DONE; }      { return LSCP_DONE; }
3512      break;      break;
3513    
3514    case 5:    case 5:
3515  #line 95 "lscp.y"  #line 102 "lscp.y"
3516      { return LSCP_DONE; }      { return LSCP_DONE; }
3517      break;      break;
3518    
3519    case 6:    case 6:
3520  #line 96 "lscp.y"  #line 103 "lscp.y"
3521      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3522      break;      break;
3523    
3524    case 7:    case 7:
3525  #line 97 "lscp.y"  #line 104 "lscp.y"
3526      { 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; }
3527      break;      break;
3528    
3529    case 13:    case 13:
3530  #line 107 "lscp.y"  #line 114 "lscp.y"
3531      { yyval.String = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3532      break;      break;
3533    
3534    case 14:    case 14:
3535  #line 108 "lscp.y"  #line 115 "lscp.y"
3536      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3537      break;      break;
3538    
3539    case 15:    case 15:
3540  #line 109 "lscp.y"  #line 116 "lscp.y"
3541      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3542      break;      break;
3543    
3544    case 16:    case 16:
3545  #line 110 "lscp.y"  #line 117 "lscp.y"
3546      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3547      break;      break;
3548    
3549    case 17:    case 17:
3550  #line 111 "lscp.y"  #line 118 "lscp.y"
3551      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3552      break;      break;
3553    
3554    case 18:    case 18:
3555  #line 112 "lscp.y"  #line 119 "lscp.y"
3556      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3557      break;      break;
3558    
3559    case 19:    case 19:
3560  #line 113 "lscp.y"  #line 120 "lscp.y"
3561      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3562      break;      break;
3563    
3564    case 20:    case 20:
3565  #line 114 "lscp.y"  #line 121 "lscp.y"
3566      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3567      break;      break;
3568    
3569    case 21:    case 21:
3570  #line 115 "lscp.y"  #line 122 "lscp.y"
3571      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3572      break;      break;
3573    
3574    case 22:    case 22:
3575  #line 116 "lscp.y"  #line 123 "lscp.y"
3576      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3577      break;      break;
3578    
3579    case 23:    case 23:
3580  #line 117 "lscp.y"  #line 124 "lscp.y"
3581      { yyval.String = LSCPSERVER->QueryDatabase(yyvsp[0].String);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3582      break;      break;
3583    
3584    case 24:    case 24:
3585  #line 118 "lscp.y"  #line 125 "lscp.y"
3586      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3587      break;      break;
3588    
3589    case 25:    case 25:
3590  #line 119 "lscp.y"  #line 126 "lscp.y"
3591      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3592      break;      break;
3593    
3594    case 26:    case 26:
3595  #line 120 "lscp.y"  #line 127 "lscp.y"
3596      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3597      break;      break;
3598    
3599    case 27:    case 27:
3600  #line 123 "lscp.y"  #line 128 "lscp.y"
3601      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3602      break;      break;
3603    
3604    case 28:    case 28:
3605  #line 124 "lscp.y"  #line 129 "lscp.y"
3606      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3607      break;      break;
3608    
3609    case 29:    case 29:
3610  #line 125 "lscp.y"  #line 130 "lscp.y"
3611      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3612      break;      break;
3613    
3614    case 30:    case 30:
3615  #line 126 "lscp.y"  #line 133 "lscp.y"
3616      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3617      break;      break;
3618    
3619    case 31:    case 31:
3620  #line 127 "lscp.y"  #line 134 "lscp.y"
3621      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);  }      { (yyval.String) = LSCPSERVER->AddDbInstrumentDirectory((yyvsp[(3) - (3)].String));          }
3622      break;      break;
3623    
3624    case 32:    case 32:
3625  #line 128 "lscp.y"  #line 135 "lscp.y"
3626      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->AddDbInstrumentsFlat((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));         }
3627      break;      break;
3628    
3629    case 33:    case 33:
3630  #line 131 "lscp.y"  #line 136 "lscp.y"
3631      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = LSCPSERVER->AddDbInstrumentsNonrecursive((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
3632      break;      break;
3633    
3634    case 34:    case 34:
3635  #line 132 "lscp.y"  #line 137 "lscp.y"
3636      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));             }
3637      break;      break;
3638    
3639    case 35:    case 35:
3640  #line 133 "lscp.y"  #line 138 "lscp.y"
3641      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);  }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].Number));          }
3642      break;      break;
3643    
3644    case 36:    case 36:
3645  #line 134 "lscp.y"  #line 139 "lscp.y"
3646      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3647      break;      break;
3648    
3649    case 37:    case 37:
3650  #line 135 "lscp.y"  #line 140 "lscp.y"
3651      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);  }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3652      break;      break;
3653    
3654    case 38:    case 38:
3655  #line 136 "lscp.y"  #line 143 "lscp.y"
3656      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3657      break;      break;
3658    
3659    case 39:    case 39:
3660  #line 139 "lscp.y"  #line 144 "lscp.y"
3661      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3662      break;      break;
3663    
3664    case 40:    case 40:
3665  #line 140 "lscp.y"  #line 145 "lscp.y"
3666      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3667      break;      break;
3668    
3669    case 41:    case 41:
3670  #line 141 "lscp.y"  #line 146 "lscp.y"
3671      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3672      break;      break;
3673    
3674    case 42:    case 42:
3675  #line 142 "lscp.y"  #line 147 "lscp.y"
3676      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3677      break;      break;
3678    
3679    case 43:    case 43:
3680  #line 143 "lscp.y"  #line 148 "lscp.y"
3681      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3682      break;      break;
3683    
3684    case 44:    case 44:
3685  #line 144 "lscp.y"  #line 149 "lscp.y"
3686      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3687      break;      break;
3688    
3689    case 45:    case 45:
3690  #line 145 "lscp.y"  #line 150 "lscp.y"
3691      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3692      break;      break;
3693    
3694    case 46:    case 46:
3695  #line 146 "lscp.y"  #line 151 "lscp.y"
3696      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3697      break;      break;
3698    
3699    case 47:    case 47:
3700  #line 147 "lscp.y"  #line 152 "lscp.y"
3701      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count);        }
3702      break;      break;
3703    
3704    case 48:    case 48:
3705  #line 148 "lscp.y"  #line 153 "lscp.y"
3706      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info);         }
3707      break;      break;
3708    
3709    case 49:    case 49:
3710  #line 149 "lscp.y"  #line 154 "lscp.y"
3711      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3712      break;      break;
3713    
3714    case 50:    case 50:
3715  #line 150 "lscp.y"  #line 155 "lscp.y"
3716      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3717      break;      break;
3718    
3719    case 51:    case 51:
3720  #line 151 "lscp.y"  #line 156 "lscp.y"
3721      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3722      break;      break;
3723    
3724    case 52:    case 52:
3725  #line 152 "lscp.y"  #line 157 "lscp.y"
3726      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3727      break;      break;
3728    
3729    case 53:    case 53:
3730  #line 153 "lscp.y"  #line 158 "lscp.y"
3731      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
3732      break;      break;
3733    
3734    case 54:    case 54:
3735  #line 154 "lscp.y"  #line 159 "lscp.y"
3736      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
3737      break;      break;
3738    
3739    case 55:    case 55:
3740  #line 155 "lscp.y"  #line 160 "lscp.y"
3741      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_count);       }
3742      break;      break;
3743    
3744    case 56:    case 56:
3745  #line 156 "lscp.y"  #line 161 "lscp.y"
3746      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_info);        }
3747      break;      break;
3748    
3749    case 57:    case 57:
3750  #line 157 "lscp.y"  #line 162 "lscp.y"
3751      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3752      break;      break;
3753    
3754    case 58:    case 58:
3755  #line 158 "lscp.y"  #line 163 "lscp.y"
3756      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3757      break;      break;
3758    
3759    case 59:    case 59:
3760  #line 159 "lscp.y"  #line 164 "lscp.y"
3761      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info);          }
3762      break;      break;
3763    
3764    case 60:    case 60:
3765  #line 160 "lscp.y"  #line 167 "lscp.y"
3766      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3767      break;      break;
3768    
3769    case 61:    case 61:
3770  #line 161 "lscp.y"  #line 168 "lscp.y"
3771      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3772      break;      break;
3773    
3774    case 62:    case 62:
3775  #line 162 "lscp.y"  #line 169 "lscp.y"
3776      { yyval.String = LSCPSERVER->GetServerInfo();                                }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3777      break;      break;
3778    
3779    case 63:    case 63:
3780  #line 165 "lscp.y"  #line 170 "lscp.y"
3781      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3782      break;      break;
3783    
3784    case 64:    case 64:
3785  #line 166 "lscp.y"  #line 171 "lscp.y"
3786      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3787      break;      break;
3788    
3789    case 65:    case 65:
3790  #line 167 "lscp.y"  #line 172 "lscp.y"
3791      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3792      break;      break;
3793    
3794    case 66:    case 66:
3795  #line 168 "lscp.y"  #line 173 "lscp.y"
3796      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3797      break;      break;
3798    
3799    case 67:    case 67:
3800  #line 169 "lscp.y"  #line 174 "lscp.y"
3801      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3802      break;      break;
3803    
3804    case 68:    case 68:
3805  #line 170 "lscp.y"  #line 175 "lscp.y"
3806      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
3807      break;      break;
3808    
3809    case 69:    case 69:
3810  #line 173 "lscp.y"  #line 176 "lscp.y"
3811      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count);        }
3812      break;      break;
3813    
3814    case 70:    case 70:
3815  #line 174 "lscp.y"  #line 177 "lscp.y"
3816      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info);         }
3817      break;      break;
3818    
3819    case 71:    case 71:
3820  #line 175 "lscp.y"  #line 178 "lscp.y"
3821      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3822      break;      break;
3823    
3824    case 72:    case 72:
3825  #line 176 "lscp.y"  #line 179 "lscp.y"
3826      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3827      break;      break;
3828    
3829    case 73:    case 73:
3830  #line 179 "lscp.y"  #line 180 "lscp.y"
3831      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3832      break;      break;
3833    
3834    case 74:    case 74:
3835  #line 180 "lscp.y"  #line 181 "lscp.y"
3836      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3837      break;      break;
3838    
3839    case 75:    case 75:
3840  #line 183 "lscp.y"  #line 182 "lscp.y"
3841      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
3842      break;      break;
3843    
3844    case 76:    case 76:
3845  #line 184 "lscp.y"  #line 183 "lscp.y"
3846      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
3847      break;      break;
3848    
3849    case 77:    case 77:
3850  #line 187 "lscp.y"  #line 184 "lscp.y"
3851      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_count);       }
3852      break;      break;
3853    
3854    case 78:    case 78:
3855  #line 188 "lscp.y"  #line 185 "lscp.y"
3856      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_info);        }
3857      break;      break;
3858    
3859    case 79:    case 79:
3860  #line 189 "lscp.y"  #line 186 "lscp.y"
3861      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
3862      break;      break;
3863    
3864    case 80:    case 80:
3865  #line 190 "lscp.y"  #line 187 "lscp.y"
3866      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
3867      break;      break;
3868    
3869    case 81:    case 81:
3870  #line 191 "lscp.y"  #line 188 "lscp.y"
3871      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info);          }
3872      break;      break;
3873    
3874    case 82:    case 82:
3875  #line 192 "lscp.y"  #line 191 "lscp.y"
3876      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, 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)); }
3877      break;      break;
3878    
3879    case 83:    case 83:
3880  #line 193 "lscp.y"  #line 192 "lscp.y"
3881      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (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)); }
3882      break;      break;
3883    
3884    case 84:    case 84:
3885  #line 194 "lscp.y"  #line 193 "lscp.y"
3886      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (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)); }
3887      break;      break;
3888    
3889    case 85:    case 85:
3890  #line 195 "lscp.y"  #line 194 "lscp.y"
3891      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (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)); }
3892      break;      break;
3893    
3894    case 86:    case 86:
3895  #line 198 "lscp.y"  #line 197 "lscp.y"
3896      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3897      break;      break;
3898    
3899    case 87:    case 87:
3900  #line 199 "lscp.y"  #line 200 "lscp.y"
3901      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));                     }
3902      break;      break;
3903    
3904    case 88:    case 88:
3905  #line 202 "lscp.y"  #line 201 "lscp.y"
3906      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));           }
3907      break;      break;
3908    
3909    case 89:    case 89:
3910  #line 203 "lscp.y"  #line 202 "lscp.y"
3911      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps();         }
3912      break;      break;
3913    
3914    case 90:    case 90:
3915  #line 206 "lscp.y"  #line 203 "lscp.y"
3916      { yyval.String = LSCPSERVER->GetAudioOutputDevices();           }      { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(5) - (5)].String), true); }
3917      break;      break;
3918    
3919    case 91:    case 91:
3920  #line 207 "lscp.y"  #line 204 "lscp.y"
3921      { yyval.String = LSCPSERVER->GetMidiInputDevices();             }      { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(3) - (3)].String));       }
3922      break;      break;
3923    
3924    case 92:    case 92:
3925  #line 208 "lscp.y"  #line 205 "lscp.y"
3926      { yyval.String = LSCPSERVER->ListChannels();                    }      { (yyval.String) = LSCPSERVER->RemoveDbInstrument((yyvsp[(3) - (3)].String));                }
3927      break;      break;
3928    
3929    case 93:    case 93:
3930  #line 209 "lscp.y"  #line 208 "lscp.y"
3931      { yyval.String = LSCPSERVER->ListAvailableEngines();            }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3932      break;      break;
3933    
3934    case 94:    case 94:
3935  #line 210 "lscp.y"  #line 209 "lscp.y"
3936      { yyval.String = LSCPSERVER->ListAvailableMidiInputDrivers();   }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3937      break;      break;
3938    
3939    case 95:    case 95:
3940  #line 211 "lscp.y"  #line 210 "lscp.y"
3941      { yyval.String = LSCPSERVER->ListAvailableAudioOutputDrivers(); }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3942      break;      break;
3943    
3944    case 96:    case 96:
3945  #line 214 "lscp.y"  #line 211 "lscp.y"
3946      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3947      break;      break;
3948    
3949    case 97:    case 97:
3950  #line 215 "lscp.y"  #line 212 "lscp.y"
3951      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3952      break;      break;
3953    
3954    case 98:    case 98:
3955    #line 213 "lscp.y"
3956        { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3957        break;
3958    
3959      case 99:
3960    #line 214 "lscp.y"
3961        { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3962        break;
3963    
3964      case 100:
3965    #line 215 "lscp.y"
3966        { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3967        break;
3968    
3969      case 101:
3970    #line 216 "lscp.y"
3971        { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3972        break;
3973    
3974      case 102:
3975    #line 217 "lscp.y"
3976        { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3977        break;
3978    
3979      case 103:
3980  #line 218 "lscp.y"  #line 218 "lscp.y"
3981      { yyval.String = LSCPSERVER->SetEngineType(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3982      break;      break;
3983    
3984    case 104:    case 104:
3985  #line 234 "lscp.y"  #line 219 "lscp.y"
3986      { yyval.Number = 16; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3987        break;
3988    
3989      case 105:
3990    #line 220 "lscp.y"
3991        { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3992        break;
3993    
3994      case 106:
3995    #line 221 "lscp.y"
3996        { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3997      break;      break;
3998    
3999    case 107:    case 107:
4000  #line 241 "lscp.y"  #line 222 "lscp.y"
4001      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
4002        break;
4003    
4004      case 108:
4005    #line 223 "lscp.y"
4006        { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
4007        break;
4008    
4009      case 109:
4010    #line 224 "lscp.y"
4011        { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
4012        break;
4013    
4014      case 110:
4015    #line 225 "lscp.y"
4016        { (yyval.String) = LSCPSERVER->GetChannels();                                  }
4017        break;
4018    
4019      case 111:
4020    #line 226 "lscp.y"
4021        { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
4022        break;
4023    
4024      case 112:
4025    #line 227 "lscp.y"
4026        { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
4027      break;      break;
4028    
4029    case 113:    case 113:
4030  #line 257 "lscp.y"  #line 228 "lscp.y"
4031      { yyval.String = yyvsp[-2].String + "," + yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
4032        break;
4033    
4034      case 114:
4035    #line 229 "lscp.y"
4036        { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
4037      break;      break;
4038    
4039    case 115:    case 115:
4040  #line 261 "lscp.y"  #line 230 "lscp.y"
4041      { yyval.String = "\'" + yyvsp[-1].String + "\'"; }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
4042      break;      break;
4043    
4044    case 116:    case 116:
4045  #line 262 "lscp.y"  #line 231 "lscp.y"
4046      { yyval.String = "\"" + yyvsp[-1].String + "\""; }      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
4047      break;      break;
4048    
4049    case 117:    case 117:
4050  #line 263 "lscp.y"  #line 232 "lscp.y"
4051      { std::stringstream ss; ss << "\'" << yyvsp[0].Number << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                           }
4052      break;      break;
4053    
4054    case 118:    case 118:
4055  #line 264 "lscp.y"  #line 233 "lscp.y"
4056      { std::stringstream ss; ss << "\'" << yyvsp[0].Dotnum << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
4057      break;      break;
4058    
4059    case 119:    case 119:
4060  #line 272 "lscp.y"  #line 234 "lscp.y"
4061      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
4062      break;      break;
4063    
4064    case 120:    case 120:
4065  #line 273 "lscp.y"  #line 235 "lscp.y"
4066      { yyval.Dotnum = -1; }      { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
4067      break;      break;
4068    
4069    case 121:    case 121:
4070  #line 276 "lscp.y"  #line 236 "lscp.y"
4071      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
4072      break;      break;
4073    
4074    case 122:    case 122:
4075  #line 277 "lscp.y"  #line 237 "lscp.y"
4076      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
4077      break;      break;
4078    
4079    case 123:    case 123:
4080  #line 280 "lscp.y"  #line 238 "lscp.y"
4081      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
4082      break;      break;
4083    
4084    case 124:    case 124:
4085  #line 281 "lscp.y"  #line 239 "lscp.y"
4086      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
4087      break;      break;
4088    
4089    case 125:    case 125:
4090  #line 282 "lscp.y"  #line 240 "lscp.y"
4091      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
4092      break;      break;
4093    
4094    case 126:    case 126:
4095  #line 286 "lscp.y"  #line 241 "lscp.y"
4096      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(3) - (3)].String));              }
4097      break;      break;
4098    
4099    case 127:    case 127:
4100  #line 287 "lscp.y"  #line 242 "lscp.y"
4101      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryInfo((yyvsp[(5) - (5)].String));               }
4102      break;      break;
4103    
4104    case 128:    case 128:
4105  #line 290 "lscp.y"  #line 243 "lscp.y"
4106      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(3) - (3)].String));                       }
4107      break;      break;
4108    
4109    case 129:    case 129:
4110  #line 291 "lscp.y"  #line 244 "lscp.y"
4111      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentInfo((yyvsp[(5) - (5)].String));                        }
4112      break;      break;
4113    
4114    case 130:    case 130:
4115  #line 292 "lscp.y"  #line 245 "lscp.y"
4116      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
4117      break;      break;
4118    
4119    case 131:    case 131:
4120  #line 293 "lscp.y"  #line 248 "lscp.y"
4121      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
4122      break;      break;
4123    
4124    case 132:    case 132:
4125  #line 294 "lscp.y"  #line 249 "lscp.y"
4126      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
4127      break;      break;
4128    
4129    case 133:    case 133:
4130  #line 295 "lscp.y"  #line 250 "lscp.y"
4131      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
4132      break;      break;
4133    
4134    case 134:    case 134:
4135  #line 296 "lscp.y"  #line 251 "lscp.y"
4136      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
4137      break;      break;
4138    
4139    case 135:    case 135:
4140  #line 297 "lscp.y"  #line 252 "lscp.y"
4141      { yyval.Char = '7'; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
4142      break;      break;
4143    
4144    case 136:    case 136:
4145  #line 298 "lscp.y"  #line 253 "lscp.y"
4146      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
4147      break;      break;
4148    
4149    case 137:    case 137:
4150  #line 299 "lscp.y"  #line 254 "lscp.y"
4151      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->SetFxSendName((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].String));                        }
4152      break;      break;
4153    
4154    case 138:    case 138:
4155  #line 302 "lscp.y"  #line 255 "lscp.y"
4156      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
4157      break;      break;
4158    
4159    case 139:    case 139:
4160  #line 303 "lscp.y"  #line 256 "lscp.y"
4161      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
4162      break;      break;
4163    
4164    case 140:    case 140:
4165  #line 304 "lscp.y"  #line 257 "lscp.y"
4166      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
4167      break;      break;
4168    
4169    case 141:    case 141:
4170  #line 305 "lscp.y"  #line 258 "lscp.y"
4171      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));            }
4172      break;      break;
4173    
4174    case 142:    case 142:
4175  #line 306 "lscp.y"  #line 259 "lscp.y"
4176      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));     }
4177      break;      break;
4178    
4179    case 143:    case 143:
4180  #line 307 "lscp.y"  #line 260 "lscp.y"
4181      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetDbInstrumentName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));                     }
4182      break;      break;
4183    
4184    case 144:    case 144:
4185  #line 308 "lscp.y"  #line 261 "lscp.y"
4186      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));              }
4187      break;      break;
4188    
4189    case 145:    case 145:
4190  #line 309 "lscp.y"  #line 262 "lscp.y"
4191      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
4192      break;      break;
4193    
4194    case 146:    case 146:
4195  #line 310 "lscp.y"  #line 263 "lscp.y"
4196      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
4197      break;      break;
4198    
4199    case 147:    case 147:
4200  #line 311 "lscp.y"  #line 266 "lscp.y"
4201      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
4202      break;      break;
4203    
4204    case 148:    case 148:
4205  #line 313 "lscp.y"  #line 267 "lscp.y"
4206      { yyval.Char = 'A'; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
4207      break;      break;
4208    
4209    case 149:    case 149:
4210  #line 313 "lscp.y"  #line 268 "lscp.y"
4211      { yyval.Char = 'B'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
4212      break;      break;
4213    
4214    case 150:    case 150:
4215  #line 313 "lscp.y"  #line 269 "lscp.y"
4216      { yyval.Char = 'C'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
4217      break;      break;
4218    
4219    case 151:    case 151:
4220  #line 313 "lscp.y"  #line 270 "lscp.y"
4221      { yyval.Char = 'D'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
4222      break;      break;
4223    
4224    case 152:    case 152:
4225  #line 313 "lscp.y"  #line 271 "lscp.y"
4226      { yyval.Char = 'E'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
4227      break;      break;
4228    
4229    case 153:    case 153:
4230  #line 313 "lscp.y"  #line 274 "lscp.y"
4231      { yyval.Char = 'F'; }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
4232      break;      break;
4233    
4234    case 154:    case 154:
4235  #line 313 "lscp.y"  #line 277 "lscp.y"
4236      { yyval.Char = 'G'; }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
4237      break;      break;
4238    
4239    case 155:    case 155:
4240  #line 313 "lscp.y"  #line 278 "lscp.y"
4241      { yyval.Char = 'H'; }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
4242      break;      break;
4243    
4244    case 156:    case 156:
4245  #line 313 "lscp.y"  #line 281 "lscp.y"
4246      { yyval.Char = 'I'; }      { (yyval.String) = LSCPSERVER->MoveDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4247      break;      break;
4248    
4249    case 157:    case 157:
4250  #line 313 "lscp.y"  #line 282 "lscp.y"
4251      { yyval.Char = 'J'; }      { (yyval.String) = LSCPSERVER->MoveDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));          }
4252      break;      break;
4253    
4254    case 158:    case 158:
4255  #line 313 "lscp.y"  #line 285 "lscp.y"
4256      { yyval.Char = 'K'; }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
4257      break;      break;
4258    
4259    case 159:    case 159:
4260  #line 313 "lscp.y"  #line 286 "lscp.y"
4261      { yyval.Char = 'L'; }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
4262      break;      break;
4263    
4264    case 160:    case 160:
4265  #line 313 "lscp.y"  #line 287 "lscp.y"
4266      { yyval.Char = 'M'; }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
4267      break;      break;
4268    
4269    case 161:    case 161:
4270  #line 313 "lscp.y"  #line 290 "lscp.y"
4271      { yyval.Char = 'N'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
4272      break;      break;
4273    
4274    case 162:    case 162:
4275  #line 313 "lscp.y"  #line 291 "lscp.y"
4276      { yyval.Char = 'O'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
4277      break;      break;
4278    
4279    case 163:    case 163:
4280  #line 313 "lscp.y"  #line 294 "lscp.y"
4281      { yyval.Char = 'P'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
4282      break;      break;
4283    
4284    case 164:    case 164:
4285  #line 313 "lscp.y"  #line 295 "lscp.y"
4286      { yyval.Char = 'Q'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
4287      break;      break;
4288    
4289    case 165:    case 165:
4290  #line 313 "lscp.y"  #line 296 "lscp.y"
4291      { yyval.Char = 'R'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
4292      break;      break;
4293    
4294    case 166:    case 166:
4295  #line 313 "lscp.y"  #line 297 "lscp.y"
4296      { yyval.Char = 'S'; }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
4297      break;      break;
4298    
4299    case 167:    case 167:
4300  #line 313 "lscp.y"  #line 298 "lscp.y"
4301      { yyval.Char = 'T'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
4302      break;      break;
4303    
4304    case 168:    case 168:
4305  #line 313 "lscp.y"  #line 299 "lscp.y"
4306      { yyval.Char = 'U'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
4307      break;      break;
4308    
4309    case 169:    case 169:
4310  #line 313 "lscp.y"  #line 300 "lscp.y"
4311      { yyval.Char = 'V'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
4312      break;      break;
4313    
4314    case 170:    case 170:
4315  #line 313 "lscp.y"  #line 301 "lscp.y"
4316      { yyval.Char = 'W'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
4317      break;      break;
4318    
4319    case 171:    case 171:
4320  #line 313 "lscp.y"  #line 302 "lscp.y"
4321      { yyval.Char = 'X'; }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
4322      break;      break;
4323    
4324    case 172:    case 172:
4325  #line 313 "lscp.y"  #line 303 "lscp.y"
4326      { yyval.Char = 'Y'; }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4327      break;      break;
4328    
4329    case 173:    case 173:
4330  #line 313 "lscp.y"  #line 304 "lscp.y"
4331      { yyval.Char = 'Z'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4332      break;      break;
4333    
4334    case 174:    case 174:
4335  #line 314 "lscp.y"  #line 305 "lscp.y"
4336      { yyval.Char = 'a'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4337      break;      break;
4338    
4339    case 175:    case 175:
4340  #line 314 "lscp.y"  #line 306 "lscp.y"
4341      { yyval.Char = 'b'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4342      break;      break;
4343    
4344    case 176:    case 176:
4345  #line 314 "lscp.y"  #line 307 "lscp.y"
4346      { yyval.Char = 'c'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4347      break;      break;
4348    
4349    case 177:    case 177:
4350  #line 314 "lscp.y"  #line 310 "lscp.y"
4351      { yyval.Char = 'd'; }      { (yyval.Bool) = true;  }
4352      break;      break;
4353    
4354    case 178:    case 178:
4355  #line 314 "lscp.y"  #line 311 "lscp.y"
4356      { yyval.Char = 'e'; }      { (yyval.Bool) = false; }
4357      break;      break;
4358    
4359    case 179:    case 179:
4360  #line 314 "lscp.y"  #line 314 "lscp.y"
4361      { yyval.Char = 'f'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4362      break;      break;
4363    
4364    case 180:    case 180:
4365  #line 314 "lscp.y"  #line 315 "lscp.y"
4366      { yyval.Char = 'g'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4367      break;      break;
4368    
4369    case 181:    case 181:
4370  #line 314 "lscp.y"  #line 318 "lscp.y"
4371      { yyval.Char = 'h'; }      { (yyval.FillResponse) = fill_response_bytes;      }
4372      break;      break;
4373    
4374    case 182:    case 182:
4375  #line 314 "lscp.y"  #line 319 "lscp.y"
4376      { yyval.Char = 'i'; }      { (yyval.FillResponse) = fill_response_percentage; }
4377      break;      break;
4378    
4379    case 183:    case 183:
4380  #line 314 "lscp.y"  #line 322 "lscp.y"
4381      { yyval.Char = 'j'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
4382      break;      break;
4383    
4384    case 184:    case 184:
4385  #line 314 "lscp.y"  #line 323 "lscp.y"
4386      { yyval.Char = 'k'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
4387      break;      break;
4388    
4389    case 185:    case 185:
4390  #line 314 "lscp.y"  #line 324 "lscp.y"
4391      { yyval.Char = 'l'; }      { (yyval.String) = LSCPSERVER->ListChannels();                    }
4392      break;      break;
4393    
4394    case 186:    case 186:
4395  #line 314 "lscp.y"  #line 325 "lscp.y"
4396      { yyval.Char = 'm'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
4397      break;      break;
4398    
4399    case 187:    case 187:
4400  #line 314 "lscp.y"  #line 326 "lscp.y"
4401      { yyval.Char = 'n'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
4402      break;      break;
4403    
4404    case 188:    case 188:
4405  #line 314 "lscp.y"  #line 327 "lscp.y"
4406      { yyval.Char = 'o'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
4407      break;      break;
4408    
4409    case 189:    case 189:
4410  #line 314 "lscp.y"  #line 328 "lscp.y"
4411      { yyval.Char = 'p'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
4412      break;      break;
4413    
4414    case 190:    case 190:
4415  #line 314 "lscp.y"  #line 329 "lscp.y"
4416      { yyval.Char = 'q'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
4417      break;      break;
4418    
4419    case 191:    case 191:
4420  #line 314 "lscp.y"  #line 330 "lscp.y"
4421      { yyval.Char = 'r'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
4422      break;      break;
4423    
4424    case 192:    case 192:
4425  #line 314 "lscp.y"  #line 331 "lscp.y"
4426      { yyval.Char = 's'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                   }
4427      break;      break;
4428    
4429    case 193:    case 193:
4430  #line 314 "lscp.y"  #line 332 "lscp.y"
4431      { yyval.Char = 't'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(3) - (3)].String));    }
4432      break;      break;
4433    
4434    case 194:    case 194:
4435  #line 314 "lscp.y"  #line 333 "lscp.y"
4436      { yyval.Char = 'u'; }      { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(3) - (3)].String));              }
4437      break;      break;
4438    
4439    case 195:    case 195:
4440  #line 314 "lscp.y"  #line 336 "lscp.y"
4441      { yyval.Char = 'v'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4442      break;      break;
4443    
4444    case 196:    case 196:
4445  #line 314 "lscp.y"  #line 337 "lscp.y"
4446      { yyval.Char = 'w'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4447      break;      break;
4448    
4449    case 197:    case 197:
4450  #line 314 "lscp.y"  #line 340 "lscp.y"
4451      { yyval.Char = 'x'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4452      break;      break;
4453    
4454    case 198:    case 198:
4455  #line 314 "lscp.y"  #line 343 "lscp.y"
4456      { yyval.Char = 'y'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4457      break;      break;
4458    
4459    case 199:    case 199:
4460  #line 314 "lscp.y"  #line 344 "lscp.y"
4461      { yyval.Char = 'z'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4462      break;      break;
4463    
4464    case 200:    case 200:
4465  #line 315 "lscp.y"  #line 345 "lscp.y"
4466      { yyval.Char = '0'; }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
     break;  
   
   case 201:  
 #line 315 "lscp.y"  
     { yyval.Char = '1'; }  
     break;  
   
   case 202:  
 #line 315 "lscp.y"  
     { yyval.Char = '2'; }  
     break;  
   
   case 203:  
 #line 315 "lscp.y"  
     { yyval.Char = '3'; }  
     break;  
   
   case 204:  
 #line 315 "lscp.y"  
     { yyval.Char = '4'; }  
     break;  
   
   case 205:  
 #line 315 "lscp.y"  
     { yyval.Char = '5'; }  
4467      break;      break;
4468    
4469    case 206:    case 206:
4470  #line 315 "lscp.y"  #line 361 "lscp.y"
4471      { yyval.Char = '6'; }      { (yyval.Number) = 16; }
     break;  
   
   case 207:  
 #line 315 "lscp.y"  
     { yyval.Char = '7'; }  
     break;  
   
   case 208:  
 #line 315 "lscp.y"  
     { yyval.Char = '8'; }  
     break;  
   
   case 209:  
 #line 315 "lscp.y"  
     { yyval.Char = '9'; }  
     break;  
   
   case 210:  
 #line 316 "lscp.y"  
     { yyval.Char = '!'; }  
     break;  
   
   case 211:  
 #line 316 "lscp.y"  
     { yyval.Char = '#'; }  
     break;  
   
   case 212:  
 #line 316 "lscp.y"  
     { yyval.Char = '$'; }  
4472      break;      break;
4473    
4474    case 213:    case 213:
4475  #line 316 "lscp.y"  #line 380 "lscp.y"
4476      { yyval.Char = '%'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
     break;  
   
   case 214:  
 #line 316 "lscp.y"  
     { yyval.Char = '&'; }  
     break;  
   
   case 215:  
 #line 316 "lscp.y"  
     { yyval.Char = '('; }  
     break;  
   
   case 216:  
 #line 316 "lscp.y"  
     { yyval.Char = ')'; }  
     break;  
   
   case 217:  
 #line 316 "lscp.y"  
     { yyval.Char = '*'; }  
     break;  
   
   case 218:  
 #line 316 "lscp.y"  
     { yyval.Char = '+'; }  
     break;  
   
   case 219:  
 #line 316 "lscp.y"  
     { yyval.Char = '-'; }  
     break;  
   
   case 220:  
 #line 316 "lscp.y"  
     { yyval.Char = '.'; }  
     break;  
   
   case 221:  
 #line 316 "lscp.y"  
     { yyval.Char = ','; }  
     break;  
   
   case 222:  
 #line 316 "lscp.y"  
     { yyval.Char = '/'; }  
     break;  
   
   case 223:  
 #line 317 "lscp.y"  
     { yyval.Char = ':'; }  
     break;  
   
   case 224:  
 #line 317 "lscp.y"  
     { yyval.Char = ';'; }  
4477      break;      break;
4478    
4479    case 225:    case 225:
4480  #line 317 "lscp.y"  #line 414 "lscp.y"
4481      { yyval.Char = '<'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 226:  
 #line 317 "lscp.y"  
     { yyval.Char = '='; }  
     break;  
   
   case 227:  
 #line 317 "lscp.y"  
     { yyval.Char = '>'; }  
4482      break;      break;
4483    
4484    case 228:    case 228:
4485  #line 317 "lscp.y"  #line 419 "lscp.y"
4486      { yyval.Char = '?'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4487      break;      break;
4488    
4489    case 229:    case 229:
4490  #line 317 "lscp.y"  #line 420 "lscp.y"
4491      { yyval.Char = '@'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4492      break;      break;
4493    
4494    case 230:    case 230:
4495  #line 318 "lscp.y"  #line 428 "lscp.y"
4496      { yyval.Char = '['; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4497      break;      break;
4498    
4499    case 231:    case 231:
4500  #line 318 "lscp.y"  #line 429 "lscp.y"
4501      { yyval.Char = '\\'; }      { (yyval.Dotnum) = -1; }
4502      break;      break;
4503    
4504    case 232:    case 232:
4505  #line 318 "lscp.y"  #line 432 "lscp.y"
4506      { yyval.Char = ']'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4507      break;      break;
4508    
4509    case 233:    case 233:
4510  #line 318 "lscp.y"  #line 433 "lscp.y"
4511      { yyval.Char = '^'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4512      break;      break;
4513    
4514    case 234:    case 234:
4515  #line 318 "lscp.y"  #line 436 "lscp.y"
4516      { yyval.Char = '_'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4517      break;      break;
4518    
4519    case 235:    case 235:
4520  #line 319 "lscp.y"  #line 437 "lscp.y"
4521      { yyval.Char = '{'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4522      break;      break;
4523    
4524    case 236:    case 236:
4525  #line 319 "lscp.y"  #line 438 "lscp.y"
4526      { yyval.Char = '|'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4527      break;      break;
4528    
4529    case 237:    case 237:
4530  #line 319 "lscp.y"  #line 442 "lscp.y"
4531      { yyval.Char = '}'; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4532      break;      break;
4533    
4534    case 238:    case 238:
4535  #line 319 "lscp.y"  #line 443 "lscp.y"
4536      { yyval.Char = '~'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4537      break;      break;
4538    
4539    case 239:    case 239:
4540  #line 320 "lscp.y"  #line 446 "lscp.y"
4541      { yyval.Char = '\200'; }      { (yyval.Char) = '0'; }
4542      break;      break;
4543    
4544    case 240:    case 240:
4545  #line 320 "lscp.y"  #line 447 "lscp.y"
4546      { yyval.Char = '\201'; }      { (yyval.Char) = '1'; }
4547      break;      break;
4548    
4549    case 241:    case 241:
4550  #line 320 "lscp.y"  #line 448 "lscp.y"
4551      { yyval.Char = '\202'; }      { (yyval.Char) = '2'; }
4552      break;      break;
4553    
4554    case 242:    case 242:
4555  #line 321 "lscp.y"  #line 449 "lscp.y"
4556      { yyval.Char = '\203'; }      { (yyval.Char) = '3'; }
4557      break;      break;
4558    
4559    case 243:    case 243:
4560  #line 321 "lscp.y"  #line 450 "lscp.y"
4561      { yyval.Char = '\204'; }      { (yyval.Char) = '4'; }
4562      break;      break;
4563    
4564    case 244:    case 244:
4565  #line 321 "lscp.y"  #line 451 "lscp.y"
4566      { yyval.Char = '\205'; }      { (yyval.Char) = '5'; }
4567      break;      break;
4568    
4569    case 245:    case 245:
4570  #line 322 "lscp.y"  #line 452 "lscp.y"
4571      { yyval.Char = '\206'; }      { (yyval.Char) = '6'; }
4572      break;      break;
4573    
4574    case 246:    case 246:
4575  #line 322 "lscp.y"  #line 453 "lscp.y"
4576      { yyval.Char = '\207'; }      { (yyval.Char) = '7'; }
4577      break;      break;
4578    
4579    case 247:    case 247:
4580  #line 322 "lscp.y"  #line 454 "lscp.y"
4581      { yyval.Char = '\210'; }      { (yyval.Char) = '8'; }
4582      break;      break;
4583    
4584    case 248:    case 248:
4585  #line 323 "lscp.y"  #line 455 "lscp.y"
4586      { yyval.Char = '\211'; }      { (yyval.Char) = '9'; }
4587      break;      break;
4588    
4589    case 249:    case 249:
4590  #line 323 "lscp.y"  #line 458 "lscp.y"
4591      { yyval.Char = '\212'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4592      break;      break;
4593    
4594    case 250:    case 250:
4595  #line 323 "lscp.y"  #line 459 "lscp.y"
4596      { yyval.Char = '\213'; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4597      break;      break;
4598    
4599    case 251:    case 251:
4600  #line 324 "lscp.y"  #line 460 "lscp.y"
4601      { yyval.Char = '\214'; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4602      break;      break;
4603    
4604    case 252:    case 252:
4605  #line 324 "lscp.y"  #line 461 "lscp.y"
4606      { yyval.Char = '\215'; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4607      break;      break;
4608    
4609    case 253:    case 253:
4610  #line 324 "lscp.y"  #line 462 "lscp.y"
4611      { yyval.Char = '\216'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4612      break;      break;
4613    
4614    case 254:    case 254:
4615  #line 325 "lscp.y"  #line 463 "lscp.y"
4616      { yyval.Char = '\217'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4617      break;      break;
4618    
4619    case 255:    case 255:
4620  #line 325 "lscp.y"  #line 464 "lscp.y"
4621      { yyval.Char = '\220'; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4622      break;      break;
4623    
4624    case 256:    case 256:
4625  #line 325 "lscp.y"  #line 465 "lscp.y"
4626      { yyval.Char = '\221'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4627      break;      break;
4628    
4629    case 257:    case 257:
4630  #line 326 "lscp.y"  #line 466 "lscp.y"
4631      { yyval.Char = '\222'; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4632      break;      break;
4633    
4634    case 258:    case 258:
4635  #line 326 "lscp.y"  #line 467 "lscp.y"
4636      { yyval.Char = '\223'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4637      break;      break;
4638    
4639    case 259:    case 259:
4640  #line 326 "lscp.y"  #line 469 "lscp.y"
4641      { yyval.Char = '\224'; }      { (yyval.Char) = 'A'; }
4642      break;      break;
4643    
4644    case 260:    case 260:
4645  #line 327 "lscp.y"  #line 469 "lscp.y"
4646      { yyval.Char = '\225'; }      { (yyval.Char) = 'B'; }
4647      break;      break;
4648    
4649    case 261:    case 261:
4650  #line 327 "lscp.y"  #line 469 "lscp.y"
4651      { yyval.Char = '\226'; }      { (yyval.Char) = 'C'; }
4652      break;      break;
4653    
4654    case 262:    case 262:
4655  #line 327 "lscp.y"  #line 469 "lscp.y"
4656      { yyval.Char = '\227'; }      { (yyval.Char) = 'D'; }
4657      break;      break;
4658    
4659    case 263:    case 263:
4660  #line 328 "lscp.y"  #line 469 "lscp.y"
4661      { yyval.Char = '\230'; }      { (yyval.Char) = 'E'; }
4662      break;      break;
4663    
4664    case 264:    case 264:
4665  #line 328 "lscp.y"  #line 469 "lscp.y"
4666      { yyval.Char = '\231'; }      { (yyval.Char) = 'F'; }
4667      break;      break;
4668    
4669    case 265:    case 265:
4670  #line 328 "lscp.y"  #line 469 "lscp.y"
4671      { yyval.Char = '\232'; }      { (yyval.Char) = 'G'; }
4672      break;      break;
4673    
4674    case 266:    case 266:
4675  #line 329 "lscp.y"  #line 469 "lscp.y"
4676      { yyval.Char = '\233'; }      { (yyval.Char) = 'H'; }
4677      break;      break;
4678    
4679    case 267:    case 267:
4680  #line 329 "lscp.y"  #line 469 "lscp.y"
4681      { yyval.Char = '\234'; }      { (yyval.Char) = 'I'; }
4682      break;      break;
4683    
4684    case 268:    case 268:
4685  #line 329 "lscp.y"  #line 469 "lscp.y"
4686      { yyval.Char = '\235'; }      { (yyval.Char) = 'J'; }
4687      break;      break;
4688    
4689    case 269:    case 269:
4690  #line 330 "lscp.y"  #line 469 "lscp.y"
4691      { yyval.Char = '\236'; }      { (yyval.Char) = 'K'; }
4692      break;      break;
4693    
4694    case 270:    case 270:
4695  #line 330 "lscp.y"  #line 469 "lscp.y"
4696      { yyval.Char = '\237'; }      { (yyval.Char) = 'L'; }
4697      break;      break;
4698    
4699    case 271:    case 271:
4700  #line 330 "lscp.y"  #line 469 "lscp.y"
4701      { yyval.Char = '\240'; }      { (yyval.Char) = 'M'; }
4702      break;      break;
4703    
4704    case 272:    case 272:
4705  #line 331 "lscp.y"  #line 469 "lscp.y"
4706      { yyval.Char = '\241'; }      { (yyval.Char) = 'N'; }
4707      break;      break;
4708    
4709    case 273:    case 273:
4710  #line 331 "lscp.y"  #line 469 "lscp.y"
4711      { yyval.Char = '\242'; }      { (yyval.Char) = 'O'; }
4712      break;      break;
4713    
4714    case 274:    case 274:
4715  #line 331 "lscp.y"  #line 469 "lscp.y"
4716      { yyval.Char = '\243'; }      { (yyval.Char) = 'P'; }
4717      break;      break;
4718    
4719    case 275:    case 275:
4720  #line 332 "lscp.y"  #line 469 "lscp.y"
4721      { yyval.Char = '\244'; }      { (yyval.Char) = 'Q'; }
4722      break;      break;
4723    
4724    case 276:    case 276:
4725  #line 332 "lscp.y"  #line 469 "lscp.y"
4726      { yyval.Char = '\245'; }      { (yyval.Char) = 'R'; }
4727      break;      break;
4728    
4729    case 277:    case 277:
4730  #line 332 "lscp.y"  #line 469 "lscp.y"
4731      { yyval.Char = '\246'; }      { (yyval.Char) = 'S'; }
4732      break;      break;
4733    
4734    case 278:    case 278:
4735  #line 333 "lscp.y"  #line 469 "lscp.y"
4736      { yyval.Char = '\247'; }      { (yyval.Char) = 'T'; }
4737      break;      break;
4738    
4739    case 279:    case 279:
4740  #line 333 "lscp.y"  #line 469 "lscp.y"
4741      { yyval.Char = '\250'; }      { (yyval.Char) = 'U'; }
4742      break;      break;
4743    
4744    case 280:    case 280:
4745  #line 333 "lscp.y"  #line 469 "lscp.y"
4746      { yyval.Char = '\251'; }      { (yyval.Char) = 'V'; }
4747      break;      break;
4748    
4749    case 281:    case 281:
4750  #line 334 "lscp.y"  #line 469 "lscp.y"
4751      { yyval.Char = '\252'; }      { (yyval.Char) = 'W'; }
4752      break;      break;
4753    
4754    case 282:    case 282:
4755  #line 334 "lscp.y"  #line 469 "lscp.y"
4756      { yyval.Char = '\253'; }      { (yyval.Char) = 'X'; }
4757      break;      break;
4758    
4759    case 283:    case 283:
4760  #line 334 "lscp.y"  #line 469 "lscp.y"
4761      { yyval.Char = '\254'; }      { (yyval.Char) = 'Y'; }
4762      break;      break;
4763    
4764    case 284:    case 284:
4765  #line 335 "lscp.y"  #line 469 "lscp.y"
4766      { yyval.Char = '\255'; }      { (yyval.Char) = 'Z'; }
4767      break;      break;
4768    
4769    case 285:    case 285:
4770  #line 335 "lscp.y"  #line 470 "lscp.y"
4771      { yyval.Char = '\256'; }      { (yyval.Char) = 'a'; }
4772      break;      break;
4773    
4774    case 286:    case 286:
4775  #line 335 "lscp.y"  #line 470 "lscp.y"
4776      { yyval.Char = '\257'; }      { (yyval.Char) = 'b'; }
4777      break;      break;
4778    
4779    case 287:    case 287:
4780  #line 336 "lscp.y"  #line 470 "lscp.y"
4781      { yyval.Char = '\260'; }      { (yyval.Char) = 'c'; }
4782      break;      break;
4783    
4784    case 288:    case 288:
4785  #line 336 "lscp.y"  #line 470 "lscp.y"
4786      { yyval.Char = '\261'; }      { (yyval.Char) = 'd'; }
4787      break;      break;
4788    
4789    case 289:    case 289:
4790  #line 336 "lscp.y"  #line 470 "lscp.y"
4791      { yyval.Char = '\262'; }      { (yyval.Char) = 'e'; }
4792      break;      break;
4793    
4794    case 290:    case 290:
4795  #line 337 "lscp.y"  #line 470 "lscp.y"
4796      { yyval.Char = '\263'; }      { (yyval.Char) = 'f'; }
4797      break;      break;
4798    
4799    case 291:    case 291:
4800  #line 337 "lscp.y"  #line 470 "lscp.y"
4801      { yyval.Char = '\264'; }      { (yyval.Char) = 'g'; }
4802      break;      break;
4803    
4804    case 292:    case 292:
4805  #line 337 "lscp.y"  #line 470 "lscp.y"
4806      { yyval.Char = '\265'; }      { (yyval.Char) = 'h'; }
4807      break;      break;
4808    
4809    case 293:    case 293:
4810  #line 338 "lscp.y"  #line 470 "lscp.y"
4811      { yyval.Char = '\266'; }      { (yyval.Char) = 'i'; }
4812      break;      break;
4813    
4814    case 294:    case 294:
4815  #line 338 "lscp.y"  #line 470 "lscp.y"
4816      { yyval.Char = '\267'; }      { (yyval.Char) = 'j'; }
4817      break;      break;
4818    
4819    case 295:    case 295:
4820  #line 338 "lscp.y"  #line 470 "lscp.y"
4821      { yyval.Char = '\270'; }      { (yyval.Char) = 'k'; }
4822      break;      break;
4823    
4824    case 296:    case 296:
4825  #line 339 "lscp.y"  #line 470 "lscp.y"
4826      { yyval.Char = '\271'; }      { (yyval.Char) = 'l'; }
4827      break;      break;
4828    
4829    case 297:    case 297:
4830  #line 339 "lscp.y"  #line 470 "lscp.y"
4831      { yyval.Char = '\272'; }      { (yyval.Char) = 'm'; }
4832      break;      break;
4833    
4834    case 298:    case 298:
4835  #line 339 "lscp.y"  #line 470 "lscp.y"
4836      { yyval.Char = '\273'; }      { (yyval.Char) = 'n'; }
4837      break;      break;
4838    
4839    case 299:    case 299:
4840  #line 340 "lscp.y"  #line 470 "lscp.y"
4841      { yyval.Char = '\274'; }      { (yyval.Char) = 'o'; }
4842      break;      break;
4843    
4844    case 300:    case 300:
4845  #line 340 "lscp.y"  #line 470 "lscp.y"
4846      { yyval.Char = '\275'; }      { (yyval.Char) = 'p'; }
4847      break;      break;
4848    
4849    case 301:    case 301:
4850  #line 340 "lscp.y"  #line 470 "lscp.y"
4851      { yyval.Char = '\276'; }      { (yyval.Char) = 'q'; }
4852      break;      break;
4853    
4854    case 302:    case 302:
4855  #line 341 "lscp.y"  #line 470 "lscp.y"
4856      { yyval.Char = '\277'; }      { (yyval.Char) = 'r'; }
4857      break;      break;
4858    
4859    case 303:    case 303:
4860  #line 341 "lscp.y"  #line 470 "lscp.y"
4861      { yyval.Char = '\300'; }      { (yyval.Char) = 's'; }
4862      break;      break;
4863    
4864    case 304:    case 304:
4865  #line 341 "lscp.y"  #line 470 "lscp.y"
4866      { yyval.Char = '\301'; }      { (yyval.Char) = 't'; }
4867      break;      break;
4868    
4869    case 305:    case 305:
4870  #line 342 "lscp.y"  #line 470 "lscp.y"
4871      { yyval.Char = '\302'; }      { (yyval.Char) = 'u'; }
4872      break;      break;
4873    
4874    case 306:    case 306:
4875  #line 342 "lscp.y"  #line 470 "lscp.y"
4876      { yyval.Char = '\303'; }      { (yyval.Char) = 'v'; }
4877      break;      break;
4878    
4879    case 307:    case 307:
4880  #line 342 "lscp.y"  #line 470 "lscp.y"
4881      { yyval.Char = '\304'; }      { (yyval.Char) = 'w'; }
4882      break;      break;
4883    
4884    case 308:    case 308:
4885  #line 343 "lscp.y"  #line 470 "lscp.y"
4886      { yyval.Char = '\305'; }      { (yyval.Char) = 'x'; }
4887      break;      break;
4888    
4889    case 309:    case 309:
4890  #line 343 "lscp.y"  #line 470 "lscp.y"
4891      { yyval.Char = '\306'; }      { (yyval.Char) = 'y'; }
4892      break;      break;
4893    
4894    case 310:    case 310:
4895  #line 343 "lscp.y"  #line 470 "lscp.y"
4896      { yyval.Char = '\307'; }      { (yyval.Char) = 'z'; }
4897      break;      break;
4898    
4899    case 311:    case 311:
4900  #line 344 "lscp.y"  #line 471 "lscp.y"
4901      { yyval.Char = '\310'; }      { (yyval.Char) = '0'; }
4902      break;      break;
4903    
4904    case 312:    case 312:
4905  #line 344 "lscp.y"  #line 471 "lscp.y"
4906      { yyval.Char = '\311'; }      { (yyval.Char) = '1'; }
4907      break;      break;
4908    
4909    case 313:    case 313:
4910  #line 344 "lscp.y"  #line 471 "lscp.y"
4911      { yyval.Char = '\312'; }      { (yyval.Char) = '2'; }
4912      break;      break;
4913    
4914    case 314:    case 314:
4915  #line 345 "lscp.y"  #line 471 "lscp.y"
4916      { yyval.Char = '\313'; }      { (yyval.Char) = '3'; }
4917      break;      break;
4918    
4919    case 315:    case 315:
4920  #line 345 "lscp.y"  #line 471 "lscp.y"
4921      { yyval.Char = '\314'; }      { (yyval.Char) = '4'; }
4922      break;      break;
4923    
4924    case 316:    case 316:
4925  #line 345 "lscp.y"  #line 471 "lscp.y"
4926      { yyval.Char = '\315'; }      { (yyval.Char) = '5'; }
4927      break;      break;
4928    
4929    case 317:    case 317:
4930  #line 346 "lscp.y"  #line 471 "lscp.y"
4931      { yyval.Char = '\316'; }      { (yyval.Char) = '6'; }
4932      break;      break;
4933    
4934    case 318:    case 318:
4935  #line 346 "lscp.y"  #line 471 "lscp.y"
4936      { yyval.Char = '\317'; }      { (yyval.Char) = '7'; }
4937      break;      break;
4938    
4939    case 319:    case 319:
4940  #line 346 "lscp.y"  #line 471 "lscp.y"
4941      { yyval.Char = '\320'; }      { (yyval.Char) = '8'; }
4942      break;      break;
4943    
4944    case 320:    case 320:
4945  #line 347 "lscp.y"  #line 471 "lscp.y"
4946      { yyval.Char = '\321'; }      { (yyval.Char) = '9'; }
4947      break;      break;
4948    
4949    case 321:    case 321:
4950  #line 347 "lscp.y"  #line 472 "lscp.y"
4951      { yyval.Char = '\322'; }      { (yyval.Char) = '!'; }
4952      break;      break;
4953    
4954    case 322:    case 322:
4955  #line 347 "lscp.y"  #line 472 "lscp.y"
4956      { yyval.Char = '\323'; }      { (yyval.Char) = '#'; }
4957      break;      break;
4958    
4959    case 323:    case 323:
4960  #line 348 "lscp.y"  #line 472 "lscp.y"
4961      { yyval.Char = '\324'; }      { (yyval.Char) = '$'; }
4962      break;      break;
4963    
4964    case 324:    case 324:
4965  #line 348 "lscp.y"  #line 472 "lscp.y"
4966      { yyval.Char = '\325'; }      { (yyval.Char) = '%'; }
4967      break;      break;
4968    
4969    case 325:    case 325:
4970  #line 348 "lscp.y"  #line 472 "lscp.y"
4971      { yyval.Char = '\326'; }      { (yyval.Char) = '&'; }
4972      break;      break;
4973    
4974    case 326:    case 326:
4975  #line 349 "lscp.y"  #line 472 "lscp.y"
4976      { yyval.Char = '\327'; }      { (yyval.Char) = '('; }
4977      break;      break;
4978    
4979    case 327:    case 327:
4980  #line 349 "lscp.y"  #line 472 "lscp.y"
4981      { yyval.Char = '\330'; }      { (yyval.Char) = ')'; }
4982      break;      break;
4983    
4984    case 328:    case 328:
4985  #line 349 "lscp.y"  #line 472 "lscp.y"
4986      { yyval.Char = '\331'; }      { (yyval.Char) = '*'; }
4987      break;      break;
4988    
4989    case 329:    case 329:
4990  #line 350 "lscp.y"  #line 472 "lscp.y"
4991      { yyval.Char = '\332'; }      { (yyval.Char) = '+'; }
4992      break;      break;
4993    
4994    case 330:    case 330:
4995  #line 350 "lscp.y"  #line 472 "lscp.y"
4996      { yyval.Char = '\333'; }      { (yyval.Char) = '-'; }
4997      break;      break;
4998    
4999    case 331:    case 331:
5000  #line 350 "lscp.y"  #line 472 "lscp.y"
5001      { yyval.Char = '\334'; }      { (yyval.Char) = '.'; }
5002      break;      break;
5003    
5004    case 332:    case 332:
5005  #line 351 "lscp.y"  #line 472 "lscp.y"
5006      { yyval.Char = '\335'; }      { (yyval.Char) = ','; }
5007      break;      break;
5008    
5009    case 333:    case 333:
5010  #line 351 "lscp.y"  #line 472 "lscp.y"
5011      { yyval.Char = '\336'; }      { (yyval.Char) = '/'; }
5012      break;      break;
5013    
5014    case 334:    case 334:
5015  #line 351 "lscp.y"  #line 473 "lscp.y"
5016      { yyval.Char = '\337'; }      { (yyval.Char) = ':'; }
5017      break;      break;
5018    
5019    case 335:    case 335:
5020  #line 352 "lscp.y"  #line 473 "lscp.y"
5021      { yyval.Char = '\340'; }      { (yyval.Char) = ';'; }
5022      break;      break;
5023    
5024    case 336:    case 336:
5025  #line 352 "lscp.y"  #line 473 "lscp.y"
5026      { yyval.Char = '\341'; }      { (yyval.Char) = '<'; }
5027      break;      break;
5028    
5029    case 337:    case 337:
5030  #line 352 "lscp.y"  #line 473 "lscp.y"
5031      { yyval.Char = '\342'; }      { (yyval.Char) = '='; }
5032      break;      break;
5033    
5034    case 338:    case 338:
5035  #line 353 "lscp.y"  #line 473 "lscp.y"
5036      { yyval.Char = '\343'; }      { (yyval.Char) = '>'; }
5037      break;      break;
5038    
5039    case 339:    case 339:
5040  #line 353 "lscp.y"  #line 473 "lscp.y"
5041      { yyval.Char = '\344'; }      { (yyval.Char) = '?'; }
5042      break;      break;
5043    
5044    case 340:    case 340:
5045  #line 353 "lscp.y"  #line 473 "lscp.y"
5046      { yyval.Char = '\345'; }      { (yyval.Char) = '@'; }
5047      break;      break;
5048    
5049    case 341:    case 341:
5050  #line 354 "lscp.y"  #line 474 "lscp.y"
5051      { yyval.Char = '\346'; }      { (yyval.Char) = '['; }
5052      break;      break;
5053    
5054    case 342:    case 342:
5055  #line 354 "lscp.y"  #line 474 "lscp.y"
5056      { yyval.Char = '\347'; }      { (yyval.Char) = '\\'; }
5057      break;      break;
5058    
5059    case 343:    case 343:
5060  #line 354 "lscp.y"  #line 474 "lscp.y"
5061      { yyval.Char = '\350'; }      { (yyval.Char) = ']'; }
5062      break;      break;
5063    
5064    case 344:    case 344:
5065  #line 355 "lscp.y"  #line 474 "lscp.y"
5066      { yyval.Char = '\351'; }      { (yyval.Char) = '^'; }
5067      break;      break;
5068    
5069    case 345:    case 345:
5070  #line 355 "lscp.y"  #line 474 "lscp.y"
5071      { yyval.Char = '\352'; }      { (yyval.Char) = '_'; }
5072      break;      break;
5073    
5074    case 346:    case 346:
5075  #line 355 "lscp.y"  #line 475 "lscp.y"
5076      { yyval.Char = '\353'; }      { (yyval.Char) = '{'; }
5077      break;      break;
5078    
5079    case 347:    case 347:
5080  #line 356 "lscp.y"  #line 475 "lscp.y"
5081      { yyval.Char = '\354'; }      { (yyval.Char) = '|'; }
5082      break;      break;
5083    
5084    case 348:    case 348:
5085  #line 356 "lscp.y"  #line 475 "lscp.y"
5086      { yyval.Char = '\355'; }      { (yyval.Char) = '}'; }
5087      break;      break;
5088    
5089    case 349:    case 349:
5090  #line 356 "lscp.y"  #line 475 "lscp.y"
5091      { yyval.Char = '\356'; }      { (yyval.Char) = '~'; }
5092      break;      break;
5093    
5094    case 350:    case 350:
5095  #line 357 "lscp.y"  #line 476 "lscp.y"
5096      { yyval.Char = '\357'; }      { (yyval.Char) = '\200'; }
5097      break;      break;
5098    
5099    case 351:    case 351:
5100  #line 357 "lscp.y"  #line 476 "lscp.y"
5101      { yyval.Char = '\360'; }      { (yyval.Char) = '\201'; }
5102      break;      break;
5103    
5104    case 352:    case 352:
5105  #line 357 "lscp.y"  #line 476 "lscp.y"
5106      { yyval.Char = '\361'; }      { (yyval.Char) = '\202'; }
5107      break;      break;
5108    
5109    case 353:    case 353:
5110  #line 358 "lscp.y"  #line 477 "lscp.y"
5111      { yyval.Char = '\362'; }      { (yyval.Char) = '\203'; }
5112      break;      break;
5113    
5114    case 354:    case 354:
5115  #line 358 "lscp.y"  #line 477 "lscp.y"
5116      { yyval.Char = '\363'; }      { (yyval.Char) = '\204'; }
5117      break;      break;
5118    
5119    case 355:    case 355:
5120  #line 358 "lscp.y"  #line 477 "lscp.y"
5121      { yyval.Char = '\364'; }      { (yyval.Char) = '\205'; }
5122      break;      break;
5123    
5124    case 356:    case 356:
5125  #line 359 "lscp.y"  #line 478 "lscp.y"
5126      { yyval.Char = '\365'; }      { (yyval.Char) = '\206'; }
5127      break;      break;
5128    
5129    case 357:    case 357:
5130  #line 359 "lscp.y"  #line 478 "lscp.y"
5131      { yyval.Char = '\366'; }      { (yyval.Char) = '\207'; }
5132      break;      break;
5133    
5134    case 358:    case 358:
5135  #line 359 "lscp.y"  #line 478 "lscp.y"
5136      { yyval.Char = '\367'; }      { (yyval.Char) = '\210'; }
5137      break;      break;
5138    
5139    case 359:    case 359:
5140  #line 360 "lscp.y"  #line 479 "lscp.y"
5141      { yyval.Char = '\370'; }      { (yyval.Char) = '\211'; }
5142      break;      break;
5143    
5144    case 360:    case 360:
5145  #line 360 "lscp.y"  #line 479 "lscp.y"
5146      { yyval.Char = '\371'; }      { (yyval.Char) = '\212'; }
5147      break;      break;
5148    
5149    case 361:    case 361:
5150  #line 360 "lscp.y"  #line 479 "lscp.y"
5151      { yyval.Char = '\372'; }      { (yyval.Char) = '\213'; }
5152      break;      break;
5153    
5154    case 362:    case 362:
5155  #line 361 "lscp.y"  #line 480 "lscp.y"
5156      { yyval.Char = '\373'; }      { (yyval.Char) = '\214'; }
5157      break;      break;
5158    
5159    case 363:    case 363:
5160  #line 361 "lscp.y"  #line 480 "lscp.y"
5161      { yyval.Char = '\374'; }      { (yyval.Char) = '\215'; }
5162      break;      break;
5163    
5164    case 364:    case 364:
5165  #line 361 "lscp.y"  #line 480 "lscp.y"
5166      { yyval.Char = '\375'; }      { (yyval.Char) = '\216'; }
5167      break;      break;
5168    
5169    case 365:    case 365:
5170  #line 362 "lscp.y"  #line 481 "lscp.y"
5171      { yyval.Char = '\376'; }      { (yyval.Char) = '\217'; }
5172      break;      break;
5173    
5174    case 366:    case 366:
5175  #line 362 "lscp.y"  #line 481 "lscp.y"
5176      { yyval.Char = '\377'; }      { (yyval.Char) = '\220'; }
5177      break;      break;
5178    
5179    case 367:    case 367:
5180  #line 365 "lscp.y"  #line 481 "lscp.y"
5181      { yyval.String = " ";      }      { (yyval.Char) = '\221'; }
5182        break;
5183    
5184      case 368:
5185    #line 482 "lscp.y"
5186        { (yyval.Char) = '\222'; }
5187      break;      break;
5188    
5189    case 369:    case 369:
5190  #line 367 "lscp.y"  #line 482 "lscp.y"
5191      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '\223'; }
5192      break;      break;
5193    
5194    case 370:    case 370:
5195  #line 368 "lscp.y"  #line 482 "lscp.y"
5196      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '\224'; }
5197      break;      break;
5198    
5199    case 371:    case 371:
5200  #line 371 "lscp.y"  #line 483 "lscp.y"
5201      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\225'; }
5202      break;      break;
5203    
5204    case 372:    case 372:
5205  #line 372 "lscp.y"  #line 483 "lscp.y"
5206      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\226'; }
5207      break;      break;
5208    
5209      case 373:
5210    #line 483 "lscp.y"
5211        { (yyval.Char) = '\227'; }
5212        break;
5213    
5214      }    case 374:
5215    #line 484 "lscp.y"
5216        { (yyval.Char) = '\230'; }
5217        break;
5218    
5219  /* Line 1010 of yacc.c.  */    case 375:
5220  #line 4428 "y.tab.c"  #line 484 "lscp.y"
5221        { (yyval.Char) = '\231'; }
5222    yyvsp -= yylen;      break;
5223    yyssp -= yylen;  
5224      case 376:
5225    #line 484 "lscp.y"
5226        { (yyval.Char) = '\232'; }
5227        break;
5228    
5229      case 377:
5230    #line 485 "lscp.y"
5231        { (yyval.Char) = '\233'; }
5232        break;
5233    
5234      case 378:
5235    #line 485 "lscp.y"
5236        { (yyval.Char) = '\234'; }
5237        break;
5238    
5239      case 379:
5240    #line 485 "lscp.y"
5241        { (yyval.Char) = '\235'; }
5242        break;
5243    
5244      case 380:
5245    #line 486 "lscp.y"
5246        { (yyval.Char) = '\236'; }
5247        break;
5248    
5249      case 381:
5250    #line 486 "lscp.y"
5251        { (yyval.Char) = '\237'; }
5252        break;
5253    
5254      case 382:
5255    #line 486 "lscp.y"
5256        { (yyval.Char) = '\240'; }
5257        break;
5258    
5259      case 383:
5260    #line 487 "lscp.y"
5261        { (yyval.Char) = '\241'; }
5262        break;
5263    
5264      case 384:
5265    #line 487 "lscp.y"
5266        { (yyval.Char) = '\242'; }
5267        break;
5268    
5269      case 385:
5270    #line 487 "lscp.y"
5271        { (yyval.Char) = '\243'; }
5272        break;
5273    
5274      case 386:
5275    #line 488 "lscp.y"
5276        { (yyval.Char) = '\244'; }
5277        break;
5278    
5279      case 387:
5280    #line 488 "lscp.y"
5281        { (yyval.Char) = '\245'; }
5282        break;
5283    
5284      case 388:
5285    #line 488 "lscp.y"
5286        { (yyval.Char) = '\246'; }
5287        break;
5288    
5289      case 389:
5290    #line 489 "lscp.y"
5291        { (yyval.Char) = '\247'; }
5292        break;
5293    
5294      case 390:
5295    #line 489 "lscp.y"
5296        { (yyval.Char) = '\250'; }
5297        break;
5298    
5299      case 391:
5300    #line 489 "lscp.y"
5301        { (yyval.Char) = '\251'; }
5302        break;
5303    
5304      case 392:
5305    #line 490 "lscp.y"
5306        { (yyval.Char) = '\252'; }
5307        break;
5308    
5309      case 393:
5310    #line 490 "lscp.y"
5311        { (yyval.Char) = '\253'; }
5312        break;
5313    
5314      case 394:
5315    #line 490 "lscp.y"
5316        { (yyval.Char) = '\254'; }
5317        break;
5318    
5319      case 395:
5320    #line 491 "lscp.y"
5321        { (yyval.Char) = '\255'; }
5322        break;
5323    
5324      case 396:
5325    #line 491 "lscp.y"
5326        { (yyval.Char) = '\256'; }
5327        break;
5328    
5329      case 397:
5330    #line 491 "lscp.y"
5331        { (yyval.Char) = '\257'; }
5332        break;
5333    
5334      case 398:
5335    #line 492 "lscp.y"
5336        { (yyval.Char) = '\260'; }
5337        break;
5338    
5339      case 399:
5340    #line 492 "lscp.y"
5341        { (yyval.Char) = '\261'; }
5342        break;
5343    
5344      case 400:
5345    #line 492 "lscp.y"
5346        { (yyval.Char) = '\262'; }
5347        break;
5348    
5349      case 401:
5350    #line 493 "lscp.y"
5351        { (yyval.Char) = '\263'; }
5352        break;
5353    
5354      case 402:
5355    #line 493 "lscp.y"
5356        { (yyval.Char) = '\264'; }
5357        break;
5358    
5359      case 403:
5360    #line 493 "lscp.y"
5361        { (yyval.Char) = '\265'; }
5362        break;
5363    
5364      case 404:
5365    #line 494 "lscp.y"
5366        { (yyval.Char) = '\266'; }
5367        break;
5368    
5369      case 405:
5370    #line 494 "lscp.y"
5371        { (yyval.Char) = '\267'; }
5372        break;
5373    
5374      case 406:
5375    #line 494 "lscp.y"
5376        { (yyval.Char) = '\270'; }
5377        break;
5378    
5379      case 407:
5380    #line 495 "lscp.y"
5381        { (yyval.Char) = '\271'; }
5382        break;
5383    
5384      case 408:
5385    #line 495 "lscp.y"
5386        { (yyval.Char) = '\272'; }
5387        break;
5388    
5389      case 409:
5390    #line 495 "lscp.y"
5391        { (yyval.Char) = '\273'; }
5392        break;
5393    
5394      case 410:
5395    #line 496 "lscp.y"
5396        { (yyval.Char) = '\274'; }
5397        break;
5398    
5399      case 411:
5400    #line 496 "lscp.y"
5401        { (yyval.Char) = '\275'; }
5402        break;
5403    
5404      case 412:
5405    #line 496 "lscp.y"
5406        { (yyval.Char) = '\276'; }
5407        break;
5408    
5409      case 413:
5410    #line 497 "lscp.y"
5411        { (yyval.Char) = '\277'; }
5412        break;
5413    
5414      case 414:
5415    #line 497 "lscp.y"
5416        { (yyval.Char) = '\300'; }
5417        break;
5418    
5419      case 415:
5420    #line 497 "lscp.y"
5421        { (yyval.Char) = '\301'; }
5422        break;
5423    
5424      case 416:
5425    #line 498 "lscp.y"
5426        { (yyval.Char) = '\302'; }
5427        break;
5428    
5429      case 417:
5430    #line 498 "lscp.y"
5431        { (yyval.Char) = '\303'; }
5432        break;
5433    
5434      case 418:
5435    #line 498 "lscp.y"
5436        { (yyval.Char) = '\304'; }
5437        break;
5438    
5439      case 419:
5440    #line 499 "lscp.y"
5441        { (yyval.Char) = '\305'; }
5442        break;
5443    
5444      case 420:
5445    #line 499 "lscp.y"
5446        { (yyval.Char) = '\306'; }
5447        break;
5448    
5449      case 421:
5450    #line 499 "lscp.y"
5451        { (yyval.Char) = '\307'; }
5452        break;
5453    
5454      case 422:
5455    #line 500 "lscp.y"
5456        { (yyval.Char) = '\310'; }
5457        break;
5458    
5459      case 423:
5460    #line 500 "lscp.y"
5461        { (yyval.Char) = '\311'; }
5462        break;
5463    
5464      case 424:
5465    #line 500 "lscp.y"
5466        { (yyval.Char) = '\312'; }
5467        break;
5468    
5469      case 425:
5470    #line 501 "lscp.y"
5471        { (yyval.Char) = '\313'; }
5472        break;
5473    
5474      case 426:
5475    #line 501 "lscp.y"
5476        { (yyval.Char) = '\314'; }
5477        break;
5478    
5479      case 427:
5480    #line 501 "lscp.y"
5481        { (yyval.Char) = '\315'; }
5482        break;
5483    
5484      case 428:
5485    #line 502 "lscp.y"
5486        { (yyval.Char) = '\316'; }
5487        break;
5488    
5489      case 429:
5490    #line 502 "lscp.y"
5491        { (yyval.Char) = '\317'; }
5492        break;
5493    
5494      case 430:
5495    #line 502 "lscp.y"
5496        { (yyval.Char) = '\320'; }
5497        break;
5498    
5499      case 431:
5500    #line 503 "lscp.y"
5501        { (yyval.Char) = '\321'; }
5502        break;
5503    
5504      case 432:
5505    #line 503 "lscp.y"
5506        { (yyval.Char) = '\322'; }
5507        break;
5508    
5509      case 433:
5510    #line 503 "lscp.y"
5511        { (yyval.Char) = '\323'; }
5512        break;
5513    
5514      case 434:
5515    #line 504 "lscp.y"
5516        { (yyval.Char) = '\324'; }
5517        break;
5518    
5519      case 435:
5520    #line 504 "lscp.y"
5521        { (yyval.Char) = '\325'; }
5522        break;
5523    
5524      case 436:
5525    #line 504 "lscp.y"
5526        { (yyval.Char) = '\326'; }
5527        break;
5528    
5529      case 437:
5530    #line 505 "lscp.y"
5531        { (yyval.Char) = '\327'; }
5532        break;
5533    
5534      case 438:
5535    #line 505 "lscp.y"
5536        { (yyval.Char) = '\330'; }
5537        break;
5538    
5539      case 439:
5540    #line 505 "lscp.y"
5541        { (yyval.Char) = '\331'; }
5542        break;
5543    
5544      case 440:
5545    #line 506 "lscp.y"
5546        { (yyval.Char) = '\332'; }
5547        break;
5548    
5549      case 441:
5550    #line 506 "lscp.y"
5551        { (yyval.Char) = '\333'; }
5552        break;
5553    
5554      case 442:
5555    #line 506 "lscp.y"
5556        { (yyval.Char) = '\334'; }
5557        break;
5558    
5559      case 443:
5560    #line 507 "lscp.y"
5561        { (yyval.Char) = '\335'; }
5562        break;
5563    
5564      case 444:
5565    #line 507 "lscp.y"
5566        { (yyval.Char) = '\336'; }
5567        break;
5568    
5569      case 445:
5570    #line 507 "lscp.y"
5571        { (yyval.Char) = '\337'; }
5572        break;
5573    
5574      case 446:
5575    #line 508 "lscp.y"
5576        { (yyval.Char) = '\340'; }
5577        break;
5578    
5579      case 447:
5580    #line 508 "lscp.y"
5581        { (yyval.Char) = '\341'; }
5582        break;
5583    
5584      case 448:
5585    #line 508 "lscp.y"
5586        { (yyval.Char) = '\342'; }
5587        break;
5588    
5589      case 449:
5590    #line 509 "lscp.y"
5591        { (yyval.Char) = '\343'; }
5592        break;
5593    
5594      case 450:
5595    #line 509 "lscp.y"
5596        { (yyval.Char) = '\344'; }
5597        break;
5598    
5599      case 451:
5600    #line 509 "lscp.y"
5601        { (yyval.Char) = '\345'; }
5602        break;
5603    
5604      case 452:
5605    #line 510 "lscp.y"
5606        { (yyval.Char) = '\346'; }
5607        break;
5608    
5609      case 453:
5610    #line 510 "lscp.y"
5611        { (yyval.Char) = '\347'; }
5612        break;
5613    
5614      case 454:
5615    #line 510 "lscp.y"
5616        { (yyval.Char) = '\350'; }
5617        break;
5618    
5619      case 455:
5620    #line 511 "lscp.y"
5621        { (yyval.Char) = '\351'; }
5622        break;
5623    
5624      case 456:
5625    #line 511 "lscp.y"
5626        { (yyval.Char) = '\352'; }
5627        break;
5628    
5629      case 457:
5630    #line 511 "lscp.y"
5631        { (yyval.Char) = '\353'; }
5632        break;
5633    
5634      case 458:
5635    #line 512 "lscp.y"
5636        { (yyval.Char) = '\354'; }
5637        break;
5638    
5639      case 459:
5640    #line 512 "lscp.y"
5641        { (yyval.Char) = '\355'; }
5642        break;
5643    
5644      case 460:
5645    #line 512 "lscp.y"
5646        { (yyval.Char) = '\356'; }
5647        break;
5648    
5649      case 461:
5650    #line 513 "lscp.y"
5651        { (yyval.Char) = '\357'; }
5652        break;
5653    
5654      case 462:
5655    #line 513 "lscp.y"
5656        { (yyval.Char) = '\360'; }
5657        break;
5658    
5659      case 463:
5660    #line 513 "lscp.y"
5661        { (yyval.Char) = '\361'; }
5662        break;
5663    
5664      case 464:
5665    #line 514 "lscp.y"
5666        { (yyval.Char) = '\362'; }
5667        break;
5668    
5669      case 465:
5670    #line 514 "lscp.y"
5671        { (yyval.Char) = '\363'; }
5672        break;
5673    
5674      case 466:
5675    #line 514 "lscp.y"
5676        { (yyval.Char) = '\364'; }
5677        break;
5678    
5679      case 467:
5680    #line 515 "lscp.y"
5681        { (yyval.Char) = '\365'; }
5682        break;
5683    
5684      case 468:
5685    #line 515 "lscp.y"
5686        { (yyval.Char) = '\366'; }
5687        break;
5688    
5689      case 469:
5690    #line 515 "lscp.y"
5691        { (yyval.Char) = '\367'; }
5692        break;
5693    
5694      case 470:
5695    #line 516 "lscp.y"
5696        { (yyval.Char) = '\370'; }
5697        break;
5698    
5699      case 471:
5700    #line 516 "lscp.y"
5701        { (yyval.Char) = '\371'; }
5702        break;
5703    
5704      case 472:
5705    #line 516 "lscp.y"
5706        { (yyval.Char) = '\372'; }
5707        break;
5708    
5709      case 473:
5710    #line 517 "lscp.y"
5711        { (yyval.Char) = '\373'; }
5712        break;
5713    
5714      case 474:
5715    #line 517 "lscp.y"
5716        { (yyval.Char) = '\374'; }
5717        break;
5718    
5719      case 475:
5720    #line 517 "lscp.y"
5721        { (yyval.Char) = '\375'; }
5722        break;
5723    
5724      case 476:
5725    #line 518 "lscp.y"
5726        { (yyval.Char) = '\376'; }
5727        break;
5728    
5729      case 477:
5730    #line 518 "lscp.y"
5731        { (yyval.Char) = '\377'; }
5732        break;
5733    
5734      case 478:
5735    #line 521 "lscp.y"
5736        { (yyval.String) = " ";      }
5737        break;
5738    
5739      case 480:
5740    #line 523 "lscp.y"
5741        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5742        break;
5743    
5744      case 481:
5745    #line 524 "lscp.y"
5746        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5747        break;
5748    
5749      case 482:
5750    #line 527 "lscp.y"
5751        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5752        break;
5753    
5754      case 483:
5755    #line 528 "lscp.y"
5756        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5757        break;
5758    
5759    
5760    /* Line 1267 of yacc.c.  */
5761    #line 5762 "y.tab.c"
5762          default: break;
5763        }
5764      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5765    
5766      YYPOPSTACK (yylen);
5767      yylen = 0;
5768    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
5769    
5770    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4458  yyerrlab: Line 5793  yyerrlab:
5793    if (!yyerrstatus)    if (!yyerrstatus)
5794      {      {
5795        ++yynerrs;        ++yynerrs;
5796  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
5797        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
5798    #else
5799        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
5800          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5801            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5802            int yytype = YYTRANSLATE (yychar);            {
5803            const char* yyprefix;              YYSIZE_T yyalloc = 2 * yysize;
5804            char *yymsg;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5805            int yyx;                yyalloc = YYSTACK_ALLOC_MAXIMUM;
5806                if (yymsg != yymsgbuf)
5807            /* Start YYX at -YYN if negative to avoid negative indexes in                YYSTACK_FREE (yymsg);
5808               YYCHECK.  */              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5809            int yyxbegin = yyn < 0 ? -yyn : 0;              if (yymsg)
5810                  yymsg_alloc = yyalloc;
5811            /* 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)  
5812                {                {
5813                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);                  yymsg = yymsgbuf;
5814                  yycount += 1;                  yymsg_alloc = sizeof yymsgbuf;
                 if (yycount == 5)  
                   {  
                     yysize = 0;  
                     break;  
                   }  
5815                }                }
5816            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]);  
5817    
5818                if (yycount < 5)          if (0 < yysize && yysize <= yymsg_alloc)
5819                  {            {
5820                    yyprefix = ", expecting ";              (void) yysyntax_error (yymsg, yystate, yychar);
5821                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)              yyerror (yymsg);
5822                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)            }
5823                        {          else
5824                          yyp = yystpcpy (yyp, yyprefix);            {
5825                          yyp = yystpcpy (yyp, yytname[yyx]);              yyerror (YY_("syntax error"));
5826                          yyprefix = " or ";              if (yysize != 0)
5827                        }                goto yyexhaustedlab;
5828                  }            }
5829                yyerror (yymsg);        }
5830                YYSTACK_FREE (yymsg);  #endif
             }  
           else  
             yyerror ("syntax error; also virtual memory exhausted");  
         }  
       else  
 #endif /* YYERROR_VERBOSE */  
         yyerror ("syntax error");  
5831      }      }
5832    
5833    
5834    
5835    if (yyerrstatus == 3)    if (yyerrstatus == 3)
5836      {      {
5837        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
5838           error, discard it.  */           error, discard it.  */
5839    
5840        if (yychar <= YYEOF)        if (yychar <= YYEOF)
5841          {          {
5842            /* 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.  */  
5843            if (yychar == YYEOF)            if (yychar == YYEOF)
5844               for (;;)              YYABORT;
5845                 {          }
                  YYPOPSTACK;  
                  if (yyssp == yyss)  
                    YYABORT;  
                  YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
                  yydestruct (yystos[*yyssp], yyvsp);  
                }  
         }  
5846        else        else
5847          {          {
5848            YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);            yydestruct ("Error: discarding",
5849            yydestruct (yytoken, &yylval);                        yytoken, &yylval);
5850            yychar = YYEMPTY;            yychar = YYEMPTY;
   
5851          }          }
5852      }      }
5853    
5854    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
5855       token.  */       token.  */
5856    goto yyerrlab1;    goto yyerrlab1;
5857    
# Line 4560  yyerrlab: Line 5861  yyerrlab:
5861  `---------------------------------------------------*/  `---------------------------------------------------*/
5862  yyerrorlab:  yyerrorlab:
5863    
5864  #ifdef __GNUC__    /* Pacify compilers like GCC when the user code never invokes
5865    /* Pacify GCC when the user code never invokes YYERROR and the label       YYERROR and the label yyerrorlab therefore never appears in user
5866       yyerrorlab therefore never appears in user code.  */       code.  */
5867    if (0)    if (/*CONSTCOND*/ 0)
5868       goto yyerrorlab;       goto yyerrorlab;
 #endif  
5869    
5870    yyvsp -= yylen;    /* Do not reclaim the symbols of the rule which action triggered
5871    yyssp -= yylen;       this YYERROR.  */
5872      YYPOPSTACK (yylen);
5873      yylen = 0;
5874      YY_STACK_PRINT (yyss, yyssp);
5875    yystate = *yyssp;    yystate = *yyssp;
5876    goto yyerrlab1;    goto yyerrlab1;
5877    
# Line 4597  yyerrlab1: Line 5900  yyerrlab1:
5900        if (yyssp == yyss)        if (yyssp == yyss)
5901          YYABORT;          YYABORT;
5902    
5903        YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
5904        yydestruct (yystos[yystate], yyvsp);        yydestruct ("Error: popping",
5905        YYPOPSTACK;                    yystos[yystate], yyvsp);
5906          YYPOPSTACK (1);
5907        yystate = *yyssp;        yystate = *yyssp;
5908        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5909      }      }
# Line 4607  yyerrlab1: Line 5911  yyerrlab1:
5911    if (yyn == YYFINAL)    if (yyn == YYFINAL)
5912      YYACCEPT;      YYACCEPT;
5913    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
5914    *++yyvsp = yylval;    *++yyvsp = yylval;
5915    
5916    
5917      /* Shift the error token.  */
5918      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5919    
5920    yystate = yyn;    yystate = yyn;
5921    goto yynewstate;    goto yynewstate;
5922    
# Line 4631  yyabortlab: Line 5936  yyabortlab:
5936    goto yyreturn;    goto yyreturn;
5937    
5938  #ifndef yyoverflow  #ifndef yyoverflow
5939  /*----------------------------------------------.  /*-------------------------------------------------.
5940  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
5941  `----------------------------------------------*/  `-------------------------------------------------*/
5942  yyoverflowlab:  yyexhaustedlab:
5943    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
5944    yyresult = 2;    yyresult = 2;
5945    /* Fall through.  */    /* Fall through.  */
5946  #endif  #endif
5947    
5948  yyreturn:  yyreturn:
5949      if (yychar != YYEOF && yychar != YYEMPTY)
5950         yydestruct ("Cleanup: discarding lookahead",
5951                     yytoken, &yylval);
5952      /* Do not reclaim the symbols of the rule which action triggered
5953         this YYABORT or YYACCEPT.  */
5954      YYPOPSTACK (yylen);
5955      YY_STACK_PRINT (yyss, yyssp);
5956      while (yyssp != yyss)
5957        {
5958          yydestruct ("Cleanup: popping",
5959                      yystos[*yyssp], yyvsp);
5960          YYPOPSTACK (1);
5961        }
5962  #ifndef yyoverflow  #ifndef yyoverflow
5963    if (yyss != yyssa)    if (yyss != yyssa)
5964      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
5965  #endif  #endif
5966    return yyresult;  #if YYERROR_VERBOSE
5967      if (yymsg != yymsgbuf)
5968        YYSTACK_FREE (yymsg);
5969    #endif
5970      /* Make sure YYID is used.  */
5971      return YYID (yyresult);
5972  }  }
5973    
5974    
5975  #line 543 "lscp.y"  #line 831 "lscp.y"
5976    
5977    
5978  /**  /**
# Line 4667  void restart(yyparse_param_t* pparam, in Line 5990  void restart(yyparse_param_t* pparam, in
5990      ptr   = 0;      ptr   = 0;
5991  }  }
5992    
   

Legend:
Removed from v.573  
changed lines
  Added in v.1161

  ViewVC Help
Powered by ViewVC