/[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 225 by schoenebeck, Sun Aug 22 14:46:47 2004 UTC revision 1109 by iliev, Thu Mar 22 20:55:17 2007 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875a.  */  /* 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 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 26 "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  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #ifdef short
142    # undef short
143    #endif
144    
145  /* The parser invokes alloca or malloc; define the necessary symbols.  */  #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  # if YYSTACK_USE_ALLOCA  #ifdef YYTYPE_INT16
167  #  define YYSTACK_ALLOC alloca  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  # else
182  #  ifndef YYSTACK_USE_ALLOCA  #  define YYSIZE_T unsigned int
183  #   if defined (alloca) || defined (_ALLOCA_H)  # endif
184  #    define YYSTACK_ALLOC alloca  #endif
185    
186    #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187    
188    #ifndef YY_
189    # if YYENABLE_NLS
190    #  if ENABLE_NLS
191    #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192    #   define YY_(msgid) dgettext ("bison-runtime", msgid)
193    #  endif
194    # endif
195    # ifndef YY_
196    #  define YY_(msgid) msgid
197    # endif
198    #endif
199    
200    /* Suppress unused-variable warnings by "using" E.  */
201    #if ! defined lint || defined __GNUC__
202    # define YYUSE(e) ((void) (e))
203    #else
204    # define YYUSE(e) /* empty */
205    #endif
206    
207    /* Identity function, used to suppress warnings about constant conditions.  */
208    #ifndef lint
209    # define YYID(n) (n)
210    #else
211    #if (defined __STDC__ || defined __C99__FUNC__ \
212         || defined __cplusplus || defined _MSC_VER)
213    static int
214    YYID (int i)
215    #else
216    static int
217    YYID (i)
218        int i;
219    #endif
220    {
221      return i;
222    }
223    #endif
224    
225    #if ! defined yyoverflow || YYERROR_VERBOSE
226    
227    /* The parser invokes alloca or malloc; define the necessary symbols.  */
228    
229    # ifdef YYSTACK_USE_ALLOCA
230    #  if YYSTACK_USE_ALLOCA
231    #   ifdef __GNUC__
232    #    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  #   else
241  #    ifdef __GNUC__  #    define YYSTACK_ALLOC alloca
242  #     define YYSTACK_ALLOC __builtin_alloca  #    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  #    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    #  ifndef YYSTACK_ALLOC_MAXIMUM
257        /* The OS might guarantee only one guard page at the bottom of the stack,
258           and a page size can be as small as 4096 bytes.  So we cannot safely
259           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
263  # else  # else
264  #  if defined (__STDC__) || defined (__cplusplus)  #  define YYSTACK_ALLOC YYMALLOC
265    #  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 */  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273  #   define YYSIZE_T size_t  #   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  #  endif
 #  define YYSTACK_ALLOC malloc  
 #  define YYSTACK_FREE free  
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           || (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 yyss;    yytype_int16 yyss;
303    YYSTYPE yyvs;    YYSTYPE yyvs;
304    };    };
305    
# Line 168  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) + 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 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 203  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))
   
 #endif  
348    
 #if defined (__STDC__) || defined (__cplusplus)  
    typedef signed char yysigned_char;  
 #else  
    typedef short yysigned_char;  
