/[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 226 by schoenebeck, Wed Aug 25 22:00:33 2004 UTC revision 973 by schoenebeck, Fri Dec 15 21:40:27 2006 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875a.  */  /* A Bison parser, made by GNU Bison 2.2.  */
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.2"
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    #ifdef YYTYPE_INT16
167    typedef YYTYPE_INT16 yytype_int16;
168    #else
169    typedef short int yytype_int16;
170    #endif
171    
172  # if YYSTACK_USE_ALLOCA  #ifndef YYSIZE_T
173  #  define YYSTACK_ALLOC alloca  # 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))
348    
349  #endif  #endif
350    
351  #if defined (__STDC__) || defined (__cplusplus)  /* YYFINAL -- State number of the termination state.  */
352     typedef signed char yysigned_char;  #define YYFINAL  46
 #else  
    typedef short yysigned_char;  
 #endif  
   
 /* YYFINAL -- State number of the termination state. */  
 #define YYFINAL  39  
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   3982  #define YYLAST   4282
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  227  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  89  #define YYNNTS  124
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  413  #define YYNRULES  486
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1133  #define YYNSTATES  1455
364    
365  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
366  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
367  #define YYMAXUTOK   257  #define YYMAXUTOK   257
368    
369  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
370    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371    
372  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
373  static const unsigned char yytranslate[] =  static const yytype_uint8 yytranslate[] =
374  {  {
375         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
376       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
377         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
378         2,     2,   224,    70,   223,     3,    71,    72,    73,   222,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        74,    75,    76,     6,    77,     7,     5,    78,     8,     9,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        10,    11,    12,    13,    14,    15,    16,    17,    79,    80,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        81,     4,    82,    83,    84,    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,    85,    86,    87,    88,    89,     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,    90,    91,    92,    93,     2,    94,    95,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
# Line 268  static const unsigned char yytranslate[] Line 403  static const unsigned char yytranslate[]
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,   147,   165,
413       171,   177,   185,   195,   203,   213,   215,   221,   229,   235,       183,   203,   211,   215,   219,   223,   225,   227,   233,   241,
414       241,   247,   255,   265,   273,   283,   287,   291,   297,   301,       251,   253,   259,   267,   277,   279,   281,   287,   293,   301,
415       307,   311,   315,   319,   323,   327,   333,   341,   347,   357,       311,   319,   329,   331,   337,   345,   351,   357,   363,   367,
416       363,   369,   375,   381,   387,   391,   397,   399,   401,   403,       369,   371,   375,   379,   389,   391,   397,   405,   415,   423,
417       405,   407,   413,   421,   425,   427,   429,   431,   433,   435,       433,   437,   445,   449,   455,   459,   465,   469,   473,   477,
418       437,   439,   441,   443,   445,   447,   449,   451,   453,   455,       481,   485,   489,   493,   497,   503,   511,   517,   527,   533,
419       457,   459,   461,   463,   466,   470,   475,   480,   482,   485,       539,   545,   551,   557,   563,   569,   575,   581,   587,   591,
420       487,   489,   491,   493,   495,   497,   499,   501,   503,   505,       597,   599,   601,   603,   605,   607,   609,   611,   613,   617,
421       507,   510,   513,   516,   519,   522,   525,   528,   531,   534,       621,   623,   629,   637,   641,   643,   645,   647,   649,   651,
422       536,   538,   540,   542,   544,   546,   548,   550,   552,   554,       653,   655,   657,   659,   661,   663,   665,   667,   669,   671,
423       556,   558,   560,   562,   564,   566,   568,   570,   572,   574,       673,   675,   677,   679,   681,   683,   685,   689,   691,   693,
424       576,   578,   580,   582,   584,   586,   588,   590,   592,   594,       695,   697,   699,   701,   703,   706,   710,   715,   720,   722,
425       596,   598,   600,   602,   604,   606,   608,   610,   612,   614,       725,   727,   729,   731,   733,   735,   737,   739,   741,   743,
426       616,   618,   620,   622,   624,   626,   628,   630,   632,   634,       745,   747,   750,   753,   756,   759,   762,   765,   768,   771,
427       636,   638,   640,   642,   644,   646,   648,   650,   652,   654,       774,   776,   778,   780,   782,   784,   786,   788,   790,   792,
428       656,   658,   660,   662,   664,   666,   668,   670,   672,   674,       794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
429       676,   678,   680,   682,   684,   686,   688,   690,   692,   694,       814,   816,   818,   820,   822,   824,   826,   828,   830,   832,
430       696,   698,   700,   702,   704,   706,   708,   710,   712,   714,       834,   836,   838,   840,   842,   844,   846,   848,   850,   852,
431       716,   718,   720,   722,   724,   726,   728,   730,   732,   734,       854,   856,   858,   860,   862,   864,   866,   868,   870,   872,
432       736,   738,   740,   742,   744,   746,   748,   750,   752,   754,       874,   876,   878,   880,   882,   884,   886,   888,   890,   892,
433       756,   758,   760,   762,   764,   766,   768,   770,   772,   774,       894,   896,   898,   900,   902,   904,   906,   908,   910,   912,
434       776,   778,   780,   782,   784,   786,   788,   790,   792,   794,       914,   916,   918,   920,   922,   924,   926,   928,   930,   932,
435       796,   798,   800,   802,   804,   806,   808,   810,   812,   814,       934,   936,   938,   940,   942,   944,   946,   948,   950,   952,
436       816,   818,   820,   822,   824,   826,   828,   830,   832,   834,       954,   956,   958,   960,   962,   964,   966,   968,   970,   972,
437       836,   838,   840,   842,   844,   846,   848,   850,   852,   854,       974,   976,   978,   980,   982,   984,   986,   988,   990,   992,
438       856,   858,   860,   862,   864,   866,   868,   870,   872,   874,       994,   996,   998,  1000,  1002,  1004,  1006,  1008,  1010,  1012,
439       876,   878,   880,   882,   884,   886,   888,   890,   892,   894,      1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,  1030,  1032,
440       896,   898,   900,   902,   904,   906,   908,   910,   912,   914,      1034,  1036,  1038,  1040,  1042,  1044,  1046,  1048,  1050,  1052,
441       916,   918,   920,   922,   924,   926,   928,   930,   932,   934,      1054,  1056,  1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,
442       936,   938,   940,   942,   944,   946,   948,   950,   952,   954,      1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,  1090,  1092,
443       956,   958,   960,   962,   964,   966,   968,   970,   972,   974,      1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,  1110,  1112,
444       976,   979,   982,   986,   990,   992,   994,   996,  1000,  1004,      1114,  1116,  1118,  1120,  1122,  1124,  1126,  1128,  1130,  1132,
445      1011,  1019,  1024,  1029,  1039,  1046,  1050,  1060,  1072,  1080,      1134,  1136,  1138,  1140,  1142,  1144,  1146,  1148,  1150,  1152,
446      1098,  1129,  1138,  1143,  1155,  1168,  1180,  1191,  1198,  1228,      1154,  1156,  1158,  1160,  1162,  1164,  1166,  1168,  1170,  1172,
447      1249,  1269,  1299,  1319,  1350,  1371,  1389,  1418,  1446,  1472,      1174,  1176,  1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,
448      1491,  1509,  1537,  1555,  1571,  1590,  1606,  1617,  1624,  1630,      1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,  1210,  1212,
449      1641,  1647,  1661,  1666      1214,  1216,  1219,  1222,  1226,  1230,  1232,  1234,  1236,  1240,
450        1244,  1248,  1254,  1260,  1267,  1275,  1280,  1285,  1289,  1294,
451        1302,  1312,  1319,  1323,  1333,  1345,  1352,  1360,  1378,  1409,
452        1418,  1423,  1437,  1450,  1462,  1475,  1487,  1505,  1527,  1538,
453        1545,  1555,  1570,  1581,  1611,  1632,  1652,  1682,  1702,  1733,
454        1754,  1772,  1801,  1829,  1855,  1874,  1892,  1920,  1936,  1953,
455        1973,  1994,  2012,  2028,  2047,  2063,  2074,  2081,  2088,  2093,
456        2098,  2104,  2115,  2121,  2135,  2140,  2145
457  };  };
458    
459  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
460  static const short yyrhs[] =  static const yytype_int16 yyrhs[] =
461  {  {
462       228,     0,    -1,   229,   267,    -1,   229,   268,   267,    -1,       228,     0,    -1,   229,   280,    -1,   229,   281,   280,    -1,
463        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
464         3,    -1,   230,   266,    -1,   230,   262,    -1,   230,   258,         3,    -1,   230,   279,    -1,   230,   275,    -1,   230,   271,
465        -1,   269,   266,   280,    -1,   270,   266,   234,    -1,   271,        -1,   282,   279,   232,    -1,   284,   279,   235,    -1,   285,
466       266,   236,    -1,   272,   266,   237,    -1,   273,   266,   242,       279,   236,    -1,   283,   279,   238,    -1,   287,   279,   240,
467        -1,   274,   266,   238,    -1,   276,   266,   280,   266,   252,        -1,   288,   279,   243,    -1,   289,   279,   248,    -1,   290,
468        -1,   277,   266,   235,    -1,   278,   266,   232,    -1,   279,       279,   244,    -1,   295,   279,   237,    -1,   296,   279,   239,
469       266,   233,    -1,   312,   266,   280,   266,   252,    -1,   312,        -1,   297,   279,   233,    -1,   298,   279,   234,    -1,   299,
470        -1,   315,    -1,   283,    -1,   287,    -1,   286,    -1,   285,       279,   277,    -1,   346,   279,   241,    -1,   286,   279,   242,
471        -1,   284,    -1,   313,    -1,   283,    -1,   287,    -1,   286,        -1,   346,    -1,   350,    -1,   300,    -1,   333,    -1,   333,
472        -1,   285,    -1,   284,    -1,   313,    -1,   281,    -1,   298,       279,   266,    -1,   305,    -1,   309,    -1,   308,    -1,   307,
473        -1,   304,   266,   284,   266,   258,    -1,   303,   266,   284,        -1,   306,    -1,   347,    -1,   310,    -1,   305,    -1,   309,
474       266,   258,   266,   258,    -1,   303,   266,   284,   266,   258,        -1,   308,    -1,   307,    -1,   306,    -1,   347,    -1,   310,
475       266,   258,   266,   240,    -1,   282,    -1,   294,   266,   284,        -1,   331,   279,   258,   279,   259,   279,   260,   279,   264,
476       266,   258,    -1,   293,   266,   284,   266,   258,   266,   258,       279,   265,   279,   263,   279,   261,    -1,   331,   279,   258,
477        -1,   293,   266,   284,   266,   258,   266,   258,   266,   240,       279,   259,   279,   260,   279,   264,   279,   265,   279,   263,
478        -1,   291,    -1,   301,    -1,   292,   266,   284,   266,   262,       279,   261,   279,   251,    -1,   331,   279,   258,   279,   259,
479        -1,   302,   266,   284,   266,   262,    -1,   305,   266,   284,       279,   260,   279,   264,   279,   265,   279,   263,   279,   261,
480       266,   262,   266,   262,    -1,   300,   266,   284,   266,   262,       279,   267,    -1,   331,   279,   258,   279,   259,   279,   260,
481       266,   262,   266,   258,    -1,   296,   266,   284,   266,   262,       279,   264,   279,   265,   279,   263,   279,   261,   279,   251,
482       266,   262,    -1,   295,   266,   284,   266,   262,   266,   262,       279,   267,    -1,   331,   279,   258,   279,   259,   279,   260,
483       266,   258,    -1,   283,    -1,   280,   266,   284,   266,   252,        -1,   300,   279,   262,    -1,   333,   279,   258,    -1,   333,
484        -1,   280,   266,   285,   266,   241,   266,   252,    -1,   280,       279,   291,    -1,   301,    -1,   325,    -1,   335,   279,   304,
485       266,   286,   266,   252,    -1,   280,   266,   287,   266,   252,       279,   271,    -1,   330,   279,   304,   279,   271,   279,   271,
486        -1,   289,   266,   284,   266,   254,    -1,   290,   266,   262,        -1,   330,   279,   304,   279,   271,   279,   271,   279,   246,
487       266,   258,     4,   256,    -1,   295,   266,   262,   266,   262,        -1,   302,    -1,   321,   279,   304,   279,   271,    -1,   320,
488       266,   258,     4,   256,    -1,   299,   266,   262,   266,   258,       279,   304,   279,   271,   279,   271,    -1,   320,   279,   304,
489         4,   256,    -1,   300,   266,   262,   266,   262,   266,   258,       279,   271,   279,   271,   279,   246,    -1,   318,    -1,   328,
490         4,   256,    -1,   280,   266,   239,    -1,   314,   266,   257,        -1,   319,   279,   304,   279,   275,    -1,   329,   279,   304,
491        -1,   292,   266,   258,   266,   240,    -1,   292,   266,   258,       279,   275,    -1,   336,   279,   304,   279,   275,   279,   275,
492        -1,   302,   266,   258,   266,   240,    -1,   302,   266,   258,        -1,   327,   279,   304,   279,   275,   279,   275,   279,   271,
493        -1,   292,   266,   262,    -1,   302,   266,   262,    -1,   288,        -1,   323,   279,   304,   279,   275,   279,   275,    -1,   322,
494       266,   243,    -1,   289,   266,   244,    -1,   292,   266,   252,       279,   304,   279,   275,   279,   275,   279,   271,    -1,   303,
495       266,   245,    -1,   296,   266,   252,   266,   246,   266,   246,        -1,   300,   279,   304,   279,   262,    -1,   300,   279,   307,
496        -1,   297,   266,   252,   266,   247,    -1,   308,   266,   252,       279,   247,   279,   262,    -1,   300,   279,   308,   279,   262,
497       266,   245,   266,   248,   266,   249,    -1,   302,   266,   252,        -1,   300,   279,   309,   279,   262,    -1,   313,   279,   304,
498       266,   245,    -1,   305,   266,   252,   266,   248,    -1,   306,       279,   264,    -1,   340,   279,   304,    -1,   310,    -1,   311,
499       266,   252,   266,   249,    -1,   307,   266,   252,   266,   250,        -1,   332,   279,   258,    -1,   332,   279,   291,    -1,   331,
500        -1,   309,   266,   252,   266,   251,    -1,   258,     4,   256,       279,   304,   279,   258,   279,   259,   279,   260,    -1,   334,
501        -1,   240,   266,   258,     4,   256,    -1,   310,    -1,   311,        -1,   333,   279,   304,   279,   258,    -1,   317,   279,   275,
502        -1,   291,    -1,   301,    -1,   283,    -1,   255,   266,   253,       279,   271,     4,   268,    -1,   322,   279,   275,   279,   275,
503       266,   252,    -1,   275,   266,   255,   266,   253,   266,   252,       279,   271,     4,   268,    -1,   326,   279,   275,   279,   271,
504        -1,   254,   266,   252,    -1,   262,    -1,   262,    -1,   258,         4,   268,    -1,   327,   279,   275,   279,   275,   279,   271,
505        -1,   262,    -1,   262,    -1,   258,    -1,   259,    -1,   262,         4,   268,    -1,   300,   279,   245,    -1,   333,   279,   348,
506        -1,   262,    -1,   262,    -1,   258,    -1,   265,    -1,   258,       279,   258,   279,   266,    -1,   349,   279,   270,    -1,   319,
507        -1,   265,    -1,   262,    -1,   259,    -1,   262,    -1,   258,       279,   271,   279,   246,    -1,   319,   279,   271,    -1,   329,
508        -1,   263,    -1,   258,   263,    -1,   260,     5,   260,    -1,       279,   271,   279,   246,    -1,   329,   279,   271,    -1,   300,
509         6,   260,     5,   260,    -1,     7,   260,     5,   260,    -1,       279,   262,    -1,   332,   279,   258,    -1,   332,   279,   291,
510       261,    -1,   260,   261,    -1,     8,    -1,     9,    -1,    10,        -1,   319,   279,   275,    -1,   329,   279,   275,    -1,   312,
511        -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,       279,   249,    -1,   313,   279,   250,    -1,   319,   279,   262,
512        -1,    16,    -1,    17,    -1,   261,    -1,     9,   260,    -1,       279,   252,    -1,   323,   279,   262,   279,   253,   279,   253,
513        10,   260,    -1,    11,   260,    -1,    12,   260,    -1,    13,        -1,   324,   279,   262,   279,   254,    -1,   339,   279,   262,
514       260,    -1,    14,   260,    -1,    15,   260,    -1,    16,   260,       279,   252,   279,   255,   279,   256,    -1,   329,   279,   262,
515        -1,    17,   260,    -1,    18,    -1,    19,    -1,    20,    -1,       279,   252,    -1,   336,   279,   262,   279,   255,    -1,   337,
516        21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,       279,   262,   279,   256,    -1,   338,   279,   262,   279,   257,
517        26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,        -1,   341,   279,   262,   279,   261,    -1,   342,   279,   262,
518        31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,       279,   270,    -1,   343,   279,   262,   279,   270,    -1,   333,
519        36,    -1,    37,    -1,    38,    -1,    39,    -1,    40,    -1,       279,   262,   279,   258,    -1,   333,   279,   262,   279,   292,
520        41,    -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1,        -1,   333,   279,   262,   279,   293,    -1,   271,     4,   268,
521        46,    -1,    47,    -1,    48,    -1,    49,    -1,    50,    -1,        -1,   246,   279,   271,     4,   268,    -1,   344,    -1,   345,
522        51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,        -1,   318,    -1,   328,    -1,   303,    -1,   301,    -1,   325,
523        56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,        -1,   302,    -1,   332,   279,   258,    -1,   332,   279,   291,
524        61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,        -1,   334,    -1,   265,   279,   263,   279,   262,    -1,   294,
525        66,    -1,    67,    -1,    68,    -1,    69,    -1,     8,    -1,       279,   265,   279,   263,   279,   262,    -1,   264,   279,   262,
526         9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,        -1,   314,    -1,   315,    -1,   316,    -1,   275,    -1,   275,
527        14,    -1,    15,    -1,    16,    -1,    17,    -1,    70,    -1,        -1,   271,    -1,   275,    -1,   275,    -1,   291,    -1,   271,
528         3,    -1,    71,    -1,    72,    -1,    73,    -1,    74,    -1,        -1,   275,    -1,   275,    -1,   275,    -1,   272,    -1,   275,
529        75,    -1,    76,    -1,     6,    -1,     7,    -1,     5,    -1,        -1,   275,    -1,   275,    -1,   271,    -1,   278,    -1,   278,
530        77,    -1,    78,    -1,    79,    -1,    80,    -1,    81,    -1,        -1,   278,    -1,   269,    -1,   268,     5,   269,    -1,   271,
531          -1,   278,    -1,   275,    -1,   272,    -1,   275,    -1,   271,
532          -1,   276,    -1,   271,   276,    -1,   273,     6,   273,    -1,
533           7,   273,     6,   273,    -1,     8,   273,     6,   273,    -1,
534         274,    -1,   273,   274,    -1,     9,    -1,    10,    -1,    11,
535          -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,    16,
536          -1,    17,    -1,    18,    -1,   274,    -1,    10,   273,    -1,
537          11,   273,    -1,    12,   273,    -1,    13,   273,    -1,    14,
538         273,    -1,    15,   273,    -1,    16,   273,    -1,    17,   273,
539          -1,    18,   273,    -1,    19,    -1,    20,    -1,    21,    -1,
540          22,    -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,
541          27,    -1,    28,    -1,    29,    -1,    30,    -1,    31,    -1,
542          32,    -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,
543          37,    -1,    38,    -1,    39,    -1,    40,    -1,    41,    -1,
544          42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,
545          47,    -1,    48,    -1,    49,    -1,    50,    -1,    51,    -1,
546          52,    -1,    53,    -1,    54,    -1,    55,    -1,    56,    -1,
547          57,    -1,    58,    -1,    59,    -1,    60,    -1,    61,    -1,
548          62,    -1,    63,    -1,    64,    -1,    65,    -1,    66,    -1,
549          67,    -1,    68,    -1,    69,    -1,    70,    -1,     9,    -1,
550          10,    -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,
551          15,    -1,    16,    -1,    17,    -1,    18,    -1,    71,    -1,
552           3,    -1,    72,    -1,    73,    -1,    74,    -1,    75,    -1,
553          76,    -1,    77,    -1,     7,    -1,     8,    -1,     6,    -1,
554           5,    -1,    78,    -1,    79,    -1,    80,    -1,    81,    -1,
555         4,    -1,    82,    -1,    83,    -1,    84,    -1,    85,    -1,         4,    -1,    82,    -1,    83,    -1,    84,    -1,    85,    -1,
556        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,
557        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,
# Line 414  static const short yyrhs[] = Line 580  static const short yyrhs[] =
580       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,
581       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,
582       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,
583       221,    -1,   266,    -1,   258,    -1,   264,   266,    -1,   264,       221,    -1,   279,    -1,   271,    -1,   277,   279,    -1,   277,
584       258,    -1,   222,   264,   222,    -1,   223,   264,   223,    -1,       271,    -1,   222,   277,   222,    -1,   223,   277,   223,    -1,
585       224,    -1,   225,    -1,   226,    -1,    18,    21,    21,    -1,       224,    -1,   225,    -1,   226,    -1,    19,    22,    22,    -1,
586        24,    22,    37,    -1,    20,    35,    22,    18,    37,    22,        25,    23,    38,    -1,    31,    19,    34,    -1,    39,    32,
587        -1,    21,    22,    36,    37,    35,    32,    42,    -1,    29,        31,    19,    34,    -1,    21,    30,    23,    19,    36,    -1,
588        26,    36,    37,    -1,    29,    32,    18,    21,    -1,    31,        21,    36,    23,    19,    38,    23,    -1,    22,    23,    37,
589        32,    31,    89,    30,    32,    21,    18,    29,    -1,    35,        38,    36,    33,    43,    -1,    30,    27,    37,    38,    -1,
590        22,    30,    32,    39,    22,    -1,    36,    22,    37,    -1,        30,    33,    19,    22,    -1,    19,    30,    30,    -1,    32,
591        36,    38,    19,    36,    20,    35,    26,    19,    22,    -1,        33,    32,    23,    -1,    22,    23,    24,    19,    39,    30,
592        38,    31,    36,    38,    19,    36,    20,    35,    26,    19,        38,    -1,    32,    33,    32,    89,    31,    33,    22,    19,
593        22,    -1,    20,    25,    18,    31,    31,    22,    29,    -1,        30,    -1,    36,    23,    31,    33,    40,    23,    -1,    37,
594        18,    39,    18,    26,    29,    18,    19,    29,    22,    89,        23,    38,    -1,    37,    39,    20,    37,    21,    36,    27,
595        22,    31,    24,    26,    31,    22,    36,    -1,    18,    39,        20,    23,    -1,    39,    32,    37,    39,    20,    37,    21,
596        18,    26,    29,    18,    19,    29,    22,    89,    18,    38,        36,    27,    20,    23,    -1,    37,    23,    30,    23,    21,
597        21,    26,    32,    89,    32,    38,    37,    33,    38,    37,        38,    -1,    21,    26,    19,    32,    32,    23,    30,    -1,
598        89,    21,    35,    26,    39,    22,    35,    36,    -1,    20,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
599        25,    18,    31,    31,    22,    29,    36,    -1,    26,    31,        23,    32,    25,    27,    32,    23,    37,    -1,    19,    40,
600        23,    32,    -1,    19,    38,    23,    23,    22,    35,    89,        19,    27,    30,    19,    20,    30,    23,    89,    19,    39,
601        23,    26,    29,    29,    -1,    36,    37,    35,    22,    18,        22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
602        30,    89,    20,    32,    38,    31,    37,    -1,    39,    32,        89,    22,    36,    27,    40,    23,    36,    37,    -1,    21,
603        26,    20,    22,    89,    20,    32,    38,    31,    37,    -1,        26,    19,    32,    32,    23,    30,    37,    -1,    27,    32,
604        26,    31,    36,    37,    35,    38,    30,    22,    31,    37,        24,    33,    -1,    21,    26,    19,    32,    32,    23,    30,
605        -1,    22,    31,    24,    26,    31,    22,    -1,    18,    38,        89,    21,    33,    39,    32,    38,    -1,    21,    26,    19,
606        21,    26,    32,    89,    32,    38,    37,    33,    38,    37,        32,    32,    23,    30,    89,    27,    32,    24,    33,    -1,
607        89,    21,    22,    39,    26,    20,    22,    89,    33,    18,        20,    39,    24,    24,    23,    36,    89,    24,    27,    30,
608        35,    18,    30,    22,    37,    22,    35,    -1,    18,    38,        30,    -1,    37,    38,    36,    23,    19,    31,    89,    21,
609        21,    26,    32,    89,    32,    38,    37,    33,    38,    37,        33,    39,    32,    38,    -1,    40,    33,    27,    21,    23,
610        89,    21,    22,    39,    26,    20,    22,    36,    -1,    18,        89,    21,    33,    39,    32,    38,    -1,    38,    33,    38,
611        38,    21,    26,    32,    89,    32,    38,    37,    33,    38,        19,    30,    89,    40,    33,    27,    21,    23,    89,    21,
612        37,    89,    21,    22,    39,    26,    20,    22,    -1,    18,        33,    39,    32,    38,    -1,    38,    33,    38,    19,    30,
613        38,    21,    26,    32,    89,    32,    38,    37,    33,    38,        89,    40,    33,    27,    21,    23,    89,    21,    33,    39,
614        37,    89,    21,    35,    26,    39,    22,    35,    89,    33,        32,    38,    89,    31,    19,    42,    -1,    27,    32,    37,
615        18,    35,    18,    30,    22,    37,    22,    35,    -1,    18,        38,    36,    39,    31,    23,    32,    38,    -1,    23,    32,
616        38,    21,    26,    32,    89,    32,    38,    37,    33,    38,        25,    27,    32,    23,    -1,    33,    32,    89,    22,    23,
617        37,    89,    21,    35,    26,    39,    22,    35,    -1,    18,        31,    19,    32,    22,    -1,    33,    32,    89,    22,    23,
618        38,    21,    26,    32,    89,    32,    38,    37,    33,    38,        31,    19,    32,    22,    89,    26,    33,    30,    22,    -1,
619        37,    89,    20,    25,    18,    31,    31,    22,    29,    89,        34,    23,    36,    37,    27,    37,    38,    23,    32,    38,
620        33,    18,    35,    18,    30,    22,    37,    22,    35,    -1,        -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
621        18,    38,    21,    26,    32,    89,    32,    38,    37,    33,        34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
622        38,    37,    89,    20,    25,    18,    31,    31,    22,    29,        89,    34,    19,    36,    19,    31,    23,    38,    23,    36,
623        -1,    18,    38,    21,    26,    32,    89,    32,    38,    37,        -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
624        33,    38,    37,    89,    37,    42,    33,    22,    -1,    18,        34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
625        39,    18,    26,    29,    18,    19,    29,    22,    89,    30,        37,    -1,    19,    39,    22,    27,    33,    89,    33,    39,
626        26,    21,    26,    89,    26,    31,    33,    38,    37,    89,        38,    34,    39,    38,    89,    22,    23,    40,    27,    21,
627        21,    35,    26,    39,    22,    35,    36,    -1,    30,    26,        23,    -1,    19,    39,    22,    27,    33,    89,    33,    39,
628        21,    26,    89,    26,    31,    33,    38,    37,    89,    21,        38,    34,    39,    38,    89,    22,    36,    27,    40,    23,
629        22,    39,    26,    20,    22,    89,    33,    18,    35,    18,        36,    89,    34,    19,    36,    19,    31,    23,    38,    23,
630        30,    22,    37,    22,    35,    -1,    30,    26,    21,    26,        36,    -1,    19,    39,    22,    27,    33,    89,    33,    39,
631        89,    26,    31,    33,    38,    37,    89,    33,    32,    35,        38,    34,    39,    38,    89,    22,    36,    27,    40,    23,
632        37,    89,    33,    18,    35,    18,    30,    22,    37,    22,        36,    -1,    19,    39,    22,    27,    33,    89,    33,    39,
633        35,    -1,    30,    26,    21,    26,    89,    26,    31,    33,        38,    34,    39,    38,    89,    21,    26,    19,    32,    32,
634        38,    37,    89,    21,    22,    39,    26,    20,    22,    36,        23,    30,    89,    34,    19,    36,    19,    31,    23,    38,
635        -1,    30,    26,    21,    26,    89,    26,    31,    33,    38,        23,    36,    -1,    19,    39,    22,    27,    33,    89,    33,
636        37,    89,    21,    22,    39,    26,    20,    22,    -1,    30,        39,    38,    34,    39,    38,    89,    21,    26,    19,    32,
637        26,    21,    26,    89,    26,    31,    33,    38,    37,    89,        32,    23,    30,    -1,    19,    39,    22,    27,    33,    89,
638        21,    35,    26,    39,    22,    35,    89,    33,    18,    35,        33,    39,    38,    34,    39,    38,    89,    38,    43,    34,
639        18,    30,    22,    37,    22,    35,    -1,    30,    26,    21,        23,    -1,    19,    40,    19,    27,    30,    19,    20,    30,
640        26,    89,    26,    31,    33,    38,    37,    89,    21,    35,        23,    89,    31,    27,    22,    27,    89,    27,    32,    34,
641        26,    39,    22,    35,    -1,    30,    26,    21,    26,    89,        39,    38,    89,    22,    36,    27,    40,    23,    36,    37,
642        26,    31,    33,    38,    37,    89,    33,    32,    35,    37,        -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
643        -1,    30,    26,    21,    26,    89,    26,    31,    33,    38,        38,    89,    22,    23,    40,    27,    21,    23,    89,    34,
644        37,    89,    20,    25,    18,    31,    31,    22,    29,    -1,        19,    36,    19,    31,    23,    38,    23,    36,    -1,    31,
645        30,    26,    21,    26,    89,    26,    31,    33,    38,    37,        27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
646        89,    37,    42,    33,    22,    -1,    30,    26,    21,    26,        34,    33,    36,    38,    89,    34,    19,    36,    19,    31,
647        89,    26,    31,    33,    38,    37,    -1,    39,    32,    29,        23,    38,    23,    36,    -1,    31,    27,    22,    27,    89,
648        38,    30,    22,    -1,    19,    42,    37,    22,    36,    -1,        27,    32,    34,    39,    38,    89,    22,    23,    40,    27,
649        33,    22,    35,    20,    22,    31,    37,    18,    24,    22,        21,    23,    37,    -1,    31,    27,    22,    27,    89,    27,
650        -1,    35,    22,    36,    22,    37,    -1,    30,    26,    36,        32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
651        20,    22,    29,    29,    18,    31,    22,    32,    38,    36,        23,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
652        -1,    22,    20,    25,    32,    -1,    34,    38,    26,    37,        39,    38,    89,    22,    36,    27,    40,    23,    36,    89,
653        -1        34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,
654          31,    27,    22,    27,    89,    27,    32,    37,    38,    36,
655          39,    31,    23,    32,    38,    -1,    31,    27,    22,    27,
656          89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
657          38,    37,    -1,    31,    27,    22,    27,    89,    27,    32,
658          37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
659          19,    34,    -1,    31,    27,    22,    27,    89,    27,    32,
660          37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
661          19,    34,    37,    -1,    31,    27,    22,    27,    89,    27,
662          32,    34,    39,    38,    89,    22,    36,    27,    40,    23,
663          36,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
664          39,    38,    89,    34,    33,    36,    38,    -1,    31,    27,
665          22,    27,    89,    27,    32,    34,    39,    38,    89,    21,
666          26,    19,    32,    32,    23,    30,    -1,    31,    27,    22,
667          27,    89,    27,    32,    34,    39,    38,    89,    38,    43,
668          34,    23,    -1,    31,    27,    22,    27,    89,    27,    32,
669          34,    39,    38,    -1,    37,    23,    36,    40,    23,    36,
670          -1,    40,    33,    30,    39,    31,    23,    -1,    31,    39,
671          38,    23,    -1,    37,    33,    30,    33,    -1,    20,    43,
672          38,    23,    37,    -1,    34,    23,    36,    21,    23,    32,
673          38,    19,    25,    23,    -1,    36,    23,    37,    23,    38,
674          -1,    31,    27,    37,    21,    23,    30,    30,    19,    32,
675          23,    33,    39,    37,    -1,    32,    19,    31,    23,    -1,
676          23,    21,    26,    33,    -1,    35,    39,    27,    38,    -1
677  };  };
678    
679  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
680  static const unsigned short yyrline[] =  static const yytype_uint16 yyrline[] =
681  {  {
682         0,    81,    81,    82,    85,    86,    87,    88,    91,    92,         0,    96,    96,    97,   100,   101,   102,   103,   106,   107,
683        93,    94,    95,    98,    99,   100,   101,   102,   103,   104,       108,   109,   110,   113,   114,   115,   116,   117,   118,   119,
684       105,   106,   107,   108,   109,   110,   113,   114,   115,   116,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
685       117,   118,   121,   122,   123,   124,   125,   126,   129,   130,       132,   133,   134,   137,   138,   139,   140,   141,   142,   143,
686       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       146,   147,   148,   149,   150,   151,   152,   155,   156,   157,
687       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       158,   161,   164,   165,   166,   169,   170,   171,   172,   173,
688       151,   154,   155,   156,   157,   158,   159,   162,   163,   164,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
689       165,   168,   169,   172,   173,   176,   177,   178,   179,   180,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
690       181,   182,   183,   184,   187,   188,   191,   192,   195,   196,       194,   195,   196,   197,   198,   199,   202,   203,   204,   205,
691       197,   200,   201,   204,   207,   210,   213,   216,   219,   222,       206,   207,   208,   211,   212,   213,   214,   217,   220,   221,
692       225,   226,   229,   232,   235,   238,   241,   242,   243,   244,       224,   225,   228,   229,   232,   233,   234,   235,   236,   237,
693       250,   251,   254,   255,   258,   259,   260,   264,   265,   268,       238,   239,   240,   241,   242,   243,   244,   245,   248,   249,
694       269,   270,   271,   272,   273,   274,   275,   276,   277,   280,       252,   253,   256,   257,   258,   259,   260,   261,   262,   263,
695       281,   282,   283,   284,   285,   286,   287,   288,   289,   291,       264,   267,   268,   271,   274,   275,   276,   279,   282,   285,
696       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,       288,   291,   292,   295,   298,   301,   304,   307,   308,   311,
697       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,       314,   317,   320,   323,   326,   329,   330,   333,   334,   335,
698       291,   291,   291,   291,   291,   292,   292,   292,   292,   292,       336,   344,   345,   348,   349,   352,   353,   354,   358,   359,
699       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
700       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
701       292,   293,   293,   293,   293,   293,   293,   293,   293,   293,       385,   385,   385,   385,   385,   385,   385,   385,   385,   385,
702       293,   294,   294,   294,   294,   294,   294,   294,   294,   294,       385,   385,   385,   385,   385,   385,   385,   385,   385,   385,
703       294,   294,   294,   294,   295,   295,   295,   295,   295,   295,       385,   385,   385,   385,   385,   385,   386,   386,   386,   386,
704       295,   296,   296,   296,   296,   296,   297,   297,   297,   297,       386,   386,   386,   386,   386,   386,   386,   386,   386,   386,
705       298,   298,   298,   299,   299,   299,   300,   300,   300,   301,       386,   386,   386,   386,   386,   386,   386,   386,   386,   386,
706       301,   301,   302,   302,   302,   303,   303,   303,   304,   304,       386,   386,   387,   387,   387,   387,   387,   387,   387,   387,
707       304,   305,   305,   305,   306,   306,   306,   307,   307,   307,       387,   387,   388,   388,   388,   388,   388,   388,   388,   388,
708       308,   308,   308,   309,   309,   309,   310,   310,   310,   311,       388,   388,   388,   388,   388,   389,   389,   389,   389,   389,
709       311,   311,   312,   312,   312,   313,   313,   313,   314,   314,       389,   389,   390,   390,   390,   390,   390,   391,   391,   391,
710       314,   315,   315,   315,   316,   316,   316,   317,   317,   317,       391,   392,   392,   392,   393,   393,   393,   394,   394,   394,
711       318,   318,   318,   319,   319,   319,   320,   320,   320,   321,       395,   395,   395,   396,   396,   396,   397,   397,   397,   398,
712       321,   321,   322,   322,   322,   323,   323,   323,   324,   324,       398,   398,   399,   399,   399,   400,   400,   400,   401,   401,
713       324,   325,   325,   325,   326,   326,   326,   327,   327,   327,       401,   402,   402,   402,   403,   403,   403,   404,   404,   404,
714       328,   328,   328,   329,   329,   329,   330,   330,   330,   331,       405,   405,   405,   406,   406,   406,   407,   407,   407,   408,
715       331,   331,   332,   332,   332,   333,   333,   333,   334,   334,       408,   408,   409,   409,   409,   410,   410,   410,   411,   411,
716       334,   335,   335,   335,   336,   336,   336,   337,   337,   337,       411,   412,   412,   412,   413,   413,   413,   414,   414,   414,
717       338,   338,   338,   339,   339,   339,   340,   340,   343,   344,       415,   415,   415,   416,   416,   416,   417,   417,   417,   418,
718       345,   346,   349,   350,   356,   359,   362,   365,   368,   371,       418,   418,   419,   419,   419,   420,   420,   420,   421,   421,
719       374,   377,   380,   383,   386,   389,   392,   395,   398,   401,       421,   422,   422,   422,   423,   423,   423,   424,   424,   424,
720       404,   407,   410,   413,   416,   419,   422,   425,   428,   431,       425,   425,   425,   426,   426,   426,   427,   427,   427,   428,
721       434,   437,   440,   443,   446,   449,   452,   455,   458,   461,       428,   428,   429,   429,   429,   430,   430,   430,   431,   431,
722       464,   467,   470,   473,   476,   479,   482,   485,   488,   491,       431,   432,   432,   432,   433,   433,   433,   434,   434,   437,
723       494,   497,   500,   503       438,   439,   440,   443,   444,   450,   453,   456,   459,   462,
724         465,   468,   471,   474,   477,   480,   483,   486,   489,   492,
725         495,   498,   501,   504,   507,   510,   513,   516,   519,   522,
726         525,   528,   531,   534,   537,   540,   543,   546,   549,   552,
727         555,   558,   561,   564,   567,   570,   573,   576,   579,   582,
728         585,   588,   591,   594,   597,   600,   603,   606,   609,   612,
729         615,   618,   621,   624,   627,   630,   633,   636,   639,   642,
730         645,   648,   651,   654,   657,   660,   663
731  };  };
732  #endif  #endif
733    
734  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
735  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
736     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
737  static const char *const yytname[] =  static const char *const yytname[] =
738  {  {
739    "$end", "error", "$undefined", "'#'", "'='", "'.'", "'+'", "'-'", "'0'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
740    "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'", "'A'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
741    "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'", "'K'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
742    "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'", "'U'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
743    "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'", "'e'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
744    "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'", "'o'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
745    "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'", "'y'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
746    "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "','", "'/'",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
747    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
748    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
749    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
750    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
751    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
752    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
753    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "' '", "'¡'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
754    "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'", "'©'", "'ª'", "'«'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
755    "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'", "'³'", "'´'", "'µ'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
756    "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'", "'½'", "'¾'", "'¿'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
757    "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'", "'Ç'", "'È'", "'É'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
758    "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'", "'Ñ'", "'Ò'", "'Ó'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
759    "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'", "'Û'", "'Ü'", "'Ý'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
760    "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'", "'å'", "'æ'", "'ç'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
761    "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'", "'ï'", "'ð'", "'ñ'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
762    "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'", "'ù'", "'ú'", "'û'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
763    "'ü'", "'ý'", "'þ'", "'ÿ'", "'''", "'\"'", "' '", "'\\n'", "'\\r'",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
764    "$accept", "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
765    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
766    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
767    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
768    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
769    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
770    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
771    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
772    "instrument_index", "engine_name", "filename", "param_val", "boolean",    "map_instruction", "unmap_instruction", "remove_instruction",
773    "string", "dotnum", "digits", "digit", "number", "char", "text",    "get_instruction", "set_instruction", "create_instruction",
774    "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE", "DESTROY",    "reset_instruction", "clear_instruction", "destroy_instruction",
775    "LIST", "LOAD", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "load_instruction", "set_chan_instruction", "key_val_list",
776    "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",    "buffer_size_type", "list_instruction", "load_instr_args",
777    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",    "load_engine_args", "instr_load_mode", "device_index",
778    "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
779    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
780    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "midi_bank", "midi_prog", "volume_value", "sampler_channel",
781    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "instrument_index", "engine_name", "filename", "map_name", "entry_name",
782    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",    "param_val_list", "param_val", "boolean", "string", "dotnum", "digits",
783    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "digit", "number", "char", "text", "stringval", "SP", "LF", "CR", "ADD",
784    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "GET", "MAP", "UNMAP", "CLEAR", "CREATE", "DESTROY", "LIST", "LOAD",
785    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",    "ALL", "NONE", "DEFAULT", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
786    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME",    "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",
787    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",
788      "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
789      "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE",
790      "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
791      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
792      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
793      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
794      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
795      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
796      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
797      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
798      "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
799      "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
800      "SERVER", "VOLUME", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET",
801      "MISCELLANEOUS", "NAME", "ECHO", "QUIT", 0
802  };  };
803  #endif  #endif
804    
805  # ifdef YYPRINT  # ifdef YYPRINT
806  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
807     token YYLEX-NUM.  */     token YYLEX-NUM.  */
808  static const unsigned short yytoknum[] =  static const yytype_uint16 yytoknum[] =
809  {  {
810         0,   256,   257,    35,    61,    46,    43,    45,    48,    49,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
811        50,    51,    52,    53,    54,    55,    56,    57,    65,    66,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
812        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
813        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
814        87,    88,    89,    90,    97,    98,    99,   100,   101,   102,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
815       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
816       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
817        33,    36,    37,    38,    40,    41,    42,    44,    47,    58,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
818        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
819       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
820       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
# Line 624  static const unsigned short yytoknum[] = Line 834  static const unsigned short yytoknum[] =
834  # endif  # endif
835    
836  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
837  static const unsigned short yyr1[] =  static const yytype_uint16 yyr1[] =
838  {  {
839         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
840       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
841       231,   231,   231,   231,   231,   231,   232,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
842       232,   232,   233,   233,   233,   233,   233,   233,   234,   234,       232,   232,   232,   233,   233,   233,   233,   233,   233,   233,
843       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   235,   235,   235,
844       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       235,   236,   237,   237,   237,   238,   238,   238,   238,   238,
845       234,   235,   235,   235,   235,   235,   235,   236,   236,   236,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
846       236,   237,   237,   238,   238,   239,   239,   239,   239,   239,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
847       239,   239,   239,   239,   240,   240,   241,   241,   242,   242,       238,   238,   238,   238,   238,   238,   239,   239,   239,   239,
848       242,   243,   243,   244,   245,   246,   247,   248,   249,   250,       239,   239,   239,   240,   240,   240,   240,   241,   242,   242,
849       251,   251,   252,   253,   254,   255,   256,   256,   256,   256,       243,   243,   244,   244,   245,   245,   245,   245,   245,   245,
850       257,   257,   258,   258,   259,   259,   259,   260,   260,   261,       245,   245,   245,   245,   245,   245,   245,   245,   246,   246,
851       261,   261,   261,   261,   261,   261,   261,   261,   261,   262,       247,   247,   248,   248,   248,   248,   248,   248,   248,   248,
852       262,   262,   262,   262,   262,   262,   262,   262,   262,   263,       248,   249,   249,   250,   251,   251,   251,   252,   253,   254,
853       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       255,   256,   256,   257,   258,   259,   260,   261,   261,   262,
854       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       263,   264,   265,   266,   267,   268,   268,   269,   269,   269,
855       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       269,   270,   270,   271,   271,   272,   272,   272,   273,   273,
856       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
857       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       275,   275,   275,   275,   275,   275,   275,   275,   275,   275,
858       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
859       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
860       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
861       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
862       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
863       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
864       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
865       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
866       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
867       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
868       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
869       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
870       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
871       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
872       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
873       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
874       263,   263,   263,   263,   263,   263,   263,   263,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
875       264,   264,   265,   265,   266,   267,   268,   269,   270,   271,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
876       272,   273,   274,   275,   276,   277,   278,   279,   280,   281,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
877       282,   283,   284,   285,   286,   287,   288,   289,   290,   291,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
878       292,   293,   294,   295,   296,   297,   298,   299,   300,   301,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
879       302,   303,   304,   305,   306,   307,   308,   309,   310,   311,       276,   276,   276,   276,   276,   276,   276,   276,   276,   277,
880       312,   313,   314,   315       277,   277,   277,   278,   278,   279,   280,   281,   282,   283,
881         284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
882         294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
883         304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
884         314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
885         324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
886         334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
887         344,   345,   346,   347,   348,   349,   350
888  };  };
889    
890  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
891  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
892  {  {
893         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
894         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
895         3,     3,     3,     5,     1,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
896         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
897         5,     7,     9,     1,     5,     7,     9,     1,     1,     5,         1,     1,     1,     1,     1,     1,     1,    15,    17,    17,
898         5,     7,     9,     7,     9,     1,     5,     7,     5,     5,        19,     7,     3,     3,     3,     1,     1,     5,     7,     9,
899         5,     7,     9,     7,     9,     3,     3,     5,     3,     5,         1,     5,     7,     9,     1,     1,     5,     5,     7,     9,
900         3,     3,     3,     3,     3,     5,     7,     5,     9,     5,         7,     9,     1,     5,     7,     5,     5,     5,     3,     1,
901         5,     5,     5,     5,     3,     5,     1,     1,     1,     1,         1,     3,     3,     9,     1,     5,     7,     9,     7,     9,
902           3,     7,     3,     5,     3,     5,     3,     3,     3,     3,
903           3,     3,     3,     3,     5,     7,     5,     9,     5,     5,
904           5,     5,     5,     5,     5,     5,     5,     5,     3,     5,
905           1,     1,     1,     1,     1,     1,     1,     1,     3,     3,
906         1,     5,     7,     3,     1,     1,     1,     1,     1,     1,         1,     5,     7,     3,     1,     1,     1,     1,     1,     1,
907         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
908         1,     1,     1,     2,     3,     4,     4,     1,     2,     1,         1,     1,     1,     1,     1,     1,     3,     1,     1,     1,
909           1,     1,     1,     1,     2,     3,     4,     4,     1,     2,
910         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
911         2,     2,     2,     2,     2,     2,     2,     2,     2,     1,         1,     2,     2,     2,     2,     2,     2,     2,     2,     2,
912         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
913         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
914         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 709  static const unsigned char yyr2[] = Line 931  static const unsigned char yyr2[] =
931         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
932         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
933         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
934         2,     2,     3,     3,     1,     1,     1,     3,     3,     6,         1,     2,     2,     3,     3,     1,     1,     1,     3,     3,
935         7,     4,     4,     9,     6,     3,     9,    11,     7,    17,         3,     5,     5,     6,     7,     4,     4,     3,     4,     7,
936        30,     8,     4,    11,    12,    11,    10,     6,    29,    20,         9,     6,     3,     9,    11,     6,     7,    17,    30,     8,
937        19,    29,    19,    30,    20,    17,    28,    27,    25,    18,         4,    13,    12,    11,    12,    11,    17,    21,    10,     6,
938        17,    27,    17,    15,    18,    15,    10,     6,     5,    10,         9,    14,    10,    29,    20,    19,    29,    19,    30,    20,
939         5,    13,     4,     4        17,    28,    27,    25,    18,    17,    27,    15,    16,    19,
940          20,    17,    15,    18,    15,    10,     6,     6,     4,     4,
941           5,    10,     5,    13,     4,     4,     4
942  };  };
943    
944  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
945     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
946     means the default is an error.  */     means the default is an error.  */
947  static const unsigned short yydefact[] =  static const yytype_uint16 yydefact[] =
948  {  {
949         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
950         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
951         0,     0,     0,     0,     0,     0,    24,    25,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
952         0,     0,     0,     0,     0,     0,     0,     0,     0,     1,         0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
953       365,   366,     2,     0,     9,   217,   211,   209,   210,   119,         0,     0,     0,     0,     0,     0,     1,   416,   417,     2,
954       120,   121,   122,   123,   124,   125,   126,   127,   128,   139,         0,     9,   268,   263,   262,   260,   261,   170,   171,   172,
955       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       173,   174,   175,   176,   177,   178,   179,   190,   191,   192,
956       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
957       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
958       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
959       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
960       190,   201,   203,   204,   205,   206,   207,   208,   212,   213,       233,   234,   235,   236,   237,   238,   239,   240,   241,   252,
961       214,   215,   216,   218,   219,   220,   221,   222,   223,   224,       254,   255,   256,   257,   258,   259,   264,   265,   266,   267,
962       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
963       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
964       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
965       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,       299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
966       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,       309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
967       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
968       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
969       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,       339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
970       305,   306,   307,   308,   309,   310,   311,   312,   313,   314,       349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
971       315,   316,   317,   318,   319,   320,   321,   322,   323,   324,       359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
972       325,   326,   327,   328,   329,   330,   331,   332,   333,   334,       369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
973       335,   336,   337,   338,   339,   340,   341,   342,   343,   344,       379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
974       345,   346,   347,   348,   349,   350,   351,   352,   353,   354,       389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
975       355,   356,   357,   364,    12,   129,    11,   112,    10,     0,       399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
976         415,    12,   180,    11,   163,    10,     0,     0,     0,     0,
977           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
978           0,   418,     0,     0,     0,   419,     0,     0,   420,     0,
979           0,     0,     0,   432,     0,     0,     0,     3,   170,   171,
980         172,   173,   174,   175,   176,   177,   178,   179,   181,   168,
981         182,   183,   184,   185,   186,   187,   188,   189,   253,   242,
982         243,   244,   245,   246,   247,   248,   249,   250,   251,   164,
983           0,     0,    13,    30,    31,     0,     0,     0,     0,     0,
984           0,    16,     0,    55,    60,    72,    79,    80,     0,    64,
985           0,     0,     0,     0,     0,    56,     0,    65,     0,     0,
986           0,     0,     0,    84,     0,     0,     0,     0,    14,     0,
987          15,     0,     0,    27,     0,     0,     0,    17,     0,     0,
988          18,     0,     0,     0,     0,     0,    19,   125,   127,   124,
989         122,   126,   123,     0,   130,     0,    20,     0,     0,    21,
990           0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
991           0,     0,     0,     0,     0,     0,     0,     0,     0,    23,
992          33,    37,    36,    35,    34,    39,    38,    24,    40,    44,
993          43,    42,    41,    46,    45,   410,    25,   409,    26,     0,
994           0,     0,     0,   425,   426,   486,     0,     0,     0,     0,
995           0,     0,   169,     0,     0,     0,     0,     0,     0,     0,
996           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
997           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
998           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
999           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1000         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1001       367,     0,     0,   368,     0,     0,     0,     0,     0,   375,         0,     0,     0,     0,     0,   412,   411,     0,   422,     0,
1002         0,     0,     3,   119,   120,   121,   122,   123,   124,   125,         0,     0,   482,     0,     0,   421,     0,     0,     0,     0,
1003       126,   127,   128,   130,   117,   131,   132,   133,   134,   135,         0,    32,   153,     0,     0,     0,     0,     0,     0,     0,
      136,   137,   138,   202,   191,   192,   193,   194,   195,   196,  
      197,   198,   199,   200,   113,     0,    13,     0,     0,     0,  
        0,    14,     0,    38,    43,    55,     0,    47,     0,     0,  
        0,     0,     0,    39,     0,    48,     0,     0,     0,     0,  
        0,     0,    15,     0,     0,    16,     0,     0,     0,     0,  
        0,    17,    90,    88,    89,     0,    18,     0,     0,     0,  
        0,     0,     0,    20,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,    21,    26,    30,    29,    28,  
       27,    31,    22,    32,    36,    35,    34,    33,    37,     0,  
        0,     0,   371,   372,   413,     0,     0,     0,     0,   118,  
1004         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1005           0,     0,     0,     0,     0,   171,   172,   173,   174,   175,
1006         176,   177,   178,   179,     0,    81,   144,    82,     0,     0,
1007           0,    78,     0,     0,     0,     0,    98,    99,     0,     0,
1008          94,    96,   100,   101,     0,     0,     0,   128,   129,     0,
1009           0,   102,     0,   152,     0,   103,     0,   151,    52,   149,
1010          53,    54,     0,     0,     0,     0,     0,     0,     0,    90,
1011         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1012           0,     0,     0,     0,     0,     0,     0,     0,    92,   162,
1013         161,     0,     0,     0,     0,     0,     0,    97,   423,     0,
1014         431,   435,     0,     0,     0,     0,     0,     0,     0,     0,
1015         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1016         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,   410,  
1017         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1018         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1019         0,     0,     0,     0,     0,    68,    70,   120,   121,   122,         0,   485,     0,     0,     0,     0,     0,     0,     0,     0,
      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,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,    66,   111,   110,     0,     0,     0,  
        0,     0,    23,   369,     0,   374,     0,     0,     0,     0,  
1020         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1021         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1022         0,     0,     0,     0,     0,     0,     0,     0,   359,     0,         0,     0,   424,     0,     0,     0,     0,   413,   414,     0,
1023       358,     0,     0,     0,     0,     0,   412,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,    73,     0,     0,
1024           0,   120,   121,    75,    76,    77,    66,     0,    61,     0,
1025           0,     0,    67,     0,     0,   427,    85,    57,     0,     0,
1026           0,   145,     0,     0,     0,     0,    93,     0,    95,     0,
1027           0,     0,     0,     0,     0,   150,     0,   133,     0,     0,
1028         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   382,     0,     0,     0,   370,  
        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,   362,   361,   360,  
      363,     0,   103,     0,    93,     0,     0,     0,     0,     0,  
1029         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1030         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1031         0,     0,     0,   387,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,   449,     0,   476,     0,
1032         440,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1033         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1034         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1035         478,   479,     0,     0,     0,     0,     0,     0,     0,     0,
1036           0,     0,     0,     0,     0,     0,     0,     0,     0,   484,
1037           0,     0,     0,     0,     0,     0,     0,   433,     0,   436,
1038           0,     0,     0,   436,     0,     0,     0,     0,    74,    62,
1039           0,    70,     0,    58,     0,    68,     0,     0,   146,    51,
1040           0,     0,     0,     0,   260,   261,   118,   155,   157,   160,
1041           0,   168,   159,   158,     0,     0,     0,     0,     0,   131,
1042           0,     0,     0,     0,     0,     0,   104,   137,     0,   138,
1043         106,   139,   108,     0,     0,   115,   116,   117,   109,   140,
1044         110,   141,   142,   111,   143,     0,     0,     0,   112,   147,
1045         148,   113,   114,    86,     0,    88,     0,    91,     0,     0,
1046           0,     0,     0,     0,     0,     0,     0,     0,   439,     0,
1047         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,   376,     0,   378,  
        0,     0,   378,     0,     0,     0,    57,    45,     0,    53,  
        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,   381,     0,     0,  
1048         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1049           0,     0,     0,     0,     0,     0,     0,     0,     0,   477,
1050         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1051       407,     0,     0,     0,     0,     0,     0,     0,     0,   377,         0,     0,   434,     0,     0,     0,     0,     0,     0,   480,
1052         0,     0,     0,   408,     0,    46,    54,    52,    42,     0,         0,    63,    71,    69,    59,    83,     0,     0,     0,     0,
1053         0,    85,     0,     0,   114,     0,     0,     0,     0,    92,         0,   119,     0,     0,   156,   165,     0,     0,     0,     0,
1054         0,     0,     0,     0,    76,     0,    62,    64,     0,     0,         0,   132,     0,     0,     0,     0,   105,     0,     0,     0,
1055         0,     0,     0,     0,     0,     0,     0,     0,   115,   116,        87,    89,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   386,     0,     0,     0,     0,     0,     0,     0,  
1056         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1057         0,     0,     0,   373,     0,     0,     0,     0,    78,   383,         0,   166,   167,     0,     0,     0,   448,     0,     0,     0,
1058         0,     0,   385,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,   428,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,   406,     0,  
      384,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,   411,     0,  
        0,     0,     0,     0,     0,     0,     0,   409,     0,     0,  
1059         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1060         0,     0,     0,     0,     0,     0,     0,     0,   403,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   430,
1061           0,     0,     0,     0,     0,   107,   443,     0,     0,     0,
1062           0,     0,   445,     0,     0,     0,     0,     0,     0,     0,
1063         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1064           0,     0,     0,     0,     0,   475,     0,     0,   442,     0,
1065         444,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1066         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1067           0,     0,     0,     0,     0,     0,   429,   441,   483,     0,
1068         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1069         0,     0,     0,     0,     0,     0,   379,     0,   400,   402,         0,   481,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   400,     0,     0,     0,     0,     0,     0,     0,  
        0,   403,   405,     0,     0,     0,     0,     0,   399,     0,  
1070         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1071       390,   392,     0,     0,     0,     0,   390,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,   472,   467,
1072         0,     0,   395,     0,   394,   389,     0,     0,     0,     0,         0,   467,    47,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   404,     0,     0,     0,     0,  
1073         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1074         0,     0,     0,   394,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,   468,     0,
1075         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1076         0,     0,     0,     0,     0,   398,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1077         0,     0,     0,     0,     0,     0,     0,     0,     0,   401,         0,   437,     0,   465,   471,     0,     0,   446,     0,     0,
1078         0,   397,     0,     0,     0,   396,     0,     0,   391,     0,        48,    49,   154,   134,   135,   136,     0,   465,     0,     0,
1079       388,   393,   380         0,     0,     0,     0,     0,     0,     0,   472,   474,   446,
1080           0,     0,     0,     0,     0,     0,   464,     0,     0,     0,
1081           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1082           0,     0,     0,   469,     0,   455,   457,     0,     0,     0,
1083           0,   469,     0,     0,     0,    50,   455,     0,     0,     0,
1084           0,     0,     0,   460,     0,   459,   454,     0,     0,     0,
1085           0,     0,   470,     0,     0,     0,     0,     0,     0,     0,
1086         473,     0,     0,     0,     0,     0,     0,   447,     0,     0,
1087           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1088           0,     0,     0,   459,     0,     0,     0,     0,     0,     0,
1089           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1090           0,     0,     0,     0,     0,     0,     0,     0,     0,   463,
1091         450,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1092         452,     0,     0,     0,     0,     0,     0,   466,     0,     0,
1093         462,     0,     0,     0,   461,     0,     0,     0,   456,     0,
1094           0,   453,   458,   438,   451
1095  };  };
1096    
1097  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1098  static const short yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1099  {  {
1100        -1,    12,    13,    14,    15,   385,   392,   331,   373,   352,        -1,    13,    14,    15,    16,   342,   429,   437,   378,   380,
1101       355,   366,   520,   639,   621,   361,   505,   509,   767,   769,       409,   351,   415,   387,   448,   383,   390,   406,   619,   776,
1102       771,   774,   776,   778,   783,   512,   651,   510,   506,   748,       750,   396,   601,   605,  1290,   936,   938,   940,   948,   950,
1103       534,   749,   750,   751,   265,   513,   267,   579,   754,   696,       953,   575,   770,   907,   958,   608,   784,   606,   602,   541,
1104        42,    43,    16,    17,    18,    19,    20,    21,   508,    22,      1291,   916,   917,   638,   918,   919,   920,   272,   609,   274,
1105        23,    24,    25,   326,   333,   334,   335,   387,   388,   389,       446,   923,   847,    49,    50,    17,    18,    19,    20,    21,
1106       390,   367,   336,   375,   337,   338,   339,   340,   341,   342,        22,    23,    24,    25,   952,   946,   947,   604,    26,    27,
1107       523,   343,   377,   344,   345,   346,   347,   348,   349,   526,        28,    29,    30,   343,   353,   354,   355,   551,   430,   431,
1108       527,   528,   529,   622,   623,    26,   391,   379,    27       432,   433,   434,   356,   357,   407,   358,  1293,  1294,  1295,
1109         417,   359,   360,   361,   362,   363,   364,   622,   365,   419,
1110         366,   367,   368,   369,   370,   371,   344,   373,   374,   375,
1111         626,   627,   628,   376,   629,   630,   631,   751,   752,    31,
1112         436,   637,   422,    32
1113  };  };
1114    
1115  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1116     STATE-NUM.  */     STATE-NUM.  */
1117  #define YYPACT_NINF -699  #define YYPACT_NINF -841
1118  static const short yypact[] =  static const yytype_int16 yypact[] =
1119  {  {
1120        54,  -699,  -699,    33,    16,    75,    83,    -2,    24,   107,        64,  -841,  -841,    52,   167,    92,   120,   177,   126,   132,
1121         0,    45,   132,  -197,  1563,  -699,  -137,  -137,  -137,  -137,       189,    59,   168,   228,    37,  1863,  -841,    16,    16,    16,
1122      -137,  -137,  -137,  -137,  -137,  -137,  -137,  -699,   114,   170,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1123       182,   197,   183,   229,   222,    23,   213,   234,   218,  -699,        16,    16,  -841,   243,   237,   252,   274,   242,   275,   298,
1124      -699,  -699,  -699,    31,  -699,  -699,  -699,  -699,  -699,  -699,       296,   304,   178,   137,   312,   198,  -841,  -841,  -841,  -841,
1125       214,   214,   214,   214,   214,   214,   214,   214,   214,  -699,       108,  -841,  -841,  -841,  -841,  -841,  -841,  -841,   238,   238,
1126      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,       238,   238,   238,   238,   238,   238,   238,  -841,  -841,  -841,
1127      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1128      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1129      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1130      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1131      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1132      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1133      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1134      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1135      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1136      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1137      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1138      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1139      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1140      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1141      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1142      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1143      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1144      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1145      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1146      -699,  -699,  -699,  -699,  2228,  -699,  -699,  -699,  -699,   237,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1147       190,    76,    76,   103,    30,   237,   191,    65,    65,   237,      -841,  2528,  -841,  -841,  -841,  -841,   117,   109,   303,   303,
1148      -699,   240,   223,  -699,   224,   238,   225,   231,   242,  -699,       305,   100,   100,   174,    70,   117,   147,   104,   104,  2085,
1149       230,   227,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,       314,  -841,   319,   320,   302,  -841,   306,   330,  -841,   327,
1150      -699,  -699,  -699,   214,  -699,   214,   214,   214,   214,   214,       309,   335,   344,  -841,   331,   351,   332,  -841,  -841,  -841,
1151       214,   214,   214,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,   238,  -841,
1152      -699,  -699,  -699,  -699,  -699,   243,  -699,   137,   244,   236,       238,   238,   238,   238,   238,   238,   238,   238,  -841,  -841,
1153       245,  -699,  -137,  -699,  -699,  -699,  -137,  -699,  -137,  -137,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1154      -137,  -137,  -137,  -699,  -137,  -699,  -137,  -137,  -137,  -137,       346,   348,  -841,  -841,    16,   229,   363,   358,   364,   371,
1155       232,   246,  -699,  -137,  -137,  -699,  -137,  -137,   235,   249,       365,  -841,    16,  -841,  -841,  -841,  -841,  -841,    16,  -841,
1156       250,  -699,  -699,  -699,  -699,   247,  -699,  -137,  -137,  -137,        16,    16,    16,    16,    16,  -841,    16,  -841,    16,    16,
1157       239,   255,   256,  -699,  -137,  -137,  -137,  -137,  -137,  -137,        16,    16,    16,  -841,    16,    16,    16,   372,  -841,    16,
1158       248,   252,   258,   251,   253,  -699,  -699,  -699,  -699,  -699,      -841,    16,   373,  -841,    16,   370,   381,  -841,    16,    16,
1159      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -137,      -841,    16,    16,   231,   384,   385,  -841,  -841,  -841,  -841,
1160       254,   257,  -699,  -699,  -699,   264,   267,   261,   268,  -699,      -841,  -841,  -841,    16,  -841,   379,  -841,    16,    16,  -841,
1161       271,   269,   276,   287,   282,   286,    60,   283,   283,   283,        16,    16,   374,   393,   388,  -841,    16,    16,    16,    16,
1162       283,   283,   283,   283,   283,   283,   283,   283,   289,   290,        16,    16,    16,   377,   391,   405,   395,   402,   403,  -841,
1163      2228,  2228,   228,   228,   291,   295,   293,   272,   -16,  2228,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1164       228,   294,   292,   297,    19,   228,   228,   228,   228,  2447,      -841,  -841,  -841,  -841,  -841,  2528,  2085,  -841,  -841,    16,
1165       296,   298,   280,   288,   299,   228,   300,   301,   316,  -699,       401,   400,   404,  -841,  -841,  -841,   399,   406,   420,   421,
1166       304,   307,   309,   320,   321,   318,   322,   324,  -137,  -137,       411,   439,  -841,   441,   436,    55,   440,   442,   444,   443,
1167      -137,  -137,  -137,  -137,  -137,  -137,  -137,  -137,  -137,  -137,       445,   428,   427,    50,   446,   446,   446,   446,   446,   446,
1168      -137,  -137,  -137,   325,   326,  1785,  1785,   214,   214,   214,       446,   446,   446,   446,   438,   446,   446,   446,   446,   447,
1169       214,   214,   214,   214,   214,   214,  -699,  -699,   327,   323,       369,   369,   449,   438,   450,   452,  2528,  2528,   369,   369,
1170       332,   331,   328,  1785,  1785,  -699,  -137,  -699,  -137,  -699,       453,   459,   458,   438,   429,    11,  2528,   369,   438,   460,
1171      -137,  2228,  -699,  -699,   333,   337,   344,   334,   345,   341,       455,   461,    83,   369,   369,   369,   369,   454,  2747,   463,
1172      -699,  -137,  -137,  -137,  -137,  -137,  -137,  -137,  -137,  -137,       469,   456,   462,   457,   464,  2528,  -841,   369,  -841,   467,
1173      -137,  -137,  -137,  -137,  -699,  2228,  -699,   351,   343,   356,       470,   473,  -841,   468,   471,  -841,   472,   465,   478,  2085,
1174       355,   358,  -699,  -699,   338,  -699,   353,   361,   352,   350,      2085,  -841,  -841,   481,   483,   479,   486,   487,   475,   497,
1175       357,   354,   359,   302,   228,    17,   228,   228,  2228,   228,       485,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1176      2228,  2228,   228,   228,   228,   228,  2228,  2228,   228,   360,        16,    16,    16,    16,    16,   238,   238,   238,   238,   238,
1177       305,  2228,  2228,   363,   362,   308,   349,   365,  2228,  1119,       238,   238,   238,   238,   488,  -841,  -841,  -841,    16,    16,
1178      -699,  1341,   228,   -35,   228,   366,  -699,   310,   367,   368,        16,  -841,   492,    16,    16,   493,  -841,  -841,   494,   495,
1179       371,   228,   228,   228,   228,   228,   228,   228,   228,   228,      2085,  2085,  -841,  -841,   496,   503,   523,  -841,  -841,   513,
1180      2228,   228,  2228,   228,   379,  -699,   380,   385,   382,  -699,       528,  -841,    16,  -841,    16,  -841,    16,  2528,  -841,  -841,
1181       386,   372,   384,   319,   391,   388,   389,   387,  -699,   370,      -841,  -841,   535,   533,   540,   531,   110,   538,   539,  -841,
1182       392,  -137,  -699,  -699,  -699,  -699,  -699,  -699,  1785,  2228,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1183      -137,  -137,  -137,  -699,  1785,  2228,  -137,   335,   390,  -137,        16,    16,    16,    16,    16,    16,   554,    16,  -841,  2528,
1184      2666,  -137,   336,   393,   394,   383,   339,  -699,  2228,  -699,      -841,   550,   545,   558,   557,   562,   561,  -841,  -841,   541,
1185      -699,  -137,  -699,  -137,  -699,   340,   396,   397,   400,   398,      -841,  -841,   556,   564,   560,   499,  1419,  1641,   553,   563,
1186      -137,  -137,  -137,  -137,  -137,  -137,  -137,  -137,  -137,  2885,       565,   566,   501,   571,   569,   572,   369,   102,   369,   369,
1187      -137,  3104,  -137,   395,   408,   409,   364,   405,   412,   411,      2528,   369,  2528,  2528,   369,   369,   369,   369,  2528,   369,
1188       410,   422,   414,  -699,   413,   415,   416,   228,  2228,   228,       570,   369,  2528,   369,   506,   369,   369,   512,   588,   514,
1189       228,   228,  2228,   228,   417,   419,  2228,  2007,   423,   418,      2528,  2528,   590,   592,   515,   589,   594,   369,    55,   369,
1190       440,   424,   442,   228,   228,   443,   445,   454,   399,   457,       595,  -841,   542,   580,   605,   591,   600,   602,   369,   369,
1191       228,   228,  2228,   228,   228,   228,  2228,   228,   140,  2007,       369,   369,   369,   369,   369,   369,   369,   369,   369,   369,
1192      2228,  2007,  2228,   401,   460,   404,   425,  -699,   427,  -699,      2528,   369,  2528,   369,   603,   369,   610,   604,   612,   618,
1193       459,   466,   381,   489,   426,   479,  -699,  1785,  -137,  -699,       608,   616,  -841,   623,   609,   621,   619,  -841,  -841,   559,
1194      -137,  1785,  -699,   485,   491,  3323,   214,   214,  -699,  2228,       628,   626,   627,   624,   617,   567,   622,  -841,   611,   629,
1195      -699,   102,   -21,  -699,  -699,   487,   381,   493,   505,   496,        16,  -841,  -841,  -841,  -841,  -841,  -841,  2085,  2528,    16,
1196      -699,  -137,   494,   498,   444,   503,   512,  -699,  -699,  -137,        16,    16,  -841,  2085,    16,  -841,  -841,  2528,    16,   631,
1197      -699,  -699,  2228,  -699,  -699,  -699,  -699,  -699,  -699,  2228,        16,  -841,    16,   632,   575,   639,    16,  2966,    16,   579,
1198      -137,   214,   214,  -699,  -699,  -699,  -699,  3542,  -699,  3761,       647,   646,   635,   586,    16,  -841,    16,  -841,   587,   650,
1199       513,   517,   518,   507,   515,   504,   520,  -699,   502,   508,       651,   652,   657,   648,   643,    16,    16,    16,    16,    16,
1200       521,  2228,  2228,  2228,  2228,   509,   514,  2007,   169,   185,        16,    16,    16,    16,    16,    16,    16,  3185,    16,  3404,
1201       214,   510,   519,   522,   534,   228,   523,   524,   526,   525,        16,   661,    16,   649,   663,   658,   656,   601,   606,   666,
1202      -699,   228,   228,  2007,  2007,   533,   530,   531,   527,  -699,       664,   662,   665,   660,   674,   668,  -841,   667,  -841,   670,
1203       537,   475,   529,  -699,   540,  -137,  2228,  2228,  -137,   539,      -841,   675,   669,   369,  2528,   369,   369,   369,  2528,   369,
1204       536,  -699,   214,   214,   214,   541,   538,   542,   558,  -699,       369,   671,   369,   369,   672,   673,   676,  2528,  2307,   679,
1205       544,   543,   545,   548,  -699,  -137,  -699,  -699,   549,   560,       684,   683,   685,   686,   369,   369,   688,   687,   689,   607,
1206       546,   554,   550,   106,   497,   553,   555,   506,   214,   214,      -841,  -841,   692,   369,   369,  2528,   369,    95,   369,   438,
1207       556,   511,  -699,   562,   559,   516,   561,   563,   228,   567,      2528,   369,   412,  2747,  2747,  2307,  2528,  2307,  2528,  -841,
1208       570,   568,   566,   569,   572,   573,   581,    87,   574,   571,        55,   613,   694,   695,   637,   678,   680,  -841,   707,  -841,
1209       590,   575,   592,  -699,   577,   101,   582,   580,  -699,  -699,       691,   690,   700,   696,   135,   698,   677,   711,  -841,  2085,
1210       583,   586,  -699,   547,   604,   602,   606,     4,   596,   605,        16,  -841,    16,  2085,    16,  -841,   697,    16,  -841,  -841,
1211       551,   608,   557,   609,   576,   610,   601,   597,   578,   598,       699,   701,   703,  3623,   238,   238,   733,  -841,  2528,  -841,
1212      -699,   194,   611,   612,   616,   618,   617,   624,   622,   626,       173,    33,  -841,  -841,   702,   696,   162,   716,   710,  -841,
1213       623,   640,   625,   196,   627,   628,   631,    40,  -699,   620,        16,   708,   202,   681,   723,   728,  -841,  -841,    16,  -841,
1214        58,   637,   639,   584,   645,   633,   641,  -699,   652,   654,      -841,  2528,  -841,   731,   725,  -841,  -841,  -841,  -841,  -841,
1215       659,   656,   660,   662,   663,   649,   599,   666,   661,   650,      -841,  -841,  -841,  -841,  2528,    16,   238,   238,  -841,  -841,
1216       676,   667,   669,   613,   688,   672,   692,   691,   629,   675,      -841,  -841,  -841,   733,  3842,   733,  4061,  -841,   732,   705,
1217       695,   677,   697,   701,   681,   702,   629,    61,   703,   689,       740,   739,   729,   730,   738,   726,   727,   743,  -841,   734,
1218       690,   696,   704,   693,   699,   698,   707,   711,   700,   706,       736,   741,   735,   744,  2528,  2528,  2528,  2528,   369,   737,
1219       714,   720,   717,   722,   715,   719,   728,   729,   713,   727,      2528,   754,   758,   759,  2307,   285,   310,  2307,   238,   761,
1220       716,   739,   731,   743,   742,   732,  -699,   734,   733,   684,       762,   764,   745,   756,   369,   765,   766,   746,   768,  -841,
1221       747,   754,  -699,   755,   733,   745,   758,   694,   761,   748,       369,   752,   772,   369,  2307,  2307,   779,   210,   775,   777,
1222       749,  -699,  -699,   760,   762,   750,   751,   752,  -699,   753,       781,   773,  -841,   778,   782,   722,   780,   783,   792,  -841,
1223       756,   765,   767,   770,   774,   769,   772,   782,   783,   777,       785,    16,  2528,  2528,    16,  -841,   784,    16,   791,   796,
1224       775,   723,   784,   778,   798,   800,  -699,   775,   790,   735,       793,   733,   238,   238,  -841,   238,   801,   799,   803,   802,
1225       804,   794,  -699,   797,   738,  -699,   795,   791,   741,   796,       823,  -841,   809,   806,   776,   204,  -841,   826,   824,    16,
1226       805,   738,   803,   802,   816,  -699,   806,   822,   808,   820,       733,   733,   816,   815,   819,   833,   825,   841,   834,   828,
1227       824,   825,   828,   830,   821,   831,   817,   764,   819,   827,       829,   175,   789,   830,   842,   832,   835,    55,   840,   843,
1228       814,   826,   832,  -699,   833,   842,   844,   837,   845,   847,       794,   238,   238,   851,   804,   852,  -841,   850,   855,   807,
1229       848,   849,   852,   843,   839,   840,   835,   841,   850,   853,       857,   860,   861,  -841,   438,   873,   865,   847,   839,   874,
1230       851,   860,   859,   864,   865,  -699,   869,   870,   871,   862,       882,   869,   877,   871,   872,   878,   846,   139,   881,   827,
1231       858,   867,   868,   872,   873,   874,   882,   883,   876,  -699,       894,   888,    16,   889,   883,   900,   886,   903,   895,  -841,
1232       885,  -699,   888,   878,   880,  -699,   881,   886,  -699,   884,       891,   158,   896,   893,   902,  -841,  -841,   901,   905,   897,
1233      -699,  -699,  -699       904,   845,  -841,   912,   856,   917,   916,   925,    93,   915,
1234         927,   930,   928,   929,   369,   931,   875,   937,   876,   938,
1235         939,   879,   940,   933,   934,   880,   941,   943,  -841,   935,
1236        -841,   946,   945,   251,   951,   955,   957,   947,   959,   952,
1237         958,   956,   968,   960,    16,   961,   972,   962,   973,   965,
1238         966,   271,   967,   974,   970,    54,  -841,  -841,  -841,   964,
1239         971,   466,   103,   978,   980,   924,   987,   975,   979,   981,
1240         977,  -841,   982,   412,   983,   995,   996,  1001,   998,   988,
1241        1002,  1004,  1005,   993,   944,  1008,  1003,   992,   999,   948,
1242        1020,  1000,  1014,   963,  1022,  1019,  1026,  1025,   969,    29,
1243        1017,  -841,    16,  1013,  1011,  1032,  1015,  1033,    32,  1037,
1244        1021,  1036,   969,   112,  1040,  1024,  1028,  1031,  1035,  1039,
1245        1041,  1027,  1042,  1044,  1045,  1046,  1043,  1038,  -841,  1047,
1246        1048,    22,  1049,  1050,  1055,  1060,  1054,  1057,  1063,  1068,
1247        1066,  1051,  1061,  1058,  1072,  1062,  1079,  1067,  1081,  1082,
1248        1069,  -841,  1073,  1074,  1023,  1087,  1091,  1029,  1083,  1094,
1249          16,  -841,  -841,  -841,  -841,  -841,  1098,  -841,  1099,  1074,
1250        1104,  1092,  1105,  1052,  1106,  1093,  1096,  -841,  -841,  -841,
1251        1095,  1108,  1109,  1097,  1100,  1101,  -841,  1102,  1103,  1110,
1252        1111,  1056,  1107,    55,  1112,  1114,  1113,  1123,  1125,  1115,
1253        1118,  1129,  1131,  -841,  1126,  1120,  1071,  1121,  1124,  1139,
1254        1142,  1128,  1144,  1145,  1132,  -841,  -841,  1120,  1128,  1136,
1255        1084,  1149,  1138,  -841,  1141,  1085,  -841,  1143,  1133,  1086,
1256        1140,  1147,  -841,  1137,  1157,  1154,  1085,  1148,  1150,  1160,
1257        -841,  1151,  1165,  1152,  1166,  1168,  1169,  -841,  1162,  1158,
1258        1172,  1175,  1167,  1177,  1163,  1116,  1164,  1170,  1171,  1179,
1259        1173,  1176,  1182,  -841,  1178,  1183,  1181,  1180,  1185,  1192,
1260        1184,  1195,  1200,  1198,  1203,  1193,  1187,  1186,  1189,  1194,
1261        1206,  1197,  1201,  1196,  1202,  1208,  1209,  1212,  1214,  -841,
1262        1153,  1205,  1215,  1216,  1217,  1207,  1204,  1210,  1211,  1223,
1263        -841,  1213,  1218,  1219,  1227,  1229,  1221,  -841,  1220,  1232,
1264        -841,  1233,  1224,  1226,  -841,  1174,  1228,  1230,  -841,  1222,
1265        1241,  -841,  -841,  -841,  -841
1266  };  };
1267    
1268  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1269  static const short yypgoto[] =  static const yytype_int16 yypgoto[] =
1270  {  {
1271      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1272      -699,  -699,  -699,  -569,  -699,  -699,  -699,  -699,  -586,    97,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -674,
1273      -699,   100,    46,  -699,  -699,  -454,   219,   369,   342,  -698,      -841,  -841,  -841,  -841,  -841,  -793,   124,  -841,   254,   176,
1274      -699,   317,   208,    13,   -10,   -14,   266,   428,  -413,   -12,      -841,  -449,  -626,  -780,    38,  -492,  -826,  -640,  -680,   392,
1275       887,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,       -55,  -813,   277,  -569,   431,  -840,   -13,   -39,   -14,   307,
1276      -699,  -699,  -699,   -24,  -699,  -699,  -246,  -258,  -245,  -244,      -233,  -437,   -15,  1231,  -841,  -841,  -841,  -841,  -841,  -841,
1277      -243,  -699,   655,  -699,   658,  -255,  -699,  -699,   657,   484,      -841,  -841,  -841,  -841,  -412,  -841,  -841,  -841,  -841,  -841,
1278      -699,  -699,  -699,   664,   665,  -253,  -699,  -699,   490,  -699,      -841,  -841,  -841,  -206,   994,   997,  1006,  -323,   991,  1007,
1279      -699,  -699,  -699,  -699,  -699,  -699,   668,  -699,  -699      -231,  -230,  -227,    21,  -841,  -841,  1009,  -841,  -841,  -841,
1280        -841,  1016,  -248,  -841,  -841,   990,   770,  -841,  1030,  -841,
1281        1012,  1034,  -245,  -841,    36,   -69,  -246,  1053,  -841,   771,
1282        -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1283        1018,  -841,  -841,  -841
1284  };  };
1285    
1286  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1287     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1288     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1289     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1290  #define YYTABLE_NINF -130  #define YYTABLE_NINF -181
1291  static const short yytable[] =  static const yytype_int16 yytable[] =
1292  {  {
1293       266,   542,   268,   641,   269,   270,   271,   272,   273,   274,       275,   273,   276,   277,   278,   279,   280,   281,   282,   283,
1294       275,   276,   277,   278,   279,   502,   353,   356,   354,   357,       284,   285,   286,   287,   288,   289,   290,   778,   786,   319,
1295       394,   786,    36,   788,    32,   507,   925,   362,    40,    41,       319,   319,   319,   319,   319,   319,   319,   319,   542,   930,
1296        33,   386,   393,   395,   396,   397,   619,   517,    37,   926,       755,   372,   959,   388,   391,   647,   389,   392,  -180,   411,
1297       304,   304,   304,   304,   304,   304,   304,   304,   304,   518,       421,   583,   584,   600,   586,   318,   320,   321,   322,   323,
1298       620,    29,   329,   287,    28,     1,   365,     2,   519,   288,       324,   325,   326,   327,   597,  1288,  1289,   440,   441,   610,
1299       957,   911,    34,   303,   305,   306,   307,   308,   309,   310,       772,   442,   963,   909,   965,     1,  1258,     2,   603,  1258,
1300       311,   312,     3,   958,     4,     5,    38,   959,     6,   380,       423,   352,   577,   942,    33,  1215,  1147,   550,   955,   410,
1301       961,   997,   948,     7,   380,   359,   381,   263,     8,     9,       416,   587,    43,     3,   449,     4,     5,   426,  1216,     6,
1302        10,   381,    11,   962,   350,   382,   383,    30,   998,   384,       428,   598,  1217,   347,     7,     8,   611,   405,    44,     9,
1303       618,   383,   624,   625,   384,    31,   351,   810,   907,   841,        10,    11,   615,    12,   308,   565,   566,   567,   568,   569,
1304       293,   294,   295,   296,   297,   298,   299,   300,   301,   302,       570,   571,   572,   573,   616,    36,  1167,   943,  1259,   385,
1305       908,   358,   915,   359,   884,   856,   857,   773,   885,    35,       617,  1266,   748,   618,   423,   424,  1221,   944,   345,  1168,
1306       654,   780,    39,   360,   916,   280,   886,   660,   661,   662,       346,   386,   347,  1270,  1205,   425,   749,   704,   340,  1222,
1307       663,   664,   665,   666,   667,   668,   781,   782,   293,   487,       348,   426,   427,    37,   428,    40,   349,   350,   341,   705,
1308       488,   489,   490,   491,   492,   493,   494,   495,   468,   472,      1271,   555,   556,   557,   558,   559,   560,   561,   562,   563,
1309       473,   474,   475,   476,   477,   478,   479,   480,   481,   482,       564,  1138,   578,   579,   580,   581,   412,   302,   340,   979,
1310       507,   469,   470,   471,   842,   411,   412,   293,   294,   295,       413,    41,   980,  1139,   747,   303,   753,   754,   414,   998,
1311       296,   297,   298,   299,   300,   301,   302,   503,   504,   521,      1152,  1041,   308,   309,   310,   311,   312,   313,   314,   315,
1312       843,   524,   281,   293,   294,   295,   296,   297,   298,   299,       316,   317,  1153,   393,  1104,   394,  1000,    34,  1105,  1001,
1313       300,   301,   302,  -129,  -129,  -129,   503,   504,   327,   370,        45,  1060,  1061,    35,    38,   395,  1106,   787,  1035,   300,
1314       328,   325,   329,   371,   939,   940,   952,   953,   282,   284,        39,   384,    42,   904,   403,   301,   795,   796,   797,   798,
1315       330,   372,   293,   294,   295,   296,   297,   298,   299,   300,       799,   800,   801,   802,   803,   804,   805,   806,    46,   305,
1316       301,   302,   835,   736,   283,   838,   293,   487,   488,   489,       764,  1063,   766,   539,   540,   306,  1006,  1064,  1091,   975,
1317       490,   491,   492,   493,   494,   495,   332,   285,   286,   760,       270,   975,   552,   553,   539,   540,   554,   308,   309,   310,
1318       289,   369,   374,   290,   291,   399,    40,   325,   400,   403,       311,   312,   313,   314,   315,   316,   317,  -180,  -180,  -180,
1319       401,   402,   404,   405,   406,   408,   407,   414,   410,   413,       292,   603,    47,    48,   620,   291,   624,   623,   466,   467,
1320       428,   415,   429,   434,   435,   442,   436,   441,   437,    -4,       500,   467,  1191,  1192,   447,   293,   812,   539,   540,   462,
1321        -4,   460,   443,   451,   452,   454,   450,   461,   453,   462,       295,   462,   462,   462,   462,   462,   462,   462,   462,    -4,
1322       463,   456,   457,   409,   464,   409,   409,   409,   409,   409,        -4,  1042,  1210,  1211,   308,   309,   310,   311,   312,   313,
1323       409,   409,   409,   458,   459,   465,   466,   467,   501,   381,       314,   315,   316,   317,   961,   962,   656,   657,   435,   443,
1324       483,   484,   498,   499,   500,   514,   539,   515,   516,   537,      1031,   294,   296,  1034,   379,   381,  1043,   297,  1174,   308,
1325       416,   538,   543,   540,   417,   541,   418,   419,   420,   421,       309,   310,   311,   312,   313,   314,   315,   316,   317,   465,
1326       422,   264,   423,   544,   424,   425,   426,   427,   545,   546,       298,   299,   304,    47,   377,   340,   382,   473,   450,   451,
1327       548,   430,   431,   547,   432,   433,   549,   550,   552,   551,       452,   898,   456,   474,   453,   475,   476,   477,   478,   479,
1328       553,   569,   570,   573,   574,   438,   439,   440,   575,   585,      1037,   480,   454,   481,   482,   483,   484,   485,   457,   486,
1329       577,   849,   444,   445,   446,   447,   448,   449,   576,   586,       487,   488,   929,   959,   490,   455,   491,   458,   459,   493,
1330       587,   589,   588,   590,   604,   605,   606,   607,   608,   610,       460,   461,   463,   496,   497,   464,   498,   499,   308,   565,
1331       609,   611,   613,   612,   645,   615,   614,   455,   657,   658,       566,   567,   568,   569,   570,   571,   572,   573,   503,   468,
1332       616,   617,   637,   643,   638,   642,   646,   644,   655,   656,       469,   470,   505,   506,   471,   507,   508,  1112,   472,   489,
1333       659,   673,   674,   675,   676,   677,   679,   678,   680,   681,       492,   512,   513,   514,   515,   516,   517,   518,   495,   494,
1334       682,   683,   685,   684,   686,   699,   695,   797,   496,   497,       501,   504,   502,   509,   510,   511,   519,   520,   945,   956,
1335       700,   701,   706,   707,   694,   698,   708,   727,   702,   705,       957,   308,   565,   566,   567,   568,   569,   570,   571,   572,
1336       723,   530,   531,   532,   533,   536,   709,   724,   728,   725,       573,   526,   521,   522,   527,   523,   524,   528,   529,   531,
1337       729,   731,   730,   732,   733,   793,   794,   756,   799,   743,       530,   533,   534,   542,   532,   535,   271,   308,   565,   566,
1338       744,   735,   734,   726,   758,   755,   554,   555,   556,   557,       567,   568,   569,   570,   571,   572,   573,   574,   538,   536,
1339       558,   559,   560,   561,   562,   563,   564,   565,   566,   567,       537,   544,   543,   545,   548,   549,   599,   547,   546,   582,
1340       568,   757,   759,   571,   572,   762,   763,   304,   304,   304,       576,   585,   588,   550,   589,   594,   576,   576,   595,   576,
1341       304,   304,   304,   304,   304,   304,   764,   766,   765,   791,       596,   613,   612,   614,   592,   593,   636,   641,   642,   576,
1342       790,   580,   580,   792,   582,   796,   583,   795,   584,   800,       648,   646,  1220,   643,   576,   645,   650,   654,   644,   632,
1343       303,   305,   306,   307,   308,   309,   310,   311,   312,   591,       633,   634,   635,   649,   640,   655,   651,   652,   658,   653,
1344       592,   593,   594,   595,   596,   597,   598,   599,   600,   601,       659,   660,  1051,   661,   662,   663,   664,   665,   680,   684,
1345       602,   603,   798,   805,   806,   811,   812,   813,   814,   819,       687,   688,   689,   692,   447,   447,   319,   319,   319,   319,
1346       324,   817,   816,   818,   820,   826,   825,   829,   827,   828,       319,   319,   319,   319,   319,   693,   666,   667,   668,   669,
1347       832,   830,   831,   834,   833,   627,   839,   845,   630,   631,       670,   671,   672,   673,   674,   675,   676,   677,   678,   679,
1348       632,   633,   840,   847,   636,   848,   853,   846,   852,   858,       694,   695,   318,   320,   321,   322,   323,   324,   325,   326,
1349       850,   859,   851,   860,   863,   861,   864,   649,   652,   649,       327,   696,   700,   681,   682,   683,   701,   702,   685,   686,
1350       862,   865,   866,   867,   870,   871,   873,   874,   879,   872,       703,   706,   707,   724,   726,   690,   691,   727,   339,   728,
1351       875,   877,   880,   876,   881,   882,   887,   670,   883,   672,       729,   730,   731,   733,   732,   734,   739,   697,   736,   698,
1352       888,   893,   909,   889,   891,   890,   899,   894,   896,   901,       743,   699,   735,   740,   744,   769,   746,   741,   742,   745,
1353       892,   897,   900,   902,   905,   895,   903,   906,   910,   687,       765,   773,   790,   775,   781,   708,   709,   710,   711,   712,
1354       904,   911,   912,   913,   914,   917,   688,   918,   689,   690,       713,   714,   715,   716,   717,   718,   719,   720,   721,   722,
1355       691,   919,   692,   920,   693,   922,   923,   924,   927,   928,       723,   774,   725,   779,   780,   782,   783,   791,   788,   792,
1356       930,   932,   934,   935,   938,   936,   921,   941,   942,   703,       793,   789,   794,   813,   811,   815,   814,   816,   817,   818,
1357       929,   704,   943,   945,   947,   960,   931,   948,   710,   711,       603,   526,   526,   819,   821,   820,   822,   824,   823,   825,
1358       712,   713,   714,   715,   716,   717,   718,   944,   720,   946,       826,   827,   832,   828,   831,   830,   829,   756,   841,   844,
1359       722,   950,   949,   955,   951,   933,   954,   937,   956,   963,       759,   760,   761,   762,   845,   576,   846,   576,   849,   768,
1360       964,   966,   967,   965,   969,   738,   739,   740,   968,   742,       850,   771,   771,   851,   852,   853,   856,   857,   858,   859,
1361       970,   971,   972,   753,   974,   973,   976,   752,   977,   975,       860,   861,   862,   785,   879,   881,   882,   884,   883,   887,
1362       652,   978,   980,   979,   981,   983,   768,   770,   986,   768,       885,   888,   889,   891,   892,   886,   934,   890,   893,   894,
1363       775,   777,   984,   768,   785,   753,   982,   753,   752,   752,       982,   973,   968,   906,   910,   897,   911,   808,   912,   810,
1364       985,   752,   987,   988,   990,   991,   992,   993,   989,   994,       895,   576,   924,   896,   925,   926,   927,   928,   972,   932,
1365       995,   999,   996,  1001,  1000,   801,   802,  1002,   803,   804,       445,   931,   933,   935,   969,   970,   971,   974,   975,   976,
1366      1003,  1005,  1004,  1008,  1006,  1009,   304,   304,  1007,  1010,       977,   981,   983,   978,   989,   833,   991,   993,   997,  1002,
1367      1011,   409,  1012,  1013,  1014,  1016,  1015,   485,   486,   815,       992,   999,   834,  1003,   835,   836,   837,  1005,   838,   839,
1368      1017,   324,   324,  1021,  1018,  1019,   511,   821,  1020,   808,      1008,  1009,   339,   840,  1011,   842,  1016,   843,  1012,  1018,
1369       809,  1022,  1023,  1024,  1025,  1030,   535,  1027,   822,  1028,      1019,  1022,  1020,  1021,  1023,  1024,  1025,  1030,  1028,   854,
1370      1026,   304,   304,  1029,  1031,  1032,  1033,   324,  1034,  1036,      1007,   855,  1029,  1026,  1027,  1036,  1057,  1049,  1050,  1054,
1371      1038,  1037,  1039,  1035,  1040,  1041,  1044,  1046,  1042,  1047,       863,   864,   865,   866,   867,   868,   869,   870,   871,   872,
1372      1043,  1045,  1048,   753,   808,   809,  1049,   752,   409,   409,       873,   874,  1038,   876,  1017,   878,  1039,   880,  1040,  1046,
1373       304,   324,  1050,  1051,  1052,  1053,  1054,   770,   775,   753,      1055,  1047,  1048,  1052,  1058,  1053,  1062,  1065,  1067,   921,
1374       753,  1055,  1056,   752,   752,  1058,  1059,  1057,  1060,  1061,      1066,  1071,  1068,  1074,  1069,  1090,  1070,  1075,  1072,  1073,
1375       578,   578,  1063,   844,  1062,  1064,  1065,  1066,  1067,  1068,      1076,   900,   901,   902,  1292,   771,   905,  1078,   908,   908,
1376      1069,  1070,   304,   304,   409,  1071,  1072,  1073,  1074,  1075,      1079,  1080,   339,   921,   922,  1083,   921,  1084,   921,  1085,
1377      1076,  1078,  1079,   878,   324,  1077,  1081,  1080,  1082,  1084,      1086,   785,  1087,  1088,  1089,  1092,  1095,  1093,  1096,   937,
1378      1083,  1089,  1085,  1086,  1087,   868,   869,  1088,   409,   409,       939,  1097,   937,   576,   949,   951,  1098,   937,   960,   640,
1379      1093,  1090,  1091,  1095,   777,  1094,  1098,  1096,  1092,  1097,       640,   922,  1100,   922,  1099,  1109,  1101,  1102,  1103,  1108,
1380      1100,  1099,  1104,  1101,  1102,   511,  1105,   628,   629,  1103,      1110,  1128,  1129,  1137,  1111,   319,   319,   525,  1107,  1113,
1381      1106,  1108,  1109,   634,   635,  1110,  1111,  1112,   640,   640,      1119,   462,  1114,  1115,   984,   985,  1292,   986,   987,   988,
1382      1107,  1113,  1114,  1115,   324,   324,   648,  1117,   648,  1116,      1116,  1118,   990,  1117,  1120,  1122,  1121,   339,   339,  1123,
1383       324,   324,  1118,  1119,  1123,  1124,   324,  1126,  1121,  1120,      1124,   995,   996,  1126,  1127,  1131,  1130,  1132,  1133,  1134,
1384      1127,  1122,  1125,  1128,   324,  1129,  1130,   669,   854,   671,      1136,  1135,  1140,  1142,   339,  1004,  1141,   319,   319,  1143,
1385      1132,  1131,   855,   761,   898,   653,   784,   626,   522,   368,      1145,  1146,  1147,  1010,  1148,  1149,  1150,   590,   591,  1151,
1386       292,   363,   581,   376,   525,   324,     0,   324,   364,     0,      1154,  1155,  1156,  1157,  1161,  1162,  1159,   607,  1158,  1164,
1387       378,     0,     0,     0,     0,     0,   398,     0,     0,     0,      1013,  1165,  1160,   995,   996,  1163,   339,  1166,  1169,   639,
1388        1170,  1171,  1173,  1172,  1175,   921,   462,   462,   921,   319,
1389        1177,  1179,  1180,  1182,  1176,  1178,  1183,  1189,  1181,  1185,
1390         445,   445,  1188,  1184,   908,   921,   921,  1190,  1193,  1186,
1391         922,  1187,  1194,   922,  1195,  1045,  1197,  1196,  1198,  1200,
1392        1199,  1201,  1202,  1204,  1205,  1207,   939,  1218,  1209,   949,
1393         922,   922,  1206,   319,   319,  1208,   462,  1212,  1214,  1219,
1394        1213,  1223,  1224,  1225,  1226,  1227,  1230,  1228,  1234,  1229,
1395        1231,  1233,  1077,  1235,  1236,  1237,  1238,  1240,  1239,  1081,
1396        1082,  1242,  1241,  1243,  1244,  1246,  1245,  1248,  1247,  1249,
1397        1250,  1251,   462,   462,  1094,  1253,  1254,  1255,  1256,  1260,
1398        1258,  1262,  1252,  1263,  1265,  1264,  1267,  1269,  1257,  1272,
1399        1273,  1268,  1274,  1275,   339,   339,  1276,  1279,  1278,  1283,
1400         339,  1277,  1285,  1297,   339,  1280,  1296,  1282,  1286,  1284,
1401         951,  1281,  1298,  1299,   339,  1300,  1287,   525,   525,  1301,
1402        1302,  1303,  1304,  1306,  1305,  1308,  1307,  1144,  1310,  1311,
1403        1309,   607,  1312,   757,   758,  1313,  1318,  1315,  1314,   763,
1404        1319,  1316,  1317,   767,   339,  1321,   339,  1322,  1320,  1324,
1405        1325,   777,   777,  1326,  1327,  1330,  1328,  1331,  1332,  1333,
1406         785,  1334,  1335,  1336,  1056,  1346,  1339,  1347,  1337,  1340,
1407        1338,  1329,  1342,  1344,  1341,  1343,  1349,  1348,  1350,  1351,
1408        1352,   807,  1353,   809,  1354,  1358,  1355,  1356,  1360,  1203,
1409        1357,  1361,  1359,  1363,   921,  1362,  1366,  1364,  1368,  1365,
1410        1369,  1370,  1373,  1367,  1371,  1374,  1375,  1372,  1376,  1377,
1411        1378,  1379,  1380,  1382,  1384,  1383,  1381,  1387,  1386,   960,
1412        1385,  1391,  1388,  1389,  1392,  1390,  1394,  1393,  1400,  1395,
1413        1397,  1398,  1405,  1406,  1450,  1396,   339,  1407,  1408,  1399,
1414         339,  1401,  1402,  1403,  1404,  1409,  1410,  1261,  1411,  1412,
1415         339,  1413,  1414,  1416,  1415,   339,  1417,  1418,  1420,  1421,
1416        1419,  1425,  1422,  1424,  1423,  1427,  1426,  1428,  1431,  1432,
1417        1433,  1232,  1429,  1430,  1435,  1434,  1436,  1437,   339,  1438,
1418        1442,  1439,  1443,  1445,  1440,  1446,  1447,  1441,  1444,  1453,
1419        1448,   339,  1449,  1454,  1451,   899,  1452,  1059,  1345,   903,
1420        1125,   339,   967,   339,  1044,  1323,   418,   397,   913,   438,
1421         398,   307,   621,   625,     0,     0,     0,     0,     0,   399,
1422           0,     0,     0,   408,     0,   439,   941,     0,   420,   400,
1423           0,   954,     0,     0,   639,   639,   444,   964,     0,   966,
1424           0,     0,     0,   401,     0,     0,     0,   402,     0,     0,
1425         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1426           0,     0,     0,     0,     0,     0,   404,     0,     0,   339,
1427         339,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1428         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1429         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1430         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1431         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1432         0,     0,     0,   324,     0,   737,     0,   324,     0,   741,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1433         0,   324,     0,   745,     0,   324,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1434         0,     0,     0,     0,     0,     0,     0,     0,     0,   772,         0,     0,     0,     0,     0,   777,  1032,  1033,   777,     0,
1435         0,     0,     0,   779,     0,     0,     0,   787,   324,   789,         0,   607,   328,    52,    53,    54,    55,    56,   329,   330,
1436         0,     0,     0,     0,     0,   324,     0,     0,     0,     0,       331,   332,   333,   334,   335,   336,   337,   338,    67,    68,
1437         0,     0,     0,   324,     0,   324,     0,     0,     0,     0,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1438         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1439         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1440         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1441         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1442         0,     0,   324,   324,     0,     0,     0,     0,     0,     0,       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1443         0,     0,     0,     0,     0,     0,     0,     0,   640,   836,       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1444       837,   640,   313,    45,    46,    47,    48,   314,   315,   316,       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1445       317,   318,   319,   320,   321,   322,   323,    59,    60,    61,       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1446        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1447        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1448        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1449        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1450       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1451       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1452       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,       219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1453       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1454       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1455       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1456       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1457       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       269,   737,     0,   270,   328,    52,    53,    54,    55,    56,
1458       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1459       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1460       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1461       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1462       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1463       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1464       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1465       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1466       262,   647,     0,   263,   313,    45,    46,    47,    48,   314,       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1467       315,   316,   317,   318,   319,   320,   321,   322,   323,    59,       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1468        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1469         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1470         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1471         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1472         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1473         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1474         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1475         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1476         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1477         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1478         257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1479         267,   268,   269,     0,   738,   270,    51,    52,    53,    54,
1480          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1481          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1482          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1483          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1484          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1485         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1486         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1487         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1488         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1489         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1490         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1491         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1492         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1493         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1494         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1495         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1496         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1497         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1498         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1499         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1500         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1501         265,   266,   267,   268,   269,     0,     0,   270,   328,    52,
1502          53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1503         335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1504          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1505          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1506          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1507         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1508         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1509         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1510         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1511         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1512         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1513         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1514         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1515         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1516         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1517         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1518         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1519         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1520         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1521         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1522         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1523         263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
1524         328,    52,    53,    54,   914,   915,    57,    58,    59,    60,
1525          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1526          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1527          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1528          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1529         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1530         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1531         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1532         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1533         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1534         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1535         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1536         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1537         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1538         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1539         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1540         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1541         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1542         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1543         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1544         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1545         261,   262,   263,   264,   265,   266,   267,   268,   269,   539,
1546         540,   328,    52,    53,    54,    55,    56,   329,   330,   331,
1547         332,   333,   334,   335,   336,   337,   338,    67,    68,    69,
1548        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1549        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1550        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
# Line 1150  static const short yytable[] = Line 1564  static const short yytable[] =
1564       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1565       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1566       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1567       260,   261,   262,     0,   650,   263,    44,    45,    46,    47,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1568        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,       328,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1569        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1570        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1571        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1572        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1573        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1574       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1575       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1576       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1577       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1578       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1579       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1580       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1581       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1582       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1583       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1584       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1585       218,   219,   220,   221,   222,   223,   224,   225,   226,   227,       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1586       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1587       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1588       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1589       258,   259,   260,   261,   262,     0,     0,   263,   313,    45,       261,   262,   263,   264,   265,   266,   267,   268,   269,   328,
1590        46,    47,    48,   314,   315,   316,   317,   318,   319,   320,       848,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1591       321,   322,   323,    59,    60,    61,    62,    63,    64,    65,       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
1592        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1593        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1594        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1595        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1596       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1597       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1598       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1599       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1600       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1601       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1602       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1603       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1604       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1605       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1606       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1607       216,   217,   218,   219,   220,   221,   222,   223,   224,   225,       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1608       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1609       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1610       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1611       256,   257,   258,   259,   260,   261,   262,     0,     0,   263,       262,   263,   264,   265,   266,   267,   268,   269,   328,   875,
1612       313,    45,    46,   746,   747,    49,    50,    51,    52,    53,        53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1613        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,       335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,  
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,  
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,  
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,  
      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,  
      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,  
      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,  
      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,  
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,  
      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,  
      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,  
      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,  
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,  
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,  
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,  
      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,  
      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,  
      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,  
      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,  
      254,   255,   256,   257,   258,   259,   260,   261,   262,   503,  
      504,   313,    45,    46,    47,    48,   314,   315,   316,   317,  
      318,   319,   320,   321,   322,   323,    59,    60,    61,    62,  
       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,  
1614        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1615        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1616        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
# Line 1239  static const short yytable[] = Line 1630  static const short yytable[] =
1630       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1631       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1632       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1633       313,    45,    46,    47,    48,    49,    50,    51,    52,    53,       263,   264,   265,   266,   267,   268,   269,   328,   877,    53,
1634        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,        54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1635        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,       336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1636        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1637        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1638        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
# Line 1260  static const short yytable[] = Line 1651  static const short yytable[] =
1651       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1652       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1653       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1654       254,   255,   256,   257,   258,   259,   260,   261,   262,   313,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1655       697,    46,    47,    48,   314,   315,   316,   317,   318,   319,       264,   265,   266,   267,   268,   269,   328,   994,    53,    54,
1656       320,   321,   322,   323,    59,    60,    61,    62,    63,    64,        55,    56,   329,   330,   331,   332,   333,   334,   335,   336,
1657        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,       337,   338,    67,    68,    69,    70,    71,    72,    73,    74,
1658        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1659        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1660        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
# Line 1282  static const short yytable[] = Line 1673  static const short yytable[] =
1673       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1674       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1675       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1676       255,   256,   257,   258,   259,   260,   261,   262,   313,   719,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1677        46,    47,    48,   314,   315,   316,   317,   318,   319,   320,       265,   266,   267,   268,   269,   328,  1014,    53,    54,    55,
1678       321,   322,   323,    59,    60,    61,    62,    63,    64,    65,        56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1679        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,       338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1680        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1681        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1682        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
# Line 1304  static const short yytable[] = Line 1695  static const short yytable[] =
1695       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1696       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1697       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1698       256,   257,   258,   259,   260,   261,   262,   313,   721,    46,       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1699        47,    48,   314,   315,   316,   317,   318,   319,   320,   321,       266,   267,   268,   269,   328,  1015,    53,    54,    55,    56,
1700       322,   323,    59,    60,    61,    62,    63,    64,    65,    66,       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1701        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1702        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1703        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
# Line 1326  static const short yytable[] = Line 1717  static const short yytable[] =
1717       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1718       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1719       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1720       257,   258,   259,   260,   261,   262,   313,   807,    46,    47,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1721        48,   314,   315,   316,   317,   318,   319,   320,   321,   322,       267,   268,   269
      323,    59,    60,    61,    62,    63,    64,    65,    66,    67,  
       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,  
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,  
       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,  
       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,  
      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,  
      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,  
      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,  
      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,  
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,  
      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,  
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,  
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,  
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,  
      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,  
      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,  
      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,  
      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,  
      258,   259,   260,   261,   262,   313,   823,    46,    47,    48,  
      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,  
       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,  
       69,    70,    71,    72,    73,    74,    75,    76,    77,    78,  
       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,  
       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,  
       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,  
      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,  
      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,  
      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,  
      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,  
      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,  
      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,  
      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,  
      179,   180,   181,   182,   183,   184,   185,   186,   187,   188,  
      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,  
      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,  
      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,  
      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,  
      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,  
      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,  
      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,  
      259,   260,   261,   262,   313,   824,    46,    47,    48,   314,  
      315,   316,   317,   318,   319,   320,   321,   322,   323,    59,  
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,  
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,  
      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,  
      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,  
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,  
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,  
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,  
      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,  
      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,  
      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,  
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,  
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,  
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,  
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,  
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,  
      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,  
      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,  
      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,  
      260,   261,   262  
1722  };  };
1723    
1724  static const short yycheck[] =  static const yytype_int16 yycheck[] =
1725  {  {
1726        14,   455,    14,   572,    16,    17,    18,    19,    20,    21,        15,    15,    17,    18,    19,    20,    21,    22,    23,    24,
1727        22,    23,    24,    25,    26,    31,   271,   272,   271,   272,        25,    26,    27,    28,    29,    30,    31,   691,   698,    58,
1728       278,   719,    22,   721,    26,   438,    22,   273,   225,   226,        59,    60,    61,    62,    63,    64,    65,    66,   465,   855,
1729        32,   277,   278,   278,   278,   278,    19,    18,    38,    35,       670,   277,   872,   281,   282,   527,   281,   282,     5,   285,
1730        50,    51,    52,    53,    54,    55,    56,    57,    58,    30,       286,   490,   491,    32,   493,    58,    59,    60,    61,    62,
1731        33,    35,    22,    30,    21,     1,    26,     3,    39,    36,        63,    64,    65,    66,   503,    33,    34,   288,   288,   508,
1732        20,    21,    38,    50,    51,    52,    53,    54,    55,    56,       686,   288,   875,   843,   877,     1,    37,     3,   505,    37,
1733        57,    58,    18,    33,    20,    21,    31,    37,    24,    19,        20,   277,   484,   866,    22,    21,    22,    27,   871,   285,
1734        22,    20,    21,    29,    19,    20,    26,   224,    34,    35,       286,   493,    23,    19,   290,    21,    22,    37,    34,    25,
1735        36,    26,    38,    35,    18,    30,    36,    22,    37,    39,        40,   503,    38,    23,    30,    31,   508,    27,    39,    35,
1736       554,    36,   556,   557,    39,    22,    30,     5,    21,   807,        36,    37,    19,    39,     9,    10,    11,    12,    13,    14,
1737          15,    16,    17,    18,    31,    23,    23,    22,    89,    19,
1738          37,    89,    20,    40,    20,    21,    23,    32,    19,    36,
1739          21,    31,    23,    21,    22,    31,    34,    27,    21,    36,
1740          31,    37,    38,    23,    40,    19,    37,    38,    31,    39,
1741          38,   474,   475,   476,   477,   478,   479,   480,   481,   482,
1742         483,    22,   485,   486,   487,   488,    19,    30,    21,    34,
1743          23,    39,    37,    34,   666,    38,   668,   669,    31,     6,
1744          22,   994,     9,    10,    11,    12,    13,    14,    15,    16,
1745          17,    18,    34,    19,    19,    21,    34,    30,    23,    37,
1746          32,  1014,  1015,    36,    27,    31,    31,   699,   988,    31,
1747          33,   280,    23,   839,   283,    37,   708,   709,   710,   711,
1748         712,   713,   714,   715,   716,   717,   718,   719,     0,    31,
1749         679,    21,   681,   222,   223,    37,    34,    27,    34,    37,
1750         224,    37,   473,   473,   222,   223,   473,     9,    10,    11,
1751          12,    13,    14,    15,    16,    17,    18,   224,   225,   226,
1752          23,   698,   225,   226,   512,    22,   512,   512,    39,    40,
1753          39,    40,    21,    22,   289,    23,   725,   222,   223,   318,
1754          38,   320,   321,   322,   323,   324,   325,   326,   327,   225,
1755         226,     6,    21,    22,     9,    10,    11,    12,    13,    14,
1756          15,    16,    17,    18,   873,   874,   539,   540,   287,   288,
1757         984,    37,    37,   987,   278,   279,     6,    19,  1144,     9,
1758          10,    11,    12,    13,    14,    15,    16,    17,    18,   344,
1759          34,    27,    20,   225,    31,    21,    31,   352,    19,    19,
1760          38,   833,    33,   358,    38,   360,   361,   362,   363,   364,
1761         990,   366,    22,   368,   369,   370,   371,   372,    23,   374,
1762         375,   376,   854,  1203,   379,    38,   381,    23,    37,   384,
1763          19,    39,    26,   388,   389,    27,   391,   392,     9,    10,
1764          11,    12,    13,    14,    15,    16,    17,    18,   403,    26,
1765          32,    27,   407,   408,    23,   410,   411,  1077,    33,    27,
1766          27,   416,   417,   418,   419,   420,   421,   422,    27,    39,
1767          26,    32,    27,    39,    21,    27,    39,    26,   867,     7,
1768         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1769        33,    18,    21,    20,    18,   823,   824,   713,    22,    22,        18,   446,    27,    38,   449,    33,    33,    36,    38,    40,
1770       584,   717,     0,    30,    33,    21,    30,   591,   592,   593,        36,    21,    21,   880,    38,    34,    15,     9,    10,    11,
1771       594,   595,   596,   597,   598,   599,     6,     7,     8,     9,        12,    13,    14,    15,    16,    17,    18,    19,    22,    20,
1772        10,    11,    12,    13,    14,    15,    16,    17,   416,   417,        19,    19,    22,    19,    36,    38,    37,    22,    25,    22,
1773       418,   419,   420,   421,   422,   423,   424,   425,   426,   427,       484,    22,    22,    27,    22,    22,   490,   491,    19,   493,
1774       583,   416,   416,   416,     5,    38,    39,     8,     9,    10,        22,    26,    22,    22,   498,   499,    32,    24,    19,   503,
1775        11,    12,    13,    14,    15,    16,    17,   222,   223,   444,        23,    27,    26,    37,   508,    38,    23,    32,    36,   513,
1776         5,   444,    22,     8,     9,    10,    11,    12,    13,    14,       514,   515,   516,    33,   518,    27,    38,    36,    27,    37,
1777        15,    16,    17,   224,   225,   226,   222,   223,    18,    18,        27,    32,  1004,    27,    27,    40,    19,    32,    30,    27,
1778        20,    20,    22,    22,    20,    21,    20,    21,    36,    36,        27,    27,    27,    27,   539,   540,   565,   566,   567,   568,
1779        30,    30,     8,     9,    10,    11,    12,    13,    14,    15,       569,   570,   571,   572,   573,    32,   551,   552,   553,   554,
1780        16,    17,   801,   687,    37,   804,     8,     9,    10,    11,       555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
1781        12,    13,    14,    15,    16,    17,   270,    18,    26,   703,        27,    38,   565,   566,   567,   568,   569,   570,   571,   572,
1782        37,   275,   276,    19,    36,   279,   225,    20,    18,    21,       573,    33,    27,   578,   579,   580,    33,    27,   583,   584,
1783        37,    37,    37,    32,    22,    38,    36,    31,    25,    25,        39,    33,    33,    19,    24,   590,   591,    32,   271,    21,
1784        38,    26,    26,    38,    25,    20,    26,    38,    31,   225,        23,    19,    21,    27,    43,    21,    33,   602,    89,   604,
1785       226,    20,    26,    31,    26,    32,    38,    19,    37,    18,        89,   606,    32,    30,    23,    89,    24,    32,    32,    30,
1786        21,    37,    35,   303,    18,   305,   306,   307,   308,   309,        30,    89,    22,    89,    89,   620,   621,   622,   623,   624,
1787       310,   311,   312,    39,    37,    18,    24,    21,    36,    26,       625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
1788        21,    21,    21,    18,    21,    21,    36,    25,    21,    23,       635,    33,   637,    33,    32,    36,    32,    22,    33,    38,
1789       332,    23,    22,    35,   336,    26,   338,   339,   340,   341,        30,    89,    30,    23,    31,    23,    32,    19,    30,    23,
1790       342,    14,   344,    32,   346,   347,   348,   349,    22,    35,      1077,   656,   657,    20,    23,    36,    27,    19,    89,    23,
1791        31,   353,   354,    36,   356,   357,    26,    26,    26,    31,        23,    27,    23,    36,    43,    33,    89,   671,    27,    27,
1792        26,    26,    26,    26,    31,   367,   368,   369,    26,    26,       674,   675,   676,   677,    89,   679,    27,   681,    89,   683,
1793        32,   815,   374,   375,   376,   377,   378,   379,    37,    32,        23,   685,   686,    27,    39,    89,    89,    27,    27,    27,
1794        26,    26,    38,    32,    23,    32,    20,    22,    20,    26,        23,    33,    39,   697,    23,    36,    23,    31,    30,    23,
1795        42,    20,    32,    31,    35,    31,    29,   399,    21,    21,        89,    27,    30,    33,    20,    89,    89,    32,    30,    32,
1796        31,    89,    32,    31,    89,    32,    31,    89,    32,    89,        23,    21,    89,    32,    32,    36,    33,   721,    32,   723,
1797        29,    22,    22,    18,    22,    19,    22,    35,    89,    18,        40,   725,    33,    38,    30,    32,    31,    31,    40,    32,
1798        22,    22,    42,    26,    22,    22,    26,    36,   432,   433,       289,    33,    33,    31,    30,    30,    89,    20,    37,    39,
1799        26,    38,    26,    26,    89,    89,    26,    22,    89,    89,        30,    33,    21,    37,    37,   750,    37,    34,     5,    23,
1800        35,   445,   446,   447,   448,   449,    38,    29,    26,    30,        39,    39,   757,    33,   759,   760,   761,    39,   763,   764,
1801        29,    19,    32,    29,    31,    20,    19,    29,    22,    32,        27,    23,   445,   768,    23,   770,    24,   772,    33,    19,
1802        31,    35,    37,    89,    30,    32,   468,   469,   470,   471,        21,    23,    33,    33,    38,    38,    23,    23,    27,   784,
1803       472,   473,   474,   475,   476,   477,   478,   479,   480,   481,        89,   786,    37,    39,    38,    38,    24,    32,    22,    33,
1804       482,    31,    30,   485,   486,    32,    31,   487,   488,   489,       795,   796,   797,   798,   799,   800,   801,   802,   803,   804,
1805       490,   491,   492,   493,   494,   495,    32,    30,    89,    29,       805,   806,    38,   808,    89,   810,    38,   812,    39,    38,
1806        89,   503,   504,    89,   506,    29,   508,    38,   510,    20,        32,    39,    38,    38,    32,    39,    27,    32,    27,   848,
1807       487,   488,   489,   490,   491,   492,   493,   494,   495,   521,        33,    89,    39,    21,    36,    39,    34,    32,    38,    36,
1808       522,   523,   524,   525,   526,   527,   528,   529,   530,   531,        36,   835,   836,   837,  1261,   839,   840,    36,   842,   843,
1809       532,   533,    33,    38,    33,    38,    33,    22,    32,    26,        34,    38,   525,   872,   848,    34,   875,    38,   877,    36,
1810       264,    33,    38,    89,    22,    18,    23,    22,    20,    32,        38,   855,    19,    34,    38,    19,    30,    23,    33,   863,
1811        38,    37,    22,    22,    36,   559,    37,    37,   562,   563,       864,    32,   866,   867,   868,   869,    23,   871,   872,   873,
1812       564,   565,    38,    31,   568,    21,    31,    38,    32,    26,       874,   875,    21,   877,    39,    23,    32,    39,    39,    39,
1813        37,    31,    38,    32,    89,    38,    37,   579,   582,   581,        38,    24,    33,    27,    39,   914,   915,   446,    89,    39,
1814        33,    31,    33,    37,    33,    37,    18,    33,    29,    37,        30,   920,    39,    89,   899,   900,  1323,   902,   903,   904,
1815        37,    33,    22,    38,    38,    31,    89,   601,    38,   603,        39,    39,   907,    89,    39,    38,    89,   590,   591,    39,
1816        37,    29,    18,    38,    38,    89,    29,    38,    37,    31,        39,   914,   915,    30,    39,    23,    32,    38,    31,    38,
1817        89,    38,    32,    37,    31,    89,    37,    26,    37,   621,        32,    39,    31,    19,   607,   930,    89,   956,   957,    31,
1818        38,    21,    37,    21,    37,    33,   628,    37,   630,   631,        31,    38,    22,   938,    38,    22,    31,   496,   497,    38,
1819       632,    38,   634,    37,   636,    21,    24,    21,    32,    24,        34,    38,    30,    32,    89,    23,    39,   506,    33,    22,
1820        22,    22,    22,    32,    36,    38,    89,    26,    26,   651,       955,    25,    38,   956,   957,    89,   639,    22,    33,   518,
1821        89,   653,    26,    26,    22,    25,    89,    21,   660,   661,        23,    21,    23,    25,    23,   994,   995,   996,   997,   998,
1822       662,   663,   664,   665,   666,   667,   668,    39,   670,    35,        23,    23,    23,    23,    89,    89,    33,    21,    89,    89,
1823       672,    21,    39,    35,    39,    89,    39,    89,    37,    32,       539,   540,    37,    39,   988,  1014,  1015,    32,    27,    38,
1824        31,    26,    39,    89,    22,   689,   690,   691,    37,   693,       994,    38,    27,   997,    27,   998,    27,    40,    36,    33,
1825        26,    22,    26,   697,    22,    25,    37,   697,    89,    26,        32,    23,    32,    32,    22,    22,  1010,    33,    32,  1013,
1826       704,    25,    42,    32,    18,    26,   710,   711,    26,   713,      1014,  1015,    40,  1042,  1043,    40,  1045,    40,    38,    38,
1827       714,   715,    89,   717,   718,   719,    39,   721,   718,   719,        36,    33,    32,    89,    27,    40,    39,    38,    23,    38,
1828        22,   721,    20,    22,    39,    20,    39,    20,    89,    18,        38,    38,  1037,    27,    23,    27,    38,    23,    26,  1042,
1829        39,    18,    20,    33,    35,   737,   738,    31,   740,   741,      1043,    38,    27,    89,    26,    43,    33,    89,    39,    19,
1830        26,    32,    39,    22,    36,    35,   746,   747,    31,    33,        40,    27,  1081,  1082,  1059,    23,    27,    21,    23,    32,
1831        26,   751,    22,    26,    22,    26,    31,   430,   431,   761,        37,    40,    89,    21,    21,    40,    19,    21,    89,    19,
1832        22,   485,   486,    37,    25,    42,   439,   769,    31,   746,        36,    40,    34,    32,   757,   758,    31,    40,    27,    23,
1833       747,    22,    31,    20,    22,    18,   449,    33,   780,    36,       763,    32,    34,    23,   767,    33,    27,    32,    31,    36,
1834        38,   781,   782,    89,    20,    20,    31,   511,    20,    18,      1094,    37,    27,    23,   777,    31,    38,   656,   657,    32,
1835        31,    33,    22,    89,    22,    35,    33,    22,    37,    22,        27,    23,    26,    32,    43,    23,    38,  1112,    19,    32,
1836        38,    35,    22,   807,   781,   782,    22,   807,   808,   809,        38,   670,    21,   672,   673,    23,    19,    34,    39,   678,
1837       810,   535,    33,    31,    22,    22,    29,   821,   822,   823,        19,    37,    89,   682,   807,    32,   809,    23,    89,    21,
1838       824,    36,    89,   823,   824,    37,    18,    33,    18,    29,        21,   690,   691,    19,    32,    19,    21,    34,    32,    34,
1839       503,   504,    18,   810,    89,    31,    29,    89,    33,    38,      1144,    23,    23,    36,  1010,    23,    34,    23,    38,    36,
1840        89,    35,   842,   843,   844,    30,    33,    35,    22,    33,        39,    89,    31,    36,    34,    89,    23,    34,    23,    34,
1841        18,    21,    18,   855,   578,    37,    18,    22,    18,    18,        32,   720,    23,   722,    23,    34,    30,    37,    19,  1174,
1842        29,    37,    35,    89,    35,   842,   843,    30,   868,   869,        89,    19,    38,    19,  1203,    37,    30,    22,    19,    37,
1843        18,    35,    30,    26,   878,    21,    18,    22,    35,    22,        32,    30,    39,    89,    89,    89,    36,    34,    31,    42,
1844        18,    22,    37,    30,    35,   558,    35,   560,   561,    39,        23,    27,    34,    23,    19,    34,    36,    19,    22,  1203,
1845        30,    30,    22,   566,   567,    26,    22,    22,   571,   572,        38,    19,    23,    31,    19,    37,    19,    30,    19,    36,
1846        37,    22,    22,    22,   628,   629,   579,    39,   581,    37,        36,    31,    19,    22,    30,    89,   899,    27,    23,    38,
1847       634,   635,    35,    35,    22,    22,   640,    22,    35,    37,       903,    38,    36,    31,    36,    23,    32,  1232,    23,    19,
1848        22,    37,    36,    35,   648,    35,    35,   600,   821,   602,       913,    23,    19,    36,    31,   918,    40,    38,    22,    32,
1849        36,    35,   822,   704,   878,   583,   718,   558,   444,   274,        36,    23,    31,    31,    38,    23,    27,    23,    23,    23,
1850        43,   273,   504,   276,   444,   669,    -1,   671,   273,    -1,        23,  1203,    89,    38,    40,    38,    36,    36,   941,    26,
1851       276,    -1,    -1,    -1,    -1,    -1,   278,    -1,    -1,    -1,        23,    38,    23,    33,    36,    23,    23,    38,    37,    37,
1852        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        36,   954,    36,    22,    36,   834,    36,  1013,  1323,   838,
1853        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,      1094,   964,   880,   966,   997,  1290,   286,   283,   847,   288,
1854         283,    50,   512,   512,    -1,    -1,    -1,    -1,    -1,   283,
1855          -1,    -1,    -1,   284,    -1,   288,   865,    -1,   286,   283,
1856          -1,   870,    -1,    -1,   873,   874,   288,   876,    -1,   878,
1857          -1,    -1,    -1,   283,    -1,    -1,    -1,   283,    -1,    -1,
1858        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1859          -1,    -1,    -1,    -1,    -1,    -1,   283,    -1,    -1,  1032,
1860        1033,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1861        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1862        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,   737,    -1,   688,    -1,   741,    -1,   692,  
       -1,   745,    -1,   696,    -1,   749,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   712,  
       -1,    -1,    -1,   716,    -1,    -1,    -1,   720,   772,   722,  
       -1,    -1,    -1,    -1,    -1,   779,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,   787,    -1,   789,    -1,    -1,    -1,    -1,  
1863        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1864        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1865        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1866        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1867        -1,    -1,   836,   837,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,   984,   985,   986,   987,    -1,
1868        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   801,   802,        -1,   990,     3,     4,     5,     6,     7,     8,     9,    10,
      803,   804,     3,     4,     5,     6,     7,     8,     9,    10,  
1869        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1870        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1871        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1800  static const short yycheck[] = Line 2156  static const short yycheck[] =
2156    
2157  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2158     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
2159  static const unsigned short yystos[] =  static const yytype_uint16 yystos[] =
2160  {  {
2161         0,     1,     3,    18,    20,    21,    24,    29,    34,    35,         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2162        36,    38,   228,   229,   230,   231,   269,   270,   271,   272,        36,    37,    39,   228,   229,   230,   231,   282,   283,   284,
2163       273,   274,   276,   277,   278,   279,   312,   315,    21,    35,       285,   286,   287,   288,   289,   290,   295,   296,   297,   298,
2164        22,    22,    26,    32,    38,    22,    22,    38,    31,     0,       299,   346,   350,    22,    30,    36,    23,    23,    27,    33,
2165       225,   226,   267,   268,     3,     4,     5,     6,     7,     8,        19,    39,    23,    23,    39,    32,     0,   225,   226,   280,
2166         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,       281,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2167        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2168        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2169        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2170        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2171        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2172        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2173        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2174        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2175        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2176       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2177       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2178       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2179       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2180       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2181       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2182       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2183       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2184       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2185       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2186       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2187       219,   220,   221,   224,   258,   261,   262,   263,   266,   266,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2188       266,   266,   266,   266,   266,   266,   266,   266,   266,   266,       224,   271,   274,   275,   276,   279,   279,   279,   279,   279,
2189        21,    22,    36,    37,    36,    18,    26,    30,    36,    37,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
2190        19,    36,   267,     8,     9,    10,    11,    12,    13,    14,       279,    22,    23,    23,    37,    38,    37,    19,    34,    27,
2191        15,    16,    17,   260,   261,   260,   260,   260,   260,   260,        31,    37,    30,    38,    20,    31,    37,   280,     9,    10,
2192       260,   260,   260,     3,     8,     9,    10,    11,    12,    13,        11,    12,    13,    14,    15,    16,    17,    18,   273,   274,
2193        14,    15,    16,    17,   263,    20,   280,    18,    20,    22,       273,   273,   273,   273,   273,   273,   273,   273,     3,     9,
2194        30,   234,   280,   281,   282,   283,   289,   291,   292,   293,        10,    11,    12,    13,    14,    15,    16,    17,    18,   276,
2195       294,   295,   296,   298,   300,   301,   302,   303,   304,   305,        21,    31,   232,   300,   333,    19,    21,    23,    31,    37,
2196        18,    30,   236,   292,   302,   237,   292,   302,    18,    20,        38,   238,   300,   301,   302,   303,   310,   311,   313,   318,
2197        30,   242,   283,   291,   301,    26,   238,   288,   289,   280,       319,   320,   321,   322,   323,   325,   327,   328,   329,   330,
2198        18,    22,    30,   235,   280,   290,   295,   299,   300,   314,       331,   332,   333,   334,   335,   336,   340,    31,   235,   331,
2199        19,    26,    30,    36,    39,   232,   283,   284,   285,   286,       236,   331,    31,   242,   332,    19,    31,   240,   319,   329,
2200       287,   313,   233,   283,   284,   285,   286,   287,   313,   280,       243,   319,   329,    19,    21,    31,   248,   301,   302,   303,
2201        18,    37,    37,    21,    37,    32,    22,    36,    38,   261,       318,   325,   328,   332,   334,    27,   244,   312,   313,   237,
2202        25,    38,    39,    25,    31,    26,   266,   266,   266,   266,       300,   333,    19,    23,    31,   239,   300,   317,   322,   326,
2203       266,   266,   266,   266,   266,   266,   266,   266,    38,    26,       327,   333,   349,    20,    21,    31,    37,    38,    40,   233,
2204       266,   266,   266,   266,    38,    25,    26,    31,   266,   266,       305,   306,   307,   308,   309,   310,   347,   234,   305,   306,
2205       266,    38,    20,    26,   266,   266,   266,   266,   266,   266,       307,   308,   309,   310,   347,   271,   277,   279,   241,   300,
2206        38,    31,    26,    37,    32,   266,    37,    35,    39,    37,        19,    19,    38,    38,    22,    38,    33,    23,    23,    37,
2207        20,    19,    18,    21,    18,    18,    24,    21,   284,   285,        19,    39,   274,    26,    27,   279,    39,    40,    26,    32,
2208       286,   287,   284,   284,   284,   284,   284,   284,   284,   284,        27,    23,    33,   279,   279,   279,   279,   279,   279,   279,
2209       284,   284,   284,    21,    21,   258,   258,     9,    10,    11,       279,   279,   279,   279,   279,   279,   279,   279,   279,    27,
2210        12,    13,    14,    15,    16,    17,   262,   262,    21,    18,       279,   279,    27,   279,    39,    27,   279,   279,   279,   279,
2211        21,    36,    31,   222,   223,   243,   255,   265,   275,   244,        39,    26,    27,   279,    32,   279,   279,   279,   279,    39,
2212       254,   258,   252,   262,    21,    25,    21,    18,    30,    39,        21,    27,   279,   279,   279,   279,   279,   279,   279,    39,
2213       239,   292,   296,   297,   302,   305,   306,   307,   308,   309,        26,    27,    38,    33,    33,   271,   279,   279,    36,    38,
2214       262,   262,   262,   262,   257,   258,   262,    23,    23,    36,        36,    40,    38,    21,    21,    34,    20,    19,    22,   222,
2215        35,    26,   252,    22,    32,    22,    35,    36,    31,    26,       223,   266,   278,    22,    19,    19,    25,    22,    36,    38,
2216        26,    31,    26,    26,   266,   266,   266,   266,   266,   266,        27,   304,   307,   308,   309,   304,   304,   304,   304,   304,
2217       266,   266,   266,   266,   266,   266,   266,   266,   266,    26,       304,   304,   304,   304,   304,    10,    11,    12,    13,    14,
2218        26,   266,   266,    26,    31,    26,    37,    32,   258,   264,        15,    16,    17,    18,    19,   258,   275,   291,   304,   304,
2219       266,   264,   266,   266,   266,    26,    32,    26,    38,    26,       304,   304,    22,   258,   258,    22,   258,   291,    22,    22,
2220        32,   266,   266,   266,   266,   266,   266,   266,   266,   266,       271,   271,   275,   275,    22,    19,    22,   258,   291,    37,
2221       266,   266,   266,   266,    23,    32,    20,    22,    20,    42,        32,   249,   265,   278,   294,   250,   264,   271,   262,   275,
2222        26,    20,    31,    32,    29,    31,    31,    89,   252,    19,       258,   291,    22,    26,    22,    19,    31,    37,    40,   245,
2223        33,   241,   310,   311,   252,   252,   254,   262,   258,   258,       319,   323,   324,   329,   333,   336,   337,   338,   339,   341,
2224       262,   262,   262,   262,   258,   258,   262,    32,    89,   240,       342,   343,   275,   275,   275,   275,    32,   348,   270,   271,
2225       258,   240,    32,    31,    89,    35,    31,   222,   258,   266,       275,    24,    19,    37,    36,    38,    27,   262,    23,    33,
2226       223,   253,   262,   255,   252,    32,    89,    21,    21,    29,        23,    38,    36,    37,    32,    27,   277,   277,    27,    27,
2227       252,   252,   252,   252,   252,   252,   252,   252,   252,   258,        32,    27,    27,    40,    19,    32,   279,   279,   279,   279,
2228       262,   258,   262,    22,    22,    18,    22,    19,    35,    22,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
2229        89,    18,    22,    22,    26,    42,    22,   266,   266,   266,        30,   279,   279,   279,    27,   279,   279,    27,    27,    27,
2230       266,   266,   266,   266,    89,    26,   266,     4,    89,    22,       279,   279,    27,    32,    27,    38,    33,   279,   279,   279,
2231        26,    38,    89,   266,   266,    89,    26,    26,    26,    38,        27,    33,    27,    39,    27,    39,    33,    33,   279,   279,
2232       266,   266,   266,   266,   266,   266,   266,   266,   266,     4,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
2233       266,     4,   266,    35,    29,    30,    89,    22,    26,    29,       279,   279,   279,   279,    19,   279,    24,    32,    21,    23,
2234        32,    19,    29,    31,    37,    35,   252,   258,   262,   262,        19,    21,    43,    27,    21,    32,    89,   222,   223,    33,
2235       262,   258,   262,    32,    31,   258,     6,     7,   256,   258,        30,    32,    32,    89,    23,    30,    24,   262,    20,    34,
2236       259,   260,   261,   262,   265,    32,    29,    31,    30,    30,       247,   344,   345,   262,   262,   264,   275,   271,   271,   275,
2237       252,   253,    32,    31,    32,    89,    30,   245,   262,   246,       275,   275,   275,   271,   258,    30,   258,   271,   275,    89,
2238       262,   247,   258,   245,   248,   262,   249,   262,   250,   258,       259,   275,   259,    89,    33,    89,   246,   271,   246,    33,
2239       245,     6,     7,   251,   259,   262,   256,   258,   256,   258,        32,    89,    36,    32,   263,   275,   265,   262,    33,    89,
2240        89,    29,    89,    20,    19,    38,    29,    36,    33,    22,        22,    22,    38,    30,    30,   262,   262,   262,   262,   262,
2241        20,   266,   266,   266,   266,    38,    33,     4,   260,   260,       262,   262,   262,   262,   262,   262,   262,   271,   275,   271,
2242         5,    38,    33,    22,    32,   266,    38,    33,    89,    26,       275,    31,   258,    23,    32,    23,    19,    30,    23,    20,
2243        22,   266,   266,     4,     4,    23,    18,    20,    32,    22,        36,    23,    27,    89,    19,    23,    23,    27,    36,    89,
2244        37,    22,    38,    36,    22,   240,   258,   258,   240,    37,        33,    43,    23,   279,   279,   279,   279,   279,   279,   279,
2245        38,   256,     5,     5,   260,    37,    38,    31,    21,   252,       279,    27,   279,   279,    27,    89,    27,   279,     4,    89,
2246        37,    38,    32,    31,   246,   248,   256,   256,    26,    31,        23,    27,    39,    89,   279,   279,    89,    27,    27,    27,
2247        32,    38,    33,    89,    37,    31,    33,    37,   260,   260,        23,    33,    39,   279,   279,   279,   279,   279,   279,   279,
2248        33,    37,    37,    18,    33,    37,    38,    33,   266,    29,       279,   279,   279,   279,   279,     4,   279,     4,   279,    23,
2249        22,    38,    31,    38,    18,    22,    30,    89,    37,    38,       279,    36,    23,    30,    31,    89,    89,    23,    27,    30,
2250        89,    38,    89,    29,    38,    89,    37,    38,   249,    29,        32,    33,    20,    30,    32,    40,    38,    36,   262,   271,
2251        32,    31,    37,    37,    38,    31,    26,    21,    33,    18,       275,   275,   275,   271,   259,   275,    32,   260,   275,   260,
2252        37,    21,    37,    21,    37,    21,    33,    33,    37,    38,        32,    33,    32,   271,     7,     8,   268,   269,   271,   272,
2253        37,    89,    21,    24,    21,    22,    35,    32,    24,    89,       273,   274,   275,   278,    33,    30,    32,    31,    31,   262,
2254        22,    89,    22,    89,    22,    32,    38,    89,    36,    20,       263,    33,    32,    33,    89,    31,   252,   275,   253,   275,
2255        21,    26,    26,    26,    39,    26,    35,    22,    21,    39,       254,   271,   252,    22,    32,   258,   292,   293,   255,   275,
2256        21,    39,    20,    21,    39,    35,    37,    20,    33,    37,       256,   275,   291,   257,   271,   252,     7,     8,   261,   272,
2257        25,    22,    35,    32,    31,    89,    26,    39,    37,    22,       275,   270,   270,   268,   271,   268,   271,   266,    89,    30,
2258        26,    22,    26,    25,    22,    26,    37,    89,    25,    32,        30,    89,    40,    21,    20,    37,    39,    30,    37,    34,
2259        42,    18,    39,    26,    89,    22,    26,    20,    22,    89,        37,    33,    23,    21,   279,   279,   279,   279,   279,    37,
2260        39,    20,    39,    20,    18,    39,    20,    20,    37,    18,       279,    37,    39,    34,     4,   273,   273,     5,     6,    39,
2261        35,    33,    31,    26,    39,    32,    36,    31,    22,    35,        34,    37,    23,    33,   279,    39,    34,    89,    27,    23,
2262        33,    26,    22,    26,    22,    31,    26,    22,    25,    42,       279,    23,    33,   279,     4,     4,    24,    89,    19,    21,
2263        31,    37,    22,    31,    20,    22,    38,    33,    36,    89,        33,    33,    23,    38,    38,    23,    39,    38,    27,    37,
2264        18,    20,    20,    31,    20,    89,    18,    33,    31,    22,        23,   246,   271,   271,   246,   260,    38,   264,    38,    38,
2265        22,    35,    37,    38,    33,    35,    22,    22,    22,    22,        39,   268,     6,     6,   269,   273,    38,    39,    38,    32,
2266        33,    31,    22,    22,    29,    36,    89,    33,    37,    18,        22,   262,    38,    39,    33,    32,   253,    24,    32,   255,
2267        18,    29,    89,    18,    31,    29,    89,    33,    38,    89,       268,   268,    27,    21,    27,    32,    33,    27,    39,    36,
2268        35,    30,    33,    35,    22,    33,    18,    37,    21,    18,        34,    89,    38,    36,    21,    32,    36,   279,    36,    34,
2269        22,    18,    18,    29,    18,    35,    89,    35,    30,    37,        38,   273,   273,    34,    38,    36,    38,    19,    34,    38,
2270        35,    30,    35,    18,    21,    26,    22,    22,    18,    22,        39,    34,    19,    23,   279,    30,    33,    32,    23,    39,
2271        18,    30,    35,    39,    37,    35,    30,    37,    30,    22,        21,    32,    39,    39,    19,    23,    31,    89,    39,    23,
2272        26,    22,    22,    22,    22,    22,    37,    39,    35,    35,        38,    39,   265,    39,    39,    89,    39,    89,    39,    30,
2273        37,    35,    37,    22,    22,    36,    22,    22,    35,    35,        39,    89,    38,    39,    39,   256,    30,    39,    24,    33,
2274        35,    35,    36        32,    23,    38,    31,    38,    39,    32,    27,    22,    34,
2275          31,    89,    19,    31,   279,    31,    38,    22,    38,    22,
2276          31,    38,    22,    34,    34,    38,    30,    32,    33,    39,
2277          38,    89,    23,    89,    22,    25,    22,    23,    36,    33,
2278          23,    21,    25,    23,   263,    23,    89,    23,    89,    23,
2279          23,    89,    23,    33,    39,    89,    38,    38,    37,    21,
2280          32,    21,    22,    27,    27,    27,    40,    27,    36,    32,
2281          33,    23,    32,   279,    32,    22,    40,    22,    40,    32,
2282          21,    22,    40,    36,    38,    21,    34,    38,    33,    38,
2283          26,    23,    36,    33,    32,    89,    27,    40,    38,    38,
2284          39,    38,   261,    38,    23,    27,    23,    27,    38,    26,
2285          23,    27,    38,    89,    26,    33,    43,    39,    89,    19,
2286          40,    27,    89,    23,    27,    21,    23,    89,    37,    89,
2287          32,   279,    40,    21,    40,    21,    89,    19,    40,    21,
2288          21,    38,    19,    36,    34,    32,    31,    32,    27,    40,
2289          33,    37,    32,    23,    36,    34,    31,    38,    33,    34,
2290         251,   267,   278,   314,   315,   316,    27,    23,    27,    23,
2291          31,    32,    27,    23,    26,    43,    32,    38,    23,    38,
2292          19,    32,    21,    23,    39,    34,    37,    89,    19,    19,
2293          89,    32,    23,   279,    21,    21,    19,    32,    21,    89,
2294          19,    34,    32,    34,    23,    23,    36,    38,    39,    34,
2295          36,    34,    31,    89,    36,   267,    23,    23,    34,    23,
2296          23,    34,    32,    23,    23,    30,    37,    89,    34,    38,
2297          19,    19,    37,    19,    22,    37,    30,    89,    19,    32,
2298          30,    89,    34,    39,    89,    36,    31,    42,    23,    27,
2299          34,    36,    23,    34,    19,    38,    22,    19,    23,    31,
2300          37,    19,    19,    30,    19,    36,    89,    36,    31,    38,
2301          19,    38,    36,    31,    36,    19,    22,    27,    23,    23,
2302          32,    23,    19,    23,    19,    31,    36,    40,    38,    36,
2303          22,    32,    31,    38,    31,    23,    27,    23,    23,    89,
2304          38,    23,    23,    23,    38,    40,    36,    36,    26,    38,
2305          36,    38,    23,    23,    37,    33,    23,    23,    36,    36,
2306          30,    36,    36,    37,    22
2307  };  };
2308    
 #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  
   
2309  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2310  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
2311  #define YYEMPTY         (-2)  #define YYEMPTY         (-2)
# Line 1941  static const unsigned short yystos[] = Line 2313  static const unsigned short yystos[] =
2313    
2314  #define YYACCEPT        goto yyacceptlab  #define YYACCEPT        goto yyacceptlab
2315  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
2316  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrorlab
2317    
2318    
2319  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
# Line 1959  do                                                             \ Line 2331  do                                                             \
2331        yychar = (Token);                                         \        yychar = (Token);                                         \
2332        yylval = (Value);                                         \        yylval = (Value);                                         \
2333        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2334        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2335        goto yybackup;                                            \        goto yybackup;                                            \
2336      }                                                           \      }                                                           \
2337    else                                                          \    else                                                          \
2338      {                                                           \      {                                                           \
2339        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2340        YYERROR;                                                  \        YYERROR;                                                  \
2341      }                                                           \      }                                                           \
2342  while (0)  while (YYID (0))
2343    
2344    
2345  #define YYTERROR        1  #define YYTERROR        1
2346  #define YYERRCODE       256  #define YYERRCODE       256
2347    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2348    
2349    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2350       If N is 0, then set CURRENT to the empty location which ends
2351       the previous symbol: RHS[0] (always defined).  */
2352    
2353    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2354  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2355  # define YYLLOC_DEFAULT(Current, Rhs, N)         \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2356    Current.first_line   = Rhs[1].first_line;      \      do                                                                  \
2357    Current.first_column = Rhs[1].first_column;    \        if (YYID (N))                                                    \
2358    Current.last_line    = Rhs[N].last_line;       \          {                                                               \
2359    Current.last_column  = Rhs[N].last_column;            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2360              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2361              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2362              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2363            }                                                               \
2364          else                                                              \
2365            {                                                               \
2366              (Current).first_line   = (Current).last_line   =              \
2367                YYRHSLOC (Rhs, 0).last_line;                                \
2368              (Current).first_column = (Current).last_column =              \
2369                YYRHSLOC (Rhs, 0).last_column;                              \
2370            }                                                               \
2371        while (YYID (0))
2372  #endif  #endif
2373    
2374    
2375    /* YY_LOCATION_PRINT -- Print the location on the stream.
2376       This macro was not mandated originally: define only if we know
2377       we won't break user code: when these are the locations we know.  */
2378    
2379    #ifndef YY_LOCATION_PRINT
2380    # if YYLTYPE_IS_TRIVIAL
2381    #  define YY_LOCATION_PRINT(File, Loc)                  \
2382         fprintf (File, "%d.%d-%d.%d",                      \
2383                  (Loc).first_line, (Loc).first_column,     \
2384                  (Loc).last_line,  (Loc).last_column)
2385    # else
2386    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2387    # endif
2388    #endif
2389    
2390    
2391  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2392    
2393  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2003  while (0) Line 2408  while (0)
2408  do {                                            \  do {                                            \
2409    if (yydebug)                                  \    if (yydebug)                                  \
2410      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2411  } while (0)  } while (YYID (0))
2412    
2413  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2414  do {                                            \  do {                                                                      \
2415    if (yydebug)                                  \    if (yydebug)                                                            \
2416      yysymprint Args;                            \      {                                                                     \
2417  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
2418          yy_symbol_print (stderr,                                            \
2419                      Type, Value); \
2420          YYFPRINTF (stderr, "\n");                                           \
2421        }                                                                     \
2422    } while (YYID (0))
2423    
2424  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2425  do {                                                            \  /*--------------------------------.
2426    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
2427      {                                                           \  `--------------------------------*/
2428        YYFPRINTF (stderr, "%s ", Title);                         \  
2429        yysymprint (stderr,                                       \  /*ARGSUSED*/
2430                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
2431        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
2432      }                                                           \  static void
2433  } while (0)  yy_symbol_value_print (FILE *yyoutput, int yytype, const YYSTYPE * const yyvaluep)
2434    #else
2435    static void
2436    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2437        FILE *yyoutput;
2438        int yytype;
2439        const YYSTYPE * const yyvaluep;
2440    #endif
2441    {
2442      if (!yyvaluep)
2443        return;
2444    # ifdef YYPRINT
2445      if (yytype < YYNTOKENS)
2446        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2447    # else
2448      YYUSE (yyoutput);
2449    # endif
2450      switch (yytype)
2451        {
2452          default:
2453            break;
2454        }
2455    }
2456    
2457    
2458    /*--------------------------------.
2459    | Print this symbol on YYOUTPUT.  |
2460    `--------------------------------*/
2461    
2462    #if (defined __STDC__ || defined __C99__FUNC__ \
2463         || defined __cplusplus || defined _MSC_VER)
2464    static void
2465    yy_symbol_print (FILE *yyoutput, int yytype, const YYSTYPE * const yyvaluep)
2466    #else
2467    static void
2468    yy_symbol_print (yyoutput, yytype, yyvaluep)
2469        FILE *yyoutput;
2470        int yytype;
2471        const YYSTYPE * const yyvaluep;
2472    #endif
2473    {
2474      if (yytype < YYNTOKENS)
2475        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2476      else
2477        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2478    
2479      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2480      YYFPRINTF (yyoutput, ")");
2481    }
2482    
2483  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2484  | 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 |
2485  | TOP (cinluded).                                                   |  | TOP (included).                                                   |
2486  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2487    
2488  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2489         || defined __cplusplus || defined _MSC_VER)
2490  static void  static void
2491  yy_stack_print (short *bottom, short *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2492  #else  #else
2493  static void  static void
2494  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2495      short *bottom;      yytype_int16 *bottom;
2496      short *top;      yytype_int16 *top;
2497  #endif  #endif
2498  {  {
2499    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2500    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
2501      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
2502    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2503  }  }
# Line 2047  yy_stack_print (bottom, top) Line 2506  yy_stack_print (bottom, top)
2506  do {                                                            \  do {                                                            \
2507    if (yydebug)                                                  \    if (yydebug)                                                  \
2508      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
2509  } while (0)  } while (YYID (0))
2510    
2511    
2512  /*------------------------------------------------.  /*------------------------------------------------.
2513  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
2514  `------------------------------------------------*/  `------------------------------------------------*/
2515    
2516  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2517         || defined __cplusplus || defined _MSC_VER)
2518  static void  static void
2519  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp,
2520                       int yyrule)
2521  #else  #else
2522  static void  static void
2523  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule
2524      int yyrule;                     )
2525        YYSTYPE *yyvsp;
2526        
2527                       int yyrule;
2528  #endif  #endif
2529  {  {
2530      int yynrhs = yyr2[yyrule];
2531    int yyi;    int yyi;
2532    unsigned int yylineno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2533    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2534               yyrule - 1, yylineno);               yyrule - 1, yylno);
2535    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
2536    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2537      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
2538    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
2539          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2540                           &(yyvsp[(yyi + 1) - (yynrhs)])
2541                                           );
2542          fprintf (stderr, "\n");
2543        }
2544  }  }
2545    
2546  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
2547  do {                                    \  do {                                    \
2548    if (yydebug)                          \    if (yydebug)                          \
2549      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
2550  } while (0)  } while (YYID (0))
2551    
2552  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
2553     multiple parsers can coexist.  */     multiple parsers can coexist.  */
2554  int yydebug;  int yydebug;
2555  #else /* !YYDEBUG */  #else /* !YYDEBUG */
2556  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
2557  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
2558  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
2559  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
2560  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2100  int yydebug; Line 2569  int yydebug;
2569     if the built-in stack extension method is used).     if the built-in stack extension method is used).
2570    
2571     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
2572     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2573     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2574    
 #if YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
2575  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
2576  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
2577  #endif  #endif
# Line 2116  int yydebug; Line 2581  int yydebug;
2581  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
2582    
2583  # ifndef yystrlen  # ifndef yystrlen
2584  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
2585  #   define yystrlen strlen  #   define yystrlen strlen
2586  #  else  #  else
2587  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
2588    #if (defined __STDC__ || defined __C99__FUNC__ \
2589         || defined __cplusplus || defined _MSC_VER)
2590  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
2591  yystrlen (const char *yystr)  yystrlen (const char *yystr)
2592  #   else  #else
2593    static YYSIZE_T
2594  yystrlen (yystr)  yystrlen (yystr)
2595       const char *yystr;      const char *yystr;
2596  #   endif  #endif
2597  {  {
2598    register const char *yys = yystr;    YYSIZE_T yylen;
2599      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
2600      continue;      continue;
2601      return yylen;
   return yys - yystr - 1;  
2602  }  }
2603  #  endif  #  endif
2604  # endif  # endif
2605    
2606  # ifndef yystpcpy  # ifndef yystpcpy
2607  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2608  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
2609  #  else  #  else
2610  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2611     YYDEST.  */     YYDEST.  */
2612    #if (defined __STDC__ || defined __C99__FUNC__ \
2613         || defined __cplusplus || defined _MSC_VER)
2614  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
2615  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
2616  #   else  #else
2617    static char *
2618  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
2619       char *yydest;      char *yydest;
2620       const char *yysrc;      const char *yysrc;
2621  #   endif  #endif
2622  {  {
2623    register char *yyd = yydest;    char *yyd = yydest;
2624    register const char *yys = yysrc;    const char *yys = yysrc;
2625    
2626    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
2627      continue;      continue;
# Line 2164  yystpcpy (yydest, yysrc) Line 2631  yystpcpy (yydest, yysrc)
2631  #  endif  #  endif
2632  # endif  # endif
2633    
2634  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
2635    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2636       quotes and backslashes, so that it's suitable for yyerror.  The
2637       heuristic is that double-quoting is unnecessary unless the string
2638       contains an apostrophe, a comma, or backslash (other than
2639       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2640       null, do not copy; instead, return the length of what the result
2641       would have been.  */
2642    static YYSIZE_T
2643    yytnamerr (char *yyres, const char *yystr)
2644    {
2645      if (*yystr == '"')
2646        {
2647          YYSIZE_T yyn = 0;
2648          char const *yyp = yystr;
2649    
2650          for (;;)
2651            switch (*++yyp)
2652              {
2653              case '\'':
2654              case ',':
2655                goto do_not_strip_quotes;
2656    
2657              case '\\':
2658                if (*++yyp != '\\')
2659                  goto do_not_strip_quotes;
2660                /* Fall through.  */
2661              default:
2662                if (yyres)
2663                  yyres[yyn] = *yyp;
2664                yyn++;
2665                break;
2666    
2667              case '"':
2668                if (yyres)
2669                  yyres[yyn] = '\0';
2670                return yyn;
2671              }
2672        do_not_strip_quotes: ;
2673        }
2674    
2675  #if YYDEBUG    if (! yyres)
2676  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
2677    
2678  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
2679  static void  }
2680  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
2681  #else  
2682  static void  /* Copy into YYRESULT an error message about the unexpected token
2683  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2684      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
2685      int yytype;     copy anything; just return the number of bytes that would be
2686      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
2687  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2688       size calculation.  */
2689    static YYSIZE_T
2690    yysyntax_error (char *yyresult, int yystate, int yychar)
2691  {  {
2692    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
2693    
2694    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2695        return 0;
2696      else
2697      {      {
2698        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
2699  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2700        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
2701          YYSIZE_T yysize1;
2702          int yysize_overflow = 0;
2703          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2704          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2705          int yyx;
2706    
2707    # if 0
2708          /* This is so xgettext sees the translatable formats that are
2709             constructed on the fly.  */
2710          YY_("syntax error, unexpected %s");
2711          YY_("syntax error, unexpected %s, expecting %s");
2712          YY_("syntax error, unexpected %s, expecting %s or %s");
2713          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2714          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2715  # endif  # endif
2716      }        char *yyfmt;
2717    else        char const *yyf;
2718      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
2719          static char const yyexpecting[] = ", expecting %s";
2720          static char const yyor[] = " or %s";
2721          char yyformat[sizeof yyunexpected
2722                        + sizeof yyexpecting - 1
2723                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2724                           * (sizeof yyor - 1))];
2725          char const *yyprefix = yyexpecting;
2726    
2727          /* Start YYX at -YYN if negative to avoid negative indexes in
2728             YYCHECK.  */
2729          int yyxbegin = yyn < 0 ? -yyn : 0;
2730    
2731          /* Stay within bounds of both yycheck and yytname.  */
2732          int yychecklim = YYLAST - yyn + 1;
2733          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2734          int yycount = 1;
2735    
2736          yyarg[0] = yytname[yytype];
2737          yyfmt = yystpcpy (yyformat, yyunexpected);
2738    
2739          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2740            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2741              {
2742                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2743                  {
2744                    yycount = 1;
2745                    yysize = yysize0;
2746                    yyformat[sizeof yyunexpected - 1] = '\0';
2747                    break;
2748                  }
2749                yyarg[yycount++] = yytname[yyx];
2750                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2751                yysize_overflow |= (yysize1 < yysize);
2752                yysize = yysize1;
2753                yyfmt = yystpcpy (yyfmt, yyprefix);
2754                yyprefix = yyor;
2755              }
2756    
2757          yyf = YY_(yyformat);
2758          yysize1 = yysize + yystrlen (yyf);
2759          yysize_overflow |= (yysize1 < yysize);
2760          yysize = yysize1;
2761    
2762    switch (yytype)        if (yysize_overflow)
2763      {          return YYSIZE_MAXIMUM;
2764        default:  
2765          break;        if (yyresult)
2766            {
2767              /* Avoid sprintf, as that infringes on the user's name space.
2768                 Don't have undefined behavior even if the translation
2769                 produced a string with the wrong number of "%s"s.  */
2770              char *yyp = yyresult;
2771              int yyi = 0;
2772              while ((*yyp = *yyf) != '\0')
2773                {
2774                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2775                    {
2776                      yyp += yytnamerr (yyp, yyarg[yyi++]);
2777                      yyf += 2;
2778                    }
2779                  else
2780                    {
2781                      yyp++;
2782                      yyf++;
2783                    }
2784                }
2785            }
2786          return yysize;
2787      }      }
   YYFPRINTF (yyoutput, ")");  
2788  }  }
2789    #endif /* YYERROR_VERBOSE */
2790    
2791    
 #endif /* ! YYDEBUG */  
2792  /*-----------------------------------------------.  /*-----------------------------------------------.
2793  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
2794  `-----------------------------------------------*/  `-----------------------------------------------*/
2795    
2796  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
2797    #if (defined __STDC__ || defined __C99__FUNC__ \
2798         || defined __cplusplus || defined _MSC_VER)
2799  static void  static void
2800  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2801  #else  #else
2802  static void  static void
2803  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
2804        const char *yymsg;
2805      int yytype;      int yytype;
2806      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
2807  #endif  #endif
2808  {  {
2809    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
2810    (void) yyvaluep;  
2811      if (!yymsg)
2812        yymsg = "Deleting";
2813      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2814    
2815    switch (yytype)    switch (yytype)
2816      {      {
2817    
2818        default:        default:
2819          break;          break;
2820      }      }
2821  }  }
2822    
# Line 2235  yydestruct (yytype, yyvaluep) Line 2824  yydestruct (yytype, yyvaluep)
2824  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
2825    
2826  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
2827  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
2828  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
2829  # else  #else
2830  int yyparse ();  int yyparse ();
2831  # endif  #endif
2832  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
2833  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
2834  int yyparse (void);  int yyparse (void);
2835  #else  #else
2836  int yyparse ();  int yyparse ();
# Line 2258  int yyparse (); Line 2847  int yyparse ();
2847  `----------*/  `----------*/
2848    
2849  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
2850  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2851  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
2852  # else  int
2853  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
2854    void *YYPARSE_PARAM;  #else
2855  # endif  int
2856    yyparse (YYPARSE_PARAM)
2857        void *YYPARSE_PARAM;
2858    #endif
2859  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
2860  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2861         || defined __cplusplus || defined _MSC_VER)
2862  int  int
2863  yyparse (void)  yyparse (void)
2864  #else  #else
# Line 2275  yyparse () Line 2868  yyparse ()
2868  #endif  #endif
2869  #endif  #endif
2870  {  {
2871    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
2872  int yychar;  int yychar;
2873    
2874  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
2875  YYSTYPE yylval;  YYSTYPE yylval;
2876    
2877  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
2878  int yynerrs;  int yynerrs;
2879    
2880    register int yystate;    int yystate;
2881    register int yyn;    int yyn;
2882    int yyresult;    int yyresult;
2883    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
2884    int yyerrstatus;    int yyerrstatus;
2885    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
2886    int yytoken = 0;    int yytoken = 0;
2887    #if YYERROR_VERBOSE
2888      /* Buffer for error messages, and its allocated size.  */
2889      char yymsgbuf[128];
2890      char *yymsg = yymsgbuf;
2891      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2892    #endif
2893    
2894    /* Three stacks and their tools:    /* Three stacks and their tools:
2895       `yyss': related to states,       `yyss': related to states,
# Line 2301  int yynerrs; Line 2900  int yynerrs;
2900       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
2901    
2902    /* The state stack.  */    /* The state stack.  */
2903    short yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
2904    short *yyss = yyssa;    yytype_int16 *yyss = yyssa;
2905    register short *yyssp;    yytype_int16 *yyssp;
2906    
2907    /* The semantic value stack.  */    /* The semantic value stack.  */
2908    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
2909    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
2910    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
2911    
2912    
2913    
2914  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
2915    
2916    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
2917    
# Line 2321  int yynerrs; Line 2920  int yynerrs;
2920    YYSTYPE yyval;    YYSTYPE yyval;
2921    
2922    
2923    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
2924       rule.  */       Keep to zero when no symbol should be popped.  */
2925    int yylen;    int yylen = 0;
2926    
2927    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
2928    
# Line 2347  int yynerrs; Line 2946  int yynerrs;
2946  `------------------------------------------------------------*/  `------------------------------------------------------------*/
2947   yynewstate:   yynewstate:
2948    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
2949       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
2950    yyssp++;    yyssp++;
2951    
2952   yysetstate:   yysetstate:
# Line 2361  int yynerrs; Line 2959  int yynerrs;
2959    
2960  #ifdef yyoverflow  #ifdef yyoverflow
2961        {        {
2962          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
2963             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
2964             memory.  */             memory.  */
2965          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
2966          short *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
2967    
2968    
2969          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
2970             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
2971             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
2972             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
2973          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
2974                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
2975                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
2976    
# Line 2383  int yynerrs; Line 2981  int yynerrs;
2981        }        }
2982  #else /* no yyoverflow */  #else /* no yyoverflow */
2983  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
2984        goto yyoverflowlab;        goto yyexhaustedlab;
2985  # else  # else
2986        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
2987        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
2988          goto yyoverflowlab;          goto yyexhaustedlab;
2989        yystacksize *= 2;        yystacksize *= 2;
2990        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
2991          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
2992    
2993        {        {
2994          short *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
2995          union yyalloc *yyptr =          union yyalloc *yyptr =
2996            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2997          if (! yyptr)          if (! yyptr)
2998            goto yyoverflowlab;            goto yyexhaustedlab;
2999          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3000          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3001    
# Line 2428  int yynerrs; Line 3026  int yynerrs;
3026  `-----------*/  `-----------*/
3027  yybackup:  yybackup:
3028    
3029  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3030  /* 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.  */  
3031    
3032      /* First try to decide what to do without reference to look-ahead token.  */
3033    yyn = yypact[yystate];    yyn = yypact[yystate];
3034    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3035      goto yydefault;      goto yydefault;
3036    
3037    /* 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.  */
3038    
3039    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3040    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3041      {      {
3042        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2455  yybackup: Line 3051  yybackup:
3051    else    else
3052      {      {
3053        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3054        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3055      }      }
3056    
3057    /* 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 2475  yybackup: Line 3071  yybackup:
3071    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3072      YYACCEPT;      YYACCEPT;
3073    
   /* 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;  
   
   
3074    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3075       status.  */       status.  */
3076    if (yyerrstatus)    if (yyerrstatus)
3077      yyerrstatus--;      yyerrstatus--;
3078    
3079      /* Shift the look-ahead token.  */
3080      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3081    
3082      /* Discard the shifted token unless it is eof.  */
3083      if (yychar != YYEOF)
3084        yychar = YYEMPTY;
3085    
3086    yystate = yyn;    yystate = yyn;
3087      *++yyvsp = yylval;
3088    
3089    goto yynewstate;    goto yynewstate;
3090    
3091    
# Line 2526  yyreduce: Line 3121  yyreduce:
3121    switch (yyn)    switch (yyn)
3122      {      {
3123          case 4:          case 4:
3124  #line 85 "lscp.y"  #line 100 "lscp.y"
3125      { return LSCP_DONE; }      { return LSCP_DONE; }
3126      break;      break;
3127    
3128    case 5:    case 5:
3129  #line 86 "lscp.y"  #line 101 "lscp.y"
3130      { return LSCP_DONE; }      { return LSCP_DONE; }
3131      break;      break;
3132    
3133    case 6:    case 6:
3134  #line 87 "lscp.y"  #line 102 "lscp.y"
3135      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3136      break;      break;
3137    
3138    case 7:    case 7:
3139  #line 88 "lscp.y"  #line 103 "lscp.y"
3140      { 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; }
3141      break;      break;
3142    
3143    case 13:    case 13:
3144  #line 98 "lscp.y"  #line 113 "lscp.y"
3145      { yyval.String = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3146      break;      break;
3147    
3148    case 14:    case 14:
3149  #line 99 "lscp.y"  #line 114 "lscp.y"
3150      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3151      break;      break;
3152    
3153    case 15:    case 15:
3154  #line 100 "lscp.y"  #line 115 "lscp.y"
3155      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3156      break;      break;
3157    
3158    case 16:    case 16:
3159  #line 101 "lscp.y"  #line 116 "lscp.y"
3160      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3161      break;      break;
3162    
3163    case 17:    case 17:
3164  #line 102 "lscp.y"  #line 117 "lscp.y"
3165      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3166      break;      break;
3167    
3168    case 18:    case 18:
3169  #line 103 "lscp.y"  #line 118 "lscp.y"
3170      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3171      break;      break;
3172    
3173    case 19:    case 19:
3174  #line 104 "lscp.y"  #line 119 "lscp.y"
3175      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3176      break;      break;
3177    
3178    case 20:    case 20:
3179  #line 105 "lscp.y"  #line 120 "lscp.y"
3180      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3181      break;      break;
3182    
3183    case 21:    case 21:
3184  #line 106 "lscp.y"  #line 121 "lscp.y"
3185      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3186      break;      break;
3187    
3188    case 22:    case 22:
3189  #line 107 "lscp.y"  #line 122 "lscp.y"
3190      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3191      break;      break;
3192    
3193    case 23:    case 23:
3194  #line 108 "lscp.y"  #line 123 "lscp.y"
3195      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3196      break;      break;
3197    
3198    case 24:    case 24:
3199  #line 109 "lscp.y"  #line 124 "lscp.y"
3200      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3201      break;      break;
3202    
3203    case 25:    case 25:
3204  #line 110 "lscp.y"  #line 125 "lscp.y"
3205      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[(3) - (3)].String));                     }
3206      break;      break;
3207    
3208    case 26:    case 26:
3209  #line 113 "lscp.y"  #line 126 "lscp.y"
3210      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels);     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3211      break;      break;
3212    
3213    case 27:    case 27:
3214  #line 114 "lscp.y"  #line 127 "lscp.y"
3215      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);  }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3216      break;      break;
3217    
3218    case 28:    case 28:
3219  #line 115 "lscp.y"  #line 128 "lscp.y"
3220      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3221      break;      break;
3222    
3223    case 29:    case 29:
3224  #line 116 "lscp.y"  #line 129 "lscp.y"
3225      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3226      break;      break;
3227    
3228    case 30:    case 30:
3229  #line 117 "lscp.y"  #line 132 "lscp.y"
3230      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info);         }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3231      break;      break;
3232    
3233    case 31:    case 31:
3234  #line 118 "lscp.y"  #line 133 "lscp.y"
3235      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3236      break;      break;
3237    
3238    case 32:    case 32:
3239  #line 121 "lscp.y"  #line 134 "lscp.y"
3240      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels);     }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3241      break;      break;
3242    
3243    case 33:    case 33:
3244  #line 122 "lscp.y"  #line 137 "lscp.y"
3245      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);     }
3246      break;      break;
3247    
3248    case 34:    case 34:
3249  #line 123 "lscp.y"  #line 138 "lscp.y"
3250      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);       }
3251      break;      break;
3252    
3253    case 35:    case 35:
3254  #line 124 "lscp.y"  #line 139 "lscp.y"
3255      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);      }
3256      break;      break;
3257    
3258    case 36:    case 36:
3259  #line 125 "lscp.y"  #line 140 "lscp.y"
3260      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);       }
3261      break;      break;
3262    
3263    case 37:    case 37:
3264  #line 126 "lscp.y"  #line 141 "lscp.y"
3265      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);      }
3266      break;      break;
3267    
3268    case 38:    case 38:
3269  #line 129 "lscp.y"  #line 142 "lscp.y"
3270      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);              }
3271      break;      break;
3272    
3273    case 39:    case 39:
3274  #line 130 "lscp.y"  #line 143 "lscp.y"
3275      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }
3276      break;      break;
3277    
3278    case 40:    case 40:
3279  #line 131 "lscp.y"  #line 146 "lscp.y"
3280      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);     }
3281      break;      break;
3282    
3283    case 41:    case 41:
3284  #line 132 "lscp.y"  #line 147 "lscp.y"
3285      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);       }
3286      break;      break;
3287    
3288    case 42:    case 42:
3289  #line 133 "lscp.y"  #line 148 "lscp.y"
3290      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);      }
3291      break;      break;
3292    
3293    case 43:    case 43:
3294  #line 134 "lscp.y"  #line 149 "lscp.y"
3295      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);       }
3296      break;      break;
3297    
3298    case 44:    case 44:
3299  #line 135 "lscp.y"  #line 150 "lscp.y"
3300      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);      }
3301      break;      break;
3302    
3303    case 45:    case 45:
3304  #line 136 "lscp.y"  #line 151 "lscp.y"
3305      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);              }
3306      break;      break;
3307    
3308    case 46:    case 46:
3309  #line 137 "lscp.y"  #line 152 "lscp.y"
3310      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }
3311      break;      break;
3312    
3313    case 47:    case 47:
3314  #line 138 "lscp.y"  #line 155 "lscp.y"
3315      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (15)].Number),(yyvsp[(5) - (15)].Number),(yyvsp[(7) - (15)].Number),(yyvsp[(9) - (15)].String),(yyvsp[(11) - (15)].String),(yyvsp[(13) - (15)].Number),(yyvsp[(15) - (15)].Dotnum),MidiInstrumentMapper::VOID,""); }
3316      break;      break;
3317    
3318    case 48:    case 48:
3319  #line 139 "lscp.y"  #line 156 "lscp.y"
3320      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),(yyvsp[(17) - (17)].LoadMode),""); }
3321      break;      break;
3322    
3323    case 49:    case 49:
3324  #line 140 "lscp.y"  #line 157 "lscp.y"
3325      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(17) - (17)].String)); }
3326      break;      break;
3327    
3328    case 50:    case 50:
3329  #line 141 "lscp.y"  #line 158 "lscp.y"
3330      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (19)].Number),(yyvsp[(5) - (19)].Number),(yyvsp[(7) - (19)].Number),(yyvsp[(9) - (19)].String),(yyvsp[(11) - (19)].String),(yyvsp[(13) - (19)].Number),(yyvsp[(15) - (19)].Dotnum),(yyvsp[(17) - (19)].LoadMode),(yyvsp[(19) - (19)].String)); }
3331      break;      break;
3332    
3333    case 51:    case 51:
3334  #line 142 "lscp.y"  #line 161 "lscp.y"
3335      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3336      break;      break;
3337    
3338    case 52:    case 52:
3339  #line 143 "lscp.y"  #line 164 "lscp.y"
3340      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));             }
3341      break;      break;
3342    
3343    case 53:    case 53:
3344  #line 144 "lscp.y"  #line 165 "lscp.y"
3345      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));   }
3346      break;      break;
3347    
3348    case 54:    case 54:
3349  #line 145 "lscp.y"  #line 166 "lscp.y"
3350      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
3351      break;      break;
3352    
3353    case 55:    case 55:
3354  #line 146 "lscp.y"  #line 169 "lscp.y"
3355      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3356      break;      break;
3357    
3358    case 56:    case 56:
3359  #line 147 "lscp.y"  #line 170 "lscp.y"
3360      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3361      break;      break;
3362    
3363    case 57:    case 57:
3364  #line 148 "lscp.y"  #line 171 "lscp.y"
3365      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3366      break;      break;
3367    
3368    case 58:    case 58:
3369  #line 149 "lscp.y"  #line 172 "lscp.y"
3370      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3371      break;      break;
3372    
3373    case 59:    case 59:
3374  #line 150 "lscp.y"  #line 173 "lscp.y"
3375      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3376      break;      break;
3377    
3378    case 60:    case 60:
3379  #line 151 "lscp.y"  #line 174 "lscp.y"
3380      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3381      break;      break;
3382    
3383    case 61:    case 61:
3384  #line 154 "lscp.y"  #line 175 "lscp.y"
3385      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3386      break;      break;
3387    
3388    case 62:    case 62:
3389  #line 155 "lscp.y"  #line 176 "lscp.y"
3390      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3391      break;      break;
3392    
3393    case 63:    case 63:
3394  #line 156 "lscp.y"  #line 177 "lscp.y"
3395      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3396      break;      break;
3397    
3398    case 64:    case 64:
3399  #line 157 "lscp.y"  #line 178 "lscp.y"
3400      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3401      break;      break;
3402    
3403    case 65:    case 65:
3404  #line 158 "lscp.y"  #line 179 "lscp.y"
3405      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3406      break;      break;
3407    
3408    case 66:    case 66:
3409  #line 159 "lscp.y"  #line 180 "lscp.y"
3410      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3411      break;      break;
3412    
3413    case 67:    case 67:
3414  #line 162 "lscp.y"  #line 181 "lscp.y"
3415      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3416      break;      break;
3417    
3418    case 68:    case 68:
3419  #line 163 "lscp.y"  #line 182 "lscp.y"
3420      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3421      break;      break;
3422    
3423    case 69:    case 69:
3424  #line 164 "lscp.y"  #line 183 "lscp.y"
3425      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
3426      break;      break;
3427    
3428    case 70:    case 70:
3429  #line 165 "lscp.y"  #line 184 "lscp.y"
3430      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
3431      break;      break;
3432    
3433    case 71:    case 71:
3434  #line 168 "lscp.y"  #line 185 "lscp.y"
3435      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3436      break;      break;
3437    
3438    case 72:    case 72:
3439  #line 169 "lscp.y"  #line 186 "lscp.y"
3440      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
3441      break;      break;
3442    
3443    case 73:    case 73:
3444  #line 172 "lscp.y"  #line 187 "lscp.y"
3445      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
3446      break;      break;
3447    
3448    case 74:    case 74:
3449  #line 173 "lscp.y"  #line 188 "lscp.y"
3450      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
3451      break;      break;
3452    
3453    case 75:    case 75:
3454  #line 176 "lscp.y"  #line 189 "lscp.y"
3455      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
3456      break;      break;
3457    
3458    case 76:    case 76:
3459  #line 177 "lscp.y"  #line 190 "lscp.y"
3460      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
3461      break;      break;
3462    
3463    case 77:    case 77:
3464  #line 178 "lscp.y"  #line 191 "lscp.y"
3465      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
3466      break;      break;
3467    
3468    case 78:    case 78:
3469  #line 179 "lscp.y"  #line 192 "lscp.y"
3470      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3471      break;      break;
3472    
3473    case 79:    case 79:
3474  #line 180 "lscp.y"  #line 193 "lscp.y"
3475      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3476      break;      break;
3477    
3478    case 80:    case 80:
3479  #line 181 "lscp.y"  #line 194 "lscp.y"
3480      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3481      break;      break;
3482    
3483    case 81:    case 81:
3484  #line 182 "lscp.y"  #line 195 "lscp.y"
3485      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
3486      break;      break;
3487    
3488    case 82:    case 82:
3489  #line 183 "lscp.y"  #line 196 "lscp.y"
3490      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
3491      break;      break;
3492    
3493    case 83:    case 83:
3494  #line 184 "lscp.y"  #line 197 "lscp.y"
3495      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
3496      break;      break;
3497    
3498    case 84:    case 84:
3499  #line 187 "lscp.y"  #line 198 "lscp.y"
3500      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
3501      break;      break;
3502    
3503    case 85:    case 85:
3504  #line 188 "lscp.y"  #line 199 "lscp.y"
3505      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
3506      break;      break;
3507    
3508    case 86:    case 86:
3509  #line 191 "lscp.y"  #line 202 "lscp.y"
3510      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3511      break;      break;
3512    
3513    case 87:    case 87:
3514  #line 192 "lscp.y"  #line 203 "lscp.y"
3515      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3516      break;      break;
3517    
3518    case 88:    case 88:
3519  #line 195 "lscp.y"  #line 204 "lscp.y"
3520      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3521      break;      break;
3522    
3523    case 89:    case 89:
3524  #line 196 "lscp.y"  #line 205 "lscp.y"
3525      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
3526      break;      break;
3527    
3528    case 90:    case 90:
3529  #line 197 "lscp.y"  #line 206 "lscp.y"
3530      { yyval.String = LSCPSERVER->ListChannels();          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
3531      break;      break;
3532    
3533    case 91:    case 91:
3534  #line 200 "lscp.y"  #line 207 "lscp.y"
3535      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
3536      break;      break;
3537    
3538    case 92:    case 92:
3539  #line 201 "lscp.y"  #line 208 "lscp.y"
3540      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
3541      break;      break;
3542    
3543    case 93:    case 93:
3544  #line 204 "lscp.y"  #line 211 "lscp.y"
3545      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3546        break;
3547    
3548      case 94:
3549    #line 212 "lscp.y"
3550        { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
3551        break;
3552    
3553      case 95:
3554    #line 213 "lscp.y"
3555        { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
3556        break;
3557    
3558      case 96:
3559    #line 214 "lscp.y"
3560        { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
3561        break;
3562    
3563      case 97:
3564    #line 217 "lscp.y"
3565        { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3566        break;
3567    
3568      case 98:
3569    #line 220 "lscp.y"
3570        { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
3571        break;
3572    
3573      case 99:
3574    #line 221 "lscp.y"
3575        { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
3576        break;
3577    
3578      case 100:
3579    #line 224 "lscp.y"
3580        { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3581      break;      break;
3582    
3583    case 101:    case 101:
3584  #line 226 "lscp.y"  #line 225 "lscp.y"
3585      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
3586        break;
3587    
3588      case 102:
3589    #line 228 "lscp.y"
3590        { (yyval.String) = (yyvsp[(3) - (3)].String); }
3591        break;
3592    
3593      case 103:
3594    #line 229 "lscp.y"
3595        { (yyval.String) = (yyvsp[(3) - (3)].String); }
3596        break;
3597    
3598      case 104:
3599    #line 232 "lscp.y"
3600        { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
3601        break;
3602    
3603      case 105:
3604    #line 233 "lscp.y"
3605        { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
3606        break;
3607    
3608      case 106:
3609    #line 234 "lscp.y"
3610        { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
3611        break;
3612    
3613      case 107:
3614    #line 235 "lscp.y"
3615        { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
3616      break;      break;
3617    
3618    case 108:    case 108:
3619  #line 243 "lscp.y"  #line 236 "lscp.y"
3620      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
3621      break;      break;
3622    
3623    case 109:    case 109:
3624  #line 244 "lscp.y"  #line 237 "lscp.y"
3625      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
3626      break;      break;
3627    
3628    case 110:    case 110:
3629  #line 250 "lscp.y"  #line 238 "lscp.y"
3630      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
3631      break;      break;
3632    
3633    case 111:    case 111:
3634  #line 251 "lscp.y"  #line 239 "lscp.y"
3635      { yyval.Dotnum = -1; }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
3636      break;      break;
3637    
3638    case 112:    case 112:
3639  #line 254 "lscp.y"  #line 240 "lscp.y"
3640      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
3641      break;      break;
3642    
3643    case 113:    case 113:
3644  #line 255 "lscp.y"  #line 241 "lscp.y"
3645      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3646      break;      break;
3647    
3648    case 114:    case 114:
3649  #line 258 "lscp.y"  #line 242 "lscp.y"
3650      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3651      break;      break;
3652    
3653    case 115:    case 115:
3654  #line 259 "lscp.y"  #line 243 "lscp.y"
3655      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
3656      break;      break;
3657    
3658    case 116:    case 116:
3659  #line 260 "lscp.y"  #line 244 "lscp.y"
3660      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
3661      break;      break;
3662    
3663    case 117:    case 117:
3664  #line 264 "lscp.y"  #line 245 "lscp.y"
3665      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
3666      break;      break;
3667    
3668    case 118:    case 118:
3669  #line 265 "lscp.y"  #line 248 "lscp.y"
3670      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
3671      break;      break;
3672    
3673    case 119:    case 119:
3674  #line 268 "lscp.y"  #line 249 "lscp.y"
3675      { yyval.Char = '0'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
3676      break;      break;
3677    
3678    case 120:    case 120:
3679  #line 269 "lscp.y"  #line 252 "lscp.y"
3680      { yyval.Char = '1'; }      { (yyval.FillResponse) = fill_response_bytes;      }
3681      break;      break;
3682    
3683    case 121:    case 121:
3684  #line 270 "lscp.y"  #line 253 "lscp.y"
3685      { yyval.Char = '2'; }      { (yyval.FillResponse) = fill_response_percentage; }
3686      break;      break;
3687    
3688    case 122:    case 122:
3689  #line 271 "lscp.y"  #line 256 "lscp.y"
3690      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
3691      break;      break;
3692    
3693    case 123:    case 123:
3694  #line 272 "lscp.y"  #line 257 "lscp.y"
3695      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
3696      break;      break;
3697    
3698    case 124:    case 124:
3699  #line 273 "lscp.y"  #line 258 "lscp.y"
3700      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->ListChannels();                    }
3701      break;      break;
3702    
3703    case 125:    case 125:
3704  #line 274 "lscp.y"  #line 259 "lscp.y"
3705      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
3706      break;      break;
3707    
3708    case 126:    case 126:
3709  #line 275 "lscp.y"  #line 260 "lscp.y"
3710      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
3711      break;      break;
3712    
3713    case 127:    case 127:
3714  #line 276 "lscp.y"  #line 261 "lscp.y"
3715      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
3716      break;      break;
3717    
3718    case 128:    case 128:
3719  #line 277 "lscp.y"  #line 262 "lscp.y"
3720      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
3721      break;      break;
3722    
3723    case 129:    case 129:
3724  #line 280 "lscp.y"  #line 263 "lscp.y"
3725      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
3726      break;      break;
3727    
3728    case 130:    case 130:
3729  #line 281 "lscp.y"  #line 264 "lscp.y"
3730      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
3731      break;      break;
3732    
3733    case 131:    case 131:
3734  #line 282 "lscp.y"  #line 267 "lscp.y"
3735      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
3736      break;      break;
3737    
3738    case 132:    case 132:
3739  #line 283 "lscp.y"  #line 268 "lscp.y"
3740      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
3741      break;      break;
3742    
3743    case 133:    case 133:
3744  #line 284 "lscp.y"  #line 271 "lscp.y"
3745      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
3746      break;      break;
3747    
3748    case 134:    case 134:
3749  #line 285 "lscp.y"  #line 274 "lscp.y"
3750      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
3751      break;      break;
3752    
3753    case 135:    case 135:
3754  #line 286 "lscp.y"  #line 275 "lscp.y"
3755      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
3756      break;      break;
3757    
3758    case 136:    case 136:
3759  #line 287 "lscp.y"  #line 276 "lscp.y"
3760      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
     break;  
   
   case 137:  
 #line 288 "lscp.y"  
     { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }  
     break;  
   
   case 138:  
 #line 289 "lscp.y"  
     { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }  
     break;  
   
   case 139:  
 #line 291 "lscp.y"  
     { yyval.Char = 'A'; }  
     break;  
   
   case 140:  
 #line 291 "lscp.y"  
     { yyval.Char = 'B'; }  
     break;  
   
   case 141:  
 #line 291 "lscp.y"  
     { yyval.Char = 'C'; }  
3761      break;      break;
3762    
3763    case 142:    case 142:
3764  #line 291 "lscp.y"  #line 292 "lscp.y"
3765      { yyval.Char = 'D'; }      { (yyval.Number) = 16; }
     break;  
   
   case 143:  
 #line 291 "lscp.y"  
     { yyval.Char = 'E'; }  
     break;  
   
   case 144:  
 #line 291 "lscp.y"  
     { yyval.Char = 'F'; }  
     break;  
   
   case 145:  
 #line 291 "lscp.y"  
     { yyval.Char = 'G'; }  
     break;  
   
   case 146:  
 #line 291 "lscp.y"  
     { yyval.Char = 'H'; }  
     break;  
   
   case 147:  
 #line 291 "lscp.y"  
     { yyval.Char = 'I'; }  
3766      break;      break;
3767    
3768    case 148:    case 148:
3769  #line 291 "lscp.y"  #line 308 "lscp.y"
3770      { yyval.Char = 'J'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
     break;  
   
   case 149:  
 #line 291 "lscp.y"  
     { yyval.Char = 'K'; }  
     break;  
   
   case 150:  
 #line 291 "lscp.y"  
     { yyval.Char = 'L'; }  
     break;  
   
   case 151:  
 #line 291 "lscp.y"  
     { yyval.Char = 'M'; }  
     break;  
   
   case 152:  
 #line 291 "lscp.y"  
     { yyval.Char = 'N'; }  
     break;  
   
   case 153:  
 #line 291 "lscp.y"  
     { yyval.Char = 'O'; }  
     break;  
   
   case 154:  
 #line 291 "lscp.y"  
     { yyval.Char = 'P'; }  
     break;  
   
   case 155:  
 #line 291 "lscp.y"  
     { yyval.Char = 'Q'; }  
3771      break;      break;
3772    
3773    case 156:    case 156:
3774  #line 291 "lscp.y"  #line 330 "lscp.y"
3775      { yyval.Char = 'R'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 157:  
 #line 291 "lscp.y"  
     { yyval.Char = 'S'; }  
     break;  
   
   case 158:  
 #line 291 "lscp.y"  
     { yyval.Char = 'T'; }  
3776      break;      break;
3777    
3778    case 159:    case 159:
3779  #line 291 "lscp.y"  #line 335 "lscp.y"
3780      { yyval.Char = 'U'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
3781      break;      break;
3782    
3783    case 160:    case 160:
3784  #line 291 "lscp.y"  #line 336 "lscp.y"
3785      { yyval.Char = 'V'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
3786      break;      break;
3787    
3788    case 161:    case 161:
3789  #line 291 "lscp.y"  #line 344 "lscp.y"
3790      { yyval.Char = 'W'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
3791      break;      break;
3792    
3793    case 162:    case 162:
3794  #line 291 "lscp.y"  #line 345 "lscp.y"
3795      { yyval.Char = 'X'; }      { (yyval.Dotnum) = -1; }
3796      break;      break;
3797    
3798    case 163:    case 163:
3799  #line 291 "lscp.y"  #line 348 "lscp.y"
3800      { yyval.Char = 'Y'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
3801      break;      break;
3802    
3803    case 164:    case 164:
3804  #line 291 "lscp.y"  #line 349 "lscp.y"
3805      { yyval.Char = 'Z'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
3806      break;      break;
3807    
3808    case 165:    case 165:
3809  #line 292 "lscp.y"  #line 352 "lscp.y"
3810      { yyval.Char = 'a'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
3811      break;      break;
3812    
3813    case 166:    case 166:
3814  #line 292 "lscp.y"  #line 353 "lscp.y"
3815      { yyval.Char = 'b'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
3816      break;      break;
3817    
3818    case 167:    case 167:
3819  #line 292 "lscp.y"  #line 354 "lscp.y"
3820      { yyval.Char = 'c'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
3821      break;      break;
3822    
3823    case 168:    case 168:
3824  #line 292 "lscp.y"  #line 358 "lscp.y"
3825      { yyval.Char = 'd'; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
3826      break;      break;
3827    
3828    case 169:    case 169:
3829  #line 292 "lscp.y"  #line 359 "lscp.y"
3830      { yyval.Char = 'e'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
3831      break;      break;
3832    
3833    case 170:    case 170:
3834  #line 292 "lscp.y"  #line 362 "lscp.y"
3835      { yyval.Char = 'f'; }      { (yyval.Char) = '0'; }
3836      break;      break;
3837    
3838    case 171:    case 171:
3839  #line 292 "lscp.y"  #line 363 "lscp.y"
3840      { yyval.Char = 'g'; }      { (yyval.Char) = '1'; }
3841      break;      break;
3842    
3843    case 172:    case 172:
3844  #line 292 "lscp.y"  #line 364 "lscp.y"
3845      { yyval.Char = 'h'; }      { (yyval.Char) = '2'; }
3846      break;      break;
3847    
3848    case 173:    case 173:
3849  #line 292 "lscp.y"  #line 365 "lscp.y"
3850      { yyval.Char = 'i'; }      { (yyval.Char) = '3'; }
3851      break;      break;
3852    
3853    case 174:    case 174:
3854  #line 292 "lscp.y"  #line 366 "lscp.y"
3855      { yyval.Char = 'j'; }      { (yyval.Char) = '4'; }
3856      break;      break;
3857    
3858    case 175:    case 175:
3859  #line 292 "lscp.y"  #line 367 "lscp.y"
3860      { yyval.Char = 'k'; }      { (yyval.Char) = '5'; }
3861      break;      break;
3862    
3863    case 176:    case 176:
3864  #line 292 "lscp.y"  #line 368 "lscp.y"
3865      { yyval.Char = 'l'; }      { (yyval.Char) = '6'; }
3866      break;      break;
3867    
3868    case 177:    case 177:
3869  #line 292 "lscp.y"  #line 369 "lscp.y"
3870      { yyval.Char = 'm'; }      { (yyval.Char) = '7'; }
3871      break;      break;
3872    
3873    case 178:    case 178:
3874  #line 292 "lscp.y"  #line 370 "lscp.y"
3875      { yyval.Char = 'n'; }      { (yyval.Char) = '8'; }
3876      break;      break;
3877    
3878    case 179:    case 179:
3879  #line 292 "lscp.y"  #line 371 "lscp.y"
3880      { yyval.Char = 'o'; }      { (yyval.Char) = '9'; }
3881      break;      break;
3882    
3883    case 180:    case 180:
3884  #line 292 "lscp.y"  #line 374 "lscp.y"
3885      { yyval.Char = 'p'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
3886      break;      break;
3887    
3888    case 181:    case 181:
3889  #line 292 "lscp.y"  #line 375 "lscp.y"
3890      { yyval.Char = 'q'; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
3891      break;      break;
3892    
3893    case 182:    case 182:
3894  #line 292 "lscp.y"  #line 376 "lscp.y"
3895      { yyval.Char = 'r'; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
3896      break;      break;
3897    
3898    case 183:    case 183:
3899  #line 292 "lscp.y"  #line 377 "lscp.y"
3900      { yyval.Char = 's'; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
3901      break;      break;
3902    
3903    case 184:    case 184:
3904  #line 292 "lscp.y"  #line 378 "lscp.y"
3905      { yyval.Char = 't'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
3906      break;      break;
3907    
3908    case 185:    case 185:
3909  #line 292 "lscp.y"  #line 379 "lscp.y"
3910      { yyval.Char = 'u'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
3911      break;      break;
3912    
3913    case 186:    case 186:
3914  #line 292 "lscp.y"  #line 380 "lscp.y"
3915      { yyval.Char = 'v'; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
3916      break;      break;
3917    
3918    case 187:    case 187:
3919  #line 292 "lscp.y"  #line 381 "lscp.y"
3920      { yyval.Char = 'w'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
3921      break;      break;
3922    
3923    case 188:    case 188:
3924  #line 292 "lscp.y"  #line 382 "lscp.y"
3925      { yyval.Char = 'x'; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
3926      break;      break;
3927    
3928    case 189:    case 189:
3929  #line 292 "lscp.y"  #line 383 "lscp.y"
3930      { yyval.Char = 'y'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
3931      break;      break;
3932    
3933    case 190:    case 190:
3934  #line 292 "lscp.y"  #line 385 "lscp.y"
3935      { yyval.Char = 'z'; }      { (yyval.Char) = 'A'; }
3936      break;      break;
3937    
3938    case 191:    case 191:
3939  #line 293 "lscp.y"  #line 385 "lscp.y"
3940      { yyval.Char = '0'; }      { (yyval.Char) = 'B'; }
3941      break;      break;
3942    
3943    case 192:    case 192:
3944  #line 293 "lscp.y"  #line 385 "lscp.y"
3945      { yyval.Char = '1'; }      { (yyval.Char) = 'C'; }
3946      break;      break;
3947    
3948    case 193:    case 193:
3949  #line 293 "lscp.y"  #line 385 "lscp.y"
3950      { yyval.Char = '2'; }      { (yyval.Char) = 'D'; }
3951      break;      break;
3952    
3953    case 194:    case 194:
3954  #line 293 "lscp.y"  #line 385 "lscp.y"
3955      { yyval.Char = '3'; }      { (yyval.Char) = 'E'; }
3956      break;      break;
3957    
3958    case 195:    case 195:
3959  #line 293 "lscp.y"  #line 385 "lscp.y"
3960      { yyval.Char = '4'; }      { (yyval.Char) = 'F'; }
3961      break;      break;
3962    
3963    case 196:    case 196:
3964  #line 293 "lscp.y"  #line 385 "lscp.y"
3965      { yyval.Char = '5'; }      { (yyval.Char) = 'G'; }
3966      break;      break;
3967    
3968    case 197:    case 197:
3969  #line 293 "lscp.y"  #line 385 "lscp.y"
3970      { yyval.Char = '6'; }      { (yyval.Char) = 'H'; }
3971      break;      break;
3972    
3973    case 198:    case 198:
3974  #line 293 "lscp.y"  #line 385 "lscp.y"
3975      { yyval.Char = '7'; }      { (yyval.Char) = 'I'; }
3976      break;      break;
3977    
3978    case 199:    case 199:
3979  #line 293 "lscp.y"  #line 385 "lscp.y"
3980      { yyval.Char = '8'; }      { (yyval.Char) = 'J'; }
3981      break;      break;
3982    
3983    case 200:    case 200:
3984  #line 293 "lscp.y"  #line 385 "lscp.y"
3985      { yyval.Char = '9'; }      { (yyval.Char) = 'K'; }
3986      break;      break;
3987    
3988    case 201:    case 201:
3989  #line 294 "lscp.y"  #line 385 "lscp.y"
3990      { yyval.Char = '!'; }      { (yyval.Char) = 'L'; }
3991      break;      break;
3992    
3993    case 202:    case 202:
3994  #line 294 "lscp.y"  #line 385 "lscp.y"
3995      { yyval.Char = '#'; }      { (yyval.Char) = 'M'; }
3996      break;      break;
3997    
3998    case 203:    case 203:
3999  #line 294 "lscp.y"  #line 385 "lscp.y"
4000      { yyval.Char = '$'; }      { (yyval.Char) = 'N'; }
4001      break;      break;
4002    
4003    case 204:    case 204:
4004  #line 294 "lscp.y"  #line 385 "lscp.y"
4005      { yyval.Char = '%'; }      { (yyval.Char) = 'O'; }
4006      break;      break;
4007    
4008    case 205:    case 205:
4009  #line 294 "lscp.y"  #line 385 "lscp.y"
4010      { yyval.Char = '&'; }      { (yyval.Char) = 'P'; }
4011      break;      break;
4012    
4013    case 206:    case 206:
4014  #line 294 "lscp.y"  #line 385 "lscp.y"
4015      { yyval.Char = '('; }      { (yyval.Char) = 'Q'; }
4016      break;      break;
4017    
4018    case 207:    case 207:
4019  #line 294 "lscp.y"  #line 385 "lscp.y"
4020      { yyval.Char = ')'; }      { (yyval.Char) = 'R'; }
4021      break;      break;
4022    
4023    case 208:    case 208:
4024  #line 294 "lscp.y"  #line 385 "lscp.y"
4025      { yyval.Char = '*'; }      { (yyval.Char) = 'S'; }
4026      break;      break;
4027    
4028    case 209:    case 209:
4029  #line 294 "lscp.y"  #line 385 "lscp.y"
4030      { yyval.Char = '+'; }      { (yyval.Char) = 'T'; }
4031      break;      break;
4032    
4033    case 210:    case 210:
4034  #line 294 "lscp.y"  #line 385 "lscp.y"
4035      { yyval.Char = '-'; }      { (yyval.Char) = 'U'; }
4036      break;      break;
4037    
4038    case 211:    case 211:
4039  #line 294 "lscp.y"  #line 385 "lscp.y"
4040      { yyval.Char = '.'; }      { (yyval.Char) = 'V'; }
4041      break;      break;
4042    
4043    case 212:    case 212:
4044  #line 294 "lscp.y"  #line 385 "lscp.y"
4045      { yyval.Char = ','; }      { (yyval.Char) = 'W'; }
4046      break;      break;
4047    
4048    case 213:    case 213:
4049  #line 294 "lscp.y"  #line 385 "lscp.y"
4050      { yyval.Char = '/'; }      { (yyval.Char) = 'X'; }
4051      break;      break;
4052    
4053    case 214:    case 214:
4054  #line 295 "lscp.y"  #line 385 "lscp.y"
4055      { yyval.Char = ':'; }      { (yyval.Char) = 'Y'; }
4056      break;      break;
4057    
4058    case 215:    case 215:
4059  #line 295 "lscp.y"  #line 385 "lscp.y"
4060      { yyval.Char = ';'; }      { (yyval.Char) = 'Z'; }
4061      break;      break;
4062    
4063    case 216:    case 216:
4064  #line 295 "lscp.y"  #line 386 "lscp.y"
4065      { yyval.Char = '<'; }      { (yyval.Char) = 'a'; }
4066      break;      break;
4067    
4068    case 217:    case 217:
4069  #line 295 "lscp.y"  #line 386 "lscp.y"
4070      { yyval.Char = '='; }      { (yyval.Char) = 'b'; }
4071      break;      break;
4072    
4073    case 218:    case 218:
4074  #line 295 "lscp.y"  #line 386 "lscp.y"
4075      { yyval.Char = '>'; }      { (yyval.Char) = 'c'; }
4076      break;      break;
4077    
4078    case 219:    case 219:
4079  #line 295 "lscp.y"  #line 386 "lscp.y"
4080      { yyval.Char = '?'; }      { (yyval.Char) = 'd'; }
4081      break;      break;
4082    
4083    case 220:    case 220:
4084  #line 295 "lscp.y"  #line 386 "lscp.y"
4085      { yyval.Char = '@'; }      { (yyval.Char) = 'e'; }
4086      break;      break;
4087    
4088    case 221:    case 221:
4089  #line 296 "lscp.y"  #line 386 "lscp.y"
4090      { yyval.Char = '['; }      { (yyval.Char) = 'f'; }
4091      break;      break;
4092    
4093    case 222:    case 222:
4094  #line 296 "lscp.y"  #line 386 "lscp.y"
4095      { yyval.Char = '\\'; }      { (yyval.Char) = 'g'; }
4096      break;      break;
4097    
4098    case 223:    case 223:
4099  #line 296 "lscp.y"  #line 386 "lscp.y"
4100      { yyval.Char = ']'; }      { (yyval.Char) = 'h'; }
4101      break;      break;
4102    
4103    case 224:    case 224:
4104  #line 296 "lscp.y"  #line 386 "lscp.y"
4105      { yyval.Char = '^'; }      { (yyval.Char) = 'i'; }
4106      break;      break;
4107    
4108    case 225:    case 225:
4109  #line 296 "lscp.y"  #line 386 "lscp.y"
4110      { yyval.Char = '_'; }      { (yyval.Char) = 'j'; }
4111      break;      break;
4112    
4113    case 226:    case 226:
4114  #line 297 "lscp.y"  #line 386 "lscp.y"
4115      { yyval.Char = '{'; }      { (yyval.Char) = 'k'; }
4116      break;      break;
4117    
4118    case 227:    case 227:
4119  #line 297 "lscp.y"  #line 386 "lscp.y"
4120      { yyval.Char = '|'; }      { (yyval.Char) = 'l'; }
4121      break;      break;
4122    
4123    case 228:    case 228:
4124  #line 297 "lscp.y"  #line 386 "lscp.y"
4125      { yyval.Char = '}'; }      { (yyval.Char) = 'm'; }
4126      break;      break;
4127    
4128    case 229:    case 229:
4129  #line 297 "lscp.y"  #line 386 "lscp.y"
4130      { yyval.Char = '~'; }      { (yyval.Char) = 'n'; }
4131      break;      break;
4132    
4133    case 230:    case 230:
4134  #line 298 "lscp.y"  #line 386 "lscp.y"
4135      { yyval.Char = '\200'; }      { (yyval.Char) = 'o'; }
4136      break;      break;
4137    
4138    case 231:    case 231:
4139  #line 298 "lscp.y"  #line 386 "lscp.y"
4140      { yyval.Char = '\201'; }      { (yyval.Char) = 'p'; }
4141      break;      break;
4142    
4143    case 232:    case 232:
4144  #line 298 "lscp.y"  #line 386 "lscp.y"
4145      { yyval.Char = '\202'; }      { (yyval.Char) = 'q'; }
4146      break;      break;
4147    
4148    case 233:    case 233:
4149  #line 299 "lscp.y"  #line 386 "lscp.y"
4150      { yyval.Char = '\203'; }      { (yyval.Char) = 'r'; }
4151      break;      break;
4152    
4153    case 234:    case 234:
4154  #line 299 "lscp.y"  #line 386 "lscp.y"
4155      { yyval.Char = '\204'; }      { (yyval.Char) = 's'; }
4156      break;      break;
4157    
4158    case 235:    case 235:
4159  #line 299 "lscp.y"  #line 386 "lscp.y"
4160      { yyval.Char = '\205'; }      { (yyval.Char) = 't'; }
4161      break;      break;
4162    
4163    case 236:    case 236:
4164  #line 300 "lscp.y"  #line 386 "lscp.y"
4165      { yyval.Char = '\206'; }      { (yyval.Char) = 'u'; }
4166      break;      break;
4167    
4168    case 237:    case 237:
4169  #line 300 "lscp.y"  #line 386 "lscp.y"
4170      { yyval.Char = '\207'; }      { (yyval.Char) = 'v'; }
4171      break;      break;
4172    
4173    case 238:    case 238:
4174  #line 300 "lscp.y"  #line 386 "lscp.y"
4175      { yyval.Char = '\210'; }      { (yyval.Char) = 'w'; }
4176      break;      break;
4177    
4178    case 239:    case 239:
4179  #line 301 "lscp.y"  #line 386 "lscp.y"
4180      { yyval.Char = '\211'; }      { (yyval.Char) = 'x'; }
4181      break;      break;
4182    
4183    case 240:    case 240:
4184  #line 301 "lscp.y"  #line 386 "lscp.y"
4185      { yyval.Char = '\212'; }      { (yyval.Char) = 'y'; }
4186      break;      break;
4187    
4188    case 241:    case 241:
4189  #line 301 "lscp.y"  #line 386 "lscp.y"
4190      { yyval.Char = '\213'; }      { (yyval.Char) = 'z'; }
4191      break;      break;
4192    
4193    case 242:    case 242:
4194  #line 302 "lscp.y"  #line 387 "lscp.y"
4195      { yyval.Char = '\214'; }      { (yyval.Char) = '0'; }
4196      break;      break;
4197    
4198    case 243:    case 243:
4199  #line 302 "lscp.y"  #line 387 "lscp.y"
4200      { yyval.Char = '\215'; }      { (yyval.Char) = '1'; }
4201      break;      break;
4202    
4203    case 244:    case 244:
4204  #line 302 "lscp.y"  #line 387 "lscp.y"
4205      { yyval.Char = '\216'; }      { (yyval.Char) = '2'; }
4206      break;      break;
4207    
4208    case 245:    case 245:
4209  #line 303 "lscp.y"  #line 387 "lscp.y"
4210      { yyval.Char = '\217'; }      { (yyval.Char) = '3'; }
4211      break;      break;
4212    
4213    case 246:    case 246:
4214  #line 303 "lscp.y"  #line 387 "lscp.y"
4215      { yyval.Char = '\220'; }      { (yyval.Char) = '4'; }
4216      break;      break;
4217    
4218    case 247:    case 247:
4219  #line 303 "lscp.y"  #line 387 "lscp.y"
4220      { yyval.Char = '\221'; }      { (yyval.Char) = '5'; }
4221      break;      break;
4222    
4223    case 248:    case 248:
4224  #line 304 "lscp.y"  #line 387 "lscp.y"
4225      { yyval.Char = '\222'; }      { (yyval.Char) = '6'; }
4226      break;      break;
4227    
4228    case 249:    case 249:
4229  #line 304 "lscp.y"  #line 387 "lscp.y"
4230      { yyval.Char = '\223'; }      { (yyval.Char) = '7'; }
4231      break;      break;
4232    
4233    case 250:    case 250:
4234  #line 304 "lscp.y"  #line 387 "lscp.y"
4235      { yyval.Char = '\224'; }      { (yyval.Char) = '8'; }
4236      break;      break;
4237    
4238    case 251:    case 251:
4239  #line 305 "lscp.y"  #line 387 "lscp.y"
4240      { yyval.Char = '\225'; }      { (yyval.Char) = '9'; }
4241      break;      break;
4242    
4243    case 252:    case 252:
4244  #line 305 "lscp.y"  #line 388 "lscp.y"
4245      { yyval.Char = '\226'; }      { (yyval.Char) = '!'; }
4246      break;      break;
4247    
4248    case 253:    case 253:
4249  #line 305 "lscp.y"  #line 388 "lscp.y"
4250      { yyval.Char = '\227'; }      { (yyval.Char) = '#'; }
4251      break;      break;
4252    
4253    case 254:    case 254:
4254  #line 306 "lscp.y"  #line 388 "lscp.y"
4255      { yyval.Char = '\230'; }      { (yyval.Char) = '$'; }
4256      break;      break;
4257    
4258    case 255:    case 255:
4259  #line 306 "lscp.y"  #line 388 "lscp.y"
4260      { yyval.Char = '\231'; }      { (yyval.Char) = '%'; }
4261      break;      break;
4262    
4263    case 256:    case 256:
4264  #line 306 "lscp.y"  #line 388 "lscp.y"
4265      { yyval.Char = '\232'; }      { (yyval.Char) = '&'; }
4266      break;      break;
4267    
4268    case 257:    case 257:
4269  #line 307 "lscp.y"  #line 388 "lscp.y"
4270      { yyval.Char = '\233'; }      { (yyval.Char) = '('; }
4271      break;      break;
4272    
4273    case 258:    case 258:
4274  #line 307 "lscp.y"  #line 388 "lscp.y"
4275      { yyval.Char = '\234'; }      { (yyval.Char) = ')'; }
4276      break;      break;
4277    
4278    case 259:    case 259:
4279  #line 307 "lscp.y"  #line 388 "lscp.y"
4280      { yyval.Char = '\235'; }      { (yyval.Char) = '*'; }
4281      break;      break;
4282    
4283    case 260:    case 260:
4284  #line 308 "lscp.y"  #line 388 "lscp.y"
4285      { yyval.Char = '\236'; }      { (yyval.Char) = '+'; }
4286      break;      break;
4287    
4288    case 261:    case 261:
4289  #line 308 "lscp.y"  #line 388 "lscp.y"
4290      { yyval.Char = '\237'; }      { (yyval.Char) = '-'; }
4291      break;      break;
4292    
4293    case 262:    case 262:
4294  #line 308 "lscp.y"  #line 388 "lscp.y"
4295      { yyval.Char = '\240'; }      { (yyval.Char) = '.'; }
4296      break;      break;
4297    
4298    case 263:    case 263:
4299  #line 309 "lscp.y"  #line 388 "lscp.y"
4300      { yyval.Char = '\241'; }      { (yyval.Char) = ','; }
4301      break;      break;
4302    
4303    case 264:    case 264:
4304  #line 309 "lscp.y"  #line 388 "lscp.y"
4305      { yyval.Char = '\242'; }      { (yyval.Char) = '/'; }
4306      break;      break;
4307    
4308    case 265:    case 265:
4309  #line 309 "lscp.y"  #line 389 "lscp.y"
4310      { yyval.Char = '\243'; }      { (yyval.Char) = ':'; }
4311      break;      break;
4312    
4313    case 266:    case 266:
4314  #line 310 "lscp.y"  #line 389 "lscp.y"
4315      { yyval.Char = '\244'; }      { (yyval.Char) = ';'; }
4316      break;      break;
4317    
4318    case 267:    case 267:
4319  #line 310 "lscp.y"  #line 389 "lscp.y"
4320      { yyval.Char = '\245'; }      { (yyval.Char) = '<'; }
4321      break;      break;
4322    
4323    case 268:    case 268:
4324  #line 310 "lscp.y"  #line 389 "lscp.y"
4325      { yyval.Char = '\246'; }      { (yyval.Char) = '='; }
4326      break;      break;
4327    
4328    case 269:    case 269:
4329  #line 311 "lscp.y"  #line 389 "lscp.y"
4330      { yyval.Char = '\247'; }      { (yyval.Char) = '>'; }
4331      break;      break;
4332    
4333    case 270:    case 270:
4334  #line 311 "lscp.y"  #line 389 "lscp.y"
4335      { yyval.Char = '\250'; }      { (yyval.Char) = '?'; }
4336      break;      break;
4337    
4338    case 271:    case 271:
4339  #line 311 "lscp.y"  #line 389 "lscp.y"
4340      { yyval.Char = '\251'; }      { (yyval.Char) = '@'; }
4341      break;      break;
4342    
4343    case 272:    case 272:
4344  #line 312 "lscp.y"  #line 390 "lscp.y"
4345      { yyval.Char = '\252'; }      { (yyval.Char) = '['; }
4346      break;      break;
4347    
4348    case 273:    case 273:
4349  #line 312 "lscp.y"  #line 390 "lscp.y"
4350      { yyval.Char = '\253'; }      { (yyval.Char) = '\\'; }
4351      break;      break;
4352    
4353    case 274:    case 274:
4354  #line 312 "lscp.y"  #line 390 "lscp.y"
4355      { yyval.Char = '\254'; }      { (yyval.Char) = ']'; }
4356      break;      break;
4357    
4358    case 275:    case 275:
4359  #line 313 "lscp.y"  #line 390 "lscp.y"
4360      { yyval.Char = '\255'; }      { (yyval.Char) = '^'; }
4361      break;      break;
4362    
4363    case 276:    case 276:
4364  #line 313 "lscp.y"  #line 390 "lscp.y"
4365      { yyval.Char = '\256'; }      { (yyval.Char) = '_'; }
4366      break;      break;
4367    
4368    case 277:    case 277:
4369  #line 313 "lscp.y"  #line 391 "lscp.y"
4370      { yyval.Char = '\257'; }      { (yyval.Char) = '{'; }
4371      break;      break;
4372    
4373    case 278:    case 278:
4374  #line 314 "lscp.y"  #line 391 "lscp.y"
4375      { yyval.Char = '\260'; }      { (yyval.Char) = '|'; }
4376      break;      break;
4377    
4378    case 279:    case 279:
4379  #line 314 "lscp.y"  #line 391 "lscp.y"
4380      { yyval.Char = '\261'; }      { (yyval.Char) = '}'; }
4381      break;      break;
4382    
4383    case 280:    case 280:
4384  #line 314 "lscp.y"  #line 391 "lscp.y"
4385      { yyval.Char = '\262'; }      { (yyval.Char) = '~'; }
4386      break;      break;
4387    
4388    case 281:    case 281:
4389  #line 315 "lscp.y"  #line 392 "lscp.y"
4390      { yyval.Char = '\263'; }      { (yyval.Char) = '\200'; }
4391      break;      break;
4392    
4393    case 282:    case 282:
4394  #line 315 "lscp.y"  #line 392 "lscp.y"
4395      { yyval.Char = '\264'; }      { (yyval.Char) = '\201'; }
4396      break;      break;
4397    
4398    case 283:    case 283:
4399  #line 315 "lscp.y"  #line 392 "lscp.y"
4400      { yyval.Char = '\265'; }      { (yyval.Char) = '\202'; }
4401      break;      break;
4402    
4403    case 284:    case 284:
4404  #line 316 "lscp.y"  #line 393 "lscp.y"
4405      { yyval.Char = '\266'; }      { (yyval.Char) = '\203'; }
4406      break;      break;
4407    
4408    case 285:    case 285:
4409  #line 316 "lscp.y"  #line 393 "lscp.y"
4410      { yyval.Char = '\267'; }      { (yyval.Char) = '\204'; }
4411      break;      break;
4412    
4413    case 286:    case 286:
4414  #line 316 "lscp.y"  #line 393 "lscp.y"
4415      { yyval.Char = '\270'; }      { (yyval.Char) = '\205'; }
4416      break;      break;
4417    
4418    case 287:    case 287:
4419  #line 317 "lscp.y"  #line 394 "lscp.y"
4420      { yyval.Char = '\271'; }      { (yyval.Char) = '\206'; }
4421      break;      break;
4422    
4423    case 288:    case 288:
4424  #line 317 "lscp.y"  #line 394 "lscp.y"
4425      { yyval.Char = '\272'; }      { (yyval.Char) = '\207'; }
4426      break;      break;
4427    
4428    case 289:    case 289:
4429  #line 317 "lscp.y"  #line 394 "lscp.y"
4430      { yyval.Char = '\273'; }      { (yyval.Char) = '\210'; }
4431      break;      break;
4432    
4433    case 290:    case 290:
4434  #line 318 "lscp.y"  #line 395 "lscp.y"
4435      { yyval.Char = '\274'; }      { (yyval.Char) = '\211'; }
4436      break;      break;
4437    
4438    case 291:    case 291:
4439  #line 318 "lscp.y"  #line 395 "lscp.y"
4440      { yyval.Char = '\275'; }      { (yyval.Char) = '\212'; }
4441      break;      break;
4442    
4443    case 292:    case 292:
4444  #line 318 "lscp.y"  #line 395 "lscp.y"
4445      { yyval.Char = '\276'; }      { (yyval.Char) = '\213'; }
4446      break;      break;
4447    
4448    case 293:    case 293:
4449  #line 319 "lscp.y"  #line 396 "lscp.y"
4450      { yyval.Char = '\277'; }      { (yyval.Char) = '\214'; }
4451      break;      break;
4452    
4453    case 294:    case 294:
4454  #line 319 "lscp.y"  #line 396 "lscp.y"
4455      { yyval.Char = '\300'; }      { (yyval.Char) = '\215'; }
4456      break;      break;
4457    
4458    case 295:    case 295:
4459  #line 319 "lscp.y"  #line 396 "lscp.y"
4460      { yyval.Char = '\301'; }      { (yyval.Char) = '\216'; }
4461      break;      break;
4462    
4463    case 296:    case 296:
4464  #line 320 "lscp.y"  #line 397 "lscp.y"
4465      { yyval.Char = '\302'; }      { (yyval.Char) = '\217'; }
4466      break;      break;
4467    
4468    case 297:    case 297:
4469  #line 320 "lscp.y"  #line 397 "lscp.y"
4470      { yyval.Char = '\303'; }      { (yyval.Char) = '\220'; }
4471      break;      break;
4472    
4473    case 298:    case 298:
4474  #line 320 "lscp.y"  #line 397 "lscp.y"
4475      { yyval.Char = '\304'; }      { (yyval.Char) = '\221'; }
4476      break;      break;
4477    
4478    case 299:    case 299:
4479  #line 321 "lscp.y"  #line 398 "lscp.y"
4480      { yyval.Char = '\305'; }      { (yyval.Char) = '\222'; }
4481      break;      break;
4482    
4483    case 300:    case 300:
4484  #line 321 "lscp.y"  #line 398 "lscp.y"
4485      { yyval.Char = '\306'; }      { (yyval.Char) = '\223'; }
4486      break;      break;
4487    
4488    case 301:    case 301:
4489  #line 321 "lscp.y"  #line 398 "lscp.y"
4490      { yyval.Char = '\307'; }      { (yyval.Char) = '\224'; }
4491      break;      break;
4492    
4493    case 302:    case 302:
4494  #line 322 "lscp.y"  #line 399 "lscp.y"
4495      { yyval.Char = '\310'; }      { (yyval.Char) = '\225'; }
4496      break;      break;
4497    
4498    case 303:    case 303:
4499  #line 322 "lscp.y"  #line 399 "lscp.y"
4500      { yyval.Char = '\311'; }      { (yyval.Char) = '\226'; }
4501      break;      break;
4502    
4503    case 304:    case 304:
4504  #line 322 "lscp.y"  #line 399 "lscp.y"
4505      { yyval.Char = '\312'; }      { (yyval.Char) = '\227'; }
4506      break;      break;
4507    
4508    case 305:    case 305:
4509  #line 323 "lscp.y"  #line 400 "lscp.y"
4510      { yyval.Char = '\313'; }      { (yyval.Char) = '\230'; }
4511      break;      break;
4512    
4513    case 306:    case 306:
4514  #line 323 "lscp.y"  #line 400 "lscp.y"
4515      { yyval.Char = '\314'; }      { (yyval.Char) = '\231'; }
4516      break;      break;
4517    
4518    case 307:    case 307:
4519  #line 323 "lscp.y"  #line 400 "lscp.y"
4520      { yyval.Char = '\315'; }      { (yyval.Char) = '\232'; }
4521      break;      break;
4522    
4523    case 308:    case 308:
4524  #line 324 "lscp.y"  #line 401 "lscp.y"
4525      { yyval.Char = '\316'; }      { (yyval.Char) = '\233'; }
4526      break;      break;
4527    
4528    case 309:    case 309:
4529  #line 324 "lscp.y"  #line 401 "lscp.y"
4530      { yyval.Char = '\317'; }      { (yyval.Char) = '\234'; }
4531      break;      break;
4532    
4533    case 310:    case 310:
4534  #line 324 "lscp.y"  #line 401 "lscp.y"
4535      { yyval.Char = '\320'; }      { (yyval.Char) = '\235'; }
4536      break;      break;
4537    
4538    case 311:    case 311:
4539  #line 325 "lscp.y"  #line 402 "lscp.y"
4540      { yyval.Char = '\321'; }      { (yyval.Char) = '\236'; }
4541      break;      break;
4542    
4543    case 312:    case 312:
4544  #line 325 "lscp.y"  #line 402 "lscp.y"
4545      { yyval.Char = '\322'; }      { (yyval.Char) = '\237'; }
4546      break;      break;
4547    
4548    case 313:    case 313:
4549  #line 325 "lscp.y"  #line 402 "lscp.y"
4550      { yyval.Char = '\323'; }      { (yyval.Char) = '\240'; }
4551      break;      break;
4552    
4553    case 314:    case 314:
4554  #line 326 "lscp.y"  #line 403 "lscp.y"
4555      { yyval.Char = '\324'; }      { (yyval.Char) = '\241'; }
4556      break;      break;
4557    
4558    case 315:    case 315:
4559  #line 326 "lscp.y"  #line 403 "lscp.y"
4560      { yyval.Char = '\325'; }      { (yyval.Char) = '\242'; }
4561      break;      break;
4562    
4563    case 316:    case 316:
4564  #line 326 "lscp.y"  #line 403 "lscp.y"
4565      { yyval.Char = '\326'; }      { (yyval.Char) = '\243'; }
4566      break;      break;
4567    
4568    case 317:    case 317:
4569  #line 327 "lscp.y"  #line 404 "lscp.y"
4570      { yyval.Char = '\327'; }      { (yyval.Char) = '\244'; }
4571      break;      break;
4572    
4573    case 318:    case 318:
4574  #line 327 "lscp.y"  #line 404 "lscp.y"
4575      { yyval.Char = '\330'; }      { (yyval.Char) = '\245'; }
4576      break;      break;
4577    
4578    case 319:    case 319:
4579  #line 327 "lscp.y"  #line 404 "lscp.y"
4580      { yyval.Char = '\331'; }      { (yyval.Char) = '\246'; }
4581      break;      break;
4582    
4583    case 320:    case 320:
4584  #line 328 "lscp.y"  #line 405 "lscp.y"
4585      { yyval.Char = '\332'; }      { (yyval.Char) = '\247'; }
4586      break;      break;
4587    
4588    case 321:    case 321:
4589  #line 328 "lscp.y"  #line 405 "lscp.y"
4590      { yyval.Char = '\333'; }      { (yyval.Char) = '\250'; }
4591      break;      break;
4592    
4593    case 322:    case 322:
4594  #line 328 "lscp.y"  #line 405 "lscp.y"
4595      { yyval.Char = '\334'; }      { (yyval.Char) = '\251'; }
4596      break;      break;
4597    
4598    case 323:    case 323:
4599  #line 329 "lscp.y"  #line 406 "lscp.y"
4600      { yyval.Char = '\335'; }      { (yyval.Char) = '\252'; }
4601      break;      break;
4602    
4603    case 324:    case 324:
4604  #line 329 "lscp.y"  #line 406 "lscp.y"
4605      { yyval.Char = '\336'; }      { (yyval.Char) = '\253'; }
4606      break;      break;
4607    
4608    case 325:    case 325:
4609  #line 329 "lscp.y"  #line 406 "lscp.y"
4610      { yyval.Char = '\337'; }      { (yyval.Char) = '\254'; }
4611      break;      break;
4612    
4613    case 326:    case 326:
4614  #line 330 "lscp.y"  #line 407 "lscp.y"
4615      { yyval.Char = '\340'; }      { (yyval.Char) = '\255'; }
4616      break;      break;
4617    
4618    case 327:    case 327:
4619  #line 330 "lscp.y"  #line 407 "lscp.y"
4620      { yyval.Char = '\341'; }      { (yyval.Char) = '\256'; }
4621      break;      break;
4622    
4623    case 328:    case 328:
4624  #line 330 "lscp.y"  #line 407 "lscp.y"
4625      { yyval.Char = '\342'; }      { (yyval.Char) = '\257'; }
4626      break;      break;
4627    
4628    case 329:    case 329:
4629  #line 331 "lscp.y"  #line 408 "lscp.y"
4630      { yyval.Char = '\343'; }      { (yyval.Char) = '\260'; }
4631      break;      break;
4632    
4633    case 330:    case 330:
4634  #line 331 "lscp.y"  #line 408 "lscp.y"
4635      { yyval.Char = '\344'; }      { (yyval.Char) = '\261'; }
4636      break;      break;
4637    
4638    case 331:    case 331:
4639  #line 331 "lscp.y"  #line 408 "lscp.y"
4640      { yyval.Char = '\345'; }      { (yyval.Char) = '\262'; }
4641      break;      break;
4642    
4643    case 332:    case 332:
4644  #line 332 "lscp.y"  #line 409 "lscp.y"
4645      { yyval.Char = '\346'; }      { (yyval.Char) = '\263'; }
4646      break;      break;
4647    
4648    case 333:    case 333:
4649  #line 332 "lscp.y"  #line 409 "lscp.y"
4650      { yyval.Char = '\347'; }      { (yyval.Char) = '\264'; }
4651      break;      break;
4652    
4653    case 334:    case 334:
4654  #line 332 "lscp.y"  #line 409 "lscp.y"
4655      { yyval.Char = '\350'; }      { (yyval.Char) = '\265'; }
4656      break;      break;
4657    
4658    case 335:    case 335:
4659  #line 333 "lscp.y"  #line 410 "lscp.y"
4660      { yyval.Char = '\351'; }      { (yyval.Char) = '\266'; }
4661      break;      break;
4662    
4663    case 336:    case 336:
4664  #line 333 "lscp.y"  #line 410 "lscp.y"
4665      { yyval.Char = '\352'; }      { (yyval.Char) = '\267'; }
4666      break;      break;
4667    
4668    case 337:    case 337:
4669  #line 333 "lscp.y"  #line 410 "lscp.y"
4670      { yyval.Char = '\353'; }      { (yyval.Char) = '\270'; }
4671      break;      break;
4672    
4673    case 338:    case 338:
4674  #line 334 "lscp.y"  #line 411 "lscp.y"
4675      { yyval.Char = '\354'; }      { (yyval.Char) = '\271'; }
4676      break;      break;
4677    
4678    case 339:    case 339:
4679  #line 334 "lscp.y"  #line 411 "lscp.y"
4680      { yyval.Char = '\355'; }      { (yyval.Char) = '\272'; }
4681      break;      break;
4682    
4683    case 340:    case 340:
4684  #line 334 "lscp.y"  #line 411 "lscp.y"
4685      { yyval.Char = '\356'; }      { (yyval.Char) = '\273'; }
4686      break;      break;
4687    
4688    case 341:    case 341:
4689  #line 335 "lscp.y"  #line 412 "lscp.y"
4690      { yyval.Char = '\357'; }      { (yyval.Char) = '\274'; }
4691      break;      break;
4692    
4693    case 342:    case 342:
4694  #line 335 "lscp.y"  #line 412 "lscp.y"
4695      { yyval.Char = '\360'; }      { (yyval.Char) = '\275'; }
4696      break;      break;
4697    
4698    case 343:    case 343:
4699  #line 335 "lscp.y"  #line 412 "lscp.y"
4700      { yyval.Char = '\361'; }      { (yyval.Char) = '\276'; }
4701      break;      break;
4702    
4703    case 344:    case 344:
4704  #line 336 "lscp.y"  #line 413 "lscp.y"
4705      { yyval.Char = '\362'; }      { (yyval.Char) = '\277'; }
4706      break;      break;
4707    
4708    case 345:    case 345:
4709  #line 336 "lscp.y"  #line 413 "lscp.y"
4710      { yyval.Char = '\363'; }      { (yyval.Char) = '\300'; }
4711      break;      break;
4712    
4713    case 346:    case 346:
4714  #line 336 "lscp.y"  #line 413 "lscp.y"
4715      { yyval.Char = '\364'; }      { (yyval.Char) = '\301'; }
4716      break;      break;
4717    
4718    case 347:    case 347:
4719  #line 337 "lscp.y"  #line 414 "lscp.y"
4720      { yyval.Char = '\365'; }      { (yyval.Char) = '\302'; }
4721      break;      break;
4722    
4723    case 348:    case 348:
4724  #line 337 "lscp.y"  #line 414 "lscp.y"
4725      { yyval.Char = '\366'; }      { (yyval.Char) = '\303'; }
4726      break;      break;
4727    
4728    case 349:    case 349:
4729  #line 337 "lscp.y"  #line 414 "lscp.y"
4730      { yyval.Char = '\367'; }      { (yyval.Char) = '\304'; }
4731      break;      break;
4732    
4733    case 350:    case 350:
4734  #line 338 "lscp.y"  #line 415 "lscp.y"
4735      { yyval.Char = '\370'; }      { (yyval.Char) = '\305'; }
4736      break;      break;
4737    
4738    case 351:    case 351:
4739  #line 338 "lscp.y"  #line 415 "lscp.y"
4740      { yyval.Char = '\371'; }      { (yyval.Char) = '\306'; }
4741      break;      break;
4742    
4743    case 352:    case 352:
4744  #line 338 "lscp.y"  #line 415 "lscp.y"
4745      { yyval.Char = '\372'; }      { (yyval.Char) = '\307'; }
4746      break;      break;
4747    
4748    case 353:    case 353:
4749  #line 339 "lscp.y"  #line 416 "lscp.y"
4750      { yyval.Char = '\373'; }      { (yyval.Char) = '\310'; }
4751      break;      break;
4752    
4753    case 354:    case 354:
4754  #line 339 "lscp.y"  #line 416 "lscp.y"
4755      { yyval.Char = '\374'; }      { (yyval.Char) = '\311'; }
4756      break;      break;
4757    
4758    case 355:    case 355:
4759  #line 339 "lscp.y"  #line 416 "lscp.y"
4760      { yyval.Char = '\375'; }      { (yyval.Char) = '\312'; }
4761      break;      break;
4762    
4763    case 356:    case 356:
4764  #line 340 "lscp.y"  #line 417 "lscp.y"
4765      { yyval.Char = '\376'; }      { (yyval.Char) = '\313'; }
4766      break;      break;
4767    
4768    case 357:    case 357:
4769  #line 340 "lscp.y"  #line 417 "lscp.y"
4770      { yyval.Char = '\377'; }      { (yyval.Char) = '\314'; }
4771      break;      break;
4772    
4773    case 358:    case 358:
4774  #line 343 "lscp.y"  #line 417 "lscp.y"
4775      { yyval.String = " ";      }      { (yyval.Char) = '\315'; }
4776        break;
4777    
4778      case 359:
4779    #line 418 "lscp.y"
4780        { (yyval.Char) = '\316'; }
4781      break;      break;
4782    
4783    case 360:    case 360:
4784  #line 345 "lscp.y"  #line 418 "lscp.y"
4785      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '\317'; }
4786      break;      break;
4787    
4788    case 361:    case 361:
4789  #line 346 "lscp.y"  #line 418 "lscp.y"
4790      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '\320'; }
4791      break;      break;
4792    
4793    case 362:    case 362:
4794  #line 349 "lscp.y"  #line 419 "lscp.y"
4795      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\321'; }
4796      break;      break;
4797    
4798    case 363:    case 363:
4799  #line 350 "lscp.y"  #line 419 "lscp.y"
4800      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\322'; }
4801      break;      break;
4802    
4803      case 364:
4804    #line 419 "lscp.y"
4805        { (yyval.Char) = '\323'; }
4806        break;
4807    
4808      }    case 365:
4809    #line 420 "lscp.y"
4810        { (yyval.Char) = '\324'; }
4811        break;
4812    
4813  /* Line 999 of yacc.c.  */    case 366:
4814  #line 4238 "y.tab.c"  #line 420 "lscp.y"
4815        { (yyval.Char) = '\325'; }
4816    yyvsp -= yylen;      break;
   yyssp -= yylen;  
4817    
4818      case 367:
4819    #line 420 "lscp.y"
4820        { (yyval.Char) = '\326'; }
4821        break;
4822    
4823      case 368:
4824    #line 421 "lscp.y"
4825        { (yyval.Char) = '\327'; }
4826        break;
4827    
4828      case 369:
4829    #line 421 "lscp.y"
4830        { (yyval.Char) = '\330'; }
4831        break;
4832    
4833      case 370:
4834    #line 421 "lscp.y"
4835        { (yyval.Char) = '\331'; }
4836        break;
4837    
4838      case 371:
4839    #line 422 "lscp.y"
4840        { (yyval.Char) = '\332'; }
4841        break;
4842    
4843      case 372:
4844    #line 422 "lscp.y"
4845        { (yyval.Char) = '\333'; }
4846        break;
4847    
4848      case 373:
4849    #line 422 "lscp.y"
4850        { (yyval.Char) = '\334'; }
4851        break;
4852    
4853      case 374:
4854    #line 423 "lscp.y"
4855        { (yyval.Char) = '\335'; }
4856        break;
4857    
4858      case 375:
4859    #line 423 "lscp.y"
4860        { (yyval.Char) = '\336'; }
4861        break;
4862    
4863      case 376:
4864    #line 423 "lscp.y"
4865        { (yyval.Char) = '\337'; }
4866        break;
4867    
4868      case 377:
4869    #line 424 "lscp.y"
4870        { (yyval.Char) = '\340'; }
4871        break;
4872    
4873      case 378:
4874    #line 424 "lscp.y"
4875        { (yyval.Char) = '\341'; }
4876        break;
4877    
4878      case 379:
4879    #line 424 "lscp.y"
4880        { (yyval.Char) = '\342'; }
4881        break;
4882    
4883      case 380:
4884    #line 425 "lscp.y"
4885        { (yyval.Char) = '\343'; }
4886        break;
4887    
4888      case 381:
4889    #line 425 "lscp.y"
4890        { (yyval.Char) = '\344'; }
4891        break;
4892    
4893      case 382:
4894    #line 425 "lscp.y"
4895        { (yyval.Char) = '\345'; }
4896        break;
4897    
4898      case 383:
4899    #line 426 "lscp.y"
4900        { (yyval.Char) = '\346'; }
4901        break;
4902    
4903      case 384:
4904    #line 426 "lscp.y"
4905        { (yyval.Char) = '\347'; }
4906        break;
4907    
4908      case 385:
4909    #line 426 "lscp.y"
4910        { (yyval.Char) = '\350'; }
4911        break;
4912    
4913      case 386:
4914    #line 427 "lscp.y"
4915        { (yyval.Char) = '\351'; }
4916        break;
4917    
4918      case 387:
4919    #line 427 "lscp.y"
4920        { (yyval.Char) = '\352'; }
4921        break;
4922    
4923      case 388:
4924    #line 427 "lscp.y"
4925        { (yyval.Char) = '\353'; }
4926        break;
4927    
4928      case 389:
4929    #line 428 "lscp.y"
4930        { (yyval.Char) = '\354'; }
4931        break;
4932    
4933      case 390:
4934    #line 428 "lscp.y"
4935        { (yyval.Char) = '\355'; }
4936        break;
4937    
4938      case 391:
4939    #line 428 "lscp.y"
4940        { (yyval.Char) = '\356'; }
4941        break;
4942    
4943      case 392:
4944    #line 429 "lscp.y"
4945        { (yyval.Char) = '\357'; }
4946        break;
4947    
4948      case 393:
4949    #line 429 "lscp.y"
4950        { (yyval.Char) = '\360'; }
4951        break;
4952    
4953      case 394:
4954    #line 429 "lscp.y"
4955        { (yyval.Char) = '\361'; }
4956        break;
4957    
4958      case 395:
4959    #line 430 "lscp.y"
4960        { (yyval.Char) = '\362'; }
4961        break;
4962    
4963      case 396:
4964    #line 430 "lscp.y"
4965        { (yyval.Char) = '\363'; }
4966        break;
4967    
4968      case 397:
4969    #line 430 "lscp.y"
4970        { (yyval.Char) = '\364'; }
4971        break;
4972    
4973      case 398:
4974    #line 431 "lscp.y"
4975        { (yyval.Char) = '\365'; }
4976        break;
4977    
4978      case 399:
4979    #line 431 "lscp.y"
4980        { (yyval.Char) = '\366'; }
4981        break;
4982    
4983      case 400:
4984    #line 431 "lscp.y"
4985        { (yyval.Char) = '\367'; }
4986        break;
4987    
4988      case 401:
4989    #line 432 "lscp.y"
4990        { (yyval.Char) = '\370'; }
4991        break;
4992    
4993      case 402:
4994    #line 432 "lscp.y"
4995        { (yyval.Char) = '\371'; }
4996        break;
4997    
4998      case 403:
4999    #line 432 "lscp.y"
5000        { (yyval.Char) = '\372'; }
5001        break;
5002    
5003      case 404:
5004    #line 433 "lscp.y"
5005        { (yyval.Char) = '\373'; }
5006        break;
5007    
5008      case 405:
5009    #line 433 "lscp.y"
5010        { (yyval.Char) = '\374'; }
5011        break;
5012    
5013      case 406:
5014    #line 433 "lscp.y"
5015        { (yyval.Char) = '\375'; }
5016        break;
5017    
5018      case 407:
5019    #line 434 "lscp.y"
5020        { (yyval.Char) = '\376'; }
5021        break;
5022    
5023      case 408:
5024    #line 434 "lscp.y"
5025        { (yyval.Char) = '\377'; }
5026        break;
5027    
5028      case 409:
5029    #line 437 "lscp.y"
5030        { (yyval.String) = " ";      }
5031        break;
5032    
5033      case 411:
5034    #line 439 "lscp.y"
5035        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5036        break;
5037    
5038      case 412:
5039    #line 440 "lscp.y"
5040        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5041        break;
5042    
5043      case 413:
5044    #line 443 "lscp.y"
5045        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5046        break;
5047    
5048      case 414:
5049    #line 444 "lscp.y"
5050        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5051        break;
5052    
5053    
5054    /* Line 1267 of yacc.c.  */
5055    #line 5056 "y.tab.c"
5056          default: break;
5057        }
5058      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5059    
5060      YYPOPSTACK (yylen);
5061      yylen = 0;
5062    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
5063    
5064    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4268  yyerrlab: Line 5087  yyerrlab:
5087    if (!yyerrstatus)    if (!yyerrstatus)
5088      {      {
5089        ++yynerrs;        ++yynerrs;
5090  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
5091        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
5092    #else
5093        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
5094          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5095            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5096            int yytype = YYTRANSLATE (yychar);            {
5097            char *yymsg;              YYSIZE_T yyalloc = 2 * yysize;
5098            int yyx, yycount;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5099                  yyalloc = YYSTACK_ALLOC_MAXIMUM;
5100            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);  
5101                YYSTACK_FREE (yymsg);                YYSTACK_FREE (yymsg);
5102              }              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5103            else              if (yymsg)
5104              yyerror ("syntax error; also virtual memory exhausted");                yymsg_alloc = yyalloc;
5105          }              else
5106        else                {
5107  #endif /* YYERROR_VERBOSE */                  yymsg = yymsgbuf;
5108          yyerror ("syntax error");                  yymsg_alloc = sizeof yymsgbuf;
5109                  }
5110              }
5111    
5112            if (0 < yysize && yysize <= yymsg_alloc)
5113              {
5114                (void) yysyntax_error (yymsg, yystate, yychar);
5115                yyerror (yymsg);
5116              }
5117            else
5118              {
5119                yyerror (YY_("syntax error"));
5120                if (yysize != 0)
5121                  goto yyexhaustedlab;
5122              }
5123          }
5124    #endif
5125      }      }
5126    
5127    
5128    
5129    if (yyerrstatus == 3)    if (yyerrstatus == 3)
5130      {      {
5131        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
5132           error, discard it.  */           error, discard it.  */
5133    
5134        /* Return failure if at end of input.  */        if (yychar <= YYEOF)
5135        if (yychar == YYEOF)          {
5136          {            /* Return failure if at end of input.  */
5137            /* Pop the error token.  */            if (yychar == YYEOF)
5138            YYPOPSTACK;              YYABORT;
5139            /* Pop the rest of the stack.  */          }
5140            while (yyss < yyssp)        else
5141              {          {
5142                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);            yydestruct ("Error: discarding",
5143                yydestruct (yystos[*yyssp], yyvsp);                        yytoken, &yylval);
5144                YYPOPSTACK;            yychar = YYEMPTY;
5145              }          }
           YYABORT;  
         }  
   
       YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);  
       yydestruct (yytoken, &yylval);  
       yychar = YYEMPTY;  
   
5146      }      }
5147    
5148    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
5149       token.  */       token.  */
5150    goto yyerrlab1;    goto yyerrlab1;
5151    
5152    
5153  /*----------------------------------------------------.  /*---------------------------------------------------.
5154  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrorlab -- error raised explicitly by YYERROR.  |
5155  `----------------------------------------------------*/  `---------------------------------------------------*/
5156    yyerrorlab:
5157    
5158      /* Pacify compilers like GCC when the user code never invokes
5159         YYERROR and the label yyerrorlab therefore never appears in user
5160         code.  */
5161      if (/*CONSTCOND*/ 0)
5162         goto yyerrorlab;
5163    
5164      /* Do not reclaim the symbols of the rule which action triggered
5165         this YYERROR.  */
5166      YYPOPSTACK (yylen);
5167      yylen = 0;
5168      YY_STACK_PRINT (yyss, yyssp);
5169      yystate = *yyssp;
5170      goto yyerrlab1;
5171    
5172    
5173    /*-------------------------------------------------------------.
5174    | yyerrlab1 -- common code for both syntax error and YYERROR.  |
5175    `-------------------------------------------------------------*/
5176  yyerrlab1:  yyerrlab1:
5177    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
5178    
# Line 4375  yyerrlab1: Line 5194  yyerrlab1:
5194        if (yyssp == yyss)        if (yyssp == yyss)
5195          YYABORT;          YYABORT;
5196    
       YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
       yydestruct (yystos[yystate], yyvsp);  
       yyvsp--;  
       yystate = *--yyssp;  
5197    
5198          yydestruct ("Error: popping",
5199                      yystos[yystate], yyvsp);
5200          YYPOPSTACK (1);
5201          yystate = *yyssp;
5202        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5203      }      }
5204    
5205    if (yyn == YYFINAL)    if (yyn == YYFINAL)
5206      YYACCEPT;      YYACCEPT;
5207    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
5208    *++yyvsp = yylval;    *++yyvsp = yylval;
5209    
5210    
5211      /* Shift the error token.  */
5212      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5213    
5214    yystate = yyn;    yystate = yyn;
5215    goto yynewstate;    goto yynewstate;
5216    
# Line 4410  yyabortlab: Line 5230  yyabortlab:
5230    goto yyreturn;    goto yyreturn;
5231    
5232  #ifndef yyoverflow  #ifndef yyoverflow
5233  /*----------------------------------------------.  /*-------------------------------------------------.
5234  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
5235  `----------------------------------------------*/  `-------------------------------------------------*/
5236  yyoverflowlab:  yyexhaustedlab:
5237    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
5238    yyresult = 2;    yyresult = 2;
5239    /* Fall through.  */    /* Fall through.  */
5240  #endif  #endif
5241    
5242  yyreturn:  yyreturn:
5243      if (yychar != YYEOF && yychar != YYEMPTY)
5244         yydestruct ("Cleanup: discarding lookahead",
5245                     yytoken, &yylval);
5246      /* Do not reclaim the symbols of the rule which action triggered
5247         this YYABORT or YYACCEPT.  */
5248      YYPOPSTACK (yylen);
5249      YY_STACK_PRINT (yyss, yyssp);
5250      while (yyssp != yyss)
5251        {
5252          yydestruct ("Cleanup: popping",
5253                      yystos[*yyssp], yyvsp);
5254          YYPOPSTACK (1);
5255        }
5256  #ifndef yyoverflow  #ifndef yyoverflow
5257    if (yyss != yyssa)    if (yyss != yyssa)
5258      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
5259  #endif  #endif
5260    #if YYERROR_VERBOSE
5261      if (yymsg != yymsgbuf)
5262        YYSTACK_FREE (yymsg);
5263    #endif
5264    return yyresult;    return yyresult;
5265  }  }
5266    
5267    
5268  #line 506 "lscp.y"  #line 666 "lscp.y"
5269    
5270    
5271  /**  /**
# Line 4446  void restart(yyparse_param_t* pparam, in Line 5283  void restart(yyparse_param_t* pparam, in
5283      ptr   = 0;      ptr   = 0;
5284  }  }
5285    
   

Legend:
Removed from v.226  
changed lines
  Added in v.973

  ViewVC Help
Powered by ViewVC