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

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

  ViewVC Help
Powered by ViewVC