349  #endif  #endif
350    
351  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state.  */
352  #define YYFINAL  39  #define YYFINAL  46
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   3976  #define YYLAST   4543
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  226  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  89  #define YYNNTS  143
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  412  #define YYNRULES  539
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1132  #define YYNSTATES  1705
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       224,     2,     2,   225,     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,   223,    70,   222,     3,    71,    72,    73,   221,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        74,    75,    76,     6,     2,     7,     5,    77,     8,     9,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        10,    11,    12,    13,    14,    15,    16,    17,    78,    79,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        80,     4,    81,    82,    83,    18,    19,    20,    21,    22,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384        43,    84,    85,    86,    87,    88,     2,    44,    45,    46,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387        67,    68,    69,    89,    90,    91,    92,     2,    93,    94,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
391       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
392       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
393       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
394       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
395       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
396       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
397       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
398       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
399       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
400       215,   216,   217,   218,   219,   220,     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 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,    79,    81,    83,    85,    87,    89,        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,
411        91,    93,    95,    97,    99,   101,   103,   105,   107,   109,        95,    97,    99,   103,   105,   107,   109,   111,   113,   115,
412       111,   117,   125,   135,   137,   143,   151,   161,   163,   165,       117,   119,   121,   123,   125,   127,   129,   131,   133,   135,
413       171,   177,   185,   195,   203,   213,   215,   221,   229,   235,       137,   139,   141,   143,   145,   147,   149,   151,   153,   155,
414       241,   247,   255,   265,   273,   283,   287,   291,   297,   301,       157,   159,   161,   163,   165,   167,   169,   171,   173,   175,
415       307,   311,   315,   319,   323,   327,   333,   341,   347,   357,       192,   211,   230,   251,   259,   263,   267,   271,   273,   275,
416       363,   369,   375,   381,   387,   391,   397,   399,   401,   403,       281,   289,   299,   301,   307,   315,   325,   327,   329,   335,
417       405,   407,   413,   421,   425,   427,   429,   431,   433,   435,       341,   349,   359,   367,   377,   379,   385,   393,   399,   405,
418       437,   439,   441,   443,   445,   447,   449,   451,   453,   455,       411,   415,   417,   419,   423,   427,   437,   439,   445,   449,
419       457,   459,   461,   463,   466,   470,   475,   480,   482,   485,       457,   459,   467,   477,   485,   495,   499,   507,   519,   529,
420       487,   489,   491,   493,   495,   497,   499,   501,   503,   505,       539,   543,   547,   553,   557,   563,   567,   573,   581,   585,
421       507,   510,   513,   516,   519,   522,   525,   528,   531,   534,       589,   593,   597,   601,   607,   611,   615,   621,   629,   635,
422       536,   538,   540,   542,   544,   546,   548,   550,   552,   554,       645,   651,   657,   663,   669,   675,   681,   687,   693,   699,
423       556,   558,   560,   562,   564,   566,   568,   570,   572,   574,       705,   706,   709,   713,   719,   721,   723,   725,   727,   729,
424       576,   578,   580,   582,   584,   586,   588,   590,   592,   594,       731,   733,   735,   739,   743,   745,   749,   755,   763,   767,
425       596,   598,   600,   602,   604,   606,   608,   610,   612,   614,       769,   771,   773,   775,   777,   779,   781,   783,   785,   787,
426       616,   618,   620,   622,   624,   626,   628,   630,   632,   634,       789,   791,   793,   795,   797,   799,   801,   803,   805,   807,
427       636,   638,   640,   642,   644,   646,   648,   650,   652,   654,       809,   811,   813,   815,   817,   821,   823,   825,   827,   829,
428       656,   658,   660,   662,   664,   666,   668,   670,   672,   674,       831,   833,   835,   838,   842,   847,   852,   854,   857,   859,
429       676,   678,   680,   682,   684,   686,   688,   690,   692,   694,       861,   863,   865,   867,   869,   871,   873,   875,   877,   879,
430       696,   698,   700,   702,   704,   706,   708,   710,   712,   714,       882,   885,   888,   891,   894,   897,   900,   903,   906,   908,
431       716,   718,   720,   722,   724,   726,   728,   730,   732,   734,       910,   912,   914,   916,   918,   920,   922,   924,   926,   928,
432       736,   738,   740,   742,   744,   746,   748,   750,   752,   754,       930,   932,   934,   936,   938,   940,   942,   944,   946,   948,
433       756,   758,   760,   762,   764,   766,   768,   770,   772,   774,       950,   952,   954,   956,   958,   960,   962,   964,   966,   968,
434       776,   778,   780,   782,   784,   786,   788,   790,   792,   794,       970,   972,   974,   976,   978,   980,   982,   984,   986,   988,
435       796,   798,   800,   802,   804,   806,   808,   810,   812,   814,       990,   992,   994,   996,   998,  1000,  1002,  1004,  1006,  1008,
436       816,   818,   820,   822,   824,   826,   828,   830,   832,   834,      1010,  1012,  1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,
437       836,   838,   840,   842,   844,   846,   848,   850,   852,   854,      1030,  1032,  1034,  1036,  1038,  1040,  1042,  1044,  1046,  1048,
438       856,   858,   860,   862,   864,   866,   868,   870,   872,   874,      1050,  1052,  1054,  1056,  1058,  1060,  1062,  1064,  1066,  1068,
439       876,   878,   880,   882,   884,   886,   888,   890,   892,   894,      1070,  1072,  1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,
440       896,   898,   900,   902,   904,   906,   908,   910,   912,   914,      1090,  1092,  1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,
441       916,   918,   920,   922,   924,   926,   928,   930,   932,   934,      1110,  1112,  1114,  1116,  1118,  1120,  1122,  1124,  1126,  1128,
442       936,   938,   940,   942,   944,   946,   948,   950,   952,   954,      1130,  1132,  1134,  1136,  1138,  1140,  1142,  1144,  1146,  1148,
443       956,   958,   960,   962,   964,   966,   968,   970,   972,   974,      1150,  1152,  1154,  1156,  1158,  1160,  1162,  1164,  1166,  1168,
444       977,   980,   984,   988,   990,   992,   994,   998,  1002,  1009,      1170,  1172,  1174,  1176,  1178,  1180,  1182,  1184,  1186,  1188,
445      1017,  1022,  1027,  1037,  1044,  1048,  1058,  1070,  1078,  1096,      1190,  1192,  1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,
446      1127,  1136,  1141,  1153,  1166,  1178,  1189,  1196,  1226,  1247,      1210,  1212,  1214,  1216,  1218,  1220,  1222,  1224,  1226,  1228,
447      1267,  1297,  1317,  1348,  1369,  1387,  1416,  1444,  1470,  1489,      1230,  1232,  1234,  1236,  1238,  1240,  1242,  1244,  1246,  1248,
448      1507,  1535,  1553,  1569,  1588,  1604,  1615,  1622,  1628,  1639,      1250,  1252,  1254,  1256,  1258,  1260,  1262,  1264,  1266,  1268,
449      1645,  1659,  1664      1270,  1272,  1274,  1276,  1278,  1280,  1282,  1284,  1286,  1288,
450        1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,  1306,  1308,
451        1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,
452        1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,
453        1351,  1354,  1358,  1362,  1364,  1366,  1368,  1372,  1376,  1380,
454        1386,  1392,  1399,  1407,  1412,  1417,  1421,  1426,  1434,  1444,
455        1451,  1455,  1465,  1477,  1484,  1492,  1510,  1541,  1550,  1555,
456        1581,  1606,  1630,  1653,  1679,  1704,  1726,  1747,  1761,  1774,
457        1788,  1801,  1813,  1826,  1838,  1856,  1878,  1890,  1901,  1908,
458        1918,  1933,  1944,  1974,  1995,  2015,  2045,  2065,  2096,  2117,
459        2135,  2164,  2192,  2218,  2237,  2255,  2283,  2299,  2316,  2336,
460        2357,  2375,  2391,  2410,  2426,  2437,  2453,  2461,  2470,  2477,
461        2484,  2490,  2495,  2500,  2506,  2517,  2523,  2537,  2542,  2547
462  };  };
463    
464  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
465  static const short yyrhs[] =  static const yytype_int16 yyrhs[] =
466  {  {
467       227,     0,    -1,   228,   266,    -1,   228,   267,   266,    -1,       228,     0,    -1,   229,   284,    -1,   229,   285,   284,    -1,
468        -1,   229,    -1,   230,    -1,     1,    -1,     3,    -1,   229,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
469         3,    -1,   229,   265,    -1,   229,   261,    -1,   229,   257,         3,    -1,   230,   283,    -1,   230,   279,    -1,   230,   275,
470        -1,   268,   265,   279,    -1,   269,   265,   233,    -1,   270,        -1,   286,   283,   232,    -1,   288,   283,   235,    -1,   289,
471       265,   235,    -1,   271,   265,   236,    -1,   272,   265,   241,       283,   236,    -1,   287,   283,   238,    -1,   291,   283,   240,
472        -1,   273,   265,   237,    -1,   275,   265,   279,   265,   251,        -1,   292,   283,   243,    -1,   293,   283,   249,    -1,   294,
473        -1,   276,   265,   234,    -1,   277,   265,   231,    -1,   278,       283,   244,    -1,   299,   283,   237,    -1,   300,   283,   239,
474       265,   232,    -1,   311,   265,   279,   265,   251,    -1,   311,        -1,   301,   283,   233,    -1,   302,   283,   234,    -1,   303,
475        -1,   314,    -1,   282,    -1,   286,    -1,   285,    -1,   284,       283,   281,    -1,   365,   283,   241,    -1,   290,   283,   242,
476        -1,   283,    -1,   312,    -1,   282,    -1,   286,    -1,   285,        -1,   365,    -1,   369,    -1,   304,    -1,   348,    -1,   348,
477        -1,   284,    -1,   283,    -1,   312,    -1,   280,    -1,   297,       283,   269,    -1,   309,    -1,   310,    -1,   311,    -1,   312,
478        -1,   303,   265,   283,   265,   257,    -1,   302,   265,   283,        -1,   317,    -1,   323,    -1,   322,    -1,   321,    -1,   318,
479       265,   257,   265,   257,    -1,   302,   265,   283,   265,   257,        -1,   319,    -1,   320,    -1,   313,    -1,   314,    -1,   315,
480       265,   257,   265,   239,    -1,   281,    -1,   293,   265,   283,        -1,   316,    -1,   366,    -1,   324,    -1,   326,    -1,   309,
481       265,   257,    -1,   292,   265,   283,   265,   257,   265,   257,        -1,   310,    -1,   311,    -1,   312,    -1,   317,    -1,   323,
482        -1,   292,   265,   283,   265,   257,   265,   257,   265,   239,        -1,   322,    -1,   321,    -1,   318,    -1,   319,    -1,   320,
483        -1,   290,    -1,   300,    -1,   291,   265,   283,   265,   261,        -1,   313,    -1,   314,    -1,   315,    -1,   316,    -1,   366,
484        -1,   301,   265,   283,   265,   261,    -1,   304,   265,   283,        -1,   324,    -1,   326,    -1,   346,   283,   246,   259,   283,
485       265,   261,   265,   261,    -1,   299,   265,   283,   265,   261,       260,   283,   261,   283,   267,   283,   268,   283,   265,   283,
486       265,   261,   265,   257,    -1,   295,   265,   283,   265,   261,       263,    -1,   346,   283,   246,   259,   283,   260,   283,   261,
487       265,   261,    -1,   294,   265,   283,   265,   261,   265,   261,       283,   267,   283,   268,   283,   265,   283,   263,   283,   252,
488       265,   257,    -1,   282,    -1,   279,   265,   283,   265,   251,        -1,   346,   283,   246,   259,   283,   260,   283,   261,   283,
489        -1,   279,   265,   284,   265,   240,   265,   251,    -1,   279,       267,   283,   268,   283,   265,   283,   263,   283,   270,    -1,
490       265,   285,   265,   251,    -1,   279,   265,   286,   265,   251,       346,   283,   246,   259,   283,   260,   283,   261,   283,   267,
491        -1,   288,   265,   283,   265,   253,    -1,   289,   265,   261,       283,   268,   283,   265,   283,   263,   283,   252,   283,   270,
492       265,   257,     4,   255,    -1,   294,   265,   261,   265,   261,        -1,   346,   283,   259,   283,   260,   283,   261,    -1,   304,
493       265,   257,     4,   255,    -1,   298,   265,   261,   265,   257,       283,   264,    -1,   348,   283,   259,    -1,   348,   283,   295,
494         4,   255,    -1,   299,   265,   261,   265,   261,   265,   257,        -1,   305,    -1,   340,    -1,   350,   283,   308,   283,   275,
495         4,   255,    -1,   279,   265,   238,    -1,   313,   265,   256,        -1,   345,   283,   308,   283,   275,   283,   275,    -1,   345,
496        -1,   291,   265,   257,   265,   239,    -1,   291,   265,   257,       283,   308,   283,   275,   283,   275,   283,   247,    -1,   306,
497        -1,   301,   265,   257,   265,   239,    -1,   301,   265,   257,        -1,   336,   283,   308,   283,   275,    -1,   335,   283,   308,
498        -1,   291,   265,   261,    -1,   301,   265,   261,    -1,   287,       283,   275,   283,   275,    -1,   335,   283,   308,   283,   275,
499       265,   242,    -1,   288,   265,   243,    -1,   291,   265,   251,       283,   275,   283,   247,    -1,   333,    -1,   343,    -1,   334,
500       265,   244,    -1,   295,   265,   251,   265,   245,   265,   245,       283,   308,   283,   279,    -1,   344,   283,   308,   283,   279,
501        -1,   296,   265,   251,   265,   246,    -1,   307,   265,   251,        -1,   351,   283,   308,   283,   279,   283,   279,    -1,   342,
502       265,   244,   265,   247,   265,   248,    -1,   301,   265,   251,       283,   308,   283,   279,   283,   279,   283,   275,    -1,   338,
503       265,   244,    -1,   304,   265,   251,   265,   247,    -1,   305,       283,   308,   283,   279,   283,   279,    -1,   337,   283,   308,
504       265,   251,   265,   248,    -1,   306,   265,   251,   265,   249,       283,   279,   283,   279,   283,   275,    -1,   307,    -1,   304,
505        -1,   308,   265,   251,   265,   250,    -1,   257,     4,   255,       283,   308,   283,   264,    -1,   304,   283,   321,   283,   248,
506        -1,   239,   265,   257,     4,   255,    -1,   309,    -1,   310,       283,   264,    -1,   304,   283,   322,   283,   264,    -1,   304,
507        -1,   290,    -1,   300,    -1,   282,    -1,   254,   265,   252,       283,   323,   283,   264,    -1,   328,   283,   308,   283,   267,
508       265,   251,    -1,   274,   265,   254,   265,   252,   265,   251,        -1,   358,   283,   308,    -1,   324,    -1,   325,    -1,   347,
509        -1,   253,   265,   251,    -1,   261,    -1,   261,    -1,   257,       283,   259,    -1,   347,   283,   295,    -1,   346,   283,   308,
510        -1,   261,    -1,   261,    -1,   257,    -1,   258,    -1,   261,       283,   259,   283,   260,   283,   261,    -1,   349,    -1,   348,
511        -1,   261,    -1,   261,    -1,   257,    -1,   264,    -1,   257,       283,   308,   283,   259,    -1,   357,   283,   264,    -1,   356,
512        -1,   264,    -1,   261,    -1,   258,    -1,   261,    -1,   257,       283,   308,   283,   264,   283,   266,    -1,   359,    -1,   332,
513        -1,   262,    -1,   257,   262,    -1,   259,     5,   259,    -1,       283,   279,   283,   275,     4,   272,    -1,   337,   283,   279,
514         6,   259,     5,   259,    -1,     7,   259,     5,   259,    -1,       283,   279,   283,   275,     4,   272,    -1,   341,   283,   279,
515       260,    -1,   259,   260,    -1,     8,    -1,     9,    -1,    10,       283,   275,     4,   272,    -1,   342,   283,   279,   283,   279,
516         283,   275,     4,   272,    -1,   304,   283,   245,    -1,   348,
517         283,   367,   283,   259,   283,   269,    -1,   356,   283,   338,
518         283,   264,   283,   266,   283,   254,   283,   254,    -1,   356,
519         283,   355,   283,   264,   283,   266,   283,   262,    -1,   356,
520         283,   360,   283,   264,   283,   266,   283,   263,    -1,   368,
521         283,   274,    -1,   359,   283,   263,    -1,   334,   283,   275,
522         283,   247,    -1,   334,   283,   275,    -1,   344,   283,   275,
523         283,   247,    -1,   344,   283,   275,    -1,   356,   283,   264,
524         283,   262,    -1,   356,   283,   264,   283,   262,   283,   271,
525          -1,   304,   283,   264,    -1,   347,   283,   259,    -1,   347,
526         283,   295,    -1,   334,   283,   279,    -1,   344,   283,   279,
527          -1,   356,   283,   264,   283,   266,    -1,   327,   283,   250,
528          -1,   328,   283,   251,    -1,   334,   283,   264,   283,   253,
529          -1,   338,   283,   264,   283,   254,   283,   254,    -1,   339,
530         283,   264,   283,   255,    -1,   354,   283,   264,   283,   253,
531         283,   256,   283,   257,    -1,   344,   283,   264,   283,   253,
532          -1,   351,   283,   264,   283,   256,    -1,   352,   283,   264,
533         283,   257,    -1,   353,   283,   264,   283,   258,    -1,   359,
534         283,   264,   283,   263,    -1,   361,   283,   264,   283,   274,
535          -1,   362,   283,   264,   283,   274,    -1,   348,   283,   264,
536         283,   259,    -1,   348,   283,   264,   283,   296,    -1,   348,
537         283,   264,   283,   297,    -1,    -1,   298,   283,    -1,   275,
538           4,   272,    -1,   247,   283,   275,     4,   272,    -1,   363,
539          -1,   364,    -1,   333,    -1,   343,    -1,   307,    -1,   305,
540          -1,   340,    -1,   306,    -1,   347,   283,   259,    -1,   347,
541         283,   295,    -1,   349,    -1,   357,   283,   264,    -1,   268,
542         283,   265,   283,   264,    -1,   298,   283,   268,   283,   265,
543         283,   264,    -1,   267,   283,   264,    -1,   329,    -1,   330,
544          -1,   331,    -1,   279,    -1,   279,    -1,   275,    -1,   279,
545          -1,   279,    -1,   295,    -1,   275,    -1,   279,    -1,   279,
546          -1,   279,    -1,   279,    -1,   276,    -1,   279,    -1,   279,
547          -1,   279,    -1,   279,    -1,   275,    -1,   282,    -1,   282,
548          -1,   282,    -1,   282,    -1,   273,    -1,   272,     5,   273,
549          -1,   275,    -1,   282,    -1,   279,    -1,   276,    -1,   279,
550          -1,   275,    -1,   280,    -1,   275,   280,    -1,   277,     6,
551         277,    -1,     7,   277,     6,   277,    -1,     8,   277,     6,
552         277,    -1,   278,    -1,   277,   278,    -1,     9,    -1,    10,
553        -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,        -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,
554        -1,    16,    -1,    17,    -1,   260,    -1,     9,   259,    -1,        -1,    16,    -1,    17,    -1,    18,    -1,   278,    -1,    10,
555        10,   259,    -1,    11,   259,    -1,    12,   259,    -1,    13,       277,    -1,    11,   277,    -1,    12,   277,    -1,    13,   277,
556       259,    -1,    14,   259,    -1,    15,   259,    -1,    16,   259,        -1,    14,   277,    -1,    15,   277,    -1,    16,   277,    -1,
557        -1,    17,   259,    -1,    18,    -1,    19,    -1,    20,    -1,        17,   277,    -1,    18,   277,    -1,    19,    -1,    20,    -1,
558        21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,        21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
559        26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,        26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,
560        31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,        31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,
# Line 380  static const short yyrhs[] = Line 564  static const short yyrhs[] =
564        51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,        51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,
565        56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,        56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,
566        61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,        61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,
567        66,    -1,    67,    -1,    68,    -1,    69,    -1,     8,    -1,        66,    -1,    67,    -1,    68,    -1,    69,    -1,    70,    -1,
568         9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,         9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,
569        14,    -1,    15,    -1,    16,    -1,    17,    -1,    70,    -1,        14,    -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,
570         3,    -1,    71,    -1,    72,    -1,    73,    -1,    74,    -1,        71,    -1,     3,    -1,    72,    -1,    73,    -1,    74,    -1,
571        75,    -1,    76,    -1,     6,    -1,     7,    -1,     5,    -1,        75,    -1,    76,    -1,    77,    -1,     7,    -1,     8,    -1,
572        77,    -1,    78,    -1,    79,    -1,    80,    -1,     4,    -1,         6,    -1,     5,    -1,    78,    -1,    79,    -1,    80,    -1,
573        81,    -1,    82,    -1,    83,    -1,    84,    -1,    85,    -1,        81,    -1,     4,    -1,    82,    -1,    83,    -1,    84,    -1,
574        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,        85,    -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,
575        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,        90,    -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,
576        96,    -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,        95,    -1,    96,    -1,    97,    -1,    98,    -1,    99,    -1,
577       101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,       100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,
578       106,    -1,   107,    -1,   108,    -1,   109,    -1,   110,    -1,       105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,    -1,
579       111,    -1,   112,    -1,   113,    -1,   114,    -1,   115,    -1,       110,    -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,
580       116,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,       115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,    -1,
581       121,    -1,   122,    -1,   123,    -1,   124,    -1,   125,    -1,       120,    -1,   121,    -1,   122,    -1,   123,    -1,   124,    -1,
582       126,    -1,   127,    -1,   128,    -1,   129,    -1,   130,    -1,       125,    -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,
583       131,    -1,   132,    -1,   133,    -1,   134,    -1,   135,    -1,       130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    -1,
584       136,    -1,   137,    -1,   138,    -1,   139,    -1,   140,    -1,       135,    -1,   136,    -1,   137,    -1,   138,    -1,   139,    -1,
585       141,    -1,   142,    -1,   143,    -1,   144,    -1,   145,    -1,       140,    -1,   141,    -1,   142,    -1,   143,    -1,   144,    -1,
586       146,    -1,   147,    -1,   148,    -1,   149,    -1,   150,    -1,       145,    -1,   146,    -1,   147,    -1,   148,    -1,   149,    -1,
587       151,    -1,   152,    -1,   153,    -1,   154,    -1,   155,    -1,       150,    -1,   151,    -1,   152,    -1,   153,    -1,   154,    -1,
588       156,    -1,   157,    -1,   158,    -1,   159,    -1,   160,    -1,       155,    -1,   156,    -1,   157,    -1,   158,    -1,   159,    -1,
589       161,    -1,   162,    -1,   163,    -1,   164,    -1,   165,    -1,       160,    -1,   161,    -1,   162,    -1,   163,    -1,   164,    -1,
590       166,    -1,   167,    -1,   168,    -1,   169,    -1,   170,    -1,       165,    -1,   166,    -1,   167,    -1,   168,    -1,   169,    -1,
591       171,    -1,   172,    -1,   173,    -1,   174,    -1,   175,    -1,       170,    -1,   171,    -1,   172,    -1,   173,    -1,   174,    -1,
592       176,    -1,   177,    -1,   178,    -1,   179,    -1,   180,    -1,       175,    -1,   176,    -1,   177,    -1,   178,    -1,   179,    -1,
593       181,    -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,       180,    -1,   181,    -1,   182,    -1,   183,    -1,   184,    -1,
594       186,    -1,   187,    -1,   188,    -1,   189,    -1,   190,    -1,       185,    -1,   186,    -1,   187,    -1,   188,    -1,   189,    -1,
595       191,    -1,   192,    -1,   193,    -1,   194,    -1,   195,    -1,       190,    -1,   191,    -1,   192,    -1,   193,    -1,   194,    -1,
596       196,    -1,   197,    -1,   198,    -1,   199,    -1,   200,    -1,       195,    -1,   196,    -1,   197,    -1,   198,    -1,   199,    -1,
597       201,    -1,   202,    -1,   203,    -1,   204,    -1,   205,    -1,       200,    -1,   201,    -1,   202,    -1,   203,    -1,   204,    -1,
598       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,       205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,
599       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,       210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,
600       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,       215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,
601       265,    -1,   257,    -1,   263,   265,    -1,   263,   257,    -1,       220,    -1,   221,    -1,   283,    -1,   275,    -1,   281,   283,
602       221,   263,   221,    -1,   222,   263,   222,    -1,   223,    -1,        -1,   281,   275,    -1,   222,   281,   222,    -1,   223,   281,
603       224,    -1,   225,    -1,    18,    21,    21,    -1,    24,    22,       223,    -1,   224,    -1,   225,    -1,   226,    -1,    19,    22,
604        37,    -1,    20,    35,    22,    18,    37,    22,    -1,    21,        22,    -1,    25,    23,    38,    -1,    31,    19,    34,    -1,
605        22,    36,    37,    35,    32,    42,    -1,    29,    26,    36,        39,    32,    31,    19,    34,    -1,    21,    30,    23,    19,
606        37,    -1,    29,    32,    18,    21,    -1,    31,    32,    31,        36,    -1,    21,    36,    23,    19,    38,    23,    -1,    22,
607        88,    30,    32,    21,    18,    29,    -1,    35,    22,    30,        23,    37,    38,    36,    33,    43,    -1,    30,    27,    37,
608        32,    39,    22,    -1,    36,    22,    37,    -1,    36,    38,        38,    -1,    30,    33,    19,    22,    -1,    19,    30,    30,
609        19,    36,    20,    35,    26,    19,    22,    -1,    38,    31,        -1,    32,    33,    32,    23,    -1,    22,    23,    24,    19,
610        36,    38,    19,    36,    20,    35,    26,    19,    22,    -1,        39,    30,    38,    -1,    32,    33,    32,    89,    31,    33,
611        20,    25,    18,    31,    31,    22,    29,    -1,    18,    39,        22,    19,    30,    -1,    36,    23,    31,    33,    40,    23,
612        18,    26,    29,    18,    19,    29,    22,    88,    22,    31,        -1,    37,    23,    38,    -1,    37,    39,    20,    37,    21,
613        24,    26,    31,    22,    36,    -1,    18,    39,    18,    26,        36,    27,    20,    23,    -1,    39,    32,    37,    39,    20,
614        29,    18,    19,    29,    22,    88,    18,    38,    21,    26,        37,    21,    36,    27,    20,    23,    -1,    37,    23,    30,
615        32,    88,    32,    38,    37,    33,    38,    37,    88,    21,        23,    21,    38,    -1,    21,    26,    19,    32,    32,    23,
616        35,    26,    39,    22,    35,    36,    -1,    20,    25,    18,        30,    -1,    19,    40,    19,    27,    30,    19,    20,    30,
617        31,    31,    22,    29,    36,    -1,    26,    31,    23,    32,        23,    89,    23,    32,    25,    27,    32,    23,    37,    -1,
618        -1,    19,    38,    23,    23,    22,    35,    88,    23,    26,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
619        29,    29,    -1,    36,    37,    35,    22,    18,    30,    88,        19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
620        20,    32,    38,    31,    37,    -1,    39,    32,    26,    20,        39,    38,    89,    22,    36,    27,    40,    23,    36,    37,
621        22,    88,    20,    32,    38,    31,    37,    -1,    26,    31,        -1,    21,    26,    19,    32,    32,    23,    30,    37,    -1,
622        36,    37,    35,    38,    30,    22,    31,    37,    -1,    22,        27,    32,    24,    33,    -1,    19,    39,    22,    27,    33,
623        31,    24,    26,    31,    22,    -1,    18,    38,    21,    26,        89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
624        32,    88,    32,    38,    37,    33,    38,    37,    88,    21,        40,    27,    21,    23,    89,    21,    33,    39,    32,    38,
625        22,    39,    26,    20,    22,    88,    33,    18,    35,    18,        -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
626        30,    22,    37,    22,    35,    -1,    18,    38,    21,    26,        34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
627        32,    88,    32,    38,    37,    33,    38,    37,    88,    21,        89,    27,    32,    24,    33,    -1,    31,    27,    22,    27,
628        22,    39,    26,    20,    22,    36,    -1,    18,    38,    21,        89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
629        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
630        21,    22,    39,    26,    20,    22,    -1,    18,    38,    21,        31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
631        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        89,    22,    23,    40,    27,    21,    23,    89,    27,    32,
632        21,    35,    26,    39,    22,    35,    88,    33,    18,    35,        24,    33,    -1,    31,    27,    22,    27,    89,    27,    32,
633        18,    30,    22,    37,    22,    35,    -1,    18,    38,    21,        37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
634        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        19,    34,    89,    21,    33,    39,    32,    38,    -1,    31,
635        21,    35,    26,    39,    22,    35,    -1,    18,    38,    21,        27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
636        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        31,    23,    32,    38,    89,    31,    19,    34,    89,    27,
637        20,    25,    18,    31,    31,    22,    29,    88,    33,    18,        32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
638        35,    18,    30,    22,    37,    22,    35,    -1,    18,    38,        32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
639        21,    26,    32,    88,    32,    38,    37,    33,    38,    37,        21,    33,    39,    32,    38,    -1,    31,    27,    22,    27,
640        88,    20,    25,    18,    31,    31,    22,    29,    -1,    18,        89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
641        38,    21,    26,    32,    88,    32,    38,    37,    33,    38,        38,    89,    27,    32,    24,    33,    -1,    21,    26,    19,
642        37,    88,    37,    42,    33,    22,    -1,    18,    39,    18,        32,    32,    23,    30,    89,    21,    33,    39,    32,    38,
643        26,    29,    18,    19,    29,    22,    88,    30,    26,    21,        -1,    21,    26,    19,    32,    32,    23,    30,    89,    27,
644        26,    88,    26,    31,    33,    38,    37,    88,    21,    35,        32,    24,    33,    -1,    24,    42,    89,    37,    23,    32,
645        26,    39,    22,    35,    36,    -1,    30,    26,    21,    26,        22,    89,    21,    33,    39,    32,    38,    -1,    24,    42,
646        88,    26,    31,    33,    38,    37,    88,    21,    22,    39,        89,    37,    23,    32,    22,    89,    27,    32,    24,    33,
647        26,    20,    22,    88,    33,    18,    35,    18,    30,    22,        -1,    20,    39,    24,    24,    23,    36,    89,    24,    27,
648        37,    22,    35,    -1,    30,    26,    21,    26,    88,    26,        30,    30,    -1,    37,    38,    36,    23,    19,    31,    89,
649        31,    33,    38,    37,    88,    33,    32,    35,    37,    88,        21,    33,    39,    32,    38,    -1,    40,    33,    27,    21,
650        33,    18,    35,    18,    30,    22,    37,    22,    35,    -1,        23,    89,    21,    33,    39,    32,    38,    -1,    38,    33,
651        30,    26,    21,    26,    88,    26,    31,    33,    38,    37,        38,    19,    30,    89,    40,    33,    27,    21,    23,    89,
652        88,    21,    22,    39,    26,    20,    22,    36,    -1,    30,        21,    33,    39,    32,    38,    -1,    38,    33,    38,    19,
653        26,    21,    26,    88,    26,    31,    33,    38,    37,    88,        30,    89,    40,    33,    27,    21,    23,    89,    21,    33,
654        21,    22,    39,    26,    20,    22,    -1,    30,    26,    21,        39,    32,    38,    89,    31,    19,    42,    -1,    25,    30,
655        26,    88,    26,    31,    33,    38,    37,    88,    21,    35,        33,    20,    19,    30,    89,    27,    32,    24,    33,    -1,
656        26,    39,    22,    35,    88,    33,    18,    35,    18,    30,        27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
657        22,    37,    22,    35,    -1,    30,    26,    21,    26,    88,        -1,    23,    32,    25,    27,    32,    23,    -1,    33,    32,
658        26,    31,    33,    38,    37,    88,    21,    35,    26,    39,        89,    22,    23,    31,    19,    32,    22,    -1,    33,    32,
659        22,    35,    -1,    30,    26,    21,    26,    88,    26,    31,        89,    22,    23,    31,    19,    32,    22,    89,    26,    33,
660        33,    38,    37,    88,    33,    32,    35,    37,    -1,    30,        30,    22,    -1,    34,    23,    36,    37,    27,    37,    38,
661        26,    21,    26,    88,    26,    31,    33,    38,    37,    88,        23,    32,    38,    -1,    19,    39,    22,    27,    33,    89,
662        20,    25,    18,    31,    31,    22,    29,    -1,    30,    26,        33,    39,    38,    34,    39,    38,    89,    22,    23,    40,
663        21,    26,    88,    26,    31,    33,    38,    37,    88,    37,        27,    21,    23,    89,    34,    19,    36,    19,    31,    23,
664        42,    33,    22,    -1,    30,    26,    21,    26,    88,    26,        38,    23,    36,    -1,    19,    39,    22,    27,    33,    89,
665        31,    33,    38,    37,    -1,    39,    32,    29,    38,    30,        33,    39,    38,    34,    39,    38,    89,    22,    23,    40,
666        22,    -1,    19,    42,    37,    22,    36,    -1,    33,    22,        27,    21,    23,    37,    -1,    19,    39,    22,    27,    33,
667        35,    20,    22,    31,    37,    18,    24,    22,    -1,    35,        89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
668        22,    36,    22,    37,    -1,    30,    26,    36,    20,    22,        40,    27,    21,    23,    -1,    19,    39,    22,    27,    33,
669        29,    29,    18,    31,    22,    32,    38,    36,    -1,    22,        89,    33,    39,    38,    34,    39,    38,    89,    22,    36,
670        20,    25,    32,    -1,    34,    38,    26,    37,    -1        27,    40,    23,    36,    89,    34,    19,    36,    19,    31,
671          23,    38,    23,    36,    -1,    19,    39,    22,    27,    33,
672          89,    33,    39,    38,    34,    39,    38,    89,    22,    36,
673          27,    40,    23,    36,    -1,    19,    39,    22,    27,    33,
674          89,    33,    39,    38,    34,    39,    38,    89,    21,    26,
675          19,    32,    32,    23,    30,    89,    34,    19,    36,    19,
676          31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
677          33,    89,    33,    39,    38,    34,    39,    38,    89,    21,
678          26,    19,    32,    32,    23,    30,    -1,    19,    39,    22,
679          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
680          38,    43,    34,    23,    -1,    19,    40,    19,    27,    30,
681          19,    20,    30,    23,    89,    31,    27,    22,    27,    89,
682          27,    32,    34,    39,    38,    89,    22,    36,    27,    40,
683          23,    36,    37,    -1,    31,    27,    22,    27,    89,    27,
684          32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
685          23,    89,    34,    19,    36,    19,    31,    23,    38,    23,
686          36,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
687          39,    38,    89,    34,    33,    36,    38,    89,    34,    19,
688          36,    19,    31,    23,    38,    23,    36,    -1,    31,    27,
689          22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
690          23,    40,    27,    21,    23,    37,    -1,    31,    27,    22,
691          27,    89,    27,    32,    34,    39,    38,    89,    22,    23,
692          40,    27,    21,    23,    -1,    31,    27,    22,    27,    89,
693          27,    32,    34,    39,    38,    89,    22,    36,    27,    40,
694          23,    36,    89,    34,    19,    36,    19,    31,    23,    38,
695          23,    36,    -1,    31,    27,    22,    27,    89,    27,    32,
696          37,    38,    36,    39,    31,    23,    32,    38,    -1,    31,
697          27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
698          31,    23,    32,    38,    37,    -1,    31,    27,    22,    27,
699          89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
700          38,    89,    31,    19,    34,    -1,    31,    27,    22,    27,
701          89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
702          38,    89,    31,    19,    34,    37,    -1,    31,    27,    22,
703          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
704          27,    40,    23,    36,    -1,    31,    27,    22,    27,    89,
705          27,    32,    34,    39,    38,    89,    34,    33,    36,    38,
706          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
707          38,    89,    21,    26,    19,    32,    32,    23,    30,    -1,
708          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
709          89,    38,    43,    34,    23,    -1,    31,    27,    22,    27,
710          89,    27,    32,    34,    39,    38,    -1,    31,    27,    22,
711          27,    89,    21,    33,    32,    38,    36,    33,    30,    30,
712          23,    36,    -1,    24,    42,    89,    37,    23,    32,    22,
713          -1,    24,    42,    89,    37,    23,    32,    22,    37,    -1,
714          37,    23,    36,    40,    23,    36,    -1,    40,    33,    30,
715          39,    31,    23,    -1,    30,    23,    40,    23,    30,    -1,
716          31,    39,    38,    23,    -1,    37,    33,    30,    33,    -1,
717          20,    43,    38,    23,    37,    -1,    34,    23,    36,    21,
718          23,    32,    38,    19,    25,    23,    -1,    36,    23,    37,
719          23,    38,    -1,    31,    27,    37,    21,    23,    30,    30,
720          19,    32,    23,    33,    39,    37,    -1,    32,    19,    31,
721          23,    -1,    23,    21,    26,    33,    -1,    35,    39,    27,
722          38,    -1
723  };  };
724    
725  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
726  static const unsigned short yyrline[] =  static const yytype_uint16 yyrline[] =
727  {  {
728         0,    81,    81,    82,    85,    86,    87,    88,    91,    92,         0,    97,    97,    98,   101,   102,   103,   104,   107,   108,
729        93,    94,    95,    98,    99,   100,   101,   102,   103,   104,       109,   110,   111,   114,   115,   116,   117,   118,   119,   120,
730       105,   106,   107,   108,   109,   110,   113,   114,   115,   116,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
731       117,   118,   121,   122,   123,   124,   125,   126,   129,   130,       133,   134,   135,   138,   139,   140,   141,   142,   143,   144,
732       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
733       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       155,   158,   159,   160,   161,   162,   163,   164,   165,   166,
734       151,   154,   155,   156,   157,   158,   159,   162,   163,   164,       167,   168,   169,   170,   171,   172,   173,   174,   175,   178,
735       165,   168,   169,   172,   173,   176,   177,   178,   179,   180,       179,   180,   181,   184,   187,   188,   189,   192,   193,   194,
736       181,   182,   183,   184,   187,   188,   191,   192,   195,   196,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
737       197,   200,   201,   204,   207,   210,   213,   216,   219,   222,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
738       225,   226,   229,   232,   235,   238,   241,   242,   243,   244,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
739       250,   251,   254,   255,   258,   259,   260,   264,   265,   268,       225,   228,   229,   230,   231,   232,   233,   234,   235,   236,
740       269,   270,   271,   272,   273,   274,   275,   276,   277,   280,       237,   238,   241,   242,   243,   244,   245,   246,   249,   252,
741       281,   282,   283,   284,   285,   286,   287,   288,   289,   291,       253,   256,   257,   258,   261,   262,   265,   266,   267,   268,
742       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,       269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
743       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,       281,   282,   285,   286,   289,   290,   293,   294,   295,   296,
744       291,   291,   291,   291,   291,   292,   292,   292,   292,   292,       297,   298,   299,   300,   301,   302,   305,   306,   309,   312,
745       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       313,   314,   317,   320,   323,   326,   329,   330,   333,   336,
746       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       339,   342,   345,   348,   349,   352,   355,   358,   361,   364,
747       292,   293,   293,   293,   293,   293,   293,   293,   293,   293,       367,   370,   373,   376,   377,   380,   381,   382,   383,   391,
748       293,   294,   294,   294,   294,   294,   294,   294,   294,   294,       392,   395,   396,   399,   400,   401,   405,   406,   409,   410,
749       294,   294,   294,   295,   295,   295,   295,   295,   295,   295,       411,   412,   413,   414,   415,   416,   417,   418,   421,   422,
750       296,   296,   296,   296,   296,   297,   297,   297,   297,   298,       423,   424,   425,   426,   427,   428,   429,   430,   432,   432,
751       298,   298,   299,   299,   299,   300,   300,   300,   301,   301,       432,   432,   432,   432,   432,   432,   432,   432,   432,   432,
752       301,   302,   302,   302,   303,   303,   303,   304,   304,   304,       432,   432,   432,   432,   432,   432,   432,   432,   432,   432,
753       305,   305,   305,   306,   306,   306,   307,   307,   307,   308,       432,   432,   432,   432,   433,   433,   433,   433,   433,   433,
754       308,   308,   309,   309,   309,   310,   310,   310,   311,   311,       433,   433,   433,   433,   433,   433,   433,   433,   433,   433,
755       311,   312,   312,   312,   313,   313,   313,   314,   314,   314,       433,   433,   433,   433,   433,   433,   433,   433,   433,   433,
756       315,   315,   315,   316,   316,   316,   317,   317,   317,   318,       434,   434,   434,   434,   434,   434,   434,   434,   434,   434,
757       318,   318,   319,   319,   319,   320,   320,   320,   321,   321,       435,   435,   435,   435,   435,   435,   435,   435,   435,   435,
758       321,   322,   322,   322,   323,   323,   323,   324,   324,   324,       435,   435,   435,   436,   436,   436,   436,   436,   436,   436,
759       325,   325,   325,   326,   326,   326,   327,   327,   327,   328,       437,   437,   437,   437,   437,   438,   438,   438,   438,   439,
760       328,   328,   329,   329,   329,   330,   330,   330,   331,   331,       439,   439,   440,   440,   440,   441,   441,   441,   442,   442,
761       331,   332,   332,   332,   333,   333,   333,   334,   334,   334,       442,   443,   443,   443,   444,   444,   444,   445,   445,   445,
762       335,   335,   335,   336,   336,   336,   337,   337,   337,   338,       446,   446,   446,   447,   447,   447,   448,   448,   448,   449,
763       338,   338,   339,   339,   339,   340,   340,   343,   344,   345,       449,   449,   450,   450,   450,   451,   451,   451,   452,   452,
764       346,   349,   350,   356,   359,   362,   365,   368,   371,   374,       452,   453,   453,   453,   454,   454,   454,   455,   455,   455,
765       377,   380,   383,   386,   389,   392,   395,   398,   401,   404,       456,   456,   456,   457,   457,   457,   458,   458,   458,   459,
766       407,   410,   413,   416,   419,   422,   425,   428,   431,   434,       459,   459,   460,   460,   460,   461,   461,   461,   462,   462,
767       437,   440,   443,   446,   449,   452,   455,   458,   461,   464,       462,   463,   463,   463,   464,   464,   464,   465,   465,   465,
768       467,   470,   473,   476,   479,   482,   485,   488,   491,   494,       466,   466,   466,   467,   467,   467,   468,   468,   468,   469,
769       497,   500,   503       469,   469,   470,   470,   470,   471,   471,   471,   472,   472,
770         472,   473,   473,   473,   474,   474,   474,   475,   475,   475,
771         476,   476,   476,   477,   477,   477,   478,   478,   478,   479,
772         479,   479,   480,   480,   480,   481,   481,   484,   485,   486,
773         487,   490,   491,   497,   500,   503,   506,   509,   512,   515,
774         518,   521,   524,   527,   530,   533,   536,   539,   542,   545,
775         548,   551,   554,   557,   560,   563,   566,   569,   572,   575,
776         578,   581,   584,   587,   590,   593,   596,   599,   602,   605,
777         608,   611,   614,   617,   620,   623,   626,   629,   632,   635,
778         638,   641,   644,   647,   650,   653,   656,   659,   662,   665,
779         668,   671,   674,   677,   680,   683,   686,   689,   692,   695,
780         698,   701,   704,   707,   710,   713,   716,   719,   722,   725,
781         728,   731,   734,   737,   740,   743,   746,   749,   752,   755
782  };  };
783  #endif  #endif
784    
785  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
786  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
787     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
788  static const char *const yytname[] =  static const char *const yytname[] =
789  {  {
790    "$end", "error", "$undefined", "'#'", "'='", "'.'", "'+'", "'-'", "'0'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
791    "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'", "'A'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
792    "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'", "'K'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
793    "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'", "'U'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
794    "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'", "'e'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
795    "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'", "'o'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
796    "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'", "'y'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
797    "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'", "':'",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
798    "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'", "'_'",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
799    "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'", "'\\203'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
800    "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'", "'\\211'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
801    "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'", "'\\217'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
802    "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'", "'\\225'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
803    "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'", "'\\233'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
804    "'\\234'", "'\\235'", "'\\236'", "'\\237'", "' '", "'¡'", "'¢'", "'£'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
805    "'¤'", "'¥'", "'¦'", "'§'", "'¨'", "'©'", "'ª'", "'«'", "'¬'", "'­'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
806    "'®'", "'¯'", "'°'", "'±'", "'²'", "'³'", "'´'", "'µ'", "'¶'", "'·'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
807    "'¸'", "'¹'", "'º'", "'»'", "'¼'", "'½'", "'¾'", "'¿'", "'À'", "'Á'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
808    "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'", "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
809    "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'", "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
810    "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'", "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
811    "'à'", "'á'", "'â'", "'ã'", "'ä'", "'å'", "'æ'", "'ç'", "'è'", "'é'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
812    "'ê'", "'ë'", "'ì'", "'í'", "'î'", "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
813    "'ô'", "'õ'", "'ö'", "'÷'", "'ø'", "'ù'", "'ú'", "'û'", "'ü'", "'ý'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
814    "'þ'", "'ÿ'", "'''", "'\"'", "' '", "'\\n'", "'\\r'", "$accept",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
815    "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
816    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
817    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
818    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
819    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
820    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
821    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
822    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
823    "instrument_index", "engine_name", "filename", "param_val", "boolean",    "map_instruction", "unmap_instruction", "remove_instruction",
824    "string", "dotnum", "digits", "digit", "number", "char", "text",    "get_instruction", "set_instruction", "create_instruction",
825    "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE", "DESTROY",    "reset_instruction", "clear_instruction", "destroy_instruction",
826    "LIST", "LOAD", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "load_instruction", "set_chan_instruction", "modal_arg", "key_val_list",
827    "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",    "buffer_size_type", "list_instruction", "load_instr_args",
828    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",    "load_engine_args", "instr_load_mode", "device_index",
829    "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
830    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
831    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
832    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "instrument_index", "fx_send_id", "engine_name", "filename", "map_name",
833    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",    "entry_name", "fx_send_name", "param_val_list", "param_val", "boolean",
834    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "string", "dotnum", "digits", "digit", "number", "char", "text",
835    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR",
836    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",    "CREATE", "DESTROY", "LIST", "LOAD", "ALL", "NONE", "DEFAULT",
837    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME",    "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "SELECT",
838    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "CHANNEL", "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS",
839      "CHANNELS", "INFO", "AUDIO_OUTPUT_DEVICE_COUNT",
840      "AUDIO_OUTPUT_DEVICE_INFO", "MIDI_INPUT_DEVICE_COUNT",
841      "MIDI_INPUT_DEVICE_INFO", "MIDI_INSTRUMENT_MAP_COUNT",
842      "MIDI_INSTRUMENT_MAP_INFO", "MIDI_INSTRUMENT_COUNT",
843      "MIDI_INSTRUMENT_INFO", "CHANNEL_COUNT", "CHANNEL_INFO", "FX_SEND_COUNT",
844      "FX_SEND_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
845      "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO",
846      "INSTRUMENT", "ENGINE", "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
847      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
848      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
849      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
850      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
851      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
852      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
853      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
854      "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
855      "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
856      "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "SERVER", "VOLUME", "LEVEL",
857      "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "NAME",
858      "ECHO", "QUIT", 0
859  };  };
860  #endif  #endif
861    
862  # ifdef YYPRINT  # ifdef YYPRINT
863  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
864     token YYLEX-NUM.  */     token YYLEX-NUM.  */
865  static const unsigned short yytoknum[] =  static const yytype_uint16 yytoknum[] =
866  {  {
867         0,   256,   257,    35,    61,    46,    43,    45,    48,    49,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
868        50,    51,    52,    53,    54,    55,    56,    57,    65,    66,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
869        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
870        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
871        87,    88,    89,    90,    97,    98,    99,   100,   101,   102,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
872       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
873       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
874        33,    36,    37,    38,    40,    41,    42,    47,    58,    59,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
875        60,    62,    63,    64,    91,    92,    93,    94,    95,   123,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
876       124,   125,   126,   128,   129,   130,   131,   132,   133,   134,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
877       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
878       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
879       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
880       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
881       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
882       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
883       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
884       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
885       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
886       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
887       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
888       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
889       255,    39,    34,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
890  };  };
891  # endif  # endif
892    
893  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
894  static const unsigned short yyr1[] =  static const yytype_uint16 yyr1[] =
895  {  {
896         0,   226,   227,   227,   228,   228,   228,   228,   229,   229,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
897       229,   229,   229,   230,   230,   230,   230,   230,   230,   230,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
898       230,   230,   230,   230,   230,   230,   231,   231,   231,   231,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
899       231,   231,   232,   232,   232,   232,   232,   232,   233,   233,       232,   232,   232,   233,   233,   233,   233,   233,   233,   233,
900       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
901       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,       233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
902       233,   234,   234,   234,   234,   234,   234,   235,   235,   235,       234,   234,   234,   234,   234,   234,   234,   234,   234,   235,
903       235,   236,   236,   237,   237,   238,   238,   238,   238,   238,       235,   235,   235,   236,   237,   237,   237,   238,   238,   238,
904       238,   238,   238,   238,   239,   239,   240,   240,   241,   241,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
905       241,   242,   242,   243,   244,   245,   246,   247,   248,   249,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
906       250,   250,   251,   252,   253,   254,   255,   255,   255,   255,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
907       256,   256,   257,   257,   258,   258,   258,   259,   259,   260,       238,   239,   239,   239,   239,   239,   239,   239,   239,   239,
908       260,   260,   260,   260,   260,   260,   260,   260,   260,   261,       239,   239,   240,   240,   240,   240,   240,   240,   241,   242,
909       261,   261,   261,   261,   261,   261,   261,   261,   261,   262,       242,   243,   243,   243,   244,   244,   245,   245,   245,   245,
910       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
911       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       246,   246,   247,   247,   248,   248,   249,   249,   249,   249,
912       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       249,   249,   249,   249,   249,   249,   250,   250,   251,   252,
913       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       252,   252,   253,   254,   255,   256,   257,   257,   258,   259,
914       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       260,   261,   262,   263,   263,   264,   265,   266,   267,   268,
915       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       269,   270,   271,   272,   272,   273,   273,   273,   273,   274,
916       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   275,   275,   276,   276,   276,   277,   277,   278,   278,
917       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       278,   278,   278,   278,   278,   278,   278,   278,   279,   279,
918       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       279,   279,   279,   279,   279,   279,   279,   279,   280,   280,
919       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
920       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
921       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
922       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
923       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
924       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
925       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
926       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
927       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
928       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
929       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
930       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
931       262,   262,   262,   262,   262,   262,   262,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
932       263,   264,   264,   265,   266,   267,   268,   269,   270,   271,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
933       272,   273,   274,   275,   276,   277,   278,   279,   280,   281,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
934       282,   283,   284,   285,   286,   287,   288,   289,   290,   291,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
935       292,   293,   294,   295,   296,   297,   298,   299,   300,   301,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
936       302,   303,   304,   305,   306,   307,   308,   309,   310,   311,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
937       312,   313,   314       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
938         280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
939         280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
940         280,   280,   280,   280,   280,   280,   280,   281,   281,   281,
941         281,   282,   282,   283,   284,   285,   286,   287,   288,   289,
942         290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
943         300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
944         310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
945         320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
946         330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
947         340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
948         350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
949         360,   361,   362,   363,   364,   365,   366,   367,   368,   369
950  };  };
951    
952  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
953  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
954  {  {
955         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
956         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
957         3,     3,     3,     5,     1,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
958           1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
959         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        5,     7,     9,     1,     5,     7,     9,     1,     1,     5,  
        5,     7,     9,     7,     9,     1,     5,     7,     5,     5,  
        5,     7,     9,     7,     9,     3,     3,     5,     3,     5,  
        3,     3,     3,     3,     3,     5,     7,     5,     9,     5,  
        5,     5,     5,     5,     3,     5,     1,     1,     1,     1,  
        1,     5,     7,     3,     1,     1,     1,     1,     1,     1,  
960         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
961         1,     1,     1,     2,     3,     4,     4,     1,     2,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,    16,
962          18,    18,    20,     7,     3,     3,     3,     1,     1,     5,
963           7,     9,     1,     5,     7,     9,     1,     1,     5,     5,
964           7,     9,     7,     9,     1,     5,     7,     5,     5,     5,
965           3,     1,     1,     3,     3,     9,     1,     5,     3,     7,
966           1,     7,     9,     7,     9,     3,     7,    11,     9,     9,
967           3,     3,     5,     3,     5,     3,     5,     7,     3,     3,
968           3,     3,     3,     5,     3,     3,     5,     7,     5,     9,
969           5,     5,     5,     5,     5,     5,     5,     5,     5,     5,
970           0,     2,     3,     5,     1,     1,     1,     1,     1,     1,
971           1,     1,     3,     3,     1,     3,     5,     7,     3,     1,
972         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
973         2,     2,     2,     2,     2,     2,     2,     2,     2,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
974           1,     1,     1,     1,     3,     1,     1,     1,     1,     1,
975           1,     1,     2,     3,     4,     4,     1,     2,     1,     1,
976           1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
977           2,     2,     2,     2,     2,     2,     2,     2,     1,     1,
978         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
979         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
980         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 708  static const unsigned char yyr2[] = Line 997  static const unsigned char yyr2[] =
997         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
998         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
999         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1000         2,     3,     3,     1,     1,     1,     3,     3,     6,     7,         2,     3,     3,     1,     1,     1,     3,     3,     3,     5,
1001         4,     4,     9,     6,     3,     9,    11,     7,    17,    30,         5,     6,     7,     4,     4,     3,     4,     7,     9,     6,
1002         8,     4,    11,    12,    11,    10,     6,    29,    20,    19,         3,     9,    11,     6,     7,    17,    30,     8,     4,    25,
1003        29,    19,    30,    20,    17,    28,    27,    25,    18,    17,        24,    23,    22,    25,    24,    21,    20,    13,    12,    13,
1004        27,    17,    15,    18,    15,    10,     6,     5,    10,     5,        12,    11,    12,    11,    17,    21,    11,    10,     6,     9,
1005        13,     4,     4        14,    10,    29,    20,    19,    29,    19,    30,    20,    17,
1006          28,    27,    25,    18,    17,    27,    15,    16,    19,    20,
1007          17,    15,    18,    15,    10,    15,     7,     8,     6,     6,
1008           5,     4,     4,     5,    10,     5,    13,     4,     4,     4
1009  };  };
1010    
1011  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1012     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1013     means the default is an error.  */     means the default is an error.  */
1014  static const unsigned short yydefact[] =  static const yytype_uint16 yydefact[] =
1015  {  {
1016         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1017         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
1018         0,     0,     0,     0,     0,     0,    24,    25,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1019         0,     0,     0,     0,     0,     0,     0,     0,     0,     1,         0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
1020       364,   365,     2,     0,     9,   216,   211,   209,   210,   119,         0,     0,     0,     0,     0,     0,     1,   454,   455,     2,
1021       120,   121,   122,   123,   124,   125,   126,   127,   128,   139,         0,     9,   306,   301,   300,   298,   299,   208,   209,   210,
1022       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       211,   212,   213,   214,   215,   216,   217,   228,   229,   230,
1023       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1024       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1025       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1026       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1027       190,   201,   203,   204,   205,   206,   207,   208,   212,   213,       271,   272,   273,   274,   275,   276,   277,   278,   279,   290,
1028       214,   215,   217,   218,   219,   220,   221,   222,   223,   224,       292,   293,   294,   295,   296,   297,   302,   303,   304,   305,
1029       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
1030       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1031       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
1032       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,       337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
1033       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,       347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
1034       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
1035       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
1036       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,       377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1037       305,   306,   307,   308,   309,   310,   311,   312,   313,   314,       387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
1038       315,   316,   317,   318,   319,   320,   321,   322,   323,   324,       397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
1039       325,   326,   327,   328,   329,   330,   331,   332,   333,   334,       407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
1040       335,   336,   337,   338,   339,   340,   341,   342,   343,   344,       417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
1041       345,   346,   347,   348,   349,   350,   351,   352,   353,   354,       427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
1042       355,   356,   363,    12,   129,    11,   112,    10,     0,     0,       437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
1043         0,     0,     0,     0,     0,     0,     0,     0,     0,   366,       453,    12,   218,    11,   201,    10,     0,     0,     0,     0,
1044         0,     0,   367,     0,     0,     0,     0,     0,   374,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1045         0,     3,   119,   120,   121,   122,   123,   124,   125,   126,         0,   456,     0,     0,     0,   457,     0,     0,   458,     0,
1046       127,   128,   130,   117,   131,   132,   133,   134,   135,   136,         0,     0,     0,   470,     0,     0,     0,     3,   208,   209,
1047       137,   138,   202,   191,   192,   193,   194,   195,   196,   197,       210,   211,   212,   213,   214,   215,   216,   217,   219,   206,
1048       198,   199,   200,   113,     0,    13,     0,     0,     0,     0,       220,   221,   222,   223,   224,   225,   226,   227,   291,   280,
1049        14,     0,    38,    43,    55,     0,    47,     0,     0,     0,       281,   282,   283,   284,   285,   286,   287,   288,   289,   202,
1050         0,     0,    39,     0,    48,     0,     0,     0,     0,     0,         0,     0,    13,    30,    31,     0,     0,     0,     0,     0,
1051         0,    15,     0,     0,    16,     0,     0,     0,     0,     0,         0,     0,     0,    16,     0,    77,    82,    94,   101,   102,
1052        17,    90,    88,    89,     0,    18,     0,     0,     0,     0,         0,    86,     0,     0,     0,     0,     0,    78,     0,    87,
1053         0,     0,    20,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,   106,     0,     0,     0,     0,
1054         0,     0,     0,     0,    21,    26,    30,    29,    28,    27,         0,   110,     0,    14,     0,    15,     0,     0,    27,     0,
1055        31,    22,    32,    36,    35,    34,    33,    37,     0,     0,         0,     0,     0,    17,     0,     0,     0,    18,     0,     0,
1056         0,   370,   371,   412,     0,     0,     0,     0,   118,     0,         0,     0,     0,     0,     0,    19,   159,   161,   158,   156,
1057         160,   157,     0,   164,     0,     0,    20,     0,     0,    21,
1058           0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
1059           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1060           0,     0,     0,     0,    23,    33,    34,    35,    36,    44,
1061          45,    46,    47,    37,    41,    42,    43,    40,    39,    38,
1062          49,    50,    48,    24,    51,    52,    53,    54,    62,    63,
1063          64,    65,    55,    59,    60,    61,    58,    57,    56,    67,
1064          68,    66,   448,    25,   447,    26,     0,     0,     0,     0,
1065         463,   464,   539,     0,     0,     0,     0,     0,     0,   207,
1066           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1067           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1068           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1069           0,   150,     0,     0,     0,     0,     0,     0,     0,     0,
1070           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1071         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1072         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1073           0,     0,     0,     0,     0,     0,   450,   449,     0,   460,
1074           0,     0,     0,   535,     0,     0,   459,     0,     0,     0,
1075           0,     0,    32,   190,     0,     0,     0,     0,     0,     0,
1076         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1077           0,     0,     0,     0,     0,     0,     0,     0,   209,   210,
1078         211,   212,   213,   214,   215,   216,   217,     0,   103,   179,
1079         104,     0,     0,     0,     0,   108,   185,   100,     0,     0,
1080           0,     0,     0,     0,   129,   130,     0,     0,     0,   123,
1081         125,     0,   131,   132,     0,     0,     0,     0,     0,   162,
1082         163,   165,     0,   134,     0,   189,     0,   135,     0,   188,
1083          74,    75,    76,     0,     0,     0,     0,     0,     0,   115,
1084         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,     0,   409,     0,  
1085         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1086           0,     0,     0,     0,     0,     0,   121,   183,     0,   206,
1087         184,   120,   200,   199,     0,     0,     0,     0,     0,     0,
1088           0,     0,     0,     0,   128,   461,     0,   469,   473,     0,
1089         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,    68,    70,   120,   121,   122,   123,  
      124,   125,   126,   127,   128,    71,    72,     0,     0,     0,  
        0,     0,     0,     0,    73,     0,   105,     0,    74,     0,  
      104,    19,   102,     0,     0,     0,     0,     0,     0,    65,  
1090         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,    66,   111,   110,     0,     0,     0,     0,  
        0,    23,   368,     0,   373,     0,     0,     0,     0,     0,  
1091         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1092           0,     0,     0,     0,     0,     0,     0,   151,     0,     0,
1093         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1094         0,     0,     0,     0,     0,     0,     0,   358,     0,   357,         0,     0,     0,     0,     0,     0,   538,     0,     0,     0,
        0,     0,     0,     0,     0,   411,     0,     0,     0,     0,  
1095         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   381,     0,     0,     0,   369,     0,  
        0,     0,     0,     0,     0,     0,     0,    56,     0,     0,  
        0,    86,    87,    58,    59,    60,    49,     0,    44,     0,  
        0,     0,    50,     0,    40,     0,     0,     0,    67,     0,  
       69,     0,     0,     0,     0,     0,   361,   360,   359,   362,  
        0,   103,     0,    93,     0,     0,     0,     0,     0,     0,  
1096         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1097         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1098         0,     0,   386,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   462,
1099           0,     0,     0,     0,   451,   452,     0,     0,     0,     0,
1100           0,     0,     0,     0,     0,     0,    95,     0,     0,     0,
1101         154,   155,    97,    98,    99,    88,     0,    83,     0,     0,
1102           0,    89,     0,     0,   465,   107,    79,     0,     0,     0,
1103           0,     0,     0,   180,     0,     0,     0,     0,   122,     0,
1104         124,   126,   182,   133,   187,     0,     0,     0,     0,     0,
1105           0,   186,     0,   168,     0,     0,     0,     0,     0,     0,
1106         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1107         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1108           0,     0,     0,     0,     0,     0,   203,     0,     0,     0,
1109         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1110         0,     0,     0,     0,     0,     0,   375,     0,   377,     0,         0,     0,     0,     0,   498,     0,     0,   528,     0,   529,
1111         0,   377,     0,     0,     0,    57,    45,     0,    53,     0,       478,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       41,    51,     0,     0,     0,   209,   210,    84,   106,   109,  
        0,   117,   108,   107,     0,     0,     0,     0,     0,    91,  
        0,     0,     0,     0,     0,     0,    75,    94,     0,    95,  
       77,    96,    79,    80,    97,    81,    98,    82,    99,     0,  
        0,     0,    83,   100,   101,    61,     0,    63,     0,     0,  
        0,     0,     0,     0,     0,     0,   380,     0,     0,     0,  
1112         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,     0,     0,   406,  
        0,     0,     0,     0,     0,     0,     0,     0,   376,     0,  
        0,     0,   407,     0,    46,    54,    52,    42,     0,     0,  
       85,     0,     0,   114,     0,     0,     0,     0,    92,     0,  
        0,     0,     0,    76,     0,    62,    64,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,   115,   116,     0,  
        0,   385,     0,     0,     0,     0,     0,     0,     0,     0,  
1113         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1114         0,     0,   372,     0,     0,     0,     0,    78,   382,     0,         0,     0,     0,     0,   531,   532,     0,     0,     0,     0,
        0,   384,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,   405,     0,   383,  
1115         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1116         0,     0,     0,     0,     0,     0,     0,   410,     0,     0,         0,     0,   537,     0,     0,     0,     0,     0,     0,     0,
1117         0,     0,     0,     0,     0,     0,   408,     0,     0,     0,       204,   205,     0,     0,     0,     0,     0,     0,     0,     0,
1118           0,     0,   471,     0,   474,     0,     0,     0,   474,   526,
1119           0,     0,     0,     0,    96,    84,     0,    92,     0,    80,
1120           0,    90,   109,     0,     0,     0,    73,   181,     0,     0,
1121         526,     0,     0,   298,   299,   152,   193,   195,   198,   197,
1122         196,   127,   192,     0,     0,     0,     0,     0,   166,     0,
1123           0,     0,     0,     0,   136,   172,     0,   173,   138,   174,
1124         140,     0,     0,   147,   148,   149,   141,   175,   142,   176,
1125         177,   143,   178,     0,   144,   145,   146,   111,     0,   113,
1126           0,   116,     0,   530,     0,     0,     0,     0,     0,     0,
1127         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1128         0,     0,     0,     0,     0,     0,     0,   402,     0,     0,         0,     0,   477,   527,     0,     0,     0,     0,     0,     0,
1129         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1130         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1131         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   378,     0,   399,   401,     0,  
        0,   399,     0,     0,     0,     0,     0,     0,     0,     0,  
      402,   404,     0,     0,     0,     0,     0,   398,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   389,  
      391,     0,     0,     0,     0,   389,     0,     0,     0,     0,  
        0,   394,     0,   393,   388,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,   403,     0,     0,     0,     0,     0,  
1132         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1133         0,     0,   393,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,   472,     0,     0,     0,     0,     0,     0,
1134         533,     0,    85,    93,    91,    81,   105,     0,     0,     0,
1135           0,     0,     0,   153,   194,     0,     0,     0,     0,   167,
1136           0,     0,     0,     0,   137,     0,     0,     0,   112,   114,
1137           0,     0,     0,   118,   119,     0,     0,     0,     0,     0,
1138         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1139         0,     0,     0,     0,   397,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1140         0,     0,     0,     0,     0,     0,     0,     0,   400,     0,         0,     0,     0,     0,   497,     0,     0,     0,     0,     0,
1141       396,     0,     0,     0,   395,     0,     0,   390,     0,   387,       466,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1142       392,   379         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1143           0,     0,     0,     0,     0,     0,     0,     0,   468,     0,
1144           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1145           0,   139,     0,     0,   117,     0,   491,     0,     0,     0,
1146           0,   496,     0,     0,     0,     0,     0,   493,     0,     0,
1147           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1148           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1149         524,     0,     0,     0,     0,     0,   488,     0,   490,     0,
1150           0,     0,   492,     0,     0,     0,     0,     0,     0,     0,
1151           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1152           0,     0,     0,     0,     0,     0,     0,     0,   467,     0,
1153           0,     0,   487,   489,     0,     0,   536,     0,     0,     0,
1154           0,     0,     0,     0,     0,     0,     0,     0,     0,   534,
1155           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1156           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1157           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1158           0,   521,   516,     0,   516,     0,     0,     0,     0,     0,
1159           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1160           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1161           0,     0,     0,     0,     0,     0,   517,     0,     0,    69,
1162           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1163           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1164           0,     0,     0,   475,     0,   514,   520,     0,     0,   494,
1165           0,     0,   514,     0,     0,     0,     0,     0,     0,     0,
1166           0,     0,   521,   523,   525,     0,     0,     0,     0,     0,
1167         494,     0,     0,     0,     0,     0,     0,   513,     0,     0,
1168           0,     0,     0,     0,    70,    71,   191,   169,   170,   171,
1169           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1170           0,     0,     0,     0,   518,     0,   504,   506,     0,     0,
1171           0,     0,   518,     0,     0,     0,     0,   504,     0,     0,
1172           0,     0,     0,     0,   509,     0,     0,     0,     0,     0,
1173           0,     0,   508,   503,     0,     0,     0,     0,     0,   519,
1174           0,     0,     0,    72,     0,     0,     0,     0,   522,     0,
1175           0,     0,     0,   486,     0,     0,     0,     0,     0,     0,
1176           0,   495,     0,     0,     0,     0,     0,     0,     0,     0,
1177           0,   485,     0,     0,     0,     0,     0,     0,     0,     0,
1178           0,     0,     0,     0,   508,     0,     0,     0,   482,     0,
1179           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1180           0,     0,     0,   481,     0,     0,     0,     0,     0,     0,
1181           0,     0,     0,     0,     0,     0,     0,   480,     0,   484,
1182           0,     0,     0,     0,     0,   512,     0,     0,     0,     0,
1183         479,   483,     0,     0,     0,     0,     0,   499,     0,     0,
1184           0,     0,     0,     0,     0,   515,     0,   501,     0,   511,
1185           0,     0,     0,   510,     0,     0,     0,   505,     0,     0,
1186         502,   507,   476,     0,   500
1187  };  };
1188    
1189  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1190  static const short yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1191  {  {
1192        -1,    12,    13,    14,    15,   384,   391,   330,   372,   351,        -1,    13,    14,    15,    16,   342,   444,   463,   383,   385,
1193       354,   365,   519,   638,   620,   360,   504,   508,   766,   768,       419,   353,   425,   393,   485,   388,   397,   416,   679,   640,
1194       770,   773,   775,   777,   782,   511,   650,   509,   505,   747,       878,   849,   405,   663,   667,  1524,  1074,  1076,  1078,  1086,
1195       533,   748,   749,   750,   264,   512,   266,   578,   753,   695,      1088,  1091,   628,   872,  1046,   881,   706,   635,   890,   883,
1196        42,    43,    16,    17,    18,    19,    20,    21,   507,    22,       668,   664,   592,  1525,  1061,  1055,  1056,   711,  1057,  1058,
1197        23,    24,    25,   325,   332,   333,   334,   386,   387,   388,       708,   272,   636,   274,   483,  1060,   970,    49,    50,    17,
1198       389,   366,   335,   374,   336,   337,   338,   339,   340,   341,        18,    19,    20,    21,    22,    23,    24,    25,  1090,  1084,
1199       522,   342,   376,   343,   344,   345,   346,   347,   348,   525,      1085,   641,    26,    27,    28,    29,    30,   343,   355,   356,
1200       526,   527,   528,   621,   622,    26,   390,   378,    27       357,   604,   445,   446,   447,   448,   449,   450,   451,   452,
1201         453,   454,   455,   456,   457,   458,   459,   358,   359,   461,
1202         417,   360,  1527,  1528,  1529,   427,   361,   362,   363,   364,
1203         365,   366,   682,   367,   429,   368,   369,   370,   371,   372,
1204         373,   344,   375,   376,   377,   686,   687,   688,   702,   378,
1205         379,   380,   381,   703,   690,   691,   850,   851,    31,   462,
1206         697,   434,    32
1207  };  };
1208    
1209  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1210     STATE-NUM.  */     STATE-NUM.  */
1211  #define YYPACT_NINF -698  #define YYPACT_NINF -1118
1212  static const short yypact[] =  static const yytype_int16 yypact[] =
1213  {  {
1214        54,  -698,  -698,    32,    16,    73,    76,    -2,    24,    80,        57, -1118, -1118,    19,   165,    48,    74,   223,   115,   126,
1215        63,    45,   104,  -196,  1568,  -698,  -102,  -102,  -102,  -102,       132,    60,   178,   172,   -34,  2124, -1118,    16,    16,    16,
1216      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -698,   122,   155,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1217       193,   212,   214,   230,   225,    -5,   215,   234,   218,  -698,        16,    16, -1118,   233,   280,   299,   242,   306,   309,   333,
1218      -698,  -698,  -698,    31,  -698,  -698,  -698,  -698,  -698,  -698,       320,   339,   263,   164,   340,   286, -1118, -1118, -1118, -1118,
1219       209,   209,   209,   209,   209,   209,   209,   209,   209,  -698,       145, -1118, -1118, -1118, -1118, -1118, -1118, -1118,   489,   489,
1220      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,       489,   489,   489,   489,   489,   489,   489, -1118, -1118, -1118,
1221      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1222      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1223      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1224      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1225      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1226      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1227      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1228      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1229      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1230      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1231      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1232      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1233      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1234      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1235      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1236      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1237      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1238      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1239      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1240      -698,  -698,  -698,  2230,  -698,  -698,  -698,  -698,   236,    85,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1241        93,    93,    64,    30,   236,    90,    61,    61,   236,  -698,     -1118,  2789, -1118, -1118, -1118, -1118,   140,   166,   342,   342,
1242       239,   221,  -698,   222,   240,   223,   232,   243,  -698,   231,       351,   109,   109,   138,   184,   140,    79,    87,    87,  2346,
1243       224,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,       375, -1118,   379,   381,   366, -1118,   369,   386, -1118,   371,
1244      -698,  -698,   209,  -698,   209,   209,   209,   209,   209,   209,       377,   398,   410, -1118,   397,   416,   407, -1118, -1118, -1118,
1245       209,   209,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,   489, -1118,
1246      -698,  -698,  -698,  -698,   241,  -698,   101,   244,   237,   245,       489,   489,   489,   489,   489,   489,   489,   489, -1118, -1118,
1247      -698,  -102,  -698,  -698,  -698,  -102,  -698,  -102,  -102,  -102,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1248      -102,  -102,  -698,  -102,  -698,  -102,  -102,  -102,  -102,   235,       411,   420, -1118, -1118,    16,   256,   422,   418,   409,   426,
1249       246,  -698,  -102,  -102,  -698,  -102,  -102,   238,   249,   251,       431,   423,   424, -1118,    16, -1118, -1118, -1118, -1118, -1118,
1250      -698,  -698,  -698,  -698,   250,  -698,  -102,  -102,  -102,   242,        16, -1118,    16,    16,    16,    16,    16, -1118,    16, -1118,
1251       255,   256,  -698,  -102,  -102,  -102,  -102,  -102,  -102,   247,        16,    16,    16,    16,    16, -1118,    16,    16,    16,    16,
1252       252,   258,   233,   254,  -698,  -698,  -698,  -698,  -698,  -698,        16, -1118,   428, -1118,    16, -1118,    16,   432, -1118,    16,
1253      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -102,   253,       419,   421,   434, -1118,    16,    16,    16, -1118,    16,    16,
1254       267,  -698,  -698,  -698,   248,   266,   268,   270,  -698,   273,        16,   281,   436,   425,   437, -1118, -1118, -1118, -1118, -1118,
1255       272,   286,   287,   282,   288,    60,   281,   281,   281,   281,     -1118, -1118,    16, -1118,    16,   433, -1118,    16,    16, -1118,
1256       281,   281,   281,   281,   281,   281,   281,   289,   290,  2230,        16,    16,   430,   449,   445, -1118,    16,    16,    16,    16,
1257      2230,   226,   226,   291,   295,   293,   279,   -28,  2230,   226,        16,    16,    16,    16,    16,   435,   438,   447,   439,   446,
1258       296,   283,   297,    20,   226,   226,   226,   226,  2448,   298,       448,   440,   450,   451, -1118, -1118, -1118, -1118, -1118, -1118,
1259       299,   280,   285,   306,   226,   302,   305,   317,  -698,   303,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1260       309,   311,   320,   321,   318,   322,   324,  -102,  -102,  -102,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1261      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1262      -102,  -102,   325,   326,  1789,  1789,   209,   209,   209,   209,     -1118, -1118,  2789,  2346, -1118, -1118,    16,   444,   452,   453,
1263       209,   209,   209,   209,   209,  -698,  -698,   327,   328,   331,     -1118, -1118, -1118,   442,   454,   464,   465,   459,   467, -1118,
1264       323,   335,  1789,  1789,  -698,  -102,  -698,  -102,  -698,  -102,       475,   473,   120,   474,   501,   502,   497,   441,   504,   487,
1265      2230,  -698,  -698,   332,   336,   343,   333,   344,   340,  -698,       486,   498,   133,   505,   505,   505,   505,   505,   505,   505,
1266      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,       505,   505,   505,   568,   505,   505,   505,   505,   500,   505,
1267      -102,  -102,  -102,  -698,  2230,  -698,   350,   342,   356,   355,       507,   495,   500,   509,   568,   511,   456,   513,  2789,  2789,
1268       358,  -698,  -698,   337,  -698,   354,   361,   351,   352,   359,       500,   500,   500,   500,   515,   519,   457,   517,   568,   500,
1269       360,   362,   301,   226,     1,   226,   226,  2230,   226,  2230,       503,     4,  2789,   500,   568,   520,   521,   526,   101,   500,
1270      2230,   226,   226,   226,   226,  2230,  2230,   226,   353,   304,       500,   500,   500,   522,   144,   255,  3008,   527,   528,   532,
1271      2230,  2230,   363,   365,   310,   348,   366,  2230,  1126,  -698,       466,   508,    47,   523,   531,   530,  2789, -1118,   500, -1118,
1272      1347,   226,   -74,   226,   367,  -698,   312,   369,   373,   372,       535,   533,   537, -1118,   534,   529, -1118,   516,   538,   544,
1273       226,   226,   226,   226,   226,   226,   226,   226,   226,  2230,      2346,  2346, -1118, -1118,   546,   547,   556,   576,   577,   586,
1274       226,  2230,   226,   380,  -698,   381,   386,   383,  -698,   368,       580,   602,   583,   591,    16,    16,    16,    16,    16,    16,
1275       371,   385,   334,   390,   387,   388,   389,  -698,   370,   391,        16,    16,    16,    16,    16,    16,    16,    16,   489,   489,
1276      -102,  -698,  -698,  -698,  -698,  -698,  -698,  1789,  2230,  -102,       489,   489,   489,   489,   489,   489,   489,   594, -1118, -1118,
1277      -102,  -102,  -698,  1789,  2230,  -102,   338,   393,  -102,  2666,     -1118,    16,    16,    16,    16, -1118, -1118, -1118,   598,   595,
1278      -102,   339,   392,   394,   378,   341,  -698,  2230,  -698,  -698,       500,    16,    16,   603, -1118, -1118,   604,   592,   605,  2346,
1279      -102,  -698,  -102,  -698,   347,   395,   397,   398,   399,  -102,      2346,    16, -1118, -1118,    16,   610,   606,   607,   613, -1118,
1280      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  2884,  -102,     -1118, -1118,   608, -1118,    16, -1118,    16, -1118,    16,  2789,
1281      3102,  -102,   376,   396,   406,   357,   416,   402,   410,   408,     -1118, -1118, -1118,   614,   612,   616,   609,   159,   617, -1118,
1282       422,   413,  -698,   412,   407,   411,   226,  2230,   226,   226,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1283       226,  2230,   226,   415,   417,  2230,  2010,   418,   420,   421,        16,    16,    16,    16,    16,    16,   628,    16,   615,   629,
1284       423,   424,   226,   226,   419,   439,   442,   400,   441,   226,       630,    16,    16,    16,   489,   489, -1118, -1118,   207,    27,
1285       226,  2230,   226,   226,   226,  2230,   226,   199,  2010,  2230,     -1118, -1118,  2789, -1118,   631,   632,   623,   624,   640,   635,
1286      2010,  2230,   401,   446,   404,   465,  -698,   467,  -698,   449,       642,   641,   662,   663, -1118, -1118,   646, -1118, -1118,   658,
1287       469,   458,   463,   499,   502,  -698,  1789,  -102,  -698,  -102,       671,   661,   611,  1680,  1902,   664,   665,   666,   667,   673,
1288      1789,  -698,   485,   491,  3320,   209,   209,  -698,  2230,  -698,       618,   678,   672,   674,   670,   500,    89,   500,   500,  2789,
1289       119,    21,  -698,  -698,   487,   458,   493,   505,   496,  -698,       500,  2789,  2789,   500,   500,   500,   500,  2789,   500,   676,
1290      -102,   492,   498,   444,   503,   511,  -698,  -698,  -102,  -698,       500,  2789,   500,   500,   619,   677,    16, -1118,   500,   621,
1291      -698,  2230,  -698,  -698,  -698,  -698,  -698,  -698,  2230,  -102,       679,   680,   622,  2789,  2789,   500,   500,   681,   683,   690,
1292       209,   209,  -698,  -698,  -698,  -698,  3538,  -698,  3756,   512,       627,   668,   500,   120,   500,   684, -1118,   633,   698,   699,
1293       516,   517,   504,   518,   501,   519,  -698,   507,   506,   521,       685,   694,   500,   500,   500,   500,   500,   500,   500,   500,
1294      2230,  2230,  2230,  2230,   509,   513,  2010,   171,   187,   209,       500,   500,   500,   500,  2789,   500,  2789,   500,   695,   500,
1295       515,   520,   508,   533,   226,   522,   523,   524,   526,  -698,       703,   688,   707,   500,   500,   500,   275,   414,   489,   697,
1296       226,   226,  2010,  2010,   534,   531,   532,   525,  -698,   536,       708,   700,   710,   715,   656,   712,   727,   717,   725, -1118,
1297       477,   535,  -698,   539,  -102,  2230,  2230,  -102,   538,   537,       729,   714,   730,   732, -1118, -1118,   682,   735,   738,   740,
1298      -698,   209,   209,   209,   540,   541,   542,   557,  -698,   543,       733,   739,   731,   686,   745,   736, -1118,   737,   749,    16,
1299       544,   545,   547,  -698,  -102,  -698,  -698,   548,   560,   546,     -1118, -1118, -1118, -1118, -1118, -1118,  2346,  2789,    16,    16,
1300       554,   549,   120,   510,   552,   553,   514,   209,   209,   555,        16, -1118,  2346,    16, -1118, -1118,  2789,    16,    16,   746,
1301       528,  -698,   561,   556,   551,   558,   559,   226,   563,   564,       687,   500,    16, -1118,   747,   692,   751,   752,    16,  3227,
1302       568,   566,   567,   562,   570,   579,   116,   588,   572,   586,        16,    16, -1118, -1118, -1118,   696,   763,   755,   761,   750,
1303       573,   590,  -698,   575,   157,   580,   577,  -698,  -698,   582,        16, -1118,    16, -1118,   701,   764,   765,   766,   771,   769,
1304       585,  -698,   574,   603,   601,   605,     4,   595,   604,   576,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1305       607,   578,   608,   581,   609,   600,   596,   583,   597,  -698,        16,    16,  3446,    16,  3665,    16,   773,    16,   770,   775,
1306       207,   610,   611,   615,   606,   616,   621,   613,   622,   619,       772,    16,    16,    16,   489,   489,   489,   716,   767,   783,
1307       623,   624,   211,   626,   625,   630,    40,  -698,   636,    71,       776,   780,   785,   784,   782,   726,   728,   793,   791,   789,
1308       614,   637,   584,   644,   634,   640,  -698,   657,   654,   659,       792,   788,   805,   797, -1118,   806,   798, -1118,   795, -1118,
1309       658,   660,   661,   662,   650,   602,   666,   665,   651,   674,     -1118,   794,   800,   500,  2789,   500,   500,   500,  2789,   500,
1310       655,   675,   617,   687,   685,   692,   691,   627,   677,   694,       500,   500,   799,   802,    16,   500,   807,   796,   815,   808,
1311       678,   698,   701,   681,   702,   627,    12,   703,   688,   693,      2789,  2568,   120,   809,   816,   827,   818,   820,   500,   500,
1312       699,   705,   690,   700,   697,   706,   712,   704,   708,   716,       821,   823,   825,   778, -1118, -1118,   500,   500,  2789,   500,
1313       721,   718,   725,   707,   723,   728,   726,   710,   722,   720,       134,   500,   568,  2789,   500,   255,  3008,  3008,  2568,  2789,
1314       733,   729,   741,   740,   727,  -698,   730,   732,   684,   748,      2568,  2789, -1118,   120,   826,   830,   779,   500,   500,   500,
1315       749,  -698,   753,   732,   743,   755,   695,   760,   746,   750,       489,   489,   828,   781,   832,   834,   787,   833,   839,   810,
1316      -698,  -698,   758,   762,   747,   751,   752,  -698,   754,   756,       824,   817, -1118,   851, -1118,   835,   841,   844,   845,   846,
1317       763,   764,   767,   773,   768,   769,   781,   782,   776,   774,       102,   848,   855,   863, -1118,  2346,    16, -1118,    16,  2346,
1318       735,   778,   777,   797,   798,  -698,   774,   788,   736,   802,        16, -1118, -1118,   860,   868,   500, -1118, -1118,   866,   865,
1319       790,  -698,   796,   739,  -698,   795,   791,   742,   799,   805,     -1118,   871,  3884,   489,   489,   904, -1118,  2789, -1118, -1118,
1320       739,   803,   804,   815,  -698,   807,   820,   806,   823,   827,     -1118, -1118, -1118,   873,   845,   846,   175,   890, -1118,    16,
1321       819,   828,   829,   821,   830,   814,   765,   816,   822,   824,       875,   211,   829,   888, -1118, -1118,    16, -1118, -1118,  2789,
1322       825,   826,  -698,   831,   841,   843,   836,   845,   846,   847,     -1118,   893,   884, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1323       848,   853,   842,   839,   838,   851,   844,   850,   852,   854,     -1118, -1118,  2789,    16, -1118, -1118, -1118,   904,  4103,   904,
1324       856,   857,   863,   868,  -698,   869,   870,   871,   858,   859,      4322, -1118,   831, -1118,   898,    16,    16,    16,   882,   899,
1325       862,   864,   865,   866,   867,   878,   881,   872,  -698,   883,       836,   837,   895,   241,   905,   906,   896,   897,   908,   894,
1326      -698,   884,   874,   875,  -698,   876,   877,  -698,   880,  -698,       900,   910, -1118, -1118,   889,   901,   913,   907,   914,  2789,
1327      -698,  -698      2789,  2789,  2789,   500,   903,   920,    16,   909,   912,   915,
1328        2568,  2568,   917,   921,   918,   911,   500,   926,   927,   919,
1329         916,   500,   922,   933,   500,  2568,  2568,   935,   936,   500,
1330         500,   255,   932,   924,   297,   298,   939,   938,   934,   942,
1331         945,   948,   940, -1118,   944,   949,   856,   946,   950,   961,
1332       -1118,   953,    16,  2789,  2789,    16, -1118,   951,   971,  2789,
1333         959,   967,   965,   904, -1118,   970,   974,   969,   976, -1118,
1334         981,   978,   979,   243, -1118,  1000,   930,    16,   904,   904,
1335         983,   994,    16, -1118, -1118,   993,   998,   996,  1001,  1002,
1336        1004,  1010,   999,  1005,  1015,  1007,  1027,  1017,  1011,  1012,
1337         177,   963,  1014,  1032,  1018,  1019,  1030,    16,  1023,  1025,
1338         968,  1028,   977,  1029, -1118,  1031,   980,  1033,  1034,  1035,
1339       -1118,   568,  1037,  1038,   500,  1040,  1047,  1041,  1057,  1043,
1340        1061,  1053,  1006,  1048,  1055,  1062,  1070,  1058,  1066,  1060,
1341        1063,  1067,  1073,    52,  1072,  1016,  1082,  1075, -1118,   120,
1342        1076,  1071,  1086,  1074,  1088,  1080,  1077,   171,  1083,  1081,
1343        1084, -1118,  1089,  1068, -1118,  1087, -1118,  1090,  1091,  1094,
1344        1097, -1118,  1098,  1096,  1092,  1095,  1045, -1118,  1109,  1049,
1345        1114,  1112,  1117,    54,  1107,  1118,  1123,  1120,  1124,    16,
1346        1125,  1065,  1126,  1078,  1127,  1128,  1079,  1129,  1113,  1116,
1347        1085,  1121,  1130,  1131,  1093,  1122, -1118,  1132, -1118,  1142,
1348        1143,  1136, -1118,  1154,  1144,   354,  1150,  1151,  1152,  1140,
1349        1156,  1145,  1153,  1155,  1161,  1157,   500,  1159,  1165,  1158,
1350        1171,  1160,  1162,   356,  1164,  1163,  1167,    51, -1118,  1168,
1351        1166,  1173, -1118, -1118,  1169,  1170, -1118,  1174,  1172,  1175,
1352         131,  1178,  1180,  1134,  1186,  1176,  1177,  1179,  1181, -1118,
1353        1183,    16,  1187,  1191,  1192,  1195,  1197,  1190,  1203,  1208,
1354        1205,  1196,  1146,  1207,  1204,  1193,  1149,  1209,  1217,  1214,
1355        1210,  1213,  1182,  1227,  1215,  1220,  1188,  1234,  1233,  1240,
1356        1239,  1189,    24,  1231, -1118,   255,  1228,  1224,  1247,  1229,
1357        1249,    28,  1253,  1235,  1255,  1189,    83,  1261,  1245,  1248,
1358        1262,  1263,  1244,  1264,  1198,  1256,  1258,  1259,  1265,  1250,
1359        1260,  1257,  1266,  1272,  1267,  1268, -1118,  1269,  1270,    16,
1360        1274,  1273,  1278,  1283,  1276,  1277,  1284,  1287,  1286,  1271,
1361        1281,  1279,  1292,  1280,  1291,  1296,   137,  1282,  1302,  1290,
1362        1303,  1300,  1288, -1118,  1294,  1289,  1236,  1310,  1311,  1242,
1363           6,  1312, -1118,  1315,  1289,  1313,  1305,  1317,  1251,  1320,
1364        1307,  1314, -1118, -1118, -1118,  1321,  1254,  1316,  1318,  1325,
1365       -1118,  1319,  1322,  1324,  1323,  1326,  1309, -1118,  1327,  1329,
1366        1328,  1332,  1334,  1331,    16, -1118, -1118, -1118, -1118, -1118,
1367        1333,  1337,  1335,  1344,  1345,  1336,  1339,  1349,  1350,  1351,
1368         310,  1338,  1354,  1341, -1118,  1352,  1342,  1295,  1346,  1343,
1369        1364,  1366,  1353,  1367,  1298,  1355,   120, -1118,  1342,  1353,
1370        1358,  1304,  1370,  1360, -1118,  1365,  1308,  1361,  1368,  1369,
1371        1363,  1330,  1340, -1118,  1371,  1359,  1347,  1372,  1373, -1118,
1372        1357,  1380,  1374, -1118,  1340,  1375,  1376,  1383, -1118,   311,
1373        1377,  1379,  1382, -1118,   313,  1381,  1388,  1384,  1391,  1395,
1374        1387, -1118,  1394,  1396,  1399,  1402,  1398,  1392,  1400,  1401,
1375        1393, -1118,  1397,  1403,  1405,  1404,  1348,  1406,  1407,  1408,
1376        1410,  1411,  1409,  1412, -1118,  1413,  1415,  1416, -1118,  1414,
1377        1425,  1419,  1431,  1434,  1430,  1435,  1436,  1441,  1423,  1443,
1378        1442,  1432,  1433, -1118,  1437,  1438,  1448,  1439,  1440,  1428,
1379        1444,  1447,  1445,  1449,  1453,  1450,  1455, -1118,  1457, -1118,
1380        1454,  1451,  1446,  1452,  1456, -1118,  1458,  1459,  1464,  1473,
1381       -1118, -1118,  1474,  1460,  1461,  1463,  1466,  1389,  1462,  1465,
1382        1468,  1467,  1483,  1484,  1471, -1118,  1485, -1118,  1487, -1118,
1383        1489,  1477,  1478, -1118,  1482,  1480,  1481, -1118,  1486,  1488,
1384       -1118, -1118, -1118,  1497, -1118
1385  };  };
1386    
1387  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1388  static const short yypgoto[] =  static const yytype_int16 yypgoto[] =
1389  {  {
1390      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1391      -698,  -698,  -698,  -570,  -698,  -698,  -698,  -698,  -658,    87,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1392      -698,    92,    37,  -698,  -698,  -439,   219,   364,   345,  -697,      -743, -1118, -1118, -1118, -1118, -1118,  -914, -1117, -1118,   197,
1393      -698,   316,   201,    13,   -10,   -14,   292,   425,  -410,   -12,       104, -1118,  -511,  -833,  -991,   192,  -973,  -487,  -955,  -893,
1394       886,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -729,  -782,   518,  -199, -1118,  -941,   290,  -609,   493,  -546,
1395      -698,  -698,  -698,  -156,  -698,  -698,  -131,  -255,  -242,  -241,       -14,   118,     2,   151,  -200,  -484,   -15,  1470, -1118, -1118,
1396      -240,  -698,   663,  -698,   652,  -254,  -698,  -698,   648,   489,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,  -453, -1118,
1397      -698,  -698,  -698,   667,   668,  -252,  -698,  -698,   490,  -698,     -1118,   883, -1118, -1118, -1118, -1118, -1118,  -155,  1241,  1243,
1398      -698,  -698,  -698,  -698,  -698,  -698,   653,  -698,  -698      1246,  -283,  1237,  1252,  1275,  1285,  1293,  1297,  1299,  1301,
1399        1306,  1356,  1362,  1378,  -258,  -255,  -253,   105, -1118,  1385,
1400       -1118,  1238, -1118, -1118, -1118, -1118,  1386,  -256, -1118, -1118,
1401        1390,  -223, -1118,  1620, -1118,  1838,  2063,  -254, -1118,   116,
1402          50,  -222,  2064, -1118,   972, -1118, -1118, -1118, -1118,    86,
1403        2285, -1118,  -257, -1118, -1118, -1118, -1118, -1118, -1118,  2281,
1404       -1118, -1118, -1118
1405  };  };
1406    
1407  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1408     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1409     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1410     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1411  #define YYTABLE_NINF -130  #define YYTABLE_NINF -219
1412  static const short yytable[] =  static const yytype_int16 yytable[] =
1413  {  {
1414       265,   640,   267,   501,   268,   269,   270,   271,   272,   273,       275,   892,   276,   277,   278,   279,   280,   281,   282,   283,
1415       274,   275,   276,   277,   278,   541,   352,   355,   353,   356,       284,   285,   286,   287,   288,   289,   290,   273,   593,   707,
1416       618,   785,   393,   787,    32,   286,   924,   506,    40,    41,       854,   642,  1094,   644,  1069,   394,   398,   395,   399,   433,
1417        33,   287,   996,   947,   619,   394,   395,   396,   516,   925,       476,   880,  -218,   477,  1204,   478,   639,   659,   964,  1522,
1418       303,   303,   303,   303,   303,   303,   303,   303,   303,   997,      1523,    33,  1212,   671,   318,   320,   321,   322,   323,   324,
1419       517,    29,   328,    28,   772,     1,   364,     2,   779,   518,       325,   326,   327,   651,  1136,   374,   654,  1097,     1,  1099,
1420       956,   910,    34,   302,   304,   305,   306,   307,   308,   309,         2,  1456,   661,   421,   431,  1456,   670,   665,  1042,   719,
1421       310,   311,     3,   957,     4,     5,    38,   958,     6,   379,       630,    36,  1403,  1322,  1313,  1080,     3,  1349,     4,     5,
1422       379,   358,   357,     7,   358,    36,   380,   380,     8,     9,      1093,   645,     6,    43,   720,  1404,  1314,     7,     8,  1405,
1423        10,   381,    11,   960,   359,    30,   382,   382,    31,   383,      1350,   724,     9,    10,    11,   660,    12,    37,   422,    44,
1424       383,    37,    35,   326,    39,   327,   961,   328,   369,   840,       340,   672,   423,   391,  1468,  1393,   435,   436,   437,   847,
1425       324,   349,   370,   331,   617,   329,   623,   624,   368,   373,       424,   438,   439,  1457,  1105,  1106,  1107,  1464,   440,   352,
1426       371,   262,   398,   350,   809,   855,   856,   292,   293,   294,       676,  1469,   354,   848,   441,   442,  1040,   443,   390,   766,
1427       295,   296,   297,   298,   299,   300,   301,   906,   883,   410,       420,   426,   677,   391,    40,   486,  1124,  1294,   678,  1125,
1428       411,   361,   884,   279,   653,   385,   392,   502,   503,   907,       392,   352,  1186,   308,   618,   619,   620,   621,   622,   623,
1429       885,   659,   660,   661,   662,   663,   664,   665,   666,   667,       624,   625,   626,   436,  1414,    42,  1081,   401,  1507,   402,
1430       467,   471,   472,   473,   474,   475,   476,   477,   478,   479,       603,   340,   403,   698,  1508,    41,  1082,  1415,  1509,   404,
1431       480,   481,   506,   468,   469,   470,   841,   280,   914,   292,       441,   341,    46,   443,   699,   700,   319,   319,   319,   319,
1432       293,   294,   295,   296,   297,   298,   299,   300,   301,   520,       319,   319,   319,   319,   319,   345,   789,   346,  1214,   347,
1433       915,   523,   842,   502,   503,   292,   293,   294,   295,   296,       348,    47,    48,  1327,   302,    34,  1270,   349,   790,  1193,
1434       297,   298,   299,   300,   301,   780,   781,   292,   486,   487,      1271,    35,   303,   350,   351,  1328,   352,   347,  1272,  1143,
1435       488,   489,   490,   491,   492,   493,   494,   292,   293,   294,        45,   415,  1144,   818,  1208,  1209,   308,   309,   310,   311,
1436       295,   296,   297,   298,   299,   300,   301,   938,   939,   281,       312,   313,   314,   315,   316,   317,   590,   591,   590,   591,
1437       834,   951,   952,   837,   292,   486,   487,   488,   489,   490,       608,   609,   610,   611,   612,   613,   614,   615,   616,   617,
1438       491,   492,   493,   494,  -129,  -129,  -129,   735,   284,   282,       270,   631,   632,   633,   634,  1148,   637,   863,  1119,   865,
1439       283,   285,   288,   289,   290,    40,   324,   399,   400,   401,        38,  -218,  -218,  -218,   605,   291,    39,   606,   846,   607,
1440       403,   402,   407,   759,   404,   405,   409,   406,   413,   412,       852,   853,   704,   705,   308,   618,   619,   620,   621,   622,
1441       452,   414,   428,   427,   434,   441,   433,   435,    -4,    -4,       623,   624,   625,   626,   484,  1167,   868,  1248,  1168,   294,
1442       440,   436,   442,   450,   451,   449,   453,   457,   459,   460,      1119,   924,    -4,    -4,   308,   309,   310,   311,   312,   313,
1443       455,   461,   408,   462,   408,   408,   408,   408,   408,   408,       314,   315,   316,   317,   300,   503,   504,   893,   917,   665,
1444       408,   408,   456,   458,   463,   464,   465,   380,   514,   466,       301,   689,   680,   292,   683,   900,   901,   902,   903,   904,
1445       482,   483,   497,   498,   499,   500,   538,   513,   515,   415,       905,   906,   907,   908,   909,   910,   911,   305,  1217,  1219,
1446       539,   536,   537,   416,   542,   417,   418,   419,   420,   421,       544,   504,   293,   306,  1218,  1220,   921,   922,   923,   502,
1447       263,   422,   540,   423,   424,   425,   426,   543,   545,   544,       389,  1567,  1607,   412,  1612,   681,   684,  1568,  1608,   512,
1448       429,   430,   547,   431,   432,   546,   548,   549,   551,   550,      1613,   701,   590,   591,   295,   513,   296,   514,   515,   516,
1449       552,   568,   569,   572,   437,   438,   439,   574,   584,   573,       517,   518,   297,   519,   298,   520,   521,   522,   523,   524,
1450       575,   443,   444,   445,   446,   447,   448,   576,   585,   586,       304,   525,   526,   527,   528,   529,   299,   396,   400,   531,
1451       588,   587,   589,   603,   604,   848,   605,   606,   607,   608,        47,   532,   432,   382,   534,  1379,  1380,  1398,  1399,   538,
1452       609,   610,   611,   644,   612,   636,   454,   676,   613,   616,       539,   540,   387,   541,   542,   543,  1182,  1095,  1096,  1185,
1453       656,   614,   637,   615,   657,   641,   642,   645,   643,   654,       733,   734,   460,   479,   384,   386,   340,   548,   487,   549,
1454       655,   658,   672,   673,   674,   675,   677,   678,   680,   681,       488,  1391,   551,   552,   489,   553,   554,   490,   491,   492,
1455       682,   722,   684,   685,   698,   683,   700,   495,   496,   694,       493,   558,   559,   560,   561,   562,   563,   564,   565,   566,
1456       699,   705,   679,   706,   707,   723,   693,   697,   727,   701,       925,   494,   339,   308,   309,   310,   311,   312,   313,   314,
1457       529,   530,   531,   532,   535,   704,   724,   708,   726,   728,       315,   316,   317,   495,   496,   497,   499,   500,   499,   499,
1458       729,   730,   731,   732,   733,   725,   734,   742,   743,   755,       499,   499,   499,   499,   499,   499,   498,   501,   505,   707,
1459       754,   761,   756,   757,   758,   553,   554,   555,   556,   557,       506,   507,  1459,   508,   509,   530,   510,   511,   535,   533,
1460       558,   559,   560,   561,   562,   563,   564,   565,   566,   567,      1237,   537,   545,   536,   547,   550,  1034,   546,   577,   555,
1461       762,   765,   570,   571,   763,   790,   303,   303,   303,   303,       556,   578,   557,   569,   567,   572,   571,   568,   573,  1083,
1462       303,   303,   303,   303,   303,   792,   793,   794,   764,   789,       579,   570,   582,   574,   575,   584,   585,   587,  1062,   581,
1463       579,   579,   791,   581,   796,   582,   797,   583,   795,   302,       580,  1068,   583,   586,   588,   589,   594,  1319,   308,   309,
1464       304,   305,   306,   307,   308,   309,   310,   311,   590,   591,       310,   311,   312,   313,   314,   315,   316,   317,   271,   308,
1465       592,   593,   594,   595,   596,   597,   598,   599,   600,   601,       618,   619,   620,   621,   622,   623,   624,   625,   626,   593,
1466       602,   798,   799,   804,   805,   810,   811,   812,   813,   818,       595,   596,   597,   600,   601,   629,   599,   639,   602,   638,
1467       815,   816,   817,   819,   825,   824,   827,   826,   829,   846,       598,   643,   603,   646,   629,   648,   629,   655,   656,   658,
1468       828,   830,   832,   833,   626,   831,   838,   629,   630,   631,       662,   718,   673,   652,   653,   647,   657,   674,   675,   714,
1469       632,   839,   844,   635,   847,   323,   851,   852,   845,   849,       629,   716,   715,   730,   696,   717,   629,   723,   725,   721,
1470       857,   850,   858,   860,   859,   862,   648,   651,   648,   861,       727,   692,   693,   694,   695,   729,   726,   710,   713,   722,
1471       864,   865,   863,   869,   866,   872,   873,   878,   870,   871,       731,   732,   728,   735,   736,   484,   484,   308,   618,   619,
1472       876,   874,   879,   875,   880,   881,   669,   882,   671,   887,       620,   621,   622,   623,   624,   625,   626,   627,   737,   745,
1473       892,   888,   898,   890,   893,   895,   899,   896,   886,   900,       746,   747,   748,   749,   750,   751,   752,   753,   754,   755,
1474       903,   904,   889,   901,   902,   905,   908,   910,   686,   909,       756,   757,   758,   738,   318,   320,   321,   322,   323,   324,
1475       911,   912,   913,   916,   917,   687,   891,   688,   689,   690,       325,   326,   327,   740,   739,   707,   760,   761,   762,   763,
1476       918,   691,   919,   692,   921,   922,   923,   926,   927,   929,       741,   742,   743,   744,   759,   764,   767,   768,   765,   771,
1477       931,   933,   934,   937,   935,   946,   940,   941,   702,   894,       769,   770,   772,   339,   773,   774,   775,   777,   778,   776,
1478       703,   942,   944,   947,   949,   943,   962,   709,   710,   711,       780,   785,   629,   787,   779,   786,   781,   808,   788,   782,
1479       712,   713,   714,   715,   716,   717,   945,   719,   948,   721,       791,   783,   811,   784,   810,   821,   820,   812,   819,  1199,
1480       954,   959,   920,   950,   928,   953,   930,   955,   963,   932,       823,   822,   824,   825,   826,   792,   793,   794,   795,   796,
1481       965,   936,   964,   966,   737,   738,   739,   967,   741,   968,       797,   798,   799,   800,   801,   802,   803,   804,   805,   806,
1482       969,   970,   752,   973,   971,   972,   751,   975,   974,   651,       807,   827,   809,   709,   828,   830,   813,   814,   815,   829,
1483       976,   977,   980,   979,   981,   767,   769,   978,   767,   774,       816,   817,   831,   832,   845,   837,   840,   836,   838,   839,
1484       776,   982,   767,   784,   752,   983,   752,   751,   751,   984,       833,   842,   843,   876,   889,   844,   864,   841,   869,   870,
1485       751,   985,   986,   987,   990,   988,   989,   991,   992,   993,       874,   877,   875,   887,   885,   886,   888,   894,   577,   577,
1486       994,   998,   995,   999,   800,   801,  1000,   802,   803,  1003,       896,   897,   895,   898,   899,   918,   916,   339,   919,   920,
1487      1001,  1002,  1004,  1005,  1007,   303,   303,  1006,  1014,  1008,       927,   928,   929,   930,   931,   933,   319,   319,   319,   319,
1488       408,  1009,  1010,  1011,  1012,   484,   485,  1013,   814,  1015,       319,   319,   319,   319,   319,   932,   934,   935,   936,   937,
1489      1016,  1017,  1018,  1019,   510,  1021,   820,  1020,   807,   808,       938,   871,   855,   939,   942,   858,   859,   860,   861,   940,
1490      1022,  1023,  1024,  1026,   534,  1025,  1029,   821,  1027,  1030,       629,   943,   629,   944,   867,   945,   946,   947,   949,   950,
1491       303,   303,  1028,  1031,  1032,  1033,   323,   323,  1035,  1036,       873,   941,   952,   962,   966,   948,   963,   882,   884,   969,
1492      1038,  1037,  1040,  1034,  1039,  1045,  1046,  1043,  1041,  1047,       951,   967,   482,   968,   891,   973,   974,   975,   976,   977,
1493      1042,  1044,   752,   807,   808,  1048,   751,   408,   408,   303,       980,   981,   982,   983,   984,   665,  1002,  1004,  1005,  1006,
1494      1050,  1049,   323,  1051,  1052,  1053,   769,   774,   752,   752,       339,   339,   985,  1013,   926,  1012,  1014,   913,  1015,   915,
1495      1054,  1056,   751,   751,  1057,  1058,  1059,  1060,   577,   577,      1016,   629,  1017,  1019,  1018,  1020,  1022,  1021,  1023,  1024,
1496      1062,  1063,   843,  1055,  1061,  1064,   323,  1065,  1066,  1067,       339,  1026,   319,   319,  1025,  1027,   499,  1028,  1029,  1049,
1497      1068,   303,   303,   408,  1069,  1070,  1071,  1073,  1075,  1072,      1030,  1043,  1032,  1044,   953,  1031,  1033,  1050,  1117,  1048,
1498      1074,  1079,   877,  1076,  1077,  1078,  1080,  1081,  1083,  1084,      1051,   954,  1063,   955,   956,   957,  1064,   958,   959,  1065,
1499      1082,  1086,  1087,  1085,   867,   868,  1090,   408,   408,  1092,      1066,  1067,   960,   961,  1070,  1071,  1111,   965,  1072,  1102,
1500      1089,  1088,  1094,   776,  1093,  1097,  1091,  1095,  1096,   323,      1103,  1108,  1110,   339,  1116,  1113,   972,  1073,  1104,  1114,
1501      1098,  1099,  1100,   510,  1101,   627,   628,  1102,  1108,  1104,      1109,  1118,  1119,   873,  1121,   978,  1112,   979,  1127,   707,
1502      1105,   633,   634,  1109,  1107,  1110,   639,   639,  1103,  1106,      1120,  1126,  1122,  1123,  1128,   986,   987,   988,   989,   990,
1503      1111,  1112,  1113,  1114,   647,  1115,   647,  1117,  1116,  1118,       991,   992,   993,   994,   995,   996,   997,  1134,   999,  1115,
1504      1122,  1120,  1119,  1123,  1121,  1125,  1126,   853,  1124,  1127,      1001,  1135,  1003,  1137,  1138,  1139,  1007,  1008,  1009,  1141,
1505      1128,  1129,  1130,   854,   897,   668,  1131,   670,   783,   323,      1010,  1011,  1142,  1145,  1147,  1150,  1152,  1153,  1149,  1158,
1506       323,   625,   760,   375,   362,   323,   323,   652,   580,   291,      1157,  1162,  1166,  1163,  1169,  1164,  1165,  1170,  1177,  1171,
1507       397,   323,   521,   524,     0,     0,   367,     0,     0,   323,      1172,  1173,  1174,  1176,   499,   499,   319,  1181,  1175,  1178,
1508       363,     0,   377,     0,     0,     0,     0,     0,     0,     0,      1179,  1187,  1188,  1198,  1180,  1230,  1205,  1190,  1203,  1045,
1509         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1191,  1216,  1202,  1250,  1192,  1195,  1197,  1036,  1037,  1038,
1510       323,     0,   323,     0,     0,     0,     0,     0,     0,     0,      1196,   873,  1041,   884,  1200,  1206,  1201,  1047,  1210,  1211,
1511         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1215,  1221,  1223,  1059,  1224,  1226,   576,  1222,  1225,  1227,
1512         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1228,   891,  1233,  1229,  1231,  1234,  1232,  1235,  1075,  1077,
1513         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1236,  1075,   629,  1087,  1089,  1238,  1075,   710,   713,   713,
1514         0,     0,     0,   736,     0,     0,     0,   740,     0,     0,      1059,  1239,  1059,  1240,  1241,  1243,  1526,   339,   339,   884,
1515         0,   744,     0,     0,     0,     0,     0,     0,     0,     0,       884,   884,  1242,   339,  1244,  1245,  1246,   339,  1247,  1249,
1516         0,     0,     0,     0,     0,     0,     0,   771,   323,     0,      1129,  1130,  1252,  1131,  1132,  1133,  1253,  1255,  1256,  1257,
1517         0,   778,   323,     0,     0,   786,   323,   788,     0,     0,       339,   649,   650,  1258,  1261,  1259,  1260,  1262,  1264,   816,
1518       323,     0,     0,     0,     0,     0,     0,     0,     0,     0,       817,  1263,   319,   319,   499,   669,  1265,  1047,  1266,  1267,
1519         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1268,  1269,  1273,  1274,  1146,  1275,  1276,  1282,  1277,   712,
1520         0,     0,     0,   323,     0,     0,     0,     0,     0,     0,      1278,  1151,  1280,   339,  1281,   339,  1284,  1283,  1285,  1287,
1521       323,     0,     0,     0,     0,     0,     0,     0,   323,     0,      1286,  1288,  1526,  1289,  1290,  1292,  1293,  1296,  1154,  1295,
1522       323,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1297,  1298,  1299,   482,   482,  1300,  1301,  1303,  1304,   709,
1523         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1159,  1160,  1161,  1306,  1305,  1302,  1307,  1308,  1309,  1311,
1524         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1312,  1317,  1310,  1315,  1333,  1316,  1318,  1320,  1322,  1321,
1525         0,     0,     0,     0,     0,     0,   639,   835,   836,   639,      1324,  1325,  1323,   709,  1331,  1326,   709,  1329,   709,  1330,
1526         0,     0,     0,     0,     0,     0,     0,   323,   323,   312,      1339,  1189,  1335,  1332,  1336,  1334,  1337,  1340,   499,   499,
1527        45,    46,    47,    48,   313,   314,   315,   316,   317,   318,      1338,  1341,  1344,  1342,  1343,  1047,  1346,  1347,  1345,  1348,
1528       319,   320,   321,   322,    59,    60,    61,    62,    63,    64,      1351,  1352,  1059,  1059,  1353,  1354,  1365,  1355,  1357,  1359,
1529        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,      1361,  1362,  1364,  1077,  1358,  1366,  1087,  1059,  1059,  1368,
1530        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,      1372,  1077,   882,   710,  1370,  1374,  1375,  1360,  1363,  1369,
1531        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,      1373,   319,   319,  1376,  1367,  1377,  1378,  1381,  1382,  1383,
1532        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,      1384,  1386,  1371,  1385,  1389,  1387,   339,  1393,  1388,  1390,
1533       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,       339,  1392,  1251,  1395,  1397,  1408,  1407,  1254,  1394,  1401,
1534       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,      1396,  1413,  1410,   339,  1400,  1402,  1406,  1411,   339,  1409,
1535       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,      1412,  1416,  1417,  1419,  1427,  1421,  1420,  1422,  1429,  1428,
1536       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,      1423,  1424,  1279,  1418,  1430,  1426,   576,   576,  1431,  1432,
1537       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,       339,  1433,  1434,  1437,  1435,  1436,  1439,  1438,  1440,  1441,
1538       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,      1442,  1443,   669,   339,   856,   857,  1447,  1449,  1444,   339,
1539       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,       862,   339,  1445,  1089,   866,  1448,  1077,  1451,   709,   709,
1540       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,      1452,  1453,  1454,  1458,  1460,  1456,   879,   879,  1461,  1462,
1541       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,      1463,  1446,  1465,   709,   709,  1466,  1467,  1450,  1455,   709,
1542       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,      1470,  1471,  1472,  1468,  1474,  1475,  1473,  1476,  1477,  1478,
1543       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,      1481,  1479,  1480,  1482,  1483,  1485,  1492,   912,  1484,   914,
1544       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,      1488,  1491,  1487,  1486,  1356,  1493,  1494,  1495,  1489,  1496,
1545       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,      1498,  1497,  1499,  1501,  1500,  1503,  1504,  1502,  1505,  1506,
1546       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,      1510,  1511,  1512,  1514,  1513,  1518,  1517,  1515,  1516,  1519,
1547       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,      1520,  1521,  1532,  1530,   339,   339,  1531,  1533,  1534,  1536,
1548       255,   256,   257,   258,   259,   260,   261,   646,     0,   262,      1535,  1537,  1539,  1540,  1543,  1545,  1538,  1546,  1549,  1541,
1549       312,    45,    46,    47,    48,   313,   314,   315,   316,   317,      1542,  1207,  1213,  1544,  1555,  1291,  1557,  1583,   891,  1547,
1550       318,   319,   320,   321,   322,    59,    60,    61,    62,    63,      1558,  1550,  1552,  1553,  1548,  1551,  1554,  1560,  1561,  1559,
1551        1562,  1563,  1564,  1565,  1566,  1571,  1425,  1569,  1570,  1573,
1552        1575,  1576,  1572,  1577,  1574,  1578,  1580,  1581,  1584,  1586,
1553        1579,  1582,  1587,  1585,  1590,  1588,  1593,  1589,  1597,  1601,
1554        1591,  1592,  1602,  1610,  1600,  1596,  1606,  1615,  1599,  1604,
1555        1619,  1603,  1605,  1617,  1618,  1614,  1609,  1620,  1622,  1594,
1556        1611,  1623,  1616,  1621,  1631,  1625,  1628,   710,  1624,  1595,
1557        1629,  1194,  1626,  1627,   666,  1630,  1598,  1633,  1635,  1642,
1558        1632,  1637,  1634,  1640,  1490,  1639,  1636,  1035,  1638,  1645,
1559        1647,  1039,  1641,  1644,  1643,  1646,  1648,  1649,  1650,  1651,
1560        1652,  1653,  1654,  1052,  1656,  1655,  1657,  1660,  1663,  1658,
1561        1661,  1659,  1667,  1674,  1673,  1675,  1662,  1666,  1686,  1676,
1562        1677,  1079,  1664,  1665,  1668,  1672,  1092,  1679,  1669,   712,
1563         712,  1678,  1098,  1670,  1100,  1671,  1680,  1681,  1682,  1684,
1564        1687,  1683,  1685,  1688,  1689,  1690,  1691,  1692,  1693,  1556,
1565        1695,  1694,  1696,  1697,  1698,  1699,  1700,  1701,  1703,  1704,
1566         307,  1101,   418,  1702,   406,   464,   407,     0,     0,   408,
1567         685,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1568         465,     0,     0,   709,     0,     0,     0,     0,     0,     0,
1569           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1570           0,     0,     0,   466,     0,     0,     0,     0,     0,     0,
1571           0,     0,     0,   467,     0,     0,     0,     0,     0,     0,
1572           0,   468,     0,     0,     0,   469,     0,   470,     0,   471,
1573           0,     0,     0,     0,   472,     0,     0,     0,     0,     0,
1574           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1575           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1576           0,     0,   879,  1183,  1184,   879,     0,     0,     0,     0,
1577           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1578           0,     0,     0,     0,   473,     0,     0,     0,     0,     0,
1579         474,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1580           0,     0,     0,     0,     0,     0,   475,     0,     0,   409,
1581           0,     0,     0,   480,     0,     0,   428,     0,     0,     0,
1582           0,     0,   669,   328,    52,    53,    54,    55,    56,   329,
1583         330,   331,   332,   333,   334,   335,   336,   337,   338,    67,
1584          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1585          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1586          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1587          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1588         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1589         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1590         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1591         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1592         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1593         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1594         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1595         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1596         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1597         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1598         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1599         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1600         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1601         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1602         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1603         258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1604         268,   269,   834,   410,   270,   328,    52,    53,    54,    55,
1605          56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1606         338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1607          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1608          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1609          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1610         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1611         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1612         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1613         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1614         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1615         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1616         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1617         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1618         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1619         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1620         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1621         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1622         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1623         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1624         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1625         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1626         266,   267,   268,   269,   430,   835,   270,    51,    52,    53,
1627          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1628        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1629        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1630        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1149  static const short yytable[] = Line 1644  static const short yytable[] =
1644       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1645       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1646       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1647       254,   255,   256,   257,   258,   259,   260,   261,     0,   649,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1648       262,    44,    45,    46,    47,    48,    49,    50,    51,    52,       264,   265,   266,   267,   268,   269,   411,   413,   270,   328,
1649        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,        52,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1650        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       334,   335,   336,   337,   338,    67,    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,     0,  
        0,   262,   312,    45,    46,    47,    48,   313,   314,   315,  
      316,   317,   318,   319,   320,   321,   322,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
1651        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1652        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1653        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
# Line 1194  static const short yytable[] = Line 1667  static const short yytable[] =
1667       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1668       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1669       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1670         0,     0,   262,   312,    45,    46,   745,   746,    49,    50,       262,   263,   264,   265,   266,   267,   268,   269,   414,   481,
1671        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,       270,   328,    52,    53,    54,  1053,  1054,    57,    58,    59,
1672        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1673        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1674        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1675        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1676       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1677       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1678       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1679       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1680       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1681       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1682       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1683       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1684       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1685       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1686       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1687       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1688       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1689       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1690       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1691       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1692       261,   502,   503,   312,    45,    46,    47,    48,   313,   314,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1693       315,   316,   317,   318,   319,   320,   321,   322,    59,    60,       590,   591,   328,    52,    53,    54,    55,    56,   329,   330,
1694        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,       331,   332,   333,   334,   335,   336,   337,   338,    67,    68,
       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,   312,    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,   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,   312,  
      696,    46,    47,    48,   313,   314,   315,   316,   317,   318,  
      319,   320,   321,   322,    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,   312,   718,    46,  
       47,    48,   313,   314,   315,   316,   317,   318,   319,   320,  
      321,   322,    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,   312,   720,    46,    47,    48,  
      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,  
       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,  
1695        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1696        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1697        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1325  static const short yytable[] = Line 1711  static const short yytable[] =
1711       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1712       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1713       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1714       259,   260,   261,   312,   806,    46,    47,    48,   313,   314,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1715       315,   316,   317,   318,   319,   320,   321,   322,    59,    60,       269,   328,    52,    53,    54,    55,    56,    57,    58,    59,
1716        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1717          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1718          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1719          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1720         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1721         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1722         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1723         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1724         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1725         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1726         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1727         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1728         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1729         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1730         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1731         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1732         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1733         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1734         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1735         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1736         260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1737         328,   971,    53,    54,    55,    56,   329,   330,   331,   332,
1738         333,   334,   335,   336,   337,   338,    67,    68,    69,    70,
1739        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1740        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1741        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
# Line 1347  static const short yytable[] = Line 1755  static const short yytable[] =
1755       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1756       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1757       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1758       261,   312,   822,    46,    47,    48,   313,   314,   315,   316,       261,   262,   263,   264,   265,   266,   267,   268,   269,   328,
1759       317,   318,   319,   320,   321,   322,    59,    60,    61,    62,       998,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1760        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
1761          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1762          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1763          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1764         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1765         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1766         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1767         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1768         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1769         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1770         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1771         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1772         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1773         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1774         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1775         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1776         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1777         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1778         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1779         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1780         262,   263,   264,   265,   266,   267,   268,   269,   328,  1000,
1781          53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1782         335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1783        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1784        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1785        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
# Line 1368  static const short yytable[] = Line 1798  static const short yytable[] =
1798       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1799       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1800       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1801       253,   254,   255,   256,   257,   258,   259,   260,   261,   312,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1802       823,    46,    47,    48,   313,   314,   315,   316,   317,   318,       263,   264,   265,   266,   267,   268,   269,   328,  1140,    53,
1803       319,   320,   321,   322,    59,    60,    61,    62,    63,    64,        54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1804        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,       336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1805          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1806          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1807          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1808         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1809         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1810         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1811         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1812         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1813         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1814         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1815         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1816         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1817         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1818         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1819         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1820         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1821         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1822         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1823         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1824         264,   265,   266,   267,   268,   269,   328,  1155,    53,    54,
1825          55,    56,   329,   330,   331,   332,   333,   334,   335,   336,
1826         337,   338,    67,    68,    69,    70,    71,    72,    73,    74,
1827        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1828        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1829        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
# Line 1390  static const short yytable[] = Line 1842  static const short yytable[] =
1842       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1843       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1844       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1845       255,   256,   257,   258,   259,   260,   261       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1846         265,   266,   267,   268,   269,   328,  1156,    53,    54,    55,
1847          56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1848         338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1849          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1850          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1851          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1852         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1853         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1854         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1855         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1856         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1857         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1858         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1859         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1860         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1861         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1862         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1863         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1864         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1865         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1866         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1867         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1868         266,   267,   268,   269
1869  };  };
1870    
1871  static const short yycheck[] =  static const yytype_int16 yycheck[] =
1872  {  {
1873        14,   571,    14,    31,    16,    17,    18,    19,    20,    21,        15,   783,    17,    18,    19,    20,    21,    22,    23,    24,
1874        22,    23,    24,    25,    26,   454,   270,   271,   270,   271,        25,    26,    27,    28,    29,    30,    31,    15,   502,   565,
1875        19,   718,   277,   720,    26,    30,    22,   437,   224,   225,       749,   532,   995,   534,   979,   281,   282,   281,   282,   286,
1876        32,    36,    20,    21,    33,   277,   277,   277,    18,    35,       288,   774,     5,   288,  1151,   288,    32,   548,   871,    33,
1877        50,    51,    52,    53,    54,    55,    56,    57,    58,    37,        34,    22,  1159,   554,    58,    59,    60,    61,    62,    63,
1878        30,    35,    22,    21,   712,     1,    26,     3,   716,    39,        64,    65,    66,   540,  1045,   277,   543,   998,     1,  1000,
1879        20,    21,    38,    50,    51,    52,    53,    54,    55,    56,         3,    37,   549,   285,   286,    37,   553,   551,   961,    22,
1880        57,    58,    18,    33,    20,    21,    31,    37,    24,    19,       523,    23,    21,    22,    22,   989,    19,    23,    21,    22,
1881        19,    20,    18,    29,    20,    22,    26,    26,    34,    35,       994,   534,    25,    23,    37,    34,    34,    30,    31,    38,
1882        36,    30,    38,    22,    30,    22,    36,    36,    22,    39,        36,   578,    35,    36,    37,   548,    39,    23,    19,    39,
1883        39,    38,    22,    18,     0,    20,    35,    22,    18,   806,        21,   554,    23,    24,    21,    22,    19,    20,    21,    20,
1884        20,    18,    22,   269,   553,    30,   555,   556,   274,   275,        31,    24,    25,    89,  1007,  1008,  1009,    89,    31,    40,
1885        30,   223,   278,    30,     5,   822,   823,     8,     9,    10,        19,    38,   277,    34,    37,    38,   959,    40,    19,   640,
1886        11,    12,    13,    14,    15,    16,    17,    21,    18,    38,       285,   286,    31,    24,    19,   290,    34,  1254,    37,    37,
1887        39,   272,    22,    21,   583,   276,   277,   221,   222,    33,        31,    40,  1133,     9,    10,    11,    12,    13,    14,    15,
1888        30,   590,   591,   592,   593,   594,   595,   596,   597,   598,        16,    17,    18,    20,    23,    23,    22,    19,    21,    21,
1889       415,   416,   417,   418,   419,   420,   421,   422,   423,   424,        27,    21,    24,    19,    27,    39,    32,    36,    31,    31,
1890       425,   426,   582,   415,   415,   415,     5,    22,    21,     8,        37,    31,     0,    40,    30,    31,    58,    59,    60,    61,
1891         9,    10,    11,    12,    13,    14,    15,    16,    17,   443,        62,    63,    64,    65,    66,    19,    27,    21,  1161,    23,
1892        33,   443,     5,   221,   222,     8,     9,    10,    11,    12,        24,   225,   226,    22,    30,    30,    19,    31,    39,  1140,
1893        13,    14,    15,    16,    17,     6,     7,     8,     9,    10,        23,    36,    38,    37,    38,    34,    40,    23,    31,    34,
1894        11,    12,    13,    14,    15,    16,    17,     8,     9,    10,        32,    27,    37,     6,  1155,  1156,     9,    10,    11,    12,
1895        11,    12,    13,    14,    15,    16,    17,    20,    21,    36,        13,    14,    15,    16,    17,    18,   222,   223,   222,   223,
1896       800,    20,    21,   803,     8,     9,    10,    11,    12,    13,       513,   514,   515,   516,   517,   518,   519,   520,   521,   522,
1897        14,    15,    16,    17,   223,   224,   225,   686,    18,    37,       224,   524,   525,   526,   527,    34,   529,   758,    37,   760,
1898        36,    26,    37,    19,    36,   224,    20,    18,    37,    37,        27,   224,   225,   226,   512,    22,    33,   512,   745,   512,
1899        37,    21,    38,   702,    32,    22,    25,    36,    31,    25,       747,   748,     7,     8,     9,    10,    11,    12,    13,    14,
1900        37,    26,    26,    38,    25,    20,    38,    26,   224,   225,        15,    16,    17,    18,   289,    34,   763,    34,    37,    37,
1901        38,    31,    26,    31,    26,    38,    32,    39,    20,    19,        37,     6,   225,   226,     9,    10,    11,    12,    13,    14,
1902        37,    18,   302,    21,   304,   305,   306,   307,   308,   309,        15,    16,    17,    18,    31,    39,    40,   784,   809,   783,
1903       310,   311,    35,    37,    18,    18,    24,    26,    25,    21,        37,   558,   558,    23,   558,   792,   793,   794,   795,   796,
1904        21,    21,    21,    18,    21,    36,    36,    21,    21,   331,       797,   798,   799,   800,   801,   802,   803,    31,    21,    21,
1905        35,    23,    23,   335,    22,   337,   338,   339,   340,   341,        39,    40,    23,    37,    27,    27,   813,   814,   815,   344,
1906        14,   343,    26,   345,   346,   347,   348,    32,    35,    22,       280,    21,    21,   283,    21,   558,   558,    27,    27,   354,
1907       352,   353,    31,   355,   356,    36,    26,    26,    26,    31,        27,   564,   222,   223,    38,   360,    37,   362,   363,   364,
1908        26,    26,    26,    26,   366,   367,   368,    26,    26,    31,       365,   366,    19,   368,    34,   370,   371,   372,   373,   374,
1909        37,   373,   374,   375,   376,   377,   378,    32,    32,    26,        20,   376,   377,   378,   379,   380,    27,   281,   282,   384,
1910        26,    38,    32,    23,    32,   814,    20,    22,    20,    42,       225,   386,   286,    31,   389,    21,    22,    21,    22,   394,
1911        26,    20,    31,    35,    32,    32,   398,    19,    29,    88,       395,   396,    31,   398,   399,   400,  1129,   996,   997,  1132,
1912        21,    31,    88,    31,    21,    32,    31,    31,    88,    32,       590,   591,   287,   288,   278,   279,    21,   412,    19,   414,
1913        88,    29,    22,    22,    18,    22,    35,    22,    18,    22,        19,  1356,   417,   418,    38,   420,   421,    38,    22,    38,
1914        22,    35,    42,    22,    22,    26,    38,   431,   432,    26,        33,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1915        26,    26,    88,    26,    26,    29,    88,    88,    26,    88,         6,    23,   271,     9,    10,    11,    12,    13,    14,    15,
1916       444,   445,   446,   447,   448,    88,    30,    38,    22,    29,        16,    17,    18,    23,    37,    19,   318,    26,   320,   321,
1917        32,    19,    29,    31,    37,    88,    35,    32,    31,    29,       322,   323,   324,   325,   326,   327,    39,    27,    26,   995,
1918        32,    32,    31,    30,    30,   467,   468,   469,   470,   471,        32,    42,  1425,    27,    23,    27,    33,    33,    39,    27,
1919       472,   473,   474,   475,   476,   477,   478,   479,   480,   481,      1189,    27,    26,    42,    27,    32,   953,    42,   483,    39,
1920        31,    30,   484,   485,    32,    29,   486,   487,   488,   489,        21,   486,    27,    26,    39,    27,    30,    39,    38,   990,
1921       490,   491,   492,   493,   494,    20,    19,    38,    88,    88,        36,    42,    40,    33,    33,    21,    21,    20,   972,    36,
1922       502,   503,    88,   505,    36,   507,    33,   509,    29,   486,        38,   978,    38,    34,    19,    22,    22,  1279,     9,    10,
1923       487,   488,   489,   490,   491,   492,   493,   494,   520,   521,        11,    12,    13,    14,    15,    16,    17,    18,    15,     9,
1924       522,   523,   524,   525,   526,   527,   528,   529,   530,   531,        10,    11,    12,    13,    14,    15,    16,    17,    18,  1003,
1925       532,    22,    20,    38,    33,    38,    33,    22,    32,    26,        19,    19,    25,    36,    38,   523,    22,    32,    30,    22,
1926        38,    33,    88,    22,    18,    23,    32,    20,    37,    31,        89,    22,    27,    22,   532,    22,   534,    22,    19,    22,
1927        22,    22,    36,    22,   558,    38,    37,   561,   562,   563,        37,    33,    22,   541,   542,    89,    89,    26,    22,    22,
1928       564,    38,    37,   567,    21,   263,    32,    31,    38,    37,       548,    19,    24,    37,    32,    89,   554,    27,    23,    36,
1929        26,    38,    31,    38,    32,    88,   578,   581,   580,    33,        23,   559,   560,   561,   562,    36,    33,   565,   566,    38,
1930        31,    33,    37,    33,    37,    18,    33,    29,    37,    37,        32,    27,    38,    27,    27,   590,   591,     9,    10,    11,
1931        33,    37,    22,    38,    38,    31,   600,    38,   602,    37,        12,    13,    14,    15,    16,    17,    18,    19,    32,   604,
1932        29,    38,    29,    38,    38,    37,    32,    38,    88,    31,       605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
1933        38,    31,    88,    37,    37,    26,    18,    21,   620,    37,       615,   616,   617,    27,   618,   619,   620,   621,   622,   623,
1934        37,    21,    37,    33,    37,   627,    88,   629,   630,   631,       624,   625,   626,    27,    37,  1161,   631,   632,   633,   634,
1935        38,   633,    37,   635,    21,    24,    21,    32,    24,    22,        40,    19,    39,    32,    30,    27,   641,   642,    33,    37,
1936        22,    22,    32,    36,    38,    22,    26,    26,   650,    88,        27,    27,    27,   482,   649,   650,   651,    27,    32,   654,
1937       652,    26,    26,    21,    21,    39,    32,   659,   660,   661,        27,    27,   640,    27,    37,    33,    38,    19,    39,   664,
1938       662,   663,   664,   665,   666,   667,    35,   669,    39,   671,        33,   666,    23,   668,    39,    32,    24,    27,    27,  1146,
1939        35,    25,    88,    39,    88,    39,    88,    37,    31,    88,        20,    37,    27,    21,    23,   680,   681,   682,   683,   684,
1940        26,    88,    88,    39,   688,   689,   690,    37,   692,    22,       685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
1941        26,    22,   696,    22,    26,    25,   696,    37,    26,   703,       695,    19,   697,   565,    21,    27,   701,   702,   703,    43,
1942        88,    25,    18,    42,    39,   709,   710,    32,   712,   713,       704,   705,    21,    32,    24,    30,    23,    33,    32,    32,
1943       714,    26,   716,   717,   718,    88,   720,   717,   718,    22,        89,    23,    30,    23,    36,    31,    30,    89,    89,    32,
1944       720,    26,    20,    22,    20,    88,    39,    39,    20,    18,        89,    89,    33,    23,    33,    32,    89,    33,   733,   734,
1945        39,    18,    20,    35,   736,   737,    33,   739,   740,    39,        22,    22,    89,    38,    30,    22,    31,   576,    40,    22,
1946        31,    26,    32,    36,    22,   745,   746,    31,    31,    35,        33,    23,    32,    23,    19,    23,   618,   619,   620,   621,
1947       750,    33,    26,    22,    26,   429,   430,    22,   760,    26,       622,   623,   624,   625,   626,    89,    19,    30,    23,    20,
1948        22,    25,    42,    31,   438,    22,   768,    37,   745,   746,        36,   766,   750,    23,    19,   753,   754,   755,   756,    27,
1949        31,    20,    22,    33,   448,    38,    18,   779,    36,    20,       758,    23,   760,    23,   762,    32,    27,    36,    23,    33,
1950       780,   781,    88,    20,    31,    20,   484,   485,    18,    33,       768,    89,    23,    27,    27,    89,    89,   775,   776,    27,
1951        22,    31,    35,    88,    22,    22,    22,    33,    37,    22,        43,    89,   289,    32,   782,    89,    23,    32,    27,    39,
1952        38,    35,   806,   780,   781,    22,   806,   807,   808,   809,        89,    27,    27,    27,    23,  1279,    23,    27,    23,    27,
1953        31,    33,   510,    22,    22,    29,   820,   821,   822,   823,       649,   650,    33,    36,   818,    89,    23,   805,    32,   807,
1954        36,    33,   822,   823,    37,    18,    18,    29,   502,   503,        30,   809,    27,    31,    30,    89,    23,    89,    27,    30,
1955        18,    31,   809,    88,    88,    29,   534,    88,    33,    38,       669,    33,   704,   705,    32,    20,   708,    30,    22,    33,
1956        88,   841,   842,   843,    35,    30,    33,    22,    18,    35,        32,    32,    38,    31,   849,    40,    36,    22,    21,    32,
1957        33,    22,   854,    37,    21,    18,    18,    18,    18,    35,        32,   856,    33,   858,   859,   860,    30,   862,   863,    22,
1958        29,    35,    30,    88,   841,   842,    30,   867,   868,    18,        32,    31,   867,   868,    33,    32,    22,   872,    33,    33,
1959        35,    37,    26,   877,    21,    18,    35,    22,    22,   577,        30,    33,    30,   712,    40,    32,   881,    89,    89,    30,
1960        22,    18,    30,   557,    35,   559,   560,    39,    22,    35,        89,    20,    37,   871,    30,   890,    89,   892,    23,  1425,
1961        30,   565,   566,    26,    30,    22,   570,   571,    37,    37,        39,    33,    37,    37,    21,   900,   901,   902,   903,   904,
1962        22,    22,    22,    22,   578,    37,   580,    35,    39,    35,       905,   906,   907,   908,   909,   910,   911,    37,   913,    89,
1963        22,    35,    37,    22,    37,    22,    22,   820,    36,    35,       915,    33,   917,    37,    39,    34,   921,   922,   923,     5,
1964        35,    35,    35,   821,   877,   599,    36,   601,   717,   627,       924,   925,    39,    23,    39,    27,    23,    33,    89,    21,
1965       628,   557,   703,   275,   272,   633,   634,   582,   503,    43,        89,    39,    27,    24,    19,    89,    89,    21,    39,    33,
1966       277,   639,   443,   443,    -1,    -1,   273,    -1,    -1,   647,        33,    23,    38,    23,   816,   817,   818,    23,    38,    38,
1967       272,    -1,   275,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        27,    38,    22,    32,    37,    89,    24,    38,    32,   964,
1968        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        38,    27,    33,    23,    39,    38,    38,   955,   956,   957,
1969       668,    -1,   670,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        39,   959,   960,   961,    38,    32,    39,   965,    33,    33,
1970        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        38,    32,    38,   971,    32,    27,   483,    39,    33,    39,
1971          36,   979,    21,    34,    38,    32,    36,    36,   986,   987,
1972          19,   989,   990,   991,   992,    36,   994,   995,   996,   997,
1973         998,    34,  1000,    38,    34,    36,  1490,   856,   857,  1007,
1974        1008,  1009,    38,   862,    38,    34,    38,   866,    39,    19,
1975        1035,  1036,    39,  1038,  1039,  1040,    32,    34,    30,    33,
1976         879,   538,   539,    32,    24,    33,    32,    38,    23,  1053,
1977        1054,    36,   924,   925,   926,   552,    39,  1045,    21,    32,
1978          39,    39,    89,    39,  1069,    23,    38,    89,    39,   566,
1979          30,  1076,    39,   912,    39,   914,    89,    39,    39,    89,
1980          39,    38,  1556,    39,    39,    38,    38,    30,  1093,    39,
1981          39,    24,    39,   590,   591,    24,    33,    39,    33,   971,
1982        1105,  1106,  1107,    23,    32,    89,    38,    31,    38,    32,
1983          27,    19,    39,    31,    36,    89,    31,    31,    22,    38,
1984          22,    31,    38,   995,    30,    38,   998,    34,  1000,    38,
1985          22,  1136,    32,    34,    33,    38,    32,    31,  1010,  1011,
1986          33,    39,    23,    38,    89,  1133,    22,    25,    89,    22,
1987          33,    23,  1140,  1141,    21,    25,    33,    23,    23,    23,
1988          23,    23,    23,  1151,    89,    39,  1154,  1155,  1156,    38,
1989          38,  1159,  1160,  1161,    33,    23,    23,    89,    89,    39,
1990          38,  1053,  1054,    37,    89,    21,    32,    27,    27,    27,
1991          40,    36,    89,    27,    23,    32,  1035,    22,    33,    32,
1992        1039,    32,  1207,    22,    32,    22,    30,  1212,    40,    36,
1993          40,    26,    32,  1052,    40,    38,    38,    33,  1057,    40,
1994          38,    33,    32,    27,    23,    38,    40,    38,    23,    27,
1995          39,    38,  1237,    89,    27,    38,   733,   734,    38,    26,
1996        1079,    23,    27,    26,    38,    89,    43,    33,    89,    30,
1997          23,    27,   749,  1092,   751,   752,    19,    27,    38,  1098,
1998         757,  1100,    39,  1251,   761,    40,  1254,    23,  1140,  1141,
1999          27,    21,    23,    32,    40,    37,   773,   774,    21,    40,
2000          21,    89,    19,  1155,  1156,    40,    21,    89,    89,  1161,
2001          19,    36,    34,    21,    40,    21,    23,    89,    32,    31,
2002          40,    32,    27,    33,    37,    23,    23,   804,    32,   806,
2003          31,    27,    34,    36,  1319,    27,    23,    31,    38,    32,
2004          23,    27,    26,    32,    43,    23,    36,    38,    27,    23,
2005          38,    19,    32,    23,    21,    89,    37,    39,    34,    19,
2006          19,    89,    19,    21,  1183,  1184,    21,    32,    21,    19,
2007          89,    34,    21,    89,    19,    23,    32,    23,    39,    33,
2008          32,  1154,  1160,    34,    23,  1251,    23,  1556,  1356,    36,
2009          23,    34,    34,    31,    38,    36,    32,    23,    23,    34,
2010          34,    32,    23,    23,    23,    34,  1391,    39,    24,    37,
2011          34,    38,    30,    19,    89,    19,    19,    89,    30,    19,
2012          37,    36,    32,    89,    33,    30,    33,    89,    39,    42,
2013          32,    32,    22,    24,    31,    34,    23,    19,    36,    34,
2014          23,    37,    36,    22,    19,    34,    39,    23,    19,    89,
2015          38,    19,    38,    27,    19,    33,    33,  1425,    30,    89,
2016          33,  1141,    32,    32,   551,    32,    89,    89,    31,    24,
2017          36,    31,    36,    31,  1459,    36,    38,   954,    37,    24,
2018          19,   958,    39,    39,    38,    36,    22,    27,    23,    23,
2019          19,    38,    19,   970,    32,    23,    33,    19,    40,    32,
2020          31,    33,    23,    27,    23,    23,    36,    32,    89,    23,
2021          22,   988,    38,    36,    31,    31,   993,    23,    38,   996,
2022         997,    32,   999,    38,  1001,    38,    23,    23,    38,    36,
2023          38,    40,    36,    38,    36,    38,    23,    23,    37,  1524,
2024          23,    26,    23,    36,    36,    33,    36,    36,    30,    22,
2025          50,  1003,   284,    37,   283,   288,   283,    -1,    -1,   283,
2026         558,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2027         288,    -1,    -1,  1425,    -1,    -1,    -1,    -1,    -1,    -1,
2028        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2029          -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,
2030          -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,
2031          -1,   288,    -1,    -1,    -1,   288,    -1,   288,    -1,   288,
2032          -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,
2033        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,   687,    -1,    -1,    -1,   691,    -1,    -1,  
       -1,   695,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,   711,   736,    -1,  
       -1,   715,   740,    -1,    -1,   719,   744,   721,    -1,    -1,  
      748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2034        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2035        -1,    -1,    -1,   771,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,  1129,  1130,  1131,  1132,    -1,    -1,    -1,    -1,
      778,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   786,    -1,  
      788,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2036        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2037        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,
2038        -1,    -1,    -1,    -1,    -1,    -1,   800,   801,   802,   803,       288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2039        -1,    -1,    -1,    -1,    -1,    -1,    -1,   835,   836,     3,        -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,   283,
2040          -1,    -1,    -1,   288,    -1,    -1,   286,    -1,    -1,    -1,
2041          -1,    -1,  1189,     3,     4,     5,     6,     7,     8,     9,
2042          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2043          20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2044          30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
2045          40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2046          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2047          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2048          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2049          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
2050          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2051         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
2052         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2053         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
2054         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2055         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2056         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
2057         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
2058         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
2059         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
2060         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2061         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2062         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2063         220,   221,   222,   283,   224,     3,     4,     5,     6,     7,
2064           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2065          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2066          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2067          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
2068          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2069          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2070          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
2071          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2072          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2073          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
2074         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
2075         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
2076         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2077         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2078         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2079         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2080         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2081         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2082         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2083         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2084         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2085         218,   219,   220,   221,   286,   223,   224,     3,     4,     5,
2086           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2087          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2088          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2089          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2090          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2091          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2092          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2093          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2094          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2095          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2096         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2097         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2098         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2099         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2100         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2101         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2102         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2103         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2104         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2105         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2106         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2107         216,   217,   218,   219,   220,   221,   283,   283,   224,     3,
2108         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2109        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2110        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
# Line 1529  static const short yycheck[] = Line 2126  static const short yycheck[] =
2126       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2127       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2128       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2129       214,   215,   216,   217,   218,   219,   220,   221,    -1,   223,       214,   215,   216,   217,   218,   219,   220,   221,   283,   288,
2130         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,       224,     3,     4,     5,     6,     7,     8,     9,    10,    11,
       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,    -1,   222,  
      223,     3,     4,     5,     6,     7,     8,     9,    10,    11,  
2131        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2132        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2133        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1573  static const short yycheck[] = Line 2148  static const short yycheck[] =
2148       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2149       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2150       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2151       212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2152        -1,   223,     3,     4,     5,     6,     7,     8,     9,    10,       222,   223,     3,     4,     5,     6,     7,     8,     9,    10,
2153        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2154        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2155        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1596  static const short yycheck[] = Line 2171  static const short yycheck[] =
2171       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2172       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2173       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2174        -1,    -1,   223,     3,     4,     5,     6,     7,     8,     9,       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
       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,     3,     4,     5,     6,     7,     8,     9,  
       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,  
       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,  
       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,  
       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,  
       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,  
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,  
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,  
      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,  
      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,  
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,  
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,  
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,  
      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,  
      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,  
      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,  
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,  
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,  
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,  
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,  
      220,     3,     4,     5,     6,     7,     8,     9,    10,    11,  
2175        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2176        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2177        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1661  static const short yycheck[] = Line 2192  static const short yycheck[] =
2192       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2193       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2194       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2195       212,   213,   214,   215,   216,   217,   218,   219,   220,     3,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2196           3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2197          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2198          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2199          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2200          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2201          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2202          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2203          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2204          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2205          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2206         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2207         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2208         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2209         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2210         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2211         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2212         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2213         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2214         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2215         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2216         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2217         213,   214,   215,   216,   217,   218,   219,   220,   221,     3,
2218         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2219        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2220        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
# Line 1683  static const short yycheck[] = Line 2236  static const short yycheck[] =
2236       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2237       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2238       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2239       214,   215,   216,   217,   218,   219,   220,     3,     4,     5,       214,   215,   216,   217,   218,   219,   220,   221,     3,     4,
2240           5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2241          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2242          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2243          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2244          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2245          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2246          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2247          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2248          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2249          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2250         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2251         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2252         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2253         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2254         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2255         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2256         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2257         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2258         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2259         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2260         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2261         215,   216,   217,   218,   219,   220,   221,     3,     4,     5,
2262         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2263        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2264        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
# Line 1705  static const short yycheck[] = Line 2280  static const short yycheck[] =
2280       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2281       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2282       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2283       216,   217,   218,   219,   220,     3,     4,     5,     6,     7,       216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2284           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2285          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2286          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2287          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2288          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2289          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2290          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2291          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2292          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2293          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2294         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2295         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2296         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2297         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2298         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2299         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2300         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2301         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2302         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2303         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2304         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2305         217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
2306         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2307        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2308        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1727  static const short yycheck[] = Line 2324  static const short yycheck[] =
2324       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2325       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2326       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2327       218,   219,   220,     3,     4,     5,     6,     7,     8,     9,       218,   219,   220,   221
2328        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,  };
2329        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,  
2330        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2331        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,     symbol of state STATE-NUM.  */
2332        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,  static const yytype_uint16 yystos[] =
2333        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  {
2334        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2335        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        36,    37,    39,   228,   229,   230,   231,   286,   287,   288,
2336        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,       289,   290,   291,   292,   293,   294,   299,   300,   301,   302,
2337       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       303,   365,   369,    22,    30,    36,    23,    23,    27,    33,
2338       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,        19,    39,    23,    23,    39,    32,     0,   225,   226,   284,
2339       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       285,     3,     4,     5,     6,     7,     8,     9,    10,    11,
      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,     3,     4,     5,     6,     7,     8,     9,    10,    11,  
2340        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2341        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2342        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1770  static const short yycheck[] = Line 2357  static const short yycheck[] =
2357       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2358       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2359       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2360       212,   213,   214,   215,   216,   217,   218,   219,   220,     3,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2361         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,       224,   275,   278,   279,   280,   283,   283,   283,   283,   283,
2362        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
2363        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,       283,    22,    23,    23,    37,    38,    37,    19,    34,    27,
2364        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        31,    37,    30,    38,    20,    31,    37,   284,     9,    10,
2365        44,    45,    46,    47,    48,    49,    50,    51,    52,    53,        11,    12,    13,    14,    15,    16,    17,    18,   277,   278,
2366        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,       277,   277,   277,   277,   277,   277,   277,   277,     3,     9,
2367        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        10,    11,    12,    13,    14,    15,    16,    17,    18,   280,
2368        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        21,    31,   232,   304,   348,    19,    21,    23,    24,    31,
2369        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        37,    38,    40,   238,   304,   305,   306,   307,   324,   325,
2370        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,       328,   333,   334,   335,   336,   337,   338,   340,   342,   343,
2371       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,       344,   345,   346,   347,   348,   349,   350,   351,   356,   357,
2372       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,       358,   359,    31,   235,   346,   236,   346,    31,   242,   347,
2373       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,        19,    24,    31,   240,   334,   344,   356,   243,   334,   344,
2374       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,       356,    19,    21,    24,    31,   249,   305,   306,   307,   333,
2375       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,       340,   343,   347,   349,   357,    27,   244,   327,   328,   237,
2376       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,       304,   348,    19,    23,    31,   239,   304,   332,   337,   341,
2377       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,       342,   348,   356,   359,   368,    19,    20,    21,    24,    25,
2378       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,        31,    37,    38,    40,   233,   309,   310,   311,   312,   313,
2379       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
2380       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       324,   326,   366,   234,   309,   310,   311,   312,   313,   314,
2381       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
2382       214,   215,   216,   217,   218,   219,   220       326,   366,   275,   281,   283,   241,   304,    19,    19,    38,
2383  };        38,    22,    38,    33,    23,    23,    37,    19,    39,   278,
2384          26,    27,   283,    39,    40,    26,    32,    42,    27,    23,
2385  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing        33,    33,   283,   283,   283,   283,   283,   283,   283,   283,
2386     symbol of state STATE-NUM.  */       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
2387  static const unsigned short yystos[] =        27,   283,   283,    27,   283,    39,    42,    27,   283,   283,
2388  {       283,   283,   283,   283,    39,    26,    42,    27,   283,   283,
2389         0,     1,     3,    18,    20,    21,    24,    29,    34,    35,        32,   283,   283,   283,   283,    39,    21,    27,   283,   283,
2390        36,    38,   227,   228,   229,   230,   268,   269,   270,   271,       283,   283,   283,   283,   283,   283,   283,    39,    39,    26,
2391       272,   273,   275,   276,   277,   278,   311,   314,    21,    35,        42,    30,    27,    38,    33,    33,   275,   283,   283,    36,
2392        22,    22,    26,    32,    38,    22,    22,    38,    31,     0,        38,    36,    40,    38,    21,    21,    34,    20,    19,    22,
2393       224,   225,   266,   267,     3,     4,     5,     6,     7,     8,       222,   223,   269,   282,    22,    19,    19,    25,    89,    22,
2394         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,        36,    38,    30,    27,   308,   321,   322,   323,   308,   308,
2395        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,       308,   308,   308,   308,   308,   308,   308,   308,    10,    11,
2396        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        12,    13,    14,    15,    16,    17,    18,    19,   259,   279,
2397        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,       295,   308,   308,   308,   308,   264,   279,   308,    22,    32,
2398        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,       246,   298,   259,    22,   259,   295,    22,    89,    22,   275,
2399        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,       275,   264,   279,   279,   264,    22,    19,    89,    22,   259,
2400        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,       295,   264,    37,   250,   268,   282,   298,   251,   267,   275,
2401        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,       264,   259,   295,    22,    26,    22,    19,    31,    37,   245,
2402        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,       334,   338,   339,   344,   348,   351,   352,   353,   354,   359,
2403        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,       361,   362,   279,   279,   279,   279,    32,   367,    19,    30,
2404       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,        31,   338,   355,   360,     7,     8,   263,   276,   277,   278,
2405       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       279,   274,   275,   279,    22,    24,    19,    89,    33,    22,
2406       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,        37,    36,    38,    27,   264,    23,    33,    23,    38,    36,
2407       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,        37,    32,    27,   281,   281,    27,    27,    32,    27,    37,
2408       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,        27,    40,    19,    39,    32,   283,   283,   283,   283,   283,
2409       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,       283,   283,   283,   283,   283,   283,   283,   283,   283,    30,
2410       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       283,   283,   283,   283,    27,    33,   259,   283,   283,    27,
2411       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,        27,    37,    27,   283,   283,   283,   283,    27,    32,    37,
2412       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,        27,    38,   283,   283,   283,    27,    33,    27,    39,    27,
2413       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,        39,    33,   283,   283,   283,   283,   283,   283,   283,   283,
2414       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       283,   283,   283,   283,   283,   283,   283,   283,    19,   283,
2415       219,   220,   223,   257,   260,   261,   262,   265,   265,   265,        39,    23,    27,   283,   283,   283,   277,   277,     6,    27,
2416       265,   265,   265,   265,   265,   265,   265,   265,   265,    21,        24,    32,    37,    20,    27,    21,    23,    19,    21,    43,
2417        22,    36,    37,    36,    18,    26,    30,    36,    37,    19,        27,    21,    32,    89,   222,   223,    33,    30,    32,    32,
2418        36,   266,     8,     9,    10,    11,    12,    13,    14,    15,        23,    89,    23,    30,    31,    24,   264,    20,    34,   248,
2419        16,    17,   259,   260,   259,   259,   259,   259,   259,   259,       363,   364,   264,   264,   267,   279,   275,   275,   279,   279,
2420       259,   259,     3,     8,     9,    10,    11,    12,    13,    14,       279,   279,   275,   259,    30,   259,   275,   279,   264,    89,
2421        15,    16,    17,   262,    20,   279,    18,    20,    22,    30,        32,   283,   260,   279,    89,    33,    23,    89,   247,   275,
2422       233,   279,   280,   281,   282,   288,   290,   291,   292,   293,       247,   262,   279,   266,   279,    33,    32,    23,    89,    36,
2423       294,   295,   297,   299,   300,   301,   302,   303,   304,    18,       265,   279,   268,   264,    33,    89,    22,    22,    38,    30,
2424        30,   235,   291,   301,   236,   291,   301,    18,    20,    30,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2425       241,   282,   290,   300,    26,   237,   287,   288,   279,    18,       264,   264,   275,   279,   275,   279,    31,   259,    22,    40,
2426        22,    30,   234,   279,   289,   294,   298,   299,   313,    19,        22,   264,   264,   264,     6,     6,   277,    33,    23,    32,
2427        26,    30,    36,    39,   231,   282,   283,   284,   285,   286,        23,    19,    89,    23,    19,    30,    23,    20,    36,    23,
2428       312,   232,   282,   283,   284,   285,   286,   312,   279,    18,        27,    89,    19,    23,    23,    32,    27,    36,    89,    23,
2429        37,    37,    21,    37,    32,    22,    36,    38,   260,    25,        33,    43,    23,   283,   283,   283,   283,   283,   283,   283,
2430        38,    39,    25,    31,    26,   265,   265,   265,   265,   265,       283,   283,    27,    89,   260,   283,    27,    89,    32,    27,
2431       265,   265,   265,   265,   265,   265,   265,    38,    26,   265,       283,     4,   283,    89,    23,    32,    27,    39,   283,   283,
2432       265,   265,   265,    38,    25,    26,    31,   265,   265,   265,        89,    27,    27,    27,    23,    33,   283,   283,   283,   283,
2433        38,    20,    26,   265,   265,   265,   265,   265,   265,    38,       283,   283,   283,   283,   283,   283,   283,   283,     4,   283,
2434        31,    26,    37,    32,   265,    37,    35,    39,    37,    20,         4,   283,    23,   283,    27,    23,    27,   283,   283,   283,
2435        19,    18,    21,    18,    18,    24,    21,   283,   284,   285,       277,   277,    89,    36,    23,    32,    30,    27,    30,    31,
2436       286,   283,   283,   283,   283,   283,   283,   283,   283,   283,        89,    89,    23,    27,    30,    32,    33,    20,    30,    22,
2437       283,   283,    21,    21,   257,   257,     9,    10,    11,    12,        32,    40,    38,    36,   264,   275,   279,   279,   279,   275,
2438        13,    14,    15,    16,    17,   261,   261,    21,    18,    21,       260,   279,   266,    32,    31,   283,   261,   279,    32,    33,
2439        36,    31,   221,   222,   242,   254,   264,   274,   243,   253,        22,    32,   275,     7,     8,   272,   273,   275,   276,   279,
2440       257,   251,   261,    21,    25,    21,    18,    30,    39,   238,       282,   271,   282,    33,    30,    22,    32,    31,   264,   265,
2441       291,   295,   296,   301,   304,   305,   306,   307,   308,   261,        33,    32,    33,    89,   253,   279,   254,   279,   255,   275,
2442       261,   261,   261,   256,   257,   261,    23,    23,    36,    35,       253,    22,    32,   259,   296,   297,   256,   279,   257,   279,
2443        26,   251,    22,    32,    22,    35,    36,    31,    26,    26,       295,   258,   275,   253,   263,   274,   274,   272,   275,   272,
2444        31,    26,    26,   265,   265,   265,   265,   265,   265,   265,       275,   269,    33,    30,    89,   266,   266,   266,    33,    89,
2445       265,   265,   265,   265,   265,   265,   265,   265,    26,    26,        30,    22,    89,    32,    30,    89,    40,    21,    20,    37,
2446       265,   265,    26,    31,    26,    37,    32,   257,   263,   265,        39,    30,    37,    37,    34,    37,    33,    23,    21,   283,
2447       263,   265,   265,   265,    26,    32,    26,    38,    26,    32,       283,   283,   283,   283,    37,    33,   261,    37,    39,    34,
2448       265,   265,   265,   265,   265,   265,   265,   265,   265,   265,         4,     5,    39,    34,    37,    23,   283,    39,    34,    89,
2449       265,   265,   265,    23,    32,    20,    22,    20,    42,    26,        27,   283,    23,    33,   283,     4,     4,    89,    21,   283,
2450        20,    31,    32,    29,    31,    31,    88,   251,    19,    33,       283,   283,    39,    24,    89,    89,    27,    34,    37,    19,
2451       240,   309,   310,   251,   251,   253,   261,   257,   257,   261,        21,    33,    33,    23,    38,    38,    23,    39,    38,    27,
2452       261,   261,   261,   257,   257,   261,    32,    88,   239,   257,        37,    23,   247,   275,   275,   247,   261,    38,    22,   283,
2453       239,    32,    31,    88,    35,    31,   221,   257,   265,   222,        38,    38,    39,   272,   273,    38,    39,    38,    32,   264,
2454       252,   261,   254,   251,    32,    88,    21,    21,    29,   251,        38,    39,    33,    32,   254,    24,    32,   256,   272,   272,
2455       251,   251,   251,   251,   251,   251,   251,   251,   257,   261,        33,    33,   254,   262,   263,    38,    27,    21,    27,    21,
2456       257,   261,    22,    22,    18,    22,    19,    35,    22,    88,        27,    32,    39,    38,    32,    33,    27,    39,    36,    34,
2457        18,    22,    22,    26,    42,    22,   265,   265,   265,   265,        89,    38,    36,    21,    32,    36,    19,   267,    36,    34,
2458       265,   265,   265,    88,    26,   265,     4,    88,    22,    26,        38,    34,    38,    36,    38,    34,    38,    39,    34,    19,
2459        38,    88,   265,   265,    88,    26,    26,    26,    38,   265,        23,   283,    39,    32,   283,    34,    30,    33,    32,    33,
2460       265,   265,   265,   265,   265,   265,   265,   265,     4,   265,        32,    24,    38,    36,    23,    39,    21,    32,    39,    39,
2461         4,   265,    35,    29,    30,    88,    22,    26,    29,    32,        19,    23,    31,    89,    39,    23,    38,    39,    30,   283,
2462        19,    29,    31,    37,    35,   251,   257,   261,   261,   261,        39,    39,    89,    39,    89,    39,    39,    89,    38,    39,
2463       257,   261,    32,    31,   257,     6,     7,   255,   257,   258,        39,   257,    38,    38,   254,    39,    30,    39,    24,    39,
2464       259,   260,   261,   264,    32,    29,    31,    30,    30,   251,        24,    33,    89,    39,    33,    32,    23,    38,    31,    38,
2465       252,    32,    31,    32,    88,    30,   244,   261,   245,   261,        39,    32,    27,    22,    34,    31,    89,    19,    31,   268,
2466       246,   257,   244,   247,   261,   248,   261,   249,   257,   244,        31,    38,    22,    38,    22,    31,    38,    22,    34,    34,
2467         6,     7,   250,   258,   261,   255,   257,   255,   257,    88,        38,    30,    34,    36,    38,    32,    33,    32,    33,    22,
2468        29,    88,    20,    19,    38,    29,    36,    33,    22,    20,        31,    39,    38,    89,    23,    89,    22,    25,    22,    23,
2469       265,   265,   265,   265,    38,    33,     4,   259,   259,     5,        36,    33,    23,    21,    25,    23,   283,    23,    89,    23,
2470        38,    33,    22,    32,   265,    38,    33,    88,    26,    22,        89,    23,    23,    89,    23,    33,    39,    89,    38,    39,
2471       265,   265,     4,     4,    23,    18,    20,    32,    22,    37,        33,    89,    38,    38,    23,    23,    37,    21,    32,    21,
2472        22,    38,    36,    22,   239,   257,   257,   239,    37,    38,        22,    27,    27,    27,    40,    27,    36,    32,    33,    23,
2473       255,     5,     5,   259,    37,    38,    31,    21,   251,    37,        32,   265,    32,    22,    40,    22,    40,    32,    21,    22,
2474        38,    32,    31,   245,   247,   255,   255,    26,    31,    32,        40,    36,    38,    21,    34,    38,    38,    30,    22,    40,
2475        38,    33,    88,    37,    31,    33,    37,   259,   259,    33,        32,    33,    38,    26,    23,    36,    33,    32,    89,    27,
2476        37,    37,    18,    33,    37,    38,    33,   265,    29,    22,        40,    38,    38,    39,    38,   283,    38,    23,    27,    23,
2477        38,    31,    38,    18,    22,    30,    88,    37,    38,    88,        27,    38,    26,    23,    27,    38,    89,    26,    33,    43,
2478        38,    88,    29,    38,    88,    37,    38,   248,    29,    32,        89,    30,    23,    27,    38,    39,    89,    19,    40,    27,
2479        31,    37,    37,    38,    31,    26,    21,    33,    18,    37,        89,    23,    27,    21,    23,    89,    37,    89,    32,   263,
2480        21,    37,    21,    37,    21,    33,    33,    37,    38,    37,        40,    21,    40,    21,    89,    19,    40,    21,    21,    38,
2481        88,    21,    24,    21,    22,    35,    32,    24,    88,    22,        19,    36,    34,    23,    40,    21,    89,    32,    31,    32,
2482        88,    22,    88,    22,    32,    38,    88,    36,    20,    21,        27,    40,    33,    37,    32,    23,    36,    34,    31,    38,
2483        26,    26,    26,    39,    26,    35,    22,    21,    39,    21,       283,    27,    23,    27,    23,    31,    32,    27,    23,    26,
2484        39,    20,    21,    39,    35,    37,    20,    33,    37,    25,        43,    32,    38,    23,    36,    27,    23,    21,    27,    31,
2485        22,    35,    32,    31,    88,    26,    39,    37,    22,    26,        38,    19,    32,    21,    23,    39,    34,    37,    89,    19,
2486        22,    26,    25,    22,    26,    37,    88,    25,    32,    42,        19,    89,    33,    34,   252,   270,   282,   329,   330,   331,
2487        18,    39,    26,    88,    22,    26,    20,    22,    88,    39,        21,    21,    19,    32,    21,    89,    19,    34,    32,    21,
2488        20,    39,    20,    18,    39,    20,    20,    37,    18,    35,        89,    33,    32,    19,    34,    23,    23,    36,    38,    39,
2489        33,    31,    26,    39,    32,    36,    31,    22,    35,    33,        34,    36,    34,    31,    32,    23,   283,    23,    23,    34,
2490        26,    22,    26,    22,    31,    26,    22,    25,    42,    31,        23,    23,    34,    32,    23,    23,    23,    21,    27,    39,
2491        37,    22,    31,    20,    22,    38,    33,    36,    88,    18,        24,    34,    30,    37,    89,    34,    38,    19,    19,    37,
2492        20,    20,    31,    20,    88,    18,    33,    31,    22,    22,        19,    89,    36,   270,    30,    89,    19,    32,    30,    89,
2493        35,    37,    38,    33,    35,    22,    22,    22,    22,    33,        33,    32,    32,    33,    89,    89,    34,    39,    89,    36,
2494        31,    22,    22,    29,    36,    88,    33,    37,    18,    18,        31,    42,    22,    37,    34,    36,    23,    21,    27,    39,
2495        29,    88,    18,    31,    29,    88,    33,    38,    88,    35,        24,    38,    21,    27,    34,    19,    38,    22,    19,    23,
2496        30,    33,    35,    22,    33,    18,    37,    21,    18,    22,        23,    27,    19,    19,    30,    33,    32,    32,    33,    33,
2497        18,    18,    29,    18,    35,    88,    35,    30,    37,    35,        32,    19,    36,    89,    36,    31,    38,    31,    37,    36,
2498        30,    35,    18,    21,    26,    22,    22,    18,    22,    18,        31,    39,    24,    38,    39,    24,    36,    19,    22,    27,
2499        30,    35,    39,    37,    35,    30,    37,    30,    22,    26,        23,    23,    19,    38,    19,    23,    32,    33,    32,    33,
2500        22,    22,    22,    22,    22,    37,    39,    35,    35,    37,        19,    31,    36,    40,    38,    36,    32,    23,    31,    38,
2501        35,    37,    22,    22,    36,    22,    22,    35,    35,    35,        38,    38,    31,    23,    27,    23,    23,    22,    32,    23,
2502        35,    36        23,    23,    38,    40,    36,    36,    89,    38,    38,    36,
2503          38,    23,    23,    37,    26,    23,    23,    36,    36,    33,
2504          36,    36,    37,    30,    22
2505  };  };
2506    
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  
 # define YYSIZE_T __SIZE_TYPE__  
 #endif  
 #if ! defined (YYSIZE_T) && defined (size_t)  
 # define YYSIZE_T size_t  
 #endif  
 #if ! defined (YYSIZE_T)  
 # if defined (__STDC__) || defined (__cplusplus)  
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */  
 #  define YYSIZE_T size_t  
 # endif  
 #endif  
 #if ! defined (YYSIZE_T)  
 # define YYSIZE_T unsigned int  
 #endif  
   
