diff options
author | Jude Brown <bookofjude@users.sourceforge.net> | 2010-02-21 16:35:55 +1000 |
---|---|---|
committer | Jude Brown <bookofjude@users.sourceforge.net> | 2010-02-21 16:35:55 +1000 |
commit | ac1e10a64082dbe39e3638a011ad3a7ce20f4931 (patch) | |
tree | 0188e5d994a2767aef63e70e70d66043531dc683 /crawl-ref/source/prebuilt | |
parent | e0cd8dda2377b24397b0ef27363a1242d448aee5 (diff) | |
download | crawl-ref-ac1e10a64082dbe39e3638a011ad3a7ce20f4931.tar.gz crawl-ref-ac1e10a64082dbe39e3638a011ad3a7ce20f4931.zip |
Update prebuild level compiler code for Lua epilogues.
Diffstat (limited to 'crawl-ref/source/prebuilt')
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.lex.cc | 2524 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.cc | 1352 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.h | 127 |
3 files changed, 1951 insertions, 2052 deletions
diff --git a/crawl-ref/source/prebuilt/levcomp.lex.cc b/crawl-ref/source/prebuilt/levcomp.lex.cc index 3298b84de1..63f819d806 100644 --- a/crawl-ref/source/prebuilt/levcomp.lex.cc +++ b/crawl-ref/source/prebuilt/levcomp.lex.cc @@ -54,7 +54,6 @@ 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 @@ -85,6 +84,8 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -141,7 +142,15 @@ 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. @@ -153,12 +162,7 @@ typedef unsigned int flex_uint32_t; typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -#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 int yyleng; extern FILE *yyin, *yyout; @@ -197,6 +201,11 @@ 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 @@ -214,7 +223,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int 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 @@ -284,8 +293,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 yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ -yy_size_t yyleng; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; @@ -313,7 +322,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,yy_size_t len ); +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); void *yyalloc (yy_size_t ); void *yyrealloc (void *,yy_size_t ); @@ -373,8 +382,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 83 -#define YY_END_OF_BUFFER 84 +#define YY_NUM_RULES 84 +#define YY_END_OF_BUFFER 85 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -382,52 +391,53 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1138] = +static yyconst flex_int16_t yy_accept[1180] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, + 0, 0, 0, 0, 0, 0, 85, 83, 80, 81, + 82, 78, 83, 76, 79, 77, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 80, 34, 36, 83, 83, 83, 83, 83, + 83, 83, 84, 6, 84, 84, 4, 2, 3, 84, + 2, 2, 2, 2, 9, 10, 84, 9, 9, 84, + 12, 84, 32, 80, 33, 82, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 79, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 80, 32, - 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, + 32, 32, 32, 32, 32, 32, 32, 32, 83, 28, + 23, 28, 78, 83, 27, 79, 77, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 28, 34, 36, 83, 83, 83, + 83, 83, 83, 83, 15, 16, 82, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 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, + 13, 13, 13, 13, 13, 83, 13, 15, 13, 13, + 13, 13, 13, 13, 84, 21, 22, 84, 20, 84, + 80, 81, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 34, 36, 0, 0, 0, 0, 0, 34, 0, + 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, 80, 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, 0, - 30, 31, 79, 31, 34, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 26, 0, 26, 28, 23, 28, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 0, 30, 31, 80, 31, + 34, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 0, 23, 26, 26, 26, 26, 26, 26, 26, 26, + 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, 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, + 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, 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, 0, - 14, 13, 15, 13, 13, 13, 13, 13, 13, 13, - 19, 0, 19, 21, 22, 0, 0, 0, 0, 18, + 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, 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, @@ -436,79 +446,82 @@ static yyconst flex_int16_t yy_accept[1138] = 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, 26, 26, 26, 26, + 31, 31, 0, 24, 0, 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, 13, 13, 13, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 34, 34, 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, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 0, 17, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 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, 35, 0, 0, 0, 0, 0, 2, 9, 8, - 0, 9, 7, 0, 31, 31, 31, 31, 31, 31, + 0, 0, 0, 0, 35, 0, 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, 0, 0, 31, 31, 31, - 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, + 31, 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, 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, + 26, 26, 26, 26, 26, 26, 26, 0, 26, 0, + 26, 26, 26, 26, 13, 13, 13, 13, 13, 13, 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, + 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, 0, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 66, 43, 0, 0, + 0, 0, 0, 0, 0, 52, 64, 0, 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, 31, 31, 31, - 31, 31, 31, 0, 31, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 31, 31, 0, 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, 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, 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, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 0, 0, 0, 45, 0, 51, 62, 70, 71, 73, + 72, 74, 0, 0, 0, 0, 0, 0, 0, 47, + 63, 0, 55, 0, 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, 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, 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, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 53, 48, - 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, 31, 31, 26, 26, 26, + 13, 13, 13, 54, 49, 57, 0, 53, 0, 0, + 0, 0, 68, 56, 46, 0, 0, 50, 0, 0, + 0, 0, 0, 1, 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, 26, 26, 26, 26, 26, 26, 26, 26, - 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 + 26, 26, 26, 26, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 65, 0, 0, 0, + 0, 69, 0, 48, 0, 0, 0, 0, 0, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, + 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 0, 26, 26, 13, 13, 13, 13, 13, + + 13, 13, 13, 0, 0, 59, 0, 75, 0, 0, + 0, 37, 0, 0, 31, 31, 31, 31, 31, 31, + 0, 31, 31, 0, 31, 26, 26, 26, 26, 26, + 26, 0, 26, 26, 0, 26, 13, 13, 13, 13, + 58, 0, 61, 0, 42, 40, 31, 31, 31, 31, + 31, 31, 26, 26, 26, 26, 26, 26, 13, 13, + 60, 0, 31, 31, 26, 26, 13, 0, 31, 26, + 13, 0, 31, 26, 13, 44, 31, 26, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -524,9 +537,9 @@ static yyconst flex_int32_t yy_ec[256] = 22, 29, 30, 31, 32, 33, 34, 22, 22, 22, 1, 35, 1, 1, 22, 1, 36, 22, 22, 37, - 38, 39, 22, 40, 41, 22, 22, 42, 22, 22, - 43, 44, 22, 45, 46, 47, 48, 49, 22, 22, - 22, 22, 50, 1, 51, 1, 1, 1, 1, 1, + 38, 39, 40, 41, 42, 22, 22, 43, 22, 22, + 44, 45, 22, 46, 47, 48, 49, 50, 22, 22, + 22, 22, 51, 1, 52, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -543,1122 +556,1166 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[52] = +static yyconst flex_int32_t yy_meta[53] = { 0, 1, 2, 3, 4, 1, 1, 1, 1, 5, 6, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, - 1 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 1, 1 } ; -static yyconst flex_int16_t yy_base[1155] = +static yyconst flex_int16_t yy_base[1197] = { 0, - 0, 50, 54, 61, 65, 67, 50, 69, 118, 168, - 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 + 0, 51, 55, 62, 66, 68, 51, 70, 120, 171, + 222, 273, 324, 375, 79, 176, 2645, 3859, 73, 3859, + 2641, 3859, 2618, 3859, 2607, 3859, 2578, 60, 2578, 66, + 2563, 82, 75, 64, 82, 2562, 2562, 2545, 79, 95, + 2554, 2529, 425, 0, 3859, 79, 2521, 2512, 2505, 150, + 81, 2496, 3859, 3859, 2534, 183, 3859, 0, 3859, 2527, + 187, 0, 2503, 157, 2476, 3859, 2517, 146, 2464, 191, + 3859, 2508, 278, 284, 3859, 380, 384, 388, 393, 399, + 403, 431, 412, 407, 449, 454, 488, 492, 498, 513, + 503, 477, 460, 526, 439, 532, 537, 548, 552, 558, + + 564, 569, 573, 586, 590, 598, 605, 609, 279, 624, + 3859, 644, 443, 650, 3859, 651, 596, 632, 637, 649, + 663, 668, 672, 673, 699, 708, 687, 704, 709, 713, + 744, 715, 749, 725, 764, 768, 753, 769, 757, 759, + 776, 781, 785, 795, 810, 3859, 822, 2494, 2492, 0, + 2481, 179, 2476, 181, 2461, 182, 184, 263, 264, 2452, + 2453, 2443, 188, 278, 2451, 298, 2429, 829, 279, 2419, + 2414, 2413, 268, 146, 805, 833, 3859, 839, 3859, 845, + 302, 3859, 2444, 2421, 2430, 2417, 2410, 2417, 2410, 2399, + 2390, 2388, 2372, 282, 2367, 2370, 2366, 2338, 2339, 2334, + + 2320, 2326, 2328, 2315, 2303, 2313, 2304, 2295, 284, 2267, + 0, 0, 3859, 2256, 2250, 2248, 179, 2233, 0, 268, + 2239, 2235, 2225, 2231, 425, 2195, 2189, 3859, 3859, 3859, + 2229, 483, 0, 3859, 0, 2223, 576, 2202, 2187, 374, + 2155, 2150, 3859, 265, 2143, 849, 318, 3859, 2191, 3859, + 854, 858, 867, 873, 3859, 879, 883, 3859, 892, 902, + 907, 911, 917, 926, 934, 946, 951, 955, 960, 969, + 973, 983, 995, 1007, 1011, 1015, 1019, 1023, 1030, 1043, + 1051, 1055, 1066, 1070, 1075, 1104, 3859, 1087, 0, 1093, + 1098, 1109, 1113, 1119, 1127, 1132, 1145, 1141, 1151, 1155, + + 1167, 890, 996, 1179, 1193, 3859, 1202, 1206, 3859, 1210, + 1211, 1187, 1215, 1221, 1225, 1227, 1231, 1236, 1242, 1133, + 1252, 1047, 1246, 1253, 1262, 1267, 1271, 1273, 1280, 1281, + 1290, 1298, 1305, 1307, 1312, 1322, 1318, 3859, 1346, 1326, + 0, 1350, 1358, 1366, 1371, 1339, 1375, 1377, 1381, 1382, + 1387, 1386, 1393, 1400, 3859, 1421, 1434, 1438, 3859, 0, + 2179, 2162, 2155, 2137, 2129, 2127, 2130, 2118, 2111, 2109, + 2081, 444, 2080, 2077, 2073, 2070, 2069, 2066, 2057, 2055, + 2062, 2053, 2038, 2043, 2031, 2022, 498, 1442, 3859, 2002, + 0, 350, 1995, 1999, 1994, 2009, 430, 1955, 1949, 1446, + + 1447, 1455, 1459, 3859, 1463, 1467, 1472, 1481, 3859, 1497, + 1982, 1968, 1966, 1960, 1965, 1966, 1958, 1955, 1964, 1958, + 1935, 1938, 1925, 532, 1922, 1908, 1899, 1910, 1911, 1906, + 1900, 1889, 1891, 514, 1876, 1884, 1864, 1864, 1836, 1501, + 1822, 978, 1805, 1804, 1789, 1778, 1775, 1506, 1510, 1515, + 3859, 1519, 1524, 3859, 1528, 1533, 1537, 1543, 1548, 1552, + 1572, 1580, 1584, 1588, 1593, 1601, 1609, 1616, 1620, 1625, + 1644, 1648, 1637, 1654, 1659, 1669, 1683, 1688, 1694, 1698, + 1708, 1712, 1717, 1732, 1736, 1746, 1740, 1751, 1755, 1759, + 1768, 1772, 1809, 3859, 1815, 1780, 1660, 1764, 1790, 1559, + + 1597, 1799, 1803, 1822, 1824, 1828, 1834, 1835, 1840, 1841, + 1845, 1847, 1849, 1859, 1869, 1876, 1883, 1885, 1891, 1887, + 1893, 1895, 1897, 1903, 1931, 1939, 1943, 1914, 1948, 1949, + 1953, 1954, 1490, 1784, 1770, 1762, 1757, 1763, 1761, 1755, + 1753, 1752, 1745, 1728, 1720, 1708, 538, 1715, 1697, 1681, + 1692, 1687, 1680, 1676, 1658, 1663, 582, 1645, 1653, 1638, + 1630, 1602, 1958, 1594, 987, 1591, 1598, 1575, 1568, 1965, + 3859, 1969, 1589, 1585, 1564, 1561, 1556, 1541, 1552, 1554, + 1534, 1535, 1532, 1521, 1521, 1525, 1516, 1517, 1519, 1485, + 1484, 1463, 1465, 1472, 1471, 1469, 1449, 1466, 1466, 1463, + + 1435, 1427, 1404, 1999, 3859, 1406, 1079, 1390, 1384, 1395, + 1114, 1418, 2003, 3859, 2007, 2011, 3859, 2015, 2019, 2024, + 2029, 2038, 2043, 2047, 2063, 2067, 2079, 2083, 2088, 2092, + 2101, 2111, 2115, 2129, 2136, 2143, 2154, 2158, 2165, 2170, + 2175, 2179, 2194, 2199, 2204, 2215, 2226, 2231, 2219, 2238, + 2243, 2247, 2251, 2255, 2260, 2265, 2025, 2051, 2119, 2272, + 2130, 2278, 2274, 2291, 2180, 2309, 2102, 2310, 2315, 2270, + 2283, 2319, 2320, 2326, 2327, 2328, 2344, 2351, 2355, 2346, + 2364, 2369, 2371, 2373, 2382, 2386, 2375, 2423, 2387, 2395, + 2409, 2407, 2413, 2414, 1408, 1405, 1387, 1398, 1395, 1383, + + 1392, 1396, 1366, 1371, 1367, 1342, 1338, 1345, 1331, 1333, + 1328, 1327, 1326, 1307, 1309, 1317, 1301, 1295, 1273, 1286, + 1286, 1278, 1269, 1257, 1225, 1224, 1214, 1224, 1173, 1213, + 1217, 1202, 1213, 1199, 1206, 1189, 3859, 1187, 1181, 1179, + 1175, 1173, 1149, 1148, 452, 1145, 3859, 3859, 1142, 1121, + 1139, 1128, 1103, 1113, 1088, 3859, 3859, 1073, 1068, 1045, + 1047, 3859, 1036, 1031, 1327, 1015, 1035, 2431, 2435, 2449, + 2467, 2471, 2478, 2483, 2492, 2496, 2505, 2510, 2521, 2530, + 2534, 2539, 2544, 2548, 2553, 2558, 2568, 2576, 2580, 2585, + 2600, 2596, 2608, 2612, 2617, 2623, 2628, 2632, 2637, 2644, + + 2655, 2660, 2664, 2669, 2427, 2621, 2676, 2681, 2484, 2682, + 2686, 2519, 2695, 2701, 2707, 2720, 2721, 2722, 2729, 2735, + 2733, 2739, 2741, 2746, 2758, 2767, 2773, 2781, 2782, 2786, + 2790, 2794, 2795, 2799, 2801, 2805, 2807, 2817, 2826, 2818, + 2830, 1032, 1044, 1012, 1027, 1013, 1014, 1002, 998, 994, + 993, 991, 982, 963, 955, 483, 950, 945, 939, 954, + 951, 934, 942, 917, 913, 916, 897, 894, 896, 896, + 917, 912, 911, 3859, 887, 3859, 3859, 3859, 3859, 3859, + 3859, 3859, 905, 489, 883, 884, 888, 887, 886, 3859, + 3859, 874, 3859, 866, 867, 856, 819, 817, 827, 813, + + 3859, 850, 2844, 2855, 2866, 2870, 2878, 2882, 2887, 2891, + 2895, 2902, 2906, 2910, 2916, 2927, 2934, 2942, 2948, 2952, + 2963, 2968, 2974, 2980, 2984, 2988, 3002, 3016, 2997, 3006, + 3022, 3026, 3034, 3038, 3042, 3044, 2853, 3057, 2914, 3061, + 3062, 3063, 3070, 3076, 3078, 3082, 3084, 3098, 3088, 3102, + 3116, 3122, 3124, 3130, 3136, 3134, 3138, 3140, 3144, 3142, + 3153, 3158, 3162, 3176, 827, 817, 807, 787, 805, 574, + 782, 784, 789, 786, 783, 776, 767, 777, 768, 732, + 727, 737, 708, 3859, 3859, 3859, 735, 3859, 715, 720, + 713, 712, 3859, 3859, 3859, 723, 700, 3859, 717, 715, + + 686, 1664, 685, 714, 3178, 3182, 3187, 3196, 3201, 3210, + 3214, 3219, 3223, 3228, 3236, 3246, 3255, 3251, 3260, 3264, + 3268, 3275, 3283, 3287, 3291, 3292, 3296, 3300, 3302, 3306, + 3315, 3304, 3314, 3319, 3327, 3338, 3340, 3346, 3351, 3353, + 3358, 3359, 3364, 3365, 693, 669, 674, 664, 658, 669, + 649, 664, 661, 631, 1675, 625, 3859, 634, 614, 620, + 613, 3859, 612, 3859, 585, 1703, 1804, 569, 1974, 3374, + 3378, 3387, 3402, 3414, 3419, 3423, 3428, 3434, 3438, 3442, + 3446, 3451, 3382, 3455, 3459, 3460, 3424, 3465, 3473, 3482, + 3486, 3494, 3496, 3501, 3502, 595, 593, 604, 589, 585, + + 548, 1985, 2171, 572, 559, 3859, 558, 3859, 526, 2396, + 484, 3859, 2604, 478, 3507, 3511, 3520, 3528, 3539, 3546, + 3552, 3556, 3560, 3564, 3571, 3565, 3577, 3578, 3584, 3583, + 3588, 3596, 3600, 3606, 3615, 3619, 512, 482, 449, 408, + 3859, 428, 3859, 384, 3859, 3859, 3623, 3628, 3632, 3640, + 3644, 3651, 3655, 3657, 3659, 3663, 3669, 3671, 394, 357, + 3859, 348, 3676, 3691, 3682, 3686, 346, 269, 3695, 3700, + 178, 93, 3708, 3713, 73, 3859, 3727, 3714, 3859, 3762, + 3768, 3774, 3780, 3786, 3792, 3798, 3804, 3810, 3816, 3822, + 3828, 3834, 3840, 3846, 56, 3852 + } ; -static yyconst flex_int16_t yy_def[1155] = +static yyconst flex_int16_t yy_def[1197] = { 0, - 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 + 1179, 1, 1180, 1181, 1182, 1182, 1183, 1183, 1179, 9, + 1179, 11, 1179, 13, 1184, 1184, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1185, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1186, 1179, 1187, 1179, 1179, + 1188, 1187, 1187, 1187, 1189, 1179, 1179, 1189, 1189, 1190, + 1179, 1179, 1191, 1179, 1179, 1179, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 43, 1192, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1193, 1179, + 1179, 1179, 1193, 1193, 1179, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 43, 1194, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1179, 1179, 1179, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1179, 1195, 43, 1195, 1195, + 1195, 1195, 1195, 1195, 1196, 1179, 1179, 1179, 1179, 1196, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 43, 1185, 1179, 1179, 1179, 1179, 1179, 1179, 1185, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1187, 1179, 1187, 1179, 1187, 1187, 1187, 1187, + 1189, 1189, 1179, 1189, 1189, 1189, 1190, 1179, 1179, 1179, + 1191, 1191, 1191, 1179, 1179, 1179, 1179, 1179, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1179, 1191, 99, 1192, + 1192, 1192, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1193, 1193, 1193, 1179, 1179, 1179, 1179, 1179, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1179, 1179, 1193, + 135, 1194, 1194, 1194, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1179, 1179, 1179, 1179, 1179, 1179, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1179, 1179, 1195, + 168, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1196, + + 1196, 1196, 1179, 1179, 1179, 1179, 1179, 1196, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1187, 1189, 1189, 1189, + 1179, 1179, 1191, 1179, 1179, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1192, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1193, 1179, 1179, 1193, 1193, 1193, 1193, 1193, + + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1194, 1185, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1196, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1187, 1189, 1179, 1179, 1189, 1179, 1179, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1195, 1195, 1195, 1195, 1195, 1195, + + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1187, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + + 1179, 1187, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + + 1179, 1179, 1179, 1187, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1195, 1195, 1195, 1195, 1195, + + 1195, 1195, 1195, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1195, 1195, 1195, 1195, + 1179, 1179, 1179, 1179, 1179, 1179, 1191, 1191, 1191, 1191, + 1191, 1191, 1193, 1193, 1193, 1193, 1193, 1193, 1195, 1195, + 1179, 1179, 1191, 1191, 1193, 1193, 1195, 1179, 1191, 1193, + 1195, 1179, 1191, 1193, 1195, 1179, 1191, 1193, 0, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179 + } ; -static yyconst flex_int16_t yy_nxt[3764] = +static yyconst flex_int16_t yy_nxt[3912] = { 0, 18, 19, 20, 21, 19, 18, 22, 23, 24, 23, 25, 26, 18, 27, 28, 29, 18, 30, 18, 18, 31, 18, 32, 33, 34, 35, 36, 37, 38, 39, 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, - 233, 45, 52, 58, 59, 60, 61, 65, 66, 65, - 66, 70, 71, 177, 46, 181, 177, 62, 172, 173, - 174, 172, 182, 184, 201, 175, 196, 185, 194, 234, - 192, 47, 352, 48, 186, 49, 202, 188, 50, 51, - - 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, - 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, - - 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, - 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, - - 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, - 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 + 18, 18, 43, 71, 72, 43, 44, 54, 55, 56, + 57, 360, 45, 53, 59, 60, 61, 62, 66, 67, + 66, 67, 71, 72, 181, 46, 198, 181, 63, 185, + 176, 177, 178, 176, 1176, 188, 186, 179, 47, 189, + 199, 220, 196, 48, 200, 49, 190, 50, 205, 192, + + 51, 52, 193, 197, 1176, 199, 194, 207, 64, 195, + 206, 201, 68, 180, 68, 208, 226, 69, 227, 69, + 73, 74, 75, 76, 74, 73, 77, 78, 79, 78, + 80, 81, 73, 82, 83, 84, 73, 85, 73, 73, + 86, 73, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 73, 73, 96, 97, 73, 98, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 99, 239, 224, 99, 100, 176, 177, 178, + 176, 398, 101, 399, 179, 229, 231, 232, 230, 234, + 236, 237, 244, 248, 249, 102, 225, 245, 363, 370, + + 366, 374, 371, 240, 367, 364, 372, 383, 103, 373, + 180, 368, 375, 104, 226, 105, 227, 106, 1175, 384, + 107, 108, 109, 110, 111, 112, 110, 109, 113, 114, + 115, 114, 116, 117, 109, 118, 119, 120, 109, 121, + 109, 109, 122, 109, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 109, 109, 132, 133, 109, 134, 109, + 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 135, 376, 378, 135, 136, 252, + 303, 252, 252, 303, 137, 254, 255, 256, 254, 377, + 385, 392, 396, 379, 421, 440, 426, 138, 386, 388, + + 389, 388, 388, 181, 437, 377, 181, 438, 422, 1172, + 139, 244, 253, 304, 397, 140, 245, 141, 257, 142, + 248, 249, 143, 144, 18, 145, 146, 147, 145, 18, + 22, 23, 24, 148, 149, 26, 150, 151, 152, 153, + 150, 154, 150, 150, 155, 150, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 150, 150, 165, 166, 150, + 167, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 18, 18, 168, 563, 549, 168, + 44, 256, 258, 256, 256, 252, 45, 252, 252, 252, + 239, 252, 252, 1171, 252, 1168, 252, 252, 259, 169, + + 252, 1167, 252, 252, 252, 1161, 252, 252, 252, 259, + 252, 252, 170, 252, 257, 252, 252, 171, 253, 172, + 240, 173, 253, 263, 174, 52, 211, 253, 1162, 211, + 212, 261, 252, 253, 252, 252, 213, 253, 262, 1161, + 252, 253, 252, 252, 303, 1160, 253, 303, 260, 224, + 252, 283, 252, 252, 396, 252, 544, 252, 252, 284, + 1143, 252, 214, 252, 252, 253, 885, 215, 264, 216, + 545, 225, 265, 253, 217, 218, 397, 304, 252, 266, + 252, 252, 886, 253, 267, 229, 231, 232, 253, 252, + 280, 252, 252, 252, 253, 252, 252, 971, 1159, 252, + + 279, 252, 252, 989, 252, 268, 252, 252, 269, 272, + 274, 253, 270, 972, 252, 271, 252, 252, 560, 990, + 273, 561, 253, 1141, 275, 276, 253, 252, 1146, 252, + 252, 278, 253, 252, 1145, 252, 252, 253, 286, 287, + 286, 286, 277, 597, 586, 281, 598, 253, 285, 252, + 708, 252, 252, 289, 255, 256, 289, 282, 587, 291, + 253, 291, 291, 1144, 709, 252, 253, 252, 252, 1143, + 252, 253, 252, 252, 252, 1142, 252, 252, 234, 236, + 237, 293, 253, 1141, 1140, 288, 257, 252, 1046, 252, + 252, 252, 292, 252, 252, 275, 1108, 303, 253, 252, + + 303, 252, 252, 253, 1047, 1139, 252, 253, 252, 252, + 252, 719, 252, 252, 720, 1106, 1138, 294, 1137, 1112, + 253, 1109, 297, 1108, 253, 305, 306, 307, 305, 1107, + 304, 1106, 253, 303, 295, 296, 303, 1105, 303, 253, + 299, 303, 300, 253, 298, 307, 309, 307, 307, 311, + 303, 303, 303, 303, 303, 303, 312, 1104, 308, 301, + 310, 310, 1103, 313, 303, 314, 304, 303, 1102, 303, + 1101, 304, 303, 303, 303, 1064, 303, 303, 308, 1100, + 1062, 1099, 315, 304, 304, 304, 316, 1098, 303, 319, + 323, 303, 320, 317, 1097, 1096, 321, 304, 318, 322, + + 303, 324, 304, 303, 1057, 303, 304, 304, 303, 303, + 303, 325, 303, 303, 303, 329, 303, 303, 1004, 303, + 327, 304, 1069, 1066, 1065, 326, 303, 330, 1064, 303, + 1063, 336, 332, 304, 1062, 1061, 1060, 328, 304, 331, + 1059, 1058, 304, 304, 333, 303, 1057, 304, 303, 304, + 337, 338, 339, 337, 303, 1056, 334, 303, 303, 304, + 303, 303, 340, 303, 335, 341, 306, 307, 341, 343, + 303, 219, 343, 303, 1055, 1054, 219, 303, 304, 1053, + 303, 345, 303, 304, 1052, 303, 303, 304, 998, 303, + 1051, 304, 1050, 304, 995, 326, 303, 994, 308, 303, + + 993, 346, 344, 304, 1049, 349, 401, 347, 1048, 401, + 304, 354, 355, 356, 354, 304, 988, 1045, 986, 304, + 351, 348, 352, 358, 359, 358, 358, 350, 985, 304, + 391, 355, 356, 391, 403, 404, 405, 403, 984, 402, + 407, 404, 407, 407, 357, 353, 408, 409, 410, 408, + 450, 451, 452, 450, 1004, 252, 357, 252, 252, 252, + 1003, 252, 252, 357, 1002, 1001, 1000, 406, 453, 454, + 453, 453, 999, 406, 254, 255, 256, 254, 998, 402, + 256, 255, 256, 256, 455, 287, 455, 455, 253, 997, + 996, 303, 253, 252, 303, 252, 252, 995, 994, 993, + + 448, 253, 259, 252, 992, 252, 252, 257, 252, 991, + 252, 252, 252, 257, 252, 252, 988, 987, 252, 457, + 252, 252, 986, 985, 304, 456, 253, 252, 984, 252, + 252, 983, 982, 981, 458, 252, 253, 252, 252, 980, + 979, 253, 460, 978, 459, 253, 461, 252, 977, 252, + 252, 253, 252, 893, 252, 252, 252, 976, 252, 252, + 253, 252, 891, 252, 252, 890, 462, 463, 253, 975, + 252, 464, 252, 252, 252, 974, 252, 252, 973, 607, + 253, 466, 607, 970, 252, 253, 252, 252, 607, 253, + 465, 607, 969, 882, 253, 467, 252, 303, 252, 252, + + 303, 468, 881, 253, 880, 879, 469, 253, 252, 878, + 252, 252, 252, 877, 252, 252, 252, 253, 252, 252, + 252, 470, 252, 252, 252, 876, 252, 252, 608, 253, + 304, 252, 968, 252, 252, 471, 472, 608, 874, 473, + 967, 253, 476, 475, 252, 253, 252, 252, 303, 253, + 474, 303, 252, 253, 252, 252, 252, 253, 252, 252, + 966, 965, 902, 477, 253, 901, 900, 252, 479, 252, + 252, 252, 899, 252, 252, 508, 252, 253, 252, 252, + 607, 304, 478, 607, 480, 253, 898, 897, 252, 253, + 252, 252, 896, 481, 291, 482, 291, 291, 483, 291, + + 253, 291, 291, 895, 253, 286, 287, 286, 286, 253, + 485, 454, 485, 485, 252, 765, 252, 252, 765, 894, + 252, 253, 252, 252, 893, 484, 892, 292, 252, 608, + 252, 252, 292, 252, 303, 252, 252, 303, 253, 891, + 486, 471, 252, 292, 252, 252, 252, 253, 252, 252, + 890, 889, 252, 253, 252, 252, 252, 490, 252, 252, + 487, 253, 488, 505, 766, 297, 253, 304, 252, 489, + 252, 252, 888, 887, 765, 253, 884, 765, 883, 253, + 493, 494, 495, 493, 882, 253, 881, 298, 303, 253, + 880, 303, 879, 491, 305, 306, 307, 305, 878, 497, + + 877, 253, 492, 307, 306, 307, 307, 339, 338, 339, + 339, 303, 303, 304, 303, 303, 303, 876, 875, 303, + 310, 304, 303, 766, 874, 303, 303, 308, 303, 303, + 873, 303, 303, 872, 496, 303, 308, 303, 498, 501, + 303, 500, 871, 303, 304, 304, 303, 303, 499, 304, + 303, 502, 503, 303, 303, 304, 303, 303, 504, 304, + 870, 304, 869, 303, 506, 304, 303, 868, 303, 509, + 304, 303, 303, 867, 303, 303, 304, 303, 507, 510, + 304, 303, 303, 866, 303, 303, 304, 304, 865, 757, + 511, 303, 512, 516, 303, 513, 304, 756, 864, 303, + + 515, 304, 303, 863, 514, 304, 303, 304, 303, 303, + 517, 303, 862, 303, 304, 304, 303, 861, 519, 337, + 338, 339, 337, 303, 304, 520, 303, 303, 765, 518, + 303, 765, 304, 860, 859, 521, 858, 748, 747, 304, + 303, 304, 522, 303, 857, 523, 304, 339, 338, 339, + 339, 343, 304, 219, 343, 856, 304, 855, 219, 343, + 304, 219, 343, 854, 524, 853, 219, 525, 494, 526, + 525, 852, 303, 304, 219, 303, 303, 766, 303, 303, + 528, 303, 303, 303, 344, 303, 303, 303, 303, 851, + 303, 303, 344, 531, 303, 850, 849, 303, 527, 511, + + 344, 354, 355, 356, 354, 304, 349, 737, 848, 304, + 529, 304, 847, 846, 530, 304, 304, 845, 844, 843, + 304, 304, 358, 355, 358, 358, 842, 304, 350, 532, + 767, 764, 763, 533, 357, 388, 389, 388, 388, 358, + 762, 358, 358, 388, 389, 388, 388, 401, 401, 761, + 401, 401, 760, 759, 758, 357, 570, 571, 572, 570, + 403, 404, 405, 403, 407, 404, 407, 407, 410, 409, + 410, 410, 357, 407, 757, 407, 407, 756, 755, 754, + 402, 402, 408, 409, 410, 408, 753, 752, 751, 402, + 750, 303, 749, 406, 303, 748, 747, 406, 410, 409, + + 410, 410, 604, 605, 604, 604, 406, 613, 614, 615, + 613, 616, 617, 618, 616, 402, 450, 451, 452, 450, + 452, 451, 452, 452, 304, 453, 454, 453, 453, 455, + 287, 455, 455, 694, 252, 746, 252, 252, 252, 745, + 252, 252, 744, 743, 252, 619, 252, 252, 742, 252, + 741, 252, 252, 252, 740, 252, 252, 448, 253, 739, + 303, 448, 620, 303, 738, 737, 242, 253, 736, 621, + 735, 253, 623, 252, 734, 252, 252, 253, 622, 661, + 733, 252, 253, 252, 252, 252, 253, 252, 252, 252, + 624, 252, 252, 304, 252, 732, 252, 252, 303, 731, + + 627, 303, 252, 625, 252, 252, 253, 730, 626, 628, + 252, 729, 252, 252, 253, 662, 728, 252, 253, 252, + 252, 252, 253, 252, 252, 563, 252, 253, 252, 252, + 629, 304, 632, 727, 630, 253, 726, 725, 252, 634, + 252, 252, 631, 253, 724, 252, 633, 252, 252, 252, + 253, 252, 252, 637, 253, 252, 723, 252, 252, 253, + 252, 303, 252, 252, 303, 1067, 635, 638, 1067, 722, + 252, 253, 252, 252, 721, 639, 1067, 636, 253, 1067, + 718, 717, 253, 640, 252, 658, 252, 252, 253, 252, + 716, 252, 252, 253, 304, 252, 715, 252, 252, 252, + + 714, 252, 252, 253, 1110, 642, 641, 1110, 713, 252, + 712, 252, 252, 252, 1068, 252, 252, 253, 252, 711, + 252, 252, 253, 643, 646, 1068, 644, 645, 253, 710, + 647, 648, 253, 252, 707, 252, 252, 485, 454, 485, + 485, 252, 253, 252, 252, 706, 253, 650, 605, 650, + 650, 253, 652, 1111, 252, 652, 252, 705, 252, 252, + 252, 704, 252, 252, 703, 303, 253, 649, 303, 252, + 292, 252, 252, 252, 253, 252, 252, 702, 701, 700, + 253, 303, 651, 699, 303, 253, 486, 698, 697, 253, + 659, 303, 657, 253, 303, 696, 695, 654, 304, 612, + + 303, 653, 253, 303, 303, 1067, 253, 303, 1067, 655, + 493, 494, 495, 493, 304, 656, 495, 494, 495, 495, + 660, 611, 663, 303, 304, 303, 303, 664, 303, 303, + 610, 440, 303, 304, 665, 303, 303, 304, 303, 303, + 666, 303, 303, 304, 303, 303, 303, 609, 303, 303, + 303, 303, 670, 303, 1068, 672, 304, 667, 304, 668, + 303, 669, 304, 303, 606, 675, 671, 673, 304, 304, + 303, 603, 676, 303, 304, 304, 674, 303, 602, 304, + 303, 304, 601, 304, 303, 677, 303, 303, 303, 303, + 678, 303, 303, 304, 303, 303, 303, 303, 303, 303, + + 600, 303, 680, 304, 303, 599, 679, 303, 596, 684, + 304, 686, 595, 685, 594, 303, 683, 304, 303, 304, + 681, 304, 593, 682, 592, 304, 591, 304, 590, 304, + 589, 304, 525, 494, 526, 525, 588, 304, 687, 219, + 526, 494, 526, 526, 688, 605, 604, 688, 304, 690, + 303, 585, 690, 303, 303, 303, 689, 303, 303, 604, + 605, 604, 604, 584, 583, 344, 570, 571, 572, 570, + 572, 571, 572, 572, 582, 1113, 581, 304, 1113, 580, + 527, 579, 304, 304, 578, 577, 1110, 304, 304, 1110, + 576, 692, 575, 574, 573, 693, 569, 568, 691, 402, + + 604, 605, 604, 604, 613, 614, 615, 613, 615, 614, + 615, 615, 616, 617, 618, 616, 618, 617, 618, 618, + 252, 567, 252, 252, 1114, 252, 303, 252, 252, 303, + 252, 566, 252, 252, 565, 1111, 564, 768, 769, 252, + 562, 252, 252, 805, 252, 559, 252, 252, 252, 558, + 252, 252, 303, 253, 242, 303, 557, 771, 253, 304, + 770, 772, 242, 253, 252, 806, 252, 252, 252, 556, + 252, 252, 253, 555, 554, 553, 773, 253, 775, 774, + 252, 253, 252, 252, 252, 304, 252, 252, 552, 252, + 551, 252, 252, 252, 550, 252, 252, 253, 549, 548, + + 547, 253, 252, 303, 252, 252, 303, 777, 546, 776, + 778, 543, 252, 253, 252, 252, 252, 253, 252, 252, + 303, 779, 253, 303, 815, 542, 253, 541, 780, 781, + 252, 303, 252, 252, 303, 253, 304, 252, 540, 252, + 252, 782, 539, 538, 252, 253, 252, 252, 809, 253, + 807, 783, 784, 304, 785, 252, 537, 252, 252, 252, + 536, 252, 252, 253, 304, 786, 252, 535, 252, 252, + 253, 252, 1113, 252, 252, 1113, 252, 253, 252, 252, + 252, 303, 252, 252, 303, 534, 789, 787, 253, 361, + 788, 790, 253, 248, 449, 252, 791, 252, 252, 253, + + 252, 448, 252, 252, 253, 252, 242, 252, 252, 253, + 813, 793, 238, 253, 304, 794, 252, 447, 252, 252, + 252, 1114, 252, 252, 792, 234, 795, 252, 253, 252, + 252, 229, 252, 253, 252, 252, 446, 445, 253, 650, + 605, 650, 650, 444, 252, 796, 252, 252, 652, 253, + 252, 652, 252, 253, 252, 252, 252, 797, 252, 252, + 253, 252, 443, 252, 252, 253, 803, 798, 252, 803, + 442, 303, 253, 303, 303, 303, 303, 253, 303, 303, + 441, 253, 303, 228, 303, 253, 799, 303, 818, 253, + 811, 808, 303, 223, 253, 303, 802, 653, 222, 253, + + 221, 800, 812, 801, 304, 439, 304, 810, 304, 819, + 303, 303, 304, 303, 303, 804, 303, 304, 436, 303, + 303, 303, 435, 303, 303, 304, 434, 303, 303, 303, + 303, 303, 303, 814, 433, 432, 821, 822, 823, 816, + 431, 820, 817, 304, 304, 303, 430, 303, 303, 304, + 303, 429, 303, 304, 304, 303, 303, 824, 428, 303, + 304, 304, 304, 828, 427, 303, 426, 826, 303, 825, + 303, 827, 303, 303, 303, 303, 303, 303, 304, 303, + 304, 830, 831, 303, 832, 304, 303, 303, 303, 304, + 303, 303, 425, 424, 829, 423, 690, 1110, 304, 690, + + 1110, 833, 420, 304, 419, 304, 418, 304, 303, 304, + 303, 303, 834, 303, 303, 840, 304, 303, 840, 417, + 304, 304, 416, 835, 688, 605, 604, 688, 303, 304, + 836, 303, 252, 415, 252, 252, 252, 414, 252, 252, + 413, 304, 412, 304, 411, 691, 1111, 304, 304, 839, + 252, 904, 252, 252, 183, 838, 934, 304, 395, 837, + 903, 304, 394, 393, 841, 253, 390, 387, 252, 253, + 252, 252, 252, 382, 252, 252, 381, 905, 906, 252, + 380, 252, 252, 253, 252, 303, 252, 252, 303, 908, + 907, 369, 365, 252, 909, 252, 252, 252, 362, 252, + + 252, 253, 361, 938, 361, 253, 252, 910, 252, 252, + 250, 252, 253, 252, 252, 246, 911, 253, 304, 243, + 303, 912, 252, 303, 252, 252, 253, 242, 238, 234, + 253, 252, 913, 252, 252, 252, 229, 252, 252, 253, + 252, 914, 252, 252, 253, 252, 228, 252, 252, 252, + 223, 252, 252, 304, 252, 253, 252, 252, 917, 252, + 222, 252, 252, 915, 253, 221, 210, 916, 253, 252, + 209, 252, 252, 253, 918, 204, 919, 252, 253, 252, + 252, 252, 253, 252, 252, 203, 252, 253, 252, 252, + 202, 922, 253, 191, 187, 184, 923, 252, 920, 252, + + 252, 252, 253, 252, 252, 1113, 921, 925, 1113, 252, + 253, 252, 252, 252, 253, 252, 252, 183, 252, 253, + 252, 252, 303, 924, 252, 303, 252, 252, 183, 252, + 253, 252, 252, 252, 253, 252, 252, 935, 252, 926, + 252, 252, 253, 182, 1179, 252, 253, 252, 252, 1179, + 1179, 253, 928, 927, 1114, 304, 252, 253, 252, 252, + 1179, 252, 253, 252, 252, 803, 253, 252, 803, 1179, + 252, 253, 252, 252, 929, 1179, 930, 303, 253, 1179, + 303, 1179, 303, 303, 1179, 303, 303, 303, 1179, 253, + 303, 931, 937, 939, 253, 932, 303, 940, 253, 303, + + 1179, 1179, 303, 253, 936, 303, 941, 1179, 303, 1179, + 304, 303, 942, 1179, 804, 304, 304, 1179, 943, 933, + 304, 303, 303, 303, 303, 303, 303, 1179, 1179, 304, + 303, 944, 945, 303, 303, 304, 303, 303, 1179, 303, + 303, 304, 303, 303, 1179, 303, 1179, 303, 1179, 948, + 303, 946, 1179, 1179, 304, 304, 304, 947, 1179, 303, + 1179, 950, 303, 304, 1179, 949, 1179, 304, 303, 304, + 1179, 303, 1179, 304, 303, 304, 951, 303, 953, 1179, + 304, 1179, 303, 303, 954, 303, 303, 303, 952, 1179, + 303, 303, 304, 956, 303, 303, 303, 1179, 303, 303, + + 303, 304, 303, 303, 955, 303, 303, 304, 303, 303, + 1179, 303, 1179, 1179, 1179, 304, 304, 957, 303, 840, + 304, 303, 840, 959, 304, 958, 1179, 303, 304, 304, + 303, 303, 1179, 304, 303, 304, 1179, 1179, 1179, 304, + 1179, 304, 1179, 960, 961, 252, 1179, 252, 252, 1179, + 1179, 304, 304, 962, 303, 1005, 252, 303, 252, 252, + 304, 963, 1179, 1179, 304, 1179, 1006, 252, 841, 252, + 252, 252, 1179, 252, 252, 1179, 1179, 1007, 253, 252, + 964, 252, 252, 252, 1179, 252, 252, 304, 252, 253, + 252, 252, 252, 1179, 252, 252, 252, 1179, 252, 252, + + 253, 1179, 1179, 252, 253, 252, 252, 252, 1008, 252, + 252, 252, 253, 252, 252, 303, 253, 252, 303, 252, + 252, 253, 1179, 1179, 1179, 253, 1179, 1009, 252, 253, + 252, 252, 1179, 1179, 1179, 252, 253, 252, 252, 1179, + 253, 1010, 1179, 252, 253, 252, 252, 1179, 304, 252, + 253, 252, 252, 252, 1179, 252, 252, 1011, 1179, 1014, + 1012, 253, 1013, 1015, 252, 1179, 252, 252, 253, 252, + 1179, 252, 252, 1179, 1016, 252, 253, 252, 252, 1179, + 1179, 252, 253, 252, 252, 252, 253, 252, 252, 252, + 1179, 252, 252, 1179, 1179, 1179, 1017, 253, 252, 1179, + + 252, 252, 253, 252, 1179, 252, 252, 252, 253, 252, + 252, 1018, 1179, 1019, 253, 1179, 1179, 252, 253, 252, + 252, 1179, 253, 252, 1179, 252, 252, 252, 1179, 252, + 252, 253, 1020, 1179, 1179, 252, 253, 252, 252, 303, + 253, 1179, 303, 303, 1021, 303, 303, 1179, 303, 1025, + 253, 1179, 1179, 1026, 1022, 1027, 253, 1179, 303, 1023, + 253, 303, 303, 303, 303, 303, 303, 303, 253, 1179, + 1179, 303, 304, 1024, 303, 1179, 304, 303, 304, 303, + 303, 1179, 303, 303, 1179, 303, 303, 1028, 303, 303, + 1179, 304, 303, 1029, 1179, 304, 304, 304, 1030, 303, + + 1179, 1179, 303, 303, 304, 1179, 303, 1179, 1033, 1179, + 304, 1179, 304, 1034, 1031, 1179, 304, 303, 304, 1179, + 303, 1179, 304, 303, 1032, 303, 303, 1035, 303, 1179, + 1179, 303, 304, 1036, 303, 303, 304, 303, 303, 303, + 303, 303, 303, 303, 303, 303, 303, 1179, 303, 1179, + 304, 1039, 1037, 1179, 303, 1179, 304, 303, 304, 303, + 1040, 1038, 303, 303, 304, 1179, 303, 1179, 304, 1179, + 304, 1179, 304, 1179, 304, 1179, 304, 303, 304, 252, + 303, 252, 252, 252, 1179, 252, 252, 304, 252, 1041, + 252, 252, 304, 1179, 1179, 1043, 304, 252, 1179, 252, + + 252, 1042, 252, 1179, 252, 252, 1179, 1070, 1179, 1044, + 304, 252, 253, 252, 252, 252, 253, 252, 252, 1179, + 252, 253, 252, 252, 252, 1179, 252, 252, 1179, 252, + 253, 252, 252, 1179, 1072, 253, 1071, 252, 1179, 252, + 252, 1179, 1073, 1179, 253, 1179, 1074, 252, 253, 252, + 252, 1179, 252, 253, 252, 252, 252, 253, 252, 252, + 1179, 252, 253, 252, 252, 252, 1075, 252, 252, 252, + 253, 252, 252, 1179, 1179, 1077, 252, 1078, 252, 252, + 253, 1076, 1179, 1179, 1080, 253, 252, 1080, 252, 253, + 252, 252, 303, 303, 253, 303, 303, 303, 253, 1179, + + 303, 303, 253, 303, 303, 303, 303, 303, 303, 253, + 303, 1083, 1079, 1179, 1179, 303, 303, 253, 303, 303, + 303, 253, 1179, 303, 1082, 304, 304, 1086, 303, 1179, + 304, 303, 1084, 1081, 304, 1085, 304, 1087, 304, 303, + 304, 303, 303, 1179, 303, 1179, 1179, 303, 304, 304, + 303, 1088, 303, 304, 303, 303, 1179, 303, 1179, 303, + 303, 304, 303, 303, 1090, 1093, 303, 1091, 1093, 303, + 1179, 1179, 304, 1179, 304, 252, 1089, 252, 252, 252, + 304, 252, 252, 303, 1179, 304, 303, 304, 252, 1179, + 252, 252, 304, 304, 1179, 1179, 1092, 1179, 304, 304, + + 1179, 1115, 1095, 252, 1179, 252, 252, 1179, 253, 1179, + 1116, 1179, 253, 1117, 1094, 252, 304, 252, 252, 1179, + 252, 253, 252, 252, 252, 303, 252, 252, 303, 252, + 1118, 252, 252, 1179, 1119, 252, 253, 252, 252, 1121, + 1129, 252, 1121, 1080, 1179, 252, 1080, 252, 253, 252, + 252, 1179, 1124, 253, 252, 1124, 303, 253, 304, 303, + 303, 303, 253, 303, 303, 1179, 303, 1179, 253, 303, + 1120, 1128, 253, 1179, 303, 1179, 253, 303, 1126, 1179, + 253, 1179, 1127, 303, 1130, 253, 303, 303, 1122, 304, + 303, 1179, 1081, 304, 304, 1132, 1123, 1093, 1132, 304, + + 1093, 1125, 303, 1135, 1179, 303, 1135, 304, 252, 1179, + 252, 252, 252, 1179, 252, 252, 304, 1179, 1147, 1179, + 304, 252, 1131, 252, 252, 1179, 1179, 1148, 304, 252, + 304, 252, 252, 1179, 1179, 304, 304, 1179, 1179, 1149, + 252, 253, 252, 252, 1133, 253, 1094, 252, 1179, 252, + 252, 1134, 1136, 1121, 253, 252, 1121, 252, 1179, 252, + 252, 252, 253, 252, 252, 1124, 303, 252, 1124, 303, + 1179, 1179, 252, 253, 252, 252, 1153, 1179, 303, 303, + 253, 303, 303, 1150, 303, 303, 253, 303, 303, 303, + 253, 1179, 303, 1154, 253, 1155, 1179, 1132, 253, 304, + + 1132, 303, 1122, 1179, 303, 253, 1151, 303, 1179, 1179, + 303, 304, 304, 1179, 1125, 1179, 1135, 304, 304, 1135, + 303, 1152, 304, 303, 252, 1156, 252, 252, 1179, 252, + 304, 252, 252, 252, 304, 252, 252, 1179, 1179, 1163, + 304, 252, 1179, 252, 252, 252, 1133, 252, 252, 304, + 1157, 1179, 252, 304, 252, 252, 303, 253, 303, 303, + 303, 303, 253, 303, 303, 1136, 253, 303, 1165, 1158, + 303, 1179, 303, 303, 253, 303, 1179, 252, 253, 252, + 252, 1179, 1179, 303, 1164, 253, 303, 303, 1179, 304, + 303, 304, 252, 304, 252, 252, 252, 304, 252, 252, + + 1179, 303, 1179, 304, 303, 304, 1179, 1166, 1179, 252, + 253, 252, 252, 1179, 303, 303, 304, 303, 303, 1177, + 304, 1179, 1179, 1179, 1178, 253, 1179, 1179, 252, 253, + 252, 252, 1179, 1170, 304, 1173, 1179, 1179, 1169, 1179, + 1174, 1179, 253, 1179, 1179, 1179, 1179, 304, 304, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 253, 53, 53, 53, 53, 53, 53, 58, 58, + 58, 58, 58, 58, 65, 65, 65, 65, 65, 65, + 70, 70, 70, 70, 70, 70, 175, 175, 175, 175, + 175, 175, 219, 219, 1179, 219, 219, 219, 230, 230, + + 230, 230, 230, 230, 233, 1179, 1179, 1179, 233, 233, + 235, 235, 235, 235, 235, 235, 241, 241, 1179, 1179, + 241, 241, 247, 247, 247, 247, 247, 247, 251, 251, + 1179, 251, 251, 251, 290, 290, 1179, 290, 290, 290, + 302, 302, 1179, 1179, 1179, 302, 342, 342, 1179, 342, + 342, 342, 400, 400, 1179, 1179, 1179, 400, 17, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179 } ; -static yyconst flex_int16_t yy_chk[3764] = +static yyconst flex_int16_t yy_chk[3912] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 7, 7, 2, 2, 3, 3, 3, 3, - 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, 30, 34, 63, - 33, 2, 1153, 2, 30, 2, 39, 32, 2, 2, - - 32, 33, 34, 35, 32, 40, 4, 32, 69, 69, - 5, 15, 6, 40, 50, 5, 50, 6, 9, 9, + 1, 1, 2, 7, 7, 2, 2, 3, 3, 3, + 3, 1195, 2, 4, 4, 4, 4, 4, 5, 5, + 6, 6, 8, 8, 19, 2, 34, 19, 4, 28, + 15, 15, 15, 15, 1175, 30, 28, 15, 2, 30, + 34, 46, 33, 2, 35, 2, 30, 2, 39, 32, + + 2, 2, 32, 33, 1172, 46, 32, 40, 4, 32, + 39, 35, 5, 15, 6, 40, 51, 5, 51, 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, 10, - 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, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 10, 64, 50, 10, 10, 16, 16, 16, + 16, 174, 10, 174, 16, 56, 56, 56, 61, 61, + 61, 61, 68, 70, 70, 10, 50, 68, 152, 156, - 1130, 149, 160, 170, 151, 170, 1129, 16, 151, 10, - 166, 10, 156, 10, 160, 151, 10, 10, 11, 11, + 154, 157, 156, 64, 154, 152, 156, 163, 10, 156, + 16, 154, 157, 10, 217, 10, 217, 10, 1171, 163, + 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, 11, 11, 11, 11, 11, 11, 12, - 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, + 11, 11, 11, 11, 12, 158, 159, 12, 12, 73, + 109, 73, 73, 109, 12, 74, 74, 74, 74, 158, + 164, 169, 173, 159, 194, 220, 220, 12, 164, 166, - 163, 205, 1126, 212, 205, 212, 1125, 72, 107, 12, - 238, 12, 1120, 12, 73, 238, 12, 12, 13, 13, + 166, 166, 166, 181, 209, 169, 181, 209, 194, 1168, + 12, 244, 73, 109, 173, 12, 244, 12, 74, 12, + 247, 247, 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, 13, 13, 13, 13, 14, - 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 + 13, 13, 13, 13, 13, 13, 14, 392, 392, 14, + 14, 76, 76, 76, 76, 77, 14, 77, 77, 78, + 240, 78, 78, 1167, 79, 1162, 79, 79, 78, 14, + + 80, 1160, 80, 80, 81, 1159, 81, 81, 84, 80, + 84, 84, 14, 83, 76, 83, 83, 14, 77, 14, + 240, 14, 78, 84, 14, 14, 43, 79, 1144, 43, + 43, 83, 82, 80, 82, 82, 43, 81, 83, 1142, + 95, 84, 95, 95, 113, 1140, 83, 113, 82, 225, + 85, 95, 85, 85, 397, 86, 372, 86, 86, 95, + 1139, 93, 43, 93, 93, 82, 745, 43, 85, 43, + 372, 225, 85, 95, 43, 43, 397, 113, 92, 85, + 92, 92, 745, 85, 86, 232, 232, 232, 86, 87, + 93, 87, 87, 88, 93, 88, 88, 856, 1138, 89, + + 92, 89, 89, 884, 91, 87, 91, 91, 87, 88, + 89, 92, 87, 856, 90, 87, 90, 90, 387, 884, + 88, 387, 87, 1137, 89, 90, 88, 94, 1114, 94, + 94, 91, 89, 96, 1111, 96, 96, 91, 97, 97, + 97, 97, 90, 434, 424, 94, 434, 90, 96, 98, + 547, 98, 98, 99, 99, 99, 99, 94, 424, 100, + 94, 100, 100, 1109, 547, 101, 96, 101, 101, 1107, + 102, 97, 102, 102, 103, 1105, 103, 103, 237, 237, + 237, 102, 98, 1104, 1101, 98, 99, 104, 970, 104, + 104, 105, 100, 105, 105, 102, 1100, 117, 101, 106, + + 117, 106, 106, 102, 970, 1099, 107, 103, 107, 107, + 108, 557, 108, 108, 557, 1098, 1097, 103, 1096, 1068, + 104, 1065, 106, 1063, 105, 110, 110, 110, 110, 1061, + 117, 1060, 106, 118, 104, 105, 118, 1059, 119, 107, + 107, 119, 107, 108, 106, 112, 112, 112, 112, 118, + 120, 114, 116, 120, 114, 116, 119, 1058, 110, 108, + 114, 116, 1056, 119, 121, 120, 118, 121, 1054, 122, + 1053, 119, 122, 123, 124, 1052, 123, 124, 112, 1051, + 1050, 1049, 121, 120, 114, 116, 121, 1048, 127, 123, + 124, 127, 123, 121, 1047, 1046, 123, 121, 122, 123, + + 125, 124, 122, 125, 1045, 128, 123, 124, 128, 126, + 129, 125, 126, 129, 130, 127, 132, 130, 1004, 132, + 126, 127, 1003, 1001, 1000, 125, 134, 128, 999, 134, + 997, 132, 130, 125, 996, 992, 991, 126, 128, 129, + 990, 989, 126, 129, 130, 131, 987, 130, 131, 132, + 133, 133, 133, 133, 137, 983, 131, 137, 139, 134, + 140, 139, 134, 140, 131, 135, 135, 135, 135, 136, + 138, 136, 136, 138, 982, 981, 136, 141, 131, 980, + 141, 138, 142, 133, 979, 142, 143, 137, 978, 143, + 977, 139, 976, 140, 975, 138, 144, 974, 135, 144, + + 973, 139, 136, 138, 972, 142, 175, 140, 971, 175, + 141, 145, 145, 145, 145, 142, 969, 968, 967, 143, + 143, 141, 143, 147, 147, 147, 147, 142, 966, 144, + 168, 168, 168, 168, 176, 176, 176, 176, 965, 175, + 178, 178, 178, 178, 145, 144, 180, 180, 180, 180, + 246, 246, 246, 246, 902, 251, 147, 251, 251, 252, + 900, 252, 252, 168, 899, 898, 897, 176, 253, 253, + 253, 253, 896, 178, 254, 254, 254, 254, 895, 180, + 256, 256, 256, 256, 257, 257, 257, 257, 251, 894, + 892, 302, 252, 259, 302, 259, 259, 889, 888, 887, + + 246, 253, 259, 260, 886, 260, 260, 254, 261, 885, + 261, 261, 262, 256, 262, 262, 883, 875, 263, 261, + 263, 263, 873, 872, 302, 260, 259, 264, 871, 264, + 264, 870, 869, 868, 262, 265, 260, 265, 265, 867, + 866, 261, 264, 865, 263, 262, 265, 266, 864, 266, + 266, 263, 267, 863, 267, 267, 268, 862, 268, 268, + 264, 269, 861, 269, 269, 860, 266, 267, 265, 859, + 270, 268, 270, 270, 271, 858, 271, 271, 857, 442, + 266, 270, 442, 855, 272, 267, 272, 272, 565, 268, + 269, 565, 854, 853, 269, 270, 273, 303, 273, 273, + + 303, 271, 852, 270, 851, 850, 272, 271, 274, 849, + 274, 274, 275, 848, 275, 275, 276, 272, 276, 276, + 277, 273, 277, 277, 278, 847, 278, 278, 442, 273, + 303, 279, 846, 279, 279, 274, 275, 565, 845, 276, + 844, 274, 279, 278, 280, 275, 280, 280, 322, 276, + 277, 322, 281, 277, 281, 281, 282, 278, 282, 282, + 843, 842, 767, 280, 279, 766, 764, 283, 282, 283, + 283, 284, 763, 284, 284, 322, 285, 280, 285, 285, + 607, 322, 281, 607, 283, 281, 761, 760, 288, 282, + 288, 288, 759, 284, 290, 285, 290, 290, 285, 291, + + 283, 291, 291, 758, 284, 286, 286, 286, 286, 285, + 292, 292, 292, 292, 293, 611, 293, 293, 611, 755, + 294, 288, 294, 294, 754, 288, 753, 290, 295, 607, + 295, 295, 291, 296, 320, 296, 296, 320, 286, 752, + 293, 293, 298, 292, 298, 298, 297, 293, 297, 297, + 751, 750, 299, 294, 299, 299, 300, 297, 300, 300, + 294, 295, 295, 320, 611, 298, 296, 320, 301, 296, + 301, 301, 749, 746, 729, 298, 744, 729, 743, 297, + 304, 304, 304, 304, 742, 299, 741, 298, 312, 300, + 740, 312, 739, 299, 305, 305, 305, 305, 738, 312, + + 736, 301, 300, 307, 307, 307, 307, 308, 308, 308, + 308, 310, 311, 304, 310, 311, 313, 735, 734, 313, + 310, 312, 314, 729, 733, 314, 315, 305, 316, 315, + 732, 316, 317, 731, 311, 317, 307, 318, 313, 316, + 318, 315, 730, 319, 310, 311, 319, 323, 314, 313, + 323, 317, 318, 321, 324, 314, 321, 324, 319, 315, + 728, 316, 727, 325, 321, 317, 325, 726, 326, 323, + 318, 326, 327, 725, 328, 327, 319, 328, 321, 324, + 323, 329, 330, 724, 329, 330, 321, 324, 723, 722, + 325, 331, 326, 330, 331, 327, 325, 721, 720, 332, + + 329, 326, 332, 719, 328, 327, 333, 328, 334, 333, + 331, 334, 718, 335, 329, 330, 335, 717, 333, 337, + 337, 337, 337, 336, 331, 334, 336, 340, 765, 332, + 340, 765, 332, 716, 715, 335, 714, 713, 712, 333, + 346, 334, 336, 346, 711, 336, 335, 339, 339, 339, + 339, 342, 337, 342, 342, 710, 336, 709, 342, 343, + 340, 343, 343, 708, 340, 707, 343, 344, 344, 344, + 344, 706, 345, 346, 344, 345, 347, 765, 348, 347, + 346, 348, 349, 350, 342, 349, 350, 352, 351, 705, + 352, 351, 343, 349, 353, 704, 703, 353, 345, 345, + + 344, 354, 354, 354, 354, 345, 350, 702, 701, 347, + 347, 348, 700, 699, 348, 349, 350, 698, 697, 696, + 352, 351, 356, 356, 356, 356, 695, 353, 350, 351, + 612, 610, 609, 352, 354, 357, 357, 357, 357, 358, + 608, 358, 358, 388, 388, 388, 388, 400, 401, 606, + 400, 401, 603, 602, 601, 356, 402, 402, 402, 402, + 403, 403, 403, 403, 405, 405, 405, 405, 406, 406, + 406, 406, 358, 407, 600, 407, 407, 599, 598, 597, + 400, 401, 408, 408, 408, 408, 596, 595, 594, 402, + 593, 533, 592, 403, 533, 591, 590, 405, 410, 410, + + 410, 410, 440, 440, 440, 440, 407, 448, 448, 448, + 448, 449, 449, 449, 449, 408, 450, 450, 450, 450, + 452, 452, 452, 452, 533, 453, 453, 453, 453, 455, + 455, 455, 455, 533, 456, 589, 456, 456, 457, 588, + 457, 457, 587, 586, 458, 456, 458, 458, 585, 459, + 584, 459, 459, 460, 583, 460, 460, 448, 453, 582, + 500, 449, 457, 500, 581, 580, 450, 456, 579, 458, + 578, 457, 460, 461, 577, 461, 461, 458, 459, 500, + 576, 462, 459, 462, 462, 463, 460, 463, 463, 464, + 461, 464, 464, 500, 465, 575, 465, 465, 501, 574, + + 464, 501, 466, 462, 466, 466, 461, 573, 463, 465, + 467, 569, 467, 467, 462, 501, 568, 468, 463, 468, + 468, 469, 464, 469, 469, 567, 470, 465, 470, 470, + 466, 501, 469, 566, 467, 466, 564, 562, 473, 470, + 473, 473, 468, 467, 561, 471, 469, 471, 471, 472, + 468, 472, 472, 473, 469, 474, 560, 474, 474, 470, + 475, 497, 475, 475, 497, 1002, 471, 474, 1002, 559, + 476, 473, 476, 476, 558, 475, 1055, 472, 471, 1055, + 556, 555, 472, 476, 477, 497, 477, 477, 474, 478, + 554, 478, 478, 475, 497, 479, 553, 479, 479, 480, + + 552, 480, 480, 476, 1066, 478, 477, 1066, 551, 481, + 550, 481, 481, 482, 1002, 482, 482, 477, 483, 549, + 483, 483, 478, 479, 481, 1055, 479, 480, 479, 548, + 482, 483, 480, 484, 546, 484, 484, 485, 485, 485, + 485, 487, 481, 487, 487, 545, 482, 486, 486, 486, + 486, 483, 488, 1066, 488, 488, 489, 544, 489, 489, + 490, 543, 490, 490, 542, 498, 484, 484, 498, 491, + 485, 491, 491, 492, 487, 492, 492, 541, 540, 539, + 486, 496, 487, 538, 496, 488, 490, 537, 536, 489, + 498, 499, 496, 490, 499, 535, 534, 489, 498, 447, + + 502, 488, 491, 502, 503, 1067, 492, 503, 1067, 491, + 493, 493, 493, 493, 496, 492, 495, 495, 495, 495, + 499, 446, 502, 504, 499, 505, 504, 503, 505, 506, + 445, 444, 506, 502, 504, 507, 508, 503, 507, 508, + 505, 509, 510, 493, 509, 510, 511, 443, 512, 511, + 513, 512, 509, 513, 1067, 510, 504, 506, 505, 507, + 514, 508, 506, 514, 441, 513, 509, 511, 507, 508, + 515, 439, 514, 515, 509, 510, 512, 516, 438, 511, + 516, 512, 437, 513, 517, 515, 518, 517, 520, 518, + 516, 520, 519, 514, 521, 519, 522, 521, 523, 522, + + 436, 523, 518, 515, 524, 435, 517, 524, 433, 521, + 516, 523, 432, 522, 431, 528, 520, 517, 528, 518, + 519, 520, 430, 519, 429, 519, 428, 521, 427, 522, + 426, 523, 525, 525, 525, 525, 425, 524, 524, 525, + 526, 526, 526, 526, 527, 527, 527, 527, 528, 529, + 530, 423, 529, 530, 531, 532, 528, 531, 532, 563, + 563, 563, 563, 422, 421, 525, 570, 570, 570, 570, + 572, 572, 572, 572, 420, 1069, 419, 527, 1069, 418, + 531, 417, 529, 530, 416, 415, 1102, 531, 532, 1102, + 414, 530, 413, 412, 411, 532, 399, 398, 529, 570, + + 604, 604, 604, 604, 613, 613, 613, 613, 615, 615, + 615, 615, 616, 616, 616, 616, 618, 618, 618, 618, + 619, 396, 619, 619, 1069, 620, 657, 620, 620, 657, + 621, 395, 621, 621, 394, 1102, 393, 619, 620, 622, + 390, 622, 622, 657, 623, 386, 623, 623, 624, 385, + 624, 624, 658, 619, 613, 658, 384, 622, 620, 657, + 621, 623, 616, 621, 625, 658, 625, 625, 626, 383, + 626, 626, 622, 382, 381, 380, 624, 623, 626, 625, + 627, 624, 627, 627, 628, 658, 628, 628, 379, 629, + 378, 629, 629, 630, 377, 630, 630, 625, 376, 375, + + 374, 626, 631, 667, 631, 631, 667, 628, 373, 627, + 629, 371, 632, 627, 632, 632, 633, 628, 633, 633, + 659, 630, 629, 659, 667, 370, 630, 369, 631, 632, + 634, 661, 634, 634, 661, 631, 667, 635, 368, 635, + 635, 633, 367, 366, 636, 632, 636, 636, 661, 633, + 659, 634, 635, 659, 636, 637, 365, 637, 637, 638, + 364, 638, 638, 634, 661, 637, 639, 363, 639, 639, + 635, 640, 1103, 640, 640, 1103, 641, 636, 641, 641, + 642, 665, 642, 642, 665, 362, 640, 638, 637, 361, + 639, 641, 638, 249, 245, 643, 642, 643, 643, 639, + + 644, 242, 644, 644, 640, 645, 241, 645, 645, 641, + 665, 644, 239, 642, 665, 645, 646, 238, 646, 646, + 649, 1103, 649, 649, 643, 236, 646, 647, 643, 647, + 647, 231, 648, 644, 648, 648, 227, 226, 645, 650, + 650, 650, 650, 224, 651, 647, 651, 651, 652, 646, + 652, 652, 653, 649, 653, 653, 654, 648, 654, 654, + 647, 655, 223, 655, 655, 648, 656, 649, 656, 656, + 222, 670, 650, 660, 670, 663, 660, 651, 663, 662, + 221, 652, 662, 218, 671, 653, 651, 671, 670, 654, + 663, 660, 664, 216, 655, 664, 655, 652, 215, 656, + + 214, 653, 664, 654, 670, 210, 660, 662, 663, 671, + 666, 668, 662, 666, 668, 656, 669, 671, 208, 669, + 672, 673, 207, 672, 673, 664, 206, 674, 675, 676, + 674, 675, 676, 666, 205, 204, 673, 674, 675, 668, + 203, 672, 669, 666, 668, 677, 202, 680, 677, 669, + 680, 201, 678, 672, 673, 678, 679, 676, 200, 679, + 674, 675, 676, 680, 199, 681, 198, 678, 681, 677, + 682, 679, 683, 682, 684, 683, 687, 684, 677, 687, + 680, 682, 683, 685, 684, 678, 685, 686, 689, 679, + 686, 689, 197, 196, 681, 195, 690, 1110, 681, 690, + + 1110, 685, 193, 682, 192, 683, 191, 684, 692, 687, + 691, 692, 686, 691, 693, 694, 685, 693, 694, 190, + 686, 689, 189, 687, 688, 688, 688, 688, 805, 690, + 689, 805, 768, 188, 768, 768, 769, 187, 769, 769, + 186, 692, 185, 691, 184, 690, 1110, 693, 694, 693, + 770, 769, 770, 770, 183, 692, 805, 688, 172, 691, + 768, 805, 171, 170, 694, 768, 167, 165, 771, 769, + 771, 771, 772, 162, 772, 772, 161, 770, 771, 773, + 160, 773, 773, 770, 774, 809, 774, 774, 809, 773, + 772, 155, 153, 775, 774, 775, 775, 776, 151, 776, + + 776, 771, 149, 809, 148, 772, 777, 776, 777, 777, + 72, 778, 773, 778, 778, 69, 777, 774, 809, 67, + 812, 778, 779, 812, 779, 779, 775, 65, 63, 60, + 776, 780, 779, 780, 780, 781, 55, 781, 781, 777, + 782, 780, 782, 782, 778, 783, 52, 783, 783, 784, + 49, 784, 784, 812, 785, 779, 785, 785, 783, 786, + 48, 786, 786, 781, 780, 47, 42, 782, 781, 787, + 41, 787, 787, 782, 783, 38, 784, 788, 783, 788, + 788, 789, 784, 789, 789, 37, 790, 785, 790, 790, + 36, 789, 786, 31, 29, 27, 790, 792, 787, 792, + + 792, 791, 787, 791, 791, 1113, 788, 792, 1113, 793, + 788, 793, 793, 794, 789, 794, 794, 25, 795, 790, + 795, 795, 806, 791, 796, 806, 796, 796, 23, 797, + 792, 797, 797, 798, 791, 798, 798, 806, 799, 793, + 799, 799, 793, 21, 17, 800, 794, 800, 800, 0, + 0, 795, 797, 796, 1113, 806, 801, 796, 801, 801, + 0, 802, 797, 802, 802, 803, 798, 803, 803, 0, + 804, 799, 804, 804, 798, 0, 799, 807, 800, 0, + 807, 0, 808, 810, 0, 808, 810, 811, 0, 801, + 811, 801, 808, 810, 802, 802, 813, 811, 803, 813, + + 0, 0, 814, 804, 807, 814, 813, 0, 815, 0, + 807, 815, 814, 0, 803, 808, 810, 0, 815, 804, + 811, 816, 817, 818, 816, 817, 818, 0, 0, 813, + 819, 816, 817, 819, 821, 814, 820, 821, 0, 820, + 822, 815, 823, 822, 0, 823, 0, 824, 0, 820, + 824, 818, 0, 0, 816, 817, 818, 819, 0, 825, + 0, 821, 825, 819, 0, 820, 0, 821, 826, 820, + 0, 826, 0, 822, 827, 823, 824, 827, 826, 0, + 824, 0, 828, 829, 827, 828, 829, 830, 825, 0, + 830, 831, 825, 829, 831, 832, 833, 0, 832, 833, + + 834, 826, 835, 834, 828, 835, 836, 827, 837, 836, + 0, 837, 0, 0, 0, 828, 829, 830, 838, 840, + 830, 838, 840, 834, 831, 833, 0, 839, 832, 833, + 839, 841, 0, 834, 841, 835, 0, 0, 0, 836, + 0, 837, 0, 835, 836, 903, 0, 903, 903, 0, + 0, 838, 840, 838, 937, 903, 904, 937, 904, 904, + 839, 839, 0, 0, 841, 0, 904, 905, 840, 905, + 905, 906, 0, 906, 906, 0, 0, 905, 903, 907, + 841, 907, 907, 908, 0, 908, 908, 937, 909, 904, + 909, 909, 910, 0, 910, 910, 911, 0, 911, 911, + + 905, 0, 0, 912, 906, 912, 912, 913, 907, 913, + 913, 914, 907, 914, 914, 939, 908, 915, 939, 915, + 915, 909, 0, 0, 0, 910, 0, 915, 916, 911, + 916, 916, 0, 0, 0, 917, 912, 917, 917, 0, + 913, 916, 0, 918, 914, 918, 918, 0, 939, 919, + 915, 919, 919, 920, 0, 920, 920, 916, 0, 919, + 917, 916, 918, 920, 921, 0, 921, 921, 917, 922, + 0, 922, 922, 0, 921, 923, 918, 923, 923, 0, + 0, 924, 919, 924, 924, 925, 920, 925, 925, 926, + 0, 926, 926, 0, 0, 0, 924, 921, 929, 0, + + 929, 929, 922, 927, 0, 927, 927, 930, 923, 930, + 930, 926, 0, 927, 924, 0, 0, 928, 925, 928, + 928, 0, 926, 931, 0, 931, 931, 932, 0, 932, + 932, 929, 928, 0, 0, 933, 927, 933, 933, 934, + 930, 0, 934, 935, 929, 936, 935, 0, 936, 934, + 928, 0, 0, 935, 930, 936, 931, 0, 938, 931, + 932, 938, 940, 941, 942, 940, 941, 942, 933, 0, + 0, 943, 934, 932, 943, 0, 935, 944, 936, 945, + 944, 0, 945, 946, 0, 947, 946, 938, 947, 949, + 0, 938, 949, 946, 0, 940, 941, 942, 947, 948, + + 0, 0, 948, 950, 943, 0, 950, 0, 949, 0, + 944, 0, 945, 950, 947, 0, 946, 951, 947, 0, + 951, 0, 949, 952, 948, 953, 952, 951, 953, 0, + 0, 954, 948, 952, 954, 956, 950, 955, 956, 957, + 955, 958, 957, 960, 958, 959, 960, 0, 959, 0, + 951, 958, 955, 0, 961, 0, 952, 961, 953, 962, + 959, 957, 962, 963, 954, 0, 963, 0, 956, 0, + 955, 0, 957, 0, 958, 0, 960, 964, 959, 1005, + 964, 1005, 1005, 1006, 0, 1006, 1006, 961, 1007, 960, + 1007, 1007, 962, 0, 0, 962, 963, 1008, 0, 1008, + + 1008, 961, 1009, 0, 1009, 1009, 0, 1008, 0, 963, + 964, 1010, 1005, 1010, 1010, 1011, 1006, 1011, 1011, 0, + 1012, 1007, 1012, 1012, 1013, 0, 1013, 1013, 0, 1014, + 1008, 1014, 1014, 0, 1011, 1009, 1010, 1015, 0, 1015, + 1015, 0, 1012, 0, 1010, 0, 1013, 1016, 1011, 1016, + 1016, 0, 1018, 1012, 1018, 1018, 1017, 1013, 1017, 1017, + 0, 1019, 1014, 1019, 1019, 1020, 1017, 1020, 1020, 1021, + 1015, 1021, 1021, 0, 0, 1020, 1022, 1021, 1022, 1022, + 1016, 1018, 0, 0, 1023, 1018, 1023, 1023, 1024, 1017, + 1024, 1024, 1025, 1026, 1019, 1025, 1026, 1027, 1020, 0, + + 1027, 1028, 1021, 1029, 1028, 1032, 1029, 1030, 1032, 1022, + 1030, 1028, 1022, 0, 0, 1033, 1031, 1023, 1033, 1031, + 1034, 1024, 0, 1034, 1024, 1025, 1026, 1032, 1035, 0, + 1027, 1035, 1030, 1023, 1028, 1031, 1029, 1033, 1032, 1036, + 1030, 1037, 1036, 0, 1037, 0, 0, 1038, 1033, 1031, + 1038, 1037, 1039, 1034, 1040, 1039, 0, 1040, 0, 1041, + 1042, 1035, 1041, 1042, 1040, 1043, 1044, 1041, 1043, 1044, + 0, 0, 1036, 0, 1037, 1070, 1038, 1070, 1070, 1071, + 1038, 1071, 1071, 1083, 0, 1039, 1083, 1040, 1072, 0, + 1072, 1072, 1041, 1042, 0, 0, 1042, 0, 1043, 1044, + + 0, 1071, 1044, 1073, 0, 1073, 1073, 0, 1070, 0, + 1072, 0, 1071, 1073, 1043, 1074, 1083, 1074, 1074, 0, + 1075, 1072, 1075, 1075, 1076, 1087, 1076, 1076, 1087, 1077, + 1074, 1077, 1077, 0, 1076, 1078, 1073, 1078, 1078, 1079, + 1087, 1079, 1079, 1080, 0, 1080, 1080, 1081, 1074, 1081, + 1081, 0, 1082, 1075, 1082, 1082, 1084, 1076, 1087, 1084, + 1085, 1086, 1077, 1085, 1086, 0, 1088, 0, 1078, 1088, + 1078, 1086, 1079, 0, 1089, 0, 1080, 1089, 1084, 0, + 1081, 0, 1085, 1090, 1089, 1082, 1090, 1091, 1079, 1084, + 1091, 0, 1080, 1085, 1086, 1092, 1081, 1093, 1092, 1088, + + 1093, 1082, 1094, 1095, 0, 1094, 1095, 1089, 1115, 0, + 1115, 1115, 1116, 0, 1116, 1116, 1090, 0, 1115, 0, + 1091, 1117, 1091, 1117, 1117, 0, 0, 1116, 1092, 1118, + 1093, 1118, 1118, 0, 0, 1094, 1095, 0, 0, 1118, + 1119, 1115, 1119, 1119, 1092, 1116, 1093, 1120, 0, 1120, + 1120, 1094, 1095, 1121, 1117, 1121, 1121, 1122, 0, 1122, + 1122, 1123, 1118, 1123, 1123, 1124, 1126, 1124, 1124, 1126, + 0, 0, 1125, 1119, 1125, 1125, 1126, 0, 1127, 1128, + 1120, 1127, 1128, 1120, 1130, 1129, 1121, 1130, 1129, 1131, + 1122, 0, 1131, 1127, 1123, 1129, 0, 1132, 1124, 1126, + + 1132, 1133, 1121, 0, 1133, 1125, 1122, 1134, 0, 0, + 1134, 1127, 1128, 0, 1124, 0, 1135, 1130, 1129, 1135, + 1136, 1125, 1131, 1136, 1147, 1131, 1147, 1147, 0, 1148, + 1132, 1148, 1148, 1149, 1133, 1149, 1149, 0, 0, 1148, + 1134, 1150, 0, 1150, 1150, 1151, 1132, 1151, 1151, 1135, + 1133, 0, 1152, 1136, 1152, 1152, 1153, 1147, 1154, 1153, + 1155, 1154, 1148, 1155, 1156, 1135, 1149, 1156, 1154, 1136, + 1157, 0, 1158, 1157, 1150, 1158, 0, 1163, 1151, 1163, + 1163, 0, 0, 1165, 1150, 1152, 1165, 1166, 0, 1153, + 1166, 1154, 1164, 1155, 1164, 1164, 1169, 1156, 1169, 1169, + + 0, 1170, 0, 1157, 1170, 1158, 0, 1156, 0, 1173, + 1163, 1173, 1173, 0, 1174, 1178, 1165, 1174, 1178, 1173, + 1166, 0, 0, 0, 1174, 1164, 0, 0, 1177, 1169, + 1177, 1177, 0, 1166, 1170, 1169, 0, 0, 1164, 0, + 1170, 0, 1173, 0, 0, 0, 0, 1174, 1178, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1177, 1180, 1180, 1180, 1180, 1180, 1180, 1181, 1181, + 1181, 1181, 1181, 1181, 1182, 1182, 1182, 1182, 1182, 1182, + 1183, 1183, 1183, 1183, 1183, 1183, 1184, 1184, 1184, 1184, + 1184, 1184, 1185, 1185, 0, 1185, 1185, 1185, 1186, 1186, + + 1186, 1186, 1186, 1186, 1187, 0, 0, 0, 1187, 1187, + 1188, 1188, 1188, 1188, 1188, 1188, 1189, 1189, 0, 0, + 1189, 1189, 1190, 1190, 1190, 1190, 1190, 1190, 1191, 1191, + 0, 1191, 1191, 1191, 1192, 1192, 0, 1192, 1192, 1192, + 1193, 1193, 0, 0, 0, 1193, 1194, 1194, 0, 1194, + 1194, 1194, 1196, 1196, 0, 0, 0, 1196, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[84] = +static yyconst flex_int32_t yy_rule_can_match_eol[85] = { 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, 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, + 0, 1, 0, 0, 0, }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -1798,7 +1855,7 @@ static void cattext(bool trim_right = false, int strip_trailing = 0) -#line 1802 "levcomp.lex.cc" +#line 1859 "levcomp.lex.cc" #define INITIAL 0 #define MAPDEF 1 @@ -1844,7 +1901,7 @@ FILE *yyget_out (void ); void yyset_out (FILE * out_str ); -yy_size_t yyget_leng (void ); +int yyget_leng (void ); char *yyget_text (void ); @@ -1886,7 +1943,12 @@ 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. */ @@ -1894,7 +1956,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 fwrite( yytext, yyleng, 1, yyout ) +#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1905,7 +1967,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - yy_size_t n; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1993,7 +2055,7 @@ YY_DECL #line 133 "levcomp.lpp" -#line 1997 "levcomp.lex.cc" +#line 2059 "levcomp.lex.cc" if ( !(yy_init) ) { @@ -2047,13 +2109,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 >= 1138 ) + if ( yy_current_state >= 1180 ) 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 != 1137 ); + while ( yy_current_state != 1179 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2349,185 +2411,190 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP +#line 231 "levcomp.lpp" +{ BEGIN(LUA); return EPILOGUE; } + YY_BREAK +case 43: +YY_RULE_SETUP #line 233 "levcomp.lpp" { CBEGIN(ARGUMENT); return NAME; } YY_BREAK -case 43: +case 44: YY_RULE_SETUP #line 234 "levcomp.lpp" { CBEGIN(ARGUMENT); return DEFAULT_DEPTH; } YY_BREAK -case 44: +case 45: YY_RULE_SETUP #line 235 "levcomp.lpp" { CBEGIN(ARGUMENT); return DEPTH; } YY_BREAK -case 45: +case 46: YY_RULE_SETUP #line 236 "levcomp.lpp" { CBEGIN(ARGUMENT); return ORIENT; } YY_BREAK -case 46: +case 47: YY_RULE_SETUP #line 237 "levcomp.lpp" { CBEGIN(ARGUMENT); return PLACE; } YY_BREAK -case 47: +case 48: YY_RULE_SETUP #line 238 "levcomp.lpp" { CBEGIN(ARGUMENT); return WELCOME; } YY_BREAK -case 48: +case 49: YY_RULE_SETUP #line 239 "levcomp.lpp" return CHANCE; YY_BREAK -case 49: +case 50: YY_RULE_SETUP #line 240 "levcomp.lpp" return WEIGHT; YY_BREAK -case 50: +case 51: YY_RULE_SETUP #line 241 "levcomp.lpp" { CBEGIN(KEYWORDS); return TAGS; } YY_BREAK -case 51: +case 52: YY_RULE_SETUP #line 242 "levcomp.lpp" { CBEGIN(KEYWORDS); return TAGS; } YY_BREAK -case 52: +case 53: YY_RULE_SETUP #line 243 "levcomp.lpp" { CBEGIN(ARGUMENT); return LFLAGS; } YY_BREAK -case 53: +case 54: YY_RULE_SETUP #line 244 "levcomp.lpp" { CBEGIN(ARGUMENT); return BFLAGS; } YY_BREAK -case 54: +case 55: YY_RULE_SETUP #line 245 "levcomp.lpp" { CBEGIN(ITEM_LIST); return SUBST; } YY_BREAK -case 55: +case 56: YY_RULE_SETUP #line 246 "levcomp.lpp" { CBEGIN(ITEM_LIST); return NSUBST; } YY_BREAK -case 56: +case 57: YY_RULE_SETUP #line 247 "levcomp.lpp" { CBEGIN(ITEM_LIST); return COLOUR; } YY_BREAK -case 57: +case 58: YY_RULE_SETUP #line 248 "levcomp.lpp" { CBEGIN(ARGUMENT); return LFLOORCOL; } YY_BREAK -case 58: +case 59: YY_RULE_SETUP #line 249 "levcomp.lpp" { CBEGIN(ARGUMENT); return LROCKCOL; } YY_BREAK -case 59: +case 60: YY_RULE_SETUP #line 250 "levcomp.lpp" { CBEGIN(ARGUMENT); return LFLOORTILE; } YY_BREAK -case 60: +case 61: YY_RULE_SETUP #line 251 "levcomp.lpp" { CBEGIN(ARGUMENT); return LROCKTILE; } YY_BREAK -case 61: +case 62: YY_RULE_SETUP #line 252 "levcomp.lpp" { CBEGIN(ITEM_LIST); return FTILE; } YY_BREAK -case 62: +case 63: YY_RULE_SETUP #line 253 "levcomp.lpp" { CBEGIN(ITEM_LIST); return RTILE; } YY_BREAK -case 63: +case 64: YY_RULE_SETUP #line 254 "levcomp.lpp" { CBEGIN(ITEM_LIST); return TILE; } YY_BREAK -case 64: +case 65: YY_RULE_SETUP #line 255 "levcomp.lpp" { CBEGIN(ITEM_LIST); return FHEIGHT; } YY_BREAK -case 65: +case 66: YY_RULE_SETUP #line 256 "levcomp.lpp" { CBEGIN(MNAME); return MONS; } YY_BREAK -case 66: +case 67: YY_RULE_SETUP #line 257 "levcomp.lpp" { CBEGIN(ITEM_LIST); return ITEM; } YY_BREAK -case 67: +case 68: YY_RULE_SETUP #line 258 "levcomp.lpp" { CBEGIN(ARGUMENT); return MARKER; } YY_BREAK -case 68: +case 69: YY_RULE_SETUP #line 259 "levcomp.lpp" { CBEGIN(ITEM_LIST); return SHUFFLE; } YY_BREAK -case 69: +case 70: YY_RULE_SETUP #line 261 "levcomp.lpp" { CBEGIN(ARGUMENT); return KFEAT; } YY_BREAK -case 70: +case 71: YY_RULE_SETUP #line 262 "levcomp.lpp" { CBEGIN(ARGUMENT); return KITEM; } YY_BREAK -case 71: +case 72: YY_RULE_SETUP #line 263 "levcomp.lpp" { CBEGIN(ARGUMENT); return KMONS; } YY_BREAK -case 72: +case 73: YY_RULE_SETUP #line 264 "levcomp.lpp" { CBEGIN(ARGUMENT); return KMASK; } YY_BREAK -case 73: +case 74: YY_RULE_SETUP #line 265 "levcomp.lpp" { CBEGIN(ARGUMENT); return KPROP; } YY_BREAK -case 74: +case 75: YY_RULE_SETUP #line 266 "levcomp.lpp" { CBEGIN(ARGUMENT); return SUBVAULT; } YY_BREAK -case 75: +case 76: YY_RULE_SETUP #line 268 "levcomp.lpp" return COMMA; YY_BREAK -case 76: +case 77: YY_RULE_SETUP #line 270 "levcomp.lpp" return COLON; YY_BREAK -case 77: +case 78: YY_RULE_SETUP #line 272 "levcomp.lpp" return PERC; YY_BREAK -case 78: +case 79: YY_RULE_SETUP #line 274 "levcomp.lpp" { @@ -2536,33 +2603,33 @@ YY_RULE_SETUP return INTEGER; } YY_BREAK -case 79: +case 80: YY_RULE_SETUP #line 280 "levcomp.lpp" ; YY_BREAK -case 80: -/* rule 80 can match eol */ +case 81: +/* rule 81 can match eol */ YY_RULE_SETUP #line 281 "levcomp.lpp" ; YY_BREAK -case 81: +case 82: YY_RULE_SETUP #line 282 "levcomp.lpp" ; YY_BREAK -case 82: +case 83: YY_RULE_SETUP #line 283 "levcomp.lpp" return CHARACTER; YY_BREAK -case 83: +case 84: YY_RULE_SETUP #line 285 "levcomp.lpp" ECHO; YY_BREAK -#line 2566 "levcomp.lex.cc" +#line 2633 "levcomp.lex.cc" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(MAPDEF): case YY_STATE_EOF(LUA): @@ -2756,7 +2823,7 @@ static int yy_get_next_buffer (void) else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -2770,7 +2837,7 @@ static int yy_get_next_buffer (void) if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -2801,7 +2868,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), num_to_read ); + (yy_n_chars), (size_t) num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } @@ -2863,7 +2930,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 >= 1138 ) + if ( yy_current_state >= 1180 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2891,11 +2958,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 >= 1138 ) + if ( yy_current_state >= 1180 ) 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 == 1137); + yy_is_jam = (yy_current_state == 1179); return yy_is_jam ? 0 : yy_current_state; } @@ -2912,7 +2979,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 yy_size_t number_to_move = (yy_n_chars) + 2; + register int 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 = @@ -2965,7 +3032,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); + int offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -2989,7 +3056,7 @@ static int yy_get_next_buffer (void) case EOB_ACT_END_OF_FILE: { if ( yywrap( ) ) - return 0; + return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -3243,7 +3310,7 @@ void yypop_buffer_state (void) */ static void yyensure_buffer_stack (void) { - yy_size_t num_to_alloc; + int num_to_alloc; if (!(yy_buffer_stack)) { @@ -3335,16 +3402,17 @@ 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 bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_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, yy_size_t _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; - yy_size_t n, i; + yy_size_t n; + int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; @@ -3426,7 +3494,7 @@ FILE *yyget_out (void) /** Get the length of the current token. * */ -yy_size_t yyget_leng (void) +int yyget_leng (void) { return yyleng; } diff --git a/crawl-ref/source/prebuilt/levcomp.tab.cc b/crawl-ref/source/prebuilt/levcomp.tab.cc index 156528cd69..947703ff22 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.cc +++ b/crawl-ref/source/prebuilt/levcomp.tab.cc @@ -1,15 +1,14 @@ - -/* A Bison parser, made by GNU Bison 2.4.1. */ +/* A Bison parser, made by GNU Bison 2.3. */ /* 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 3 of the License, or - (at your option) any later version. + the Free Software Foundation; either version 2, 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 @@ -17,7 +16,9 @@ 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, see <http://www.gnu.org/licenses/>. */ + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -46,7 +47,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.1" +#define YYBISON_VERSION "2.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -54,20 +55,119 @@ /* 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. */ +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + DEFAULT_DEPTH = 258, + SHUFFLE = 259, + SUBST = 260, + TAGS = 261, + KFEAT = 262, + KITEM = 263, + KMONS = 264, + KMASK = 265, + KPROP = 266, + NAME = 267, + DEPTH = 268, + ORIENT = 269, + PLACE = 270, + CHANCE = 271, + WEIGHT = 272, + MONS = 273, + ITEM = 274, + MARKER = 275, + COLOUR = 276, + PRELUDE = 277, + MAIN = 278, + VALIDATE = 279, + VETO = 280, + EPILOGUE = 281, + NSUBST = 282, + WELCOME = 283, + LFLAGS = 284, + BFLAGS = 285, + LFLOORCOL = 286, + LROCKCOL = 287, + LFLOORTILE = 288, + LROCKTILE = 289, + FTILE = 290, + RTILE = 291, + TILE = 292, + SUBVAULT = 293, + FHEIGHT = 294, + COMMA = 295, + COLON = 296, + PERC = 297, + INTEGER = 298, + CHARACTER = 299, + STRING = 300, + MAP_LINE = 301, + MONSTER_NAME = 302, + ITEM_INFO = 303, + LUA_LINE = 304 + }; +#endif +/* Tokens. */ +#define DEFAULT_DEPTH 258 +#define SHUFFLE 259 +#define SUBST 260 +#define TAGS 261 +#define KFEAT 262 +#define KITEM 263 +#define KMONS 264 +#define KMASK 265 +#define KPROP 266 +#define NAME 267 +#define DEPTH 268 +#define ORIENT 269 +#define PLACE 270 +#define CHANCE 271 +#define WEIGHT 272 +#define MONS 273 +#define ITEM 274 +#define MARKER 275 +#define COLOUR 276 +#define PRELUDE 277 +#define MAIN 278 +#define VALIDATE 279 +#define VETO 280 +#define EPILOGUE 281 +#define NSUBST 282 +#define WELCOME 283 +#define LFLAGS 284 +#define BFLAGS 285 +#define LFLOORCOL 286 +#define LROCKCOL 287 +#define LFLOORTILE 288 +#define LROCKTILE 289 +#define FTILE 290 +#define RTILE 291 +#define TILE 292 +#define SUBVAULT 293 +#define FHEIGHT 294 +#define COMMA 295 +#define COLON 296 +#define PERC 297 +#define INTEGER 298 +#define CHARACTER 299 +#define STRING 300 +#define MAP_LINE 301 +#define MONSTER_NAME 302 +#define ITEM_INFO 303 +#define LUA_LINE 304 -/* Line 189 of yacc.c */ + + + +/* Copy the first part of user declarations. */ #line 1 "levcomp.ypp" @@ -112,9 +212,6 @@ level_range set_range(const char *s, int start, int end) -/* Line 189 of yacc.c */ -#line 117 "levcomp.tab.c" - /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -133,139 +230,29 @@ level_range set_range(const char *s, int start, int end) # define YYTOKEN_TABLE 0 #endif - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - DEFAULT_DEPTH = 258, - SHUFFLE = 259, - SUBST = 260, - TAGS = 261, - KFEAT = 262, - KITEM = 263, - KMONS = 264, - KMASK = 265, - KPROP = 266, - NAME = 267, - DEPTH = 268, - ORIENT = 269, - PLACE = 270, - CHANCE = 271, - WEIGHT = 272, - MONS = 273, - ITEM = 274, - MARKER = 275, - COLOUR = 276, - PRELUDE = 277, - MAIN = 278, - VALIDATE = 279, - VETO = 280, - NSUBST = 281, - WELCOME = 282, - LFLAGS = 283, - BFLAGS = 284, - LFLOORCOL = 285, - LROCKCOL = 286, - LFLOORTILE = 287, - LROCKTILE = 288, - FTILE = 289, - RTILE = 290, - TILE = 291, - SUBVAULT = 292, - 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. */ -#define DEFAULT_DEPTH 258 -#define SHUFFLE 259 -#define SUBST 260 -#define TAGS 261 -#define KFEAT 262 -#define KITEM 263 -#define KMONS 264 -#define KMASK 265 -#define KPROP 266 -#define NAME 267 -#define DEPTH 268 -#define ORIENT 269 -#define PLACE 270 -#define CHANCE 271 -#define WEIGHT 272 -#define MONS 273 -#define ITEM 274 -#define MARKER 275 -#define COLOUR 276 -#define PRELUDE 277 -#define MAIN 278 -#define VALIDATE 279 -#define VETO 280 -#define NSUBST 281 -#define WELCOME 282 -#define LFLAGS 283 -#define BFLAGS 284 -#define LFLOORCOL 285 -#define LROCKCOL 286 -#define LFLOORTILE 287 -#define LROCKTILE 288 -#define FTILE 289 -#define RTILE 290 -#define TILE 291 -#define SUBVAULT 292 -#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 214 of yacc.c */ #line 45 "levcomp.ypp" - +{ int i; const char *text; raw_range range; - - - -/* Line 214 of yacc.c */ -#line 257 "levcomp.tab.c" -} YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 +} +/* Line 187 of yacc.c. */ +#line 243 "levcomp.tab.c" + YYSTYPE; # 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 264 of yacc.c */ -#line 269 "levcomp.tab.c" +/* Line 216 of yacc.c. */ +#line 256 "levcomp.tab.c" #ifdef short # undef short @@ -340,14 +327,14 @@ typedef short int yytype_int16; #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int -YYID (int yyi) +YYID (int i) #else static int -YYID (yyi) - int yyi; +YYID (i) + int i; #endif { - return yyi; + return i; } #endif @@ -428,9 +415,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ /* A type that is properly aligned for any stack member. */ union yyalloc { - yytype_int16 yyss_alloc; - YYSTYPE yyvs_alloc; -}; + yytype_int16 yyss; + YYSTYPE yyvs; + }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) @@ -464,12 +451,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_alloc, Stack) \ +# define YYSTACK_RELOCATE(Stack) \ do \ { \ YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ - Stack = &yyptr->Stack_alloc; \ + YYCOPY (&yyptr->Stack, Stack, yysize); \ + Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ @@ -480,20 +467,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 111 +#define YYLAST 113 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 49 +#define YYNTOKENS 50 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 84 +#define YYNNTS 87 /* YYNRULES -- Number of rules. */ -#define YYNRULES 157 +#define YYNRULES 162 /* YYNRULES -- Number of states. */ -#define YYNSTATES 188 +#define YYNSTATES 193 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 303 +#define YYMAXUTOK 304 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -531,7 +518,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, 48 + 45, 46, 47, 48, 49 }; #if YYDEBUG @@ -544,61 +531,63 @@ 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, 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 + 102, 104, 106, 108, 111, 112, 115, 117, 120, 121, + 124, 126, 129, 130, 133, 135, 138, 139, 142, 144, + 147, 148, 151, 153, 156, 157, 160, 162, 164, 167, + 169, 172, 174, 177, 179, 182, 184, 187, 190, 192, + 196, 198, 201, 202, 205, 207, 210, 213, 216, 219, + 221, 224, 226, 229, 231, 234, 236, 239, 242, 244, + 248, 250, 253, 255, 259, 261, 264, 266, 270, 272, + 275, 277, 281, 283, 285, 289, 291, 294, 296, 300, + 302, 305, 307, 311, 313, 315, 318, 322, 324, 326, + 328, 331, 335, 337, 339, 342, 344, 347, 353, 358, + 362, 365, 368, 370, 373, 376, 378, 381, 383, 385, + 388, 390, 394 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 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 + 51, 0, -1, 52, -1, -1, 52, 53, -1, 55, + -1, 57, -1, 44, -1, 56, -1, 62, -1, 3, + 45, -1, 60, 58, -1, -1, 58, 59, -1, 61, + -1, 131, -1, 12, 45, -1, 125, -1, 126, -1, + 127, -1, 128, -1, 129, -1, 130, -1, 122, -1, + 119, -1, 93, -1, 116, -1, 113, -1, 94, -1, + 95, -1, 96, -1, 97, -1, 98, -1, 102, -1, + 105, -1, 108, -1, 85, -1, 88, -1, 91, -1, + 92, -1, 80, -1, 82, -1, 81, -1, 83, -1, + 84, -1, 99, -1, 134, -1, 65, -1, 74, -1, + 68, -1, 71, -1, 77, -1, 54, -1, 23, 63, + -1, -1, 63, 64, -1, 49, -1, 23, 66, -1, + -1, 66, 67, -1, 49, -1, 24, 69, -1, -1, + 69, 70, -1, 49, -1, 25, 72, -1, -1, 72, + 73, -1, 49, -1, 22, 75, -1, -1, 75, 76, + -1, 49, -1, 26, 78, -1, -1, 78, 79, -1, + 49, -1, 7, -1, 7, 45, -1, 9, -1, 9, + 45, -1, 8, -1, 8, 45, -1, 10, -1, 10, + 45, -1, 11, -1, 11, 45, -1, 4, 86, -1, + 87, -1, 86, 40, 87, -1, 48, -1, 6, 89, + -1, -1, 89, 90, -1, 45, -1, 29, 45, -1, + 30, 45, -1, 20, 45, -1, 21, 111, -1, 31, + -1, 31, 45, -1, 32, -1, 32, 45, -1, 33, + -1, 33, 45, -1, 34, -1, 34, 45, -1, 39, + 100, -1, 101, -1, 100, 40, 101, -1, 48, -1, + 35, 103, -1, 104, -1, 103, 40, 104, -1, 48, + -1, 36, 106, -1, 107, -1, 106, 40, 107, -1, + 48, -1, 37, 109, -1, 110, -1, 109, 40, 110, + -1, 48, -1, 112, -1, 111, 40, 112, -1, 48, + -1, 27, 114, -1, 115, -1, 114, 40, 115, -1, + 48, -1, 5, 117, -1, 118, -1, 118, 40, 117, + -1, 48, -1, 19, -1, 19, 120, -1, 120, 40, + 121, -1, 121, -1, 48, -1, 18, -1, 18, 123, + -1, 124, 40, 123, -1, 124, -1, 47, -1, 15, + 45, -1, 13, -1, 13, 45, -1, 16, 43, 41, + 43, 42, -1, 16, 43, 41, 43, -1, 16, 43, + 42, -1, 16, 43, -1, 17, 43, -1, 14, -1, + 14, 45, -1, 28, 45, -1, 132, -1, 132, 133, + -1, 133, -1, 46, -1, 38, 135, -1, 136, -1, + 135, 40, 136, -1, 45, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -609,17 +598,18 @@ static const yytype_uint16 yyrline[] = 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 + 185, 186, 187, 190, 192, 193, 196, 201, 203, 204, + 207, 212, 214, 215, 218, 223, 225, 226, 229, 234, + 236, 237, 240, 245, 247, 248, 251, 256, 257, 265, + 266, 274, 275, 283, 284, 292, 293, 301, 304, 305, + 308, 316, 319, 320, 323, 332, 341, 350, 383, 386, + 387, 395, 396, 404, 405, 414, 415, 424, 426, 427, + 430, 439, 442, 443, 446, 455, 458, 459, 462, 471, + 474, 475, 478, 488, 489, 492, 501, 504, 505, 508, + 517, 520, 521, 524, 533, 534, 537, 538, 541, 549, + 550, 553, 554, 557, 566, 575, 576, 585, 592, 599, + 606, 614, 622, 623, 632, 641, 644, 645, 648, 657, + 660, 661, 664 }; #endif @@ -631,23 +621,24 @@ static const char *const yytname[] = "$end", "error", "$undefined", "DEFAULT_DEPTH", "SHUFFLE", "SUBST", "TAGS", "KFEAT", "KITEM", "KMONS", "KMASK", "KPROP", "NAME", "DEPTH", "ORIENT", "PLACE", "CHANCE", "WEIGHT", "MONS", "ITEM", "MARKER", - "COLOUR", "PRELUDE", "MAIN", "VALIDATE", "VETO", "NSUBST", "WELCOME", - "LFLAGS", "BFLAGS", "LFLOORCOL", "LROCKCOL", "LFLOORTILE", "LROCKTILE", - "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", - "main_lua", "main_lua_lines", "main_lua_line", "validate_lua", - "validate_lua_lines", "validate_lua_line", "veto_lua", "veto_lua_lines", - "veto_lua_line", "prelude_lua", "prelude_lua_lines", "prelude_lua_line", - "kfeat", "kmons", "kitem", "kmask", "kprop", "shuffle", - "shuffle_specifiers", "shuffle_spec", "tags", "tagstrings", "tagstring", - "lflags", "bflags", "marker", "colour", "lfloorcol", "lrockcol", - "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", "PRELUDE", "MAIN", "VALIDATE", "VETO", "EPILOGUE", "NSUBST", + "WELCOME", "LFLAGS", "BFLAGS", "LFLOORCOL", "LROCKCOL", "LFLOORTILE", + "LROCKTILE", "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", "main_lua", "main_lua_lines", + "main_lua_line", "validate_lua", "validate_lua_lines", + "validate_lua_line", "veto_lua", "veto_lua_lines", "veto_lua_line", + "prelude_lua", "prelude_lua_lines", "prelude_lua_line", "epilogue_lua", + "epilogue_lua_lines", "epilogue_lua_line", "kfeat", "kmons", "kitem", + "kmask", "kprop", "shuffle", "shuffle_specifiers", "shuffle_spec", + "tags", "tagstrings", "tagstring", "lflags", "bflags", "marker", + "colour", "lfloorcol", "lrockcol", "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", @@ -665,29 +656,30 @@ 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, 303 + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 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 + 0, 50, 51, 52, 52, 53, 53, 54, 55, 55, + 56, 57, 58, 58, 59, 59, 60, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 62, 63, 63, 64, 65, 66, 66, + 67, 68, 69, 69, 70, 71, 72, 72, 73, 74, + 75, 75, 76, 77, 78, 78, 79, 80, 80, 81, + 81, 82, 82, 83, 83, 84, 84, 85, 86, 86, + 87, 88, 89, 89, 90, 91, 92, 93, 94, 95, + 95, 96, 96, 97, 97, 98, 98, 99, 100, 100, + 101, 102, 103, 103, 104, 105, 106, 106, 107, 108, + 109, 109, 110, 111, 111, 112, 113, 114, 114, 115, + 116, 117, 117, 118, 119, 119, 120, 120, 121, 122, + 122, 123, 123, 124, 125, 126, 126, 127, 127, 127, + 127, 128, 129, 129, 130, 131, 132, 132, 133, 134, + 135, 135, 136 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -698,17 +690,18 @@ 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, 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 + 1, 1, 1, 2, 0, 2, 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 @@ -716,79 +709,81 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 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 + 3, 0, 2, 1, 0, 0, 54, 4, 5, 8, + 6, 12, 9, 10, 16, 53, 11, 56, 55, 0, + 0, 92, 77, 81, 79, 83, 85, 145, 152, 0, + 0, 0, 139, 134, 0, 0, 70, 58, 62, 66, + 74, 0, 0, 0, 0, 99, 101, 103, 105, 0, + 0, 0, 0, 0, 7, 158, 52, 13, 14, 47, + 49, 50, 48, 51, 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, 155, 157, 46, 90, 87, 88, + 133, 130, 131, 91, 78, 82, 80, 84, 86, 146, + 153, 144, 150, 151, 143, 140, 142, 138, 135, 137, + 97, 125, 98, 123, 69, 57, 61, 65, 73, 129, + 126, 127, 154, 95, 96, 100, 102, 104, 106, 114, + 111, 112, 118, 115, 116, 122, 119, 120, 162, 159, + 160, 110, 107, 108, 156, 0, 0, 94, 93, 0, + 149, 0, 0, 0, 72, 71, 60, 59, 64, 63, + 68, 67, 76, 75, 0, 0, 0, 0, 0, 0, + 89, 132, 148, 141, 136, 124, 128, 113, 117, 121, + 161, 109, 147 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -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 + -1, 1, 2, 7, 56, 8, 9, 10, 16, 57, + 11, 58, 12, 15, 18, 59, 125, 167, 60, 126, + 169, 61, 127, 171, 62, 124, 165, 63, 128, 173, + 64, 65, 66, 67, 68, 69, 98, 99, 70, 103, + 158, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 152, 153, 80, 140, 141, 81, 143, 144, 82, 146, + 147, 122, 123, 83, 130, 131, 84, 101, 102, 85, + 118, 119, 86, 115, 116, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 149, 150 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -103 +#define YYPACT_NINF -107 static const yytype_int8 yypact[] = { - -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, 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 + -107, 8, 33, -107, -8, -2, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -5, -4, -107, -107, -7, + -1, -107, 1, 3, 4, 5, 6, 7, 9, 10, + 14, 15, 12, 13, 17, 16, -107, -107, -107, -107, + -107, 18, 20, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 34, 32, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, 35, -107, -107, -107, 42, -107, + -107, -107, 43, 39, -107, -107, -107, -107, -107, -107, + -107, -107, -3, -107, -107, -107, 45, -107, 46, -107, + -107, -107, 47, -107, 11, 40, 41, 44, 48, -107, + 51, -107, -107, -107, -107, -107, -107, -107, -107, -107, + 52, -107, -107, 54, -107, -107, 55, -107, -107, 56, + -107, -107, 58, -107, -107, -7, -1, -107, -107, 31, + -107, 12, 13, 16, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, 18, 28, 29, 30, 34, 32, + -107, -107, 21, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -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 + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -102, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -106, -107, -107, -100, -107, -107, -88, -107, -107, + -78, -107, -63, -107, -107, -73, -107, -54, -107, -107, + -107, -59, -107, -57, -107, -107, -107, -107, -107, -107, + -107, -107, -107, 19, -107, -107, -72 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -801,15 +796,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, 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 + 48, 49, 50, 51, 52, 53, 4, 13, 159, 160, + 54, 97, 55, 14, 17, 5, 104, 100, 105, 106, + 107, 108, 109, 180, 110, 111, 6, 112, 113, 114, + 164, 117, 120, 192, 121, 132, 129, 133, 134, 135, + 136, 137, 138, 191, 182, 187, 139, 142, 145, 148, + 151, 55, 155, 156, 157, 161, 162, 163, 188, 166, + 168, 174, 175, 170, 176, 177, 178, 172, 179, 189, + 185, 186, 181, 184, 183, 0, 190, 0, 0, 0, + 0, 0, 0, 154 }; static const yytype_int16 yycheck[] = @@ -817,40 +812,41 @@ 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, 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 + 34, 35, 36, 37, 38, 39, 3, 45, 41, 42, + 44, 48, 46, 45, 49, 12, 45, 48, 45, 45, + 45, 45, 45, 155, 45, 45, 23, 43, 43, 47, + 49, 48, 45, 42, 48, 45, 48, 45, 45, 45, + 45, 45, 45, 179, 43, 175, 48, 48, 48, 45, + 48, 46, 40, 40, 45, 40, 40, 40, 176, 49, + 49, 40, 40, 49, 40, 40, 40, 49, 40, 177, + 163, 174, 156, 162, 161, -1, 178, -1, -1, -1, + -1, -1, -1, 94 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 50, 51, 0, 3, 12, 23, 52, 54, 55, - 56, 59, 61, 44, 44, 62, 57, 48, 63, 4, + 0, 51, 52, 0, 3, 12, 23, 53, 55, 56, + 57, 60, 62, 45, 45, 63, 58, 49, 64, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 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 + 36, 37, 38, 39, 44, 46, 54, 59, 61, 65, + 68, 71, 74, 77, 80, 81, 82, 83, 84, 85, + 88, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 102, 105, 108, 113, 116, 119, 122, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 48, 86, 87, + 48, 117, 118, 89, 45, 45, 45, 45, 45, 45, + 45, 45, 43, 43, 47, 123, 124, 48, 120, 121, + 45, 48, 111, 112, 75, 66, 69, 72, 78, 48, + 114, 115, 45, 45, 45, 45, 45, 45, 45, 48, + 103, 104, 48, 106, 107, 48, 109, 110, 45, 135, + 136, 48, 100, 101, 133, 40, 40, 45, 90, 41, + 42, 40, 40, 40, 49, 76, 49, 67, 49, 70, + 49, 73, 49, 79, 40, 40, 40, 40, 40, 40, + 87, 117, 43, 123, 121, 112, 115, 104, 107, 110, + 136, 101, 42 }; #define yyerrok (yyerrstatus = 0) @@ -1035,20 +1031,17 @@ yy_symbol_print (yyoutput, yytype, yyvaluep) #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) #else static void -yy_stack_print (yybottom, yytop) - yytype_int16 *yybottom; - yytype_int16 *yytop; +yy_stack_print (bottom, top) + yytype_int16 *bottom; + yytype_int16 *top; #endif { YYFPRINTF (stderr, "Stack now"); - for (; yybottom <= yytop; yybottom++) - { - int yybot = *yybottom; - YYFPRINTF (stderr, " %d", yybot); - } + for (; bottom <= top; ++bottom) + YYFPRINTF (stderr, " %d", *bottom); YYFPRINTF (stderr, "\n"); } @@ -1082,11 +1075,11 @@ yy_reduce_print (yyvsp, yyrule) /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { - YYFPRINTF (stderr, " $%d = ", yyi + 1); + fprintf (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) ); - YYFPRINTF (stderr, "\n"); + fprintf (stderr, "\n"); } } @@ -1366,8 +1359,10 @@ yydestruct (yymsg, yytype, yyvaluep) break; } } + /* Prevent warnings from -Wmissing-prototypes. */ + #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); @@ -1383,10 +1378,11 @@ int yyparse (); #endif /* ! YYPARSE_PARAM */ -/* The lookahead symbol. */ + +/* The look-ahead symbol. */ int yychar; -/* The semantic value of the lookahead symbol. */ +/* The semantic value of the look-ahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ @@ -1394,9 +1390,9 @@ int yynerrs; -/*-------------------------. -| yyparse or yypush_parse. | -`-------------------------*/ +/*----------. +| yyparse. | +`----------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ @@ -1420,68 +1416,66 @@ 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. - int yystate; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ - /* The stacks and their tools: - `yyss': related to states. - `yyvs': related to semantic values. + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss = yyssa; + yytype_int16 *yyssp; - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs = yyvsa; + YYSTYPE *yyvsp; - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss; - yytype_int16 *yyssp; - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs; - YYSTYPE *yyvsp; - YYSIZE_T yystacksize; +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) + + YYSIZE_T yystacksize = YYINITDEPTH; - 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; @@ -1511,6 +1505,7 @@ 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 @@ -1518,6 +1513,7 @@ yyparse () yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); yyss = yyss1; @@ -1540,8 +1536,9 @@ yyparse () (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss_alloc, yyss); - YYSTACK_RELOCATE (yyvs_alloc, yyvs); + YYSTACK_RELOCATE (yyss); + YYSTACK_RELOCATE (yyvs); + # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); @@ -1552,6 +1549,7 @@ yyparse () yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; + YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); @@ -1561,9 +1559,6 @@ yyparse () YYDPRINTF ((stderr, "Entering state %d\n", yystate)); - if (yystate == YYFINAL) - YYACCEPT; - goto yybackup; /*-----------. @@ -1572,16 +1567,16 @@ yyparse () yybackup: /* Do appropriate processing given the current state. Read a - lookahead token if we need one and don't already have one. */ + look-ahead token if we need one and don't already have one. */ - /* First try to decide what to do without reference to lookahead token. */ + /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; - /* Not known => get a lookahead token if don't already have one. */ + /* Not known => get a look-ahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); @@ -1613,16 +1608,20 @@ yybackup: goto yyreduce; } + if (yyn == YYFINAL) + YYACCEPT; + /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; - /* Shift the lookahead token. */ + /* Shift the look-ahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - /* Discard the shifted token. */ - yychar = YYEMPTY; + /* Discard the shifted token unless it is eof. */ + if (yychar != YYEOF) + yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; @@ -1662,43 +1661,31 @@ yyreduce: switch (yyn) { case 2: - -/* Line 1455 of yacc.c */ #line 67 "levcomp.ypp" { } break; case 3: - -/* Line 1455 of yacc.c */ #line 70 "levcomp.ypp" {} break; case 4: - -/* Line 1455 of yacc.c */ #line 71 "levcomp.ypp" {} break; case 5: - -/* Line 1455 of yacc.c */ #line 74 "levcomp.ypp" {} break; case 6: - -/* Line 1455 of yacc.c */ #line 75 "levcomp.ypp" {} break; case 7: - -/* Line 1455 of yacc.c */ #line 79 "levcomp.ypp" { yyerror("Unexpected character sequence."); @@ -1706,22 +1693,16 @@ yyreduce: break; case 8: - -/* Line 1455 of yacc.c */ #line 84 "levcomp.ypp" {} break; case 9: - -/* Line 1455 of yacc.c */ #line 85 "levcomp.ypp" {} break; case 10: - -/* Line 1455 of yacc.c */ #line 89 "levcomp.ypp" { dgn_reset_default_depth(); @@ -1733,8 +1714,6 @@ yyreduce: break; case 11: - -/* Line 1455 of yacc.c */ #line 99 "levcomp.ypp" { lc_map.set_file(lc_desfile); @@ -1758,36 +1737,26 @@ yyreduce: break; case 12: - -/* Line 1455 of yacc.c */ #line 120 "levcomp.ypp" { } break; case 13: - -/* Line 1455 of yacc.c */ #line 121 "levcomp.ypp" { } break; case 14: - -/* Line 1455 of yacc.c */ #line 124 "levcomp.ypp" { } break; case 15: - -/* Line 1455 of yacc.c */ #line 125 "levcomp.ypp" { } break; case 16: - -/* Line 1455 of yacc.c */ #line 129 "levcomp.ypp" { lc_map.init(); @@ -1812,174 +1781,150 @@ yyreduce: } break; - case 51: - -/* Line 1455 of yacc.c */ -#line 186 "levcomp.ypp" - {} - break; - case 52: - -/* Line 1455 of yacc.c */ -#line 189 "levcomp.ypp" - { } +#line 187 "levcomp.ypp" + {} break; case 53: - -/* Line 1455 of yacc.c */ -#line 191 "levcomp.ypp" +#line 190 "levcomp.ypp" { } break; case 54: - -/* Line 1455 of yacc.c */ #line 192 "levcomp.ypp" { } break; case 55: +#line 193 "levcomp.ypp" + { } + break; -/* Line 1455 of yacc.c */ -#line 196 "levcomp.ypp" + case 56: +#line 197 "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 1455 of yacc.c */ -#line 202 "levcomp.ypp" +#line 201 "levcomp.ypp" { } break; case 58: - -/* Line 1455 of yacc.c */ #line 203 "levcomp.ypp" { } break; case 59: +#line 204 "levcomp.ypp" + { } + break; -/* Line 1455 of yacc.c */ -#line 207 "levcomp.ypp" + case 60: +#line 208 "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 1455 of yacc.c */ -#line 213 "levcomp.ypp" +#line 212 "levcomp.ypp" { } break; case 62: - -/* Line 1455 of yacc.c */ #line 214 "levcomp.ypp" { } break; case 63: +#line 215 "levcomp.ypp" + { } + break; -/* Line 1455 of yacc.c */ -#line 218 "levcomp.ypp" + case 64: +#line 219 "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 1455 of yacc.c */ -#line 224 "levcomp.ypp" +#line 223 "levcomp.ypp" { } break; case 66: - -/* Line 1455 of yacc.c */ #line 225 "levcomp.ypp" { } break; case 67: +#line 226 "levcomp.ypp" + { } + break; -/* Line 1455 of yacc.c */ -#line 229 "levcomp.ypp" + case 68: +#line 230 "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 1455 of yacc.c */ -#line 235 "levcomp.ypp" +#line 234 "levcomp.ypp" { } break; case 70: - -/* Line 1455 of yacc.c */ #line 236 "levcomp.ypp" { } break; case 71: +#line 237 "levcomp.ypp" + { } + break; -/* Line 1455 of yacc.c */ -#line 240 "levcomp.ypp" + case 72: +#line 241 "levcomp.ypp" { lc_map.prelude.add(yylineno, (yyvsp[(1) - (1)].text)); } break; - case 72: + case 73: +#line 245 "levcomp.ypp" + { } + break; -/* Line 1455 of yacc.c */ -#line 244 "levcomp.ypp" + case 74: +#line 247 "levcomp.ypp" { } break; - case 73: + case 75: +#line 248 "levcomp.ypp" + { } + break; -/* Line 1455 of yacc.c */ -#line 246 "levcomp.ypp" + case 76: +#line 252 "levcomp.ypp" + { + lc_map.epilogue.add(yylineno, (yyvsp[(1) - (1)].text)); + } + break; + + case 77: +#line 256 "levcomp.ypp" + { } + break; + + case 78: +#line 258 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -1988,17 +1933,13 @@ yyreduce: } break; - case 74: - -/* Line 1455 of yacc.c */ -#line 253 "levcomp.ypp" + case 79: +#line 265 "levcomp.ypp" { } break; - case 75: - -/* Line 1455 of yacc.c */ -#line 255 "levcomp.ypp" + case 80: +#line 267 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2007,17 +1948,13 @@ yyreduce: } break; - case 76: - -/* Line 1455 of yacc.c */ -#line 262 "levcomp.ypp" + case 81: +#line 274 "levcomp.ypp" { } break; - case 77: - -/* Line 1455 of yacc.c */ -#line 264 "levcomp.ypp" + case 82: +#line 276 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2026,17 +1963,13 @@ yyreduce: } break; - case 78: - -/* Line 1455 of yacc.c */ -#line 271 "levcomp.ypp" + case 83: +#line 283 "levcomp.ypp" { } break; - case 79: - -/* Line 1455 of yacc.c */ -#line 273 "levcomp.ypp" + case 84: +#line 285 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2045,17 +1978,13 @@ yyreduce: } break; - case 80: - -/* Line 1455 of yacc.c */ -#line 280 "levcomp.ypp" + case 85: +#line 292 "levcomp.ypp" { } break; - case 81: - -/* Line 1455 of yacc.c */ -#line 282 "levcomp.ypp" + case 86: +#line 294 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2064,17 +1993,13 @@ yyreduce: } break; - case 82: - -/* Line 1455 of yacc.c */ -#line 289 "levcomp.ypp" + case 87: +#line 301 "levcomp.ypp" {} break; - case 85: - -/* Line 1455 of yacc.c */ -#line 297 "levcomp.ypp" + case 90: +#line 309 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2083,17 +2008,13 @@ yyreduce: } break; - case 86: - -/* Line 1455 of yacc.c */ -#line 304 "levcomp.ypp" + case 91: +#line 316 "levcomp.ypp" {} break; - case 89: - -/* Line 1455 of yacc.c */ -#line 312 "levcomp.ypp" + case 94: +#line 324 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2102,10 +2023,8 @@ yyreduce: } break; - case 90: - -/* Line 1455 of yacc.c */ -#line 321 "levcomp.ypp" + case 95: +#line 333 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2114,10 +2033,8 @@ yyreduce: } break; - case 91: - -/* Line 1455 of yacc.c */ -#line 330 "levcomp.ypp" + case 96: +#line 342 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2126,10 +2043,8 @@ yyreduce: } break; - case 92: - -/* Line 1455 of yacc.c */ -#line 339 "levcomp.ypp" + case 97: +#line 351 "levcomp.ypp" { std::string key, arg; int sep(0); @@ -2162,24 +2077,18 @@ yyreduce: } break; - case 93: - -/* Line 1455 of yacc.c */ -#line 371 "levcomp.ypp" + case 98: +#line 383 "levcomp.ypp" { } break; - case 94: - -/* Line 1455 of yacc.c */ -#line 374 "levcomp.ypp" + case 99: +#line 386 "levcomp.ypp" { } break; - case 95: - -/* Line 1455 of yacc.c */ -#line 376 "levcomp.ypp" + case 100: +#line 388 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2188,17 +2097,13 @@ yyreduce: } break; - case 96: - -/* Line 1455 of yacc.c */ -#line 383 "levcomp.ypp" + case 101: +#line 395 "levcomp.ypp" { } break; - case 97: - -/* Line 1455 of yacc.c */ -#line 385 "levcomp.ypp" + case 102: +#line 397 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2207,17 +2112,13 @@ yyreduce: } break; - case 98: - -/* Line 1455 of yacc.c */ -#line 392 "levcomp.ypp" + case 103: +#line 404 "levcomp.ypp" { } break; - case 99: - -/* Line 1455 of yacc.c */ -#line 394 "levcomp.ypp" + case 104: +#line 406 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2226,17 +2127,13 @@ yyreduce: } break; - case 100: - -/* Line 1455 of yacc.c */ -#line 402 "levcomp.ypp" + case 105: +#line 414 "levcomp.ypp" { } break; - case 101: - -/* Line 1455 of yacc.c */ -#line 404 "levcomp.ypp" + case 106: +#line 416 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2245,10 +2142,8 @@ yyreduce: } break; - case 105: - -/* Line 1455 of yacc.c */ -#line 419 "levcomp.ypp" + case 110: +#line 431 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2257,10 +2152,8 @@ yyreduce: } break; - case 109: - -/* Line 1455 of yacc.c */ -#line 435 "levcomp.ypp" + case 114: +#line 447 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2269,10 +2162,8 @@ yyreduce: } break; - case 113: - -/* Line 1455 of yacc.c */ -#line 451 "levcomp.ypp" + case 118: +#line 463 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2281,10 +2172,8 @@ yyreduce: } break; - case 117: - -/* Line 1455 of yacc.c */ -#line 467 "levcomp.ypp" + case 122: +#line 479 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2293,24 +2182,18 @@ yyreduce: } break; - case 118: - -/* Line 1455 of yacc.c */ -#line 476 "levcomp.ypp" + case 123: +#line 488 "levcomp.ypp" { } break; - case 119: - -/* Line 1455 of yacc.c */ -#line 477 "levcomp.ypp" + case 124: +#line 489 "levcomp.ypp" { } break; - case 120: - -/* Line 1455 of yacc.c */ -#line 481 "levcomp.ypp" + case 125: +#line 493 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2319,31 +2202,23 @@ yyreduce: } break; - case 121: - -/* Line 1455 of yacc.c */ -#line 489 "levcomp.ypp" + case 126: +#line 501 "levcomp.ypp" { } break; - case 122: - -/* Line 1455 of yacc.c */ -#line 492 "levcomp.ypp" + case 127: +#line 504 "levcomp.ypp" { } break; - case 123: - -/* Line 1455 of yacc.c */ -#line 493 "levcomp.ypp" + case 128: +#line 505 "levcomp.ypp" { } break; - case 124: - -/* Line 1455 of yacc.c */ -#line 497 "levcomp.ypp" + case 129: +#line 509 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2352,17 +2227,13 @@ yyreduce: } break; - case 125: - -/* Line 1455 of yacc.c */ -#line 505 "levcomp.ypp" + case 130: +#line 517 "levcomp.ypp" { } break; - case 128: - -/* Line 1455 of yacc.c */ -#line 513 "levcomp.ypp" + case 133: +#line 525 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2371,24 +2242,18 @@ yyreduce: } break; - case 129: - -/* Line 1455 of yacc.c */ -#line 521 "levcomp.ypp" + case 134: +#line 533 "levcomp.ypp" {} break; - case 130: - -/* Line 1455 of yacc.c */ -#line 522 "levcomp.ypp" + case 135: +#line 534 "levcomp.ypp" {} break; - case 133: - -/* Line 1455 of yacc.c */ -#line 530 "levcomp.ypp" + case 138: +#line 542 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2397,24 +2262,18 @@ yyreduce: } break; - case 134: - -/* Line 1455 of yacc.c */ -#line 537 "levcomp.ypp" + case 139: +#line 549 "levcomp.ypp" {} break; - case 135: - -/* Line 1455 of yacc.c */ -#line 538 "levcomp.ypp" + case 140: +#line 550 "levcomp.ypp" {} break; - case 138: - -/* Line 1455 of yacc.c */ -#line 546 "levcomp.ypp" + case 143: +#line 558 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2423,10 +2282,8 @@ yyreduce: } break; - case 139: - -/* Line 1455 of yacc.c */ -#line 555 "levcomp.ypp" + case 144: +#line 567 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2435,17 +2292,13 @@ yyreduce: } break; - case 140: - -/* Line 1455 of yacc.c */ -#line 563 "levcomp.ypp" + case 145: +#line 575 "levcomp.ypp" {} break; - case 141: - -/* Line 1455 of yacc.c */ -#line 565 "levcomp.ypp" + case 146: +#line 577 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2454,10 +2307,8 @@ yyreduce: } break; - case 142: - -/* Line 1455 of yacc.c */ -#line 574 "levcomp.ypp" + case 147: +#line 586 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2465,10 +2316,8 @@ yyreduce: } break; - case 143: - -/* Line 1455 of yacc.c */ -#line 581 "levcomp.ypp" + case 148: +#line 593 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2476,10 +2325,8 @@ yyreduce: } break; - case 144: - -/* Line 1455 of yacc.c */ -#line 588 "levcomp.ypp" + case 149: +#line 600 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2487,10 +2334,8 @@ yyreduce: } break; - case 145: - -/* Line 1455 of yacc.c */ -#line 595 "levcomp.ypp" + case 150: +#line 607 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2498,10 +2343,8 @@ yyreduce: } break; - case 146: - -/* Line 1455 of yacc.c */ -#line 603 "levcomp.ypp" + case 151: +#line 615 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2509,17 +2352,13 @@ yyreduce: } break; - case 147: - -/* Line 1455 of yacc.c */ -#line 610 "levcomp.ypp" + case 152: +#line 622 "levcomp.ypp" {} break; - case 148: - -/* Line 1455 of yacc.c */ -#line 612 "levcomp.ypp" + case 153: +#line 624 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2528,10 +2367,8 @@ yyreduce: } break; - case 149: - -/* Line 1455 of yacc.c */ -#line 621 "levcomp.ypp" + case 154: +#line 633 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2540,10 +2377,8 @@ yyreduce: } break; - case 153: - -/* Line 1455 of yacc.c */ -#line 637 "levcomp.ypp" + case 158: +#line 649 "levcomp.ypp" { lc_map.mapchunk.add( yylineno, @@ -2552,10 +2387,8 @@ yyreduce: } break; - case 157: - -/* Line 1455 of yacc.c */ -#line 653 "levcomp.ypp" + case 162: +#line 665 "levcomp.ypp" { lc_map.main.add( yylineno, @@ -2565,9 +2398,8 @@ yyreduce: break; - -/* Line 1455 of yacc.c */ -#line 2571 "levcomp.tab.c" +/* Line 1267 of yacc.c. */ +#line 2403 "levcomp.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2578,6 +2410,7 @@ 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. */ @@ -2642,7 +2475,7 @@ yyerrlab: if (yyerrstatus == 3) { - /* If just tried and failed to reuse lookahead token after an + /* If just tried and failed to reuse look-ahead token after an error, discard it. */ if (yychar <= YYEOF) @@ -2659,7 +2492,7 @@ yyerrlab: } } - /* Else will try to reuse lookahead token after shifting the error + /* Else will try to reuse look-ahead token after shifting the error token. */ goto yyerrlab1; @@ -2716,6 +2549,9 @@ yyerrlab1: YY_STACK_PRINT (yyss, yyssp); } + if (yyn == YYFINAL) + YYACCEPT; + *++yyvsp = yylval; @@ -2740,7 +2576,7 @@ yyabortlab: yyresult = 1; goto yyreturn; -#if !defined(yyoverflow) || YYERROR_VERBOSE +#ifndef yyoverflow /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -2751,7 +2587,7 @@ yyexhaustedlab: #endif yyreturn: - if (yychar != YYEMPTY) + if (yychar != YYEOF && yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered @@ -2777,8 +2613,6 @@ yyreturn: } - -/* Line 1675 of yacc.c */ -#line 661 "levcomp.ypp" +#line 673 "levcomp.ypp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.h b/crawl-ref/source/prebuilt/levcomp.tab.h index b85b498aee..9d75d0a0bd 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.h +++ b/crawl-ref/source/prebuilt/levcomp.tab.h @@ -1,15 +1,14 @@ - -/* A Bison parser, made by GNU Bison 2.4.1. */ +/* A Bison parser, made by GNU Bison 2.3. */ /* 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 3 of the License, or - (at your option) any later version. + the Free Software Foundation; either version 2, 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 @@ -17,7 +16,9 @@ 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, see <http://www.gnu.org/licenses/>. */ + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -32,7 +33,6 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ - /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE @@ -62,29 +62,30 @@ MAIN = 278, VALIDATE = 279, VETO = 280, - NSUBST = 281, - WELCOME = 282, - LFLAGS = 283, - BFLAGS = 284, - LFLOORCOL = 285, - LROCKCOL = 286, - LFLOORTILE = 287, - LROCKTILE = 288, - FTILE = 289, - RTILE = 290, - TILE = 291, - SUBVAULT = 292, - 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 + EPILOGUE = 281, + NSUBST = 282, + WELCOME = 283, + LFLAGS = 284, + BFLAGS = 285, + LFLOORCOL = 286, + LROCKCOL = 287, + LFLOORTILE = 288, + LROCKTILE = 289, + FTILE = 290, + RTILE = 291, + TILE = 292, + SUBVAULT = 293, + FHEIGHT = 294, + COMMA = 295, + COLON = 296, + PERC = 297, + INTEGER = 298, + CHARACTER = 299, + STRING = 300, + MAP_LINE = 301, + MONSTER_NAME = 302, + ITEM_INFO = 303, + LUA_LINE = 304 }; #endif /* Tokens. */ @@ -111,52 +112,48 @@ #define MAIN 278 #define VALIDATE 279 #define VETO 280 -#define NSUBST 281 -#define WELCOME 282 -#define LFLAGS 283 -#define BFLAGS 284 -#define LFLOORCOL 285 -#define LROCKCOL 286 -#define LFLOORTILE 287 -#define LROCKTILE 288 -#define FTILE 289 -#define RTILE 290 -#define TILE 291 -#define SUBVAULT 292 -#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 +#define EPILOGUE 281 +#define NSUBST 282 +#define WELCOME 283 +#define LFLAGS 284 +#define BFLAGS 285 +#define LFLOORCOL 286 +#define LROCKCOL 287 +#define LFLOORTILE 288 +#define LROCKTILE 289 +#define FTILE 290 +#define RTILE 291 +#define TILE 292 +#define SUBVAULT 293 +#define FHEIGHT 294 +#define COMMA 295 +#define COLON 296 +#define PERC 297 +#define INTEGER 298 +#define CHARACTER 299 +#define STRING 300 +#define MAP_LINE 301 +#define MONSTER_NAME 302 +#define ITEM_INFO 303 +#define LUA_LINE 304 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -{ - -/* Line 1676 of yacc.c */ #line 45 "levcomp.ypp" - +{ int i; const char *text; raw_range range; - - - -/* Line 1676 of yacc.c */ -#line 156 "levcomp.tab.h" -} YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 +} +/* Line 1489 of yacc.c. */ +#line 153 "levcomp.tab.h" + YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE yylval; |