diff options
author | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2010-01-20 20:31:44 +0530 |
---|---|---|
committer | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2010-01-20 20:32:14 +0530 |
commit | 42b8b685763bcbe23f85afd2fca43a5937638495 (patch) | |
tree | e6fa5b4996bfbaaadbc47fbf6bcb72a14a119817 /crawl-ref/source/prebuilt | |
parent | 569c3326919a59d91ac92e848b7e4aee28fe8e8b (diff) | |
download | crawl-ref-42b8b685763bcbe23f85afd2fca43a5937638495.tar.gz crawl-ref-42b8b685763bcbe23f85afd2fca43a5937638495.zip |
Update level compiler for FHEIGHT.
Diffstat (limited to 'crawl-ref/source/prebuilt')
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.lex.cc | 2361 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.cc | 1309 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.h | 75 |
3 files changed, 1988 insertions, 1757 deletions
diff --git a/crawl-ref/source/prebuilt/levcomp.lex.cc b/crawl-ref/source/prebuilt/levcomp.lex.cc index 25a0dd73f8..3298b84de1 100644 --- a/crawl-ref/source/prebuilt/levcomp.lex.cc +++ b/crawl-ref/source/prebuilt/levcomp.lex.cc @@ -54,6 +54,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,8 +85,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -142,15 +141,7 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -162,7 +153,12 @@ typedef unsigned int flex_uint32_t; typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -extern int yyleng; +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +extern yy_size_t yyleng; extern FILE *yyin, *yyout; @@ -201,11 +197,6 @@ extern FILE *yyin, *yyout; #define unput(c) yyunput( c, (yytext_ptr) ) -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state @@ -223,7 +214,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - int yy_n_chars; + yy_size_t yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -293,8 +284,8 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int yyleng; +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ +yy_size_t yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; @@ -322,7 +313,7 @@ static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); void *yyalloc (yy_size_t ); void *yyrealloc (void *,yy_size_t ); @@ -382,8 +373,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 82 -#define YY_END_OF_BUFFER 83 +#define YY_NUM_RULES 83 +#define YY_END_OF_BUFFER 84 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -391,130 +382,133 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1111] = +static yyconst flex_int16_t yy_accept[1138] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 81, 78, 79, - 80, 76, 81, 74, 77, 75, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 78, 34, 36, 81, 81, 81, 81, 81, - 81, 82, 6, 82, 82, 4, 2, 3, 82, 2, - 2, 2, 2, 9, 10, 82, 9, 9, 82, 12, - 82, 32, 78, 33, 80, 32, 32, 32, 32, 32, + 0, 0, 0, 0, 0, 0, 84, 82, 79, 80, + 81, 77, 82, 75, 78, 76, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 79, 34, 36, 82, 82, 82, 82, 82, + 82, 83, 6, 83, 83, 4, 2, 3, 83, 2, + 2, 2, 2, 9, 10, 83, 9, 9, 83, 12, + 83, 32, 79, 33, 81, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 78, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 79, 32, 32, - 32, 32, 32, 32, 32, 32, 81, 28, 23, 28, - 76, 81, 27, 77, 75, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 28, 34, 36, 81, 81, 81, 81, 81, - 81, 15, 16, 80, 13, 13, 13, 13, 13, 13, + 32, 32, 32, 32, 32, 32, 82, 28, 23, 28, + 77, 82, 27, 78, 76, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 28, 34, 36, 82, 82, 82, 82, 82, + 82, 15, 16, 81, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 81, 13, 15, 13, 13, 13, 13, 13, - 82, 21, 22, 82, 20, 82, 78, 79, 77, 0, + 13, 13, 82, 13, 15, 13, 13, 13, 13, 13, + 83, 21, 22, 83, 20, 83, 79, 80, 78, 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, 78, 34, 36, 0, 0, - 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, - 39, 6, 5, 0, 0, 2, 3, 2, 0, 2, - 2, 2, 2, 9, 9, 10, 9, 9, 9, 0, - 11, 0, 12, 31, 0, 31, 78, 33, 0, 0, - 33, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 0, 0, 0, 0, 0, 0, 79, 34, 36, 0, + 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, + 0, 39, 6, 5, 0, 0, 2, 3, 2, 0, + 2, 2, 2, 2, 9, 9, 10, 9, 9, 9, + 0, 11, 0, 12, 31, 0, 31, 79, 33, 0, + 0, 33, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 0, 30, 31, - 78, 31, 34, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 26, 0, 26, 28, 23, 28, 0, 23, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, + 30, 31, 79, 31, 34, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 26, 0, 26, 28, 23, 28, + 0, 23, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 0, 25, 0, 26, - 28, 26, 34, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 15, 16, 0, 0, 0, 16, 13, 13, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, + 25, 0, 26, 28, 26, 34, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 15, 16, 0, 0, 0, + 16, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 0, 14, 13, 15, 13, - 13, 13, 13, 13, 13, 13, 19, 0, 19, 21, - 22, 0, 0, 0, 0, 18, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, + 14, 13, 15, 13, 13, 13, 13, 13, 13, 13, + 19, 0, 19, 21, 22, 0, 0, 0, 0, 18, 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, 0, - 0, 2, 9, 9, 9, 7, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 0, 2, 9, 9, 9, + 7, 0, 0, 29, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 34, 31, - 31, 31, 31, 31, 31, 0, 24, 0, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 31, 31, 31, 31, 34, 31, 31, 31, 31, 31, + 31, 0, 24, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 34, 34, 26, 26, - 26, 26, 26, 26, 13, 13, 13, 13, 13, 13, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 34, 34, 26, 26, 26, 26, 26, + 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 0, 17, + 13, 13, 13, 13, 13, 13, 0, 17, 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, 0, 0, 0, - 0, 0, 35, 0, 0, 0, 0, 0, 2, 9, - 8, 0, 9, 7, 0, 31, 31, 31, 31, 31, + 0, 35, 0, 0, 0, 0, 0, 2, 9, 8, + 0, 9, 7, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 0, 0, 26, 26, 26, 26, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 26, 26, 0, 0, 26, 26, 26, 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 42, 0, 0, - 0, 0, 0, 0, 0, 51, 63, 0, 0, 0, - 38, 0, 0, 0, 0, 2, 31, 31, 31, 31, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 0, 0, 0, 0, 0, 0, 0, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, + 42, 0, 0, 0, 0, 0, 0, 0, 51, 63, + 0, 0, 0, 38, 0, 0, 0, 0, 2, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, - 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 0, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 0, 26, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, + 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 0, 0, 0, 44, 50, 61, 68, - 69, 71, 70, 72, 0, 0, 0, 0, 0, 0, - 0, 46, 62, 0, 54, 0, 0, 0, 0, 0, - 0, 41, 1, 31, 31, 31, 31, 31, 31, 31, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, + 0, 0, 44, 0, 50, 61, 69, 70, 72, 71, + 73, 0, 0, 0, 0, 0, 0, 0, 46, 62, + 0, 54, 0, 0, 0, 0, 0, 0, 41, 1, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 53, 48, - 56, 52, 0, 0, 0, 0, 66, 55, 45, 0, - 0, 49, 0, 0, 0, 0, 1, 31, 31, 31, + 56, 0, 52, 0, 0, 0, 0, 67, 55, 45, + 0, 0, 49, 0, 0, 0, 0, 1, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 26, 26, 26, 26, 26, + 31, 31, 31, 31, 31, 31, 31, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 13, 13, 13, 13, 13, 13, 13, - - 13, 13, 13, 0, 0, 0, 0, 67, 0, 47, - 0, 0, 0, 0, 31, 31, 31, 31, 31, 31, - 31, 31, 0, 31, 31, 26, 26, 26, 26, 26, - 26, 26, 26, 0, 26, 26, 13, 13, 13, 13, - 13, 13, 13, 0, 0, 58, 0, 73, 0, 37, - 0, 0, 31, 31, 31, 31, 31, 31, 31, 0, - 31, 26, 26, 26, 26, 26, 26, 26, 0, 26, - 13, 13, 13, 13, 57, 0, 60, 0, 40, 31, - 31, 31, 31, 31, 26, 26, 26, 26, 26, 13, - 13, 59, 0, 31, 31, 26, 26, 13, 0, 31, - - 26, 13, 0, 31, 26, 13, 43, 31, 26, 0 + 26, 26, 26, 26, 26, 26, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 64, 0, 0, + 0, 0, 68, 0, 47, 0, 0, 0, 0, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 0, 31, + 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 0, 26, 26, 13, 13, 13, 13, 13, 13, 13, + 0, 0, 58, 0, 74, 0, 37, 0, 0, 31, + 31, 31, 31, 31, 31, 31, 0, 31, 26, 26, + 26, 26, 26, 26, 26, 0, 26, 13, 13, 13, + + 13, 57, 0, 60, 0, 40, 31, 31, 31, 31, + 31, 26, 26, 26, 26, 26, 13, 13, 59, 0, + 31, 31, 26, 26, 13, 0, 31, 26, 13, 0, + 31, 26, 13, 43, 31, 26, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -559,263 +553,269 @@ static yyconst flex_int32_t yy_meta[52] = 1 } ; -static yyconst flex_int16_t yy_base[1128] = +static yyconst flex_int16_t yy_base[1155] = { 0, 0, 50, 54, 61, 65, 67, 50, 69, 118, 168, - 218, 268, 318, 368, 77, 173, 2365, 3660, 72, 3660, - 2361, 3660, 2350, 3660, 2345, 3660, 2335, 56, 2335, 60, - 2310, 77, 72, 76, 74, 2311, 2309, 2294, 65, 93, - 2301, 2274, 417, 0, 3660, 158, 2263, 2260, 63, 72, - 2254, 3660, 3660, 2289, 183, 3660, 0, 3660, 2285, 187, - 0, 2260, 155, 2224, 3660, 2263, 133, 2214, 191, 3660, - 2257, 273, 280, 3660, 373, 380, 385, 390, 395, 399, - 422, 433, 437, 445, 460, 494, 479, 498, 488, 502, - 522, 530, 534, 538, 543, 572, 548, 577, 566, 583, - - 587, 591, 600, 606, 611, 615, 274, 625, 3660, 651, - 381, 631, 3660, 632, 386, 453, 443, 646, 656, 657, - 672, 666, 697, 701, 680, 670, 706, 714, 737, 716, - 724, 718, 758, 743, 562, 752, 720, 738, 764, 762, - 769, 803, 3660, 809, 2248, 2239, 0, 2226, 176, 2220, - 173, 2200, 181, 182, 259, 168, 2190, 2194, 2181, 267, - 192, 2189, 286, 2159, 813, 268, 2135, 2132, 246, 79, - 786, 820, 3660, 824, 3660, 828, 292, 3660, 2162, 2134, - 2133, 2121, 2110, 2119, 2110, 2111, 2109, 2093, 289, 2094, - 2090, 2086, 2078, 2080, 2080, 2068, 2078, 2082, 2071, 2059, - - 2074, 2068, 2057, 277, 2041, 0, 0, 3660, 2028, 2029, - 267, 2017, 0, 187, 2028, 2019, 2042, 356, 2006, 1997, - 3660, 3660, 3660, 2034, 428, 0, 3660, 0, 2030, 470, - 2011, 1999, 390, 1949, 1948, 3660, 260, 1947, 832, 368, - 3660, 1987, 3660, 837, 841, 847, 862, 3660, 866, 875, - 3660, 882, 886, 890, 894, 900, 907, 911, 922, 932, - 939, 946, 950, 956, 960, 964, 984, 973, 992, 999, - 1009, 1021, 1013, 1026, 1031, 1047, 1053, 1060, 3660, 1065, - 0, 1071, 1076, 1081, 1085, 1089, 1094, 1105, 1117, 1126, - 1131, 1139, 928, 1004, 1144, 1151, 3660, 1155, 1167, 3660, - - 1162, 1103, 1110, 1160, 1175, 1180, 1186, 1187, 1194, 1196, - 1203, 1204, 1212, 1218, 1223, 1230, 1232, 1238, 1239, 1246, - 1259, 1244, 1261, 1266, 1267, 1282, 1295, 3660, 1305, 1281, - 0, 1309, 1317, 1329, 1322, 1310, 1290, 1334, 1335, 1351, - 1288, 1353, 1363, 3660, 1369, 1373, 1357, 3660, 0, 1974, - 1956, 1965, 1951, 1941, 1952, 1940, 1915, 1912, 1897, 503, - 1898, 1901, 1892, 1889, 1891, 1890, 1882, 1892, 1894, 1885, - 1873, 1880, 1872, 1846, 283, 1380, 3660, 1830, 0, 415, - 1822, 1816, 1840, 431, 1805, 1794, 1385, 1389, 1397, 1403, - 3660, 1407, 1411, 1417, 1423, 3660, 1431, 1816, 1802, 1789, - - 1780, 1787, 1781, 1774, 1785, 1775, 1758, 1760, 1748, 528, - 1755, 1740, 1724, 1736, 1738, 1718, 1713, 1692, 1697, 449, - 1684, 1693, 1686, 1686, 1659, 1441, 508, 1652, 1661, 1647, - 1630, 1647, 1445, 1451, 1457, 3660, 1461, 1465, 3660, 1469, - 1474, 1478, 1484, 1489, 1493, 1501, 1512, 1525, 1529, 1537, - 1547, 1551, 1557, 1561, 1575, 1583, 1589, 1595, 1599, 1610, - 1603, 1615, 1624, 1635, 1639, 1644, 1656, 1662, 1673, 1678, - 1682, 1688, 1698, 1702, 1707, 1716, 3660, 1736, 1505, 1720, - 1722, 1729, 1650, 1742, 1743, 1754, 1756, 1760, 1767, 1769, - 1774, 1779, 1780, 1778, 1795, 1805, 1815, 1816, 1820, 1821, - - 1831, 1822, 1832, 1840, 1833, 1841, 1869, 1877, 1881, 1858, - 1694, 1860, 1885, 1887, 1655, 1636, 1626, 1620, 1628, 1618, - 1611, 1622, 1615, 1601, 1597, 1595, 536, 1606, 1588, 1565, - 1573, 1575, 1566, 1566, 1551, 1556, 456, 1539, 1551, 1539, - 1535, 1512, 1894, 619, 1503, 1516, 1502, 1492, 1898, 3660, - 1907, 1513, 1507, 1489, 1495, 1471, 1482, 1480, 1459, 1459, - 1458, 1447, 1447, 1438, 1424, 1418, 1422, 1419, 1418, 1399, - 1397, 1401, 1400, 1385, 1366, 1383, 1383, 1377, 1360, 1352, - 1315, 1932, 3660, 790, 1304, 1301, 1311, 856, 1330, 1936, - 3660, 1940, 1944, 3660, 1948, 1953, 1958, 1962, 1966, 1972, - - 1979, 1919, 1987, 2001, 2006, 2015, 2011, 2019, 2026, 2047, - 2030, 2054, 2067, 2038, 2058, 2073, 2081, 2092, 2099, 2107, - 2113, 2117, 2131, 2135, 2139, 2151, 2145, 2155, 2159, 2163, - 2167, 2173, 2174, 1977, 2179, 2180, 2186, 2199, 2191, 2211, - 2218, 2222, 2223, 2228, 2227, 2233, 2238, 2237, 2259, 2265, - 2243, 2272, 2274, 2278, 2279, 2280, 2285, 2296, 2297, 2301, - 2314, 2319, 2324, 2325, 2332, 2333, 2337, 1323, 1326, 1297, - 1285, 1274, 1272, 1276, 1251, 1253, 1254, 1232, 1227, 1235, - 1223, 1219, 1209, 1212, 1207, 1188, 1187, 1195, 1185, 1182, - 1163, 1174, 1171, 1169, 1156, 1148, 1103, 1102, 1102, 1435, - - 1107, 1117, 1097, 1105, 1091, 1090, 3660, 1089, 1085, 1080, - 1067, 1060, 1038, 1031, 490, 1030, 3660, 3660, 1023, 1022, - 1035, 1034, 1019, 1029, 1006, 3660, 3660, 1006, 1007, 987, - 3660, 984, 980, 1521, 962, 979, 2341, 2346, 2353, 2381, - 2387, 2392, 2396, 2401, 2405, 2416, 2421, 2430, 2439, 2410, - 2444, 2448, 2453, 2458, 2466, 2476, 2480, 2494, 2485, 2498, - 2512, 2517, 2521, 2526, 2530, 2534, 2538, 2544, 2549, 2558, - 2562, 2566, 2459, 2570, 2575, 2586, 2590, 2342, 2601, 2602, - 2614, 2615, 2626, 2613, 2627, 2637, 2628, 2639, 2649, 2662, - 2664, 2653, 2668, 2674, 2673, 2681, 2685, 2687, 2699, 2689, - - 2700, 2705, 2710, 2716, 2721, 2723, 975, 985, 971, 980, - 978, 972, 971, 970, 964, 960, 959, 926, 924, 513, - 918, 914, 909, 926, 919, 899, 910, 887, 883, 883, - 865, 863, 853, 873, 869, 863, 3660, 3660, 3660, 3660, - 3660, 3660, 3660, 3660, 862, 541, 846, 841, 848, 845, - 844, 3660, 3660, 837, 3660, 829, 835, 803, 762, 765, - 755, 3660, 796, 2727, 2755, 2764, 2739, 2744, 2759, 2773, - 2778, 2782, 2787, 2791, 2798, 2810, 2802, 2814, 2819, 2834, - 2838, 2851, 2855, 2859, 2863, 2873, 2877, 2883, 2891, 2897, - 2901, 2905, 2909, 2911, 2915, 2869, 2917, 2923, 2928, 2929, - - 2937, 2949, 2951, 2955, 2960, 2966, 2964, 2968, 2976, 2977, - 2972, 2992, 3000, 3004, 3008, 3013, 3014, 3018, 3019, 3024, - 3028, 784, 782, 778, 774, 575, 758, 763, 770, 769, - 768, 760, 752, 763, 753, 697, 700, 688, 3660, 3660, - 3660, 3660, 703, 696, 689, 688, 3660, 3660, 3660, 692, - 667, 3660, 684, 679, 1552, 645, 674, 3032, 3040, 3056, - 3064, 3068, 3072, 3076, 3080, 3084, 3092, 3104, 3108, 3119, - 3112, 3124, 3128, 3140, 3144, 3096, 3100, 3120, 3132, 3151, - 3156, 3160, 3164, 3166, 3168, 3178, 3192, 3187, 3191, 3200, - 3204, 3205, 3206, 651, 655, 649, 646, 652, 626, 632, - - 630, 1954, 600, 608, 601, 611, 592, 3660, 591, 3660, - 562, 2584, 548, 2731, 3219, 3226, 3244, 3255, 3232, 3261, - 3266, 3272, 3276, 3280, 3284, 3227, 3240, 3290, 3289, 3298, - 3308, 3303, 3312, 3316, 3326, 3327, 570, 560, 550, 503, - 505, 472, 2748, 482, 470, 3660, 473, 3660, 414, 3660, - 2842, 401, 3340, 3351, 3335, 3355, 3367, 3376, 3380, 3387, - 3391, 3392, 3396, 3398, 3404, 3403, 3405, 3415, 3416, 3423, - 434, 411, 401, 373, 3660, 397, 3660, 361, 3660, 3430, - 3440, 3444, 3451, 3455, 3459, 3465, 3466, 3467, 3478, 386, - 335, 3660, 266, 3480, 3487, 3491, 3501, 253, 256, 3503, - - 3507, 167, 171, 3515, 3516, 81, 3660, 3527, 3528, 3660, - 3563, 3569, 3575, 3581, 3587, 3593, 3599, 3605, 3611, 3617, - 3623, 3629, 3635, 3641, 3647, 55, 3653 + 218, 268, 318, 368, 77, 173, 2558, 3712, 72, 3712, + 2549, 3712, 2540, 3712, 2530, 3712, 2522, 56, 2522, 64, + 2505, 80, 73, 76, 74, 2498, 2502, 2487, 65, 93, + 2498, 2475, 417, 0, 3712, 158, 2460, 2453, 154, 79, + 2446, 3712, 3712, 2492, 183, 3712, 0, 3712, 2489, 187, + 0, 2456, 44, 2416, 3712, 2463, 148, 2414, 106, 3712, + 2451, 273, 280, 3712, 373, 380, 385, 390, 395, 399, + 422, 433, 437, 445, 469, 503, 477, 483, 509, 488, + 525, 530, 538, 543, 549, 572, 567, 577, 581, 585, + + 590, 594, 604, 609, 622, 617, 274, 628, 3712, 633, + 381, 643, 3712, 645, 386, 481, 443, 657, 641, 664, + 668, 679, 677, 689, 696, 683, 704, 708, 721, 715, + 742, 725, 749, 753, 731, 759, 763, 736, 768, 774, + 773, 787, 3712, 797, 2441, 2440, 0, 2423, 175, 2420, + 185, 2402, 269, 154, 171, 183, 2403, 2405, 2397, 183, + 268, 2408, 296, 2379, 802, 184, 2362, 2362, 246, 168, + 778, 813, 3712, 822, 3712, 826, 286, 3712, 2395, 2375, + 2382, 2370, 2363, 2369, 2370, 2356, 2352, 2351, 2332, 259, + 2331, 2332, 2328, 2325, 2310, 2305, 2281, 2291, 2298, 2281, + + 2244, 2254, 2248, 2239, 281, 2217, 0, 0, 3712, 2199, + 2201, 268, 2182, 0, 267, 2182, 2179, 2203, 356, 2165, + 2156, 3712, 3712, 3712, 2190, 428, 0, 3712, 0, 2189, + 498, 2171, 2160, 390, 2128, 2122, 3712, 265, 2121, 831, + 368, 3712, 2168, 3712, 836, 840, 848, 860, 3712, 864, + 874, 3712, 882, 868, 892, 886, 896, 902, 907, 911, + 921, 931, 854, 945, 939, 949, 955, 959, 965, 973, + 981, 991, 997, 1001, 1013, 1019, 1023, 1033, 1039, 1047, + 3712, 1051, 0, 1057, 1062, 1067, 1071, 1075, 1079, 1083, + 1099, 1111, 1103, 1117, 974, 1093, 1127, 1137, 3712, 1152, + + 1156, 3712, 1162, 1142, 1163, 1146, 1173, 1169, 1177, 1178, + 1183, 1189, 1190, 1209, 1191, 1205, 1200, 1214, 1226, 1228, + 1232, 1236, 1237, 1249, 1243, 1254, 1260, 1253, 1278, 1288, + 3712, 1301, 1280, 0, 1292, 1305, 1326, 1315, 1306, 1316, + 1320, 1332, 1334, 1344, 1351, 1360, 3712, 1368, 1378, 1383, + 3712, 0, 2156, 2139, 2142, 2130, 2121, 2128, 2125, 2113, + 2116, 2109, 2094, 431, 2091, 2095, 2083, 2075, 2061, 2061, + 2053, 2059, 2066, 2050, 2023, 2037, 2028, 2022, 422, 1394, + 3712, 1998, 0, 423, 1996, 1987, 2008, 431, 1970, 1957, + 1372, 1387, 1406, 1410, 3712, 1421, 1425, 1400, 1429, 3712, + + 1434, 1981, 1967, 1963, 1956, 1959, 1960, 1954, 1949, 1957, + 1943, 1926, 1914, 1907, 462, 1918, 1894, 1869, 1881, 1871, + 1867, 1861, 1844, 1845, 461, 1824, 1835, 1830, 1830, 1807, + 1444, 550, 1791, 1801, 1785, 1782, 1794, 1448, 1455, 1463, + 3712, 1467, 1472, 3712, 1476, 1480, 1484, 1490, 1496, 1500, + 1507, 1438, 1518, 1528, 1532, 1542, 1550, 1546, 1555, 1560, + 1582, 1589, 1594, 1598, 1604, 1611, 1618, 1623, 1630, 1643, + 1647, 1652, 1657, 1664, 1672, 1681, 1686, 1691, 1699, 1704, + 1708, 1715, 3712, 1720, 1605, 1709, 1726, 1727, 1735, 1569, + 1736, 1744, 1750, 1763, 1752, 1762, 1772, 1773, 1779, 1787, + + 1771, 1788, 1807, 1811, 1815, 1813, 1822, 1829, 1830, 1834, + 1836, 1851, 1842, 1870, 1878, 1885, 1856, 1865, 1890, 1891, + 1892, 1798, 1778, 1776, 1771, 1775, 1776, 1767, 1758, 1759, + 1749, 1729, 1722, 1720, 471, 1715, 1682, 1672, 1681, 1675, + 1664, 1665, 1655, 1637, 503, 1620, 1627, 1624, 1623, 1600, + 1899, 1343, 1589, 1602, 1560, 1554, 1906, 3712, 1910, 1564, + 1565, 1547, 1558, 1551, 1528, 1539, 1533, 1509, 1514, 1515, + 1499, 1500, 1505, 1491, 1485, 1486, 1485, 1484, 1461, 1464, + 1470, 1466, 1445, 1430, 1442, 1442, 1432, 1401, 1393, 1371, + 1919, 3712, 1511, 1367, 1368, 1369, 1564, 1388, 1926, 3712, + + 1934, 1940, 3712, 1944, 1948, 1953, 1957, 1961, 1967, 1971, + 1980, 2005, 2014, 2009, 2018, 2022, 2026, 2031, 2054, 2060, + 2065, 2072, 2086, 2092, 2097, 2101, 2107, 2111, 2126, 2135, + 2139, 2148, 2160, 2154, 2164, 2173, 2180, 2186, 2192, 2196, + 2200, 2073, 2058, 2209, 2204, 2218, 2208, 2217, 2243, 2037, + 2224, 2112, 2249, 2255, 2223, 2259, 2264, 2260, 2268, 2269, + 2270, 2003, 2280, 2291, 2296, 2286, 2305, 2304, 2317, 2318, + 2322, 2323, 2330, 2339, 2340, 2345, 2341, 2346, 1381, 1379, + 1358, 1364, 1356, 1338, 1349, 1348, 1328, 1333, 1329, 1317, + 1310, 1313, 1299, 1301, 1299, 1300, 1288, 1268, 1261, 1269, + + 1264, 1258, 1243, 1260, 1257, 1254, 1240, 1220, 1198, 1184, + 1186, 1587, 1187, 1198, 1180, 1191, 1169, 1172, 1157, 3712, + 1151, 1137, 1131, 1125, 1124, 1105, 1104, 494, 1098, 3712, + 3712, 1095, 1094, 1111, 1108, 1088, 1097, 1062, 3712, 3712, + 1062, 1066, 1047, 3712, 1041, 1029, 1665, 997, 1018, 2357, + 2362, 2380, 2396, 2368, 2400, 2409, 2414, 2418, 2422, 2434, + 2438, 2443, 2454, 2458, 2466, 2470, 2475, 2481, 2486, 2498, + 2502, 2507, 2520, 2526, 2530, 2541, 2545, 2552, 2564, 2568, + 2573, 2577, 2586, 2590, 2596, 2518, 2459, 2591, 2562, 2604, + 2625, 2630, 2613, 2631, 2639, 2645, 2647, 2651, 2653, 2662, + + 2670, 2671, 2676, 2682, 2687, 2688, 2697, 2702, 2710, 2708, + 2693, 2719, 2724, 2725, 2733, 2731, 2737, 2739, 2744, 2746, + 2748, 1010, 1022, 1005, 1019, 1010, 1017, 1008, 1007, 1002, + 999, 995, 992, 967, 963, 526, 960, 956, 950, 959, + 953, 938, 943, 920, 914, 915, 897, 897, 894, 917, + 916, 910, 3712, 887, 3712, 3712, 3712, 3712, 3712, 3712, + 3712, 902, 531, 881, 881, 869, 868, 862, 3712, 3712, + 843, 3712, 831, 842, 832, 800, 808, 796, 3712, 834, + 2759, 2765, 2780, 2784, 2797, 2801, 2805, 2809, 2816, 2820, + 2825, 2829, 2833, 2844, 2861, 2837, 2865, 2869, 2878, 2852, + + 2887, 2893, 2897, 2901, 2907, 2912, 2916, 2922, 2929, 2933, + 2938, 2943, 2944, 2760, 2773, 2788, 2939, 2956, 2957, 2964, + 2965, 2970, 2975, 2980, 2979, 2981, 2991, 2992, 2996, 3007, + 3015, 3016, 3017, 3023, 3027, 3032, 3033, 3038, 3039, 3043, + 809, 808, 807, 766, 784, 573, 768, 766, 773, 770, + 762, 752, 743, 747, 732, 701, 699, 682, 3712, 3712, + 3712, 710, 3712, 694, 695, 691, 687, 3712, 3712, 3712, + 693, 669, 3712, 675, 673, 1692, 639, 670, 3052, 3059, + 3067, 3077, 3086, 3091, 3095, 3099, 3103, 3109, 3115, 3120, + 3127, 3138, 3131, 3144, 3149, 3156, 3163, 3169, 3170, 3175, + + 3176, 3180, 3181, 3188, 3190, 3194, 3192, 3198, 3215, 3219, + 3217, 3230, 3232, 3236, 3234, 3238, 659, 637, 632, 627, + 617, 628, 597, 611, 608, 1914, 577, 3712, 586, 577, + 585, 576, 3712, 579, 3712, 531, 1949, 517, 1993, 3251, + 3255, 3259, 3270, 3276, 3283, 3287, 3293, 3298, 3302, 3308, + 3312, 3318, 3322, 3324, 3329, 3334, 3340, 3358, 3363, 3369, + 3374, 3375, 3376, 539, 535, 538, 520, 514, 483, 1998, + 507, 498, 3712, 485, 3712, 426, 3712, 2287, 412, 3380, + 3384, 3392, 3416, 3398, 3403, 3412, 3427, 3432, 3437, 3438, + 3443, 3448, 3452, 3454, 3456, 3461, 3463, 443, 411, 401, + + 373, 3712, 397, 3712, 361, 3712, 3495, 3500, 3504, 3512, + 3516, 3488, 3517, 3505, 3522, 3523, 386, 335, 3712, 266, + 3529, 3539, 3540, 3544, 260, 263, 3557, 3548, 167, 189, + 3565, 3566, 169, 3712, 3580, 3558, 3712, 3615, 3621, 3627, + 3633, 3639, 3645, 3651, 3657, 3663, 3669, 3675, 3681, 3687, + 3693, 3699, 87, 3705 } ; -static yyconst flex_int16_t yy_def[1128] = +static yyconst flex_int16_t yy_def[1155] = { 0, - 1110, 1, 1111, 1112, 1113, 1113, 1114, 1114, 1110, 9, - 1110, 11, 1110, 13, 1115, 1115, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1116, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1117, 1110, 1118, 1110, 1110, 1119, - 1118, 1118, 1118, 1120, 1110, 1110, 1120, 1120, 1121, 1110, - 1110, 1122, 1110, 1110, 1110, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 43, 1123, 1122, - - 1122, 1122, 1122, 1122, 1122, 1122, 1124, 1110, 1110, 1110, - 1124, 1124, 1110, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 43, 1125, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1110, 1110, 1110, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1110, 1126, 43, 1126, 1126, 1126, 1126, 1126, - 1127, 1110, 1110, 1110, 1110, 1127, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - - 1110, 1110, 1110, 1110, 1110, 43, 1116, 1110, 1110, 1110, - 1110, 1110, 1116, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1118, 1110, 1118, 1110, 1118, - 1118, 1118, 1118, 1120, 1120, 1110, 1120, 1120, 1120, 1121, - 1110, 1110, 1110, 1122, 1122, 1122, 1110, 1110, 1110, 1110, - 1110, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1110, 1122, - 98, 1123, 1123, 1123, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1124, 1124, 1124, 1110, 1110, 1110, 1110, 1110, - - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1110, 1110, 1124, - 133, 1125, 1125, 1125, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1110, 1110, 1110, 1110, 1110, 1110, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1110, 1110, 1126, 165, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1110, - 1110, 1110, 1110, 1110, 1127, 1110, 1110, 1110, 1110, 1110, - - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1118, 1120, 1120, 1120, 1110, 1110, 1122, 1110, 1110, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1123, 1122, - 1122, 1122, 1122, 1122, 1122, 1124, 1110, 1110, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - - 1124, 1124, 1124, 1124, 1124, 1124, 1125, 1116, 1124, 1124, - 1124, 1124, 1124, 1124, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1127, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1118, 1120, - 1110, 1110, 1120, 1110, 1110, 1122, 1122, 1122, 1122, 1122, - - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1118, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - - 1124, 1124, 1124, 1124, 1124, 1124, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1118, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1118, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - - 1126, 1126, 1126, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1126, 1126, 1126, 1126, 1110, 1110, 1110, 1110, 1110, 1122, - 1122, 1122, 1122, 1122, 1124, 1124, 1124, 1124, 1124, 1126, - 1126, 1110, 1110, 1122, 1122, 1124, 1124, 1126, 1110, 1122, - - 1124, 1126, 1110, 1122, 1124, 1126, 1110, 1122, 1124, 0, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110 + 1137, 1, 1138, 1139, 1140, 1140, 1141, 1141, 1137, 9, + 1137, 11, 1137, 13, 1142, 1142, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1143, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1144, 1137, 1145, 1137, 1137, 1146, + 1145, 1145, 1145, 1147, 1137, 1137, 1147, 1147, 1148, 1137, + 1137, 1149, 1137, 1137, 1137, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 43, 1150, 1149, + + 1149, 1149, 1149, 1149, 1149, 1149, 1151, 1137, 1137, 1137, + 1151, 1151, 1137, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 43, 1152, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1137, 1137, 1137, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1137, 1153, 43, 1153, 1153, 1153, 1153, 1153, + 1154, 1137, 1137, 1137, 1137, 1154, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + + 1137, 1137, 1137, 1137, 1137, 1137, 43, 1143, 1137, 1137, + 1137, 1137, 1137, 1143, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1145, 1137, 1145, 1137, + 1145, 1145, 1145, 1145, 1147, 1147, 1137, 1147, 1147, 1147, + 1148, 1137, 1137, 1137, 1149, 1149, 1149, 1137, 1137, 1137, + 1137, 1137, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1137, 1149, 98, 1150, 1150, 1150, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1151, 1151, 1151, 1137, 1137, 1137, + + 1137, 1137, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1137, 1137, 1151, 133, 1152, 1152, 1152, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1137, 1137, 1137, 1137, 1137, + 1137, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1137, + 1137, 1153, 165, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1154, 1154, 1154, 1137, 1137, 1137, 1137, 1137, 1154, 1137, + + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1145, 1147, 1147, 1147, + 1137, 1137, 1149, 1137, 1137, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1150, 1149, 1149, 1149, 1149, 1149, + 1149, 1151, 1137, 1137, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1152, 1143, 1151, 1151, 1151, 1151, 1151, + 1151, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1154, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1145, 1147, 1137, + + 1137, 1147, 1137, 1137, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1145, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1145, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1145, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1151, 1151, 1151, + + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + 1149, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1153, 1153, 1153, + + 1153, 1137, 1137, 1137, 1137, 1137, 1149, 1149, 1149, 1149, + 1149, 1151, 1151, 1151, 1151, 1151, 1153, 1153, 1137, 1137, + 1149, 1149, 1151, 1151, 1153, 1137, 1149, 1151, 1153, 1137, + 1149, 1151, 1153, 1137, 1149, 1151, 0, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137 } ; -static yyconst flex_int16_t yy_nxt[3712] = +static yyconst flex_int16_t yy_nxt[3764] = { 0, 18, 19, 20, 21, 19, 18, 22, 23, 24, 23, 25, 26, 18, 27, 28, 29, 18, 30, 18, 18, @@ -823,412 +823,417 @@ static yyconst flex_int16_t yy_nxt[3712] = 40, 18, 18, 41, 18, 18, 42, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 43, 70, 71, 43, 44, 53, 54, 55, 56, - 349, 45, 52, 58, 59, 60, 61, 65, 66, 65, + 233, 45, 52, 58, 59, 60, 61, 65, 66, 65, 66, 70, 71, 177, 46, 181, 177, 62, 172, 173, - 174, 172, 182, 184, 200, 175, 195, 217, 193, 191, - 185, 47, 1107, 48, 187, 49, 201, 188, 50, 51, + 174, 172, 182, 184, 201, 175, 196, 185, 194, 234, + 192, 47, 352, 48, 186, 49, 202, 188, 50, 51, - 192, 189, 194, 196, 190, 202, 63, 219, 218, 220, - 67, 176, 67, 203, 385, 68, 386, 68, 72, 73, + 189, 193, 195, 197, 190, 203, 63, 191, 242, 243, + 67, 176, 67, 204, 220, 68, 221, 68, 72, 73, 74, 75, 73, 72, 76, 77, 78, 77, 79, 80, 72, 81, 82, 83, 72, 84, 72, 72, 85, 72, 86, 87, 88, 89, 90, 91, 92, 93, 94, 72, 72, 95, 96, 72, 97, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 98, - 214, 232, 98, 99, 172, 173, 174, 172, 237, 100, - 366, 175, 1107, 238, 194, 222, 224, 225, 223, 227, - 229, 230, 101, 241, 242, 352, 355, 367, 358, 362, + 215, 366, 98, 99, 172, 173, 174, 172, 218, 100, + 1134, 175, 367, 368, 195, 223, 225, 226, 224, 228, + 230, 231, 101, 238, 355, 370, 384, 369, 239, 219, - 233, 359, 353, 356, 373, 360, 1106, 176, 361, 102, - 363, 103, 374, 104, 426, 412, 105, 106, 107, 108, + 1134, 356, 375, 389, 358, 390, 1133, 176, 359, 102, + 369, 103, 371, 104, 376, 360, 105, 106, 107, 108, 109, 110, 108, 107, 111, 112, 113, 112, 114, 115, 107, 116, 117, 118, 107, 119, 107, 107, 120, 107, 121, 122, 123, 124, 125, 126, 127, 128, 129, 107, 107, 130, 131, 107, 132, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 133, - 383, 364, 133, 134, 245, 294, 245, 245, 294, 135, - 380, 247, 248, 249, 247, 365, 371, 376, 377, 376, - 376, 384, 136, 177, 365, 1103, 177, 423, 372, 1102, + 387, 412, 133, 134, 246, 296, 246, 246, 296, 135, + 377, 248, 249, 250, 248, 413, 362, 177, 378, 363, + 177, 388, 136, 364, 431, 417, 365, 380, 381, 380, - 424, 407, 219, 540, 220, 237, 541, 246, 295, 137, - 238, 138, 1099, 139, 250, 408, 140, 141, 18, 142, + 380, 428, 1130, 220, 429, 221, 1129, 247, 297, 137, + 238, 138, 1126, 139, 251, 239, 140, 141, 18, 142, 143, 144, 142, 18, 22, 23, 24, 145, 146, 26, 147, 148, 149, 150, 147, 151, 147, 147, 152, 147, 153, 154, 155, 156, 157, 158, 159, 160, 161, 147, 147, 162, 163, 147, 164, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 18, 18, 165, - 241, 242, 165, 44, 249, 251, 249, 249, 1098, 45, - 217, 245, 294, 245, 245, 294, 245, 294, 245, 245, - 294, 245, 166, 245, 245, 252, 245, 1092, 245, 245, - - 245, 218, 245, 245, 1093, 252, 232, 250, 1092, 167, - 1091, 168, 1077, 169, 246, 295, 170, 51, 206, 246, - 295, 206, 207, 245, 246, 245, 245, 1090, 208, 246, - 222, 224, 225, 246, 245, 233, 245, 245, 245, 253, - 245, 245, 543, 529, 294, 1075, 245, 294, 245, 245, - 1079, 1078, 254, 256, 294, 383, 246, 294, 209, 255, - 210, 245, 303, 245, 245, 211, 212, 246, 257, 304, - 302, 246, 227, 229, 230, 258, 384, 295, 575, 246, - 245, 576, 245, 245, 1077, 691, 1076, 295, 692, 245, - 259, 245, 245, 1075, 246, 245, 264, 245, 245, 245, - - 268, 245, 245, 245, 847, 245, 245, 265, 1074, 584, - 266, 260, 584, 246, 261, 524, 1048, 269, 262, 1073, - 848, 263, 246, 245, 267, 245, 245, 927, 246, 525, - 270, 245, 246, 245, 245, 245, 246, 245, 245, 245, - 564, 245, 245, 928, 245, 271, 245, 245, 680, 245, - 275, 245, 245, 273, 565, 943, 246, 585, 276, 277, - 272, 1046, 681, 294, 246, 274, 294, 283, 246, 283, - 283, 944, 246, 278, 279, 278, 278, 246, 281, 248, - 249, 281, 246, 1072, 245, 280, 245, 245, 245, 994, - 245, 245, 245, 1071, 245, 245, 295, 1050, 1049, 285, - - 284, 245, 1048, 245, 245, 995, 246, 245, 1047, 245, - 245, 250, 245, 267, 245, 245, 245, 246, 245, 245, - 584, 246, 1046, 584, 1045, 246, 296, 297, 298, 296, - 288, 1044, 294, 294, 246, 294, 294, 1043, 286, 1042, - 246, 301, 301, 1010, 287, 246, 290, 294, 291, 246, - 294, 289, 298, 300, 298, 298, 1041, 294, 294, 299, - 294, 294, 305, 1008, 292, 295, 295, 294, 585, 1040, - 294, 294, 1039, 294, 294, 1038, 294, 1037, 957, 306, - 295, 294, 1014, 313, 294, 299, 307, 308, 1011, 309, - 295, 295, 310, 320, 314, 1010, 311, 1009, 294, 312, - - 295, 294, 294, 1008, 295, 294, 295, 294, 319, 315, - 294, 1007, 1006, 317, 295, 294, 1005, 294, 294, 294, - 294, 294, 294, 316, 294, 327, 328, 329, 327, 1004, - 318, 295, 326, 322, 1003, 295, 321, 1002, 294, 294, - 295, 294, 294, 1001, 333, 323, 213, 333, 295, 324, - 295, 213, 295, 294, 295, 330, 294, 325, 295, 331, - 297, 298, 331, 294, 335, 294, 294, 336, 294, 1000, - 294, 295, 295, 294, 952, 999, 998, 334, 316, 949, - 948, 947, 337, 997, 996, 942, 295, 388, 338, 941, - 388, 584, 299, 940, 584, 939, 295, 340, 295, 341, - - 957, 956, 955, 295, 343, 344, 345, 343, 954, 339, - 347, 348, 347, 347, 379, 344, 345, 379, 342, 953, - 389, 390, 391, 392, 390, 394, 391, 394, 394, 395, - 396, 397, 395, 435, 436, 437, 435, 346, 245, 585, - 245, 245, 245, 346, 245, 245, 952, 346, 438, 439, - 438, 438, 951, 950, 393, 949, 948, 734, 393, 947, - 734, 946, 389, 247, 248, 249, 247, 249, 248, 249, - 249, 246, 945, 942, 941, 246, 440, 279, 440, 440, - 940, 246, 433, 245, 939, 245, 245, 245, 938, 245, - 245, 245, 252, 245, 245, 245, 250, 245, 245, 937, - - 250, 245, 442, 245, 245, 735, 936, 935, 245, 441, - 245, 245, 245, 934, 245, 245, 246, 443, 933, 445, - 246, 855, 932, 245, 246, 245, 245, 444, 246, 294, - 853, 446, 294, 245, 246, 245, 245, 852, 447, 931, - 245, 246, 245, 245, 930, 246, 929, 245, 448, 245, - 245, 245, 926, 245, 245, 925, 246, 245, 450, 245, - 245, 245, 295, 245, 245, 245, 246, 245, 245, 449, - 844, 843, 451, 246, 245, 842, 245, 245, 452, 453, - 246, 841, 840, 839, 246, 245, 454, 245, 245, 838, - 246, 837, 455, 245, 246, 245, 245, 457, 246, 924, - - 245, 923, 245, 245, 922, 294, 863, 246, 294, 456, - 245, 862, 245, 245, 245, 861, 245, 245, 246, 459, - 860, 460, 245, 458, 245, 245, 246, 245, 859, 245, - 245, 858, 245, 246, 245, 245, 857, 856, 295, 463, - 855, 461, 854, 246, 462, 853, 852, 246, 245, 464, - 245, 245, 851, 850, 245, 246, 245, 245, 849, 846, - 246, 278, 279, 278, 278, 246, 245, 845, 245, 245, - 465, 844, 283, 466, 283, 283, 467, 283, 843, 283, - 283, 246, 469, 439, 469, 469, 245, 246, 245, 245, - 245, 842, 245, 245, 246, 245, 841, 245, 245, 246, - - 840, 839, 838, 468, 294, 284, 245, 294, 245, 245, - 284, 294, 470, 455, 294, 284, 837, 473, 245, 246, - 245, 245, 480, 246, 471, 836, 479, 245, 246, 245, - 245, 472, 245, 835, 245, 245, 834, 295, 833, 246, - 245, 288, 245, 245, 295, 476, 477, 478, 476, 832, - 831, 246, 296, 297, 298, 296, 298, 297, 298, 298, - 246, 294, 289, 294, 294, 246, 294, 474, 329, 328, - 329, 329, 301, 246, 830, 829, 294, 475, 295, 294, - 727, 294, 726, 481, 294, 299, 828, 294, 294, 299, - 294, 294, 483, 827, 295, 294, 295, 294, 294, 826, - - 294, 825, 482, 485, 294, 294, 484, 294, 294, 295, - 486, 824, 823, 294, 295, 488, 294, 822, 718, 294, - 295, 295, 294, 717, 294, 821, 487, 294, 295, 489, - 295, 294, 490, 294, 294, 491, 294, 295, 295, 294, - 294, 820, 294, 294, 492, 294, 295, 294, 294, 819, - 294, 493, 295, 818, 817, 494, 495, 295, 498, 497, - 294, 816, 294, 294, 295, 294, 295, 294, 294, 496, - 294, 294, 295, 295, 501, 500, 815, 814, 295, 499, - 295, 813, 294, 294, 502, 294, 294, 707, 812, 294, - 503, 294, 294, 295, 294, 295, 327, 328, 329, 327, - - 295, 295, 504, 811, 810, 505, 329, 328, 329, 329, - 333, 294, 213, 333, 294, 295, 295, 213, 333, 506, - 213, 333, 295, 294, 295, 213, 294, 511, 809, 295, - 507, 477, 508, 507, 514, 294, 294, 213, 294, 294, - 808, 807, 736, 334, 295, 510, 512, 733, 732, 509, - 493, 334, 294, 731, 294, 294, 295, 294, 347, 338, - 347, 347, 730, 334, 343, 344, 345, 343, 295, 295, - 347, 344, 347, 347, 376, 377, 376, 376, 729, 728, - 339, 376, 377, 376, 376, 295, 388, 295, 727, 388, - 388, 346, 513, 388, 726, 725, 724, 346, 549, 550, - - 551, 549, 723, 346, 390, 391, 392, 390, 394, 391, - 394, 394, 397, 396, 397, 397, 722, 721, 394, 389, - 394, 394, 720, 389, 395, 396, 397, 395, 719, 718, - 717, 389, 397, 396, 397, 397, 734, 393, 716, 734, - 715, 393, 582, 583, 582, 582, 590, 591, 592, 590, - 714, 393, 593, 594, 595, 593, 713, 389, 435, 436, - 437, 435, 437, 436, 437, 437, 438, 439, 438, 438, - 440, 279, 440, 440, 712, 245, 711, 245, 245, 245, - 710, 245, 245, 709, 735, 245, 596, 245, 245, 708, - 245, 707, 245, 245, 245, 433, 245, 245, 706, 246, - - 705, 433, 245, 597, 245, 245, 294, 235, 246, 294, - 598, 600, 246, 245, 704, 245, 245, 632, 246, 599, - 703, 702, 734, 246, 601, 734, 245, 246, 245, 245, - 245, 701, 245, 245, 700, 246, 602, 603, 245, 295, - 245, 245, 699, 543, 698, 604, 246, 697, 245, 696, - 245, 245, 245, 1012, 245, 245, 1012, 695, 245, 246, - 245, 245, 245, 246, 245, 245, 605, 694, 693, 608, - 735, 246, 606, 690, 689, 610, 245, 607, 245, 245, - 688, 246, 687, 609, 245, 246, 245, 245, 686, 685, - 245, 246, 245, 245, 684, 246, 245, 611, 245, 245, - - 245, 1013, 245, 245, 245, 613, 245, 245, 614, 246, - 683, 245, 612, 245, 245, 615, 245, 246, 245, 245, - 682, 679, 678, 246, 616, 245, 617, 245, 245, 246, - 677, 676, 618, 246, 675, 674, 245, 246, 245, 245, - 245, 673, 245, 245, 246, 245, 672, 245, 245, 246, - 671, 294, 670, 619, 294, 622, 620, 245, 246, 245, - 245, 669, 623, 245, 621, 245, 245, 668, 636, 246, - 624, 589, 588, 246, 469, 439, 469, 469, 246, 626, - 583, 626, 626, 627, 295, 245, 627, 587, 426, 245, - 246, 245, 245, 586, 581, 294, 246, 625, 294, 245, - - 580, 245, 245, 245, 579, 245, 245, 284, 245, 578, - 245, 245, 246, 577, 574, 573, 246, 476, 477, 478, - 476, 294, 246, 294, 294, 470, 294, 572, 295, 629, - 294, 628, 246, 294, 571, 665, 246, 478, 477, 478, - 478, 246, 630, 294, 294, 633, 294, 294, 634, 631, - 295, 570, 569, 568, 295, 294, 295, 294, 294, 635, - 294, 294, 567, 295, 294, 637, 639, 638, 294, 566, - 294, 294, 640, 294, 563, 294, 295, 295, 294, 294, - 294, 294, 294, 294, 294, 562, 644, 561, 295, 641, - 295, 560, 642, 646, 295, 643, 294, 559, 558, 294, - - 645, 295, 647, 295, 557, 556, 294, 648, 295, 294, - 555, 649, 295, 295, 295, 554, 294, 294, 650, 294, - 294, 294, 294, 294, 294, 294, 294, 553, 552, 295, - 652, 651, 294, 294, 294, 294, 294, 294, 654, 295, - 548, 294, 294, 653, 294, 294, 547, 660, 658, 295, - 295, 657, 546, 545, 295, 295, 295, 544, 659, 663, - 655, 294, 663, 656, 294, 295, 295, 295, 542, 539, - 507, 477, 508, 507, 295, 295, 661, 213, 508, 477, - 508, 508, 662, 583, 582, 662, 294, 509, 294, 294, - 538, 294, 295, 537, 295, 582, 583, 582, 582, 549, - - 550, 551, 549, 334, 536, 535, 534, 664, 551, 550, - 551, 551, 533, 532, 531, 295, 530, 529, 528, 295, - 245, 295, 245, 245, 527, 666, 526, 523, 522, 667, - 743, 521, 389, 582, 583, 582, 582, 590, 591, 592, - 590, 592, 591, 592, 592, 593, 594, 595, 593, 595, - 594, 595, 595, 246, 245, 1012, 245, 245, 1012, 245, - 520, 245, 245, 245, 519, 245, 245, 245, 518, 245, - 245, 737, 738, 245, 517, 245, 245, 516, 294, 515, - 245, 294, 245, 245, 350, 740, 235, 246, 245, 241, - 245, 245, 246, 739, 235, 742, 246, 434, 433, 235, - - 246, 741, 245, 1013, 245, 245, 246, 245, 774, 245, - 245, 295, 245, 246, 245, 245, 245, 744, 245, 245, - 245, 246, 245, 245, 231, 745, 432, 245, 746, 245, - 245, 245, 227, 245, 245, 246, 222, 749, 748, 245, - 246, 245, 245, 431, 747, 246, 752, 430, 245, 246, - 245, 245, 750, 246, 429, 245, 428, 245, 245, 245, - 246, 245, 245, 427, 246, 753, 221, 755, 245, 751, - 245, 245, 246, 216, 245, 215, 245, 245, 754, 425, - 422, 246, 245, 756, 245, 245, 421, 420, 246, 757, - 419, 418, 246, 245, 417, 245, 245, 758, 416, 415, - - 245, 246, 245, 245, 414, 413, 412, 246, 245, 759, - 245, 245, 411, 410, 245, 246, 245, 245, 245, 761, - 245, 245, 409, 406, 762, 405, 246, 404, 763, 760, - 403, 402, 245, 246, 245, 245, 245, 401, 245, 245, - 245, 246, 245, 245, 400, 399, 627, 246, 245, 627, - 764, 246, 626, 583, 626, 626, 245, 398, 245, 245, - 245, 765, 245, 245, 245, 246, 245, 245, 770, 246, - 245, 770, 179, 246, 294, 294, 382, 294, 294, 246, - 294, 294, 381, 294, 294, 246, 766, 294, 773, 246, - 294, 772, 294, 246, 628, 294, 378, 246, 775, 769, - - 294, 246, 777, 294, 767, 375, 768, 295, 295, 776, - 778, 370, 294, 295, 295, 294, 771, 369, 368, 294, - 295, 779, 294, 294, 294, 295, 294, 294, 294, 294, - 357, 294, 294, 295, 294, 780, 354, 294, 294, 294, - 781, 294, 294, 351, 294, 295, 784, 294, 788, 350, - 783, 782, 295, 785, 787, 786, 295, 295, 350, 243, - 294, 295, 295, 294, 239, 236, 294, 295, 791, 294, - 789, 295, 295, 294, 235, 294, 294, 295, 294, 294, - 294, 294, 294, 294, 294, 231, 294, 227, 792, 294, - 793, 222, 796, 295, 790, 794, 797, 294, 294, 295, - - 294, 294, 294, 221, 216, 294, 295, 798, 295, 795, - 215, 205, 295, 295, 295, 294, 799, 204, 294, 295, - 662, 583, 582, 662, 199, 663, 294, 800, 663, 294, - 295, 295, 198, 294, 294, 295, 294, 294, 805, 197, - 186, 805, 245, 294, 245, 245, 294, 245, 295, 245, - 245, 183, 180, 295, 245, 179, 245, 245, 295, 295, - 179, 801, 865, 178, 1110, 1110, 295, 295, 1110, 804, - 864, 295, 1110, 664, 802, 246, 295, 1110, 1110, 803, - 246, 866, 245, 1110, 245, 245, 806, 246, 245, 1110, - 245, 245, 867, 245, 1110, 245, 245, 245, 868, 245, - - 245, 1110, 245, 869, 245, 245, 245, 1110, 245, 245, - 1110, 245, 870, 245, 245, 246, 871, 245, 1110, 245, - 245, 246, 245, 1110, 245, 245, 246, 872, 1110, 1110, - 246, 245, 873, 245, 245, 246, 1110, 1110, 876, 246, - 245, 874, 245, 245, 246, 245, 1110, 245, 245, 245, - 246, 245, 245, 1110, 245, 246, 245, 245, 877, 245, - 294, 245, 245, 294, 246, 1110, 1110, 245, 875, 245, - 245, 1110, 1110, 246, 878, 894, 879, 245, 246, 245, - 245, 245, 246, 245, 245, 1110, 245, 246, 245, 245, - 1110, 882, 246, 295, 1110, 245, 880, 245, 245, 245, - - 246, 245, 245, 1110, 1110, 883, 881, 1110, 884, 885, - 246, 1110, 1110, 245, 246, 245, 245, 1110, 245, 246, - 245, 245, 245, 1110, 245, 245, 1110, 245, 246, 245, - 245, 245, 246, 245, 245, 245, 1110, 245, 245, 245, - 1110, 245, 245, 886, 1110, 245, 246, 245, 245, 1110, - 245, 246, 245, 245, 888, 246, 887, 1110, 1110, 770, - 246, 245, 770, 245, 246, 245, 245, 294, 246, 1110, - 294, 294, 246, 1110, 294, 889, 294, 1110, 246, 294, - 890, 1110, 1110, 246, 891, 1012, 896, 294, 1012, 1110, - 294, 294, 246, 1110, 294, 893, 246, 897, 895, 1110, - - 295, 898, 294, 294, 295, 294, 294, 771, 1110, 295, - 1110, 892, 899, 900, 294, 294, 294, 294, 294, 294, - 295, 1110, 1110, 1110, 295, 901, 902, 294, 294, 294, - 294, 294, 294, 1013, 1110, 295, 295, 903, 294, 1110, - 294, 294, 904, 294, 1110, 1110, 1110, 295, 295, 295, - 294, 906, 1110, 294, 294, 905, 908, 294, 1110, 1110, - 295, 295, 295, 294, 911, 294, 294, 907, 294, 294, - 1110, 295, 294, 295, 294, 294, 1110, 294, 294, 912, - 1110, 1110, 294, 295, 914, 294, 294, 295, 294, 294, - 294, 294, 909, 294, 910, 1110, 295, 913, 295, 1110, - - 294, 294, 295, 294, 294, 1110, 294, 295, 295, 294, - 1110, 294, 915, 917, 294, 295, 1110, 294, 1110, 295, - 294, 295, 805, 295, 294, 805, 1110, 294, 245, 916, - 245, 245, 1051, 295, 295, 1051, 1110, 1110, 958, 295, - 245, 918, 245, 245, 295, 245, 919, 245, 245, 1051, - 295, 920, 1051, 1110, 1110, 295, 245, 295, 245, 245, - 245, 246, 245, 245, 1110, 245, 959, 245, 245, 1110, - 806, 1110, 921, 246, 245, 960, 245, 245, 246, 245, - 1052, 245, 245, 245, 1110, 245, 245, 1110, 245, 246, - 245, 245, 245, 246, 245, 245, 1110, 1052, 246, 245, - - 1110, 245, 245, 245, 1110, 245, 245, 246, 1110, 961, - 1110, 245, 246, 245, 245, 245, 246, 245, 245, 1110, - 245, 246, 245, 245, 962, 246, 1110, 1110, 964, 1110, - 966, 1110, 246, 1110, 965, 245, 246, 245, 245, 245, - 963, 245, 245, 1051, 246, 967, 1051, 1110, 246, 968, - 1110, 1110, 245, 246, 245, 245, 245, 1110, 245, 245, - 245, 1110, 245, 245, 245, 1110, 245, 245, 246, 1110, - 294, 1110, 246, 294, 245, 969, 245, 245, 245, 1110, - 245, 245, 1110, 1110, 245, 246, 245, 245, 971, 246, - 1110, 1052, 245, 246, 245, 245, 970, 246, 245, 972, - - 245, 245, 245, 295, 245, 245, 245, 246, 245, 245, - 294, 246, 294, 294, 1110, 294, 294, 246, 294, 294, - 976, 294, 977, 1110, 294, 246, 978, 294, 1110, 294, - 294, 246, 294, 294, 974, 246, 1110, 973, 294, 246, - 1110, 294, 1110, 295, 1110, 295, 1110, 975, 1110, 295, - 294, 295, 294, 294, 1110, 294, 294, 295, 1110, 294, - 1110, 294, 295, 295, 294, 294, 979, 294, 294, 294, - 294, 295, 294, 294, 980, 1110, 294, 294, 294, 984, - 294, 294, 1110, 295, 983, 295, 1110, 985, 986, 295, - 981, 1110, 982, 294, 295, 1110, 294, 1110, 295, 1110, - - 295, 294, 295, 1110, 294, 294, 295, 1110, 294, 294, - 295, 295, 294, 1110, 294, 294, 987, 294, 294, 294, - 294, 1110, 294, 294, 989, 294, 295, 1110, 294, 294, - 990, 988, 294, 245, 295, 245, 245, 1110, 295, 1110, - 1110, 245, 295, 245, 245, 1110, 1110, 295, 295, 1110, - 1110, 1110, 295, 295, 1110, 1110, 992, 245, 295, 245, - 245, 1110, 295, 1110, 991, 245, 246, 245, 245, 245, - 993, 245, 245, 245, 246, 245, 245, 245, 1110, 245, - 245, 245, 1110, 245, 245, 245, 1110, 245, 245, 1110, - 246, 1110, 1016, 245, 1015, 245, 245, 294, 246, 1017, - - 294, 294, 246, 1018, 294, 245, 246, 245, 245, 245, - 246, 245, 245, 245, 246, 245, 245, 1110, 246, 1019, - 245, 294, 245, 245, 294, 245, 246, 245, 245, 245, - 295, 245, 245, 294, 295, 1021, 294, 1022, 246, 1110, - 1110, 1023, 246, 245, 1023, 245, 246, 245, 245, 1020, - 1110, 1110, 294, 246, 295, 294, 1110, 294, 246, 1110, - 294, 294, 246, 1110, 294, 294, 295, 294, 294, 294, - 294, 1110, 294, 1110, 246, 1110, 1027, 1026, 246, 294, - 1110, 1025, 294, 1028, 1110, 295, 1110, 1029, 294, 1024, - 295, 294, 294, 294, 295, 294, 294, 1110, 295, 1110, - - 295, 294, 295, 1030, 294, 294, 1034, 294, 294, 1034, - 294, 1032, 295, 1033, 1110, 1110, 1110, 1031, 1110, 1110, - 245, 295, 245, 245, 1110, 295, 295, 245, 294, 245, - 245, 294, 1110, 245, 295, 245, 245, 1110, 295, 295, - 295, 294, 1053, 1036, 294, 245, 1110, 245, 245, 1054, - 1062, 1110, 1110, 246, 1035, 1055, 245, 1110, 245, 245, - 246, 295, 245, 1063, 245, 245, 246, 245, 1110, 245, - 245, 1056, 1057, 245, 295, 245, 245, 1023, 246, 245, - 1023, 245, 1110, 245, 245, 1060, 1110, 245, 1060, 246, - 294, 294, 1110, 294, 294, 246, 1110, 1110, 1110, 294, - - 246, 1064, 294, 1110, 294, 1065, 246, 294, 1058, 294, - 246, 1110, 294, 294, 246, 1110, 294, 1034, 246, 1066, - 1034, 1110, 1110, 295, 295, 1024, 1110, 294, 1069, 1059, - 294, 1069, 295, 1061, 1110, 1110, 245, 295, 245, 245, - 1110, 245, 295, 245, 245, 1110, 295, 1110, 1067, 1110, - 295, 1080, 245, 1110, 245, 245, 245, 1110, 245, 245, - 295, 295, 1110, 1110, 1110, 1035, 1082, 1081, 245, 246, - 245, 245, 1110, 1110, 246, 1068, 1070, 245, 1110, 245, - 245, 245, 1110, 245, 245, 246, 1110, 1110, 1060, 246, - 245, 1060, 245, 294, 245, 245, 294, 294, 1110, 294, - - 294, 246, 294, 1085, 294, 294, 294, 294, 294, 294, - 246, 1110, 1086, 1083, 246, 1087, 294, 1069, 1110, 294, - 1069, 246, 1110, 1110, 294, 246, 295, 294, 1110, 1110, - 295, 245, 295, 245, 245, 1110, 1061, 295, 295, 295, - 1084, 245, 1088, 245, 245, 245, 1110, 245, 245, 295, - 295, 1094, 245, 1110, 245, 245, 245, 295, 245, 245, - 294, 1110, 1110, 294, 246, 1070, 294, 294, 294, 294, - 294, 294, 1089, 1110, 246, 1110, 1096, 1110, 246, 294, - 1110, 245, 294, 245, 245, 246, 1110, 1110, 245, 246, - 245, 245, 294, 295, 1095, 294, 1110, 1110, 1110, 295, - - 295, 295, 294, 1110, 245, 294, 245, 245, 294, 1110, - 1097, 294, 295, 1110, 246, 1110, 245, 294, 245, 245, - 294, 246, 1110, 1110, 1110, 295, 1108, 1109, 245, 294, - 245, 245, 294, 1100, 1110, 295, 1110, 246, 1110, 1110, - 1110, 295, 1104, 1110, 1110, 1110, 1105, 1101, 1110, 246, - 295, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 246, 295, 52, 52, 52, 52, 52, 52, 57, - 57, 57, 57, 57, 57, 64, 64, 64, 64, 64, - 64, 69, 69, 69, 69, 69, 69, 171, 171, 171, - 171, 171, 171, 213, 213, 1110, 213, 213, 213, 223, - - 223, 223, 223, 223, 223, 226, 1110, 1110, 1110, 226, - 226, 228, 228, 228, 228, 228, 228, 234, 234, 1110, - 1110, 234, 234, 240, 240, 240, 240, 240, 240, 244, - 244, 1110, 244, 244, 244, 282, 282, 1110, 282, 282, - 282, 293, 293, 1110, 1110, 1110, 293, 332, 332, 1110, - 332, 332, 332, 387, 387, 1110, 1110, 1110, 387, 17, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110 + 242, 243, 165, 44, 250, 252, 250, 250, 1125, 45, + 218, 246, 296, 246, 246, 296, 246, 296, 246, 246, + 296, 246, 166, 246, 246, 253, 246, 1119, 246, 246, + + 246, 219, 246, 246, 1120, 253, 233, 251, 1119, 167, + 1118, 168, 1104, 169, 247, 297, 170, 51, 207, 247, + 297, 207, 208, 246, 247, 246, 246, 1117, 209, 247, + 223, 225, 226, 247, 246, 234, 246, 246, 246, 254, + 246, 246, 548, 532, 296, 549, 246, 296, 246, 246, + 551, 537, 255, 257, 1102, 387, 247, 533, 210, 256, + 211, 1106, 305, 1105, 258, 212, 213, 247, 259, 306, + 246, 247, 246, 246, 573, 260, 388, 297, 246, 247, + 246, 246, 296, 692, 246, 296, 246, 246, 574, 246, + 584, 246, 246, 585, 266, 268, 1104, 693, 304, 261, + + 228, 230, 231, 247, 246, 267, 246, 246, 864, 269, + 246, 247, 246, 246, 1103, 297, 272, 247, 1102, 1101, + 262, 270, 247, 263, 865, 1075, 246, 264, 246, 246, + 265, 246, 703, 246, 246, 704, 1100, 247, 271, 246, + 947, 246, 246, 247, 246, 964, 246, 246, 273, 1073, + 246, 593, 246, 246, 593, 277, 948, 275, 1099, 247, + 274, 965, 1098, 278, 247, 279, 1077, 1076, 246, 276, + 246, 246, 247, 280, 281, 280, 280, 247, 283, 249, + 250, 283, 285, 247, 285, 285, 246, 1018, 246, 246, + 1075, 246, 1074, 246, 246, 246, 1073, 246, 246, 594, + + 1072, 247, 287, 1019, 282, 246, 247, 246, 246, 1071, + 246, 251, 246, 246, 1070, 286, 269, 1069, 246, 247, + 246, 246, 1035, 246, 247, 246, 246, 1068, 247, 298, + 299, 300, 298, 290, 300, 302, 300, 300, 247, 1033, + 1067, 288, 296, 247, 296, 296, 296, 296, 289, 296, + 1066, 247, 1065, 303, 291, 303, 247, 292, 296, 293, + 308, 296, 301, 1064, 309, 296, 294, 301, 296, 296, + 1028, 310, 296, 307, 978, 297, 1039, 297, 296, 297, + 296, 296, 1036, 296, 296, 312, 1035, 296, 313, 318, + 296, 297, 314, 296, 311, 315, 316, 296, 297, 1034, + + 296, 320, 297, 319, 1033, 296, 323, 317, 296, 296, + 1032, 297, 296, 297, 1031, 1030, 296, 297, 321, 296, + 1029, 1028, 296, 297, 322, 296, 296, 325, 1027, 296, + 297, 329, 296, 327, 324, 296, 1026, 296, 297, 326, + 296, 328, 297, 330, 331, 332, 330, 1025, 1024, 297, + 334, 299, 300, 334, 336, 297, 214, 336, 973, 297, + 296, 214, 333, 296, 296, 297, 1023, 296, 1022, 296, + 297, 338, 296, 970, 296, 296, 297, 296, 296, 392, + 340, 969, 392, 301, 968, 319, 1021, 337, 346, 347, + 348, 346, 341, 297, 1020, 963, 1017, 297, 350, 351, + + 350, 350, 297, 383, 347, 348, 383, 297, 297, 343, + 339, 344, 393, 342, 394, 395, 396, 394, 961, 960, + 959, 349, 345, 398, 395, 398, 398, 399, 400, 401, + 399, 349, 440, 441, 442, 440, 349, 246, 978, 246, + 246, 246, 977, 246, 246, 976, 975, 397, 974, 443, + 444, 443, 443, 973, 972, 246, 397, 246, 246, 971, + 393, 248, 249, 250, 248, 250, 249, 250, 250, 246, + 247, 246, 246, 970, 247, 445, 281, 445, 445, 969, + 968, 438, 247, 246, 455, 246, 246, 246, 247, 246, + 246, 446, 253, 246, 251, 246, 246, 246, 251, 246, + + 246, 967, 247, 246, 447, 246, 246, 966, 246, 448, + 246, 246, 246, 963, 246, 246, 247, 962, 450, 451, + 247, 961, 246, 449, 246, 246, 247, 960, 959, 958, + 247, 452, 246, 957, 246, 246, 247, 453, 956, 955, + 246, 247, 246, 246, 954, 247, 246, 454, 246, 246, + 246, 953, 246, 246, 872, 247, 246, 456, 246, 246, + 246, 952, 246, 246, 870, 247, 246, 458, 246, 246, + 869, 457, 459, 247, 246, 296, 246, 246, 296, 247, + 951, 460, 246, 247, 246, 246, 950, 461, 949, 247, + 462, 946, 246, 247, 246, 246, 945, 463, 246, 247, + + 246, 246, 246, 861, 246, 246, 860, 247, 297, 466, + 859, 465, 464, 858, 246, 247, 246, 246, 857, 856, + 246, 467, 246, 246, 246, 247, 246, 246, 855, 944, + 853, 247, 469, 943, 246, 247, 246, 246, 942, 941, + 246, 470, 246, 246, 468, 880, 879, 247, 280, 281, + 280, 280, 246, 247, 246, 246, 471, 247, 285, 472, + 285, 285, 473, 285, 878, 285, 285, 247, 475, 444, + 475, 475, 246, 247, 246, 246, 246, 877, 246, 246, + 246, 247, 246, 246, 246, 247, 246, 246, 876, 474, + 875, 286, 874, 873, 296, 479, 286, 296, 476, 461, + + 246, 286, 246, 246, 246, 247, 246, 246, 872, 247, + 477, 871, 246, 247, 246, 246, 478, 247, 246, 870, + 246, 246, 869, 290, 868, 867, 866, 297, 482, 483, + 484, 482, 863, 247, 862, 861, 860, 247, 298, 299, + 300, 298, 859, 296, 291, 247, 296, 296, 858, 481, + 296, 247, 480, 300, 299, 300, 300, 332, 331, 332, + 332, 297, 857, 296, 296, 485, 296, 296, 856, 487, + 296, 301, 303, 296, 296, 486, 297, 296, 296, 296, + 297, 296, 296, 855, 296, 489, 301, 296, 854, 490, + 296, 296, 296, 296, 296, 296, 297, 297, 491, 492, + + 488, 296, 853, 297, 296, 493, 296, 297, 852, 296, + 296, 297, 297, 296, 851, 296, 850, 297, 296, 497, + 494, 495, 849, 297, 297, 297, 499, 296, 498, 296, + 296, 848, 296, 296, 297, 496, 296, 296, 296, 297, + 296, 296, 500, 297, 296, 847, 846, 296, 297, 505, + 296, 501, 502, 296, 296, 296, 504, 296, 296, 845, + 297, 296, 297, 503, 296, 740, 297, 508, 739, 506, + 297, 297, 844, 843, 507, 842, 510, 297, 509, 296, + 841, 296, 296, 297, 296, 840, 839, 297, 297, 330, + 331, 332, 330, 336, 297, 214, 336, 838, 511, 731, + + 214, 512, 332, 331, 332, 332, 336, 296, 214, 336, + 296, 730, 297, 214, 297, 837, 296, 296, 513, 296, + 296, 296, 297, 836, 296, 835, 337, 514, 483, 515, + 514, 834, 519, 296, 214, 296, 296, 833, 296, 337, + 297, 517, 516, 500, 593, 296, 832, 593, 296, 297, + 297, 831, 296, 518, 297, 296, 341, 830, 829, 720, + 337, 346, 347, 348, 346, 828, 297, 827, 297, 350, + 347, 350, 350, 392, 826, 520, 392, 342, 297, 380, + 381, 380, 380, 825, 350, 297, 350, 350, 392, 824, + 521, 392, 594, 823, 349, 380, 381, 380, 380, 822, + + 749, 398, 349, 398, 398, 746, 393, 557, 558, 559, + 557, 394, 395, 396, 394, 745, 744, 349, 743, 742, + 741, 393, 398, 395, 398, 398, 401, 400, 401, 401, + 399, 400, 401, 399, 397, 401, 400, 401, 401, 246, + 393, 246, 246, 740, 397, 591, 592, 591, 591, 599, + 600, 601, 599, 739, 738, 397, 602, 603, 604, 602, + 737, 611, 736, 393, 440, 441, 442, 440, 442, 441, + 442, 442, 247, 443, 444, 443, 443, 445, 281, 445, + 445, 246, 735, 246, 246, 246, 734, 246, 246, 733, + 732, 246, 605, 246, 246, 731, 730, 246, 438, 246, + + 246, 246, 729, 246, 246, 438, 247, 728, 246, 606, + 246, 246, 593, 236, 247, 593, 607, 727, 247, 246, + 609, 246, 246, 726, 247, 610, 608, 725, 724, 246, + 247, 246, 246, 246, 247, 246, 246, 723, 722, 721, + 613, 247, 612, 246, 720, 246, 246, 246, 614, 246, + 246, 246, 247, 246, 246, 719, 246, 718, 246, 246, + 594, 246, 247, 246, 246, 747, 247, 618, 747, 717, + 296, 615, 617, 296, 620, 616, 247, 716, 715, 714, + 247, 619, 713, 246, 247, 246, 246, 647, 747, 247, + 246, 747, 246, 246, 247, 246, 712, 246, 246, 246, + + 711, 246, 246, 297, 621, 246, 296, 246, 246, 296, + 623, 624, 246, 748, 246, 246, 247, 642, 622, 246, + 625, 246, 246, 247, 246, 626, 246, 246, 247, 551, + 710, 246, 247, 246, 246, 709, 748, 708, 247, 297, + 628, 627, 707, 706, 246, 247, 246, 246, 246, 705, + 246, 246, 247, 246, 702, 246, 246, 247, 246, 629, + 246, 246, 630, 632, 247, 246, 747, 246, 246, 747, + 633, 634, 631, 475, 444, 475, 475, 247, 701, 700, + 699, 247, 636, 592, 636, 636, 247, 637, 698, 246, + 637, 247, 246, 1037, 246, 246, 1037, 697, 247, 635, + + 246, 696, 246, 246, 695, 246, 286, 246, 246, 246, + 296, 246, 246, 296, 748, 247, 482, 483, 484, 482, + 247, 484, 483, 484, 484, 247, 476, 296, 296, 694, + 296, 296, 639, 247, 643, 638, 296, 296, 247, 296, + 296, 1038, 247, 297, 640, 296, 691, 690, 296, 297, + 641, 296, 644, 296, 296, 646, 296, 645, 689, 648, + 297, 297, 650, 296, 296, 688, 296, 296, 649, 297, + 297, 687, 296, 296, 296, 296, 296, 296, 297, 651, + 296, 652, 686, 296, 297, 655, 297, 653, 296, 296, + 685, 296, 296, 657, 684, 683, 297, 297, 654, 656, + + 659, 682, 681, 680, 660, 297, 297, 297, 296, 658, + 679, 296, 296, 297, 296, 296, 296, 296, 598, 296, + 661, 297, 297, 296, 597, 596, 296, 662, 431, 663, + 296, 296, 595, 296, 296, 296, 664, 296, 296, 665, + 296, 297, 590, 296, 589, 297, 296, 297, 588, 297, + 669, 587, 296, 586, 670, 296, 297, 674, 666, 668, + 674, 667, 583, 297, 297, 671, 296, 582, 297, 296, + 297, 514, 483, 515, 514, 581, 297, 672, 214, 515, + 483, 515, 515, 580, 579, 297, 673, 592, 591, 673, + 297, 296, 296, 296, 296, 296, 296, 578, 577, 297, + + 591, 592, 591, 591, 337, 675, 676, 557, 558, 559, + 557, 559, 558, 559, 559, 1037, 576, 516, 1037, 297, + 591, 592, 591, 591, 297, 297, 297, 599, 600, 601, + 599, 677, 575, 572, 678, 601, 600, 601, 601, 571, + 393, 602, 603, 604, 602, 604, 603, 604, 604, 246, + 1037, 246, 246, 1037, 246, 570, 246, 246, 246, 569, + 246, 246, 246, 1038, 246, 246, 750, 751, 246, 568, + 246, 246, 246, 567, 246, 246, 236, 566, 565, 564, + 753, 246, 247, 246, 246, 754, 563, 247, 752, 562, + 236, 247, 561, 560, 1078, 247, 756, 1078, 1038, 1078, + + 755, 247, 1078, 556, 296, 247, 246, 296, 246, 246, + 246, 555, 246, 246, 247, 246, 757, 246, 246, 246, + 554, 246, 246, 246, 553, 246, 246, 246, 806, 246, + 246, 552, 246, 759, 246, 246, 550, 297, 296, 247, + 760, 296, 1079, 247, 758, 547, 546, 1079, 247, 763, + 545, 761, 247, 762, 544, 246, 247, 246, 246, 296, + 247, 246, 296, 246, 246, 247, 246, 794, 246, 246, + 543, 297, 787, 246, 296, 246, 246, 296, 542, 541, + 764, 766, 765, 767, 540, 539, 538, 246, 247, 246, + 246, 786, 297, 246, 247, 246, 246, 768, 246, 247, + + 246, 246, 246, 537, 246, 246, 247, 297, 246, 536, + 246, 246, 246, 296, 246, 246, 296, 771, 535, 534, + 247, 769, 770, 772, 531, 530, 247, 246, 773, 246, + 246, 247, 529, 528, 796, 247, 246, 527, 246, 246, + 246, 247, 246, 246, 526, 247, 297, 775, 525, 246, + 776, 246, 246, 524, 523, 246, 774, 246, 246, 777, + 247, 246, 522, 246, 246, 246, 353, 246, 246, 247, + 242, 439, 438, 247, 636, 592, 636, 636, 236, 778, + 779, 637, 247, 246, 637, 232, 437, 246, 247, 246, + 246, 228, 223, 246, 247, 246, 246, 246, 247, 246, + + 246, 784, 436, 246, 784, 296, 435, 247, 296, 296, + 296, 780, 296, 296, 247, 434, 433, 432, 296, 296, + 247, 296, 296, 789, 296, 296, 247, 296, 296, 638, + 247, 222, 783, 792, 247, 781, 790, 791, 297, 782, + 788, 799, 297, 297, 296, 217, 216, 296, 795, 785, + 296, 297, 297, 296, 793, 430, 296, 297, 297, 296, + 296, 296, 427, 296, 296, 296, 426, 425, 296, 296, + 296, 296, 296, 296, 296, 424, 802, 297, 797, 803, + 804, 296, 798, 297, 296, 800, 801, 296, 1078, 297, + 296, 1078, 296, 297, 297, 296, 807, 296, 297, 805, + + 296, 423, 297, 297, 297, 296, 296, 808, 296, 296, + 422, 421, 420, 809, 297, 812, 810, 811, 296, 296, + 297, 296, 296, 296, 296, 297, 296, 296, 813, 419, + 297, 673, 592, 591, 673, 418, 1079, 814, 297, 297, + 674, 296, 296, 674, 296, 296, 296, 820, 815, 296, + 820, 297, 297, 417, 416, 415, 297, 297, 246, 414, + 246, 246, 411, 246, 297, 246, 246, 410, 409, 246, + 816, 246, 246, 297, 297, 297, 408, 819, 882, 297, + 297, 246, 407, 246, 246, 406, 881, 885, 675, 817, + 405, 247, 818, 404, 403, 821, 247, 246, 402, 246, + + 246, 246, 247, 246, 246, 179, 386, 884, 883, 385, + 246, 886, 246, 246, 247, 246, 382, 246, 246, 246, + 887, 246, 246, 246, 379, 246, 246, 374, 373, 888, + 247, 372, 361, 889, 247, 246, 357, 246, 246, 246, + 354, 246, 246, 247, 246, 890, 246, 246, 247, 891, + 353, 353, 247, 244, 892, 246, 247, 246, 246, 246, + 296, 246, 246, 296, 240, 237, 236, 246, 247, 246, + 246, 246, 247, 246, 246, 912, 246, 247, 246, 246, + 895, 232, 246, 893, 246, 246, 894, 246, 247, 246, + 246, 228, 247, 297, 223, 222, 896, 217, 897, 246, + + 247, 246, 246, 246, 247, 246, 246, 216, 246, 247, + 246, 246, 206, 900, 205, 247, 898, 200, 901, 296, + 247, 246, 296, 246, 246, 199, 198, 246, 899, 246, + 246, 246, 247, 246, 246, 187, 247, 903, 183, 180, + 179, 247, 246, 902, 246, 246, 246, 911, 246, 246, + 179, 178, 297, 246, 247, 246, 246, 1137, 1137, 1137, + 247, 904, 1137, 296, 247, 246, 296, 246, 246, 246, + 1137, 246, 246, 914, 246, 247, 246, 246, 246, 247, + 246, 246, 905, 1137, 1137, 1137, 247, 246, 906, 246, + 246, 784, 296, 246, 784, 296, 297, 246, 247, 246, + + 246, 1137, 247, 1137, 1137, 296, 1137, 247, 296, 907, + 1137, 247, 1137, 908, 296, 1137, 1137, 296, 1137, 913, + 247, 909, 1137, 915, 247, 297, 296, 1137, 1137, 296, + 247, 296, 296, 1137, 296, 296, 916, 1137, 297, 785, + 296, 917, 918, 296, 1137, 910, 296, 297, 296, 296, + 919, 296, 296, 1137, 296, 296, 920, 296, 921, 297, + 1137, 1137, 922, 296, 297, 297, 296, 1137, 1137, 1137, + 1137, 296, 296, 297, 296, 296, 1137, 296, 1137, 297, + 296, 297, 923, 296, 925, 297, 296, 297, 296, 296, + 924, 296, 296, 1137, 296, 1137, 297, 296, 296, 927, + + 926, 296, 1137, 296, 297, 297, 296, 1137, 930, 296, + 297, 296, 296, 931, 296, 1137, 297, 928, 929, 933, + 296, 297, 297, 296, 934, 296, 296, 297, 296, 296, + 1137, 297, 296, 932, 296, 296, 297, 296, 296, 1137, + 296, 296, 297, 296, 297, 296, 1137, 820, 296, 296, + 820, 1137, 296, 297, 1137, 935, 1137, 936, 297, 297, + 246, 296, 246, 246, 296, 297, 246, 297, 246, 246, + 979, 297, 937, 297, 296, 938, 980, 296, 297, 939, + 297, 246, 297, 246, 246, 246, 1137, 246, 246, 296, + 1137, 981, 296, 247, 297, 821, 1137, 940, 246, 247, + + 246, 246, 246, 1001, 246, 246, 246, 297, 246, 246, + 246, 1137, 246, 246, 247, 1137, 1137, 246, 247, 246, + 246, 246, 297, 246, 246, 1137, 246, 982, 246, 246, + 246, 247, 246, 246, 246, 247, 246, 246, 246, 247, + 246, 246, 1137, 247, 983, 246, 1137, 246, 246, 1137, + 247, 1137, 1137, 246, 247, 246, 246, 987, 984, 247, + 1137, 1137, 246, 247, 246, 246, 246, 247, 246, 246, + 246, 247, 246, 246, 985, 1137, 988, 1137, 247, 246, + 989, 246, 246, 1137, 1137, 1137, 247, 986, 246, 990, + 246, 246, 1137, 1137, 246, 247, 246, 246, 246, 247, + + 246, 246, 246, 247, 246, 246, 1137, 1137, 246, 991, + 246, 246, 247, 246, 1137, 246, 246, 246, 993, 246, + 246, 247, 1137, 246, 992, 246, 246, 247, 994, 1137, + 246, 247, 246, 246, 246, 247, 246, 246, 1137, 296, + 296, 247, 296, 296, 296, 296, 247, 296, 296, 998, + 247, 1137, 1137, 1137, 999, 1000, 247, 296, 296, 996, + 296, 296, 995, 247, 1137, 296, 296, 247, 296, 296, + 1137, 296, 297, 297, 296, 997, 296, 297, 297, 296, + 296, 296, 296, 296, 296, 296, 1002, 1137, 1137, 1137, + 297, 297, 296, 296, 1003, 296, 296, 296, 297, 297, + + 296, 1006, 1007, 1008, 297, 1005, 1137, 1009, 296, 297, + 1004, 296, 1137, 297, 297, 297, 296, 296, 296, 296, + 296, 296, 1137, 1137, 296, 297, 297, 296, 296, 1137, + 297, 296, 1010, 296, 296, 1137, 296, 296, 1012, 296, + 296, 297, 296, 296, 296, 1137, 1011, 296, 1013, 297, + 297, 297, 1137, 246, 1137, 246, 246, 297, 1137, 1137, + 246, 297, 246, 246, 1137, 1137, 297, 297, 246, 1137, + 246, 246, 297, 297, 1137, 1015, 1137, 297, 246, 1014, + 246, 246, 1137, 1137, 1137, 1016, 247, 246, 1040, 246, + 246, 1137, 246, 247, 246, 246, 246, 1137, 246, 246, + + 246, 247, 246, 246, 246, 1137, 246, 246, 1137, 1137, + 246, 247, 246, 246, 1137, 1042, 246, 1041, 246, 246, + 247, 246, 1043, 246, 246, 247, 1044, 1137, 246, 247, + 246, 246, 246, 247, 246, 246, 1137, 247, 1045, 246, + 1137, 246, 246, 247, 1137, 246, 1137, 246, 246, 247, + 246, 1137, 246, 246, 247, 1047, 1137, 1049, 1048, 246, + 1049, 247, 1137, 1137, 246, 247, 246, 246, 1046, 1137, + 296, 296, 247, 296, 296, 1137, 296, 296, 247, 296, + 296, 296, 296, 247, 296, 296, 1137, 1052, 1137, 296, + 247, 296, 296, 296, 296, 296, 296, 247, 296, 296, + + 1051, 1137, 296, 297, 297, 1050, 1137, 1053, 1054, 297, + 297, 1137, 1137, 1055, 297, 297, 296, 1056, 296, 296, + 296, 296, 297, 296, 297, 1137, 297, 1137, 297, 1137, + 1057, 296, 297, 296, 296, 1061, 296, 296, 1061, 296, + 296, 1137, 296, 1059, 1137, 1060, 1137, 1058, 1137, 297, + 1137, 297, 246, 297, 246, 246, 246, 1137, 246, 246, + 246, 1137, 246, 246, 297, 1137, 297, 1137, 297, 1137, + 297, 246, 297, 246, 246, 1063, 1137, 246, 1080, 246, + 246, 1082, 1081, 1062, 246, 247, 246, 246, 246, 247, + 246, 246, 1083, 247, 246, 1137, 246, 246, 1084, 246, + + 1137, 246, 246, 1049, 247, 246, 1049, 1137, 1137, 246, + 247, 246, 246, 1087, 1137, 246, 1087, 247, 1137, 296, + 1137, 247, 296, 296, 1137, 296, 296, 247, 296, 1137, + 296, 1137, 247, 296, 1085, 296, 247, 1137, 296, 1137, + 1091, 296, 247, 1137, 296, 1089, 247, 1090, 1137, 1137, + 1092, 1050, 297, 1137, 1137, 1137, 297, 1086, 297, 296, + 1137, 1088, 296, 297, 296, 1137, 1137, 296, 297, 1093, + 296, 1137, 1137, 296, 297, 1061, 296, 1096, 1061, 296, + 1096, 246, 1137, 246, 246, 246, 1137, 246, 246, 1137, + 1137, 1107, 297, 246, 1137, 246, 246, 297, 1137, 246, + + 1108, 246, 246, 297, 246, 1094, 246, 246, 297, 297, + 297, 1137, 1137, 246, 247, 246, 246, 246, 247, 246, + 246, 1137, 1137, 1062, 1095, 1097, 247, 1109, 1087, 1137, + 246, 1087, 247, 246, 1137, 246, 246, 247, 296, 296, + 1110, 296, 296, 1137, 296, 1137, 247, 296, 1112, 296, + 247, 1137, 296, 296, 1113, 296, 296, 296, 296, 1114, + 296, 247, 1096, 1137, 296, 1096, 247, 296, 1137, 1137, + 1137, 297, 297, 1137, 1137, 1137, 1088, 297, 1137, 1137, + 1137, 1111, 297, 1137, 1137, 1137, 297, 1137, 297, 296, + 297, 1115, 296, 1137, 1137, 297, 246, 297, 246, 246, + + 1137, 246, 1137, 246, 246, 246, 296, 246, 246, 296, + 1097, 1121, 1116, 246, 1137, 246, 246, 246, 296, 246, + 246, 296, 297, 296, 296, 1137, 296, 296, 1123, 247, + 246, 1137, 246, 246, 247, 1137, 1137, 1137, 247, 297, + 246, 296, 246, 246, 296, 296, 247, 1137, 296, 296, + 247, 297, 296, 1137, 1137, 1122, 297, 297, 246, 296, + 246, 246, 296, 247, 1137, 1124, 246, 296, 246, 246, + 296, 1137, 1137, 247, 297, 1137, 1135, 1136, 297, 1137, + 1137, 246, 297, 246, 246, 1127, 1137, 1132, 1137, 1137, + 1128, 247, 297, 1137, 1137, 1137, 1131, 1137, 1137, 247, + + 297, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 247, 52, 52, 52, 52, 52, + 52, 57, 57, 57, 57, 57, 57, 64, 64, 64, + 64, 64, 64, 69, 69, 69, 69, 69, 69, 171, + 171, 171, 171, 171, 171, 214, 214, 1137, 214, 214, + 214, 224, 224, 224, 224, 224, 224, 227, 1137, 1137, + 1137, 227, 227, 229, 229, 229, 229, 229, 229, 235, + 235, 1137, 1137, 235, 235, 241, 241, 241, 241, 241, + 241, 245, 245, 1137, 245, 245, 245, 284, 284, 1137, + 284, 284, 284, 295, 295, 1137, 1137, 1137, 295, 335, + + 335, 1137, 335, 335, 335, 391, 391, 1137, 1137, 1137, + 391, 17, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137 } ; -static yyconst flex_int16_t yy_chk[3712] = +static yyconst flex_int16_t yy_chk[3764] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1236,419 +1241,424 @@ static yyconst flex_int16_t yy_chk[3712] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 7, 7, 2, 2, 3, 3, 3, 3, - 1126, 2, 4, 4, 4, 4, 4, 5, 5, 6, + 63, 2, 4, 4, 4, 4, 4, 5, 5, 6, 6, 8, 8, 19, 2, 28, 19, 4, 15, 15, - 15, 15, 28, 30, 39, 15, 35, 49, 34, 33, - 30, 2, 1106, 2, 32, 2, 39, 32, 2, 2, + 15, 15, 28, 30, 39, 15, 35, 30, 34, 63, + 33, 2, 1153, 2, 30, 2, 39, 32, 2, 2, - 33, 32, 34, 35, 32, 40, 4, 50, 49, 50, - 5, 15, 6, 40, 170, 5, 170, 6, 9, 9, + 32, 33, 34, 35, 32, 40, 4, 32, 69, 69, + 5, 15, 6, 40, 50, 5, 50, 6, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, - 46, 63, 10, 10, 16, 16, 16, 16, 67, 10, - 156, 16, 1103, 67, 46, 55, 55, 55, 60, 60, - 60, 60, 10, 69, 69, 149, 151, 156, 153, 154, + 46, 154, 10, 10, 16, 16, 16, 16, 49, 10, + 1133, 16, 154, 155, 46, 55, 55, 55, 60, 60, + 60, 60, 10, 67, 149, 156, 166, 155, 67, 49, - 63, 153, 149, 151, 161, 153, 1102, 16, 153, 10, - 154, 10, 161, 10, 214, 214, 10, 10, 11, 11, + 1130, 149, 160, 170, 151, 170, 1129, 16, 151, 10, + 166, 10, 156, 10, 160, 151, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, - 169, 155, 12, 12, 72, 107, 72, 72, 107, 12, - 166, 73, 73, 73, 73, 155, 160, 163, 163, 163, - 163, 169, 12, 177, 166, 1099, 177, 204, 160, 1098, + 169, 190, 12, 12, 72, 107, 72, 72, 107, 12, + 161, 73, 73, 73, 73, 190, 153, 177, 161, 153, + 177, 169, 12, 153, 215, 215, 153, 163, 163, 163, - 204, 189, 211, 375, 211, 237, 375, 72, 107, 12, - 237, 12, 1093, 12, 73, 189, 12, 12, 13, 13, + 163, 205, 1126, 212, 205, 212, 1125, 72, 107, 12, + 238, 12, 1120, 12, 73, 238, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, - 240, 240, 14, 14, 75, 75, 75, 75, 1091, 14, - 218, 76, 111, 76, 76, 111, 77, 115, 77, 77, - 115, 78, 14, 78, 78, 77, 79, 1090, 79, 79, - - 80, 218, 80, 80, 1078, 79, 233, 75, 1076, 14, - 1074, 14, 1073, 14, 76, 111, 14, 14, 43, 77, - 115, 43, 43, 81, 78, 81, 81, 1072, 43, 79, - 225, 225, 225, 80, 82, 233, 82, 82, 83, 81, - 83, 83, 380, 380, 117, 1071, 84, 117, 84, 84, - 1052, 1049, 82, 83, 116, 384, 81, 116, 43, 82, - 43, 85, 117, 85, 85, 43, 43, 82, 84, 117, - 116, 83, 230, 230, 230, 84, 384, 117, 420, 84, - 87, 420, 87, 87, 1047, 537, 1045, 116, 537, 89, - 85, 89, 89, 1044, 85, 86, 87, 86, 86, 88, - - 89, 88, 88, 90, 715, 90, 90, 87, 1042, 427, - 88, 86, 427, 87, 86, 360, 1041, 89, 86, 1040, - 715, 86, 89, 91, 88, 91, 91, 820, 86, 360, - 90, 92, 88, 92, 92, 93, 90, 93, 93, 94, - 410, 94, 94, 820, 95, 91, 95, 95, 527, 97, - 94, 97, 97, 93, 410, 846, 91, 427, 94, 95, - 92, 1039, 527, 135, 92, 93, 135, 99, 93, 99, - 99, 846, 94, 96, 96, 96, 96, 95, 98, 98, - 98, 98, 97, 1038, 100, 97, 100, 100, 101, 926, - 101, 101, 102, 1037, 102, 102, 135, 1013, 1011, 101, - - 99, 103, 1009, 103, 103, 926, 96, 104, 1007, 104, - 104, 98, 105, 101, 105, 105, 106, 100, 106, 106, - 544, 101, 1006, 544, 1005, 102, 108, 108, 108, 108, - 104, 1004, 112, 114, 103, 112, 114, 1003, 102, 1001, - 104, 112, 114, 1000, 103, 105, 105, 118, 105, 106, - 118, 104, 110, 110, 110, 110, 999, 119, 120, 108, - 119, 120, 118, 998, 106, 112, 114, 122, 544, 997, - 122, 126, 996, 121, 126, 995, 121, 994, 957, 119, - 118, 125, 956, 122, 125, 110, 119, 120, 954, 121, - 119, 120, 121, 126, 122, 953, 121, 951, 123, 121, - - 122, 123, 124, 950, 126, 124, 121, 127, 125, 123, - 127, 946, 945, 124, 125, 128, 944, 130, 128, 132, - 130, 137, 132, 123, 137, 131, 131, 131, 131, 943, - 124, 123, 130, 128, 938, 124, 127, 937, 129, 138, - 127, 129, 138, 936, 134, 128, 134, 134, 128, 129, - 130, 134, 132, 136, 137, 132, 136, 129, 131, 133, - 133, 133, 133, 140, 136, 139, 140, 137, 139, 935, - 141, 129, 138, 141, 934, 933, 932, 134, 136, 931, - 930, 929, 138, 928, 927, 925, 136, 171, 139, 924, - 171, 584, 133, 923, 584, 922, 140, 140, 139, 140, - - 863, 861, 860, 141, 142, 142, 142, 142, 859, 139, - 144, 144, 144, 144, 165, 165, 165, 165, 141, 858, - 171, 172, 172, 172, 172, 174, 174, 174, 174, 176, - 176, 176, 176, 239, 239, 239, 239, 142, 244, 584, - 244, 244, 245, 144, 245, 245, 857, 165, 246, 246, - 246, 246, 856, 854, 172, 851, 850, 588, 174, 849, - 588, 848, 176, 247, 247, 247, 247, 249, 249, 249, - 249, 244, 847, 845, 836, 245, 250, 250, 250, 250, - 835, 246, 239, 252, 834, 252, 252, 253, 833, 253, - 253, 254, 252, 254, 254, 255, 247, 255, 255, 832, - - 249, 256, 254, 256, 256, 588, 831, 830, 257, 253, - 257, 257, 258, 829, 258, 258, 252, 255, 828, 257, - 253, 827, 826, 259, 254, 259, 259, 256, 255, 293, - 825, 258, 293, 260, 256, 260, 260, 824, 259, 823, - 261, 257, 261, 261, 822, 258, 821, 262, 260, 262, - 262, 263, 819, 263, 263, 818, 259, 264, 262, 264, - 264, 265, 293, 265, 265, 266, 260, 266, 266, 261, - 817, 816, 262, 261, 268, 815, 268, 268, 263, 264, - 262, 814, 813, 812, 263, 267, 265, 267, 267, 811, - 264, 810, 266, 269, 265, 269, 269, 268, 266, 809, - - 270, 808, 270, 270, 807, 294, 736, 268, 294, 267, - 271, 735, 271, 271, 273, 733, 273, 273, 267, 270, - 732, 271, 272, 269, 272, 272, 269, 274, 730, 274, - 274, 729, 275, 270, 275, 275, 728, 725, 294, 274, - 724, 272, 723, 271, 273, 722, 721, 273, 276, 275, - 276, 276, 720, 719, 277, 272, 277, 277, 716, 714, - 274, 278, 278, 278, 278, 275, 280, 713, 280, 280, - 276, 712, 282, 277, 282, 282, 277, 283, 711, 283, - 283, 276, 284, 284, 284, 284, 285, 277, 285, 285, - 286, 710, 286, 286, 278, 287, 709, 287, 287, 280, - - 708, 706, 705, 280, 302, 282, 288, 302, 288, 288, - 283, 303, 285, 285, 303, 284, 704, 288, 289, 285, - 289, 289, 303, 286, 286, 703, 302, 290, 287, 290, - 290, 287, 291, 702, 291, 291, 701, 302, 699, 288, - 292, 289, 292, 292, 303, 295, 295, 295, 295, 698, - 697, 289, 296, 296, 296, 296, 298, 298, 298, 298, - 290, 304, 289, 301, 304, 291, 301, 290, 299, 299, - 299, 299, 301, 292, 696, 695, 305, 291, 295, 305, - 694, 306, 693, 304, 306, 296, 692, 307, 308, 298, - 307, 308, 306, 691, 304, 309, 301, 310, 309, 690, - - 310, 689, 305, 308, 311, 312, 307, 311, 312, 305, - 309, 688, 687, 313, 306, 311, 313, 686, 685, 314, - 307, 308, 314, 684, 315, 683, 310, 315, 309, 311, - 310, 316, 312, 317, 316, 313, 317, 311, 312, 318, - 319, 682, 318, 319, 314, 322, 313, 320, 322, 681, - 320, 315, 314, 680, 679, 316, 317, 315, 320, 319, - 321, 678, 323, 321, 316, 323, 317, 324, 325, 318, - 324, 325, 318, 319, 323, 322, 677, 676, 322, 321, - 320, 675, 330, 326, 324, 330, 326, 674, 673, 341, - 325, 337, 341, 321, 337, 323, 327, 327, 327, 327, - - 324, 325, 326, 672, 671, 326, 329, 329, 329, 329, - 332, 336, 332, 332, 336, 330, 326, 332, 333, 330, - 333, 333, 341, 335, 337, 333, 335, 337, 670, 327, - 334, 334, 334, 334, 341, 338, 339, 334, 338, 339, - 669, 668, 589, 332, 336, 336, 338, 587, 586, 335, - 335, 333, 340, 585, 342, 340, 335, 342, 347, 339, - 347, 347, 581, 334, 343, 343, 343, 343, 338, 339, - 345, 345, 345, 345, 346, 346, 346, 346, 580, 579, - 339, 376, 376, 376, 376, 340, 387, 342, 578, 387, - 388, 347, 340, 388, 577, 576, 575, 343, 389, 389, - - 389, 389, 574, 345, 390, 390, 390, 390, 392, 392, - 392, 392, 393, 393, 393, 393, 573, 572, 394, 387, - 394, 394, 571, 388, 395, 395, 395, 395, 570, 569, - 568, 389, 397, 397, 397, 397, 700, 390, 567, 700, - 566, 392, 426, 426, 426, 426, 433, 433, 433, 433, - 565, 394, 434, 434, 434, 434, 564, 395, 435, 435, - 435, 435, 437, 437, 437, 437, 438, 438, 438, 438, - 440, 440, 440, 440, 563, 441, 562, 441, 441, 442, - 561, 442, 442, 560, 700, 443, 441, 443, 443, 559, - 444, 558, 444, 444, 445, 433, 445, 445, 557, 438, - - 556, 434, 446, 442, 446, 446, 479, 435, 441, 479, - 443, 445, 442, 447, 555, 447, 447, 479, 443, 444, - 554, 553, 734, 444, 446, 734, 448, 445, 448, 448, - 449, 552, 449, 449, 548, 446, 447, 448, 450, 479, - 450, 450, 547, 546, 545, 449, 447, 542, 451, 541, - 451, 451, 452, 955, 452, 452, 955, 540, 453, 448, - 453, 453, 454, 449, 454, 454, 450, 539, 538, 453, - 734, 450, 451, 536, 535, 454, 455, 452, 455, 455, - 534, 451, 533, 453, 456, 452, 456, 456, 532, 531, - 457, 453, 457, 457, 530, 454, 458, 455, 458, 458, - - 459, 955, 459, 459, 461, 457, 461, 461, 458, 455, - 529, 460, 456, 460, 460, 459, 462, 456, 462, 462, - 528, 526, 525, 457, 460, 463, 461, 463, 463, 458, - 524, 523, 462, 459, 522, 521, 464, 461, 464, 464, - 465, 520, 465, 465, 460, 466, 519, 466, 466, 462, - 518, 483, 517, 463, 483, 465, 463, 467, 463, 467, - 467, 516, 466, 468, 464, 468, 468, 515, 483, 464, - 467, 432, 431, 465, 469, 469, 469, 469, 466, 470, - 470, 470, 470, 471, 483, 471, 471, 430, 429, 472, - 467, 472, 472, 428, 425, 511, 468, 468, 511, 473, - - 424, 473, 473, 474, 423, 474, 474, 469, 475, 422, - 475, 475, 470, 421, 419, 418, 471, 476, 476, 476, - 476, 480, 472, 481, 480, 473, 481, 417, 511, 472, - 482, 471, 473, 482, 416, 511, 474, 478, 478, 478, - 478, 475, 474, 484, 485, 480, 484, 485, 481, 475, - 476, 415, 414, 413, 480, 486, 481, 487, 486, 482, - 487, 488, 412, 482, 488, 484, 486, 485, 489, 411, - 490, 489, 487, 490, 409, 491, 484, 485, 491, 494, - 492, 493, 494, 492, 493, 408, 491, 407, 486, 488, - 487, 406, 489, 492, 488, 490, 495, 405, 404, 495, - - 491, 489, 493, 490, 403, 402, 496, 494, 491, 496, - 401, 495, 494, 492, 493, 400, 497, 498, 496, 497, - 498, 499, 500, 502, 499, 500, 502, 399, 398, 495, - 498, 497, 501, 503, 505, 501, 503, 505, 500, 496, - 386, 504, 506, 499, 504, 506, 385, 505, 503, 497, - 498, 502, 383, 382, 499, 500, 502, 381, 504, 510, - 501, 512, 510, 501, 512, 501, 503, 505, 378, 374, - 507, 507, 507, 507, 504, 506, 506, 507, 508, 508, - 508, 508, 509, 509, 509, 509, 513, 512, 514, 513, - 373, 514, 510, 372, 512, 543, 543, 543, 543, 549, - - 549, 549, 549, 507, 371, 370, 369, 510, 551, 551, - 551, 551, 368, 367, 366, 509, 365, 364, 363, 513, - 602, 514, 602, 602, 362, 513, 361, 359, 358, 514, - 602, 357, 549, 582, 582, 582, 582, 590, 590, 590, - 590, 592, 592, 592, 592, 593, 593, 593, 593, 595, - 595, 595, 595, 602, 596, 1002, 596, 596, 1002, 597, - 356, 597, 597, 598, 355, 598, 598, 599, 354, 599, - 599, 596, 597, 600, 353, 600, 600, 352, 634, 351, - 601, 634, 601, 601, 350, 599, 590, 596, 603, 242, - 603, 603, 597, 598, 593, 601, 598, 238, 235, 234, - - 599, 600, 604, 1002, 604, 604, 600, 605, 634, 605, - 605, 634, 607, 601, 607, 607, 606, 603, 606, 606, - 608, 603, 608, 608, 232, 604, 231, 609, 605, 609, - 609, 611, 229, 611, 611, 604, 224, 608, 607, 614, - 605, 614, 614, 220, 606, 607, 611, 219, 610, 606, - 610, 610, 609, 608, 217, 612, 216, 612, 612, 615, - 609, 615, 615, 215, 611, 612, 212, 614, 613, 610, - 613, 613, 614, 210, 616, 209, 616, 616, 613, 205, - 203, 610, 617, 615, 617, 617, 202, 201, 612, 616, - 200, 199, 615, 618, 198, 618, 618, 617, 197, 196, - - 619, 613, 619, 619, 195, 194, 193, 616, 620, 618, - 620, 620, 192, 191, 621, 617, 621, 621, 622, 620, - 622, 622, 190, 188, 621, 187, 618, 186, 622, 619, - 185, 184, 623, 619, 623, 623, 624, 183, 624, 624, - 625, 620, 625, 625, 182, 181, 627, 621, 627, 627, - 623, 622, 626, 626, 626, 626, 628, 180, 628, 628, - 629, 624, 629, 629, 630, 623, 630, 630, 631, 624, - 631, 631, 179, 625, 632, 633, 168, 632, 633, 627, - 635, 636, 167, 635, 636, 626, 625, 637, 633, 628, - 637, 632, 639, 629, 627, 639, 164, 630, 635, 630, - - 638, 631, 637, 638, 628, 162, 629, 632, 633, 636, - 638, 159, 640, 635, 636, 640, 631, 158, 157, 641, - 637, 639, 641, 642, 643, 639, 642, 643, 645, 644, - 152, 645, 644, 638, 646, 640, 150, 646, 648, 647, - 641, 648, 647, 148, 651, 640, 644, 651, 648, 146, - 643, 642, 641, 645, 647, 646, 642, 643, 145, 71, - 649, 645, 644, 649, 68, 66, 650, 646, 651, 650, - 649, 648, 647, 652, 64, 653, 652, 651, 653, 654, - 655, 656, 654, 655, 656, 62, 657, 59, 652, 657, - 653, 54, 656, 649, 650, 654, 657, 658, 659, 650, - - 658, 659, 660, 51, 48, 660, 652, 658, 653, 655, - 47, 42, 654, 655, 656, 661, 659, 41, 661, 657, - 662, 662, 662, 662, 38, 663, 664, 660, 663, 664, - 658, 659, 37, 665, 666, 660, 665, 666, 667, 36, - 31, 667, 737, 778, 737, 737, 778, 738, 661, 738, - 738, 29, 27, 662, 739, 25, 739, 739, 663, 664, - 23, 661, 738, 21, 17, 0, 665, 666, 0, 666, - 737, 667, 0, 663, 664, 737, 778, 0, 0, 665, - 738, 739, 740, 0, 740, 740, 667, 739, 741, 0, - 741, 741, 740, 742, 0, 742, 742, 743, 741, 743, - - 743, 0, 744, 742, 744, 744, 745, 0, 745, 745, - 0, 750, 744, 750, 750, 740, 745, 746, 0, 746, - 746, 741, 747, 0, 747, 747, 742, 746, 0, 0, - 743, 748, 747, 748, 748, 744, 0, 0, 750, 745, - 749, 748, 749, 749, 750, 751, 0, 751, 751, 752, - 746, 752, 752, 0, 753, 747, 753, 753, 751, 754, - 773, 754, 754, 773, 748, 0, 0, 755, 749, 755, - 755, 0, 0, 749, 751, 773, 752, 756, 751, 756, - 756, 757, 752, 757, 757, 0, 759, 753, 759, 759, - 0, 757, 754, 773, 0, 758, 755, 758, 758, 760, - - 755, 760, 760, 0, 0, 758, 756, 0, 759, 760, - 756, 0, 0, 761, 757, 761, 761, 0, 762, 759, - 762, 762, 763, 0, 763, 763, 0, 764, 758, 764, - 764, 765, 760, 765, 765, 766, 0, 766, 766, 767, - 0, 767, 767, 761, 0, 768, 761, 768, 768, 0, - 769, 762, 769, 769, 765, 763, 764, 0, 0, 770, - 764, 770, 770, 771, 765, 771, 771, 772, 766, 0, - 772, 774, 767, 0, 774, 766, 775, 0, 768, 775, - 768, 0, 0, 769, 769, 1012, 775, 776, 1012, 0, - 776, 777, 770, 0, 777, 772, 771, 776, 774, 0, - - 772, 777, 779, 780, 774, 779, 780, 770, 0, 775, - 0, 771, 779, 780, 784, 781, 782, 784, 781, 782, - 776, 0, 0, 0, 777, 781, 782, 783, 785, 787, - 783, 785, 787, 1012, 0, 779, 780, 783, 786, 0, - 788, 786, 784, 788, 0, 0, 0, 784, 781, 782, - 789, 786, 0, 789, 792, 785, 787, 792, 0, 0, - 783, 785, 787, 790, 792, 791, 790, 786, 791, 793, - 0, 786, 793, 788, 795, 794, 0, 795, 794, 793, - 0, 0, 796, 789, 795, 796, 797, 792, 798, 797, - 800, 798, 790, 800, 791, 0, 790, 794, 791, 0, - - 799, 801, 793, 799, 801, 0, 802, 795, 794, 802, - 0, 803, 796, 800, 803, 796, 0, 804, 0, 797, - 804, 798, 805, 800, 806, 805, 0, 806, 864, 799, - 864, 864, 1014, 799, 801, 1014, 0, 0, 864, 802, - 867, 801, 867, 867, 803, 868, 803, 868, 868, 1043, - 804, 804, 1043, 0, 0, 805, 865, 806, 865, 865, - 869, 864, 869, 869, 0, 866, 865, 866, 866, 0, - 805, 0, 806, 867, 870, 866, 870, 870, 868, 871, - 1014, 871, 871, 872, 0, 872, 872, 0, 873, 865, - 873, 873, 874, 869, 874, 874, 0, 1043, 866, 875, - - 0, 875, 875, 877, 0, 877, 877, 870, 0, 875, - 0, 876, 871, 876, 876, 878, 872, 878, 878, 0, - 879, 873, 879, 879, 876, 874, 0, 0, 877, 0, - 879, 0, 875, 0, 878, 880, 877, 880, 880, 881, - 876, 881, 881, 1051, 876, 880, 1051, 0, 878, 881, - 0, 0, 882, 879, 882, 882, 883, 0, 883, 883, - 884, 0, 884, 884, 885, 0, 885, 885, 880, 0, - 896, 0, 881, 896, 886, 884, 886, 886, 887, 0, - 887, 887, 0, 0, 888, 882, 888, 888, 887, 883, - 0, 1051, 889, 884, 889, 889, 886, 885, 890, 888, - - 890, 890, 891, 896, 891, 891, 892, 886, 892, 892, - 893, 887, 894, 893, 0, 894, 895, 888, 897, 895, - 893, 897, 894, 0, 898, 889, 895, 898, 0, 899, - 900, 890, 899, 900, 890, 891, 0, 889, 901, 892, - 0, 901, 0, 893, 0, 894, 0, 891, 0, 895, - 902, 897, 903, 902, 0, 903, 904, 898, 0, 904, - 0, 905, 899, 900, 905, 907, 904, 906, 907, 908, - 906, 901, 908, 911, 905, 0, 911, 909, 910, 908, - 909, 910, 0, 902, 907, 903, 0, 909, 910, 904, - 905, 0, 906, 912, 905, 0, 912, 0, 907, 0, - - 906, 913, 908, 0, 913, 914, 911, 0, 914, 915, - 909, 910, 915, 0, 916, 917, 913, 916, 917, 918, - 919, 0, 918, 919, 916, 920, 912, 0, 920, 921, - 917, 915, 921, 958, 913, 958, 958, 0, 914, 0, - 0, 959, 915, 959, 959, 0, 0, 916, 917, 0, - 0, 0, 918, 919, 0, 0, 919, 960, 920, 960, - 960, 0, 921, 0, 918, 961, 958, 961, 961, 962, - 920, 962, 962, 963, 959, 963, 963, 964, 0, 964, - 964, 965, 0, 965, 965, 966, 0, 966, 966, 0, - 960, 0, 963, 967, 962, 967, 967, 976, 961, 964, - - 976, 977, 962, 965, 977, 968, 963, 968, 968, 969, - 964, 969, 969, 971, 965, 971, 971, 0, 966, 969, - 970, 978, 970, 970, 978, 972, 967, 972, 972, 973, - 976, 973, 973, 979, 977, 972, 979, 973, 968, 0, - 0, 974, 969, 974, 974, 975, 971, 975, 975, 970, - 0, 0, 980, 970, 978, 980, 0, 981, 972, 0, - 981, 982, 973, 0, 982, 983, 979, 984, 983, 985, - 984, 0, 985, 0, 974, 0, 981, 980, 975, 986, - 0, 975, 986, 982, 0, 980, 0, 983, 988, 974, - 981, 988, 989, 987, 982, 989, 987, 0, 983, 0, - - 984, 990, 985, 987, 990, 991, 992, 993, 991, 992, - 993, 990, 986, 991, 0, 0, 0, 988, 0, 0, - 1015, 988, 1015, 1015, 0, 989, 987, 1016, 1026, 1016, - 1016, 1026, 0, 1019, 990, 1019, 1019, 0, 991, 992, - 993, 1027, 1015, 993, 1027, 1017, 0, 1017, 1017, 1016, - 1026, 0, 0, 1015, 992, 1017, 1018, 0, 1018, 1018, - 1016, 1026, 1020, 1027, 1020, 1020, 1019, 1021, 0, 1021, - 1021, 1018, 1020, 1022, 1027, 1022, 1022, 1023, 1017, 1023, - 1023, 1024, 0, 1024, 1024, 1025, 0, 1025, 1025, 1018, - 1029, 1028, 0, 1029, 1028, 1020, 0, 0, 0, 1030, - - 1021, 1028, 1030, 0, 1032, 1029, 1022, 1032, 1022, 1031, - 1023, 0, 1031, 1033, 1024, 0, 1033, 1034, 1025, 1031, - 1034, 0, 0, 1029, 1028, 1023, 0, 1035, 1036, 1024, - 1035, 1036, 1030, 1025, 0, 0, 1055, 1032, 1055, 1055, - 0, 1053, 1031, 1053, 1053, 0, 1033, 0, 1033, 0, - 1034, 1053, 1054, 0, 1054, 1054, 1056, 0, 1056, 1056, - 1035, 1036, 0, 0, 0, 1034, 1056, 1054, 1057, 1055, - 1057, 1057, 0, 0, 1053, 1035, 1036, 1058, 0, 1058, - 1058, 1059, 0, 1059, 1059, 1054, 0, 0, 1060, 1056, - 1060, 1060, 1061, 1062, 1061, 1061, 1062, 1063, 0, 1064, - - 1063, 1057, 1064, 1062, 1066, 1065, 1067, 1066, 1065, 1067, - 1058, 0, 1063, 1058, 1059, 1065, 1068, 1069, 0, 1068, - 1069, 1060, 0, 0, 1070, 1061, 1062, 1070, 0, 0, - 1063, 1080, 1064, 1080, 1080, 0, 1060, 1066, 1065, 1067, - 1061, 1081, 1067, 1081, 1081, 1082, 0, 1082, 1082, 1068, - 1069, 1081, 1083, 0, 1083, 1083, 1084, 1070, 1084, 1084, - 1085, 0, 0, 1085, 1080, 1069, 1086, 1087, 1088, 1086, - 1087, 1088, 1070, 0, 1081, 0, 1086, 0, 1082, 1089, - 0, 1094, 1089, 1094, 1094, 1083, 0, 0, 1095, 1084, - 1095, 1095, 1096, 1085, 1083, 1096, 0, 0, 0, 1086, - - 1087, 1088, 1097, 0, 1100, 1097, 1100, 1100, 1101, 0, - 1088, 1101, 1089, 0, 1094, 0, 1104, 1105, 1104, 1104, - 1105, 1095, 0, 0, 0, 1096, 1104, 1105, 1108, 1109, - 1108, 1108, 1109, 1095, 0, 1097, 0, 1100, 0, 0, - 0, 1101, 1100, 0, 0, 0, 1101, 1097, 0, 1104, - 1105, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1108, 1109, 1111, 1111, 1111, 1111, 1111, 1111, 1112, - 1112, 1112, 1112, 1112, 1112, 1113, 1113, 1113, 1113, 1113, - 1113, 1114, 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1115, - 1115, 1115, 1115, 1116, 1116, 0, 1116, 1116, 1116, 1117, - - 1117, 1117, 1117, 1117, 1117, 1118, 0, 0, 0, 1118, - 1118, 1119, 1119, 1119, 1119, 1119, 1119, 1120, 1120, 0, - 0, 1120, 1120, 1121, 1121, 1121, 1121, 1121, 1121, 1122, - 1122, 0, 1122, 1122, 1122, 1123, 1123, 0, 1123, 1123, - 1123, 1124, 1124, 0, 0, 0, 1124, 1125, 1125, 0, - 1125, 1125, 1125, 1127, 1127, 0, 0, 0, 1127, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110 + 241, 241, 14, 14, 75, 75, 75, 75, 1118, 14, + 219, 76, 111, 76, 76, 111, 77, 115, 77, 77, + 115, 78, 14, 78, 78, 77, 79, 1117, 79, 79, + + 80, 219, 80, 80, 1105, 79, 234, 75, 1103, 14, + 1101, 14, 1100, 14, 76, 111, 14, 14, 43, 77, + 115, 43, 43, 81, 78, 81, 81, 1099, 43, 79, + 226, 226, 226, 80, 82, 234, 82, 82, 83, 81, + 83, 83, 379, 364, 117, 379, 84, 117, 84, 84, + 384, 384, 82, 83, 1098, 388, 81, 364, 43, 82, + 43, 1079, 117, 1076, 84, 43, 43, 82, 84, 117, + 85, 83, 85, 85, 415, 84, 388, 117, 87, 84, + 87, 87, 116, 535, 88, 116, 88, 88, 415, 90, + 425, 90, 90, 425, 87, 88, 1074, 535, 116, 85, + + 231, 231, 231, 85, 86, 87, 86, 86, 728, 88, + 89, 87, 89, 89, 1072, 116, 90, 88, 1071, 1069, + 86, 89, 90, 86, 728, 1068, 91, 86, 91, 91, + 86, 92, 545, 92, 92, 545, 1067, 86, 89, 93, + 836, 93, 93, 89, 94, 863, 94, 94, 91, 1066, + 95, 432, 95, 95, 432, 94, 836, 93, 1065, 91, + 92, 863, 1064, 94, 92, 95, 1038, 1036, 97, 93, + 97, 97, 93, 96, 96, 96, 96, 94, 98, 98, + 98, 98, 99, 95, 99, 99, 100, 946, 100, 100, + 1034, 101, 1032, 101, 101, 102, 1031, 102, 102, 432, + + 1030, 97, 101, 946, 97, 103, 96, 103, 103, 1029, + 104, 98, 104, 104, 1027, 99, 101, 1025, 106, 100, + 106, 106, 1024, 105, 101, 105, 105, 1023, 102, 108, + 108, 108, 108, 104, 110, 110, 110, 110, 103, 1022, + 1021, 102, 119, 104, 112, 119, 114, 112, 103, 114, + 1020, 106, 1019, 112, 104, 114, 105, 105, 118, 105, + 119, 118, 108, 1018, 119, 120, 106, 110, 120, 121, + 1017, 119, 121, 118, 978, 119, 977, 112, 123, 114, + 122, 123, 975, 122, 126, 121, 974, 126, 121, 123, + 124, 118, 121, 124, 120, 121, 122, 125, 120, 972, + + 125, 124, 121, 123, 971, 127, 126, 122, 127, 128, + 967, 123, 128, 122, 966, 965, 130, 126, 124, 130, + 964, 962, 129, 124, 125, 129, 132, 128, 958, 132, + 125, 130, 135, 129, 127, 135, 957, 138, 127, 128, + 138, 129, 128, 131, 131, 131, 131, 956, 955, 130, + 133, 133, 133, 133, 134, 129, 134, 134, 954, 132, + 136, 134, 132, 136, 137, 135, 953, 137, 952, 139, + 138, 136, 139, 951, 141, 140, 131, 141, 140, 171, + 138, 950, 171, 133, 949, 136, 948, 134, 142, 142, + 142, 142, 139, 136, 947, 945, 944, 137, 144, 144, + + 144, 144, 139, 165, 165, 165, 165, 141, 140, 140, + 137, 140, 171, 139, 172, 172, 172, 172, 943, 942, + 941, 142, 141, 174, 174, 174, 174, 176, 176, 176, + 176, 144, 240, 240, 240, 240, 165, 245, 880, 245, + 245, 246, 878, 246, 246, 877, 876, 172, 875, 247, + 247, 247, 247, 874, 873, 263, 174, 263, 263, 871, + 176, 248, 248, 248, 248, 250, 250, 250, 250, 254, + 245, 254, 254, 868, 246, 251, 251, 251, 251, 867, + 866, 240, 247, 253, 263, 253, 253, 256, 263, 256, + 256, 254, 253, 255, 248, 255, 255, 257, 250, 257, + + 257, 865, 254, 258, 255, 258, 258, 864, 259, 256, + 259, 259, 260, 862, 260, 260, 253, 854, 258, 259, + 256, 852, 261, 257, 261, 261, 255, 851, 850, 849, + 257, 260, 262, 848, 262, 262, 258, 261, 847, 846, + 265, 259, 265, 265, 845, 260, 264, 262, 264, 264, + 266, 844, 266, 266, 843, 261, 267, 264, 267, 267, + 268, 842, 268, 268, 841, 262, 269, 265, 269, 269, + 840, 264, 266, 265, 270, 295, 270, 270, 295, 264, + 839, 267, 271, 266, 271, 271, 838, 268, 837, 267, + 269, 835, 272, 268, 272, 272, 834, 270, 273, 269, + + 273, 273, 274, 833, 274, 274, 832, 270, 295, 273, + 831, 272, 271, 830, 275, 271, 275, 275, 829, 828, + 276, 274, 276, 276, 277, 272, 277, 277, 827, 826, + 825, 273, 276, 824, 278, 274, 278, 278, 823, 822, + 279, 277, 279, 279, 275, 749, 748, 275, 280, 280, + 280, 280, 282, 276, 282, 282, 278, 277, 284, 279, + 284, 284, 279, 285, 746, 285, 285, 278, 286, 286, + 286, 286, 287, 279, 287, 287, 288, 745, 288, 288, + 289, 280, 289, 289, 290, 282, 290, 290, 743, 282, + 742, 284, 741, 738, 296, 290, 285, 296, 287, 287, + + 291, 286, 291, 291, 293, 287, 293, 293, 737, 288, + 288, 736, 292, 289, 292, 292, 289, 290, 294, 735, + 294, 294, 734, 291, 733, 732, 729, 296, 297, 297, + 297, 297, 727, 291, 726, 725, 724, 293, 298, 298, + 298, 298, 723, 304, 291, 292, 304, 306, 722, 293, + 306, 294, 292, 300, 300, 300, 300, 301, 301, 301, + 301, 297, 721, 303, 305, 304, 303, 305, 719, 306, + 308, 298, 303, 308, 307, 305, 304, 307, 309, 310, + 306, 309, 310, 718, 311, 308, 300, 311, 717, 309, + 312, 313, 315, 312, 313, 315, 303, 305, 310, 311, + + 307, 317, 716, 308, 317, 312, 316, 307, 715, 316, + 314, 309, 310, 314, 714, 318, 713, 311, 318, 315, + 313, 314, 711, 312, 313, 315, 317, 319, 316, 320, + 319, 710, 320, 321, 317, 314, 321, 322, 323, 316, + 322, 323, 318, 314, 325, 709, 708, 325, 318, 323, + 324, 319, 320, 324, 328, 326, 322, 328, 326, 707, + 319, 327, 320, 321, 327, 706, 321, 326, 705, 324, + 322, 323, 704, 703, 325, 702, 328, 325, 327, 329, + 701, 333, 329, 324, 333, 700, 699, 328, 326, 330, + 330, 330, 330, 335, 327, 335, 335, 698, 329, 697, + + 335, 329, 332, 332, 332, 332, 336, 339, 336, 336, + 339, 696, 329, 336, 333, 695, 338, 340, 333, 338, + 340, 341, 330, 694, 341, 693, 335, 337, 337, 337, + 337, 692, 341, 342, 337, 343, 342, 691, 343, 336, + 339, 339, 338, 338, 552, 344, 690, 552, 344, 338, + 340, 689, 345, 340, 341, 345, 342, 688, 687, 686, + 337, 346, 346, 346, 346, 685, 342, 684, 343, 348, + 348, 348, 348, 391, 683, 343, 391, 342, 344, 349, + 349, 349, 349, 682, 350, 345, 350, 350, 392, 681, + 344, 392, 552, 680, 346, 380, 380, 380, 380, 679, + + 598, 398, 348, 398, 398, 596, 391, 393, 393, 393, + 393, 394, 394, 394, 394, 595, 594, 350, 590, 589, + 588, 392, 396, 396, 396, 396, 397, 397, 397, 397, + 399, 399, 399, 399, 398, 401, 401, 401, 401, 452, + 393, 452, 452, 587, 394, 431, 431, 431, 431, 438, + 438, 438, 438, 586, 585, 396, 439, 439, 439, 439, + 584, 452, 583, 399, 440, 440, 440, 440, 442, 442, + 442, 442, 452, 443, 443, 443, 443, 445, 445, 445, + 445, 446, 582, 446, 446, 447, 581, 447, 447, 580, + 579, 448, 446, 448, 448, 578, 577, 449, 438, 449, + + 449, 450, 576, 450, 450, 439, 443, 575, 451, 447, + 451, 451, 593, 440, 446, 593, 448, 574, 447, 453, + 450, 453, 453, 573, 448, 451, 449, 572, 571, 454, + 449, 454, 454, 455, 450, 455, 455, 570, 569, 568, + 454, 451, 453, 456, 567, 456, 456, 458, 455, 458, + 458, 457, 453, 457, 457, 566, 459, 565, 459, 459, + 593, 460, 454, 460, 460, 597, 455, 459, 597, 564, + 490, 456, 458, 490, 460, 457, 456, 563, 562, 561, + 458, 459, 560, 461, 457, 461, 461, 490, 712, 459, + 462, 712, 462, 462, 460, 463, 556, 463, 463, 464, + + 555, 464, 464, 490, 461, 465, 485, 465, 465, 485, + 463, 464, 466, 597, 466, 466, 461, 485, 462, 467, + 465, 467, 467, 462, 468, 466, 468, 468, 463, 554, + 553, 469, 464, 469, 469, 550, 712, 549, 465, 485, + 468, 467, 548, 547, 470, 466, 470, 470, 471, 546, + 471, 471, 467, 472, 544, 472, 472, 468, 473, 469, + 473, 473, 469, 471, 469, 474, 747, 474, 474, 747, + 472, 473, 470, 475, 475, 475, 475, 470, 543, 542, + 541, 471, 476, 476, 476, 476, 472, 477, 540, 477, + 477, 473, 478, 976, 478, 478, 976, 539, 474, 474, + + 479, 538, 479, 479, 537, 480, 475, 480, 480, 481, + 486, 481, 481, 486, 747, 476, 482, 482, 482, 482, + 477, 484, 484, 484, 484, 478, 479, 487, 488, 536, + 487, 488, 478, 479, 486, 477, 489, 491, 480, 489, + 491, 976, 481, 486, 480, 492, 534, 533, 492, 482, + 481, 493, 487, 495, 493, 489, 495, 488, 532, 491, + 487, 488, 493, 496, 494, 531, 496, 494, 492, 489, + 491, 530, 501, 497, 498, 501, 497, 498, 492, 494, + 499, 495, 529, 499, 493, 498, 495, 496, 500, 502, + 528, 500, 502, 499, 527, 526, 496, 494, 497, 498, + + 501, 525, 524, 523, 502, 501, 497, 498, 503, 500, + 522, 503, 504, 499, 506, 504, 505, 506, 437, 505, + 503, 500, 502, 507, 436, 435, 507, 504, 434, 505, + 508, 509, 433, 508, 509, 510, 506, 511, 510, 507, + 511, 503, 430, 513, 429, 504, 513, 506, 428, 505, + 510, 427, 512, 426, 511, 512, 507, 517, 508, 509, + 517, 508, 424, 508, 509, 512, 518, 423, 510, 518, + 511, 514, 514, 514, 514, 422, 513, 513, 514, 515, + 515, 515, 515, 421, 420, 512, 516, 516, 516, 516, + 517, 519, 520, 521, 519, 520, 521, 419, 418, 518, + + 551, 551, 551, 551, 514, 517, 518, 557, 557, 557, + 557, 559, 559, 559, 559, 1026, 417, 519, 1026, 516, + 591, 591, 591, 591, 519, 520, 521, 599, 599, 599, + 599, 520, 416, 414, 521, 601, 601, 601, 601, 413, + 557, 602, 602, 602, 602, 604, 604, 604, 604, 605, + 1037, 605, 605, 1037, 606, 412, 606, 606, 607, 411, + 607, 607, 608, 1026, 608, 608, 605, 606, 609, 410, + 609, 609, 610, 409, 610, 610, 599, 408, 407, 406, + 608, 611, 605, 611, 611, 609, 405, 606, 607, 404, + 602, 607, 403, 402, 1039, 608, 611, 1039, 1037, 1070, + + 610, 609, 1070, 390, 662, 610, 612, 662, 612, 612, + 614, 389, 614, 614, 611, 613, 612, 613, 613, 615, + 387, 615, 615, 616, 386, 616, 616, 617, 662, 617, + 617, 385, 618, 614, 618, 618, 382, 662, 650, 612, + 615, 650, 1039, 614, 613, 378, 377, 1070, 613, 618, + 376, 616, 615, 617, 375, 619, 616, 619, 619, 643, + 617, 620, 643, 620, 620, 618, 621, 650, 621, 621, + 374, 650, 643, 622, 642, 622, 622, 642, 373, 372, + 619, 621, 620, 622, 371, 370, 369, 623, 619, 623, + 623, 642, 643, 624, 620, 624, 624, 623, 625, 621, + + 625, 625, 626, 368, 626, 626, 622, 642, 627, 367, + 627, 627, 628, 652, 628, 628, 652, 626, 366, 365, + 623, 624, 625, 627, 363, 362, 624, 629, 628, 629, + 629, 625, 361, 360, 652, 626, 630, 359, 630, 630, + 631, 627, 631, 631, 358, 628, 652, 630, 357, 632, + 631, 632, 632, 356, 355, 634, 629, 634, 634, 632, + 629, 633, 354, 633, 633, 635, 353, 635, 635, 630, + 243, 239, 236, 631, 636, 636, 636, 636, 235, 633, + 634, 637, 632, 637, 637, 233, 232, 638, 634, 638, + 638, 230, 225, 639, 633, 639, 639, 640, 635, 640, + + 640, 641, 221, 641, 641, 645, 220, 636, 645, 647, + 644, 635, 647, 644, 637, 218, 217, 216, 648, 646, + 638, 648, 646, 645, 655, 651, 639, 655, 651, 637, + 640, 213, 640, 648, 641, 638, 646, 647, 645, 639, + 644, 655, 647, 644, 649, 211, 210, 649, 651, 641, + 653, 648, 646, 653, 649, 206, 654, 655, 651, 654, + 656, 658, 204, 656, 658, 657, 203, 202, 657, 659, + 660, 661, 659, 660, 661, 201, 658, 649, 653, 659, + 660, 663, 654, 653, 663, 656, 657, 666, 1078, 654, + 666, 1078, 664, 656, 658, 664, 663, 665, 657, 661, + + 665, 200, 659, 660, 661, 668, 667, 664, 668, 667, + 199, 198, 197, 665, 663, 668, 666, 667, 669, 670, + 666, 669, 670, 671, 672, 664, 671, 672, 669, 196, + 665, 673, 673, 673, 673, 195, 1078, 670, 668, 667, + 674, 675, 677, 674, 675, 677, 676, 678, 671, 676, + 678, 669, 670, 194, 193, 192, 671, 672, 750, 191, + 750, 750, 189, 751, 673, 751, 751, 188, 187, 754, + 672, 754, 754, 674, 675, 677, 186, 677, 751, 676, + 678, 752, 185, 752, 752, 184, 750, 754, 674, 675, + 183, 750, 676, 182, 181, 678, 751, 753, 180, 753, + + 753, 755, 754, 755, 755, 179, 168, 753, 752, 167, + 756, 755, 756, 756, 752, 757, 164, 757, 757, 758, + 756, 758, 758, 759, 162, 759, 759, 159, 158, 758, + 753, 157, 152, 759, 755, 760, 150, 760, 760, 761, + 148, 761, 761, 756, 762, 760, 762, 762, 757, 761, + 146, 145, 758, 71, 762, 763, 759, 763, 763, 764, + 787, 764, 764, 787, 68, 66, 64, 765, 760, 765, + 765, 766, 761, 766, 766, 787, 767, 762, 767, 767, + 765, 62, 768, 763, 768, 768, 764, 769, 763, 769, + 769, 59, 764, 787, 54, 51, 765, 48, 766, 770, + + 765, 770, 770, 771, 766, 771, 771, 47, 772, 767, + 772, 772, 42, 771, 41, 768, 769, 38, 772, 786, + 769, 773, 786, 773, 773, 37, 36, 774, 770, 774, + 774, 775, 770, 775, 775, 31, 771, 774, 29, 27, + 25, 772, 776, 773, 776, 776, 777, 786, 777, 777, + 23, 21, 786, 778, 773, 778, 778, 17, 0, 0, + 774, 775, 0, 789, 775, 779, 789, 779, 779, 780, + 0, 780, 780, 789, 781, 776, 781, 781, 782, 777, + 782, 782, 778, 0, 0, 0, 778, 783, 779, 783, + 783, 784, 788, 784, 784, 788, 789, 785, 779, 785, + + 785, 0, 780, 0, 0, 790, 0, 781, 790, 780, + 0, 782, 0, 782, 793, 0, 0, 793, 0, 788, + 783, 783, 0, 790, 784, 788, 791, 0, 0, 791, + 785, 792, 794, 0, 792, 794, 791, 0, 790, 784, + 795, 792, 794, 795, 0, 785, 796, 793, 797, 796, + 795, 797, 798, 0, 799, 798, 796, 799, 797, 791, + 0, 0, 798, 800, 792, 794, 800, 0, 0, 0, + 0, 801, 802, 795, 801, 802, 0, 803, 0, 796, + 803, 797, 799, 804, 801, 798, 804, 799, 805, 806, + 800, 805, 806, 0, 811, 0, 800, 811, 807, 802, + + 801, 807, 0, 808, 801, 802, 808, 0, 807, 810, + 803, 809, 810, 808, 809, 0, 804, 805, 806, 810, + 812, 805, 806, 812, 811, 813, 814, 811, 813, 814, + 0, 807, 816, 809, 815, 816, 808, 815, 817, 0, + 818, 817, 810, 818, 809, 819, 0, 820, 819, 821, + 820, 0, 821, 812, 0, 814, 0, 815, 813, 814, + 881, 914, 881, 881, 914, 816, 882, 815, 882, 882, + 881, 817, 816, 818, 915, 818, 882, 915, 819, 819, + 820, 883, 821, 883, 883, 884, 0, 884, 884, 916, + 0, 883, 916, 881, 914, 820, 0, 821, 885, 882, + + 885, 885, 886, 915, 886, 886, 887, 915, 887, 887, + 888, 0, 888, 888, 883, 0, 0, 889, 884, 889, + 889, 890, 916, 890, 890, 0, 891, 885, 891, 891, + 892, 885, 892, 892, 893, 886, 893, 893, 896, 887, + 896, 896, 0, 888, 893, 894, 0, 894, 894, 0, + 889, 0, 0, 900, 890, 900, 900, 896, 894, 891, + 0, 0, 895, 892, 895, 895, 897, 893, 897, 897, + 898, 896, 898, 898, 894, 0, 897, 0, 894, 899, + 898, 899, 899, 0, 0, 0, 900, 895, 901, 899, + 901, 901, 0, 0, 902, 895, 902, 902, 903, 897, + + 903, 903, 904, 898, 904, 904, 0, 0, 905, 902, + 905, 905, 899, 906, 0, 906, 906, 907, 905, 907, + 907, 901, 0, 908, 904, 908, 908, 902, 906, 0, + 909, 903, 909, 909, 910, 904, 910, 910, 0, 911, + 917, 905, 911, 917, 912, 913, 906, 912, 913, 911, + 907, 0, 0, 0, 912, 913, 908, 918, 919, 908, + 918, 919, 907, 909, 0, 920, 921, 910, 920, 921, + 0, 922, 911, 917, 922, 909, 923, 912, 913, 923, + 925, 924, 926, 925, 924, 926, 923, 0, 0, 0, + 918, 919, 927, 928, 924, 927, 928, 929, 920, 921, + + 929, 926, 927, 928, 922, 925, 0, 929, 930, 923, + 924, 930, 0, 925, 924, 926, 931, 932, 933, 931, + 932, 933, 0, 0, 934, 927, 928, 934, 935, 0, + 929, 935, 932, 936, 937, 0, 936, 937, 935, 938, + 939, 930, 938, 939, 940, 0, 934, 940, 936, 931, + 932, 933, 0, 979, 0, 979, 979, 934, 0, 0, + 980, 935, 980, 980, 0, 0, 936, 937, 981, 0, + 981, 981, 938, 939, 0, 938, 0, 940, 982, 937, + 982, 982, 0, 0, 0, 939, 979, 983, 982, 983, + 983, 0, 984, 980, 984, 984, 985, 0, 985, 985, + + 986, 981, 986, 986, 987, 0, 987, 987, 0, 0, + 988, 982, 988, 988, 0, 985, 989, 984, 989, 989, + 983, 990, 986, 990, 990, 984, 987, 0, 991, 985, + 991, 991, 993, 986, 993, 993, 0, 987, 991, 992, + 0, 992, 992, 988, 0, 994, 0, 994, 994, 989, + 995, 0, 995, 995, 990, 994, 0, 996, 995, 996, + 996, 991, 0, 0, 997, 993, 997, 997, 992, 0, + 998, 999, 992, 998, 999, 0, 1000, 1001, 994, 1000, + 1001, 1002, 1003, 995, 1002, 1003, 0, 1001, 0, 1004, + 996, 1005, 1004, 1007, 1005, 1006, 1007, 997, 1006, 1008, + + 997, 0, 1008, 998, 999, 996, 0, 1003, 1004, 1000, + 1001, 0, 0, 1005, 1002, 1003, 1009, 1006, 1011, 1009, + 1010, 1011, 1004, 1010, 1005, 0, 1007, 0, 1006, 0, + 1010, 1012, 1008, 1013, 1012, 1015, 1013, 1014, 1015, 1016, + 1014, 0, 1016, 1013, 0, 1014, 0, 1011, 0, 1009, + 0, 1011, 1040, 1010, 1040, 1040, 1041, 0, 1041, 1041, + 1042, 0, 1042, 1042, 1012, 0, 1013, 0, 1015, 0, + 1014, 1043, 1016, 1043, 1043, 1016, 0, 1044, 1041, 1044, + 1044, 1043, 1042, 1015, 1045, 1040, 1045, 1045, 1046, 1041, + 1046, 1046, 1044, 1042, 1047, 0, 1047, 1047, 1046, 1048, + + 0, 1048, 1048, 1049, 1043, 1049, 1049, 0, 0, 1050, + 1044, 1050, 1050, 1051, 0, 1051, 1051, 1045, 0, 1052, + 0, 1046, 1052, 1053, 0, 1054, 1053, 1047, 1054, 0, + 1055, 0, 1048, 1055, 1048, 1056, 1049, 0, 1056, 0, + 1055, 1057, 1050, 0, 1057, 1053, 1051, 1054, 0, 0, + 1056, 1049, 1052, 0, 0, 0, 1053, 1050, 1054, 1058, + 0, 1051, 1058, 1055, 1059, 0, 0, 1059, 1056, 1058, + 1060, 0, 0, 1060, 1057, 1061, 1062, 1063, 1061, 1062, + 1063, 1080, 0, 1080, 1080, 1081, 0, 1081, 1081, 0, + 0, 1080, 1058, 1082, 0, 1082, 1082, 1059, 0, 1084, + + 1081, 1084, 1084, 1060, 1085, 1060, 1085, 1085, 1061, 1062, + 1063, 0, 0, 1086, 1080, 1086, 1086, 1083, 1081, 1083, + 1083, 0, 0, 1061, 1062, 1063, 1082, 1083, 1087, 0, + 1087, 1087, 1084, 1088, 0, 1088, 1088, 1085, 1089, 1090, + 1085, 1089, 1090, 0, 1091, 0, 1086, 1091, 1089, 1092, + 1083, 0, 1092, 1093, 1090, 1094, 1093, 1095, 1094, 1092, + 1095, 1087, 1096, 0, 1097, 1096, 1088, 1097, 0, 0, + 0, 1089, 1090, 0, 0, 0, 1087, 1091, 0, 0, + 0, 1088, 1092, 0, 0, 0, 1093, 0, 1094, 1112, + 1095, 1094, 1112, 0, 0, 1096, 1107, 1097, 1107, 1107, + + 0, 1108, 0, 1108, 1108, 1109, 1114, 1109, 1109, 1114, + 1096, 1108, 1097, 1110, 0, 1110, 1110, 1111, 1113, 1111, + 1111, 1113, 1112, 1115, 1116, 0, 1115, 1116, 1113, 1107, + 1121, 0, 1121, 1121, 1108, 0, 0, 0, 1109, 1114, + 1122, 1123, 1122, 1122, 1123, 1124, 1110, 0, 1124, 1128, + 1111, 1113, 1128, 0, 0, 1110, 1115, 1116, 1127, 1136, + 1127, 1127, 1136, 1121, 0, 1115, 1131, 1132, 1131, 1131, + 1132, 0, 0, 1122, 1123, 0, 1131, 1132, 1124, 0, + 0, 1135, 1128, 1135, 1135, 1122, 0, 1128, 0, 0, + 1124, 1127, 1136, 0, 0, 0, 1127, 0, 0, 1131, + + 1132, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1135, 1138, 1138, 1138, 1138, 1138, + 1138, 1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140, 1140, + 1140, 1140, 1140, 1141, 1141, 1141, 1141, 1141, 1141, 1142, + 1142, 1142, 1142, 1142, 1142, 1143, 1143, 0, 1143, 1143, + 1143, 1144, 1144, 1144, 1144, 1144, 1144, 1145, 0, 0, + 0, 1145, 1145, 1146, 1146, 1146, 1146, 1146, 1146, 1147, + 1147, 0, 0, 1147, 1147, 1148, 1148, 1148, 1148, 1148, + 1148, 1149, 1149, 0, 1149, 1149, 1149, 1150, 1150, 0, + 1150, 1150, 1150, 1151, 1151, 0, 0, 0, 1151, 1152, + + 1152, 0, 1152, 1152, 1152, 1154, 1154, 0, 0, 0, + 1154, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, + 1137, 1137, 1137 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[83] = +static yyconst flex_int32_t yy_rule_can_match_eol[84] = { 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, }; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -1788,7 +1798,7 @@ static void cattext(bool trim_right = false, int strip_trailing = 0) -#line 1792 "levcomp.lex.cc" +#line 1802 "levcomp.lex.cc" #define INITIAL 0 #define MAPDEF 1 @@ -1834,7 +1844,7 @@ FILE *yyget_out (void ); void yyset_out (FILE * out_str ); -int yyget_leng (void ); +yy_size_t yyget_leng (void ); char *yyget_text (void ); @@ -1876,12 +1886,7 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -1889,7 +1894,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1900,7 +1905,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + yy_size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1988,7 +1993,7 @@ YY_DECL #line 133 "levcomp.lpp" -#line 1992 "levcomp.lex.cc" +#line 1997 "levcomp.lex.cc" if ( !(yy_init) ) { @@ -2042,13 +2047,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1111 ) + if ( yy_current_state >= 1138 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 1110 ); + while ( yy_current_state != 1137 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2455,89 +2460,89 @@ YY_RULE_SETUP case 64: YY_RULE_SETUP #line 255 "levcomp.lpp" -{ CBEGIN(MNAME); return MONS; } +{ CBEGIN(ITEM_LIST); return FHEIGHT; } YY_BREAK case 65: YY_RULE_SETUP #line 256 "levcomp.lpp" -{ CBEGIN(ITEM_LIST); return ITEM; } +{ CBEGIN(MNAME); return MONS; } YY_BREAK case 66: YY_RULE_SETUP #line 257 "levcomp.lpp" -{ CBEGIN(ARGUMENT); return MARKER; } +{ CBEGIN(ITEM_LIST); return ITEM; } YY_BREAK case 67: YY_RULE_SETUP #line 258 "levcomp.lpp" -{ CBEGIN(ITEM_LIST); return SHUFFLE; } +{ CBEGIN(ARGUMENT); return MARKER; } YY_BREAK case 68: YY_RULE_SETUP -#line 260 "levcomp.lpp" -{ CBEGIN(ARGUMENT); return KFEAT; } +#line 259 "levcomp.lpp" +{ CBEGIN(ITEM_LIST); return SHUFFLE; } YY_BREAK case 69: YY_RULE_SETUP #line 261 "levcomp.lpp" -{ CBEGIN(ARGUMENT); return KITEM; } +{ CBEGIN(ARGUMENT); return KFEAT; } YY_BREAK case 70: YY_RULE_SETUP #line 262 "levcomp.lpp" -{ CBEGIN(ARGUMENT); return KMONS; } +{ CBEGIN(ARGUMENT); return KITEM; } YY_BREAK case 71: YY_RULE_SETUP #line 263 "levcomp.lpp" -{ CBEGIN(ARGUMENT); return KMASK; } +{ CBEGIN(ARGUMENT); return KMONS; } YY_BREAK case 72: YY_RULE_SETUP #line 264 "levcomp.lpp" -{ CBEGIN(ARGUMENT); return KPROP; } +{ CBEGIN(ARGUMENT); return KMASK; } YY_BREAK case 73: YY_RULE_SETUP #line 265 "levcomp.lpp" -{ CBEGIN(ARGUMENT); return SUBVAULT; } +{ CBEGIN(ARGUMENT); return KPROP; } YY_BREAK case 74: YY_RULE_SETUP -#line 267 "levcomp.lpp" -return COMMA; +#line 266 "levcomp.lpp" +{ CBEGIN(ARGUMENT); return SUBVAULT; } YY_BREAK case 75: YY_RULE_SETUP -#line 269 "levcomp.lpp" -return COLON; +#line 268 "levcomp.lpp" +return COMMA; YY_BREAK case 76: YY_RULE_SETUP -#line 271 "levcomp.lpp" -return PERC; +#line 270 "levcomp.lpp" +return COLON; YY_BREAK case 77: YY_RULE_SETUP -#line 273 "levcomp.lpp" +#line 272 "levcomp.lpp" +return PERC; + YY_BREAK +case 78: +YY_RULE_SETUP +#line 274 "levcomp.lpp" { clean(); yylval.i = atoi(yytext); return INTEGER; } YY_BREAK -case 78: -YY_RULE_SETUP -#line 279 "levcomp.lpp" -; - YY_BREAK case 79: -/* rule 79 can match eol */ YY_RULE_SETUP #line 280 "levcomp.lpp" ; YY_BREAK case 80: +/* rule 80 can match eol */ YY_RULE_SETUP #line 281 "levcomp.lpp" ; @@ -2545,14 +2550,19 @@ YY_RULE_SETUP case 81: YY_RULE_SETUP #line 282 "levcomp.lpp" -return CHARACTER; +; YY_BREAK case 82: YY_RULE_SETUP -#line 284 "levcomp.lpp" +#line 283 "levcomp.lpp" +return CHARACTER; + YY_BREAK +case 83: +YY_RULE_SETUP +#line 285 "levcomp.lpp" ECHO; YY_BREAK -#line 2556 "levcomp.lex.cc" +#line 2566 "levcomp.lex.cc" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(MAPDEF): case YY_STATE_EOF(LUA): @@ -2746,7 +2756,7 @@ static int yy_get_next_buffer (void) else { - int num_to_read = + yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -2760,7 +2770,7 @@ static int yy_get_next_buffer (void) if ( b->yy_is_our_buffer ) { - int new_size = b->yy_buf_size * 2; + yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -2791,7 +2801,7 @@ static int yy_get_next_buffer (void) /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), (size_t) num_to_read ); + (yy_n_chars), num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } @@ -2853,7 +2863,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1111 ) + if ( yy_current_state >= 1138 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2881,11 +2891,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1111 ) + if ( yy_current_state >= 1138 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1110); + yy_is_jam = (yy_current_state == 1137); return yy_is_jam ? 0 : yy_current_state; } @@ -2902,7 +2912,7 @@ static int yy_get_next_buffer (void) if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register int number_to_move = (yy_n_chars) + 2; + register yy_size_t number_to_move = (yy_n_chars) + 2; register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; register char *source = @@ -2955,7 +2965,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - int offset = (yy_c_buf_p) - (yytext_ptr); + yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -2979,7 +2989,7 @@ static int yy_get_next_buffer (void) case EOB_ACT_END_OF_FILE: { if ( yywrap( ) ) - return EOF; + return 0; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -3233,7 +3243,7 @@ void yypop_buffer_state (void) */ static void yyensure_buffer_stack (void) { - int num_to_alloc; + yy_size_t num_to_alloc; if (!(yy_buffer_stack)) { @@ -3325,17 +3335,16 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) { YY_BUFFER_STATE b; char *buf; - yy_size_t n; - int i; + yy_size_t n, i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; @@ -3417,7 +3426,7 @@ FILE *yyget_out (void) /** Get the length of the current token. * */ -int yyget_leng (void) +yy_size_t yyget_leng (void) { return yyleng; } @@ -3568,7 +3577,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 284 "levcomp.lpp" +#line 285 "levcomp.lpp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.cc b/crawl-ref/source/prebuilt/levcomp.tab.cc index c725141f18..156528cd69 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.cc +++ b/crawl-ref/source/prebuilt/levcomp.tab.cc @@ -1,14 +1,15 @@ -/* A Bison parser, made by GNU Bison 2.3. */ + +/* A Bison parser, made by GNU Bison 2.4.1. */ /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -16,9 +17,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -47,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.3" +#define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -55,11 +54,86 @@ /* Pure parsers. */ #define YYPURE 0 +/* Push parsers. */ +#define YYPUSH 0 + +/* Pull parsers. */ +#define YYPULL 1 + /* Using locations. */ #define YYLSP_NEEDED 0 +/* Copy the first part of user declarations. */ + +/* Line 189 of yacc.c */ +#line 1 "levcomp.ypp" + + +#include <map> +#include <algorithm> + +#include "AppHdr.h" +#include "l_defs.h" +#include "libutil.h" +#include "mapdef.h" +#include "maps.h" +#include "stuff.h" + +#define YYERROR_VERBOSE 1 + +int yylex(); + +extern int yylineno; + +void yyerror(const char *e) +{ + if (strstr(e, lc_desfile.c_str()) == e) + fprintf(stderr, "%s\n", e); + else + fprintf(stderr, "%s:%d: %s\n", lc_desfile.c_str(), yylineno, e); + // Bail bail bail. + end(1); +} + +level_range set_range(const char *s, int start, int end) +{ + try + { + lc_range.set(s, start, end); + } + catch (const std::string &err) + { + yyerror(err.c_str()); + } + return (lc_range); +} + + + +/* Line 189 of yacc.c */ +#line 117 "levcomp.tab.c" + +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +/* Enabling the token table. */ +#ifndef YYTOKEN_TABLE +# define YYTOKEN_TABLE 0 +#endif + + /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE @@ -101,16 +175,17 @@ RTILE = 290, TILE = 291, SUBVAULT = 292, - COMMA = 293, - COLON = 294, - PERC = 295, - INTEGER = 296, - CHARACTER = 297, - STRING = 298, - MAP_LINE = 299, - MONSTER_NAME = 300, - ITEM_INFO = 301, - LUA_LINE = 302 + FHEIGHT = 293, + COMMA = 294, + COLON = 295, + PERC = 296, + INTEGER = 297, + CHARACTER = 298, + STRING = 299, + MAP_LINE = 300, + MONSTER_NAME = 301, + ITEM_INFO = 302, + LUA_LINE = 303 }; #endif /* Tokens. */ @@ -149,106 +224,48 @@ #define RTILE 290 #define TILE 291 #define SUBVAULT 292 -#define COMMA 293 -#define COLON 294 -#define PERC 295 -#define INTEGER 296 -#define CHARACTER 297 -#define STRING 298 -#define MAP_LINE 299 -#define MONSTER_NAME 300 -#define ITEM_INFO 301 -#define LUA_LINE 302 - - - - -/* Copy the first part of user declarations. */ -#line 1 "levcomp.ypp" - - -#include <map> -#include <algorithm> - -#include "AppHdr.h" -#include "l_defs.h" -#include "libutil.h" -#include "mapdef.h" -#include "maps.h" -#include "stuff.h" - -#define YYERROR_VERBOSE 1 - -int yylex(); - -extern int yylineno; - -void yyerror(const char *e) -{ - if (strstr(e, lc_desfile.c_str()) == e) - fprintf(stderr, "%s\n", e); - else - fprintf(stderr, "%s:%d: %s\n", lc_desfile.c_str(), yylineno, e); - // Bail bail bail. - end(1); -} - -level_range set_range(const char *s, int start, int end) -{ - try - { - lc_range.set(s, start, end); - } - catch (const std::string &err) - { - yyerror(err.c_str()); - } - return (lc_range); -} +#define FHEIGHT 293 +#define COMMA 294 +#define COLON 295 +#define PERC 296 +#define INTEGER 297 +#define CHARACTER 298 +#define STRING 299 +#define MAP_LINE 300 +#define MONSTER_NAME 301 +#define ITEM_INFO 302 +#define LUA_LINE 303 -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 45 "levcomp.ypp" { + +/* Line 214 of yacc.c */ +#line 45 "levcomp.ypp" + int i; const char *text; raw_range range; -} -/* Line 187 of yacc.c. */ -#line 239 "levcomp.tab.c" - YYSTYPE; + + + +/* Line 214 of yacc.c */ +#line 257 "levcomp.tab.c" +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 #endif - /* Copy the second part of user declarations. */ -/* Line 216 of yacc.c. */ -#line 252 "levcomp.tab.c" +/* Line 264 of yacc.c */ +#line 269 "levcomp.tab.c" #ifdef short # undef short @@ -323,14 +340,14 @@ typedef short int yytype_int16; #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int -YYID (int i) +YYID (int yyi) #else static int -YYID (i) - int i; +YYID (yyi) + int yyi; #endif { - return i; + return yyi; } #endif @@ -411,9 +428,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ /* A type that is properly aligned for any stack member. */ union yyalloc { - yytype_int16 yyss; - YYSTYPE yyvs; - }; + yytype_int16 yyss_alloc; + YYSTYPE yyvs_alloc; +}; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) @@ -447,12 +464,12 @@ union yyalloc elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack) \ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ @@ -463,20 +480,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 109 +#define YYLAST 111 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 48 +#define YYNTOKENS 49 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 81 +#define YYNNTS 84 /* YYNRULES -- Number of rules. */ -#define YYNRULES 152 +#define YYNRULES 157 /* YYNRULES -- Number of states. */ -#define YYNSTATES 181 +#define YYNSTATES 188 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 302 +#define YYMAXUTOK 303 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -514,7 +531,7 @@ static const yytype_uint8 yytranslate[] = 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 + 45, 46, 47, 48 }; #if YYDEBUG @@ -527,81 +544,82 @@ static const yytype_uint16 yyprhs[] = 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, - 102, 104, 107, 108, 111, 113, 116, 117, 120, 122, - 125, 126, 129, 131, 134, 135, 138, 140, 143, 144, - 147, 149, 151, 154, 156, 159, 161, 164, 166, 169, - 171, 174, 177, 179, 183, 185, 188, 189, 192, 194, - 197, 200, 203, 206, 208, 211, 213, 216, 218, 221, - 223, 226, 229, 231, 235, 237, 240, 242, 246, 248, - 251, 253, 257, 259, 261, 265, 267, 270, 272, 276, - 278, 281, 283, 287, 289, 291, 294, 298, 300, 302, - 304, 307, 311, 313, 315, 318, 320, 323, 329, 334, - 338, 341, 344, 346, 349, 352, 354, 357, 359, 361, - 364, 366, 370 + 102, 104, 106, 109, 110, 113, 115, 118, 119, 122, + 124, 127, 128, 131, 133, 136, 137, 140, 142, 145, + 146, 149, 151, 153, 156, 158, 161, 163, 166, 168, + 171, 173, 176, 179, 181, 185, 187, 190, 191, 194, + 196, 199, 202, 205, 208, 210, 213, 215, 218, 220, + 223, 225, 228, 231, 233, 237, 239, 242, 244, 248, + 250, 253, 255, 259, 261, 264, 266, 270, 272, 274, + 278, 280, 283, 285, 289, 291, 294, 296, 300, 302, + 304, 307, 311, 313, 315, 317, 320, 324, 326, 328, + 331, 333, 336, 342, 347, 351, 354, 357, 359, 362, + 365, 367, 370, 372, 374, 377, 379, 383 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 49, 0, -1, 50, -1, -1, 50, 51, -1, 53, - -1, 55, -1, 42, -1, 54, -1, 60, -1, 3, - 43, -1, 58, 56, -1, -1, 56, 57, -1, 59, - -1, 123, -1, 12, 43, -1, 117, -1, 118, -1, - 119, -1, 120, -1, 121, -1, 122, -1, 114, -1, - 111, -1, 88, -1, 108, -1, 105, -1, 89, -1, - 90, -1, 91, -1, 92, -1, 93, -1, 94, -1, - 97, -1, 100, -1, 80, -1, 83, -1, 86, -1, - 87, -1, 75, -1, 77, -1, 76, -1, 78, -1, - 79, -1, 126, -1, 63, -1, 72, -1, 66, -1, - 69, -1, 52, -1, 23, 61, -1, -1, 61, 62, - -1, 47, -1, 23, 64, -1, -1, 64, 65, -1, - 47, -1, 24, 67, -1, -1, 67, 68, -1, 47, - -1, 25, 70, -1, -1, 70, 71, -1, 47, -1, - 22, 73, -1, -1, 73, 74, -1, 47, -1, 7, - -1, 7, 43, -1, 9, -1, 9, 43, -1, 8, - -1, 8, 43, -1, 10, -1, 10, 43, -1, 11, - -1, 11, 43, -1, 4, 81, -1, 82, -1, 81, - 38, 82, -1, 46, -1, 6, 84, -1, -1, 84, - 85, -1, 43, -1, 28, 43, -1, 29, 43, -1, - 20, 43, -1, 21, 103, -1, 30, -1, 30, 43, - -1, 31, -1, 31, 43, -1, 32, -1, 32, 43, - -1, 33, -1, 33, 43, -1, 34, 95, -1, 96, - -1, 95, 38, 96, -1, 46, -1, 35, 98, -1, - 99, -1, 98, 38, 99, -1, 46, -1, 36, 101, - -1, 102, -1, 101, 38, 102, -1, 46, -1, 104, - -1, 103, 38, 104, -1, 46, -1, 26, 106, -1, - 107, -1, 106, 38, 107, -1, 46, -1, 5, 109, - -1, 110, -1, 110, 38, 109, -1, 46, -1, 19, - -1, 19, 112, -1, 112, 38, 113, -1, 113, -1, - 46, -1, 18, -1, 18, 115, -1, 116, 38, 115, - -1, 116, -1, 45, -1, 15, 43, -1, 13, -1, - 13, 43, -1, 16, 41, 39, 41, 40, -1, 16, - 41, 39, 41, -1, 16, 41, 40, -1, 16, 41, - -1, 17, 41, -1, 14, -1, 14, 43, -1, 27, - 43, -1, 124, -1, 124, 125, -1, 125, -1, 44, - -1, 37, 127, -1, 128, -1, 127, 38, 128, -1, - 43, -1 + 50, 0, -1, 51, -1, -1, 51, 52, -1, 54, + -1, 56, -1, 43, -1, 55, -1, 61, -1, 3, + 44, -1, 59, 57, -1, -1, 57, 58, -1, 60, + -1, 127, -1, 12, 44, -1, 121, -1, 122, -1, + 123, -1, 124, -1, 125, -1, 126, -1, 118, -1, + 115, -1, 89, -1, 112, -1, 109, -1, 90, -1, + 91, -1, 92, -1, 93, -1, 94, -1, 98, -1, + 101, -1, 104, -1, 81, -1, 84, -1, 87, -1, + 88, -1, 76, -1, 78, -1, 77, -1, 79, -1, + 80, -1, 95, -1, 130, -1, 64, -1, 73, -1, + 67, -1, 70, -1, 53, -1, 23, 62, -1, -1, + 62, 63, -1, 48, -1, 23, 65, -1, -1, 65, + 66, -1, 48, -1, 24, 68, -1, -1, 68, 69, + -1, 48, -1, 25, 71, -1, -1, 71, 72, -1, + 48, -1, 22, 74, -1, -1, 74, 75, -1, 48, + -1, 7, -1, 7, 44, -1, 9, -1, 9, 44, + -1, 8, -1, 8, 44, -1, 10, -1, 10, 44, + -1, 11, -1, 11, 44, -1, 4, 82, -1, 83, + -1, 82, 39, 83, -1, 47, -1, 6, 85, -1, + -1, 85, 86, -1, 44, -1, 28, 44, -1, 29, + 44, -1, 20, 44, -1, 21, 107, -1, 30, -1, + 30, 44, -1, 31, -1, 31, 44, -1, 32, -1, + 32, 44, -1, 33, -1, 33, 44, -1, 38, 96, + -1, 97, -1, 96, 39, 97, -1, 47, -1, 34, + 99, -1, 100, -1, 99, 39, 100, -1, 47, -1, + 35, 102, -1, 103, -1, 102, 39, 103, -1, 47, + -1, 36, 105, -1, 106, -1, 105, 39, 106, -1, + 47, -1, 108, -1, 107, 39, 108, -1, 47, -1, + 26, 110, -1, 111, -1, 110, 39, 111, -1, 47, + -1, 5, 113, -1, 114, -1, 114, 39, 113, -1, + 47, -1, 19, -1, 19, 116, -1, 116, 39, 117, + -1, 117, -1, 47, -1, 18, -1, 18, 119, -1, + 120, 39, 119, -1, 120, -1, 46, -1, 15, 44, + -1, 13, -1, 13, 44, -1, 16, 42, 40, 42, + 41, -1, 16, 42, 40, 42, -1, 16, 42, 41, + -1, 16, 42, -1, 17, 42, -1, 14, -1, 14, + 44, -1, 27, 44, -1, 128, -1, 128, 129, -1, + 129, -1, 45, -1, 37, 131, -1, 132, -1, 131, + 39, 132, -1, 44, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 66, 66, 69, 70, 73, 74, 77, 83, 84, - 87, 97, 119, 120, 123, 124, 127, 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, 187, 189, 190, 193, 198, 200, 201, 204, 209, - 211, 212, 215, 220, 222, 223, 226, 231, 233, 234, - 237, 242, 243, 251, 252, 260, 261, 269, 270, 278, - 279, 287, 290, 291, 294, 302, 305, 306, 309, 318, - 327, 336, 369, 372, 373, 381, 382, 390, 391, 399, - 400, 409, 412, 413, 416, 425, 428, 429, 432, 441, - 444, 445, 448, 458, 459, 462, 471, 474, 475, 478, - 487, 490, 491, 494, 503, 504, 507, 508, 511, 519, - 520, 523, 524, 527, 536, 545, 546, 555, 562, 569, - 576, 584, 592, 593, 602, 611, 614, 615, 618, 627, - 630, 631, 634 + 0, 67, 67, 70, 71, 74, 75, 78, 84, 85, + 88, 98, 120, 121, 124, 125, 128, 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, 189, 191, 192, 195, 200, 202, 203, 206, + 211, 213, 214, 217, 222, 224, 225, 228, 233, 235, + 236, 239, 244, 245, 253, 254, 262, 263, 271, 272, + 280, 281, 289, 292, 293, 296, 304, 307, 308, 311, + 320, 329, 338, 371, 374, 375, 383, 384, 392, 393, + 402, 403, 412, 414, 415, 418, 427, 430, 431, 434, + 443, 446, 447, 450, 459, 462, 463, 466, 476, 477, + 480, 489, 492, 493, 496, 505, 508, 509, 512, 521, + 522, 525, 526, 529, 537, 538, 541, 542, 545, 554, + 563, 564, 573, 580, 587, 594, 602, 610, 611, 620, + 629, 632, 633, 636, 645, 648, 649, 652 }; #endif @@ -615,8 +633,8 @@ static const char *const yytname[] = "ORIENT", "PLACE", "CHANCE", "WEIGHT", "MONS", "ITEM", "MARKER", "COLOUR", "PRELUDE", "MAIN", "VALIDATE", "VETO", "NSUBST", "WELCOME", "LFLAGS", "BFLAGS", "LFLOORCOL", "LROCKCOL", "LFLOORTILE", "LROCKTILE", - "FTILE", "RTILE", "TILE", "SUBVAULT", "COMMA", "COLON", "PERC", - "INTEGER", "CHARACTER", "STRING", "MAP_LINE", "MONSTER_NAME", + "FTILE", "RTILE", "TILE", "SUBVAULT", "FHEIGHT", "COMMA", "COLON", + "PERC", "INTEGER", "CHARACTER", "STRING", "MAP_LINE", "MONSTER_NAME", "ITEM_INFO", "LUA_LINE", "$accept", "file", "definitions", "definition", "error_seq", "def", "defdepth", "level", "map_specs", "map_spec", "name", "metaline", "global_lua", "global_lua_lines", "global_lua_line", @@ -626,9 +644,10 @@ static const char *const yytname[] = "kfeat", "kmons", "kitem", "kmask", "kprop", "shuffle", "shuffle_specifiers", "shuffle_spec", "tags", "tagstrings", "tagstring", "lflags", "bflags", "marker", "colour", "lfloorcol", "lrockcol", - "lfloortile", "lrocktile", "ftile", "ftile_specifiers", - "ftile_specifier", "rtile", "rtile_specifiers", "rtile_specifier", - "tile", "tile_specifiers", "tile_specifier", "colour_specifiers", + "lfloortile", "lrocktile", "fheight", "fheight_specifiers", + "fheight_specifier", "ftile", "ftile_specifiers", "ftile_specifier", + "rtile", "rtile_specifiers", "rtile_specifier", "tile", + "tile_specifiers", "tile_specifier", "colour_specifiers", "colour_specifier", "nsubst", "nsubst_specifiers", "nsubst_spec", "subst", "subst_specifiers", "subst_spec", "items", "item_specifiers", "item_specifier", "mons", "mnames", "mname", "place", "depth", "chance", @@ -646,29 +665,29 @@ static const yytype_uint16 yytoknum[] = 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302 + 295, 296, 297, 298, 299, 300, 301, 302, 303 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 48, 49, 50, 50, 51, 51, 52, 53, 53, - 54, 55, 56, 56, 57, 57, 58, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 60, 61, 61, 62, 63, 64, 64, 65, 66, - 67, 67, 68, 69, 70, 70, 71, 72, 73, 73, - 74, 75, 75, 76, 76, 77, 77, 78, 78, 79, - 79, 80, 81, 81, 82, 83, 84, 84, 85, 86, - 87, 88, 89, 90, 90, 91, 91, 92, 92, 93, - 93, 94, 95, 95, 96, 97, 98, 98, 99, 100, - 101, 101, 102, 103, 103, 104, 105, 106, 106, 107, - 108, 109, 109, 110, 111, 111, 112, 112, 113, 114, - 114, 115, 115, 116, 117, 118, 118, 119, 119, 119, - 119, 120, 121, 121, 122, 123, 124, 124, 125, 126, - 127, 127, 128 + 0, 49, 50, 51, 51, 52, 52, 53, 54, 54, + 55, 56, 57, 57, 58, 58, 59, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 61, 62, 62, 63, 64, 65, 65, 66, + 67, 68, 68, 69, 70, 71, 71, 72, 73, 74, + 74, 75, 76, 76, 77, 77, 78, 78, 79, 79, + 80, 80, 81, 82, 82, 83, 84, 85, 85, 86, + 87, 88, 89, 90, 91, 91, 92, 92, 93, 93, + 94, 94, 95, 96, 96, 97, 98, 99, 99, 100, + 101, 102, 102, 103, 104, 105, 105, 106, 107, 107, + 108, 109, 110, 110, 111, 112, 113, 113, 114, 115, + 115, 116, 116, 117, 118, 118, 119, 119, 120, 121, + 122, 122, 123, 123, 123, 123, 124, 125, 125, 126, + 127, 128, 128, 129, 130, 131, 131, 132 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -679,17 +698,17 @@ static const yytype_uint8 yyr2[] = 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, 2, 0, 2, 1, 2, 0, 2, 1, 2, - 0, 2, 1, 2, 0, 2, 1, 2, 0, 2, - 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, - 2, 2, 1, 3, 1, 2, 0, 2, 1, 2, - 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, - 2, 2, 1, 3, 1, 2, 1, 3, 1, 2, - 1, 3, 1, 1, 3, 1, 2, 1, 3, 1, - 2, 1, 3, 1, 1, 2, 3, 1, 1, 1, - 2, 3, 1, 1, 2, 1, 2, 5, 4, 3, - 2, 2, 1, 2, 2, 1, 2, 1, 1, 2, - 1, 3, 1 + 1, 1, 2, 0, 2, 1, 2, 0, 2, 1, + 2, 0, 2, 1, 2, 0, 2, 1, 2, 0, + 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, + 1, 2, 2, 1, 3, 1, 2, 0, 2, 1, + 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, + 1, 2, 2, 1, 3, 1, 2, 1, 3, 1, + 2, 1, 3, 1, 2, 1, 3, 1, 1, 3, + 1, 2, 1, 3, 1, 2, 1, 3, 1, 1, + 2, 3, 1, 1, 1, 2, 3, 1, 1, 2, + 1, 2, 5, 4, 3, 2, 2, 1, 2, 2, + 1, 2, 1, 1, 2, 1, 3, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -697,79 +716,79 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 3, 0, 2, 1, 0, 0, 52, 4, 5, 8, - 6, 12, 9, 10, 16, 51, 11, 54, 53, 0, - 0, 86, 71, 75, 73, 77, 79, 135, 142, 0, - 0, 0, 129, 124, 0, 0, 68, 56, 60, 64, - 0, 0, 0, 0, 93, 95, 97, 99, 0, 0, - 0, 0, 7, 148, 50, 13, 14, 46, 48, 49, - 47, 40, 42, 41, 43, 44, 36, 37, 38, 39, - 25, 28, 29, 30, 31, 32, 33, 34, 35, 27, - 26, 24, 23, 17, 18, 19, 20, 21, 22, 15, - 145, 147, 45, 84, 81, 82, 123, 120, 121, 85, - 72, 76, 74, 78, 80, 136, 143, 134, 140, 141, - 133, 130, 132, 128, 125, 127, 91, 115, 92, 113, - 67, 55, 59, 63, 119, 116, 117, 144, 89, 90, - 94, 96, 98, 100, 104, 101, 102, 108, 105, 106, - 112, 109, 110, 152, 149, 150, 146, 0, 0, 88, - 87, 0, 139, 0, 0, 0, 70, 69, 58, 57, - 62, 61, 66, 65, 0, 0, 0, 0, 0, 83, - 122, 138, 131, 126, 114, 118, 103, 107, 111, 151, - 137 + 3, 0, 2, 1, 0, 0, 53, 4, 5, 8, + 6, 12, 9, 10, 16, 52, 11, 55, 54, 0, + 0, 87, 72, 76, 74, 78, 80, 140, 147, 0, + 0, 0, 134, 129, 0, 0, 69, 57, 61, 65, + 0, 0, 0, 0, 94, 96, 98, 100, 0, 0, + 0, 0, 0, 7, 153, 51, 13, 14, 47, 49, + 50, 48, 40, 42, 41, 43, 44, 36, 37, 38, + 39, 25, 28, 29, 30, 31, 32, 45, 33, 34, + 35, 27, 26, 24, 23, 17, 18, 19, 20, 21, + 22, 15, 150, 152, 46, 85, 82, 83, 128, 125, + 126, 86, 73, 77, 75, 79, 81, 141, 148, 139, + 145, 146, 138, 135, 137, 133, 130, 132, 92, 120, + 93, 118, 68, 56, 60, 64, 124, 121, 122, 149, + 90, 91, 95, 97, 99, 101, 109, 106, 107, 113, + 110, 111, 117, 114, 115, 157, 154, 155, 105, 102, + 103, 151, 0, 0, 89, 88, 0, 144, 0, 0, + 0, 71, 70, 59, 58, 63, 62, 67, 66, 0, + 0, 0, 0, 0, 0, 84, 127, 143, 136, 131, + 119, 123, 108, 112, 116, 156, 104, 142 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 2, 7, 54, 8, 9, 10, 16, 55, - 11, 56, 12, 15, 18, 57, 121, 159, 58, 122, - 161, 59, 123, 163, 60, 120, 157, 61, 62, 63, - 64, 65, 66, 94, 95, 67, 99, 150, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 135, 136, 77, - 138, 139, 78, 141, 142, 118, 119, 79, 125, 126, - 80, 97, 98, 81, 114, 115, 82, 111, 112, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 144, - 145 + -1, 1, 2, 7, 55, 8, 9, 10, 16, 56, + 11, 57, 12, 15, 18, 58, 123, 164, 59, 124, + 166, 60, 125, 168, 61, 122, 162, 62, 63, 64, + 65, 66, 67, 96, 97, 68, 101, 155, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 149, 150, 78, + 137, 138, 79, 140, 141, 80, 143, 144, 120, 121, + 81, 127, 128, 82, 99, 100, 83, 116, 117, 84, + 113, 114, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 146, 147 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -97 +#define YYPACT_NINF -103 static const yytype_int8 yypact[] = { - -97, 8, 31, -97, -8, -2, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -5, -4, -97, -97, -7, - -1, -97, 1, 3, 4, 5, 6, 7, 9, 10, - 14, 15, 12, 13, 17, 16, -97, -97, -97, -97, + -103, 8, 32, -103, -8, -2, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -5, -4, -103, -103, -7, + -1, -103, 1, 3, 4, 5, 6, 7, 9, 10, + 14, 15, 12, 13, 17, 16, -103, -103, -103, -103, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 34, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - 35, -97, -97, -97, 33, -97, -97, -97, 40, 37, - -97, -97, -97, -97, -97, -97, -97, -97, -3, -97, - -97, -97, 43, -97, 44, -97, -97, -97, 45, -97, - 11, 38, 39, 41, -97, 46, -97, -97, -97, -97, - -97, -97, -97, -97, -97, 49, -97, -97, 51, -97, - -97, 52, -97, -97, 53, -97, -97, -7, -1, -97, - -97, 32, -97, 12, 13, 16, -97, -97, -97, -97, - -97, -97, -97, -97, 18, 28, 29, 30, 34, -97, - -97, 21, -97, -97, -97, -97, -97, -97, -97, -97, - -97 + 30, 34, 33, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, 36, -103, -103, -103, 35, -103, -103, -103, + 40, 38, -103, -103, -103, -103, -103, -103, -103, -103, + -3, -103, -103, -103, 44, -103, 45, -103, -103, -103, + 46, -103, 11, 39, 41, 42, -103, 47, -103, -103, + -103, -103, -103, -103, -103, -103, -103, 49, -103, -103, + 52, -103, -103, 53, -103, -103, 54, -103, -103, 55, + -103, -103, -7, -1, -103, -103, 31, -103, 12, 13, + 16, -103, -103, -103, -103, -103, -103, -103, -103, 18, + 28, 29, 30, 34, 33, -103, -103, 21, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -96, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, -93, -97, - -97, -74, -97, -97, -73, -97, -62, -97, -97, -69, - -97, -52, -97, -97, -97, -57, -97, -55, -97, -97, - -97, -97, -97, -97, -97, -97, -97, 19, -97, -97, - -68 + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -100, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -102, -103, + -103, -75, -103, -103, -74, -103, -103, -76, -103, -62, + -103, -103, -70, -103, -53, -103, -103, -103, -58, -103, + -56, -103, -103, -103, -103, -103, -103, -103, -103, -103, + 19, -103, -103, -69 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -782,14 +801,15 @@ static const yytype_uint8 yytable[] = 19, 20, 21, 22, 23, 24, 25, 26, 3, 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, 4, 13, 151, 152, 52, 93, - 53, 14, 17, 5, 100, 96, 101, 102, 103, 104, - 105, 169, 106, 107, 6, 108, 109, 110, 156, 113, - 116, 180, 117, 127, 124, 128, 129, 130, 131, 132, - 133, 147, 176, 171, 134, 137, 140, 143, 148, 53, - 149, 153, 154, 155, 164, 158, 160, 165, 162, 166, - 167, 168, 177, 174, 178, 175, 170, 173, 172, 0, - 179, 0, 0, 0, 0, 0, 0, 0, 0, 146 + 48, 49, 50, 51, 52, 4, 13, 156, 157, 53, + 95, 54, 14, 17, 5, 102, 98, 103, 104, 105, + 106, 107, 175, 108, 109, 6, 110, 111, 112, 161, + 115, 118, 187, 119, 129, 126, 130, 131, 132, 133, + 134, 135, 186, 177, 152, 136, 139, 142, 145, 153, + 148, 54, 154, 158, 159, 160, 169, 163, 170, 165, + 167, 171, 172, 173, 174, 182, 184, 183, 180, 181, + 176, 179, 178, 0, 185, 0, 0, 0, 0, 0, + 0, 151 }; static const yytype_int16 yycheck[] = @@ -797,39 +817,40 @@ static const yytype_int16 yycheck[] = 4, 5, 6, 7, 8, 9, 10, 11, 0, 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, 3, 43, 39, 40, 42, 46, - 44, 43, 47, 12, 43, 46, 43, 43, 43, 43, - 43, 147, 43, 43, 23, 41, 41, 45, 47, 46, - 43, 40, 46, 43, 46, 43, 43, 43, 43, 43, - 43, 38, 165, 41, 46, 46, 46, 43, 38, 44, - 43, 38, 38, 38, 38, 47, 47, 38, 47, 38, - 38, 38, 166, 155, 167, 164, 148, 154, 153, -1, - 168, -1, -1, -1, -1, -1, -1, -1, -1, 90 + 34, 35, 36, 37, 38, 3, 44, 40, 41, 43, + 47, 45, 44, 48, 12, 44, 47, 44, 44, 44, + 44, 44, 152, 44, 44, 23, 42, 42, 46, 48, + 47, 44, 41, 47, 44, 47, 44, 44, 44, 44, + 44, 44, 174, 42, 39, 47, 47, 47, 44, 39, + 47, 45, 44, 39, 39, 39, 39, 48, 39, 48, + 48, 39, 39, 39, 39, 170, 172, 171, 160, 169, + 153, 159, 158, -1, 173, -1, -1, -1, -1, -1, + -1, 92 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 49, 50, 0, 3, 12, 23, 51, 53, 54, - 55, 58, 60, 43, 43, 61, 56, 47, 62, 4, + 0, 50, 51, 0, 3, 12, 23, 52, 54, 55, + 56, 59, 61, 44, 44, 62, 57, 48, 63, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 42, 44, 52, 57, 59, 63, 66, 69, - 72, 75, 76, 77, 78, 79, 80, 83, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 97, 100, 105, - 108, 111, 114, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 46, 81, 82, 46, 109, 110, 84, - 43, 43, 43, 43, 43, 43, 43, 43, 41, 41, - 45, 115, 116, 46, 112, 113, 43, 46, 103, 104, - 73, 64, 67, 70, 46, 106, 107, 43, 43, 43, - 43, 43, 43, 43, 46, 95, 96, 46, 98, 99, - 46, 101, 102, 43, 127, 128, 125, 38, 38, 43, - 85, 39, 40, 38, 38, 38, 47, 74, 47, 65, - 47, 68, 47, 71, 38, 38, 38, 38, 38, 82, - 109, 41, 115, 113, 104, 107, 96, 99, 102, 128, - 40 + 36, 37, 38, 43, 45, 53, 58, 60, 64, 67, + 70, 73, 76, 77, 78, 79, 80, 81, 84, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 98, 101, + 104, 109, 112, 115, 118, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 47, 82, 83, 47, 113, + 114, 85, 44, 44, 44, 44, 44, 44, 44, 44, + 42, 42, 46, 119, 120, 47, 116, 117, 44, 47, + 107, 108, 74, 65, 68, 71, 47, 110, 111, 44, + 44, 44, 44, 44, 44, 44, 47, 99, 100, 47, + 102, 103, 47, 105, 106, 44, 131, 132, 47, 96, + 97, 129, 39, 39, 44, 86, 40, 41, 39, 39, + 39, 48, 75, 48, 66, 48, 69, 48, 72, 39, + 39, 39, 39, 39, 39, 83, 113, 42, 119, 117, + 108, 111, 100, 103, 106, 132, 97, 41 }; #define yyerrok (yyerrstatus = 0) @@ -1014,17 +1035,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep) #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) +yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) #else static void -yy_stack_print (bottom, top) - yytype_int16 *bottom; - yytype_int16 *top; +yy_stack_print (yybottom, yytop) + yytype_int16 *yybottom; + yytype_int16 *yytop; #endif { YYFPRINTF (stderr, "Stack now"); - for (; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } YYFPRINTF (stderr, "\n"); } @@ -1058,11 +1082,11 @@ yy_reduce_print (yyvsp, yyrule) /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { - fprintf (stderr, " $%d = ", yyi + 1); + YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) ); - fprintf (stderr, "\n"); + YYFPRINTF (stderr, "\n"); } } @@ -1342,10 +1366,8 @@ yydestruct (yymsg, yytype, yyvaluep) break; } } - /* Prevent warnings from -Wmissing-prototypes. */ - #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); @@ -1361,11 +1383,10 @@ int yyparse (); #endif /* ! YYPARSE_PARAM */ - -/* The look-ahead symbol. */ +/* The lookahead symbol. */ int yychar; -/* The semantic value of the look-ahead symbol. */ +/* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ @@ -1373,9 +1394,9 @@ int yynerrs; -/*----------. -| yyparse. | -`----------*/ +/*-------------------------. +| yyparse or yypush_parse. | +`-------------------------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ @@ -1399,66 +1420,68 @@ yyparse () #endif #endif { - - int yystate; - int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Look-ahead token as an internal (translated) token number. */ - int yytoken = 0; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ + int yystate; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss = yyssa; - yytype_int16 *yyssp; + /* The stacks and their tools: + `yyss': related to states. + `yyvs': related to semantic values. - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss; + yytype_int16 *yyssp; + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) - - YYSIZE_T yystacksize = YYINITDEPTH; + YYSIZE_T yystacksize; + int yyn; + int yyresult; + /* Lookahead token as an internal (translated) token number. */ + int yytoken; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +#endif + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; + yytoken = 0; + yyss = yyssa; + yyvs = yyvsa; + yystacksize = YYINITDEPTH; + YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ + yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss; yyvsp = yyvs; @@ -1488,7 +1511,6 @@ yyparse () YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; - /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might @@ -1496,7 +1518,6 @@ yyparse () yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), - &yystacksize); yyss = yyss1; @@ -1519,9 +1540,8 @@ yyparse () (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); @@ -1532,7 +1552,6 @@ yyparse () yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; - YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); @@ -1542,6 +1561,9 @@ yyparse () YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + if (yystate == YYFINAL) + YYACCEPT; + goto yybackup; /*-----------. @@ -1550,16 +1572,16 @@ yyparse () yybackup: /* Do appropriate processing given the current state. Read a - look-ahead token if we need one and don't already have one. */ + lookahead token if we need one and don't already have one. */ - /* First try to decide what to do without reference to look-ahead token. */ + /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; - /* Not known => get a look-ahead token if don't already have one. */ + /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); @@ -1591,20 +1613,16 @@ yybackup: goto yyreduce; } - if (yyn == YYFINAL) - YYACCEPT; - /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; - /* Shift the look-ahead token. */ + /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - /* Discard the shifted token unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; + /* Discard the shifted token. */ + yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; @@ -1644,49 +1662,67 @@ yyreduce: switch (yyn) { case 2: -#line 66 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 67 "levcomp.ypp" { } break; case 3: -#line 69 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 70 "levcomp.ypp" {} break; case 4: -#line 70 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 71 "levcomp.ypp" {} break; case 5: -#line 73 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 74 "levcomp.ypp" {} break; case 6: -#line 74 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 75 "levcomp.ypp" {} break; case 7: -#line 78 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 79 "levcomp.ypp" { yyerror("Unexpected character sequence."); } break; case 8: -#line 83 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 84 "levcomp.ypp" {} break; case 9: -#line 84 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 85 "levcomp.ypp" {} break; case 10: -#line 88 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 89 "levcomp.ypp" { dgn_reset_default_depth(); std::string err = dgn_set_default_depth((yyvsp[(2) - (2)].text)); @@ -1697,7 +1733,9 @@ yyreduce: break; case 11: -#line 98 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 99 "levcomp.ypp" { lc_map.set_file(lc_desfile); @@ -1720,27 +1758,37 @@ yyreduce: break; case 12: -#line 119 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 120 "levcomp.ypp" { } break; case 13: -#line 120 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 121 "levcomp.ypp" { } break; case 14: -#line 123 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 124 "levcomp.ypp" { } break; case 15: -#line 124 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 125 "levcomp.ypp" { } break; case 16: -#line 128 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 129 "levcomp.ypp" { lc_map.init(); lc_map.name = (yyvsp[(2) - (2)].text); @@ -1764,128 +1812,174 @@ yyreduce: } break; - case 50: -#line 184 "levcomp.ypp" - {} - break; - case 51: -#line 187 "levcomp.ypp" - { } + +/* Line 1455 of yacc.c */ +#line 186 "levcomp.ypp" + {} break; case 52: + +/* Line 1455 of yacc.c */ #line 189 "levcomp.ypp" { } break; case 53: -#line 190 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 191 "levcomp.ypp" { } break; case 54: -#line 194 "levcomp.ypp" - { - lc_global_prelude.add(yylineno, (yyvsp[(1) - (1)].text)); - } + +/* Line 1455 of yacc.c */ +#line 192 "levcomp.ypp" + { } break; case 55: -#line 198 "levcomp.ypp" - { } + +/* Line 1455 of yacc.c */ +#line 196 "levcomp.ypp" + { + lc_global_prelude.add(yylineno, (yyvsp[(1) - (1)].text)); + } break; case 56: + +/* Line 1455 of yacc.c */ #line 200 "levcomp.ypp" { } break; case 57: -#line 201 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 202 "levcomp.ypp" { } break; case 58: -#line 205 "levcomp.ypp" - { - lc_map.main.add(yylineno, (yyvsp[(1) - (1)].text)); - } + +/* Line 1455 of yacc.c */ +#line 203 "levcomp.ypp" + { } break; case 59: -#line 209 "levcomp.ypp" - { } + +/* Line 1455 of yacc.c */ +#line 207 "levcomp.ypp" + { + lc_map.main.add(yylineno, (yyvsp[(1) - (1)].text)); + } break; case 60: + +/* Line 1455 of yacc.c */ #line 211 "levcomp.ypp" { } break; case 61: -#line 212 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 213 "levcomp.ypp" { } break; case 62: -#line 216 "levcomp.ypp" - { - lc_map.validate.add(yylineno, (yyvsp[(1) - (1)].text)); - } + +/* Line 1455 of yacc.c */ +#line 214 "levcomp.ypp" + { } break; case 63: -#line 220 "levcomp.ypp" - { } + +/* Line 1455 of yacc.c */ +#line 218 "levcomp.ypp" + { + lc_map.validate.add(yylineno, (yyvsp[(1) - (1)].text)); + } break; case 64: + +/* Line 1455 of yacc.c */ #line 222 "levcomp.ypp" { } break; case 65: -#line 223 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 224 "levcomp.ypp" { } break; case 66: -#line 227 "levcomp.ypp" - { - lc_map.veto.add(yylineno, (yyvsp[(1) - (1)].text)); - } + +/* Line 1455 of yacc.c */ +#line 225 "levcomp.ypp" + { } break; case 67: -#line 231 "levcomp.ypp" - { } + +/* Line 1455 of yacc.c */ +#line 229 "levcomp.ypp" + { + lc_map.veto.add(yylineno, (yyvsp[(1) - (1)].text)); + } break; case 68: + +/* Line 1455 of yacc.c */ #line 233 "levcomp.ypp" { } break; case 69: -#line 234 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 235 "levcomp.ypp" { } break; case 70: -#line 238 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 236 "levcomp.ypp" + { } + break; + + case 71: + +/* Line 1455 of yacc.c */ +#line 240 "levcomp.ypp" { lc_map.prelude.add(yylineno, (yyvsp[(1) - (1)].text)); } break; - case 71: -#line 242 "levcomp.ypp" + case 72: + +/* Line 1455 of yacc.c */ +#line 244 "levcomp.ypp" { } break; - case 72: -#line 244 "levcomp.ypp" + case 73: + +/* Line 1455 of yacc.c */ +#line 246 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1894,13 +1988,17 @@ yyreduce: } break; - case 73: -#line 251 "levcomp.ypp" + case 74: + +/* Line 1455 of yacc.c */ +#line 253 "levcomp.ypp" { } break; - case 74: -#line 253 "levcomp.ypp" + case 75: + +/* Line 1455 of yacc.c */ +#line 255 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1909,13 +2007,17 @@ yyreduce: } break; - case 75: -#line 260 "levcomp.ypp" + case 76: + +/* Line 1455 of yacc.c */ +#line 262 "levcomp.ypp" { } break; - case 76: -#line 262 "levcomp.ypp" + case 77: + +/* Line 1455 of yacc.c */ +#line 264 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1924,13 +2026,17 @@ yyreduce: } break; - case 77: -#line 269 "levcomp.ypp" + case 78: + +/* Line 1455 of yacc.c */ +#line 271 "levcomp.ypp" { } break; - case 78: -#line 271 "levcomp.ypp" + case 79: + +/* Line 1455 of yacc.c */ +#line 273 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1939,13 +2045,17 @@ yyreduce: } break; - case 79: -#line 278 "levcomp.ypp" + case 80: + +/* Line 1455 of yacc.c */ +#line 280 "levcomp.ypp" { } break; - case 80: -#line 280 "levcomp.ypp" + case 81: + +/* Line 1455 of yacc.c */ +#line 282 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1954,13 +2064,17 @@ yyreduce: } break; - case 81: -#line 287 "levcomp.ypp" + case 82: + +/* Line 1455 of yacc.c */ +#line 289 "levcomp.ypp" {} break; - case 84: -#line 295 "levcomp.ypp" + case 85: + +/* Line 1455 of yacc.c */ +#line 297 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1969,13 +2083,17 @@ yyreduce: } break; - case 85: -#line 302 "levcomp.ypp" + case 86: + +/* Line 1455 of yacc.c */ +#line 304 "levcomp.ypp" {} break; - case 88: -#line 310 "levcomp.ypp" + case 89: + +/* Line 1455 of yacc.c */ +#line 312 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1984,8 +2102,10 @@ yyreduce: } break; - case 89: -#line 319 "levcomp.ypp" + case 90: + +/* Line 1455 of yacc.c */ +#line 321 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1994,8 +2114,10 @@ yyreduce: } break; - case 90: -#line 328 "levcomp.ypp" + case 91: + +/* Line 1455 of yacc.c */ +#line 330 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2004,8 +2126,10 @@ yyreduce: } break; - case 91: -#line 337 "levcomp.ypp" + case 92: + +/* Line 1455 of yacc.c */ +#line 339 "levcomp.ypp" { std::string key, arg; int sep(0); @@ -2038,18 +2162,24 @@ yyreduce: } break; - case 92: -#line 369 "levcomp.ypp" - { } - break; - case 93: -#line 372 "levcomp.ypp" + +/* Line 1455 of yacc.c */ +#line 371 "levcomp.ypp" { } break; case 94: + +/* Line 1455 of yacc.c */ #line 374 "levcomp.ypp" + { } + break; + + case 95: + +/* Line 1455 of yacc.c */ +#line 376 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2058,13 +2188,17 @@ yyreduce: } break; - case 95: -#line 381 "levcomp.ypp" + case 96: + +/* Line 1455 of yacc.c */ +#line 383 "levcomp.ypp" { } break; - case 96: -#line 383 "levcomp.ypp" + case 97: + +/* Line 1455 of yacc.c */ +#line 385 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2073,13 +2207,17 @@ yyreduce: } break; - case 97: -#line 390 "levcomp.ypp" + case 98: + +/* Line 1455 of yacc.c */ +#line 392 "levcomp.ypp" { } break; - case 98: -#line 392 "levcomp.ypp" + case 99: + +/* Line 1455 of yacc.c */ +#line 394 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2088,13 +2226,17 @@ yyreduce: } break; - case 99: -#line 399 "levcomp.ypp" + case 100: + +/* Line 1455 of yacc.c */ +#line 402 "levcomp.ypp" { } break; - case 100: -#line 401 "levcomp.ypp" + case 101: + +/* Line 1455 of yacc.c */ +#line 404 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2103,8 +2245,22 @@ yyreduce: } break; - case 104: -#line 417 "levcomp.ypp" + case 105: + +/* Line 1455 of yacc.c */ +#line 419 "levcomp.ypp" + { + lc_map.main.add( + yylineno, + make_stringf("fheight(\"%s\")", + quote_lua_string((yyvsp[(1) - (1)].text)).c_str())); + } + break; + + case 109: + +/* Line 1455 of yacc.c */ +#line 435 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2113,8 +2269,10 @@ yyreduce: } break; - case 108: -#line 433 "levcomp.ypp" + case 113: + +/* Line 1455 of yacc.c */ +#line 451 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2123,8 +2281,10 @@ yyreduce: } break; - case 112: -#line 449 "levcomp.ypp" + case 117: + +/* Line 1455 of yacc.c */ +#line 467 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2133,18 +2293,24 @@ yyreduce: } break; - case 113: -#line 458 "levcomp.ypp" + case 118: + +/* Line 1455 of yacc.c */ +#line 476 "levcomp.ypp" { } break; - case 114: -#line 459 "levcomp.ypp" + case 119: + +/* Line 1455 of yacc.c */ +#line 477 "levcomp.ypp" { } break; - case 115: -#line 463 "levcomp.ypp" + case 120: + +/* Line 1455 of yacc.c */ +#line 481 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2153,23 +2319,31 @@ yyreduce: } break; - case 116: -#line 471 "levcomp.ypp" + case 121: + +/* Line 1455 of yacc.c */ +#line 489 "levcomp.ypp" { } break; - case 117: -#line 474 "levcomp.ypp" + case 122: + +/* Line 1455 of yacc.c */ +#line 492 "levcomp.ypp" { } break; - case 118: -#line 475 "levcomp.ypp" + case 123: + +/* Line 1455 of yacc.c */ +#line 493 "levcomp.ypp" { } break; - case 119: -#line 479 "levcomp.ypp" + case 124: + +/* Line 1455 of yacc.c */ +#line 497 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2178,13 +2352,17 @@ yyreduce: } break; - case 120: -#line 487 "levcomp.ypp" + case 125: + +/* Line 1455 of yacc.c */ +#line 505 "levcomp.ypp" { } break; - case 123: -#line 495 "levcomp.ypp" + case 128: + +/* Line 1455 of yacc.c */ +#line 513 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2193,18 +2371,24 @@ yyreduce: } break; - case 124: -#line 503 "levcomp.ypp" + case 129: + +/* Line 1455 of yacc.c */ +#line 521 "levcomp.ypp" {} break; - case 125: -#line 504 "levcomp.ypp" + case 130: + +/* Line 1455 of yacc.c */ +#line 522 "levcomp.ypp" {} break; - case 128: -#line 512 "levcomp.ypp" + case 133: + +/* Line 1455 of yacc.c */ +#line 530 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2213,18 +2397,24 @@ yyreduce: } break; - case 129: -#line 519 "levcomp.ypp" + case 134: + +/* Line 1455 of yacc.c */ +#line 537 "levcomp.ypp" {} break; - case 130: -#line 520 "levcomp.ypp" + case 135: + +/* Line 1455 of yacc.c */ +#line 538 "levcomp.ypp" {} break; - case 133: -#line 528 "levcomp.ypp" + case 138: + +/* Line 1455 of yacc.c */ +#line 546 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2233,8 +2423,10 @@ yyreduce: } break; - case 134: -#line 537 "levcomp.ypp" + case 139: + +/* Line 1455 of yacc.c */ +#line 555 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2243,13 +2435,17 @@ yyreduce: } break; - case 135: -#line 545 "levcomp.ypp" + case 140: + +/* Line 1455 of yacc.c */ +#line 563 "levcomp.ypp" {} break; - case 136: -#line 547 "levcomp.ypp" + case 141: + +/* Line 1455 of yacc.c */ +#line 565 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2258,8 +2454,10 @@ yyreduce: } break; - case 137: -#line 556 "levcomp.ypp" + case 142: + +/* Line 1455 of yacc.c */ +#line 574 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2267,8 +2465,10 @@ yyreduce: } break; - case 138: -#line 563 "levcomp.ypp" + case 143: + +/* Line 1455 of yacc.c */ +#line 581 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2276,8 +2476,10 @@ yyreduce: } break; - case 139: -#line 570 "levcomp.ypp" + case 144: + +/* Line 1455 of yacc.c */ +#line 588 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2285,8 +2487,10 @@ yyreduce: } break; - case 140: -#line 577 "levcomp.ypp" + case 145: + +/* Line 1455 of yacc.c */ +#line 595 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2294,8 +2498,10 @@ yyreduce: } break; - case 141: -#line 585 "levcomp.ypp" + case 146: + +/* Line 1455 of yacc.c */ +#line 603 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2303,13 +2509,17 @@ yyreduce: } break; - case 142: -#line 592 "levcomp.ypp" + case 147: + +/* Line 1455 of yacc.c */ +#line 610 "levcomp.ypp" {} break; - case 143: -#line 594 "levcomp.ypp" + case 148: + +/* Line 1455 of yacc.c */ +#line 612 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2318,8 +2528,10 @@ yyreduce: } break; - case 144: -#line 603 "levcomp.ypp" + case 149: + +/* Line 1455 of yacc.c */ +#line 621 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2328,8 +2540,10 @@ yyreduce: } break; - case 148: -#line 619 "levcomp.ypp" + case 153: + +/* Line 1455 of yacc.c */ +#line 637 "levcomp.ypp" { lc_map.mapchunk.add( yylineno, @@ -2338,8 +2552,10 @@ yyreduce: } break; - case 152: -#line 635 "levcomp.ypp" + case 157: + +/* Line 1455 of yacc.c */ +#line 653 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2349,8 +2565,9 @@ yyreduce: break; -/* Line 1267 of yacc.c. */ -#line 2354 "levcomp.tab.c" + +/* Line 1455 of yacc.c */ +#line 2571 "levcomp.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2361,7 +2578,6 @@ yyreduce: *++yyvsp = yyval; - /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -2426,7 +2642,7 @@ yyerrlab: if (yyerrstatus == 3) { - /* If just tried and failed to reuse look-ahead token after an + /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) @@ -2443,7 +2659,7 @@ yyerrlab: } } - /* Else will try to reuse look-ahead token after shifting the error + /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; @@ -2500,9 +2716,6 @@ yyerrlab1: YY_STACK_PRINT (yyss, yyssp); } - if (yyn == YYFINAL) - YYACCEPT; - *++yyvsp = yylval; @@ -2527,7 +2740,7 @@ yyabortlab: yyresult = 1; goto yyreturn; -#ifndef yyoverflow +#if !defined(yyoverflow) || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -2538,7 +2751,7 @@ yyexhaustedlab: #endif yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) + if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered @@ -2564,6 +2777,8 @@ yyreturn: } -#line 643 "levcomp.ypp" + +/* Line 1675 of yacc.c */ +#line 661 "levcomp.ypp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.h b/crawl-ref/source/prebuilt/levcomp.tab.h index 854ee5c3b3..b85b498aee 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.h +++ b/crawl-ref/source/prebuilt/levcomp.tab.h @@ -1,14 +1,15 @@ -/* A Bison parser, made by GNU Bison 2.3. */ + +/* A Bison parser, made by GNU Bison 2.4.1. */ /* Skeleton interface for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -16,9 +17,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -33,6 +32,7 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ + /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE @@ -74,16 +74,17 @@ RTILE = 290, TILE = 291, SUBVAULT = 292, - COMMA = 293, - COLON = 294, - PERC = 295, - INTEGER = 296, - CHARACTER = 297, - STRING = 298, - MAP_LINE = 299, - MONSTER_NAME = 300, - ITEM_INFO = 301, - LUA_LINE = 302 + FHEIGHT = 293, + COMMA = 294, + COLON = 295, + PERC = 296, + INTEGER = 297, + CHARACTER = 298, + STRING = 299, + MAP_LINE = 300, + MONSTER_NAME = 301, + ITEM_INFO = 302, + LUA_LINE = 303 }; #endif /* Tokens. */ @@ -122,34 +123,40 @@ #define RTILE 290 #define TILE 291 #define SUBVAULT 292 -#define COMMA 293 -#define COLON 294 -#define PERC 295 -#define INTEGER 296 -#define CHARACTER 297 -#define STRING 298 -#define MAP_LINE 299 -#define MONSTER_NAME 300 -#define ITEM_INFO 301 -#define LUA_LINE 302 +#define FHEIGHT 293 +#define COMMA 294 +#define COLON 295 +#define PERC 296 +#define INTEGER 297 +#define CHARACTER 298 +#define STRING 299 +#define MAP_LINE 300 +#define MONSTER_NAME 301 +#define ITEM_INFO 302 +#define LUA_LINE 303 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 45 "levcomp.ypp" { + +/* Line 1676 of yacc.c */ +#line 45 "levcomp.ypp" + int i; const char *text; raw_range range; -} -/* Line 1489 of yacc.c. */ -#line 149 "levcomp.tab.h" - YYSTYPE; + + + +/* Line 1676 of yacc.c */ +#line 156 "levcomp.tab.h" +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE yylval; |