2507  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2508  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
2509  #define YYEMPTY         (-2)  #define YYEMPTY         (-2)
# Line 1938  static const unsigned short yystos[] = Line 2511  static const unsigned short yystos[] =
2511    
2512  #define YYACCEPT        goto yyacceptlab  #define YYACCEPT        goto yyacceptlab
2513  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
2514  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrorlab
2515    
2516    
2517  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
# Line 1956  do                                                             \ Line 2529  do                                                             \
2529        yychar = (Token);                                         \        yychar = (Token);                                         \
2530        yylval = (Value);                                         \        yylval = (Value);                                         \
2531        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2532        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2533        goto yybackup;                                            \        goto yybackup;                                            \
2534      }                                                           \      }                                                           \
2535    else                                                          \    else                                                          \
2536      {                                                           \      {                                                           \
2537        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2538        YYERROR;                                                  \        YYERROR;                                                  \
2539      }                                                           \      }                                                           \
2540  while (0)  while (YYID (0))
2541    
2542    
2543  #define YYTERROR        1  #define YYTERROR        1
2544  #define YYERRCODE       256  #define YYERRCODE       256
2545    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2546    
2547    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2548       If N is 0, then set CURRENT to the empty location which ends
2549       the previous symbol: RHS[0] (always defined).  */
2550    
2551    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2552  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2553  # define YYLLOC_DEFAULT(Current, Rhs, N)         \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2554    Current.first_line   = Rhs[1].first_line;      \      do                                                                  \
2555    Current.first_column = Rhs[1].first_column;    \        if (YYID (N))                                                    \
2556    Current.last_line    = Rhs[N].last_line;       \          {                                                               \
2557    Current.last_column  = Rhs[N].last_column;            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2558              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2559              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2560              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2561            }                                                               \
2562          else                                                              \
2563            {                                                               \
2564              (Current).first_line   = (Current).last_line   =              \
2565                YYRHSLOC (Rhs, 0).last_line;                                \
2566              (Current).first_column = (Current).last_column =              \
2567                YYRHSLOC (Rhs, 0).last_column;                              \
2568            }                                                               \
2569        while (YYID (0))
2570  #endif  #endif
2571    
2572    
2573    /* YY_LOCATION_PRINT -- Print the location on the stream.
2574       This macro was not mandated originally: define only if we know
2575       we won't break user code: when these are the locations we know.  */
2576    
2577    #ifndef YY_LOCATION_PRINT
2578    # if YYLTYPE_IS_TRIVIAL
2579    #  define YY_LOCATION_PRINT(File, Loc)                  \
2580         fprintf (File, "%d.%d-%d.%d",                      \
2581                  (Loc).first_line, (Loc).first_column,     \
2582                  (Loc).last_line,  (Loc).last_column)
2583    # else
2584    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2585    # endif
2586    #endif
2587    
2588    
2589  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2590    
2591  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2000  while (0) Line 2606  while (0)
2606  do {                                            \  do {                                            \
2607    if (yydebug)                                  \    if (yydebug)                                  \
2608      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2609  } while (0)  } while (YYID (0))
2610    
2611  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2612  do {                                            \  do {                                                                      \
2613    if (yydebug)                                  \    if (yydebug)                                                            \
2614      yysymprint Args;                            \      {                                                                     \
2615  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
2616          yy_symbol_print (stderr,                                            \
2617                      Type, Value); \
2618          YYFPRINTF (stderr, "\n");                                           \
2619        }                                                                     \
2620    } while (YYID (0))
2621    
2622  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2623  do {                                                            \  /*--------------------------------.
2624    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
2625      {                                                           \  `--------------------------------*/
2626        YYFPRINTF (stderr, "%s ", Title);                         \  
2627        yysymprint (stderr,                                       \  /*ARGSUSED*/
2628                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
2629        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
2630      }                                                           \  static void
2631  } while (0)  yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2632    #else
2633    static void
2634    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2635        FILE *yyoutput;
2636        int yytype;
2637        YYSTYPE const * const yyvaluep;
2638    #endif
2639    {
2640      if (!yyvaluep)
2641        return;
2642    # ifdef YYPRINT
2643      if (yytype < YYNTOKENS)
2644        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2645    # else
2646      YYUSE (yyoutput);
2647    # endif
2648      switch (yytype)
2649        {
2650          default:
2651            break;
2652        }
2653    }
2654    
2655    
2656    /*--------------------------------.
2657    | Print this symbol on YYOUTPUT.  |
2658    `--------------------------------*/
2659    
2660    #if (defined __STDC__ || defined __C99__FUNC__ \
2661         || defined __cplusplus || defined _MSC_VER)
2662    static void
2663    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2664    #else
2665    static void
2666    yy_symbol_print (yyoutput, yytype, yyvaluep)
2667        FILE *yyoutput;
2668        int yytype;
2669        YYSTYPE const * const yyvaluep;
2670    #endif
2671    {
2672      if (yytype < YYNTOKENS)
2673        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2674      else
2675        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2676    
2677      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2678      YYFPRINTF (yyoutput, ")");
2679    }
2680    
2681  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2682  | 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 |
2683  | TOP (cinluded).                                                   |  | TOP (included).                                                   |
2684  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2685    
2686  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2687         || defined __cplusplus || defined _MSC_VER)
2688  static void  static void
2689  yy_stack_print (short *bottom, short *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2690  #else  #else
2691  static void  static void
2692  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2693      short *bottom;      yytype_int16 *bottom;
2694      short *top;      yytype_int16 *top;
2695  #endif  #endif
2696  {  {
2697    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2698    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
2699      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
2700    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2701  }  }
# Line 2044  yy_stack_print (bottom, top) Line 2704  yy_stack_print (bottom, top)
2704  do {                                                            \  do {                                                            \
2705    if (yydebug)                                                  \    if (yydebug)                                                  \
2706      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
2707  } while (0)  } while (YYID (0))
2708    
2709    
2710  /*------------------------------------------------.  /*------------------------------------------------.
2711  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
2712  `------------------------------------------------*/  `------------------------------------------------*/
2713    
2714  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2715         || defined __cplusplus || defined _MSC_VER)
2716  static void  static void
2717  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2718  #else  #else
2719  static void  static void
2720  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
2721        YYSTYPE *yyvsp;
2722      int yyrule;      int yyrule;
2723  #endif  #endif
2724  {  {
2725      int yynrhs = yyr2[yyrule];
2726    int yyi;    int yyi;
2727    unsigned int yylineno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2728    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2729               yyrule - 1, yylineno);               yyrule - 1, yylno);
2730    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
2731    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2732      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
2733    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
2734          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2735                           &(yyvsp[(yyi + 1) - (yynrhs)])
2736                                           );
2737          fprintf (stderr, "\n");
2738        }
2739  }  }
2740    
2741  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
2742  do {                                    \  do {                                    \
2743    if (yydebug)                          \    if (yydebug)                          \
2744      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
2745  } while (0)  } while (YYID (0))
2746    
2747  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
2748     multiple parsers can coexist.  */     multiple parsers can coexist.  */
2749  int yydebug;  int yydebug;
2750  #else /* !YYDEBUG */  #else /* !YYDEBUG */
2751  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
2752  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
2753  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
2754  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
2755  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2097  int yydebug; Line 2764  int yydebug;
2764     if the built-in stack extension method is used).     if the built-in stack extension method is used).
2765    
2766     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
2767     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2768     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2769    
 #if YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
2770  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
2771  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
2772  #endif  #endif
# Line 2113  int yydebug; Line 2776  int yydebug;
2776  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
2777    
2778  # ifndef yystrlen  # ifndef yystrlen
2779  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
2780  #   define yystrlen strlen  #   define yystrlen strlen
2781  #  else  #  else
2782  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
2783    #if (defined __STDC__ || defined __C99__FUNC__ \
2784         || defined __cplusplus || defined _MSC_VER)
2785  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
2786  yystrlen (const char *yystr)  yystrlen (const char *yystr)
2787  #   else  #else
2788    static YYSIZE_T
2789  yystrlen (yystr)  yystrlen (yystr)
2790       const char *yystr;      const char *yystr;
2791  #   endif  #endif
2792  {  {
2793    register const char *yys = yystr;    YYSIZE_T yylen;
2794      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
2795      continue;      continue;
2796      return yylen;
   return yys - yystr - 1;  
2797  }  }
2798  #  endif  #  endif
2799  # endif  # endif
2800    
2801  # ifndef yystpcpy  # ifndef yystpcpy
2802  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2803  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
2804  #  else  #  else
2805  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2806     YYDEST.  */     YYDEST.  */
2807    #if (defined __STDC__ || defined __C99__FUNC__ \
2808         || defined __cplusplus || defined _MSC_VER)
2809  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
2810  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
2811  #   else  #else
2812    static char *
2813  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
2814       char *yydest;      char *yydest;
2815       const char *yysrc;      const char *yysrc;
2816  #   endif  #endif
2817  {  {
2818    register char *yyd = yydest;    char *yyd = yydest;
2819    register const char *yys = yysrc;    const char *yys = yysrc;
2820    
2821    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
2822      continue;      continue;
# Line 2161  yystpcpy (yydest, yysrc) Line 2826  yystpcpy (yydest, yysrc)
2826  #  endif  #  endif
2827  # endif  # endif
2828    
2829  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
2830    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2831       quotes and backslashes, so that it's suitable for yyerror.  The
2832       heuristic is that double-quoting is unnecessary unless the string
2833       contains an apostrophe, a comma, or backslash (other than
2834       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2835       null, do not copy; instead, return the length of what the result
2836       would have been.  */
2837    static YYSIZE_T
2838    yytnamerr (char *yyres, const char *yystr)
2839    {
2840      if (*yystr == '"')
2841        {
2842          YYSIZE_T yyn = 0;
2843          char const *yyp = yystr;
2844    
2845          for (;;)
2846            switch (*++yyp)
2847              {
2848              case '\'':
2849              case ',':
2850                goto do_not_strip_quotes;
2851    
2852              case '\\':
2853                if (*++yyp != '\\')
2854                  goto do_not_strip_quotes;
2855                /* Fall through.  */
2856              default:
2857                if (yyres)
2858                  yyres[yyn] = *yyp;
2859                yyn++;
2860                break;
2861    
2862              case '"':
2863                if (yyres)
2864                  yyres[yyn] = '\0';
2865                return yyn;
2866              }
2867        do_not_strip_quotes: ;
2868        }
2869    
2870  #if YYDEBUG    if (! yyres)
2871  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
2872    
2873  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
2874  static void  }
2875  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
2876  #else  
2877  static void  /* Copy into YYRESULT an error message about the unexpected token
2878  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2879      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
2880      int yytype;     copy anything; just return the number of bytes that would be
2881      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
2882  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2883       size calculation.  */
2884    static YYSIZE_T
2885    yysyntax_error (char *yyresult, int yystate, int yychar)
2886  {  {
2887    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
2888    
2889    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2890        return 0;
2891      else
2892      {      {
2893        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
2894  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2895        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
2896          YYSIZE_T yysize1;
2897          int yysize_overflow = 0;
2898          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2899          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2900          int yyx;
2901    
2902    # if 0
2903          /* This is so xgettext sees the translatable formats that are
2904             constructed on the fly.  */
2905          YY_("syntax error, unexpected %s");
2906          YY_("syntax error, unexpected %s, expecting %s");
2907          YY_("syntax error, unexpected %s, expecting %s or %s");
2908          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2909          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2910  # endif  # endif
2911      }        char *yyfmt;
2912    else        char const *yyf;
2913      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
2914          static char const yyexpecting[] = ", expecting %s";
2915          static char const yyor[] = " or %s";
2916          char yyformat[sizeof yyunexpected
2917                        + sizeof yyexpecting - 1
2918                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2919                           * (sizeof yyor - 1))];
2920          char const *yyprefix = yyexpecting;
2921    
2922          /* Start YYX at -YYN if negative to avoid negative indexes in
2923             YYCHECK.  */
2924          int yyxbegin = yyn < 0 ? -yyn : 0;
2925    
2926          /* Stay within bounds of both yycheck and yytname.  */
2927          int yychecklim = YYLAST - yyn + 1;
2928          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2929          int yycount = 1;
2930    
2931          yyarg[0] = yytname[yytype];
2932          yyfmt = yystpcpy (yyformat, yyunexpected);
2933    
2934          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2935            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2936              {
2937                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2938                  {
2939                    yycount = 1;
2940                    yysize = yysize0;
2941                    yyformat[sizeof yyunexpected - 1] = '\0';
2942                    break;
2943                  }
2944                yyarg[yycount++] = yytname[yyx];
2945                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2946                yysize_overflow |= (yysize1 < yysize);
2947                yysize = yysize1;
2948                yyfmt = yystpcpy (yyfmt, yyprefix);
2949                yyprefix = yyor;
2950              }
2951    
2952          yyf = YY_(yyformat);
2953          yysize1 = yysize + yystrlen (yyf);
2954          yysize_overflow |= (yysize1 < yysize);
2955          yysize = yysize1;
2956    
2957    switch (yytype)        if (yysize_overflow)
2958      {          return YYSIZE_MAXIMUM;
2959        default:  
2960          break;        if (yyresult)
2961            {
2962              /* Avoid sprintf, as that infringes on the user's name space.
2963                 Don't have undefined behavior even if the translation
2964                 produced a string with the wrong number of "%s"s.  */
2965              char *yyp = yyresult;
2966              int yyi = 0;
2967              while ((*yyp = *yyf) != '\0')
2968                {
2969                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2970                    {
2971                      yyp += yytnamerr (yyp, yyarg[yyi++]);
2972                      yyf += 2;
2973                    }
2974                  else
2975                    {
2976                      yyp++;
2977                      yyf++;
2978                    }
2979                }
2980            }
2981          return yysize;
2982      }      }
   YYFPRINTF (yyoutput, ")");  
2983  }  }
2984    #endif /* YYERROR_VERBOSE */
2985    
2986    
 #endif /* ! YYDEBUG */  
2987  /*-----------------------------------------------.  /*-----------------------------------------------.
2988  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
2989  `-----------------------------------------------*/  `-----------------------------------------------*/
2990    
2991  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
2992    #if (defined __STDC__ || defined __C99__FUNC__ \
2993         || defined __cplusplus || defined _MSC_VER)
2994  static void  static void
2995  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2996  #else  #else
2997  static void  static void
2998  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
2999        const char *yymsg;
3000      int yytype;      int yytype;
3001      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3002  #endif  #endif
3003  {  {
3004    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
3005    (void) yyvaluep;  
3006      if (!yymsg)
3007        yymsg = "Deleting";
3008      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3009    
3010    switch (yytype)    switch (yytype)
3011      {      {
3012    
3013        default:        default:
3014          break;          break;
3015      }      }
3016  }  }
3017    
# Line 2232  yydestruct (yytype, yyvaluep) Line 3019  yydestruct (yytype, yyvaluep)
3019  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
3020    
3021  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3022  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3023  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
3024  # else  #else
3025  int yyparse ();  int yyparse ();
3026  # endif  #endif
3027  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3028  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3029  int yyparse (void);  int yyparse (void);
3030  #else  #else
3031  int yyparse ();  int yyparse ();
# Line 2255  int yyparse (); Line 3042  int yyparse ();
3042  `----------*/  `----------*/
3043    
3044  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3045  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3046  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3047  # else  int
3048  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3049    void *YYPARSE_PARAM;  #else
3050  # endif  int
3051    yyparse (YYPARSE_PARAM)
3052        void *YYPARSE_PARAM;
3053    #endif
3054  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3055  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3056         || defined __cplusplus || defined _MSC_VER)
3057  int  int
3058  yyparse (void)  yyparse (void)
3059  #else  #else
# Line 2272  yyparse () Line 3063  yyparse ()
3063  #endif  #endif
3064  #endif  #endif
3065  {  {
3066    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
3067  int yychar;  int yychar;
3068    
3069  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
3070  YYSTYPE yylval;  YYSTYPE yylval;
3071    
3072  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3073  int yynerrs;  int yynerrs;
3074    
3075    register int yystate;    int yystate;
3076    register int yyn;    int yyn;
3077    int yyresult;    int yyresult;
3078    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3079    int yyerrstatus;    int yyerrstatus;
3080    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3081    int yytoken = 0;    int yytoken = 0;
3082    #if YYERROR_VERBOSE
3083      /* Buffer for error messages, and its allocated size.  */
3084      char yymsgbuf[128];
3085      char *yymsg = yymsgbuf;
3086      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3087    #endif
3088    
3089    /* Three stacks and their tools:    /* Three stacks and their tools:
3090       `yyss': related to states,       `yyss': related to states,
# Line 2298  int yynerrs; Line 3095  int yynerrs;
3095       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3096    
3097    /* The state stack.  */    /* The state stack.  */
3098    short yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3099    short *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3100    register short *yyssp;    yytype_int16 *yyssp;
3101    
3102    /* The semantic value stack.  */    /* The semantic value stack.  */
3103    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3104    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3105    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
3106    
3107    
3108    
3109  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3110    
3111    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3112    
# Line 2318  int yynerrs; Line 3115  int yynerrs;
3115    YYSTYPE yyval;    YYSTYPE yyval;
3116    
3117    
3118    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3119       rule.  */       Keep to zero when no symbol should be popped.  */
3120    int yylen;    int yylen = 0;
3121    
3122    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3123    
# Line 2344  int yynerrs; Line 3141  int yynerrs;
3141  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3142   yynewstate:   yynewstate:
3143    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3144       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3145    yyssp++;    yyssp++;
3146    
3147   yysetstate:   yysetstate:
# Line 2358  int yynerrs; Line 3154  int yynerrs;
3154    
3155  #ifdef yyoverflow  #ifdef yyoverflow
3156        {        {
3157          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3158             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3159             memory.  */             memory.  */
3160          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3161          short *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3162    
3163    
3164          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3165             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
3166             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3167             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3168          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3169                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3170                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3171    
# Line 2380  int yynerrs; Line 3176  int yynerrs;
3176        }        }
3177  #else /* no yyoverflow */  #else /* no yyoverflow */
3178  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3179        goto yyoverflowlab;        goto yyexhaustedlab;
3180  # else  # else
3181        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3182        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3183          goto yyoverflowlab;          goto yyexhaustedlab;
3184        yystacksize *= 2;        yystacksize *= 2;
3185        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3186          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3187    
3188        {        {
3189          short *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3190          union yyalloc *yyptr =          union yyalloc *yyptr =
3191            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3192          if (! yyptr)          if (! yyptr)
3193            goto yyoverflowlab;            goto yyexhaustedlab;
3194          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3195          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3196    
# Line 2425  int yynerrs; Line 3221  int yynerrs;
3221  `-----------*/  `-----------*/
3222  yybackup:  yybackup:
3223    
3224  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3225  /* 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.  */  
3226    
3227      /* First try to decide what to do without reference to look-ahead token.  */
3228    yyn = yypact[yystate];    yyn = yypact[yystate];
3229    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3230      goto yydefault;      goto yydefault;
3231    
3232    /* 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.  */
3233    
3234    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3235    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3236      {      {
3237        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2452  yybackup: Line 3246  yybackup:
3246    else    else
3247      {      {
3248        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3249        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3250      }      }
3251    
3252    /* 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 2472  yybackup: Line 3266  yybackup:
3266    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3267      YYACCEPT;      YYACCEPT;
3268    
   /* 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;  
   
   
3269    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3270       status.  */       status.  */
3271    if (yyerrstatus)    if (yyerrstatus)
3272      yyerrstatus--;      yyerrstatus--;
3273    
3274      /* Shift the look-ahead token.  */
3275      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3276    
3277      /* Discard the shifted token unless it is eof.  */
3278      if (yychar != YYEOF)
3279        yychar = YYEMPTY;
3280    
3281    yystate = yyn;    yystate = yyn;
3282      *++yyvsp = yylval;
3283    
3284    goto yynewstate;    goto yynewstate;
3285    
3286    
# Line 2523  yyreduce: Line 3316  yyreduce:
3316    switch (yyn)    switch (yyn)
3317      {      {
3318          case 4:          case 4:
3319  #line 85 "lscp.y"  #line 101 "lscp.y"
3320      { return LSCP_DONE; }      { return LSCP_DONE; }
3321      break;      break;
3322    
3323    case 5:    case 5:
3324  #line 86 "lscp.y"  #line 102 "lscp.y"
3325      { return LSCP_DONE; }      { return LSCP_DONE; }
3326      break;      break;
3327    
3328    case 6:    case 6:
3329  #line 87 "lscp.y"  #line 103 "lscp.y"
3330      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3331      break;      break;
3332    
3333    case 7:    case 7:
3334  #line 88 "lscp.y"  #line 104 "lscp.y"
3335      { 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; }
3336      break;      break;
3337    
3338    case 13:    case 13:
3339  #line 98 "lscp.y"  #line 114 "lscp.y"
3340      { yyval.String = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3341      break;      break;
3342    
3343    case 14:    case 14:
3344  #line 99 "lscp.y"  #line 115 "lscp.y"
3345      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3346      break;      break;
3347    
3348    case 15:    case 15:
3349  #line 100 "lscp.y"  #line 116 "lscp.y"
3350      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3351      break;      break;
3352    
3353    case 16:    case 16:
3354  #line 101 "lscp.y"  #line 117 "lscp.y"
3355      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3356      break;      break;
3357    
3358    case 17:    case 17:
3359  #line 102 "lscp.y"  #line 118 "lscp.y"
3360      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3361      break;      break;
3362    
3363    case 18:    case 18:
3364  #line 103 "lscp.y"  #line 119 "lscp.y"
3365      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3366      break;      break;
3367    
3368    case 19:    case 19:
3369  #line 104 "lscp.y"  #line 120 "lscp.y"
3370      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3371      break;      break;
3372    
3373    case 20:    case 20:
3374  #line 105 "lscp.y"  #line 121 "lscp.y"
3375      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3376      break;      break;
3377    
3378    case 21:    case 21:
3379  #line 106 "lscp.y"  #line 122 "lscp.y"
3380      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3381      break;      break;
3382    
3383    case 22:    case 22:
3384  #line 107 "lscp.y"  #line 123 "lscp.y"
3385      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3386      break;      break;
3387    
3388    case 23:    case 23:
3389  #line 108 "lscp.y"  #line 124 "lscp.y"
3390      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3391      break;      break;
3392    
3393    case 24:    case 24:
3394  #line 109 "lscp.y"  #line 125 "lscp.y"
3395      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3396      break;      break;
3397    
3398    case 25:    case 25:
3399  #line 110 "lscp.y"  #line 126 "lscp.y"
3400      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[(3) - (3)].String));                     }
3401      break;      break;
3402    
3403    case 26:    case 26:
3404  #line 113 "lscp.y"  #line 127 "lscp.y"
3405      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels);     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3406      break;      break;
3407    
3408    case 27:    case 27:
3409  #line 114 "lscp.y"  #line 128 "lscp.y"
3410      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);  }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3411      break;      break;
3412    
3413    case 28:    case 28:
3414  #line 115 "lscp.y"  #line 129 "lscp.y"
3415      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3416      break;      break;
3417    
3418    case 29:    case 29:
3419  #line 116 "lscp.y"  #line 130 "lscp.y"
3420      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3421      break;      break;
3422    
3423    case 30:    case 30:
3424  #line 117 "lscp.y"  #line 133 "lscp.y"
3425      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info);         }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3426      break;      break;
3427    
3428    case 31:    case 31:
3429  #line 118 "lscp.y"  #line 134 "lscp.y"
3430      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3431      break;      break;
3432    
3433    case 32:    case 32:
3434  #line 121 "lscp.y"  #line 135 "lscp.y"
3435      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels);     }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3436      break;      break;
3437    
3438    case 33:    case 33:
3439  #line 122 "lscp.y"  #line 138 "lscp.y"
3440      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3441      break;      break;
3442    
3443    case 34:    case 34:
3444  #line 123 "lscp.y"  #line 139 "lscp.y"
3445      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3446      break;      break;
3447    
3448    case 35:    case 35:
3449  #line 124 "lscp.y"  #line 140 "lscp.y"
3450      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3451      break;      break;
3452    
3453    case 36:    case 36:
3454  #line 125 "lscp.y"  #line 141 "lscp.y"
3455      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3456      break;      break;
3457    
3458    case 37:    case 37:
3459  #line 126 "lscp.y"  #line 142 "lscp.y"
3460      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3461      break;      break;
3462    
3463    case 38:    case 38:
3464  #line 129 "lscp.y"  #line 143 "lscp.y"
3465      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3466      break;      break;
3467    
3468    case 39:    case 39:
3469  #line 130 "lscp.y"  #line 144 "lscp.y"
3470      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3471      break;      break;
3472    
3473    case 40:    case 40:
3474  #line 131 "lscp.y"  #line 145 "lscp.y"
3475      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3476      break;      break;
3477    
3478    case 41:    case 41:
3479  #line 132 "lscp.y"  #line 146 "lscp.y"
3480      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3481      break;      break;
3482    
3483    case 42:    case 42:
3484  #line 133 "lscp.y"  #line 147 "lscp.y"
3485      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count);        }
3486      break;      break;
3487    
3488    case 43:    case 43:
3489  #line 134 "lscp.y"  #line 148 "lscp.y"
3490      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info);         }
3491      break;      break;
3492    
3493    case 44:    case 44:
3494  #line 135 "lscp.y"  #line 149 "lscp.y"
3495      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3496      break;      break;
3497    
3498    case 45:    case 45:
3499  #line 136 "lscp.y"  #line 150 "lscp.y"
3500      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3501      break;      break;
3502    
3503    case 46:    case 46:
3504  #line 137 "lscp.y"  #line 151 "lscp.y"
3505      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3506      break;      break;
3507    
3508    case 47:    case 47:
3509  #line 138 "lscp.y"  #line 152 "lscp.y"
3510      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3511      break;      break;
3512    
3513    case 48:    case 48:
3514  #line 139 "lscp.y"  #line 153 "lscp.y"
3515      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3516      break;      break;
3517    
3518    case 49:    case 49:
3519  #line 140 "lscp.y"  #line 154 "lscp.y"
3520      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3521      break;      break;
3522    
3523    case 50:    case 50:
3524  #line 141 "lscp.y"  #line 155 "lscp.y"
3525      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info);          }
3526      break;      break;
3527    
3528    case 51:    case 51:
3529  #line 142 "lscp.y"  #line 158 "lscp.y"
3530      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3531      break;      break;
3532    
3533    case 52:    case 52:
3534  #line 143 "lscp.y"  #line 159 "lscp.y"
3535      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3536      break;      break;
3537    
3538    case 53:    case 53:
3539  #line 144 "lscp.y"  #line 160 "lscp.y"
3540      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3541      break;      break;
3542    
3543    case 54:    case 54:
3544  #line 145 "lscp.y"  #line 161 "lscp.y"
3545      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3546      break;      break;
3547    
3548    case 55:    case 55:
3549  #line 146 "lscp.y"  #line 162 "lscp.y"
3550      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3551      break;      break;
3552    
3553    case 56:    case 56:
3554  #line 147 "lscp.y"  #line 163 "lscp.y"
3555      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3556      break;      break;
3557    
3558    case 57:    case 57:
3559  #line 148 "lscp.y"  #line 164 "lscp.y"
3560      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3561      break;      break;
3562    
3563    case 58:    case 58:
3564  #line 149 "lscp.y"  #line 165 "lscp.y"
3565      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3566      break;      break;
3567    
3568    case 59:    case 59:
3569  #line 150 "lscp.y"  #line 166 "lscp.y"
3570      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
3571      break;      break;
3572    
3573    case 60:    case 60:
3574  #line 151 "lscp.y"  #line 167 "lscp.y"
3575      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count);        }
3576      break;      break;
3577    
3578    case 61:    case 61:
3579  #line 154 "lscp.y"  #line 168 "lscp.y"
3580      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info);         }
3581      break;      break;
3582    
3583    case 62:    case 62:
3584  #line 155 "lscp.y"  #line 169 "lscp.y"
3585      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3586      break;      break;
3587    
3588    case 63:    case 63:
3589  #line 156 "lscp.y"  #line 170 "lscp.y"
3590      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3591      break;      break;
3592    
3593    case 64:    case 64:
3594  #line 157 "lscp.y"  #line 171 "lscp.y"
3595      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3596      break;      break;
3597    
3598    case 65:    case 65:
3599  #line 158 "lscp.y"  #line 172 "lscp.y"
3600      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3601      break;      break;
3602    
3603    case 66:    case 66:
3604  #line 159 "lscp.y"  #line 173 "lscp.y"
3605      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
3606      break;      break;
3607    
3608    case 67:    case 67:
3609  #line 162 "lscp.y"  #line 174 "lscp.y"
3610      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
3611      break;      break;
3612    
3613    case 68:    case 68:
3614  #line 163 "lscp.y"  #line 175 "lscp.y"
3615      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info);          }
3616      break;      break;
3617    
3618    case 69:    case 69:
3619  #line 164 "lscp.y"  #line 178 "lscp.y"
3620      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (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)); }
3621      break;      break;
3622    
3623    case 70:    case 70:
3624  #line 165 "lscp.y"  #line 179 "lscp.y"
3625      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),(yyvsp[(18) - (18)].LoadMode),"",(yyvsp[(3) - (18)].Bool)); }
3626      break;      break;
3627    
3628    case 71:    case 71:
3629  #line 168 "lscp.y"  #line 180 "lscp.y"
3630      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].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)); }
3631      break;      break;
3632    
3633    case 72:    case 72:
3634  #line 169 "lscp.y"  #line 181 "lscp.y"
3635      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].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)); }
3636      break;      break;
3637    
3638    case 73:    case 73:
3639  #line 172 "lscp.y"  #line 184 "lscp.y"
3640      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3641      break;      break;
3642    
3643    case 74:    case 74:
3644  #line 173 "lscp.y"  #line 187 "lscp.y"
3645      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));             }
3646      break;      break;
3647    
3648    case 75:    case 75:
3649  #line 176 "lscp.y"  #line 188 "lscp.y"
3650      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));   }
3651      break;      break;
3652    
3653    case 76:    case 76:
3654  #line 177 "lscp.y"  #line 189 "lscp.y"
3655      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
3656      break;      break;
3657    
3658    case 77:    case 77:
3659  #line 178 "lscp.y"  #line 192 "lscp.y"
3660      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3661      break;      break;
3662    
3663    case 78:    case 78:
3664  #line 179 "lscp.y"  #line 193 "lscp.y"
3665      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3666      break;      break;
3667    
3668    case 79:    case 79:
3669  #line 180 "lscp.y"  #line 194 "lscp.y"
3670      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3671      break;      break;
3672    
3673    case 80:    case 80:
3674  #line 181 "lscp.y"  #line 195 "lscp.y"
3675      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3676      break;      break;
3677    
3678    case 81:    case 81:
3679  #line 182 "lscp.y"  #line 196 "lscp.y"
3680      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3681      break;      break;
3682    
3683    case 82:    case 82:
3684  #line 183 "lscp.y"  #line 197 "lscp.y"
3685      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3686      break;      break;
3687    
3688    case 83:    case 83:
3689  #line 184 "lscp.y"  #line 198 "lscp.y"
3690      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3691      break;      break;
3692    
3693    case 84:    case 84:
3694  #line 187 "lscp.y"  #line 199 "lscp.y"
3695      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3696      break;      break;
3697    
3698    case 85:    case 85:
3699  #line 188 "lscp.y"  #line 200 "lscp.y"
3700      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3701      break;      break;
3702    
3703    case 86:    case 86:
3704  #line 191 "lscp.y"  #line 201 "lscp.y"
3705      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3706      break;      break;
3707    
3708    case 87:    case 87:
3709  #line 192 "lscp.y"  #line 202 "lscp.y"
3710      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3711      break;      break;
3712    
3713    case 88:    case 88:
3714  #line 195 "lscp.y"  #line 203 "lscp.y"
3715      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3716      break;      break;
3717    
3718    case 89:    case 89:
3719  #line 196 "lscp.y"  #line 204 "lscp.y"
3720      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3721      break;      break;
3722    
3723    case 90:    case 90:
3724  #line 197 "lscp.y"  #line 205 "lscp.y"
3725      { yyval.String = LSCPSERVER->ListChannels();          }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3726      break;      break;
3727    
3728    case 91:    case 91:
3729  #line 200 "lscp.y"  #line 206 "lscp.y"
3730      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
3731      break;      break;
3732    
3733    case 92:    case 92:
3734  #line 201 "lscp.y"  #line 207 "lscp.y"
3735      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
3736      break;      break;
3737    
3738    case 93:    case 93:
3739  #line 204 "lscp.y"  #line 208 "lscp.y"
3740      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3741        break;
3742    
3743      case 94:
3744    #line 209 "lscp.y"
3745        { (yyval.String) = LSCPSERVER->GetChannels();                                  }
3746        break;
3747    
3748      case 95:
3749    #line 210 "lscp.y"
3750        { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
3751        break;
3752    
3753      case 96:
3754    #line 211 "lscp.y"
3755        { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
3756        break;
3757    
3758      case 97:
3759    #line 212 "lscp.y"
3760        { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
3761        break;
3762    
3763      case 98:
3764    #line 213 "lscp.y"
3765        { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
3766        break;
3767    
3768      case 99:
3769    #line 214 "lscp.y"
3770        { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
3771        break;
3772    
3773      case 100:
3774    #line 215 "lscp.y"
3775        { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3776      break;      break;
3777    
3778    case 101:    case 101:
3779  #line 226 "lscp.y"  #line 216 "lscp.y"
3780      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3781        break;
3782    
3783      case 102:
3784    #line 217 "lscp.y"
3785        { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3786        break;
3787    
3788      case 103:
3789    #line 218 "lscp.y"
3790        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
3791        break;
3792    
3793      case 104:
3794    #line 219 "lscp.y"
3795        { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
3796        break;
3797    
3798      case 105:
3799    #line 220 "lscp.y"
3800        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
3801        break;
3802    
3803      case 106:
3804    #line 221 "lscp.y"
3805        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
3806        break;
3807    
3808      case 107:
3809    #line 222 "lscp.y"
3810        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
3811      break;      break;
3812    
3813    case 108:    case 108:
3814  #line 243 "lscp.y"  #line 223 "lscp.y"
3815      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
3816      break;      break;
3817    
3818    case 109:    case 109:
3819  #line 244 "lscp.y"  #line 224 "lscp.y"
3820      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
3821      break;      break;
3822    
3823    case 110:    case 110:
3824  #line 250 "lscp.y"  #line 225 "lscp.y"
3825      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
3826      break;      break;
3827    
3828    case 111:    case 111:
3829  #line 251 "lscp.y"  #line 228 "lscp.y"
3830      { yyval.Dotnum = -1; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3831      break;      break;
3832    
3833    case 112:    case 112:
3834  #line 254 "lscp.y"  #line 229 "lscp.y"
3835      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3836      break;      break;
3837    
3838    case 113:    case 113:
3839  #line 255 "lscp.y"  #line 230 "lscp.y"
3840      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3841      break;      break;
3842    
3843    case 114:    case 114:
3844  #line 258 "lscp.y"  #line 231 "lscp.y"
3845      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
3846      break;      break;
3847    
3848    case 115:    case 115:
3849  #line 259 "lscp.y"  #line 232 "lscp.y"
3850      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
3851      break;      break;
3852    
3853    case 116:    case 116:
3854  #line 260 "lscp.y"  #line 233 "lscp.y"
3855      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
3856      break;      break;
3857    
3858    case 117:    case 117:
3859  #line 264 "lscp.y"  #line 234 "lscp.y"
3860      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
3861      break;      break;
3862    
3863    case 118:    case 118:
3864  #line 265 "lscp.y"  #line 235 "lscp.y"
3865      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
3866      break;      break;
3867    
3868    case 119:    case 119:
3869  #line 268 "lscp.y"  #line 236 "lscp.y"
3870      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
3871      break;      break;
3872    
3873    case 120:    case 120:
3874  #line 269 "lscp.y"  #line 237 "lscp.y"
3875      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
3876      break;      break;
3877    
3878    case 121:    case 121:
3879  #line 270 "lscp.y"  #line 238 "lscp.y"
3880      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
3881      break;      break;
3882    
3883    case 122:    case 122:
3884  #line 271 "lscp.y"  #line 241 "lscp.y"
3885      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3886      break;      break;
3887    
3888    case 123:    case 123:
3889  #line 272 "lscp.y"  #line 242 "lscp.y"
3890      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
3891      break;      break;
3892    
3893    case 124:    case 124:
3894  #line 273 "lscp.y"  #line 243 "lscp.y"
3895      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
3896      break;      break;
3897    
3898    case 125:    case 125:
3899  #line 274 "lscp.y"  #line 244 "lscp.y"
3900      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
3901      break;      break;
3902    
3903    case 126:    case 126:
3904  #line 275 "lscp.y"  #line 245 "lscp.y"
3905      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
3906      break;      break;
3907    
3908    case 127:    case 127:
3909  #line 276 "lscp.y"  #line 246 "lscp.y"
3910      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
3911      break;      break;
3912    
3913    case 128:    case 128:
3914  #line 277 "lscp.y"  #line 249 "lscp.y"
3915      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3916      break;      break;
3917    
3918    case 129:    case 129:
3919  #line 280 "lscp.y"  #line 252 "lscp.y"
3920      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
3921      break;      break;
3922    
3923    case 130:    case 130:
3924  #line 281 "lscp.y"  #line 253 "lscp.y"
3925      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
3926      break;      break;
3927    
3928    case 131:    case 131:
3929  #line 282 "lscp.y"  #line 256 "lscp.y"
3930      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3931      break;      break;
3932    
3933    case 132:    case 132:
3934  #line 283 "lscp.y"  #line 257 "lscp.y"
3935      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
3936      break;      break;
3937    
3938    case 133:    case 133:
3939  #line 284 "lscp.y"  #line 258 "lscp.y"
3940      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
3941      break;      break;
3942    
3943    case 134:    case 134:
3944  #line 285 "lscp.y"  #line 261 "lscp.y"
3945      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3946      break;      break;
3947    
3948    case 135:    case 135:
3949  #line 286 "lscp.y"  #line 262 "lscp.y"
3950      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3951      break;      break;
3952    
3953    case 136:    case 136:
3954  #line 287 "lscp.y"  #line 265 "lscp.y"
3955      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
3956      break;      break;
3957    
3958    case 137:    case 137:
3959  #line 288 "lscp.y"  #line 266 "lscp.y"
3960      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
3961      break;      break;
3962    
3963    case 138:    case 138:
3964  #line 289 "lscp.y"  #line 267 "lscp.y"
3965      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
3966      break;      break;
3967    
3968    case 139:    case 139:
3969  #line 291 "lscp.y"  #line 268 "lscp.y"
3970      { yyval.Char = 'A'; }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
3971      break;      break;
3972    
3973    case 140:    case 140:
3974  #line 291 "lscp.y"  #line 269 "lscp.y"
3975      { yyval.Char = 'B'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
3976      break;      break;
3977    
3978    case 141:    case 141:
3979  #line 291 "lscp.y"  #line 270 "lscp.y"
3980      { yyval.Char = 'C'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
3981      break;      break;
3982    
3983    case 142:    case 142:
3984  #line 291 "lscp.y"  #line 271 "lscp.y"
3985      { yyval.Char = 'D'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
3986      break;      break;
3987    
3988    case 143:    case 143:
3989  #line 291 "lscp.y"  #line 272 "lscp.y"
3990      { yyval.Char = 'E'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
3991      break;      break;
3992    
3993    case 144:    case 144:
3994  #line 291 "lscp.y"  #line 273 "lscp.y"
3995      { yyval.Char = 'F'; }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
3996      break;      break;
3997    
3998    case 145:    case 145:
3999  #line 291 "lscp.y"  #line 274 "lscp.y"
4000      { yyval.Char = 'G'; }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4001      break;      break;
4002    
4003    case 146:    case 146:
4004  #line 291 "lscp.y"  #line 275 "lscp.y"
4005      { yyval.Char = 'H'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4006      break;      break;
4007    
4008    case 147:    case 147:
4009  #line 291 "lscp.y"  #line 276 "lscp.y"
4010      { yyval.Char = 'I'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4011      break;      break;
4012    
4013    case 148:    case 148:
4014  #line 291 "lscp.y"  #line 277 "lscp.y"
4015      { yyval.Char = 'J'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4016      break;      break;
4017    
4018    case 149:    case 149:
4019  #line 291 "lscp.y"  #line 278 "lscp.y"
4020      { yyval.Char = 'K'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4021      break;      break;
4022    
4023    case 150:    case 150:
4024  #line 291 "lscp.y"  #line 281 "lscp.y"
4025      { yyval.Char = 'L'; }      { (yyval.Bool) = true;  }
4026      break;      break;
4027    
4028    case 151:    case 151:
4029  #line 291 "lscp.y"  #line 282 "lscp.y"
4030      { yyval.Char = 'M'; }      { (yyval.Bool) = false; }
4031      break;      break;
4032    
4033    case 152:    case 152:
4034  #line 291 "lscp.y"  #line 285 "lscp.y"
4035      { yyval.Char = 'N'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4036      break;      break;
4037    
4038    case 153:    case 153:
4039  #line 291 "lscp.y"  #line 286 "lscp.y"
4040      { yyval.Char = 'O'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4041      break;      break;
4042    
4043    case 154:    case 154:
4044  #line 291 "lscp.y"  #line 289 "lscp.y"
4045      { yyval.Char = 'P'; }      { (yyval.FillResponse) = fill_response_bytes;      }
4046      break;      break;
4047    
4048    case 155:    case 155:
4049  #line 291 "lscp.y"  #line 290 "lscp.y"
4050      { yyval.Char = 'Q'; }      { (yyval.FillResponse) = fill_response_percentage; }
4051      break;      break;
4052    
4053    case 156:    case 156:
4054  #line 291 "lscp.y"  #line 293 "lscp.y"
4055      { yyval.Char = 'R'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
4056      break;      break;
4057    
4058    case 157:    case 157:
4059  #line 291 "lscp.y"  #line 294 "lscp.y"
4060      { yyval.Char = 'S'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
4061      break;      break;
4062    
4063    case 158:    case 158:
4064  #line 291 "lscp.y"  #line 295 "lscp.y"
4065      { yyval.Char = 'T'; }      { (yyval.String) = LSCPSERVER->ListChannels();                    }
4066      break;      break;
4067    
4068    case 159:    case 159:
4069  #line 291 "lscp.y"  #line 296 "lscp.y"
4070      { yyval.Char = 'U'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
4071      break;      break;
4072    
4073    case 160:    case 160:
4074  #line 291 "lscp.y"  #line 297 "lscp.y"
4075      { yyval.Char = 'V'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
4076      break;      break;
4077    
4078    case 161:    case 161:
4079  #line 291 "lscp.y"  #line 298 "lscp.y"
4080      { yyval.Char = 'W'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
4081      break;      break;
4082    
4083    case 162:    case 162:
4084  #line 291 "lscp.y"  #line 299 "lscp.y"
4085      { yyval.Char = 'X'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
4086      break;      break;
4087    
4088    case 163:    case 163:
4089  #line 291 "lscp.y"  #line 300 "lscp.y"
4090      { yyval.Char = 'Y'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
4091      break;      break;
4092    
4093    case 164:    case 164:
4094  #line 291 "lscp.y"  #line 301 "lscp.y"
4095      { yyval.Char = 'Z'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
4096      break;      break;
4097    
4098    case 165:    case 165:
4099  #line 292 "lscp.y"  #line 302 "lscp.y"
4100      { yyval.Char = 'a'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                   }
4101      break;      break;
4102    
4103    case 166:    case 166:
4104  #line 292 "lscp.y"  #line 305 "lscp.y"
4105      { yyval.Char = 'b'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4106      break;      break;
4107    
4108    case 167:    case 167:
4109  #line 292 "lscp.y"  #line 306 "lscp.y"
4110      { yyval.Char = 'c'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4111      break;      break;
4112    
4113    case 168:    case 168:
4114  #line 292 "lscp.y"  #line 309 "lscp.y"
4115      { yyval.Char = 'd'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4116      break;      break;
4117    
4118    case 169:    case 169:
4119  #line 292 "lscp.y"  #line 312 "lscp.y"
4120      { yyval.Char = 'e'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4121      break;      break;
4122    
4123    case 170:    case 170:
4124  #line 292 "lscp.y"  #line 313 "lscp.y"
4125      { yyval.Char = 'f'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4126      break;      break;
4127    
4128    case 171:    case 171:
4129  #line 292 "lscp.y"  #line 314 "lscp.y"
4130      { yyval.Char = 'g'; }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
     break;  
   
   case 172:  
 #line 292 "lscp.y"  
     { yyval.Char = 'h'; }  
     break;  
   
   case 173:  
 #line 292 "lscp.y"  
     { yyval.Char = 'i'; }  
     break;  
   
   case 174:  
 #line 292 "lscp.y"  
     { yyval.Char = 'j'; }  
     break;  
   
   case 175:  
 #line 292 "lscp.y"  
     { yyval.Char = 'k'; }  
     break;  
   
   case 176:  
 #line 292 "lscp.y"  
     { yyval.Char = 'l'; }  
4131      break;      break;
4132    
4133    case 177:    case 177:
4134  #line 292 "lscp.y"  #line 330 "lscp.y"
4135      { yyval.Char = 'm'; }      { (yyval.Number) = 16; }
     break;  
   
   case 178:  
 #line 292 "lscp.y"  
     { yyval.Char = 'n'; }  
     break;  
   
   case 179:  
 #line 292 "lscp.y"  
     { yyval.Char = 'o'; }  
     break;  
   
   case 180:  
 #line 292 "lscp.y"  
     { yyval.Char = 'p'; }  
     break;  
   
   case 181:  
 #line 292 "lscp.y"  
     { yyval.Char = 'q'; }  
     break;  
   
   case 182:  
 #line 292 "lscp.y"  
     { yyval.Char = 'r'; }  
     break;  
   
   case 183:  
 #line 292 "lscp.y"  
     { yyval.Char = 's'; }  
4136      break;      break;
4137    
4138    case 184:    case 184:
4139  #line 292 "lscp.y"  #line 349 "lscp.y"
4140      { yyval.Char = 't'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
     break;  
   
   case 185:  
 #line 292 "lscp.y"  
     { yyval.Char = 'u'; }  
     break;  
   
   case 186:  
 #line 292 "lscp.y"  
     { yyval.Char = 'v'; }  
     break;  
   
   case 187:  
 #line 292 "lscp.y"  
     { yyval.Char = 'w'; }  
     break;  
   
   case 188:  
 #line 292 "lscp.y"  
     { yyval.Char = 'x'; }  
     break;  
   
   case 189:  
 #line 292 "lscp.y"  
     { yyval.Char = 'y'; }  
     break;  
   
   case 190:  
 #line 292 "lscp.y"  
     { yyval.Char = 'z'; }  
     break;  
   
   case 191:  
 #line 293 "lscp.y"  
     { yyval.Char = '0'; }  
     break;  
   
   case 192:  
 #line 293 "lscp.y"  
     { yyval.Char = '1'; }  
     break;  
   
   case 193:  
 #line 293 "lscp.y"  
     { yyval.Char = '2'; }  
4141      break;      break;
4142    
4143    case 194:    case 194:
4144  #line 293 "lscp.y"  #line 377 "lscp.y"
4145      { yyval.Char = '3'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 195:  
 #line 293 "lscp.y"  
     { yyval.Char = '4'; }  
     break;  
   
   case 196:  
 #line 293 "lscp.y"  
     { yyval.Char = '5'; }  
4146      break;      break;
4147    
4148    case 197:    case 197:
4149  #line 293 "lscp.y"  #line 382 "lscp.y"
4150      { yyval.Char = '6'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4151      break;      break;
4152    
4153    case 198:    case 198:
4154  #line 293 "lscp.y"  #line 383 "lscp.y"
4155      { yyval.Char = '7'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4156      break;      break;
4157    
4158    case 199:    case 199:
4159  #line 293 "lscp.y"  #line 391 "lscp.y"
4160      { yyval.Char = '8'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4161      break;      break;
4162    
4163    case 200:    case 200:
4164  #line 293 "lscp.y"  #line 392 "lscp.y"
4165      { yyval.Char = '9'; }      { (yyval.Dotnum) = -1; }
4166      break;      break;
4167    
4168    case 201:    case 201:
4169  #line 294 "lscp.y"  #line 395 "lscp.y"
4170      { yyval.Char = '!'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4171      break;      break;
4172    
4173    case 202:    case 202:
4174  #line 294 "lscp.y"  #line 396 "lscp.y"
4175      { yyval.Char = '#'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4176      break;      break;
4177    
4178    case 203:    case 203:
4179  #line 294 "lscp.y"  #line 399 "lscp.y"
4180      { yyval.Char = '$'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4181      break;      break;
4182    
4183    case 204:    case 204:
4184  #line 294 "lscp.y"  #line 400 "lscp.y"
4185      { yyval.Char = '%'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4186      break;      break;
4187    
4188    case 205:    case 205:
4189  #line 294 "lscp.y"  #line 401 "lscp.y"
4190      { yyval.Char = '&'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4191      break;      break;
4192    
4193    case 206:    case 206:
4194  #line 294 "lscp.y"  #line 405 "lscp.y"
4195      { yyval.Char = '('; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4196      break;      break;
4197    
4198    case 207:    case 207:
4199  #line 294 "lscp.y"  #line 406 "lscp.y"
4200      { yyval.Char = ')'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4201      break;      break;
4202    
4203    case 208:    case 208:
4204  #line 294 "lscp.y"  #line 409 "lscp.y"
4205      { yyval.Char = '*'; }      { (yyval.Char) = '0'; }
4206      break;      break;
4207    
4208    case 209:    case 209:
4209  #line 294 "lscp.y"  #line 410 "lscp.y"
4210      { yyval.Char = '+'; }      { (yyval.Char) = '1'; }
4211      break;      break;
4212    
4213    case 210:    case 210:
4214  #line 294 "lscp.y"  #line 411 "lscp.y"
4215      { yyval.Char = '-'; }      { (yyval.Char) = '2'; }
4216      break;      break;
4217    
4218    case 211:    case 211:
4219  #line 294 "lscp.y"  #line 412 "lscp.y"
4220      { yyval.Char = '.'; }      { (yyval.Char) = '3'; }
4221      break;      break;
4222    
4223    case 212:    case 212:
4224  #line 294 "lscp.y"  #line 413 "lscp.y"
4225      { yyval.Char = '/'; }      { (yyval.Char) = '4'; }
4226      break;      break;
4227    
4228    case 213:    case 213:
4229  #line 295 "lscp.y"  #line 414 "lscp.y"
4230      { yyval.Char = ':'; }      { (yyval.Char) = '5'; }
4231      break;      break;
4232    
4233    case 214:    case 214:
4234  #line 295 "lscp.y"  #line 415 "lscp.y"
4235      { yyval.Char = ';'; }      { (yyval.Char) = '6'; }
4236      break;      break;
4237    
4238    case 215:    case 215:
4239  #line 295 "lscp.y"  #line 416 "lscp.y"
4240      { yyval.Char = '<'; }      { (yyval.Char) = '7'; }
4241      break;      break;
4242    
4243    case 216:    case 216:
4244  #line 295 "lscp.y"  #line 417 "lscp.y"
4245      { yyval.Char = '='; }      { (yyval.Char) = '8'; }
4246      break;      break;
4247    
4248    case 217:    case 217:
4249  #line 295 "lscp.y"  #line 418 "lscp.y"
4250      { yyval.Char = '>'; }      { (yyval.Char) = '9'; }
4251      break;      break;
4252    
4253    case 218:    case 218:
4254  #line 295 "lscp.y"  #line 421 "lscp.y"
4255      { yyval.Char = '?'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4256      break;      break;
4257    
4258    case 219:    case 219:
4259  #line 295 "lscp.y"  #line 422 "lscp.y"
4260      { yyval.Char = '@'; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4261      break;      break;
4262    
4263    case 220:    case 220:
4264  #line 296 "lscp.y"  #line 423 "lscp.y"
4265      { yyval.Char = '['; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4266      break;      break;
4267    
4268    case 221:    case 221:
4269  #line 296 "lscp.y"  #line 424 "lscp.y"
4270      { yyval.Char = '\\'; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4271      break;      break;
4272    
4273    case 222:    case 222:
4274  #line 296 "lscp.y"  #line 425 "lscp.y"
4275      { yyval.Char = ']'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4276      break;      break;
4277    
4278    case 223:    case 223:
4279  #line 296 "lscp.y"  #line 426 "lscp.y"
4280      { yyval.Char = '^'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4281      break;      break;
4282    
4283    case 224:    case 224:
4284  #line 296 "lscp.y"  #line 427 "lscp.y"
4285      { yyval.Char = '_'; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4286      break;      break;
4287    
4288    case 225:    case 225:
4289  #line 297 "lscp.y"  #line 428 "lscp.y"
4290      { yyval.Char = '{'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4291      break;      break;
4292    
4293    case 226:    case 226:
4294  #line 297 "lscp.y"  #line 429 "lscp.y"
4295      { yyval.Char = '|'; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4296      break;      break;
4297    
4298    case 227:    case 227:
4299  #line 297 "lscp.y"  #line 430 "lscp.y"
4300      { yyval.Char = '}'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4301      break;      break;
4302    
4303    case 228:    case 228:
4304  #line 297 "lscp.y"  #line 432 "lscp.y"
4305      { yyval.Char = '~'; }      { (yyval.Char) = 'A'; }
4306      break;      break;
4307    
4308    case 229:    case 229:
4309  #line 298 "lscp.y"  #line 432 "lscp.y"
4310      { yyval.Char = '\200'; }      { (yyval.Char) = 'B'; }
4311      break;      break;
4312    
4313    case 230:    case 230:
4314  #line 298 "lscp.y"  #line 432 "lscp.y"
4315      { yyval.Char = '\201'; }      { (yyval.Char) = 'C'; }
4316      break;      break;
4317    
4318    case 231:    case 231:
4319  #line 298 "lscp.y"  #line 432 "lscp.y"
4320      { yyval.Char = '\202'; }      { (yyval.Char) = 'D'; }
4321      break;      break;
4322    
4323    case 232:    case 232:
4324  #line 299 "lscp.y"  #line 432 "lscp.y"
4325      { yyval.Char = '\203'; }      { (yyval.Char) = 'E'; }
4326      break;      break;
4327    
4328    case 233:    case 233:
4329  #line 299 "lscp.y"  #line 432 "lscp.y"
4330      { yyval.Char = '\204'; }      { (yyval.Char) = 'F'; }
4331      break;      break;
4332    
4333    case 234:    case 234:
4334  #line 299 "lscp.y"  #line 432 "lscp.y"
4335      { yyval.Char = '\205'; }      { (yyval.Char) = 'G'; }
4336      break;      break;
4337    
4338    case 235:    case 235:
4339  #line 300 "lscp.y"  #line 432 "lscp.y"
4340      { yyval.Char = '\206'; }      { (yyval.Char) = 'H'; }
4341      break;      break;
4342    
4343    case 236:    case 236:
4344  #line 300 "lscp.y"  #line 432 "lscp.y"
4345      { yyval.Char = '\207'; }      { (yyval.Char) = 'I'; }
4346      break;      break;
4347    
4348    case 237:    case 237:
4349  #line 300 "lscp.y"  #line 432 "lscp.y"
4350      { yyval.Char = '\210'; }      { (yyval.Char) = 'J'; }
4351      break;      break;
4352    
4353    case 238:    case 238:
4354  #line 301 "lscp.y"  #line 432 "lscp.y"
4355      { yyval.Char = '\211'; }      { (yyval.Char) = 'K'; }
4356      break;      break;
4357    
4358    case 239:    case 239:
4359  #line 301 "lscp.y"  #line 432 "lscp.y"
4360      { yyval.Char = '\212'; }      { (yyval.Char) = 'L'; }
4361      break;      break;
4362    
4363    case 240:    case 240:
4364  #line 301 "lscp.y"  #line 432 "lscp.y"
4365      { yyval.Char = '\213'; }      { (yyval.Char) = 'M'; }
4366      break;      break;
4367    
4368    case 241:    case 241:
4369  #line 302 "lscp.y"  #line 432 "lscp.y"
4370      { yyval.Char = '\214'; }      { (yyval.Char) = 'N'; }
4371      break;      break;
4372    
4373    case 242:    case 242:
4374  #line 302 "lscp.y"  #line 432 "lscp.y"
4375      { yyval.Char = '\215'; }      { (yyval.Char) = 'O'; }
4376      break;      break;
4377    
4378    case 243:    case 243:
4379  #line 302 "lscp.y"  #line 432 "lscp.y"
4380      { yyval.Char = '\216'; }      { (yyval.Char) = 'P'; }
4381      break;      break;
4382    
4383    case 244:    case 244:
4384  #line 303 "lscp.y"  #line 432 "lscp.y"
4385      { yyval.Char = '\217'; }      { (yyval.Char) = 'Q'; }
4386      break;      break;
4387    
4388    case 245:    case 245:
4389  #line 303 "lscp.y"  #line 432 "lscp.y"
4390      { yyval.Char = '\220'; }      { (yyval.Char) = 'R'; }
4391      break;      break;
4392    
4393    case 246:    case 246:
4394  #line 303 "lscp.y"  #line 432 "lscp.y"
4395      { yyval.Char = '\221'; }      { (yyval.Char) = 'S'; }
4396      break;      break;
4397    
4398    case 247:    case 247:
4399  #line 304 "lscp.y"  #line 432 "lscp.y"
4400      { yyval.Char = '\222'; }      { (yyval.Char) = 'T'; }
4401      break;      break;
4402    
4403    case 248:    case 248:
4404  #line 304 "lscp.y"  #line 432 "lscp.y"
4405      { yyval.Char = '\223'; }      { (yyval.Char) = 'U'; }
4406      break;      break;
4407    
4408    case 249:    case 249:
4409  #line 304 "lscp.y"  #line 432 "lscp.y"
4410      { yyval.Char = '\224'; }      { (yyval.Char) = 'V'; }
4411      break;      break;
4412    
4413    case 250:    case 250:
4414  #line 305 "lscp.y"  #line 432 "lscp.y"
4415      { yyval.Char = '\225'; }      { (yyval.Char) = 'W'; }
4416      break;      break;
4417    
4418    case 251:    case 251:
4419  #line 305 "lscp.y"  #line 432 "lscp.y"
4420      { yyval.Char = '\226'; }      { (yyval.Char) = 'X'; }
4421      break;      break;
4422    
4423    case 252:    case 252:
4424  #line 305 "lscp.y"  #line 432 "lscp.y"
4425      { yyval.Char = '\227'; }      { (yyval.Char) = 'Y'; }
4426      break;      break;
4427    
4428    case 253:    case 253:
4429  #line 306 "lscp.y"  #line 432 "lscp.y"
4430      { yyval.Char = '\230'; }      { (yyval.Char) = 'Z'; }
4431      break;      break;
4432    
4433    case 254:    case 254:
4434  #line 306 "lscp.y"  #line 433 "lscp.y"
4435      { yyval.Char = '\231'; }      { (yyval.Char) = 'a'; }
4436      break;      break;
4437    
4438    case 255:    case 255:
4439  #line 306 "lscp.y"  #line 433 "lscp.y"
4440      { yyval.Char = '\232'; }      { (yyval.Char) = 'b'; }
4441      break;      break;
4442    
4443    case 256:    case 256:
4444  #line 307 "lscp.y"  #line 433 "lscp.y"
4445      { yyval.Char = '\233'; }      { (yyval.Char) = 'c'; }
4446      break;      break;
4447    
4448    case 257:    case 257:
4449  #line 307 "lscp.y"  #line 433 "lscp.y"
4450      { yyval.Char = '\234'; }      { (yyval.Char) = 'd'; }
4451      break;      break;
4452    
4453    case 258:    case 258:
4454  #line 307 "lscp.y"  #line 433 "lscp.y"
4455      { yyval.Char = '\235'; }      { (yyval.Char) = 'e'; }
4456      break;      break;
4457    
4458    case 259:    case 259:
4459  #line 308 "lscp.y"  #line 433 "lscp.y"
4460      { yyval.Char = '\236'; }      { (yyval.Char) = 'f'; }
4461      break;      break;
4462    
4463    case 260:    case 260:
4464  #line 308 "lscp.y"  #line 433 "lscp.y"
4465      { yyval.Char = '\237'; }      { (yyval.Char) = 'g'; }
4466      break;      break;
4467    
4468    case 261:    case 261:
4469  #line 308 "lscp.y"  #line 433 "lscp.y"
4470      { yyval.Char = '\240'; }      { (yyval.Char) = 'h'; }
4471      break;      break;
4472    
4473    case 262:    case 262:
4474  #line 309 "lscp.y"  #line 433 "lscp.y"
4475      { yyval.Char = '\241'; }      { (yyval.Char) = 'i'; }
4476      break;      break;
4477    
4478    case 263:    case 263:
4479  #line 309 "lscp.y"  #line 433 "lscp.y"
4480      { yyval.Char = '\242'; }      { (yyval.Char) = 'j'; }
4481      break;      break;
4482    
4483    case 264:    case 264:
4484  #line 309 "lscp.y"  #line 433 "lscp.y"
4485      { yyval.Char = '\243'; }      { (yyval.Char) = 'k'; }
4486      break;      break;
4487    
4488    case 265:    case 265:
4489  #line 310 "lscp.y"  #line 433 "lscp.y"
4490      { yyval.Char = '\244'; }      { (yyval.Char) = 'l'; }
4491      break;      break;
4492    
4493    case 266:    case 266:
4494  #line 310 "lscp.y"  #line 433 "lscp.y"
4495      { yyval.Char = '\245'; }      { (yyval.Char) = 'm'; }
4496      break;      break;
4497    
4498    case 267:    case 267:
4499  #line 310 "lscp.y"  #line 433 "lscp.y"
4500      { yyval.Char = '\246'; }      { (yyval.Char) = 'n'; }
4501      break;      break;
4502    
4503    case 268:    case 268:
4504  #line 311 "lscp.y"  #line 433 "lscp.y"
4505      { yyval.Char = '\247'; }      { (yyval.Char) = 'o'; }
4506      break;      break;
4507    
4508    case 269:    case 269:
4509  #line 311 "lscp.y"  #line 433 "lscp.y"
4510      { yyval.Char = '\250'; }      { (yyval.Char) = 'p'; }
4511      break;      break;
4512    
4513    case 270:    case 270:
4514  #line 311 "lscp.y"  #line 433 "lscp.y"
4515      { yyval.Char = '\251'; }      { (yyval.Char) = 'q'; }
4516      break;      break;
4517    
4518    case 271:    case 271:
4519  #line 312 "lscp.y"  #line 433 "lscp.y"
4520      { yyval.Char = '\252'; }      { (yyval.Char) = 'r'; }
4521      break;      break;
4522    
4523    case 272:    case 272:
4524  #line 312 "lscp.y"  #line 433 "lscp.y"
4525      { yyval.Char = '\253'; }      { (yyval.Char) = 's'; }
4526      break;      break;
4527    
4528    case 273:    case 273:
4529  #line 312 "lscp.y"  #line 433 "lscp.y"
4530      { yyval.Char = '\254'; }      { (yyval.Char) = 't'; }
4531      break;      break;
4532    
4533    case 274:    case 274:
4534  #line 313 "lscp.y"  #line 433 "lscp.y"
4535      { yyval.Char = '\255'; }      { (yyval.Char) = 'u'; }
4536      break;      break;
4537    
4538    case 275:    case 275:
4539  #line 313 "lscp.y"  #line 433 "lscp.y"
4540      { yyval.Char = '\256'; }      { (yyval.Char) = 'v'; }
4541      break;      break;
4542    
4543    case 276:    case 276:
4544  #line 313 "lscp.y"  #line 433 "lscp.y"
4545      { yyval.Char = '\257'; }      { (yyval.Char) = 'w'; }
4546      break;      break;
4547    
4548    case 277:    case 277:
4549  #line 314 "lscp.y"  #line 433 "lscp.y"
4550      { yyval.Char = '\260'; }      { (yyval.Char) = 'x'; }
4551      break;      break;
4552    
4553    case 278:    case 278:
4554  #line 314 "lscp.y"  #line 433 "lscp.y"
4555      { yyval.Char = '\261'; }      { (yyval.Char) = 'y'; }
4556      break;      break;
4557    
4558    case 279:    case 279:
4559  #line 314 "lscp.y"  #line 433 "lscp.y"
4560      { yyval.Char = '\262'; }      { (yyval.Char) = 'z'; }
4561      break;      break;
4562    
4563    case 280:    case 280:
4564  #line 315 "lscp.y"  #line 434 "lscp.y"
4565      { yyval.Char = '\263'; }      { (yyval.Char) = '0'; }
4566      break;      break;
4567    
4568    case 281:    case 281:
4569  #line 315 "lscp.y"  #line 434 "lscp.y"
4570      { yyval.Char = '\264'; }      { (yyval.Char) = '1'; }
4571      break;      break;
4572    
4573    case 282:    case 282:
4574  #line 315 "lscp.y"  #line 434 "lscp.y"
4575      { yyval.Char = '\265'; }      { (yyval.Char) = '2'; }
4576      break;      break;
4577    
4578    case 283:    case 283:
4579  #line 316 "lscp.y"  #line 434 "lscp.y"
4580      { yyval.Char = '\266'; }      { (yyval.Char) = '3'; }
4581      break;      break;
4582    
4583    case 284:    case 284:
4584  #line 316 "lscp.y"  #line 434 "lscp.y"
4585      { yyval.Char = '\267'; }      { (yyval.Char) = '4'; }
4586      break;      break;
4587    
4588    case 285:    case 285:
4589  #line 316 "lscp.y"  #line 434 "lscp.y"
4590      { yyval.Char = '\270'; }      { (yyval.Char) = '5'; }
4591      break;      break;
4592    
4593    case 286:    case 286:
4594  #line 317 "lscp.y"  #line 434 "lscp.y"
4595      { yyval.Char = '\271'; }      { (yyval.Char) = '6'; }
4596      break;      break;
4597    
4598    case 287:    case 287:
4599  #line 317 "lscp.y"  #line 434 "lscp.y"
4600      { yyval.Char = '\272'; }      { (yyval.Char) = '7'; }
4601      break;      break;
4602    
4603    case 288:    case 288:
4604  #line 317 "lscp.y"  #line 434 "lscp.y"
4605      { yyval.Char = '\273'; }      { (yyval.Char) = '8'; }
4606      break;      break;
4607    
4608    case 289:    case 289:
4609  #line 318 "lscp.y"  #line 434 "lscp.y"
4610      { yyval.Char = '\274'; }      { (yyval.Char) = '9'; }
4611      break;      break;
4612    
4613    case 290:    case 290:
4614  #line 318 "lscp.y"  #line 435 "lscp.y"
4615      { yyval.Char = '\275'; }      { (yyval.Char) = '!'; }
4616      break;      break;
4617    
4618    case 291:    case 291:
4619  #line 318 "lscp.y"  #line 435 "lscp.y"
4620      { yyval.Char = '\276'; }      { (yyval.Char) = '#'; }
4621      break;      break;
4622    
4623    case 292:    case 292:
4624  #line 319 "lscp.y"  #line 435 "lscp.y"
4625      { yyval.Char = '\277'; }      { (yyval.Char) = '$'; }
4626      break;      break;
4627    
4628    case 293:    case 293:
4629  #line 319 "lscp.y"  #line 435 "lscp.y"
4630      { yyval.Char = '\300'; }      { (yyval.Char) = '%'; }
4631      break;      break;
4632    
4633    case 294:    case 294:
4634  #line 319 "lscp.y"  #line 435 "lscp.y"
4635      { yyval.Char = '\301'; }      { (yyval.Char) = '&'; }
4636      break;      break;
4637    
4638    case 295:    case 295:
4639  #line 320 "lscp.y"  #line 435 "lscp.y"
4640      { yyval.Char = '\302'; }      { (yyval.Char) = '('; }
4641      break;      break;
4642    
4643    case 296:    case 296:
4644  #line 320 "lscp.y"  #line 435 "lscp.y"
4645      { yyval.Char = '\303'; }      { (yyval.Char) = ')'; }
4646      break;      break;
4647    
4648    case 297:    case 297:
4649  #line 320 "lscp.y"  #line 435 "lscp.y"
4650      { yyval.Char = '\304'; }      { (yyval.Char) = '*'; }
4651      break;      break;
4652    
4653    case 298:    case 298:
4654  #line 321 "lscp.y"  #line 435 "lscp.y"
4655      { yyval.Char = '\305'; }      { (yyval.Char) = '+'; }
4656      break;      break;
4657    
4658    case 299:    case 299:
4659  #line 321 "lscp.y"  #line 435 "lscp.y"
4660      { yyval.Char = '\306'; }      { (yyval.Char) = '-'; }
4661      break;      break;
4662    
4663    case 300:    case 300:
4664  #line 321 "lscp.y"  #line 435 "lscp.y"
4665      { yyval.Char = '\307'; }      { (yyval.Char) = '.'; }
4666      break;      break;
4667    
4668    case 301:    case 301:
4669  #line 322 "lscp.y"  #line 435 "lscp.y"
4670      { yyval.Char = '\310'; }      { (yyval.Char) = ','; }
4671      break;      break;
4672    
4673    case 302:    case 302:
4674  #line 322 "lscp.y"  #line 435 "lscp.y"
4675      { yyval.Char = '\311'; }      { (yyval.Char) = '/'; }
4676      break;      break;
4677    
4678    case 303:    case 303:
4679  #line 322 "lscp.y"  #line 436 "lscp.y"
4680      { yyval.Char = '\312'; }      { (yyval.Char) = ':'; }
4681      break;      break;
4682    
4683    case 304:    case 304:
4684  #line 323 "lscp.y"  #line 436 "lscp.y"
4685      { yyval.Char = '\313'; }      { (yyval.Char) = ';'; }
4686      break;      break;
4687    
4688    case 305:    case 305:
4689  #line 323 "lscp.y"  #line 436 "lscp.y"
4690      { yyval.Char = '\314'; }      { (yyval.Char) = '<'; }
4691      break;      break;
4692    
4693    case 306:    case 306:
4694  #line 323 "lscp.y"  #line 436 "lscp.y"
4695      { yyval.Char = '\315'; }      { (yyval.Char) = '='; }
4696      break;      break;
4697    
4698    case 307:    case 307:
4699  #line 324 "lscp.y"  #line 436 "lscp.y"
4700      { yyval.Char = '\316'; }      { (yyval.Char) = '>'; }
4701      break;      break;
4702    
4703    case 308:    case 308:
4704  #line 324 "lscp.y"  #line 436 "lscp.y"
4705      { yyval.Char = '\317'; }      { (yyval.Char) = '?'; }
4706      break;      break;
4707    
4708    case 309:    case 309:
4709  #line 324 "lscp.y"  #line 436 "lscp.y"
4710      { yyval.Char = '\320'; }      { (yyval.Char) = '@'; }
4711      break;      break;
4712    
4713    case 310:    case 310:
4714  #line 325 "lscp.y"  #line 437 "lscp.y"
4715      { yyval.Char = '\321'; }      { (yyval.Char) = '['; }
4716      break;      break;
4717    
4718    case 311:    case 311:
4719  #line 325 "lscp.y"  #line 437 "lscp.y"
4720      { yyval.Char = '\322'; }      { (yyval.Char) = '\\'; }
4721      break;      break;
4722    
4723    case 312:    case 312:
4724  #line 325 "lscp.y"  #line 437 "lscp.y"
4725      { yyval.Char = '\323'; }      { (yyval.Char) = ']'; }
4726      break;      break;
4727    
4728    case 313:    case 313:
4729  #line 326 "lscp.y"  #line 437 "lscp.y"
4730      { yyval.Char = '\324'; }      { (yyval.Char) = '^'; }
4731      break;      break;
4732    
4733    case 314:    case 314:
4734  #line 326 "lscp.y"  #line 437 "lscp.y"
4735      { yyval.Char = '\325'; }      { (yyval.Char) = '_'; }
4736      break;      break;
4737    
4738    case 315:    case 315:
4739  #line 326 "lscp.y"  #line 438 "lscp.y"
4740      { yyval.Char = '\326'; }      { (yyval.Char) = '{'; }
4741      break;      break;
4742    
4743    case 316:    case 316:
4744  #line 327 "lscp.y"  #line 438 "lscp.y"
4745      { yyval.Char = '\327'; }      { (yyval.Char) = '|'; }
4746      break;      break;
4747    
4748    case 317:    case 317:
4749  #line 327 "lscp.y"  #line 438 "lscp.y"
4750      { yyval.Char = '\330'; }      { (yyval.Char) = '}'; }
4751      break;      break;
4752    
4753    case 318:    case 318:
4754  #line 327 "lscp.y"  #line 438 "lscp.y"
4755      { yyval.Char = '\331'; }      { (yyval.Char) = '~'; }
4756      break;      break;
4757    
4758    case 319:    case 319:
4759  #line 328 "lscp.y"  #line 439 "lscp.y"
4760      { yyval.Char = '\332'; }      { (yyval.Char) = '\200'; }
4761      break;      break;
4762    
4763    case 320:    case 320:
4764  #line 328 "lscp.y"  #line 439 "lscp.y"
4765      { yyval.Char = '\333'; }      { (yyval.Char) = '\201'; }
4766      break;      break;
4767    
4768    case 321:    case 321:
4769  #line 328 "lscp.y"  #line 439 "lscp.y"
4770      { yyval.Char = '\334'; }      { (yyval.Char) = '\202'; }
4771      break;      break;
4772    
4773    case 322:    case 322:
4774  #line 329 "lscp.y"  #line 440 "lscp.y"
4775      { yyval.Char = '\335'; }      { (yyval.Char) = '\203'; }
4776      break;      break;
4777    
4778    case 323:    case 323:
4779  #line 329 "lscp.y"  #line 440 "lscp.y"
4780      { yyval.Char = '\336'; }      { (yyval.Char) = '\204'; }
4781      break;      break;
4782    
4783    case 324:    case 324:
4784  #line 329 "lscp.y"  #line 440 "lscp.y"
4785      { yyval.Char = '\337'; }      { (yyval.Char) = '\205'; }
4786      break;      break;
4787    
4788    case 325:    case 325:
4789  #line 330 "lscp.y"  #line 441 "lscp.y"
4790      { yyval.Char = '\340'; }      { (yyval.Char) = '\206'; }
4791      break;      break;
4792    
4793    case 326:    case 326:
4794  #line 330 "lscp.y"  #line 441 "lscp.y"
4795      { yyval.Char = '\341'; }      { (yyval.Char) = '\207'; }
4796      break;      break;
4797    
4798    case 327:    case 327:
4799  #line 330 "lscp.y"  #line 441 "lscp.y"
4800      { yyval.Char = '\342'; }      { (yyval.Char) = '\210'; }
4801      break;      break;
4802    
4803    case 328:    case 328:
4804  #line 331 "lscp.y"  #line 442 "lscp.y"
4805      { yyval.Char = '\343'; }      { (yyval.Char) = '\211'; }
4806      break;      break;
4807    
4808    case 329:    case 329:
4809  #line 331 "lscp.y"  #line 442 "lscp.y"
4810      { yyval.Char = '\344'; }      { (yyval.Char) = '\212'; }
4811      break;      break;
4812    
4813    case 330:    case 330:
4814  #line 331 "lscp.y"  #line 442 "lscp.y"
4815      { yyval.Char = '\345'; }      { (yyval.Char) = '\213'; }
4816      break;      break;
4817    
4818    case 331:    case 331:
4819  #line 332 "lscp.y"  #line 443 "lscp.y"
4820      { yyval.Char = '\346'; }      { (yyval.Char) = '\214'; }
4821      break;      break;
4822    
4823    case 332:    case 332:
4824  #line 332 "lscp.y"  #line 443 "lscp.y"
4825      { yyval.Char = '\347'; }      { (yyval.Char) = '\215'; }
4826      break;      break;
4827    
4828    case 333:    case 333:
4829  #line 332 "lscp.y"  #line 443 "lscp.y"
4830      { yyval.Char = '\350'; }      { (yyval.Char) = '\216'; }
4831      break;      break;
4832    
4833    case 334:    case 334:
4834  #line 333 "lscp.y"  #line 444 "lscp.y"
4835      { yyval.Char = '\351'; }      { (yyval.Char) = '\217'; }
4836      break;      break;
4837    
4838    case 335:    case 335:
4839  #line 333 "lscp.y"  #line 444 "lscp.y"
4840      { yyval.Char = '\352'; }      { (yyval.Char) = '\220'; }
4841      break;      break;
4842    
4843    case 336:    case 336:
4844  #line 333 "lscp.y"  #line 444 "lscp.y"
4845      { yyval.Char = '\353'; }      { (yyval.Char) = '\221'; }
4846      break;      break;
4847    
4848    case 337:    case 337:
4849  #line 334 "lscp.y"  #line 445 "lscp.y"
4850      { yyval.Char = '\354'; }      { (yyval.Char) = '\222'; }
4851      break;      break;
4852    
4853    case 338:    case 338:
4854  #line 334 "lscp.y"  #line 445 "lscp.y"
4855      { yyval.Char = '\355'; }      { (yyval.Char) = '\223'; }
4856      break;      break;
4857    
4858    case 339:    case 339:
4859  #line 334 "lscp.y"  #line 445 "lscp.y"
4860      { yyval.Char = '\356'; }      { (yyval.Char) = '\224'; }
4861      break;      break;
4862    
4863    case 340:    case 340:
4864  #line 335 "lscp.y"  #line 446 "lscp.y"
4865      { yyval.Char = '\357'; }      { (yyval.Char) = '\225'; }
4866      break;      break;
4867    
4868    case 341:    case 341:
4869  #line 335 "lscp.y"  #line 446 "lscp.y"
4870      { yyval.Char = '\360'; }      { (yyval.Char) = '\226'; }
4871      break;      break;
4872    
4873    case 342:    case 342:
4874  #line 335 "lscp.y"  #line 446 "lscp.y"
4875      { yyval.Char = '\361'; }      { (yyval.Char) = '\227'; }
4876      break;      break;
4877    
4878    case 343:    case 343:
4879  #line 336 "lscp.y"  #line 447 "lscp.y"
4880      { yyval.Char = '\362'; }      { (yyval.Char) = '\230'; }
4881      break;      break;
4882    
4883    case 344:    case 344:
4884  #line 336 "lscp.y"  #line 447 "lscp.y"
4885      { yyval.Char = '\363'; }      { (yyval.Char) = '\231'; }
4886      break;      break;
4887    
4888    case 345:    case 345:
4889  #line 336 "lscp.y"  #line 447 "lscp.y"
4890      { yyval.Char = '\364'; }      { (yyval.Char) = '\232'; }
4891      break;      break;
4892    
4893    case 346:    case 346:
4894  #line 337 "lscp.y"  #line 448 "lscp.y"
4895      { yyval.Char = '\365'; }      { (yyval.Char) = '\233'; }
4896      break;      break;
4897    
4898    case 347:    case 347:
4899  #line 337 "lscp.y"  #line 448 "lscp.y"
4900      { yyval.Char = '\366'; }      { (yyval.Char) = '\234'; }
4901      break;      break;
4902    
4903    case 348:    case 348:
4904  #line 337 "lscp.y"  #line 448 "lscp.y"
4905      { yyval.Char = '\367'; }      { (yyval.Char) = '\235'; }
4906      break;      break;
4907    
4908    case 349:    case 349:
4909  #line 338 "lscp.y"  #line 449 "lscp.y"
4910      { yyval.Char = '\370'; }      { (yyval.Char) = '\236'; }
4911      break;      break;
4912    
4913    case 350:    case 350:
4914  #line 338 "lscp.y"  #line 449 "lscp.y"
4915      { yyval.Char = '\371'; }      { (yyval.Char) = '\237'; }
4916      break;      break;
4917    
4918    case 351:    case 351:
4919  #line 338 "lscp.y"  #line 449 "lscp.y"
4920      { yyval.Char = '\372'; }      { (yyval.Char) = '\240'; }
4921      break;      break;
4922    
4923    case 352:    case 352:
4924  #line 339 "lscp.y"  #line 450 "lscp.y"
4925      { yyval.Char = '\373'; }      { (yyval.Char) = '\241'; }
4926      break;      break;
4927    
4928    case 353:    case 353:
4929  #line 339 "lscp.y"  #line 450 "lscp.y"
4930      { yyval.Char = '\374'; }      { (yyval.Char) = '\242'; }
4931      break;      break;
4932    
4933    case 354:    case 354:
4934  #line 339 "lscp.y"  #line 450 "lscp.y"
4935      { yyval.Char = '\375'; }      { (yyval.Char) = '\243'; }
4936      break;      break;
4937    
4938    case 355:    case 355:
4939  #line 340 "lscp.y"  #line 451 "lscp.y"
4940      { yyval.Char = '\376'; }      { (yyval.Char) = '\244'; }
4941      break;      break;
4942    
4943    case 356:    case 356:
4944  #line 340 "lscp.y"  #line 451 "lscp.y"
4945      { yyval.Char = '\377'; }      { (yyval.Char) = '\245'; }
4946      break;      break;
4947    
4948    case 357:    case 357:
4949  #line 343 "lscp.y"  #line 451 "lscp.y"
4950      { yyval.String = " ";      }      { (yyval.Char) = '\246'; }
4951        break;
4952    
4953      case 358:
4954    #line 452 "lscp.y"
4955        { (yyval.Char) = '\247'; }
4956      break;      break;
4957    
4958    case 359:    case 359:
4959  #line 345 "lscp.y"  #line 452 "lscp.y"
4960      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '\250'; }
4961      break;      break;
4962    
4963    case 360:    case 360:
4964  #line 346 "lscp.y"  #line 452 "lscp.y"
4965      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '\251'; }
4966      break;      break;
4967    
4968    case 361:    case 361:
4969  #line 349 "lscp.y"  #line 453 "lscp.y"
4970      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\252'; }
4971      break;      break;
4972    
4973    case 362:    case 362:
4974  #line 350 "lscp.y"  #line 453 "lscp.y"
4975      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\253'; }
4976      break;      break;
4977    
4978      case 363:
4979    #line 453 "lscp.y"
4980        { (yyval.Char) = '\254'; }
4981        break;
4982    
4983      }    case 364:
4984    #line 454 "lscp.y"
4985        { (yyval.Char) = '\255'; }
4986        break;
4987    
4988  /* Line 999 of yacc.c.  */    case 365:
4989  #line 4230 "y.tab.c"  #line 454 "lscp.y"
4990        { (yyval.Char) = '\256'; }
4991    yyvsp -= yylen;      break;
   yyssp -= yylen;  
4992    
4993      case 366:
4994    #line 454 "lscp.y"
4995        { (yyval.Char) = '\257'; }
4996        break;
4997    
4998      case 367:
4999    #line 455 "lscp.y"
5000        { (yyval.Char) = '\260'; }
5001        break;
5002    
5003      case 368:
5004    #line 455 "lscp.y"
5005        { (yyval.Char) = '\261'; }
5006        break;
5007    
5008      case 369:
5009    #line 455 "lscp.y"
5010        { (yyval.Char) = '\262'; }
5011        break;
5012    
5013      case 370:
5014    #line 456 "lscp.y"
5015        { (yyval.Char) = '\263'; }
5016        break;
5017    
5018      case 371:
5019    #line 456 "lscp.y"
5020        { (yyval.Char) = '\264'; }
5021        break;
5022    
5023      case 372:
5024    #line 456 "lscp.y"
5025        { (yyval.Char) = '\265'; }
5026        break;
5027    
5028      case 373:
5029    #line 457 "lscp.y"
5030        { (yyval.Char) = '\266'; }
5031        break;
5032    
5033      case 374:
5034    #line 457 "lscp.y"
5035        { (yyval.Char) = '\267'; }
5036        break;
5037    
5038      case 375:
5039    #line 457 "lscp.y"
5040        { (yyval.Char) = '\270'; }
5041        break;
5042    
5043      case 376:
5044    #line 458 "lscp.y"
5045        { (yyval.Char) = '\271'; }
5046        break;
5047    
5048      case 377:
5049    #line 458 "lscp.y"
5050        { (yyval.Char) = '\272'; }
5051        break;
5052    
5053      case 378:
5054    #line 458 "lscp.y"
5055        { (yyval.Char) = '\273'; }
5056        break;
5057    
5058      case 379:
5059    #line 459 "lscp.y"
5060        { (yyval.Char) = '\274'; }
5061        break;
5062    
5063      case 380:
5064    #line 459 "lscp.y"
5065        { (yyval.Char) = '\275'; }
5066        break;
5067    
5068      case 381:
5069    #line 459 "lscp.y"
5070        { (yyval.Char) = '\276'; }
5071        break;
5072    
5073      case 382:
5074    #line 460 "lscp.y"
5075        { (yyval.Char) = '\277'; }
5076        break;
5077    
5078      case 383:
5079    #line 460 "lscp.y"
5080        { (yyval.Char) = '\300'; }
5081        break;
5082    
5083      case 384:
5084    #line 460 "lscp.y"
5085        { (yyval.Char) = '\301'; }
5086        break;
5087    
5088      case 385:
5089    #line 461 "lscp.y"
5090        { (yyval.Char) = '\302'; }
5091        break;
5092    
5093      case 386:
5094    #line 461 "lscp.y"
5095        { (yyval.Char) = '\303'; }
5096        break;
5097    
5098      case 387:
5099    #line 461 "lscp.y"
5100        { (yyval.Char) = '\304'; }
5101        break;
5102    
5103      case 388:
5104    #line 462 "lscp.y"
5105        { (yyval.Char) = '\305'; }
5106        break;
5107    
5108      case 389:
5109    #line 462 "lscp.y"
5110        { (yyval.Char) = '\306'; }
5111        break;
5112    
5113      case 390:
5114    #line 462 "lscp.y"
5115        { (yyval.Char) = '\307'; }
5116        break;
5117    
5118      case 391:
5119    #line 463 "lscp.y"
5120        { (yyval.Char) = '\310'; }
5121        break;
5122    
5123      case 392:
5124    #line 463 "lscp.y"
5125        { (yyval.Char) = '\311'; }
5126        break;
5127    
5128      case 393:
5129    #line 463 "lscp.y"
5130        { (yyval.Char) = '\312'; }
5131        break;
5132    
5133      case 394:
5134    #line 464 "lscp.y"
5135        { (yyval.Char) = '\313'; }
5136        break;
5137    
5138      case 395:
5139    #line 464 "lscp.y"
5140        { (yyval.Char) = '\314'; }
5141        break;
5142    
5143      case 396:
5144    #line 464 "lscp.y"
5145        { (yyval.Char) = '\315'; }
5146        break;
5147    
5148      case 397:
5149    #line 465 "lscp.y"
5150        { (yyval.Char) = '\316'; }
5151        break;
5152    
5153      case 398:
5154    #line 465 "lscp.y"
5155        { (yyval.Char) = '\317'; }
5156        break;
5157    
5158      case 399:
5159    #line 465 "lscp.y"
5160        { (yyval.Char) = '\320'; }
5161        break;
5162    
5163      case 400:
5164    #line 466 "lscp.y"
5165        { (yyval.Char) = '\321'; }
5166        break;
5167    
5168      case 401:
5169    #line 466 "lscp.y"
5170        { (yyval.Char) = '\322'; }
5171        break;
5172    
5173      case 402:
5174    #line 466 "lscp.y"
5175        { (yyval.Char) = '\323'; }
5176        break;
5177    
5178      case 403:
5179    #line 467 "lscp.y"
5180        { (yyval.Char) = '\324'; }
5181        break;
5182    
5183      case 404:
5184    #line 467 "lscp.y"
5185        { (yyval.Char) = '\325'; }
5186        break;
5187    
5188      case 405:
5189    #line 467 "lscp.y"
5190        { (yyval.Char) = '\326'; }
5191        break;
5192    
5193      case 406:
5194    #line 468 "lscp.y"
5195        { (yyval.Char) = '\327'; }
5196        break;
5197    
5198      case 407:
5199    #line 468 "lscp.y"
5200        { (yyval.Char) = '\330'; }
5201        break;
5202    
5203      case 408:
5204    #line 468 "lscp.y"
5205        { (yyval.Char) = '\331'; }
5206        break;
5207    
5208      case 409:
5209    #line 469 "lscp.y"
5210        { (yyval.Char) = '\332'; }
5211        break;
5212    
5213      case 410:
5214    #line 469 "lscp.y"
5215        { (yyval.Char) = '\333'; }
5216        break;
5217    
5218      case 411:
5219    #line 469 "lscp.y"
5220        { (yyval.Char) = '\334'; }
5221        break;
5222    
5223      case 412:
5224    #line 470 "lscp.y"
5225        { (yyval.Char) = '\335'; }
5226        break;
5227    
5228      case 413:
5229    #line 470 "lscp.y"
5230        { (yyval.Char) = '\336'; }
5231        break;
5232    
5233      case 414:
5234    #line 470 "lscp.y"
5235        { (yyval.Char) = '\337'; }
5236        break;
5237    
5238      case 415:
5239    #line 471 "lscp.y"
5240        { (yyval.Char) = '\340'; }
5241        break;
5242    
5243      case 416:
5244    #line 471 "lscp.y"
5245        { (yyval.Char) = '\341'; }
5246        break;
5247    
5248      case 417:
5249    #line 471 "lscp.y"
5250        { (yyval.Char) = '\342'; }
5251        break;
5252    
5253      case 418:
5254    #line 472 "lscp.y"
5255        { (yyval.Char) = '\343'; }
5256        break;
5257    
5258      case 419:
5259    #line 472 "lscp.y"
5260        { (yyval.Char) = '\344'; }
5261        break;
5262    
5263      case 420:
5264    #line 472 "lscp.y"
5265        { (yyval.Char) = '\345'; }
5266        break;
5267    
5268      case 421:
5269    #line 473 "lscp.y"
5270        { (yyval.Char) = '\346'; }
5271        break;
5272    
5273      case 422:
5274    #line 473 "lscp.y"
5275        { (yyval.Char) = '\347'; }
5276        break;
5277    
5278      case 423:
5279    #line 473 "lscp.y"
5280        { (yyval.Char) = '\350'; }
5281        break;
5282    
5283      case 424:
5284    #line 474 "lscp.y"
5285        { (yyval.Char) = '\351'; }
5286        break;
5287    
5288      case 425:
5289    #line 474 "lscp.y"
5290        { (yyval.Char) = '\352'; }
5291        break;
5292    
5293      case 426:
5294    #line 474 "lscp.y"
5295        { (yyval.Char) = '\353'; }
5296        break;
5297    
5298      case 427:
5299    #line 475 "lscp.y"
5300        { (yyval.Char) = '\354'; }
5301        break;
5302    
5303      case 428:
5304    #line 475 "lscp.y"
5305        { (yyval.Char) = '\355'; }
5306        break;
5307    
5308      case 429:
5309    #line 475 "lscp.y"
5310        { (yyval.Char) = '\356'; }
5311        break;
5312    
5313      case 430:
5314    #line 476 "lscp.y"
5315        { (yyval.Char) = '\357'; }
5316        break;
5317    
5318      case 431:
5319    #line 476 "lscp.y"
5320        { (yyval.Char) = '\360'; }
5321        break;
5322    
5323      case 432:
5324    #line 476 "lscp.y"
5325        { (yyval.Char) = '\361'; }
5326        break;
5327    
5328      case 433:
5329    #line 477 "lscp.y"
5330        { (yyval.Char) = '\362'; }
5331        break;
5332    
5333      case 434:
5334    #line 477 "lscp.y"
5335        { (yyval.Char) = '\363'; }
5336        break;
5337    
5338      case 435:
5339    #line 477 "lscp.y"
5340        { (yyval.Char) = '\364'; }
5341        break;
5342    
5343      case 436:
5344    #line 478 "lscp.y"
5345        { (yyval.Char) = '\365'; }
5346        break;
5347    
5348      case 437:
5349    #line 478 "lscp.y"
5350        { (yyval.Char) = '\366'; }
5351        break;
5352    
5353      case 438:
5354    #line 478 "lscp.y"
5355        { (yyval.Char) = '\367'; }
5356        break;
5357    
5358      case 439:
5359    #line 479 "lscp.y"
5360        { (yyval.Char) = '\370'; }
5361        break;
5362    
5363      case 440:
5364    #line 479 "lscp.y"
5365        { (yyval.Char) = '\371'; }
5366        break;
5367    
5368      case 441:
5369    #line 479 "lscp.y"
5370        { (yyval.Char) = '\372'; }
5371        break;
5372    
5373      case 442:
5374    #line 480 "lscp.y"
5375        { (yyval.Char) = '\373'; }
5376        break;
5377    
5378      case 443:
5379    #line 480 "lscp.y"
5380        { (yyval.Char) = '\374'; }
5381        break;
5382    
5383      case 444:
5384    #line 480 "lscp.y"
5385        { (yyval.Char) = '\375'; }
5386        break;
5387    
5388      case 445:
5389    #line 481 "lscp.y"
5390        { (yyval.Char) = '\376'; }
5391        break;
5392    
5393      case 446:
5394    #line 481 "lscp.y"
5395        { (yyval.Char) = '\377'; }
5396        break;
5397    
5398      case 447:
5399    #line 484 "lscp.y"
5400        { (yyval.String) = " ";      }
5401        break;
5402    
5403      case 449:
5404    #line 486 "lscp.y"
5405        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5406        break;
5407    
5408      case 450:
5409    #line 487 "lscp.y"
5410        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5411        break;
5412    
5413      case 451:
5414    #line 490 "lscp.y"
5415        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5416        break;
5417    
5418      case 452:
5419    #line 491 "lscp.y"
5420        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5421        break;
5422    
5423    
5424    /* Line 1267 of yacc.c.  */
5425    #line 5426 "y.tab.c"
5426          default: break;
5427        }
5428      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5429    
5430      YYPOPSTACK (yylen);
5431      yylen = 0;
5432    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
5433    
5434    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4260  yyerrlab: Line 5457  yyerrlab:
5457    if (!yyerrstatus)    if (!yyerrstatus)
5458      {      {
5459        ++yynerrs;        ++yynerrs;
5460  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
5461        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
5462    #else
5463        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
5464          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5465            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5466            int yytype = YYTRANSLATE (yychar);            {
5467            char *yymsg;              YYSIZE_T yyalloc = 2 * yysize;
5468            int yyx, yycount;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5469                  yyalloc = YYSTACK_ALLOC_MAXIMUM;
5470            yycount = 0;              if (yymsg != yymsgbuf)
           /* Start YYX at -YYN if negative to avoid negative indexes in  
              YYCHECK.  */  
           for (yyx = yyn < 0 ? -yyn : 0;  
                yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
               yysize += yystrlen (yytname[yyx]) + 15, yycount++;  
           yysize += yystrlen ("syntax error, unexpected ") + 1;  
           yysize += yystrlen (yytname[yytype]);  
           yymsg = (char *) YYSTACK_ALLOC (yysize);  
           if (yymsg != 0)  
             {  
               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");  
               yyp = yystpcpy (yyp, yytname[yytype]);  
   
               if (yycount < 5)  
                 {  
                   yycount = 0;  
                   for (yyx = yyn < 0 ? -yyn : 0;  
                        yyx < (int) (sizeof (yytname) / sizeof (char *));  
                        yyx++)  
                     if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
                       {  
                         const char *yyq = ! yycount ? ", expecting " : " or ";  
                         yyp = yystpcpy (yyp, yyq);  
                         yyp = yystpcpy (yyp, yytname[yyx]);  
                         yycount++;  
                       }  
                 }  
               yyerror (yymsg);  
5471                YYSTACK_FREE (yymsg);                YYSTACK_FREE (yymsg);
5472              }              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5473            else              if (yymsg)
5474              yyerror ("syntax error; also virtual memory exhausted");                yymsg_alloc = yyalloc;
5475          }              else
5476        else                {
5477  #endif /* YYERROR_VERBOSE */                  yymsg = yymsgbuf;
5478          yyerror ("syntax error");                  yymsg_alloc = sizeof yymsgbuf;
5479                  }
5480              }
5481    
5482            if (0 < yysize && yysize <= yymsg_alloc)
5483              {
5484                (void) yysyntax_error (yymsg, yystate, yychar);
5485                yyerror (yymsg);
5486              }
5487            else
5488              {
5489                yyerror (YY_("syntax error"));
5490                if (yysize != 0)
5491                  goto yyexhaustedlab;
5492              }
5493          }
5494    #endif
5495      }      }
5496    
5497    
5498    
5499    if (yyerrstatus == 3)    if (yyerrstatus == 3)
5500      {      {
5501        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
5502           error, discard it.  */           error, discard it.  */
5503    
5504        /* Return failure if at end of input.  */        if (yychar <= YYEOF)
5505        if (yychar == YYEOF)          {
5506          {            /* Return failure if at end of input.  */
5507            /* Pop the error token.  */            if (yychar == YYEOF)
5508            YYPOPSTACK;              YYABORT;
5509            /* Pop the rest of the stack.  */          }
5510            while (yyss < yyssp)        else
5511              {          {
5512                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);            yydestruct ("Error: discarding",
5513                yydestruct (yystos[*yyssp], yyvsp);                        yytoken, &yylval);
5514                YYPOPSTACK;            yychar = YYEMPTY;
5515              }          }
           YYABORT;  
         }  
   
       YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);  
       yydestruct (yytoken, &yylval);  
       yychar = YYEMPTY;  
   
5516      }      }
5517    
5518    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
5519       token.  */       token.  */
5520    goto yyerrlab1;    goto yyerrlab1;
5521    
5522    
5523  /*----------------------------------------------------.  /*---------------------------------------------------.
5524  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrorlab -- error raised explicitly by YYERROR.  |
5525  `----------------------------------------------------*/  `---------------------------------------------------*/
5526    yyerrorlab:
5527    
5528      /* Pacify compilers like GCC when the user code never invokes
5529         YYERROR and the label yyerrorlab therefore never appears in user
5530         code.  */
5531      if (/*CONSTCOND*/ 0)
5532         goto yyerrorlab;
5533    
5534      /* Do not reclaim the symbols of the rule which action triggered
5535         this YYERROR.  */
5536      YYPOPSTACK (yylen);
5537      yylen = 0;
5538      YY_STACK_PRINT (yyss, yyssp);
5539      yystate = *yyssp;
5540      goto yyerrlab1;
5541    
5542    
5543    /*-------------------------------------------------------------.
5544    | yyerrlab1 -- common code for both syntax error and YYERROR.  |
5545    `-------------------------------------------------------------*/
5546  yyerrlab1:  yyerrlab1:
5547    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
5548    
# Line 4367  yyerrlab1: Line 5564  yyerrlab1:
5564        if (yyssp == yyss)        if (yyssp == yyss)
5565          YYABORT;          YYABORT;
5566    
       YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
       yydestruct (yystos[yystate], yyvsp);  
       yyvsp--;  
       yystate = *--yyssp;  
5567    
5568          yydestruct ("Error: popping",
5569                      yystos[yystate], yyvsp);
5570          YYPOPSTACK (1);
5571          yystate = *yyssp;
5572        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5573      }      }
5574    
5575    if (yyn == YYFINAL)    if (yyn == YYFINAL)
5576      YYACCEPT;      YYACCEPT;
5577    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
5578    *++yyvsp = yylval;    *++yyvsp = yylval;
5579    
5580    
5581      /* Shift the error token.  */
5582      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5583    
5584    yystate = yyn;    yystate = yyn;
5585    goto yynewstate;    goto yynewstate;
5586    
# Line 4402  yyabortlab: Line 5600  yyabortlab:
5600    goto yyreturn;    goto yyreturn;
5601    
5602  #ifndef yyoverflow  #ifndef yyoverflow
5603  /*----------------------------------------------.  /*-------------------------------------------------.
5604  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
5605  `----------------------------------------------*/  `-------------------------------------------------*/
5606  yyoverflowlab:  yyexhaustedlab:
5607    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
5608    yyresult = 2;    yyresult = 2;
5609    /* Fall through.  */    /* Fall through.  */
5610  #endif  #endif
5611    
5612  yyreturn:  yyreturn:
5613      if (yychar != YYEOF && yychar != YYEMPTY)
5614         yydestruct ("Cleanup: discarding lookahead",
5615                     yytoken, &yylval);
5616      /* Do not reclaim the symbols of the rule which action triggered
5617         this YYABORT or YYACCEPT.  */
5618      YYPOPSTACK (yylen);
5619      YY_STACK_PRINT (yyss, yyssp);
5620      while (yyssp != yyss)
5621        {
5622          yydestruct ("Cleanup: popping",
5623                      yystos[*yyssp], yyvsp);
5624          YYPOPSTACK (1);
5625        }
5626  #ifndef yyoverflow  #ifndef yyoverflow
5627    if (yyss != yyssa)    if (yyss != yyssa)
5628      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
5629  #endif  #endif
5630    return yyresult;  #if YYERROR_VERBOSE
5631      if (yymsg != yymsgbuf)
5632        YYSTACK_FREE (yymsg);
5633    #endif
5634      /* Make sure YYID is used.  */
5635      return YYID (yyresult);
5636  }  }
5637    
5638    
5639  #line 506 "lscp.y"  #line 758 "lscp.y"
5640    
5641    
5642  /**  /**
# Line 4438  void restart(yyparse_param_t* pparam, in Line 5654  void restart(yyparse_param_t* pparam, in
5654      ptr   = 0;      ptr   = 0;
5655  }  }
5656    
   

Legend:
Removed from v.225  
changed lines
  Added in v.1109

  ViewVC Help
Powered by ViewVC