diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-03-12 21:10:52 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-03-12 21:10:52 +0000 |
commit | a3b9e6444043970ee47c3d90cfb9a8e1e9966273 (patch) | |
tree | 753254ff21a8b9a54c07f4458da32bf6a7a86958 /crawl-ref/source/prebuilt | |
parent | 0ae2c1d9c5e151a1f584787f7bdef80eeb65323d (diff) | |
download | crawl-ref-a3b9e6444043970ee47c3d90cfb9a8e1e9966273.tar.gz crawl-ref-a3b9e6444043970ee47c3d90cfb9a8e1e9966273.zip |
Update pregenerated level-compiler files.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1030 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/prebuilt')
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.lex.cc | 2834 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.cc | 607 | ||||
-rw-r--r-- | crawl-ref/source/prebuilt/levcomp.tab.h | 188 |
3 files changed, 1892 insertions, 1737 deletions
diff --git a/crawl-ref/source/prebuilt/levcomp.lex.cc b/crawl-ref/source/prebuilt/levcomp.lex.cc index 662ede3edc..a5d3cc07c5 100644 --- a/crawl-ref/source/prebuilt/levcomp.lex.cc +++ b/crawl-ref/source/prebuilt/levcomp.lex.cc @@ -377,8 +377,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 73 -#define YY_END_OF_BUFFER 74 +#define YY_NUM_RULES 76 +#define YY_END_OF_BUFFER 77 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -386,168 +386,177 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1461] = +static yyconst flex_int16_t yy_accept[1538] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 74, 72, 66, 67, 72, 70, 68, 69, - 64, 63, 65, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 66, 20, 72, 72, 73, - 6, 73, 73, 4, 2, 3, 73, 73, 2, 2, - 2, 72, 19, 72, 70, 68, 69, 64, 63, 65, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 20, 72, 72, 72, 17, 14, 17, 70, - - 68, 69, 16, 63, 65, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 17, 20, 72, - 72, 8, 9, 72, 7, 7, 7, 7, 7, 7, + 0, 0, 77, 75, 69, 70, 75, 73, 71, 72, + 67, 66, 68, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 69, 20, 75, 75, + 76, 6, 76, 76, 4, 2, 3, 76, 76, 2, + 2, 2, 75, 19, 75, 73, 71, 72, 67, 66, + 68, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 20, 75, 75, 75, 17, 14, + + 17, 73, 71, 72, 16, 66, 68, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 17, 20, 75, 75, 8, 9, 75, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, - 7, 72, 12, 13, 72, 70, 68, 69, 11, 63, - 65, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 12, 20, 72, 72, 66, 67, 65, - - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 66, 20, 20, - 71, 71, 71, 6, 5, 0, 0, 2, 3, 0, - 0, 2, 2, 2, 18, 0, 19, 18, 18, 18, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 8, 7, 7, 75, 12, 13, 75, 73, + 71, 72, 11, 66, 68, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 12, 20, + + 75, 75, 69, 70, 68, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 69, 20, 20, 74, 74, + 74, 6, 5, 0, 0, 2, 3, 0, 0, 2, + 2, 2, 18, 0, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 20, 18, 18, 18, - 0, 17, 14, 17, 14, 65, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, + 18, 18, 18, 18, 18, 18, 18, 20, 18, 18, + 18, 0, 17, 14, 17, 14, 68, 74, 74, 74, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 17, 20, 71, 71, 71, 8, 9, - 0, 9, 7, 7, 7, 7, 7, 7, 7, 7, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 17, 20, 74, + 74, 74, 8, 9, 0, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 8, 7, 7, 7, 0, 12, 13, 0, 13, - 65, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 12, 20, - 71, 71, 71, 71, 71, 71, 71, 71, 42, 71, - - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 21, 2, 18, 18, 18, + 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, + 7, 7, 0, 12, 13, 0, 13, 68, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + + 74, 74, 74, 74, 74, 74, 74, 74, 12, 20, + 74, 74, 74, 74, 74, 74, 74, 74, 45, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 21, 2, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - + 15, 15, 15, 15, 15, 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 10, 10, 10, 10, 10, 10, 10, + 7, 7, 7, 7, 7, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 56, 71, 71, - 71, 71, 71, 71, 71, 71, 57, 2, 18, 18, + 10, 10, 10, 10, 10, 10, 10, 10, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 59, 74, 74, 74, 74, + 74, 74, 74, 74, 60, 2, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 15, 15, 15, 15, 15, 15, 15, 15, + 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 71, 71, 71, 71, 36, 71, - 71, 71, 71, 71, 32, 41, 31, 71, 22, 71, - 71, 71, 71, 71, 71, 71, 71, 29, 71, 71, - 62, 71, 71, 71, 54, 71, 55, 2, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 10, 10, 10, 10, 74, 74, 74, 74, 39, 74, + 74, 74, 74, 74, 32, 74, 74, 74, 44, 31, + 74, 22, 74, 74, 74, 74, 74, 74, 74, 74, + 29, 74, 74, 65, 74, 74, 74, 57, 74, 58, + 2, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + + 15, 15, 15, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 10, 10, 10, 10, 10, 10, 10, 10, + 7, 7, 7, 7, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 74, 74, 74, 24, 74, 74, 74, 28, 74, 34, + 35, 36, 74, 74, 26, 74, 74, 74, 74, 74, + 30, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 10, 10, 10, 10, 10, 71, 71, 71, 24, 71, - 71, 71, 28, 71, 71, 71, 26, 71, 71, 71, - 71, 71, 30, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 1, 18, 18, 18, 18, 18, 18, + 74, 1, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 15, 15, 15, 15, 15, 15, 15, 15, + 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, + 74, 27, 38, 74, 74, 74, 74, 74, 25, 74, + 46, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 10, 10, 10, 10, 10, 10, + 7, 7, 7, 7, 7, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 37, 71, 27, 35, 71, 71, 71, 71, - 71, 25, 71, 43, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 18, 18, 18, + 74, 74, 74, 74, 74, 50, 74, 74, 74, 33, + 0, 74, 74, 74, 74, 74, 74, 74, 74, 74, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 7, 7, 7, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 71, 71, 71, 71, 71, 47, 71, - 71, 71, 33, 0, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 18, 18, 18, 18, 18, 18, 18, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 74, + 74, 74, 49, 74, 74, 74, 74, 0, 56, 74, + 55, 74, 61, 62, 74, 63, 64, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - - 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, + 18, 18, 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 71, 71, 71, 46, 71, 71, 71, 71, - 0, 53, 71, 52, 71, 58, 59, 71, 60, 61, + 10, 10, 10, 10, 10, 10, 10, 10, 37, 74, + 48, 74, 74, 74, 74, 0, 53, 54, 52, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 10, 10, 10, 10, 10, 10, 10, + 15, 7, 7, 7, 7, 7, 7, 7, 7, 7, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 34, 71, 45, 71, 71, 71, 71, 0, 50, - 51, 49, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 10, 10, 10, 10, 10, 10, 10, + 10, 51, 74, 47, 74, 41, 0, 18, 18, 18, + 18, 18, 18, 15, 15, 15, 15, 15, 15, 7, - 10, 10, 10, 10, 48, 71, 44, 71, 38, 0, - 18, 18, 18, 18, 18, 18, 15, 15, 15, 15, - 15, 15, 7, 7, 7, 7, 10, 10, 10, 10, - 10, 10, 71, 40, 0, 18, 18, 18, 15, 15, - 15, 7, 7, 10, 10, 10, 39, 0, 18, 18, - 15, 15, 7, 10, 10, 23, 18, 15, 10, 0 + 7, 7, 7, 10, 10, 10, 10, 10, 10, 74, + 43, 0, 18, 18, 18, 15, 15, 15, 7, 7, + 10, 10, 10, 42, 0, 18, 18, 15, 15, 7, + 10, 10, 23, 18, 15, 10, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -592,1259 +601,1319 @@ static yyconst flex_int32_t yy_meta[56] = 7, 7, 7, 7, 7 } ; -static yyconst flex_int16_t yy_base[1484] = +static yyconst flex_int16_t yy_base[1561] = { 0, 0, 54, 59, 65, 116, 170, 221, 275, 326, 380, - 431, 485, 4053, 4054, 55, 4054, 4049, 4054, 4054, 4054, - 4054, 4054, 4039, 0, 4020, 4028, 4030, 38, 4022, 4014, - 4027, 4016, 4029, 4012, 50, 4013, 53, 4026, 3998, 40, - 3993, 3989, 3998, 3987, 3993, 83, 0, 63, 45, 4054, - 4054, 4030, 94, 4054, 0, 4054, 4029, 97, 0, 4004, - 61, 90, 4054, 4027, 102, 106, 174, 178, 182, 186, - 536, 549, 164, 85, 162, 84, 163, 181, 172, 187, - 3999, 178, 177, 185, 264, 179, 249, 253, 251, 51, - 254, 256, 286, 275, 274, 0, 304, 4054, 308, 0, - - 0, 0, 4054, 0, 4016, 579, 592, 622, 643, 661, - 289, 288, 365, 146, 370, 359, 376, 363, 386, 381, - 377, 382, 461, 462, 361, 464, 387, 498, 206, 480, - 556, 421, 4054, 4024, 0, 4014, 4014, 484, 274, 498, - 493, 502, 487, 506, 507, 307, 518, 541, 511, 585, - 416, 482, 523, 519, 515, 281, 520, 554, 569, 597, - 591, 0, 610, 4054, 4021, 0, 0, 0, 4054, 0, - 4011, 696, 709, 739, 760, 778, 611, 605, 646, 630, - 620, 648, 659, 652, 692, 694, 665, 696, 697, 664, - 737, 701, 747, 751, 209, 767, 766, 614, 4054, 4010, - - 0, 4007, 4006, 777, 609, 3997, 662, 4000, 3983, 3989, - 3989, 3992, 3999, 3990, 3997, 505, 3977, 3994, 3988, 3965, - 3955, 3966, 3956, 645, 3956, 3949, 3950, 728, 0, 0, - 3971, 3985, 700, 4054, 4054, 3995, 794, 0, 4054, 3994, - 806, 3979, 3968, 559, 814, 818, 4054, 822, 3964, 798, - 801, 806, 812, 808, 818, 591, 729, 773, 813, 811, - 826, 823, 833, 834, 774, 836, 829, 629, 822, 539, - 824, 740, 630, 825, 828, 863, 872, 708, 855, 831, - 878, 884, 4054, 888, 4054, 892, 904, 917, 931, 945, - 938, 944, 958, 930, 949, 963, 962, 976, 982, 981, - - 985, 990, 996, 1005, 1011, 1004, 1018, 1019, 1022, 1025, - 1026, 1045, 1048, 896, 1061, 1049, 1071, 1062, 1092, 4054, - 3990, 4054, 0, 3980, 3980, 870, 951, 1090, 897, 849, - 1075, 514, 909, 1032, 991, 885, 1073, 905, 1093, 1094, - 382, 1011, 1041, 71, 884, 1021, 923, 1081, 642, 986, - 1061, 1121, 1100, 1103, 1104, 1130, 1134, 4054, 3987, 4054, - 1138, 1155, 1168, 1182, 1196, 1189, 1122, 1200, 1181, 1203, - 1211, 1123, 1204, 1222, 1225, 1229, 1233, 1226, 1248, 1249, - 1252, 1253, 1256, 1257, 1270, 1271, 1277, 1284, 1307, 1317, - 1297, 1310, 1314, 3962, 3961, 3973, 3954, 3969, 3958, 3953, - - 3950, 3961, 3952, 3953, 3960, 3946, 3958, 3957, 3958, 3946, - 3939, 3947, 3938, 3950, 3937, 3936, 3928, 3913, 3916, 3925, - 1196, 3910, 3921, 3908, 3907, 0, 3932, 1118, 1186, 1164, - 1076, 1104, 1141, 3927, 1261, 1312, 1295, 1240, 1128, 954, - 1129, 1162, 1156, 1304, 1314, 1103, 1306, 1318, 1052, 1243, - 1316, 1319, 1320, 1321, 1323, 1322, 1327, 1326, 1328, 3926, - 1358, 1367, 1356, 1357, 1362, 1376, 1377, 1381, 1373, 1384, - 1392, 1397, 1401, 1408, 1417, 1412, 1426, 1431, 1435, 1434, - 1439, 1450, 1454, 1458, 1459, 1463, 1472, 1476, 1477, 1480, - 1483, 1498, 1501, 1505, 1516, 1511, 1520, 1523, 1524, 1540, - - 1371, 1411, 1350, 1351, 859, 1344, 746, 1408, 1422, 1390, - 1441, 1206, 910, 1482, 1486, 1281, 1448, 1414, 1460, 1487, - 1512, 997, 1154, 1529, 1511, 1533, 1535, 1545, 1537, 1547, - 1549, 1550, 3944, 1560, 1570, 1545, 1565, 1578, 1579, 1584, - 1595, 1599, 1602, 1608, 1615, 1619, 1623, 1637, 1622, 1640, - 1643, 1644, 1651, 1648, 1664, 1665, 1670, 1671, 1679, 1684, - 1685, 1688, 1692, 1709, 1710, 1713, 1714, 1727, 1575, 1736, - 1741, 1754, 1745, 3938, 3937, 3919, 3930, 3937, 3921, 3912, - 3910, 3915, 3915, 3931, 3918, 947, 3929, 3914, 3922, 3917, - 3913, 3900, 3899, 3916, 3902, 3920, 3879, 0, 3885, 3878, - - 3883, 3880, 3881, 3883, 3884, 3881, 0, 3909, 1570, 1574, - 1587, 1615, 1593, 1657, 1656, 1582, 1634, 3892, 1696, 1553, - 1718, 1705, 1697, 1731, 1690, 1750, 1592, 1717, 1758, 1752, - 1721, 1739, 3891, 1748, 1751, 1756, 1757, 1760, 1761, 1759, - 1765, 3890, 1782, 1791, 1790, 1795, 1799, 1806, 1810, 1813, - 1814, 1828, 1835, 1836, 1843, 1850, 1849, 1864, 1865, 1872, - 1869, 1873, 1880, 1886, 1894, 1893, 1897, 1901, 1900, 1908, - 1914, 1919, 1930, 1922, 1937, 1938, 1820, 1874, 1782, 1806, - 1786, 1842, 1841, 1849, 1445, 1287, 1827, 1632, 1923, 1838, - 1862, 1903, 1949, 1680, 1933, 1947, 1953, 1963, 1929, 1924, - - 3908, 1964, 1965, 1967, 1860, 1968, 1714, 1665, 1972, 3907, - 1969, 1970, 1963, 1987, 1974, 1992, 1993, 2006, 1978, 2009, - 2013, 2022, 2017, 2037, 2033, 2036, 2050, 2051, 2054, 2055, - 2058, 2069, 2077, 2074, 2078, 2083, 2091, 2092, 2097, 2105, - 2106, 2111, 2125, 2128, 3896, 3898, 3890, 3901, 4054, 3886, - 3875, 3885, 3897, 3872, 4054, 0, 4054, 3890, 4054, 3875, - 3893, 3871, 3872, 3887, 3885, 3876, 3887, 4054, 3854, 3849, - 0, 3853, 3844, 3851, 1949, 3848, 1978, 3864, 2074, 2027, - 2033, 2048, 2113, 2004, 2102, 2045, 2118, 2116, 2156, 3862, - 2160, 2137, 2167, 2143, 2120, 2136, 2144, 2083, 2160, 2153, - - 2150, 2177, 2154, 2155, 3861, 2156, 2089, 2157, 2161, 2159, - 2162, 2177, 2191, 2194, 2199, 2192, 2202, 2195, 2208, 2222, - 2217, 2238, 2226, 2242, 2231, 2254, 2239, 2248, 2244, 2253, - 2264, 2257, 2271, 2268, 2264, 2272, 2275, 2279, 2290, 2294, - 2297, 2301, 2308, 2314, 1970, 2177, 2182, 2294, 2304, 2227, - 2303, 2325, 2281, 3879, 2329, 2333, 2337, 2231, 2338, 2341, - 2342, 2347, 2349, 2340, 2324, 3878, 2278, 2200, 2350, 2352, - 2048, 2355, 2355, 2349, 2352, 2369, 2385, 2370, 2383, 2387, - 2390, 2386, 2390, 2403, 2406, 2406, 2424, 2409, 2414, 2417, - 2423, 2428, 2439, 2442, 2447, 2448, 2443, 2446, 2450, 2461, - - 2465, 2468, 2472, 2479, 2485, 2362, 3875, 3855, 4054, 3855, - 3859, 3853, 4054, 3867, 3852, 3868, 4054, 3866, 3866, 3850, - 3859, 3858, 4054, 3823, 3836, 3823, 3834, 3821, 3832, 3828, - 3820, 3829, 3825, 0, 2472, 2470, 2477, 2516, 2281, 2456, - 2400, 2526, 2433, 3835, 2493, 2530, 2508, 2506, 2509, 2511, - 2515, 2542, 2463, 2512, 2513, 2518, 2519, 2521, 2523, 2522, - 2524, 2525, 2548, 2555, 2556, 2555, 2552, 2563, 2571, 2571, - 2577, 2580, 2584, 2593, 2593, 2601, 2597, 2600, 2615, 2599, - 2608, 2616, 2619, 2624, 2630, 2637, 2645, 2648, 2652, 2653, - 2674, 2567, 2610, 2647, 2625, 2662, 2641, 2561, 2652, 2678, - - 2684, 2612, 2687, 2688, 2659, 2353, 2677, 2690, 2689, 2691, - 2692, 2693, 2696, 2697, 2701, 2706, 2717, 2707, 2721, 2725, - 2724, 2708, 2741, 2744, 2748, 2719, 2752, 2749, 2757, 2771, - 2774, 2721, 2765, 2768, 2779, 2782, 2785, 2790, 2793, 2796, - 2807, 2811, 4054, 3846, 4054, 0, 3831, 3831, 3841, 3832, - 3828, 4054, 3825, 4054, 3828, 3819, 3834, 3835, 3790, 3790, - 3787, 3782, 3776, 3775, 3778, 3769, 3768, 2844, 2587, 2849, - 3788, 2685, 2728, 2803, 2717, 2734, 2853, 2817, 2857, 2807, - 2834, 2826, 2830, 2835, 2692, 2739, 2837, 2838, 2839, 2836, - 2840, 2841, 2870, 2866, 2871, 2869, 2874, 2880, 2888, 2885, - - 2891, 2872, 2896, 2876, 2899, 2902, 2913, 2924, 2917, 2920, - 2921, 2928, 2935, 2943, 2946, 2950, 2961, 2883, 3800, 2891, - 2927, 2956, 2868, 2930, 2901, 2960, 2934, 2869, 3795, 2945, - 2949, 2971, 2972, 2973, 2976, 2771, 2977, 2978, 2993, 2984, - 2995, 2985, 2988, 3002, 3006, 3011, 3015, 3003, 3019, 3004, - 3022, 3026, 3030, 3043, 3037, 3044, 3048, 3051, 3052, 3066, - 3067, 3073, 3080, 3786, 3786, 3779, 3785, 3772, 0, 3761, - 3753, 3748, 4054, 3739, 3723, 3725, 3731, 3717, 3706, 3699, - 3701, 3692, 3691, 3039, 2777, 3085, 3063, 3035, 3700, 3059, - 3078, 3080, 3114, 3118, 2981, 2988, 3091, 3077, 3061, 3096, - - 3034, 3097, 3098, 3110, 3115, 3116, 3124, 3132, 3111, 3135, - 3140, 3143, 3085, 3165, 3157, 3154, 3158, 3161, 3162, 3165, - 3181, 3182, 3187, 3184, 3186, 3145, 3208, 3127, 3701, 3204, - 3196, 3209, 3671, 3171, 3187, 3212, 3215, 3216, 3217, 3220, - 3219, 3221, 3214, 3218, 3231, 3225, 3236, 3247, 3255, 3260, - 3263, 3270, 3285, 3277, 3274, 3278, 3281, 3282, 3285, 3301, - 3302, 3307, 3692, 3670, 3681, 4054, 3664, 3647, 3645, 3651, - 3627, 0, 3589, 0, 3568, 0, 0, 3575, 0, 0, - 3227, 3576, 3229, 3313, 3218, 3251, 3269, 3314, 3337, 3516, - 3293, 3504, 3297, 3449, 3436, 3310, 3422, 3394, 3333, 3336, - - 3344, 3346, 3341, 3352, 3357, 3358, 3351, 3366, 3372, 3375, - 3379, 3380, 3383, 3386, 3397, 3401, 3369, 2980, 3408, 3385, - 3266, 3407, 3347, 3382, 3339, 3274, 3259, 3350, 3247, 3241, - 3396, 2926, 2832, 3414, 3417, 3425, 3429, 3422, 3430, 3436, - 3439, 3437, 3444, 3445, 3452, 3453, 3458, 3461, 3467, 3478, - 3481, 4054, 2800, 4054, 2698, 2703, 2611, 2545, 2475, 0, - 0, 0, 3489, 3148, 3497, 3455, 3491, 2481, 3492, 3509, - 2434, 2409, 2374, 3513, 3497, 3515, 3500, 3511, 3506, 3519, - 3539, 3520, 3524, 3528, 3426, 3512, 3541, 3363, 3549, 2166, - 2016, 1991, 1559, 3559, 3537, 3565, 3544, 3552, 3555, 3563, - - 3567, 3560, 3568, 3571, 0, 1450, 4054, 1381, 4054, 1213, - 1181, 1086, 3591, 3585, 3599, 3603, 3590, 3593, 3608, 3598, - 3623, 3628, 891, 3497, 3567, 769, 3607, 3612, 3630, 3621, - 3642, 3643, 607, 4054, 546, 3607, 3649, 3654, 3644, 3644, - 3659, 3649, 274, 3652, 3664, 3665, 4054, 280, 3672, 3680, - 3684, 3685, 201, 3686, 3694, 4054, 3699, 3704, 3708, 4054, - 3713, 3720, 51, 3727, 3734, 3741, 3748, 3755, 3762, 3769, - 3776, 3783, 3785, 3787, 3794, 3801, 3808, 3815, 3822, 3829, - 3836, 3843, 3850 + 431, 485, 4249, 4250, 55, 4250, 4245, 4250, 4250, 4250, + 4250, 4250, 4235, 0, 4216, 4224, 4226, 38, 4218, 4210, + 52, 4223, 4212, 4225, 4208, 50, 4209, 56, 4222, 4194, + 41, 4189, 4185, 4194, 4183, 4189, 80, 0, 67, 60, + 4250, 4250, 4226, 87, 4250, 0, 4250, 4225, 93, 0, + 4200, 155, 97, 4250, 4223, 102, 108, 174, 178, 182, + 186, 536, 549, 73, 163, 162, 84, 169, 181, 184, + 180, 190, 4195, 253, 185, 260, 270, 144, 256, 70, + 164, 179, 258, 175, 287, 281, 272, 0, 310, 4250, + + 314, 0, 0, 0, 4250, 0, 4212, 579, 592, 622, + 643, 661, 272, 356, 367, 372, 368, 370, 374, 385, + 386, 395, 474, 269, 467, 373, 462, 388, 464, 480, + 515, 388, 499, 556, 526, 4250, 4220, 0, 4210, 4210, + 294, 406, 482, 497, 297, 484, 550, 485, 495, 552, + 522, 584, 537, 556, 557, 567, 564, 528, 487, 601, + 605, 585, 673, 606, 631, 0, 681, 4250, 4217, 0, + 0, 0, 4250, 0, 4207, 696, 709, 739, 760, 778, + 611, 605, 673, 646, 586, 692, 694, 708, 703, 737, + 722, 747, 763, 620, 728, 765, 767, 777, 804, 560, + + 800, 790, 685, 4250, 4206, 0, 4203, 4202, 694, 764, + 4193, 698, 4196, 4195, 4180, 4183, 4176, 4182, 4182, 4185, + 4192, 4183, 4190, 643, 4170, 4187, 4181, 4158, 4148, 4159, + 4149, 569, 4149, 4142, 4143, 749, 0, 0, 4164, 4178, + 702, 4250, 4250, 4188, 816, 0, 4250, 4187, 819, 4172, + 4161, 607, 689, 827, 4250, 832, 4157, 745, 763, 820, + 813, 818, 828, 829, 834, 765, 825, 291, 827, 399, + 838, 832, 839, 849, 850, 837, 856, 845, 842, 474, + 843, 844, 846, 847, 165, 851, 883, 893, 860, 877, + 873, 899, 906, 4250, 910, 4250, 914, 926, 939, 953, + + 967, 960, 966, 980, 952, 983, 974, 988, 991, 999, + 1005, 1010, 1019, 1018, 1032, 1026, 1033, 1041, 1048, 1040, + 1054, 1055, 1059, 1062, 1073, 1077, 1082, 918, 1093, 1090, + 1096, 1097, 1132, 4250, 4183, 4250, 0, 4173, 4173, 973, + 1103, 1113, 919, 895, 1127, 815, 882, 931, 954, 979, + 1016, 989, 907, 1129, 927, 1135, 1134, 1042, 1065, 1024, + 1047, 1107, 1118, 1111, 1128, 1120, 1012, 1136, 1149, 1150, + 1149, 1155, 1166, 1170, 4250, 4180, 4250, 1178, 1206, 1219, + 1233, 1247, 1165, 1169, 1243, 1174, 1232, 1170, 1251, 1254, + 1262, 1268, 1246, 1276, 1279, 1290, 1284, 1287, 1307, 1304, + + 1298, 1312, 1313, 1318, 1327, 1326, 1331, 1340, 1376, 1383, + 1363, 1376, 1370, 4155, 4154, 4166, 4147, 4162, 4151, 4146, + 4143, 4154, 4145, 4146, 4157, 4152, 4142, 4150, 4136, 4148, + 4147, 4148, 4136, 4129, 4137, 4128, 4140, 4127, 4126, 4118, + 4103, 4106, 4115, 1311, 4100, 4111, 4098, 4097, 0, 4122, + 1237, 1284, 1155, 1186, 927, 1266, 4117, 1199, 1156, 1215, + 1304, 1272, 1192, 1298, 1321, 1206, 1356, 1379, 1179, 1340, + 1342, 1140, 1368, 1383, 1373, 1380, 1338, 1376, 1378, 1382, + 1384, 1385, 1229, 1387, 1388, 4116, 1414, 1420, 1404, 1417, + 1422, 1428, 1431, 1436, 1435, 1439, 1452, 1456, 1460, 1467, + + 1463, 1481, 1476, 1490, 1482, 1496, 1499, 1504, 1505, 1510, + 1518, 1519, 1525, 1526, 1533, 1534, 1539, 1540, 1547, 1555, + 1548, 1561, 1564, 1568, 1602, 1584, 1592, 1600, 1599, 1418, + 1445, 1613, 1529, 721, 1505, 630, 1549, 1486, 993, 1591, + 1621, 1413, 1463, 1462, 1491, 1564, 1578, 1337, 1583, 1493, + 1076, 1611, 1615, 1622, 1625, 1166, 563, 1597, 1535, 1626, + 1627, 1628, 1629, 1630, 4134, 1642, 1646, 1623, 1630, 1636, + 1656, 1659, 1655, 1670, 1664, 1673, 1678, 1684, 1691, 1692, + 1700, 1697, 1714, 1706, 1720, 1723, 1728, 1729, 1734, 1742, + 1743, 1749, 1750, 1757, 1758, 1763, 1764, 1771, 1779, 1772, + + 1785, 1788, 1792, 1826, 1808, 1816, 1824, 1823, 4128, 4127, + 4109, 4120, 4127, 4111, 4102, 4100, 4105, 4105, 4121, 4101, + 4106, 4100, 4105, 1695, 4116, 4101, 4109, 4104, 4100, 4087, + 4086, 4103, 4089, 4107, 4066, 0, 4072, 4065, 4070, 4067, + 4068, 4070, 4071, 4068, 0, 4096, 1630, 1684, 1818, 1643, + 1828, 1706, 1636, 1769, 1754, 4079, 1833, 1788, 1720, 1826, + 1834, 1837, 1847, 1835, 1843, 1775, 1841, 1838, 1842, 1851, + 1802, 1863, 1848, 4078, 1850, 1852, 1853, 1854, 1857, 1400, + 1856, 1783, 4077, 1869, 1876, 1887, 1890, 1895, 1894, 1898, + 1909, 1912, 1918, 1923, 1926, 1934, 1937, 1942, 1951, 1956, + + 1957, 1960, 1971, 1976, 1975, 1979, 1943, 1990, 1984, 1995, + 1998, 1999, 2004, 2012, 2013, 2018, 2031, 2034, 2038, 2047, + 1878, 1899, 1879, 1719, 1919, 1922, 2000, 1940, 1928, 2009, + 2027, 2014, 1651, 2023, 2048, 2057, 2066, 2044, 1981, 2061, + 2069, 2071, 2073, 2074, 2075, 2077, 2076, 4095, 47, 2040, + 2080, 1933, 2084, 2085, 2086, 2088, 4094, 2082, 2086, 2085, + 2103, 2090, 2114, 2117, 2118, 2121, 2132, 2125, 2138, 2145, + 2146, 2153, 2160, 2167, 2166, 2181, 2182, 2189, 2186, 2190, + 2197, 2203, 2211, 2210, 2214, 2218, 2217, 2225, 2231, 2236, + 2247, 2239, 2254, 2255, 4083, 4085, 4077, 4088, 4250, 4073, + + 4062, 4072, 4084, 4059, 4250, 4082, 4081, 4080, 0, 4250, + 4074, 4250, 4059, 4077, 4055, 4056, 4071, 4069, 4060, 4071, + 4250, 4038, 4033, 0, 4037, 4028, 4035, 2065, 4032, 2084, + 4048, 1734, 2082, 2158, 2128, 2287, 2160, 2129, 2176, 2264, + 2201, 2291, 2268, 2274, 2275, 4046, 2297, 2105, 2304, 2221, + 2287, 2173, 2227, 2245, 2151, 2282, 2290, 2309, 2280, 2285, + 4045, 2286, 2288, 2289, 2291, 2292, 2294, 2308, 2323, 2326, + 2331, 2321, 2334, 2337, 2350, 2351, 2354, 2326, 2358, 2359, + 2373, 2365, 2393, 2381, 2401, 2382, 2396, 2388, 2389, 2407, + 2411, 2410, 2418, 2441, 2425, 2426, 2429, 2432, 2433, 2440, + + 2448, 2449, 2463, 2337, 2325, 2461, 2421, 2348, 2356, 2439, + 2470, 2462, 2477, 2480, 2485, 4063, 2489, 2442, 2495, 2476, + 2490, 2486, 2494, 2498, 2501, 2149, 2502, 4062, 2422, 2504, + 2505, 2506, 2508, 2509, 2505, 2509, 2506, 2526, 2527, 2539, + 2534, 2543, 2554, 2557, 2528, 2562, 2571, 2576, 2568, 2539, + 2585, 2541, 2577, 2598, 2591, 2599, 2605, 2616, 2613, 2624, + 2575, 2620, 2621, 2627, 2635, 2638, 2642, 2643, 2649, 2656, + 2535, 4059, 4039, 4250, 4039, 4043, 4037, 4250, 4051, 4250, + 4250, 4250, 4036, 4052, 4250, 4050, 4050, 4034, 4043, 4042, + 4250, 4007, 4020, 4007, 4018, 4005, 4016, 4012, 4004, 4013, + + 4009, 0, 2646, 2529, 2583, 2687, 2548, 2593, 2651, 2697, + 2582, 2701, 2705, 2710, 4019, 2647, 2714, 2674, 2670, 2666, + 2690, 2695, 2719, 2530, 2367, 2222, 2386, 2687, 2692, 2697, + 2696, 2698, 2699, 2722, 2729, 2714, 2729, 2728, 2735, 2736, + 2747, 2752, 2767, 2768, 2772, 2756, 2763, 2786, 2770, 2777, + 2774, 2791, 2794, 2793, 2785, 2788, 2799, 2802, 2805, 2810, + 2813, 2816, 2827, 2831, 2840, 2767, 2768, 2832, 2615, 2848, + 2850, 2841, 2856, 2859, 2863, 2857, 2745, 2864, 2786, 2866, + 2682, 2867, 2869, 2870, 2872, 2873, 2876, 2875, 2878, 2881, + 2870, 2888, 2896, 2903, 2899, 2901, 2904, 2934, 2935, 2936, + + 2923, 2930, 2942, 2931, 2938, 2927, 2945, 2952, 2963, 2953, + 2956, 2959, 2960, 2973, 2977, 2981, 2982, 2988, 3002, 4250, + 4030, 4250, 0, 4015, 4011, 4017, 4008, 4004, 4250, 3997, + 4250, 4004, 3999, 4008, 4005, 3964, 3964, 3957, 3958, 3956, + 3949, 3948, 3943, 3942, 3023, 2732, 3030, 3958, 2866, 3006, + 2973, 2896, 3008, 3040, 2947, 3044, 2999, 3011, 2918, 2881, + 2965, 2936, 3017, 3020, 2967, 2969, 3021, 3022, 3023, 3052, + 3046, 3053, 3047, 3052, 3060, 3066, 3071, 3063, 3054, 3074, + 3058, 3079, 3082, 3093, 3098, 3097, 3101, 3102, 3106, 3115, + 3121, 3124, 3128, 3139, 3069, 3976, 3056, 3107, 2581, 3108, + + 3130, 3112, 3138, 3085, 3149, 3975, 3131, 3128, 2962, 3153, + 3154, 3156, 3162, 3163, 3164, 3175, 3165, 3183, 3162, 3168, + 3173, 3191, 3197, 3198, 3184, 3202, 3193, 3205, 3213, 3224, + 3227, 3220, 3228, 3221, 3235, 3241, 3246, 3255, 3250, 3264, + 3956, 3952, 3949, 3955, 3938, 0, 3937, 3933, 3922, 4250, + 3907, 3889, 3886, 3892, 3884, 3867, 3849, 3856, 3847, 3846, + 3042, 2797, 3188, 3193, 3237, 3857, 3238, 3252, 3257, 3286, + 3294, 3270, 3171, 3264, 3274, 3273, 3276, 3279, 3277, 3278, + 3295, 3313, 3316, 3320, 3321, 3324, 3329, 3337, 3338, 3243, + 3336, 3342, 3343, 3356, 3359, 3363, 3367, 3370, 3381, 3387, + + 3299, 3158, 3300, 3306, 3302, 3872, 3352, 3353, 3305, 3842, + 3369, 3373, 3368, 3384, 3372, 3391, 3392, 3393, 3394, 3394, + 3409, 3422, 3418, 3425, 3429, 3436, 3440, 3443, 3406, 3424, + 3447, 3451, 3454, 3458, 3462, 3465, 3471, 3478, 3482, 3868, + 3845, 3853, 4250, 3834, 3823, 3821, 3828, 3798, 0, 3787, + 0, 3779, 0, 0, 3759, 0, 0, 3404, 3767, 3422, + 3514, 3458, 3473, 3490, 3491, 3520, 3746, 3211, 3711, 3478, + 3685, 3662, 3496, 3642, 3636, 3514, 3510, 3518, 3546, 3525, + 3531, 3536, 3545, 3566, 3551, 3554, 3558, 3559, 3562, 3565, + 3579, 3582, 3583, 3525, 3575, 3546, 3547, 3568, 3446, 3521, + + 3505, 3499, 3581, 3493, 3584, 3481, 3452, 3586, 3419, 3411, + 3604, 3597, 3611, 3601, 3610, 3617, 3624, 3631, 3617, 3625, + 3632, 3640, 3645, 3646, 3649, 3654, 3660, 3665, 4250, 3328, + 4250, 3279, 3263, 3085, 3049, 2868, 0, 0, 0, 3695, + 3182, 3699, 3637, 3602, 2858, 3607, 3703, 2781, 2618, 2491, + 3685, 3683, 3704, 3691, 3698, 3702, 3706, 3711, 3699, 3707, + 3715, 3541, 3588, 3634, 3712, 3675, 2298, 2214, 2041, 1985, + 3738, 3720, 3743, 3728, 3737, 3734, 3754, 3753, 3743, 3750, + 3751, 0, 1905, 4250, 1878, 4250, 1718, 1448, 1254, 3773, + 3668, 3782, 3786, 3770, 3774, 3790, 3781, 3804, 3806, 1212, + + 3785, 3803, 904, 3788, 3794, 3816, 3813, 3825, 3826, 892, + 4250, 756, 3741, 3831, 3841, 3821, 3846, 3851, 3809, 646, + 3828, 3858, 3859, 4250, 411, 3863, 3867, 3868, 3872, 272, + 3874, 3884, 4250, 3886, 3890, 3891, 4250, 3902, 3909, 212, + 3916, 3923, 3930, 3937, 3944, 3951, 3958, 3965, 3972, 3974, + 3976, 3983, 3990, 3997, 4004, 4011, 4018, 4025, 4032, 4039 } ; -static yyconst flex_int16_t yy_def[1484] = +static yyconst flex_int16_t yy_def[1561] = { 0, - 1460, 1, 1461, 1462, 1460, 5, 1460, 7, 1460, 9, - 1460, 11, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1460, 1464, 1463, 1463, 1460, - 1460, 1460, 1465, 1460, 1466, 1460, 1460, 1465, 1466, 1466, - 1466, 1467, 1460, 1460, 1467, 1467, 1467, 1467, 1467, 1467, - 1468, 1468, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 1469, 72, 72, 1470, 1460, 1460, 1460, 1470, - - 1470, 1470, 1460, 1470, 1470, 1471, 1471, 1471, 1471, 1471, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 1460, 1472, 110, - 110, 1460, 1460, 1460, 1473, 1473, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1460, 1474, - 1474, 1475, 1460, 1460, 1460, 1475, 1475, 1475, 1460, 1475, - 1475, 1476, 1476, 1476, 1476, 1476, 176, 176, 176, 176, - 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 1460, 1477, 176, 176, 1460, 1460, 1460, - - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1460, 1464, 1464, - 1463, 1463, 1463, 1460, 1460, 1460, 1460, 1466, 1460, 1460, - 1460, 1466, 1466, 1466, 1467, 1467, 1460, 1467, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 1469, 1469, 72, 72, 72, - 1478, 1460, 1460, 1460, 1460, 1478, 1479, 1479, 1479, 1479, - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 1460, 1480, 290, 290, 290, 1460, 1460, - 1460, 1460, 1473, 1473, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1460, 1474, 1474, 1474, 1481, 1460, 1460, 1460, 1460, - 1481, 1482, 1482, 1482, 1482, 365, 365, 365, 365, 365, - 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 365, 365, 365, 365, 365, 365, 1460, 1483, - 365, 365, 365, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1466, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 1478, 1478, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 1480, 290, 290, 290, 290, - - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1481, 1481, 365, 365, 365, 365, 365, - 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 365, 365, 365, 365, 365, 365, 1483, 365, - 365, 365, 365, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1466, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 365, 365, 1463, 1463, 1463, 1463, 1460, 1463, - 1463, 1463, 1463, 1463, 1460, 1463, 1460, 1463, 1460, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1460, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1466, 72, 72, - 72, 72, 1467, 72, 72, 72, 72, 72, 1467, 72, - 1467, 72, 1467, 72, 72, 72, 72, 72, 72, 72, - - 72, 1467, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 290, 290, 290, 290, 1478, 290, 290, 290, 290, - 290, 1478, 290, 1478, 290, 1478, 290, 290, 290, 290, - 290, 290, 290, 290, 1478, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 365, 365, 365, 365, 1481, 365, 365, 365, - 365, 365, 1481, 365, 1481, 365, 1481, 365, 365, 365, - 365, 365, 365, 365, 365, 1481, 365, 365, 365, 365, - - 365, 365, 365, 365, 365, 1463, 1463, 1463, 1460, 1463, - 1463, 1463, 1460, 1463, 1463, 1463, 1460, 1463, 1463, 1463, - 1463, 1463, 1460, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1466, 72, 72, 72, 1467, 72, 72, - 72, 1467, 72, 72, 72, 1467, 72, 72, 72, 72, - 72, 1467, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 290, 290, 290, 1478, 290, 290, 290, 1478, - 290, 290, 290, 1478, 290, 290, 290, 290, 290, 1478, - 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 365, 365, 365, 1481, 365, 365, - 365, 1481, 365, 365, 365, 1481, 365, 365, 365, 365, - 365, 1481, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 1460, 1463, 1460, 1463, 1463, 1463, 1463, 1463, - 1463, 1460, 1463, 1460, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1467, 72, 1467, - 72, 72, 72, 72, 72, 72, 1467, 72, 1467, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 1478, 290, 1478, 290, 290, 290, 290, 290, - - 290, 1478, 290, 1478, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 290, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1481, 365, - 1481, 365, 365, 365, 365, 365, 365, 1481, 365, 1481, - 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 365, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1460, 1460, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 1467, 1467, 72, 72, 72, 72, 72, 72, - - 72, 72, 72, 290, 290, 290, 290, 290, 290, 290, - 290, 290, 1478, 1478, 290, 290, 290, 290, 290, 290, - 290, 290, 290, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1473, 1474, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 1481, 1481, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 1463, 1463, 1463, 1460, 1463, 1463, 1463, 1463, - 1460, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 72, 72, 72, 1467, 72, 72, 72, 72, 1467, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 290, 290, - - 290, 1478, 290, 290, 290, 290, 1478, 290, 290, 290, - 290, 290, 290, 290, 290, 290, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 1473, 1474, 1474, 1474, 1474, 1474, 1474, - 1474, 1474, 1474, 365, 365, 365, 1481, 365, 365, 365, - 365, 1481, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 1460, 1463, 1460, 1463, 1463, 1463, 1463, 1460, 1463, - 1463, 1463, 1467, 72, 1467, 72, 72, 72, 72, 1467, - 72, 72, 72, 1478, 290, 1478, 290, 290, 290, 290, - 1478, 290, 290, 290, 1474, 1474, 1474, 1474, 1474, 1473, - 1474, 1474, 1474, 1481, 365, 1481, 365, 365, 365, 365, - - 1481, 365, 365, 365, 1463, 1463, 1460, 1463, 1460, 1460, - 72, 72, 1467, 72, 1467, 1467, 290, 290, 1478, 290, - 1478, 1478, 1474, 1474, 1474, 1473, 365, 365, 1481, 365, - 1481, 1481, 1463, 1460, 1460, 72, 1467, 1467, 290, 1478, - 1478, 1474, 1473, 365, 1481, 1481, 1460, 1460, 1467, 1467, - 1478, 1478, 1473, 1481, 1481, 1460, 1467, 1478, 1481, 0, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460 + 1537, 1, 1538, 1539, 1537, 5, 1537, 7, 1537, 9, + 1537, 11, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1537, 1541, 1540, 1540, + 1537, 1537, 1537, 1542, 1537, 1543, 1537, 1537, 1542, 1543, + 1543, 1543, 1544, 1537, 1537, 1544, 1544, 1544, 1544, 1544, + 1544, 1545, 1545, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 1546, 73, 73, 1547, 1537, 1537, + + 1537, 1547, 1547, 1547, 1537, 1547, 1547, 1548, 1548, 1548, + 1548, 1548, 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 1537, 1549, 112, 112, 1537, 1537, 1537, 1550, 1550, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1537, 1551, 1551, 1552, 1537, 1537, 1537, 1552, + 1552, 1552, 1537, 1552, 1552, 1553, 1553, 1553, 1553, 1553, + 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, + 180, 180, 180, 180, 180, 180, 180, 180, 1537, 1554, + + 180, 180, 1537, 1537, 1537, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1537, 1541, 1541, 1540, 1540, + 1540, 1537, 1537, 1537, 1537, 1543, 1537, 1537, 1537, 1543, + 1543, 1543, 1544, 1544, 1537, 1544, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 1546, 1546, 73, 73, + 73, 1555, 1537, 1537, 1537, 1537, 1555, 1556, 1556, 1556, + + 1556, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 1537, 1557, 301, + 301, 301, 1537, 1537, 1537, 1537, 1550, 1550, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1537, 1551, + 1551, 1551, 1558, 1537, 1537, 1537, 1537, 1558, 1559, 1559, + 1559, 1559, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + + 382, 382, 382, 382, 382, 382, 382, 382, 1537, 1560, + 382, 382, 382, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1543, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 1555, 1555, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 1557, 301, 301, 301, 301, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1558, 1558, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + + 382, 382, 382, 1560, 382, 382, 382, 382, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1543, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 1540, 1540, 1540, 1540, 1537, 1540, + + 1540, 1540, 1540, 1540, 1537, 1540, 1540, 1540, 1540, 1537, + 1540, 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1543, 73, 73, 73, 73, 1544, 73, 73, 73, 73, + 73, 1544, 73, 73, 73, 73, 1544, 73, 1544, 73, + 73, 73, 73, 73, 73, 73, 73, 1544, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 301, 301, 301, + 301, 1555, 301, 301, 301, 301, 301, 1555, 301, 301, + 301, 301, 1555, 301, 1555, 301, 301, 301, 301, 301, + 301, 301, 301, 1555, 301, 301, 301, 301, 301, 301, + + 301, 301, 301, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 382, 382, 382, 382, 1558, 382, + 382, 382, 382, 382, 1558, 382, 382, 382, 382, 1558, + 382, 1558, 382, 382, 382, 382, 382, 382, 382, 382, + 1558, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 1540, 1540, 1540, 1537, 1540, 1540, 1540, 1537, 1540, 1537, + 1537, 1537, 1540, 1540, 1537, 1540, 1540, 1540, 1540, 1540, + 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + + 1540, 1543, 73, 73, 73, 1544, 73, 73, 73, 1544, + 73, 1544, 1544, 1544, 73, 73, 1544, 73, 73, 73, + 73, 73, 1544, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 301, 301, 301, 1555, 301, 301, 301, + 1555, 301, 1555, 1555, 1555, 301, 301, 1555, 301, 301, + 301, 301, 301, 1555, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 382, 382, + 382, 1558, 382, 382, 382, 1558, 382, 1558, 1558, 1558, + + 382, 382, 1558, 382, 382, 382, 382, 382, 1558, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 1537, + 1540, 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1537, 1540, + 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 1540, 1540, 1540, 1540, 1544, 73, 1544, 73, 73, 73, + 73, 73, 73, 1544, 73, 1544, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 1555, + 301, 1555, 301, 301, 301, 301, 301, 301, 1555, 301, + 1555, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 1551, 1551, 1551, 1551, 1551, 1551, + + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1551, 1551, 1551, 1551, 1551, 1558, 382, 1558, 382, 382, + 382, 382, 382, 382, 1558, 382, 1558, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1537, + 1537, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 1544, + 1544, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 1555, + 1555, 301, 301, 301, 301, 301, 301, 301, 301, 301, + + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1550, + 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 1558, 1558, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 1540, + 1540, 1540, 1537, 1540, 1540, 1540, 1540, 1537, 1540, 1540, + 1540, 1540, 1540, 1540, 1540, 1540, 1540, 73, 73, 73, + 1544, 73, 73, 73, 73, 1544, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 301, 301, 301, 1555, 301, + 301, 301, 301, 1555, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + + 1550, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 382, 382, 382, 1558, 382, 382, 382, 382, 1558, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 1537, 1540, + 1537, 1540, 1540, 1540, 1540, 1537, 1540, 1540, 1540, 1544, + 73, 1544, 73, 73, 73, 73, 1544, 73, 73, 73, + 1555, 301, 1555, 301, 301, 301, 301, 1555, 301, 301, + 301, 1551, 1551, 1551, 1551, 1551, 1550, 1551, 1551, 1551, + 1558, 382, 1558, 382, 382, 382, 382, 1558, 382, 382, + 382, 1540, 1540, 1537, 1540, 1537, 1537, 73, 73, 1544, + 73, 1544, 1544, 301, 301, 1555, 301, 1555, 1555, 1551, + + 1551, 1551, 1550, 382, 382, 1558, 382, 1558, 1558, 1540, + 1537, 1537, 73, 1544, 1544, 301, 1555, 1555, 1551, 1550, + 382, 1558, 1558, 1537, 1537, 1544, 1544, 1555, 1555, 1550, + 1558, 1558, 1537, 1544, 1555, 1558, 0, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537 } ; -static yyconst flex_int16_t yy_nxt[4110] = +static yyconst flex_int16_t yy_nxt[4306] = { 0, 14, 15, 16, 17, 15, 18, 14, 19, 20, 21, 22, 23, 14, 24, 25, 26, 27, 28, 29, 24, - 24, 30, 24, 24, 31, 32, 33, 34, 35, 36, - 37, 38, 24, 24, 24, 24, 24, 24, 24, 39, - 40, 41, 24, 24, 24, 24, 42, 24, 43, 24, - 44, 24, 24, 24, 45, 46, 198, 201, 46, 198, - 47, 51, 52, 53, 205, 54, 50, 56, 57, 58, - 232, 59, 206, 217, 213, 214, 231, 221, 243, 48, - 249, 323, 60, 215, 228, 218, 222, 228, 273, 229, - 210, 246, 226, 246, 246, 233, 234, 236, 237, 239, - - 240, 241, 252, 246, 49, 246, 246, 246, 255, 246, - 246, 244, 524, 249, 249, 61, 62, 15, 63, 64, - 15, 65, 62, 66, 67, 68, 69, 70, 62, 71, - 72, 73, 74, 75, 76, 71, 71, 77, 71, 71, - 78, 79, 80, 81, 82, 83, 84, 85, 71, 71, - 71, 71, 71, 71, 71, 86, 87, 88, 71, 71, - 71, 71, 89, 71, 90, 71, 91, 71, 71, 71, - 92, 46, 287, 296, 46, 246, 93, 246, 246, 246, - 287, 246, 246, 246, 251, 246, 246, 246, 253, 246, - 246, 249, 249, 249, 256, 94, 254, 248, 257, 258, - - 259, 249, 261, 262, 264, 265, 249, 249, 249, 230, - 249, 263, 230, 1456, 249, 230, 249, 266, 230, 268, - 95, 96, 97, 98, 99, 97, 100, 96, 101, 102, - 103, 104, 105, 96, 106, 107, 108, 109, 110, 111, - 106, 106, 112, 106, 106, 113, 114, 115, 116, 117, - 118, 119, 120, 106, 106, 106, 106, 106, 106, 106, - 121, 122, 123, 106, 106, 106, 106, 124, 106, 125, - 106, 126, 106, 106, 106, 127, 128, 267, 249, 128, - 249, 129, 249, 249, 323, 249, 269, 277, 278, 277, - 277, 323, 1456, 249, 327, 270, 275, 271, 272, 279, - - 130, 274, 258, 249, 249, 282, 283, 284, 282, 284, - 285, 284, 284, 293, 287, 287, 1453, 323, 349, 294, - 335, 274, 287, 287, 280, 131, 14, 132, 133, 134, - 132, 18, 14, 19, 20, 21, 135, 136, 14, 137, - 138, 139, 140, 141, 142, 137, 137, 143, 137, 137, - 144, 145, 146, 147, 148, 149, 150, 151, 137, 137, - 137, 137, 137, 137, 137, 152, 153, 154, 137, 137, - 137, 137, 155, 137, 156, 137, 157, 137, 137, 137, - 158, 159, 295, 297, 159, 287, 47, 287, 298, 287, - 302, 287, 323, 287, 305, 287, 287, 287, 311, 287, - - 299, 300, 287, 287, 287, 160, 303, 287, 287, 301, - 287, 287, 287, 287, 521, 287, 287, 306, 304, 307, - 287, 287, 319, 320, 321, 319, 323, 313, 308, 343, - 161, 162, 163, 164, 165, 163, 166, 162, 167, 168, - 169, 170, 171, 162, 172, 173, 174, 175, 176, 177, - 172, 172, 178, 172, 172, 179, 180, 181, 182, 183, - 184, 185, 186, 172, 172, 172, 172, 172, 172, 172, - 187, 188, 189, 172, 172, 172, 172, 190, 172, 191, - 172, 192, 172, 172, 172, 193, 194, 287, 287, 194, - 287, 195, 323, 316, 323, 287, 287, 323, 287, 314, - - 283, 284, 314, 323, 229, 309, 287, 296, 323, 310, - 196, 312, 323, 326, 287, 328, 323, 323, 332, 329, - 412, 323, 344, 333, 323, 323, 331, 330, 323, 323, - 323, 511, 413, 323, 334, 197, 245, 246, 340, 246, - 246, 245, 245, 245, 245, 245, 245, 336, 245, 245, - 246, 323, 246, 246, 245, 245, 245, 245, 245, 245, - 345, 245, 348, 347, 323, 337, 338, 350, 249, 346, - 352, 320, 321, 352, 339, 229, 243, 453, 250, 281, - 281, 317, 287, 281, 281, 281, 281, 281, 1448, 281, - 287, 281, 281, 281, 351, 323, 281, 281, 281, 281, - - 281, 323, 281, 312, 281, 341, 318, 323, 438, 244, - 353, 357, 358, 359, 357, 198, 354, 342, 198, 1447, - 249, 288, 281, 281, 334, 399, 281, 281, 281, 281, - 281, 362, 281, 372, 281, 368, 369, 362, 350, 362, - 400, 355, 289, 281, 281, 362, 362, 281, 281, 281, - 281, 281, 323, 281, 362, 281, 362, 371, 249, 249, - 290, 281, 281, 370, 362, 281, 281, 281, 281, 281, - 451, 281, 362, 281, 362, 402, 457, 373, 362, 377, - 362, 421, 362, 374, 375, 362, 362, 291, 530, 403, - 362, 362, 376, 362, 422, 292, 356, 356, 362, 362, - - 356, 356, 356, 356, 356, 381, 356, 380, 356, 356, - 356, 385, 378, 356, 356, 356, 356, 356, 362, 356, - 362, 356, 362, 362, 379, 232, 362, 362, 362, 228, - 362, 362, 228, 382, 229, 362, 460, 249, 363, 356, - 356, 384, 383, 356, 356, 356, 356, 356, 387, 356, - 233, 356, 389, 358, 359, 389, 323, 229, 249, 364, - 356, 356, 439, 362, 356, 356, 356, 356, 356, 249, - 356, 362, 356, 362, 386, 683, 455, 365, 356, 356, - 391, 362, 356, 356, 356, 356, 356, 388, 356, 456, - 356, 392, 362, 362, 371, 396, 234, 236, 237, 440, - - 362, 362, 249, 249, 366, 397, 448, 398, 239, 240, - 241, 428, 367, 387, 429, 246, 393, 246, 246, 246, - 1443, 246, 246, 246, 430, 246, 246, 249, 433, 435, - 249, 436, 442, 248, 431, 249, 432, 249, 441, 443, - 249, 249, 249, 434, 444, 437, 445, 249, 450, 446, - 449, 249, 249, 249, 249, 249, 279, 249, 249, 323, - 249, 447, 249, 249, 277, 249, 277, 277, 278, 323, - 508, 454, 452, 277, 681, 277, 277, 458, 459, 281, - 323, 280, 281, 501, 249, 282, 283, 284, 282, 284, - 283, 284, 284, 281, 323, 323, 281, 314, 283, 284, - - 314, 323, 229, 462, 461, 281, 515, 323, 281, 461, - 461, 461, 461, 506, 461, 323, 461, 461, 281, 323, - 323, 281, 461, 461, 461, 461, 517, 461, 507, 461, - 464, 461, 281, 323, 525, 281, 461, 461, 461, 461, - 689, 461, 512, 461, 465, 461, 281, 474, 463, 281, - 461, 461, 461, 461, 469, 461, 463, 461, 463, 757, - 463, 323, 463, 466, 502, 471, 463, 463, 463, 470, - 527, 472, 463, 467, 463, 468, 463, 463, 758, 463, - 463, 463, 475, 249, 621, 473, 463, 477, 463, 476, - 463, 463, 463, 463, 463, 479, 323, 478, 481, 463, - - 463, 323, 480, 463, 463, 482, 463, 323, 463, 463, - 463, 463, 463, 463, 463, 463, 514, 483, 463, 485, - 463, 323, 463, 463, 463, 522, 463, 698, 484, 463, - 486, 323, 463, 463, 463, 463, 463, 463, 531, 463, - 463, 463, 323, 463, 463, 487, 463, 463, 463, 463, - 463, 323, 463, 463, 463, 463, 463, 489, 513, 526, - 523, 491, 315, 463, 230, 315, 463, 463, 488, 490, - 230, 323, 493, 463, 492, 463, 463, 497, 463, 463, - 463, 249, 630, 323, 498, 323, 516, 499, 509, 463, - 463, 323, 463, 319, 320, 321, 319, 494, 495, 463, - - 323, 463, 510, 323, 323, 249, 518, 612, 503, 519, - 323, 532, 500, 323, 323, 1436, 353, 528, 504, 613, - 505, 520, 352, 320, 321, 352, 627, 229, 533, 354, - 529, 356, 249, 249, 356, 357, 358, 359, 357, 356, - 536, 536, 356, 544, 609, 620, 622, 249, 550, 535, - 536, 536, 536, 536, 355, 534, 356, 249, 249, 356, - 534, 534, 534, 534, 323, 534, 614, 534, 534, 356, - 249, 624, 356, 534, 534, 534, 534, 611, 534, 623, - 534, 537, 534, 356, 699, 249, 356, 534, 534, 534, - 534, 249, 534, 249, 534, 538, 534, 356, 547, 536, - - 356, 534, 534, 534, 534, 542, 534, 536, 534, 536, - 249, 536, 610, 545, 539, 249, 323, 536, 536, 536, - 543, 536, 536, 688, 540, 551, 541, 546, 536, 536, - 536, 536, 536, 536, 536, 552, 548, 549, 601, 536, - 536, 536, 554, 536, 536, 602, 553, 536, 555, 603, - 536, 536, 536, 536, 536, 536, 536, 536, 557, 536, - 556, 536, 558, 536, 1435, 619, 536, 536, 559, 249, - 536, 536, 249, 631, 536, 536, 536, 536, 536, 536, - 536, 536, 536, 536, 536, 536, 536, 536, 536, 536, - 249, 323, 616, 560, 562, 536, 692, 323, 536, 536, - - 536, 536, 536, 561, 563, 536, 564, 536, 389, 358, - 359, 389, 536, 229, 536, 536, 853, 566, 390, 565, - 230, 390, 618, 571, 249, 570, 230, 536, 536, 567, - 625, 617, 536, 249, 568, 249, 629, 628, 536, 572, - 536, 249, 536, 249, 536, 249, 626, 249, 249, 249, - 249, 249, 249, 632, 323, 249, 249, 249, 635, 281, - 323, 323, 281, 679, 573, 636, 640, 634, 281, 682, - 633, 281, 637, 639, 463, 463, 638, 641, 462, 642, - 463, 323, 680, 643, 463, 463, 463, 463, 644, 645, - 463, 463, 463, 1434, 463, 463, 647, 677, 648, 463, - - 323, 463, 463, 463, 463, 463, 463, 463, 646, 463, - 463, 463, 463, 649, 463, 463, 651, 686, 323, 463, - 463, 323, 463, 650, 323, 463, 463, 463, 652, 463, - 463, 463, 323, 653, 654, 463, 463, 678, 463, 684, - 463, 685, 655, 656, 463, 463, 694, 463, 657, 463, - 658, 323, 463, 463, 463, 323, 463, 463, 323, 463, - 659, 463, 463, 463, 463, 463, 687, 463, 463, 463, - 323, 660, 463, 661, 693, 852, 663, 463, 463, 1433, - 463, 463, 463, 695, 463, 662, 463, 463, 463, 664, - 463, 463, 323, 665, 463, 463, 323, 323, 463, 690, - - 463, 463, 463, 691, 463, 463, 463, 463, 463, 666, - 463, 463, 315, 463, 230, 315, 463, 669, 696, 463, - 230, 323, 323, 463, 668, 670, 463, 667, 463, 463, - 697, 463, 671, 463, 463, 463, 672, 498, 463, 323, - 674, 463, 463, 323, 463, 323, 463, 323, 463, 673, - 463, 497, 463, 463, 463, 323, 675, 323, 463, 323, - 323, 356, 701, 536, 356, 499, 700, 676, 463, 323, - 463, 356, 703, 536, 356, 536, 390, 790, 230, 390, - 702, 535, 249, 536, 230, 779, 708, 704, 707, 780, - 500, 711, 713, 536, 705, 536, 536, 536, 706, 249, - - 709, 710, 536, 249, 712, 783, 536, 536, 536, 536, - 715, 249, 536, 536, 536, 714, 249, 536, 786, 781, - 536, 249, 249, 536, 716, 536, 536, 536, 798, 536, - 536, 717, 536, 536, 719, 782, 536, 536, 536, 718, - 536, 536, 323, 536, 249, 536, 720, 536, 721, 536, - 536, 536, 723, 536, 722, 536, 854, 724, 536, 726, - 725, 536, 536, 249, 787, 536, 536, 536, 536, 536, - 536, 536, 536, 536, 536, 323, 536, 727, 536, 536, - 728, 536, 536, 536, 784, 249, 249, 729, 731, 536, - 323, 785, 536, 536, 536, 536, 730, 536, 536, 536, - - 536, 732, 536, 536, 859, 871, 536, 536, 789, 733, - 536, 796, 536, 536, 536, 536, 536, 793, 536, 249, - 536, 734, 536, 794, 323, 249, 249, 536, 536, 737, - 791, 536, 536, 802, 249, 736, 735, 536, 536, 536, - 536, 536, 536, 536, 536, 536, 249, 249, 795, 792, - 249, 738, 742, 799, 536, 536, 870, 536, 739, 536, - 249, 741, 740, 536, 536, 743, 536, 571, 249, 570, - 572, 536, 536, 536, 797, 536, 800, 249, 744, 249, - 249, 249, 536, 801, 536, 249, 249, 249, 249, 249, - 249, 803, 323, 804, 249, 573, 323, 812, 749, 810, - - 463, 806, 805, 809, 807, 808, 813, 811, 463, 463, - 463, 816, 463, 463, 847, 815, 323, 463, 463, 463, - 463, 463, 814, 463, 463, 463, 848, 463, 463, 463, - 323, 463, 463, 817, 463, 845, 463, 323, 463, 755, - 463, 463, 463, 463, 820, 818, 463, 822, 323, 819, - 759, 323, 323, 463, 463, 824, 463, 821, 463, 323, - 823, 463, 826, 463, 463, 463, 463, 463, 463, 849, - 323, 463, 323, 463, 825, 827, 850, 463, 463, 463, - 463, 828, 463, 463, 323, 851, 829, 463, 856, 846, - 463, 463, 463, 463, 463, 463, 830, 463, 833, 463, - - 463, 463, 463, 463, 463, 831, 835, 868, 463, 832, - 463, 463, 463, 323, 463, 463, 463, 834, 463, 463, - 857, 463, 463, 463, 463, 463, 463, 463, 463, 463, - 463, 463, 463, 323, 323, 757, 463, 463, 463, 323, - 463, 768, 463, 323, 463, 836, 837, 463, 463, 463, - 463, 838, 463, 839, 855, 463, 463, 323, 463, 323, - 463, 840, 843, 323, 841, 463, 463, 463, 463, 860, - 858, 862, 842, 323, 323, 323, 864, 323, 323, 844, - 323, 536, 323, 861, 873, 874, 877, 536, 536, 929, - 991, 536, 536, 536, 863, 875, 536, 536, 536, 536, - - 536, 323, 536, 930, 536, 536, 536, 876, 881, 865, - 536, 536, 867, 869, 872, 536, 866, 536, 932, 878, - 536, 536, 536, 536, 536, 883, 323, 536, 879, 885, - 939, 536, 933, 249, 536, 536, 536, 536, 882, 536, - 536, 536, 880, 536, 936, 536, 884, 536, 886, 887, - 536, 536, 536, 889, 536, 536, 249, 937, 323, 888, - 938, 536, 249, 536, 536, 536, 536, 536, 536, 536, - 941, 890, 536, 536, 249, 891, 894, 249, 536, 536, - 536, 536, 536, 536, 536, 536, 536, 536, 536, 896, - 892, 893, 536, 1012, 935, 536, 536, 536, 949, 536, - - 895, 536, 536, 249, 536, 536, 536, 536, 536, 536, - 536, 536, 249, 536, 246, 536, 246, 246, 249, 536, - 536, 536, 536, 536, 536, 536, 897, 536, 898, 536, - 942, 249, 946, 536, 536, 536, 536, 900, 940, 536, - 956, 536, 899, 536, 901, 249, 536, 249, 903, 249, - 902, 904, 943, 536, 944, 536, 536, 246, 536, 246, - 246, 246, 952, 246, 246, 249, 249, 905, 246, 947, - 246, 246, 249, 249, 945, 948, 950, 951, 246, 249, - 246, 246, 249, 249, 249, 249, 249, 323, 249, 249, - 249, 249, 323, 281, 992, 463, 281, 963, 953, 955, - - 957, 958, 961, 954, 960, 463, 993, 463, 964, 463, - 323, 966, 463, 463, 1426, 959, 962, 463, 965, 463, - 463, 463, 463, 463, 463, 463, 463, 463, 967, 463, - 463, 968, 463, 969, 970, 463, 463, 323, 463, 281, - 463, 323, 281, 281, 463, 463, 281, 463, 972, 463, - 463, 1008, 463, 971, 463, 281, 463, 463, 281, 463, - 974, 463, 463, 995, 1000, 281, 463, 463, 281, 463, - 973, 463, 463, 978, 463, 463, 463, 975, 463, 977, - 980, 463, 463, 463, 976, 463, 463, 463, 323, 463, - 463, 323, 463, 463, 463, 979, 463, 463, 463, 463, - - 463, 463, 463, 463, 323, 463, 909, 463, 463, 463, - 249, 1072, 463, 323, 323, 463, 981, 997, 463, 463, - 463, 1007, 463, 982, 463, 463, 463, 463, 996, 463, - 994, 463, 463, 983, 323, 323, 463, 913, 463, 323, - 985, 986, 463, 323, 463, 984, 998, 323, 323, 917, - 323, 323, 323, 988, 989, 987, 1002, 323, 1003, 323, - 323, 923, 323, 323, 999, 323, 1016, 536, 990, 1001, - 536, 1004, 1006, 536, 1043, 1015, 1017, 536, 1044, 536, - 536, 1018, 536, 536, 1005, 536, 356, 536, 536, 356, - 1130, 356, 1010, 1009, 356, 1013, 1019, 536, 536, 536, - - 536, 536, 1022, 249, 536, 536, 1011, 356, 536, 1014, - 356, 536, 1021, 536, 536, 536, 536, 536, 536, 1020, - 536, 536, 1023, 1024, 536, 356, 1026, 536, 356, 249, - 1074, 536, 536, 536, 536, 536, 536, 536, 249, 536, - 1025, 536, 536, 1029, 536, 536, 536, 536, 1075, 356, - 1027, 536, 356, 536, 1028, 1030, 536, 536, 536, 1032, - 536, 536, 249, 249, 536, 536, 1031, 536, 536, 536, - 536, 536, 536, 536, 536, 536, 536, 536, 536, 536, - 536, 1073, 1070, 536, 1068, 249, 536, 1033, 1069, 536, - 536, 536, 249, 536, 1034, 536, 536, 536, 536, 249, - - 536, 249, 536, 536, 1035, 1077, 249, 536, 1071, 536, - 1414, 1037, 1038, 536, 1083, 536, 1036, 246, 1079, 246, - 246, 1078, 249, 1410, 1040, 1041, 1039, 246, 1081, 246, - 246, 246, 1082, 246, 246, 249, 1080, 249, 249, 1042, - 249, 249, 249, 246, 249, 246, 246, 249, 249, 1084, - 249, 249, 249, 249, 249, 1086, 281, 1409, 1088, 281, - 1093, 1091, 1085, 1089, 1094, 1092, 463, 1095, 1087, 1090, - 463, 323, 281, 463, 463, 281, 463, 323, 463, 1045, - 463, 463, 1097, 463, 463, 463, 463, 1096, 1098, 463, - 1124, 463, 1100, 463, 281, 463, 1102, 281, 463, 463, - - 281, 1099, 463, 281, 1184, 463, 1103, 463, 463, 1101, - 463, 463, 463, 1104, 463, 463, 249, 1106, 463, 463, - 323, 463, 323, 463, 1105, 463, 463, 463, 463, 463, - 463, 463, 1107, 463, 463, 323, 463, 463, 463, 1126, - 1408, 1119, 463, 463, 463, 463, 463, 463, 463, 463, - 1121, 323, 463, 1109, 463, 463, 1123, 323, 463, 1108, - 463, 1111, 323, 463, 1052, 463, 463, 463, 1110, 323, - 463, 463, 323, 463, 1113, 463, 463, 1120, 463, 1112, - 463, 463, 463, 463, 323, 1114, 1043, 323, 323, 1116, - 1118, 1125, 1122, 1117, 323, 1115, 1054, 323, 323, 323, - - 323, 323, 323, 323, 1127, 1128, 323, 323, 356, 356, - 1129, 356, 356, 1139, 249, 1407, 1185, 1140, 1141, 536, - 356, 249, 356, 356, 536, 356, 1131, 1132, 1134, 536, - 1406, 536, 1135, 1137, 536, 536, 536, 1138, 1133, 536, - 1136, 1196, 536, 536, 1188, 536, 249, 536, 1142, 536, - 1144, 1143, 536, 536, 1145, 536, 1146, 249, 1186, 536, - 1148, 1150, 536, 249, 1189, 1149, 536, 536, 249, 536, - 536, 536, 536, 1147, 536, 536, 536, 536, 536, 536, - 536, 323, 536, 536, 1151, 536, 536, 536, 1152, 536, - 1197, 1153, 536, 536, 1282, 536, 536, 536, 536, 536, - - 536, 536, 536, 536, 536, 1155, 249, 536, 536, 536, - 536, 536, 536, 536, 536, 536, 1154, 1240, 536, 1157, - 536, 536, 1187, 536, 536, 536, 536, 1159, 1156, 536, - 1405, 1191, 249, 1160, 1158, 536, 249, 536, 1193, 536, - 1194, 536, 323, 1161, 1162, 246, 249, 246, 246, 1190, - 246, 1163, 246, 246, 246, 249, 246, 246, 246, 249, - 246, 246, 1192, 249, 249, 249, 249, 249, 249, 249, - 249, 281, 281, 281, 281, 281, 281, 281, 323, 323, - 281, 1173, 1201, 1204, 463, 1195, 1198, 463, 1199, 1200, - 1202, 1203, 463, 323, 463, 1228, 463, 463, 463, 463, - - 1224, 323, 463, 463, 463, 1205, 463, 1207, 463, 463, - 1206, 323, 1208, 463, 463, 463, 463, 463, 463, 463, - 463, 1209, 1225, 1211, 463, 1213, 463, 463, 1210, 463, - 1212, 463, 463, 1230, 1214, 463, 323, 323, 463, 463, - 323, 463, 463, 463, 323, 463, 463, 463, 463, 463, - 463, 463, 463, 463, 463, 323, 463, 1226, 463, 323, - 1229, 463, 1232, 463, 463, 463, 323, 1215, 463, 1216, - 323, 463, 1217, 463, 463, 1227, 463, 1218, 463, 463, - 463, 323, 323, 323, 1231, 1219, 323, 323, 323, 463, - 323, 463, 1221, 1220, 356, 1234, 356, 356, 1235, 356, - - 1222, 1243, 536, 536, 356, 356, 536, 356, 356, 1385, - 249, 1223, 536, 536, 536, 536, 536, 249, 536, 1244, - 536, 1237, 1236, 1238, 536, 1246, 1239, 1241, 1242, 536, - 536, 1290, 1245, 536, 536, 1291, 536, 536, 1247, 536, - 536, 536, 1252, 536, 536, 1248, 1250, 536, 536, 536, - 536, 1249, 536, 1253, 1251, 536, 536, 1281, 536, 1285, - 536, 536, 536, 249, 249, 536, 536, 536, 249, 536, - 536, 536, 536, 536, 536, 1284, 536, 1296, 536, 536, - 536, 536, 536, 1286, 536, 536, 281, 1254, 249, 281, - 249, 536, 249, 1255, 536, 536, 536, 536, 536, 1256, - - 1257, 536, 1258, 536, 1283, 1287, 249, 249, 536, 249, - 536, 1288, 1294, 1260, 249, 246, 1259, 246, 246, 246, - 249, 246, 246, 1261, 1293, 249, 249, 249, 1299, 463, - 1262, 1292, 1300, 463, 463, 1301, 1302, 323, 463, 463, - 463, 463, 463, 463, 463, 463, 463, 1295, 1297, 1298, - 463, 1320, 463, 463, 463, 323, 1303, 1289, 463, 1304, - 463, 463, 463, 463, 1319, 463, 281, 1305, 463, 281, - 463, 463, 463, 463, 1306, 463, 463, 249, 1411, 463, - 463, 323, 463, 463, 463, 463, 463, 463, 463, 463, - 463, 463, 463, 463, 323, 463, 323, 323, 1310, 463, - - 463, 1309, 1317, 1318, 1307, 463, 323, 1308, 1311, 463, - 463, 463, 463, 1312, 323, 463, 1313, 463, 323, 323, - 1266, 1325, 323, 1322, 1314, 323, 323, 323, 1321, 323, - 323, 323, 1334, 1315, 1326, 1335, 536, 1337, 1316, 1363, - 1323, 1365, 536, 536, 536, 1366, 536, 249, 536, 536, - 1336, 323, 1327, 536, 536, 536, 249, 323, 249, 536, - 1338, 536, 1328, 1331, 536, 536, 536, 1329, 1330, 323, - 1332, 356, 1333, 536, 356, 536, 323, 536, 536, 1339, - 249, 536, 1367, 536, 323, 536, 356, 1340, 536, 356, - 536, 536, 536, 536, 1341, 536, 536, 1387, 249, 536, - - 536, 1368, 536, 536, 536, 536, 536, 536, 536, 536, - 536, 536, 536, 536, 246, 536, 246, 246, 1345, 536, - 536, 1344, 249, 1391, 1342, 536, 249, 1343, 1346, 536, - 536, 536, 536, 1347, 1369, 536, 1348, 536, 246, 249, - 246, 246, 1371, 249, 1349, 1374, 1372, 281, 1373, 323, - 281, 463, 281, 1350, 463, 281, 1376, 323, 1351, 463, - 323, 463, 463, 463, 463, 1375, 463, 1389, 1377, 463, - 463, 463, 463, 323, 463, 463, 463, 1370, 1380, 323, - 463, 1352, 463, 1378, 463, 463, 463, 463, 463, 1379, - 463, 1381, 1425, 463, 463, 323, 463, 463, 463, 1392, - - 463, 463, 463, 463, 463, 463, 323, 463, 463, 463, - 463, 463, 1386, 463, 463, 463, 463, 323, 323, 463, - 1354, 1382, 1390, 249, 1384, 463, 1394, 463, 1383, 463, - 356, 463, 536, 356, 1393, 536, 323, 1396, 356, 1388, - 536, 356, 536, 536, 536, 536, 1395, 536, 536, 1397, - 536, 249, 536, 536, 536, 536, 1423, 536, 536, 1400, - 536, 1398, 536, 536, 536, 249, 536, 536, 1399, 536, - 536, 536, 536, 536, 536, 536, 536, 1401, 249, 536, - 536, 536, 536, 536, 249, 536, 536, 1412, 536, 536, - 246, 536, 246, 246, 1402, 536, 536, 536, 246, 536, - - 246, 246, 1403, 1413, 1415, 1404, 536, 323, 536, 536, - 246, 536, 246, 246, 281, 463, 281, 281, 463, 281, - 249, 249, 323, 1419, 463, 463, 1442, 1417, 463, 463, - 463, 1421, 1418, 249, 463, 1420, 463, 463, 463, 463, - 281, 463, 463, 281, 1424, 249, 463, 463, 463, 463, - 463, 323, 463, 1407, 463, 536, 463, 1416, 463, 323, - 356, 1409, 536, 356, 1429, 536, 356, 1427, 356, 356, - 536, 356, 536, 536, 536, 1431, 1428, 323, 536, 1434, - 536, 536, 536, 536, 1430, 536, 536, 1422, 536, 536, - 536, 536, 246, 536, 246, 246, 536, 1437, 536, 536, - - 246, 536, 246, 246, 246, 1364, 246, 246, 463, 281, - 1440, 463, 281, 1362, 249, 1432, 463, 1361, 463, 1449, - 463, 463, 1439, 463, 281, 536, 463, 281, 463, 281, - 536, 356, 281, 1445, 356, 536, 249, 536, 1360, 536, - 536, 1444, 536, 356, 356, 281, 356, 356, 281, 536, - 246, 536, 246, 246, 1438, 246, 1451, 246, 246, 323, - 281, 1447, 463, 281, 1454, 356, 356, 1359, 356, 356, - 536, 1358, 463, 246, 463, 246, 246, 1357, 1356, 1441, - 536, 246, 536, 246, 246, 281, 281, 356, 281, 281, - 356, 1355, 1457, 1354, 1446, 356, 1450, 1458, 356, 1353, - - 246, 1452, 246, 246, 1352, 281, 1459, 1455, 281, 356, - 1324, 323, 356, 50, 50, 50, 50, 50, 50, 50, - 55, 55, 55, 55, 55, 55, 55, 230, 230, 249, - 230, 230, 230, 230, 235, 235, 235, 235, 235, 235, - 235, 238, 1280, 1279, 1278, 238, 238, 238, 245, 245, - 1277, 245, 245, 245, 245, 249, 249, 1276, 249, 249, - 249, 249, 276, 276, 1275, 276, 276, 276, 276, 281, - 281, 1274, 1273, 1272, 281, 281, 287, 287, 1271, 1270, - 1269, 287, 287, 315, 315, 1268, 315, 315, 315, 315, - 323, 323, 325, 325, 356, 356, 1267, 1266, 1265, 356, - - 356, 362, 362, 1264, 1263, 1233, 362, 362, 390, 390, - 323, 390, 390, 390, 390, 461, 461, 249, 1183, 1182, - 461, 461, 463, 463, 1181, 1180, 1179, 463, 463, 496, - 496, 1178, 496, 496, 496, 496, 534, 534, 1177, 1176, - 1175, 534, 534, 536, 536, 1174, 1173, 1172, 536, 536, - 569, 569, 1171, 569, 569, 569, 569, 1170, 1169, 1168, - 1167, 1166, 1165, 1164, 1076, 1067, 1066, 1065, 1064, 1063, - 1062, 1061, 1060, 1059, 1058, 1057, 1056, 1055, 1054, 1053, - 1052, 1051, 1050, 1049, 1048, 1047, 1046, 1045, 323, 323, - 249, 249, 934, 931, 928, 927, 926, 925, 924, 923, - - 922, 921, 920, 919, 918, 917, 916, 915, 914, 913, - 912, 911, 910, 909, 908, 907, 906, 323, 323, 249, - 249, 788, 778, 777, 776, 775, 774, 773, 772, 771, - 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, - 760, 759, 756, 755, 754, 753, 752, 751, 750, 749, - 748, 747, 746, 745, 323, 249, 615, 608, 607, 606, - 605, 604, 600, 599, 598, 597, 596, 595, 594, 593, - 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, - 582, 581, 580, 579, 578, 577, 576, 575, 574, 358, - 323, 324, 320, 249, 242, 427, 239, 234, 231, 426, - - 425, 424, 423, 420, 419, 418, 417, 416, 415, 414, - 411, 410, 409, 408, 407, 406, 405, 404, 401, 395, - 394, 200, 361, 360, 323, 324, 322, 286, 260, 247, - 242, 239, 234, 227, 226, 225, 224, 223, 220, 219, - 216, 212, 211, 210, 209, 208, 207, 204, 203, 202, - 200, 199, 1460, 13, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460 + 24, 30, 24, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 24, 24, 24, 24, 24, 24, 24, 40, + 41, 42, 24, 24, 24, 24, 43, 24, 44, 24, + 45, 24, 24, 24, 46, 47, 203, 337, 47, 203, + 48, 52, 53, 54, 210, 55, 51, 57, 58, 59, + 214, 60, 211, 215, 221, 222, 225, 216, 229, 49, + 239, 236, 61, 223, 236, 240, 237, 230, 226, 242, + 244, 245, 927, 259, 218, 247, 248, 249, 254, 257, + + 254, 254, 257, 254, 50, 254, 254, 234, 263, 254, + 241, 254, 254, 257, 282, 62, 63, 15, 64, 65, + 15, 66, 63, 67, 68, 69, 70, 71, 63, 72, + 73, 74, 75, 76, 77, 72, 72, 78, 72, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 72, 72, + 72, 72, 72, 72, 72, 88, 89, 90, 72, 72, + 72, 72, 91, 72, 92, 72, 93, 72, 72, 72, + 94, 47, 251, 257, 47, 254, 95, 254, 254, 254, + 260, 254, 254, 254, 279, 254, 254, 254, 261, 254, + 254, 257, 257, 257, 257, 96, 262, 256, 257, 265, + + 264, 268, 266, 270, 257, 252, 267, 269, 257, 257, + 257, 283, 275, 257, 257, 286, 284, 484, 206, 257, + 97, 98, 99, 100, 101, 99, 102, 98, 103, 104, + 105, 106, 107, 98, 108, 109, 110, 111, 112, 113, + 108, 108, 114, 108, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 108, 108, 108, 108, 108, 108, 108, + 124, 125, 126, 108, 108, 108, 108, 127, 108, 128, + 108, 129, 108, 108, 108, 130, 131, 272, 273, 131, + 276, 132, 257, 278, 1533, 257, 274, 257, 288, 257, + 288, 288, 277, 280, 289, 298, 304, 290, 298, 257, + + 133, 257, 281, 298, 337, 285, 298, 337, 269, 320, + 257, 293, 294, 295, 293, 295, 296, 295, 295, 285, + 257, 345, 291, 340, 465, 134, 14, 135, 136, 137, + 135, 18, 14, 19, 20, 21, 138, 139, 14, 140, + 141, 142, 143, 144, 145, 140, 140, 146, 140, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 140, 140, + 140, 140, 140, 140, 140, 156, 157, 158, 140, 140, + 140, 140, 159, 140, 160, 140, 161, 140, 140, 140, + 162, 163, 298, 311, 163, 306, 48, 305, 307, 309, + 298, 238, 308, 298, 298, 310, 298, 238, 298, 298, + + 298, 298, 298, 312, 298, 164, 298, 298, 298, 313, + 314, 298, 298, 316, 298, 317, 337, 323, 315, 298, + 298, 298, 298, 1533, 467, 325, 341, 318, 257, 298, + 165, 166, 167, 168, 169, 167, 170, 166, 171, 172, + 173, 174, 175, 166, 176, 177, 178, 179, 180, 181, + 176, 176, 182, 176, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 176, 176, 176, 176, 176, 176, 176, + 192, 193, 194, 176, 176, 176, 176, 195, 176, 196, + 176, 197, 176, 176, 176, 198, 199, 319, 298, 199, + 298, 200, 337, 298, 337, 337, 298, 337, 298, 342, + + 298, 298, 350, 257, 321, 337, 298, 337, 298, 324, + 201, 326, 330, 322, 298, 346, 328, 294, 295, 328, + 327, 237, 351, 343, 478, 298, 310, 333, 334, 335, + 333, 344, 337, 298, 365, 202, 253, 254, 337, 254, + 254, 253, 253, 253, 253, 253, 253, 337, 253, 253, + 254, 353, 254, 254, 253, 253, 253, 253, 253, 253, + 337, 253, 337, 238, 357, 352, 337, 337, 347, 238, + 360, 348, 364, 337, 337, 349, 358, 337, 258, 292, + 292, 331, 298, 292, 292, 292, 292, 292, 359, 292, + 298, 292, 292, 292, 337, 337, 292, 292, 292, 292, + + 292, 362, 292, 326, 292, 444, 332, 361, 354, 355, + 363, 337, 379, 391, 748, 337, 337, 356, 445, 370, + 379, 299, 292, 292, 251, 368, 292, 292, 292, 292, + 292, 379, 292, 351, 292, 385, 386, 379, 366, 379, + 337, 337, 300, 292, 292, 379, 379, 292, 292, 292, + 292, 292, 367, 292, 379, 292, 371, 252, 435, 727, + 301, 292, 292, 390, 404, 292, 292, 292, 292, 292, + 436, 292, 379, 292, 369, 334, 335, 369, 367, 237, + 379, 372, 374, 375, 376, 374, 203, 302, 1530, 203, + 254, 387, 254, 254, 388, 303, 373, 373, 389, 379, + + 373, 373, 373, 373, 373, 392, 373, 379, 373, 373, + 373, 422, 416, 373, 373, 373, 373, 373, 379, 373, + 379, 373, 417, 393, 418, 423, 379, 240, 379, 379, + 397, 337, 394, 395, 379, 400, 725, 379, 380, 373, + 373, 396, 379, 373, 373, 373, 373, 373, 379, 373, + 236, 373, 241, 236, 379, 237, 379, 398, 451, 381, + 373, 373, 379, 379, 373, 373, 373, 373, 373, 399, + 373, 379, 373, 379, 257, 405, 452, 382, 373, 373, + 419, 379, 373, 373, 373, 373, 373, 401, 373, 379, + 373, 379, 257, 379, 257, 420, 463, 379, 1525, 379, + + 402, 379, 406, 379, 383, 409, 375, 376, 409, 403, + 237, 379, 384, 411, 407, 412, 379, 408, 242, 244, + 245, 247, 248, 249, 379, 337, 379, 391, 254, 456, + 254, 254, 540, 254, 379, 254, 254, 407, 453, 458, + 413, 459, 257, 256, 457, 469, 461, 257, 454, 257, + 455, 462, 464, 466, 257, 460, 257, 257, 257, 468, + 470, 257, 471, 257, 476, 472, 257, 257, 257, 474, + 475, 257, 257, 257, 257, 257, 257, 473, 257, 257, + 257, 479, 481, 477, 288, 257, 288, 288, 486, 257, + 289, 480, 337, 483, 288, 482, 288, 288, 290, 541, + + 292, 485, 257, 292, 1524, 337, 257, 293, 294, 295, + 293, 295, 294, 295, 295, 292, 537, 337, 292, 328, + 294, 295, 328, 291, 237, 488, 487, 292, 547, 337, + 292, 487, 487, 487, 487, 535, 487, 337, 487, 487, + 292, 337, 651, 292, 487, 487, 487, 487, 549, 487, + 536, 487, 490, 487, 292, 1520, 257, 292, 487, 487, + 487, 487, 542, 487, 337, 487, 491, 487, 292, 500, + 489, 292, 487, 487, 487, 487, 495, 487, 489, 487, + 489, 543, 489, 337, 489, 492, 530, 497, 489, 337, + 489, 496, 489, 498, 489, 493, 489, 494, 489, 337, + + 501, 489, 489, 337, 489, 502, 489, 499, 489, 489, + 489, 489, 544, 489, 546, 503, 489, 489, 489, 489, + 730, 489, 337, 489, 504, 505, 337, 489, 489, 489, + 506, 507, 508, 489, 337, 489, 489, 489, 489, 509, + 489, 511, 545, 555, 489, 510, 489, 489, 489, 489, + 489, 489, 337, 512, 489, 514, 489, 337, 489, 489, + 489, 489, 489, 489, 563, 513, 489, 515, 489, 489, + 489, 489, 489, 489, 553, 337, 489, 489, 489, 554, + 489, 516, 489, 489, 489, 489, 337, 489, 556, 489, + 489, 489, 489, 518, 329, 489, 238, 329, 520, 742, + + 489, 489, 238, 489, 517, 489, 519, 489, 489, 527, + 489, 521, 489, 337, 489, 489, 531, 337, 526, 522, + 489, 337, 528, 337, 489, 489, 489, 489, 337, 523, + 337, 532, 524, 333, 334, 335, 333, 337, 337, 337, + 538, 533, 548, 534, 337, 337, 337, 529, 550, 551, + 369, 334, 335, 369, 539, 237, 558, 557, 559, 337, + 337, 552, 370, 668, 560, 337, 562, 373, 649, 257, + 373, 374, 375, 376, 374, 655, 337, 561, 565, 373, + 371, 574, 373, 568, 257, 257, 564, 568, 568, 567, + 576, 579, 568, 568, 665, 568, 575, 568, 568, 568, + + 568, 581, 568, 747, 568, 372, 566, 373, 257, 659, + 373, 566, 566, 566, 566, 257, 566, 650, 566, 566, + 373, 257, 337, 373, 566, 566, 566, 566, 257, 566, + 654, 566, 569, 566, 373, 257, 662, 373, 566, 566, + 566, 566, 656, 566, 257, 566, 570, 566, 373, 580, + 568, 373, 566, 566, 566, 566, 577, 566, 257, 566, + 568, 568, 568, 647, 568, 571, 257, 586, 681, 568, + 578, 568, 568, 568, 568, 572, 568, 573, 582, 568, + 568, 568, 568, 1513, 568, 658, 568, 583, 584, 587, + 568, 652, 568, 585, 568, 257, 568, 568, 568, 590, + + 588, 257, 568, 589, 568, 568, 568, 568, 568, 568, + 648, 591, 568, 257, 568, 568, 568, 568, 568, 592, + 568, 593, 568, 594, 660, 568, 568, 257, 568, 657, + 568, 568, 568, 257, 568, 568, 568, 568, 661, 595, + 568, 568, 568, 568, 568, 568, 568, 337, 568, 568, + 257, 597, 739, 639, 568, 568, 568, 568, 568, 568, + 640, 568, 596, 599, 641, 598, 666, 257, 568, 257, + 568, 257, 601, 663, 667, 673, 600, 409, 375, 376, + 409, 568, 237, 602, 410, 257, 238, 410, 568, 606, + 603, 605, 238, 568, 568, 607, 664, 257, 568, 669, + + 568, 670, 257, 671, 568, 257, 568, 257, 257, 257, + 672, 257, 257, 257, 257, 292, 257, 257, 292, 676, + 608, 292, 489, 337, 292, 675, 677, 674, 337, 257, + 733, 488, 489, 678, 489, 489, 680, 679, 682, 683, + 489, 686, 865, 684, 721, 489, 489, 489, 685, 489, + 489, 688, 489, 489, 489, 337, 489, 489, 489, 489, + 689, 489, 687, 489, 489, 489, 489, 489, 690, 489, + 489, 722, 337, 337, 489, 692, 695, 257, 489, 735, + 489, 489, 489, 691, 489, 489, 489, 693, 489, 734, + 489, 489, 694, 489, 489, 489, 337, 489, 696, 489, + + 489, 337, 697, 337, 489, 729, 489, 698, 489, 489, + 489, 489, 699, 700, 489, 337, 701, 489, 489, 702, + 489, 736, 489, 489, 489, 741, 489, 489, 489, 489, + 726, 703, 489, 489, 489, 489, 489, 489, 489, 337, + 489, 705, 704, 707, 489, 337, 489, 489, 489, 489, + 706, 489, 489, 489, 489, 489, 708, 489, 489, 337, + 724, 489, 489, 709, 489, 489, 489, 489, 489, 489, + 489, 710, 750, 489, 337, 489, 489, 489, 489, 489, + 728, 737, 489, 489, 713, 489, 489, 712, 337, 489, + 711, 489, 489, 337, 489, 738, 489, 714, 489, 717, + + 718, 337, 489, 329, 715, 238, 329, 337, 716, 740, + 489, 238, 489, 527, 489, 719, 731, 489, 489, 720, + 526, 337, 489, 337, 528, 337, 723, 489, 489, 489, + 489, 337, 337, 744, 732, 337, 337, 337, 337, 337, + 337, 568, 743, 373, 749, 832, 373, 373, 568, 529, + 373, 568, 745, 568, 568, 746, 758, 567, 568, 257, + 568, 337, 759, 835, 568, 257, 568, 755, 751, 760, + 762, 838, 257, 568, 568, 752, 914, 568, 754, 753, + 756, 757, 568, 568, 568, 568, 568, 568, 568, 568, + 761, 568, 568, 764, 568, 763, 568, 766, 568, 833, + + 568, 568, 568, 568, 765, 769, 568, 810, 568, 568, + 568, 767, 568, 257, 568, 568, 768, 770, 568, 568, + 568, 568, 568, 771, 568, 568, 811, 568, 568, 337, + 568, 772, 568, 837, 568, 257, 773, 774, 568, 907, + 775, 568, 568, 776, 568, 844, 568, 568, 568, 257, + 568, 568, 568, 568, 1003, 777, 568, 568, 568, 568, + 568, 568, 568, 257, 568, 779, 778, 781, 568, 1512, + 568, 568, 568, 568, 780, 568, 568, 568, 568, 568, + 782, 568, 568, 257, 840, 568, 568, 783, 568, 568, + 568, 568, 568, 568, 568, 784, 852, 568, 257, 568, + + 568, 568, 568, 568, 257, 839, 568, 568, 787, 568, + 568, 786, 257, 568, 785, 568, 568, 257, 568, 843, + 568, 788, 568, 791, 792, 867, 568, 410, 789, 238, + 410, 257, 790, 857, 568, 238, 568, 606, 568, 793, + 836, 568, 568, 794, 605, 842, 568, 257, 607, 847, + 834, 568, 568, 568, 568, 257, 845, 257, 846, 849, + 851, 850, 257, 257, 257, 853, 257, 257, 848, 856, + 257, 257, 257, 608, 854, 858, 257, 257, 855, 257, + 257, 257, 257, 257, 868, 257, 257, 489, 337, 337, + 1511, 869, 257, 904, 489, 860, 866, 489, 862, 489, + + 859, 863, 864, 861, 489, 489, 489, 872, 489, 337, + 871, 906, 489, 489, 905, 489, 489, 489, 489, 870, + 489, 873, 489, 489, 489, 489, 489, 489, 489, 337, + 489, 799, 337, 874, 1510, 878, 489, 489, 337, 489, + 489, 489, 876, 337, 489, 875, 489, 877, 489, 908, + 337, 489, 489, 489, 489, 489, 489, 879, 911, 880, + 489, 892, 489, 883, 489, 489, 882, 881, 885, 489, + 489, 489, 489, 489, 489, 489, 910, 887, 489, 489, + 930, 489, 884, 886, 489, 489, 489, 489, 489, 489, + 489, 337, 888, 489, 489, 337, 894, 489, 919, 489, + + 889, 489, 489, 489, 489, 489, 489, 489, 489, 489, + 337, 890, 489, 489, 489, 891, 489, 489, 489, 337, + 489, 893, 489, 489, 337, 489, 489, 489, 489, 489, + 489, 489, 489, 337, 489, 909, 489, 337, 912, 805, + 489, 489, 489, 489, 896, 913, 489, 895, 489, 489, + 337, 337, 489, 915, 337, 897, 489, 898, 337, 489, + 899, 489, 489, 900, 489, 489, 489, 337, 489, 810, + 918, 337, 916, 901, 902, 489, 337, 489, 812, 337, + 903, 337, 920, 337, 337, 337, 337, 337, 917, 821, + 337, 928, 924, 921, 337, 337, 337, 935, 337, 1004, + + 568, 936, 939, 568, 568, 997, 925, 922, 568, 923, + 568, 257, 568, 568, 568, 568, 568, 937, 568, 998, + 568, 568, 1015, 938, 1000, 929, 933, 932, 926, 931, + 934, 568, 568, 568, 257, 568, 568, 945, 1001, 568, + 1006, 940, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 943, 941, 568, 942, 568, 568, 257, 257, 337, + 568, 944, 568, 568, 568, 1008, 568, 1021, 568, 946, + 947, 568, 950, 568, 568, 568, 948, 949, 568, 952, + 257, 568, 1005, 568, 568, 568, 1007, 257, 568, 257, + 568, 951, 953, 1079, 568, 568, 568, 568, 954, 568, + + 568, 1009, 257, 955, 568, 257, 1018, 568, 568, 568, + 568, 568, 568, 956, 568, 959, 568, 568, 568, 568, + 568, 568, 957, 961, 337, 568, 958, 568, 568, 568, + 257, 568, 568, 568, 960, 568, 568, 1011, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 257, 257, 1016, 568, 568, 568, 257, 568, 1019, 568, + 1020, 568, 962, 963, 568, 568, 568, 568, 964, 568, + 965, 1162, 568, 568, 257, 568, 1010, 568, 966, 969, + 1012, 967, 568, 568, 568, 568, 1013, 1014, 254, 968, + 254, 254, 254, 257, 254, 254, 970, 257, 254, 1017, + + 254, 254, 1023, 257, 257, 254, 1022, 254, 254, 257, + 254, 257, 254, 254, 257, 257, 257, 257, 257, 257, + 257, 257, 292, 257, 1024, 292, 489, 292, 1034, 1026, + 292, 1029, 1028, 1025, 1032, 337, 489, 1031, 489, 1027, + 1035, 489, 1066, 1037, 489, 1030, 1503, 337, 1033, 489, + 1036, 489, 489, 489, 489, 489, 489, 1065, 337, 489, + 1038, 489, 489, 1041, 489, 489, 337, 489, 489, 489, + 1043, 1044, 489, 1039, 1068, 1040, 489, 489, 489, 489, + 489, 489, 489, 489, 489, 1045, 489, 489, 489, 489, + 1042, 489, 1069, 489, 292, 489, 257, 292, 1046, 489, + + 489, 489, 292, 489, 1161, 292, 489, 489, 1048, 489, + 489, 489, 489, 1047, 489, 257, 489, 489, 489, 489, + 1050, 1049, 1051, 1163, 489, 489, 489, 1052, 489, 489, + 1054, 337, 337, 974, 1053, 489, 489, 489, 489, 489, + 489, 489, 292, 489, 489, 292, 489, 489, 489, 337, + 489, 489, 337, 489, 489, 489, 489, 489, 489, 489, + 489, 489, 489, 489, 1070, 1081, 489, 489, 489, 1055, + 489, 337, 337, 1073, 1056, 1057, 489, 489, 489, 489, + 337, 489, 978, 1059, 1058, 1067, 337, 337, 1060, 980, + 337, 489, 981, 489, 1062, 337, 337, 982, 1071, 337, + + 337, 1076, 1061, 1063, 337, 337, 1072, 985, 337, 1074, + 1077, 337, 337, 991, 337, 337, 337, 1064, 337, 337, + 257, 1075, 1078, 568, 568, 1089, 1090, 568, 373, 373, + 1091, 373, 373, 568, 568, 568, 568, 568, 1092, 568, + 373, 1147, 373, 373, 568, 373, 1084, 1120, 1083, 1087, + 1080, 1121, 568, 1086, 568, 1082, 568, 568, 257, 257, + 1085, 568, 568, 1088, 568, 1093, 1096, 568, 1095, 568, + 1094, 568, 568, 568, 1098, 568, 373, 257, 1149, 373, + 568, 1160, 568, 1099, 568, 568, 568, 568, 1100, 568, + 568, 337, 568, 1097, 568, 568, 568, 1152, 568, 568, + + 1304, 568, 1101, 568, 568, 568, 568, 568, 1102, 568, + 1103, 257, 257, 568, 1148, 568, 568, 568, 1150, 568, + 1106, 568, 257, 568, 1104, 337, 568, 568, 568, 568, + 1105, 568, 1107, 568, 568, 568, 1109, 1108, 568, 568, + 1198, 568, 568, 568, 568, 568, 568, 257, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 1145, 1154, + 568, 568, 1146, 568, 1110, 568, 568, 568, 568, 1111, + 568, 568, 568, 568, 568, 257, 257, 568, 1112, 568, + 257, 1151, 1156, 1115, 568, 1114, 568, 1155, 254, 1113, + 254, 254, 337, 1157, 1117, 257, 1118, 1116, 254, 257, + + 254, 254, 254, 257, 254, 254, 254, 1158, 254, 254, + 1119, 254, 1159, 254, 254, 254, 257, 254, 254, 257, + 254, 257, 254, 254, 257, 257, 257, 257, 257, 1165, + 292, 1208, 489, 292, 1170, 1168, 1164, 1166, 1171, 1169, + 489, 1172, 489, 1167, 489, 1173, 489, 489, 292, 1261, + 489, 292, 489, 489, 489, 337, 489, 489, 1174, 489, + 1175, 257, 1204, 489, 489, 489, 1176, 1177, 292, 292, + 489, 292, 292, 292, 489, 1179, 292, 337, 337, 1122, + 489, 489, 489, 1180, 489, 1178, 489, 292, 489, 1181, + 292, 489, 489, 489, 292, 489, 337, 292, 489, 1196, + + 489, 1182, 489, 489, 489, 489, 489, 489, 1183, 489, + 257, 1184, 489, 489, 1359, 489, 489, 489, 489, 489, + 489, 489, 489, 489, 489, 1186, 257, 489, 489, 489, + 489, 489, 489, 489, 489, 489, 1185, 1206, 489, 1188, + 489, 489, 337, 489, 489, 489, 489, 1190, 1187, 489, + 337, 337, 1120, 1191, 1189, 489, 1195, 489, 337, 489, + 337, 489, 1197, 1192, 1193, 1200, 337, 337, 1129, 337, + 1201, 1194, 1202, 337, 337, 1131, 337, 337, 1199, 337, + 337, 1205, 337, 337, 1203, 337, 337, 1491, 568, 373, + 1216, 1271, 373, 1218, 1217, 257, 568, 1262, 568, 568, + + 568, 1219, 373, 1207, 1209, 373, 568, 1211, 568, 568, + 257, 568, 1212, 1214, 568, 1215, 1487, 568, 1210, 1223, + 1213, 568, 568, 1265, 568, 257, 1220, 568, 1221, 1222, + 1270, 568, 568, 568, 568, 373, 373, 373, 373, 373, + 373, 568, 1225, 373, 1226, 568, 373, 257, 568, 568, + 1227, 568, 1224, 568, 1228, 568, 568, 568, 568, 568, + 568, 568, 1229, 568, 373, 257, 568, 373, 568, 1230, + 568, 568, 337, 568, 568, 568, 257, 568, 568, 1267, + 568, 568, 568, 568, 568, 1273, 568, 568, 568, 568, + 568, 568, 1264, 1232, 257, 568, 257, 1234, 257, 568, + + 568, 568, 257, 568, 1231, 568, 568, 568, 1233, 568, + 568, 568, 568, 1313, 1236, 1272, 568, 1276, 568, 1277, + 568, 1237, 1235, 1268, 254, 1239, 254, 254, 257, 1238, + 568, 254, 568, 254, 254, 257, 1263, 257, 1266, 1269, + 257, 254, 1240, 254, 254, 254, 257, 254, 254, 257, + 257, 257, 257, 292, 292, 292, 292, 292, 292, 292, + 1358, 1486, 292, 1281, 489, 489, 337, 1278, 1274, 1275, + 489, 257, 1279, 1280, 489, 489, 489, 489, 489, 337, + 489, 489, 489, 1282, 489, 1284, 1301, 1302, 489, 489, + 1283, 489, 489, 1286, 489, 337, 489, 489, 1285, 489, + + 489, 489, 489, 1288, 489, 1290, 1287, 489, 1291, 489, + 1289, 489, 489, 1309, 1485, 489, 489, 337, 337, 489, + 489, 489, 337, 489, 489, 489, 489, 489, 489, 489, + 489, 489, 489, 489, 489, 1305, 489, 1303, 337, 489, + 337, 337, 489, 489, 1307, 489, 489, 1292, 337, 489, + 1293, 489, 489, 1294, 489, 1295, 489, 489, 489, 337, + 1306, 1250, 1308, 337, 337, 1296, 337, 489, 337, 489, + 1298, 1297, 337, 337, 337, 1395, 373, 1312, 1299, 373, + 568, 1311, 1320, 568, 373, 373, 568, 373, 373, 1300, + 568, 568, 568, 568, 373, 568, 568, 373, 568, 1321, + + 257, 568, 1314, 1322, 1315, 1361, 1316, 1360, 1317, 568, + 1323, 257, 1488, 1318, 1319, 568, 568, 257, 1368, 568, + 568, 568, 257, 568, 1324, 568, 568, 568, 1325, 1327, + 568, 568, 568, 568, 1326, 568, 1329, 1330, 568, 568, + 257, 1328, 568, 568, 292, 568, 568, 292, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 1448, 1362, 1363, 568, 568, 568, 257, 257, 568, 568, + 1331, 568, 1333, 568, 568, 1484, 568, 1332, 568, 1364, + 568, 257, 568, 568, 1334, 568, 257, 254, 1365, 254, + 254, 1335, 568, 257, 568, 254, 1336, 254, 254, 257, + + 1338, 1337, 257, 257, 1369, 257, 257, 257, 257, 337, + 337, 1483, 337, 1376, 1339, 337, 337, 1394, 1343, 1396, + 1367, 1370, 1373, 489, 1371, 489, 1397, 1372, 1374, 1375, + 1377, 489, 1379, 1366, 489, 1378, 1400, 292, 489, 489, + 292, 489, 489, 489, 489, 1380, 489, 489, 489, 489, + 489, 489, 489, 1381, 489, 489, 489, 489, 1482, 489, + 489, 489, 337, 337, 1382, 489, 489, 489, 489, 1383, + 489, 489, 489, 489, 489, 1384, 1398, 489, 337, 337, + 1399, 489, 337, 337, 489, 489, 489, 489, 489, 489, + 1386, 489, 1385, 489, 337, 489, 1387, 489, 489, 489, + + 489, 337, 337, 337, 337, 489, 1388, 373, 1404, 489, + 373, 489, 1411, 1391, 1389, 489, 1440, 489, 1390, 1402, + 1403, 337, 568, 1406, 568, 373, 1412, 568, 373, 337, + 1414, 1405, 1392, 257, 1442, 1408, 568, 568, 1393, 568, + 568, 1413, 1407, 568, 1409, 1410, 568, 568, 568, 1415, + 568, 257, 568, 568, 568, 568, 337, 568, 568, 568, + 1416, 568, 337, 1419, 568, 568, 568, 1417, 568, 568, + 568, 568, 568, 568, 1418, 568, 568, 568, 1465, 568, + 568, 568, 568, 568, 568, 1443, 568, 257, 568, 568, + 568, 337, 568, 568, 1422, 568, 568, 1420, 1421, 568, + + 568, 568, 257, 337, 1444, 1423, 568, 257, 568, 337, + 568, 1446, 568, 1424, 1426, 254, 1425, 254, 254, 257, + 257, 254, 1445, 254, 254, 257, 1451, 1449, 489, 1427, + 1453, 337, 489, 1428, 1450, 337, 489, 1429, 489, 1452, + 489, 1466, 489, 489, 489, 1467, 489, 292, 489, 489, + 292, 337, 1454, 489, 489, 489, 337, 337, 1431, 489, + 1447, 489, 1455, 489, 489, 1457, 489, 292, 1456, 489, + 292, 1500, 489, 489, 1463, 489, 489, 489, 337, 489, + 489, 489, 489, 489, 489, 337, 489, 489, 489, 489, + 489, 337, 489, 489, 337, 489, 337, 489, 337, 1464, + + 489, 489, 373, 1459, 1462, 373, 1458, 489, 1460, 489, + 489, 489, 489, 489, 1490, 568, 1471, 1461, 373, 1492, + 1501, 373, 568, 1473, 1470, 568, 1472, 568, 568, 568, + 1468, 257, 568, 1469, 568, 568, 257, 1474, 568, 568, + 568, 568, 568, 568, 337, 568, 1484, 568, 1475, 568, + 568, 1477, 568, 568, 568, 568, 1476, 1478, 568, 568, + 568, 568, 568, 568, 568, 257, 257, 568, 568, 1489, + 568, 257, 568, 568, 568, 568, 568, 568, 568, 568, + 1514, 1479, 568, 568, 568, 337, 292, 1486, 568, 292, + 568, 257, 1481, 568, 1480, 568, 254, 257, 254, 254, + + 254, 489, 254, 254, 254, 292, 254, 254, 292, 489, + 1496, 489, 292, 1494, 257, 292, 489, 489, 1498, 489, + 489, 489, 337, 1495, 489, 489, 489, 489, 489, 489, + 489, 1497, 489, 489, 489, 489, 489, 489, 568, 373, + 257, 1502, 373, 489, 373, 489, 568, 373, 568, 1506, + 1504, 1493, 568, 1526, 373, 568, 568, 373, 568, 1499, + 1505, 568, 568, 1507, 568, 568, 1508, 568, 568, 568, + 257, 568, 568, 568, 254, 257, 254, 254, 568, 568, + 568, 568, 568, 254, 568, 254, 254, 254, 489, 254, + 254, 292, 489, 1517, 292, 337, 1441, 1439, 489, 489, + + 489, 1509, 489, 1516, 489, 292, 568, 292, 292, 489, + 292, 489, 568, 337, 1519, 1511, 568, 373, 568, 337, + 373, 1524, 568, 1521, 568, 1522, 373, 373, 1438, 373, + 373, 568, 254, 1528, 254, 254, 1437, 1515, 1436, 489, + 1531, 568, 254, 568, 254, 254, 568, 292, 1435, 489, + 292, 489, 292, 1434, 1433, 292, 568, 1518, 568, 373, + 373, 1432, 373, 373, 254, 1431, 254, 254, 254, 292, + 254, 254, 292, 292, 1430, 373, 292, 1523, 373, 1534, + 1429, 1401, 337, 1527, 1535, 373, 257, 254, 373, 254, + 254, 292, 373, 1529, 292, 373, 1536, 1357, 1356, 1355, + + 1354, 1532, 51, 51, 51, 51, 51, 51, 51, 56, + 56, 56, 56, 56, 56, 56, 238, 238, 1353, 238, + 238, 238, 238, 243, 243, 243, 243, 243, 243, 243, + 246, 1352, 1351, 1350, 246, 246, 246, 253, 253, 1349, + 253, 253, 253, 253, 257, 257, 1348, 257, 257, 257, + 257, 287, 287, 1347, 287, 287, 287, 287, 292, 292, + 1346, 1345, 1344, 292, 292, 298, 298, 1343, 1342, 1341, + 298, 298, 329, 329, 1340, 329, 329, 329, 329, 337, + 337, 339, 339, 373, 373, 1310, 337, 257, 373, 373, + 379, 379, 1260, 1259, 1258, 379, 379, 410, 410, 1257, + + 410, 410, 410, 410, 487, 487, 1256, 1255, 1254, 487, + 487, 489, 489, 1253, 1252, 1251, 489, 489, 525, 525, + 1250, 525, 525, 525, 525, 566, 566, 1249, 1248, 1247, + 566, 566, 568, 568, 1246, 1245, 1244, 568, 568, 604, + 604, 1243, 604, 604, 604, 604, 1242, 1241, 1153, 1144, + 1143, 1142, 1141, 1140, 1139, 1138, 1137, 1136, 1135, 1134, + 1133, 1132, 1131, 1130, 1129, 1128, 1127, 1126, 1125, 1124, + 1123, 1122, 337, 337, 257, 257, 1002, 999, 996, 995, + 994, 993, 992, 991, 990, 989, 988, 987, 986, 985, + 984, 983, 982, 981, 980, 979, 978, 977, 976, 975, + + 974, 973, 972, 971, 337, 337, 257, 257, 841, 831, + 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, + 820, 819, 818, 817, 816, 815, 814, 813, 812, 809, + 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, + 798, 797, 796, 795, 337, 257, 653, 646, 645, 644, + 643, 642, 638, 637, 636, 635, 634, 633, 632, 631, + 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, + 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, + 610, 609, 375, 337, 338, 334, 257, 250, 450, 247, + 242, 239, 449, 448, 447, 446, 443, 442, 441, 440, + + 439, 438, 437, 434, 433, 432, 431, 430, 429, 428, + 427, 426, 425, 424, 421, 415, 414, 205, 378, 377, + 337, 338, 336, 297, 271, 255, 250, 247, 242, 235, + 234, 233, 232, 231, 228, 227, 224, 220, 219, 218, + 217, 213, 212, 209, 208, 207, 205, 204, 1537, 13, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + + 1537, 1537, 1537, 1537, 1537 } ; -static yyconst flex_int16_t yy_chk[4110] = +static yyconst flex_int16_t yy_chk[4306] = { 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, 1, 1, 1, 1, 2, 15, 1463, 2, 15, + 1, 1, 1, 1, 1, 2, 15, 749, 2, 15, 2, 3, 3, 3, 28, 3, 4, 4, 4, 4, - 49, 4, 28, 37, 35, 35, 48, 40, 61, 2, - 90, 344, 4, 35, 46, 37, 40, 46, 90, 46, - 48, 62, 49, 62, 62, 49, 53, 53, 53, 58, + 31, 4, 28, 31, 36, 36, 38, 31, 41, 2, + 49, 47, 4, 36, 47, 50, 47, 41, 38, 54, + 54, 54, 749, 74, 49, 59, 59, 59, 63, 90, - 58, 58, 74, 65, 2, 65, 65, 66, 76, 66, - 66, 61, 344, 76, 74, 4, 5, 5, 5, 5, + 63, 63, 74, 66, 2, 66, 66, 50, 77, 67, + 50, 67, 67, 77, 90, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 6, 114, 114, 6, 67, 6, 67, 67, 68, - 114, 68, 68, 69, 73, 69, 69, 70, 75, 70, - 70, 75, 77, 73, 77, 6, 75, 70, 78, 79, + 5, 6, 62, 88, 6, 68, 6, 68, 68, 69, + 75, 69, 69, 70, 88, 70, 70, 71, 76, 71, + 71, 76, 75, 91, 285, 6, 76, 71, 78, 79, - 80, 79, 82, 82, 83, 84, 83, 82, 86, 129, - 78, 82, 195, 1453, 84, 129, 80, 84, 195, 86, + 78, 80, 79, 82, 94, 62, 79, 81, 92, 81, + 79, 91, 85, 80, 85, 94, 92, 285, 1540, 82, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 8, 85, 87, 8, - 89, 8, 88, 91, 139, 92, 87, 93, 94, 93, - 93, 156, 1448, 85, 139, 87, 92, 88, 89, 95, + 7, 7, 7, 7, 7, 7, 8, 84, 84, 8, + 86, 8, 84, 87, 1530, 89, 84, 93, 95, 86, + 95, 95, 86, 89, 96, 124, 113, 97, 113, 87, - 8, 91, 94, 95, 94, 97, 97, 97, 97, 99, - 99, 99, 99, 111, 112, 111, 1443, 146, 156, 112, - 146, 95, 112, 111, 95, 8, 9, 9, 9, 9, + 8, 97, 89, 124, 141, 93, 113, 145, 96, 124, + 96, 99, 99, 99, 99, 101, 101, 101, 101, 97, + 268, 145, 97, 141, 268, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 10, 113, 115, 10, 116, 10, 125, 116, 118, - 118, 113, 341, 116, 120, 125, 115, 118, 125, 113, + 9, 10, 114, 118, 10, 115, 10, 114, 115, 116, + 114, 132, 115, 115, 117, 117, 118, 132, 116, 126, - 117, 117, 117, 121, 115, 10, 119, 120, 122, 117, - 117, 121, 119, 127, 341, 120, 122, 121, 119, 122, - 119, 127, 132, 132, 132, 132, 151, 127, 122, 151, + 119, 115, 117, 119, 118, 10, 116, 126, 119, 120, + 120, 120, 121, 121, 128, 122, 142, 126, 120, 120, + 121, 122, 128, 1525, 270, 128, 142, 122, 270, 122, 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, 12, 123, 124, 12, - 126, 12, 152, 130, 138, 123, 124, 143, 126, 128, - - 128, 128, 128, 141, 128, 123, 130, 130, 140, 124, - 12, 126, 142, 138, 130, 140, 144, 145, 143, 141, - 216, 149, 152, 144, 332, 155, 142, 141, 147, 154, - 157, 332, 216, 153, 145, 12, 71, 71, 149, 71, - 71, 71, 71, 71, 71, 71, 71, 147, 71, 72, - 72, 148, 72, 72, 72, 72, 72, 72, 72, 72, - 153, 72, 155, 154, 158, 148, 148, 157, 270, 153, - 159, 159, 159, 159, 148, 159, 244, 270, 72, 106, - 106, 131, 131, 106, 106, 106, 106, 106, 1435, 106, - 131, 106, 107, 107, 158, 150, 107, 107, 107, 107, - - 107, 161, 107, 131, 107, 150, 131, 160, 256, 244, - 160, 163, 163, 163, 163, 198, 161, 150, 198, 1433, - 256, 107, 108, 108, 160, 205, 108, 108, 108, 108, - 108, 178, 108, 181, 108, 177, 178, 177, 161, 178, - 205, 161, 108, 109, 109, 177, 181, 109, 109, 109, - 109, 109, 349, 109, 181, 109, 180, 180, 268, 273, - 109, 110, 110, 179, 180, 110, 110, 110, 110, 110, - 268, 110, 179, 110, 182, 207, 273, 182, 184, 184, - 179, 224, 182, 183, 183, 183, 184, 110, 349, 207, - 190, 187, 183, 183, 224, 110, 172, 172, 190, 187, - - 172, 172, 172, 172, 172, 187, 172, 186, 172, 173, - 173, 190, 185, 173, 173, 173, 173, 173, 185, 173, - 186, 173, 188, 189, 185, 233, 185, 192, 186, 228, - 188, 189, 228, 188, 228, 192, 278, 278, 173, 174, - 174, 189, 188, 174, 174, 174, 174, 174, 192, 174, - 233, 174, 194, 194, 194, 194, 507, 194, 257, 174, - 175, 175, 257, 191, 175, 175, 175, 175, 175, 272, - 175, 191, 175, 193, 191, 507, 272, 175, 176, 176, - 196, 193, 176, 176, 176, 176, 176, 193, 176, 272, - 176, 197, 197, 196, 196, 204, 237, 237, 237, 258, - - 197, 196, 258, 265, 176, 204, 265, 204, 241, 241, - 241, 250, 176, 197, 251, 245, 197, 245, 245, 246, - 1426, 246, 246, 248, 252, 248, 248, 250, 253, 254, - 251, 255, 260, 248, 252, 252, 252, 254, 259, 261, - 260, 253, 259, 253, 262, 255, 263, 255, 267, 264, - 266, 269, 262, 271, 274, 261, 280, 275, 267, 330, - 280, 264, 263, 264, 276, 266, 276, 276, 279, 505, - 330, 271, 269, 277, 505, 277, 277, 274, 275, 281, - 326, 280, 281, 326, 279, 282, 282, 282, 282, 284, - 284, 284, 284, 286, 345, 336, 286, 314, 314, 314, - - 314, 1423, 314, 286, 287, 287, 336, 329, 287, 287, - 287, 287, 287, 329, 287, 338, 287, 288, 288, 333, - 513, 288, 288, 288, 288, 288, 338, 288, 329, 288, - 288, 289, 289, 347, 345, 289, 289, 289, 289, 289, - 513, 289, 333, 289, 289, 290, 290, 294, 294, 290, - 290, 290, 290, 290, 291, 290, 291, 290, 294, 586, - 294, 327, 292, 290, 327, 292, 291, 295, 291, 291, - 347, 293, 292, 290, 292, 290, 293, 295, 586, 295, - 297, 296, 295, 440, 440, 293, 293, 297, 293, 296, - 297, 296, 297, 296, 298, 299, 350, 298, 301, 300, - - 299, 335, 300, 301, 298, 302, 298, 522, 302, 300, - 299, 300, 299, 301, 303, 301, 335, 302, 302, 304, - 302, 342, 306, 304, 303, 342, 303, 522, 303, 305, - 305, 346, 306, 304, 306, 304, 307, 308, 350, 305, - 309, 305, 334, 310, 311, 306, 307, 308, 307, 308, - 309, 343, 309, 310, 311, 310, 311, 308, 334, 346, - 343, 310, 315, 312, 315, 315, 313, 316, 307, 309, - 315, 351, 311, 312, 310, 312, 313, 316, 313, 316, - 318, 449, 449, 337, 317, 331, 337, 318, 331, 317, - 318, 348, 318, 319, 319, 319, 319, 312, 313, 317, - - 328, 317, 331, 339, 340, 431, 339, 431, 328, 340, - 353, 351, 318, 354, 355, 1412, 354, 348, 328, 432, - 328, 340, 352, 352, 352, 352, 446, 352, 353, 355, - 348, 356, 446, 432, 356, 357, 357, 357, 357, 361, - 367, 372, 361, 367, 428, 439, 441, 428, 372, 361, - 367, 372, 367, 372, 355, 362, 362, 439, 441, 362, - 362, 362, 362, 362, 523, 362, 433, 362, 363, 363, - 433, 443, 363, 363, 363, 363, 363, 430, 363, 442, - 363, 363, 364, 364, 523, 443, 364, 364, 364, 364, - 364, 442, 364, 430, 364, 364, 365, 365, 369, 369, - - 365, 365, 365, 365, 365, 366, 365, 366, 365, 369, - 1411, 369, 429, 368, 365, 429, 512, 366, 368, 366, - 366, 370, 373, 512, 365, 373, 365, 368, 368, 371, - 368, 370, 373, 370, 373, 374, 370, 371, 421, 371, - 374, 371, 376, 375, 378, 421, 375, 376, 377, 421, - 374, 377, 374, 375, 378, 375, 378, 376, 378, 376, - 377, 377, 379, 377, 1410, 438, 379, 380, 380, 438, - 381, 382, 450, 450, 383, 384, 379, 380, 379, 380, - 381, 382, 381, 382, 383, 384, 383, 384, 385, 386, - 435, 516, 435, 381, 383, 387, 516, 686, 385, 386, - - 385, 386, 388, 382, 384, 387, 385, 387, 389, 389, - 389, 389, 388, 389, 388, 391, 686, 386, 390, 385, - 390, 390, 437, 392, 437, 391, 390, 391, 392, 387, - 444, 436, 393, 444, 388, 447, 448, 447, 392, 393, - 392, 436, 393, 445, 393, 451, 445, 448, 452, 453, - 454, 456, 455, 451, 506, 458, 457, 459, 454, 461, - 503, 504, 461, 503, 393, 455, 457, 453, 462, 506, - 452, 462, 455, 456, 463, 464, 455, 458, 462, 459, - 465, 501, 504, 464, 463, 464, 463, 464, 465, 466, - 465, 469, 465, 1408, 466, 467, 468, 501, 469, 468, - - 510, 469, 470, 469, 466, 467, 466, 467, 467, 468, - 471, 468, 470, 470, 470, 472, 472, 510, 508, 473, - 471, 502, 471, 471, 518, 472, 474, 472, 473, 473, - 476, 473, 509, 474, 475, 475, 474, 502, 474, 508, - 476, 509, 476, 477, 477, 475, 518, 475, 478, 478, - 479, 511, 480, 479, 477, 685, 477, 481, 517, 478, - 480, 478, 480, 479, 480, 479, 511, 481, 482, 481, - 519, 481, 483, 482, 517, 685, 484, 485, 482, 1406, - 482, 486, 483, 519, 483, 483, 484, 485, 484, 485, - 487, 486, 514, 486, 488, 489, 515, 520, 490, 514, - - 487, 491, 487, 515, 488, 489, 488, 489, 490, 487, - 490, 491, 496, 491, 496, 496, 492, 490, 520, 493, - 496, 525, 521, 494, 489, 491, 492, 488, 492, 493, - 521, 493, 491, 494, 495, 494, 491, 499, 497, 524, - 493, 498, 499, 526, 495, 527, 495, 529, 497, 492, - 497, 498, 499, 498, 499, 528, 494, 530, 500, 531, - 532, 534, 525, 536, 534, 500, 524, 495, 500, 1393, - 500, 535, 527, 536, 535, 536, 569, 620, 569, 569, - 526, 535, 620, 537, 569, 609, 530, 528, 529, 610, - 500, 537, 539, 537, 528, 537, 538, 539, 528, 609, - - 531, 532, 540, 610, 538, 613, 538, 539, 538, 539, - 541, 616, 540, 541, 540, 540, 611, 542, 616, 611, - 543, 627, 613, 541, 542, 541, 544, 542, 627, 542, - 543, 543, 543, 545, 545, 612, 544, 546, 544, 544, - 549, 547, 688, 545, 612, 545, 546, 546, 547, 546, - 549, 547, 549, 547, 548, 548, 688, 550, 550, 552, - 551, 551, 552, 617, 617, 548, 554, 548, 550, 553, - 550, 551, 552, 551, 552, 708, 554, 553, 554, 553, - 554, 553, 555, 556, 614, 615, 614, 555, 557, 558, - 694, 615, 555, 556, 555, 556, 556, 559, 557, 558, - - 557, 558, 560, 561, 694, 708, 562, 559, 619, 559, - 563, 625, 560, 561, 560, 561, 562, 622, 562, 625, - 563, 560, 563, 623, 707, 619, 623, 564, 565, 563, - 621, 566, 567, 631, 622, 562, 561, 564, 565, 564, - 565, 566, 567, 566, 567, 568, 628, 621, 624, 621, - 631, 564, 566, 628, 570, 568, 707, 568, 564, 571, - 624, 565, 564, 573, 570, 567, 570, 572, 632, 571, - 573, 571, 572, 573, 626, 573, 629, 634, 568, 626, - 635, 630, 572, 630, 572, 636, 637, 629, 640, 638, - 639, 632, 679, 634, 641, 573, 681, 643, 681, 640, - - 643, 636, 635, 639, 637, 638, 644, 641, 645, 644, - 643, 647, 643, 646, 679, 646, 680, 647, 645, 644, - 645, 644, 645, 646, 648, 646, 680, 647, 649, 647, - 677, 650, 651, 648, 648, 677, 648, 687, 649, 687, - 649, 650, 651, 650, 651, 649, 652, 653, 690, 650, - 690, 683, 682, 653, 654, 655, 652, 652, 652, 684, - 654, 655, 656, 653, 654, 653, 654, 657, 656, 682, - 705, 655, 691, 655, 655, 657, 683, 657, 656, 657, - 656, 658, 658, 659, 678, 684, 659, 661, 691, 678, - 660, 662, 658, 659, 658, 659, 660, 661, 663, 661, - - 660, 662, 660, 662, 664, 661, 665, 705, 663, 662, - 663, 666, 665, 692, 664, 667, 664, 664, 669, 668, - 692, 666, 665, 666, 665, 667, 670, 667, 669, 668, - 669, 668, 671, 689, 700, 689, 670, 672, 670, 699, - 674, 699, 671, 695, 671, 666, 668, 672, 673, 672, - 674, 669, 674, 670, 689, 675, 676, 696, 673, 693, - 673, 671, 674, 697, 672, 675, 676, 675, 676, 695, - 693, 697, 673, 698, 702, 703, 700, 704, 706, 675, - 845, 713, 709, 696, 711, 712, 715, 711, 712, 775, - 845, 713, 715, 713, 698, 713, 719, 711, 712, 711, - - 712, 1392, 715, 775, 715, 714, 719, 714, 719, 702, - 716, 717, 704, 706, 709, 714, 703, 714, 777, 716, - 716, 717, 716, 717, 718, 721, 1391, 720, 717, 723, - 784, 721, 777, 784, 718, 723, 718, 720, 720, 720, - 722, 721, 718, 721, 780, 723, 722, 723, 723, 724, - 722, 725, 722, 726, 726, 724, 780, 781, 871, 725, - 782, 725, 781, 725, 726, 724, 726, 724, 727, 728, - 786, 727, 729, 730, 786, 728, 731, 782, 727, 728, - 727, 728, 729, 730, 729, 730, 731, 732, 731, 733, - 729, 730, 734, 871, 779, 733, 735, 732, 798, 732, - - 732, 736, 734, 779, 734, 733, 735, 733, 735, 737, - 738, 736, 798, 736, 783, 739, 783, 783, 807, 737, - 738, 737, 738, 740, 741, 739, 734, 739, 736, 742, - 787, 785, 795, 740, 741, 740, 741, 738, 785, 742, - 807, 742, 737, 743, 739, 788, 744, 787, 741, 795, - 740, 742, 788, 743, 792, 743, 744, 789, 744, 789, - 789, 791, 801, 791, 791, 796, 792, 743, 793, 796, - 793, 793, 794, 797, 794, 797, 799, 800, 802, 801, - 802, 802, 800, 803, 804, 806, 808, 846, 810, 799, - 809, 811, 847, 816, 846, 812, 816, 812, 803, 806, - - 808, 809, 811, 804, 810, 812, 847, 812, 813, 813, - 868, 815, 814, 818, 1390, 809, 811, 815, 814, 813, - 817, 813, 814, 818, 814, 818, 819, 815, 817, 815, - 817, 818, 817, 819, 820, 821, 819, 850, 819, 822, - 820, 858, 822, 824, 823, 821, 824, 821, 825, 825, - 820, 868, 820, 821, 823, 826, 823, 827, 826, 825, - 828, 825, 829, 850, 858, 835, 828, 827, 835, 827, - 827, 830, 829, 832, 829, 832, 828, 829, 828, 831, - 834, 830, 831, 830, 830, 832, 834, 832, 867, 833, - 836, 853, 831, 837, 831, 833, 834, 838, 834, 833, - - 836, 833, 836, 837, 848, 837, 848, 838, 839, 838, - 939, 939, 840, 851, 849, 841, 836, 853, 839, 842, - 839, 867, 840, 837, 840, 841, 843, 841, 851, 842, - 849, 842, 844, 839, 865, 852, 843, 852, 843, 855, - 841, 842, 844, 856, 844, 840, 855, 857, 859, 857, - 864, 860, 861, 843, 844, 842, 860, 862, 861, 863, - 869, 863, 870, 1006, 856, 872, 874, 874, 844, 859, - 875, 862, 865, 873, 906, 873, 875, 874, 906, 874, - 875, 876, 875, 873, 864, 873, 877, 876, 878, 877, - 1006, 883, 870, 869, 883, 872, 878, 876, 878, 876, - - 878, 879, 881, 1373, 882, 880, 870, 885, 881, 872, - 885, 879, 880, 879, 882, 880, 882, 880, 881, 879, - 881, 884, 882, 886, 886, 887, 889, 888, 887, 941, - 941, 884, 889, 884, 886, 890, 886, 888, 1372, 888, - 888, 891, 889, 892, 889, 890, 892, 890, 943, 896, - 890, 891, 896, 891, 891, 893, 892, 893, 892, 895, - 894, 897, 943, 1371, 898, 895, 894, 893, 899, 893, - 894, 897, 894, 897, 898, 895, 898, 895, 899, 900, - 899, 940, 936, 901, 935, 940, 902, 897, 935, 900, - 903, 900, 953, 901, 898, 901, 902, 904, 902, 936, - - 903, 935, 903, 905, 900, 945, 937, 904, 937, 904, - 1368, 902, 903, 905, 953, 905, 901, 938, 948, 938, - 938, 947, 945, 1359, 904, 905, 903, 942, 950, 942, - 942, 946, 951, 946, 946, 948, 949, 947, 949, 905, - 950, 954, 955, 952, 951, 952, 952, 956, 957, 954, - 958, 960, 959, 961, 962, 956, 966, 1358, 958, 966, - 963, 961, 955, 959, 963, 962, 963, 964, 957, 960, - 967, 998, 970, 964, 965, 970, 963, 992, 963, 992, - 967, 968, 967, 964, 965, 964, 965, 965, 968, 969, - 998, 968, 971, 968, 974, 971, 973, 974, 972, 969, - - 980, 969, 973, 980, 1069, 971, 975, 971, 972, 972, - 972, 975, 973, 976, 973, 977, 1069, 978, 978, 976, - 993, 975, 1002, 975, 977, 977, 981, 977, 978, 976, - 978, 976, 979, 979, 982, 995, 981, 983, 981, 1002, - 1357, 993, 984, 979, 982, 979, 982, 983, 985, 983, - 995, 997, 984, 982, 984, 986, 997, 994, 985, 981, - 985, 984, 999, 987, 999, 986, 988, 986, 983, 1005, - 989, 990, 996, 987, 986, 987, 988, 994, 988, 985, - 989, 990, 989, 990, 991, 987, 991, 1007, 1000, 989, - 991, 1000, 996, 990, 1001, 988, 1001, 1003, 1004, 1009, - - 1008, 1010, 1011, 1012, 1003, 1004, 1013, 1014, 1018, 1022, - 1005, 1018, 1022, 1015, 1072, 1356, 1072, 1015, 1016, 1015, - 1026, 1085, 1032, 1026, 1016, 1032, 1007, 1008, 1010, 1015, - 1355, 1015, 1011, 1013, 1016, 1017, 1016, 1014, 1009, 1019, - 1012, 1085, 1021, 1020, 1075, 1017, 1075, 1017, 1017, 1019, - 1020, 1019, 1021, 1020, 1021, 1020, 1023, 1073, 1073, 1023, - 1025, 1028, 1024, 1076, 1076, 1027, 1025, 1028, 1086, 1023, - 1027, 1023, 1024, 1024, 1024, 1029, 1025, 1028, 1025, 1028, - 1027, 1136, 1027, 1033, 1029, 1029, 1034, 1029, 1030, 1030, - 1086, 1031, 1031, 1033, 1185, 1033, 1034, 1035, 1034, 1030, - - 1036, 1030, 1031, 1037, 1031, 1034, 1185, 1035, 1038, 1035, - 1036, 1039, 1036, 1037, 1040, 1037, 1033, 1136, 1038, 1036, - 1038, 1039, 1074, 1039, 1040, 1041, 1040, 1038, 1035, 1042, - 1353, 1080, 1074, 1039, 1037, 1041, 1080, 1041, 1082, 1042, - 1083, 1042, 1333, 1040, 1041, 1068, 1078, 1068, 1068, 1078, - 1070, 1042, 1070, 1070, 1077, 1082, 1077, 1077, 1079, 1083, - 1079, 1079, 1081, 1081, 1084, 1090, 1087, 1088, 1089, 1091, - 1092, 1093, 1095, 1102, 1093, 1095, 1102, 1104, 1123, 1128, - 1104, 1128, 1090, 1094, 1094, 1084, 1087, 1096, 1088, 1089, - 1091, 1092, 1097, 1118, 1094, 1123, 1094, 1096, 1098, 1096, - - 1118, 1120, 1097, 1100, 1097, 1097, 1099, 1099, 1098, 1101, - 1098, 1125, 1100, 1100, 1103, 1100, 1099, 1105, 1099, 1101, - 1106, 1101, 1120, 1105, 1103, 1107, 1103, 1105, 1103, 1105, - 1106, 1107, 1106, 1125, 1108, 1109, 1332, 1121, 1110, 1111, - 1124, 1107, 1108, 1107, 1127, 1109, 1112, 1109, 1110, 1111, - 1110, 1111, 1108, 1113, 1108, 1130, 1112, 1121, 1112, 1131, - 1124, 1114, 1127, 1113, 1115, 1113, 1122, 1109, 1116, 1110, - 1126, 1114, 1111, 1114, 1115, 1122, 1115, 1112, 1116, 1117, - 1116, 1132, 1133, 1134, 1126, 1113, 1135, 1137, 1138, 1117, - 1318, 1117, 1115, 1114, 1139, 1130, 1141, 1139, 1131, 1141, - - 1116, 1140, 1140, 1142, 1148, 1150, 1143, 1148, 1150, 1318, - 1195, 1117, 1140, 1142, 1140, 1142, 1143, 1196, 1143, 1143, - 1144, 1133, 1132, 1134, 1145, 1145, 1135, 1137, 1138, 1146, - 1144, 1195, 1144, 1147, 1145, 1196, 1145, 1149, 1146, 1146, - 1151, 1146, 1153, 1147, 1152, 1147, 1151, 1149, 1153, 1149, - 1151, 1149, 1151, 1154, 1152, 1155, 1152, 1184, 1153, 1188, - 1153, 1154, 1156, 1201, 1188, 1155, 1157, 1155, 1184, 1158, - 1159, 1154, 1156, 1154, 1156, 1187, 1157, 1201, 1157, 1158, - 1159, 1158, 1159, 1190, 1160, 1161, 1213, 1155, 1190, 1213, - 1199, 1162, 1187, 1156, 1160, 1161, 1160, 1161, 1163, 1157, - - 1158, 1162, 1159, 1162, 1186, 1191, 1198, 1191, 1163, 1192, - 1163, 1192, 1199, 1161, 1186, 1193, 1160, 1193, 1193, 1194, - 1197, 1194, 1194, 1162, 1198, 1200, 1202, 1203, 1204, 1209, - 1163, 1197, 1205, 1205, 1206, 1206, 1207, 1228, 1204, 1209, - 1204, 1209, 1207, 1205, 1206, 1205, 1206, 1200, 1202, 1203, - 1208, 1228, 1207, 1210, 1207, 1226, 1208, 1194, 1211, 1210, - 1208, 1212, 1208, 1210, 1226, 1210, 1214, 1211, 1211, 1214, - 1211, 1212, 1216, 1212, 1212, 1215, 1217, 1364, 1364, 1218, - 1219, 1234, 1216, 1220, 1216, 1215, 1217, 1215, 1217, 1218, - 1219, 1218, 1219, 1220, 1224, 1220, 1225, 1235, 1217, 1221, - - 1222, 1216, 1224, 1225, 1214, 1223, 1231, 1215, 1218, 1221, - 1222, 1221, 1222, 1219, 1230, 1223, 1220, 1223, 1227, 1232, - 1227, 1234, 1236, 1231, 1221, 1237, 1238, 1239, 1230, 1241, - 1240, 1242, 1243, 1222, 1235, 1244, 1244, 1246, 1223, 1281, - 1232, 1283, 1243, 1246, 1243, 1285, 1244, 1285, 1244, 1245, - 1245, 1330, 1236, 1246, 1247, 1246, 1281, 1329, 1283, 1245, - 1247, 1245, 1237, 1240, 1247, 1248, 1247, 1238, 1239, 1327, - 1241, 1252, 1242, 1249, 1252, 1248, 1321, 1248, 1250, 1249, - 1286, 1251, 1286, 1249, 1326, 1249, 1253, 1250, 1250, 1253, - 1250, 1251, 1255, 1251, 1251, 1254, 1256, 1321, 1287, 1257, - - 1258, 1287, 1255, 1259, 1255, 1254, 1256, 1254, 1256, 1257, - 1258, 1257, 1258, 1259, 1284, 1259, 1284, 1284, 1256, 1260, - 1261, 1255, 1291, 1326, 1253, 1262, 1293, 1254, 1257, 1260, - 1261, 1260, 1261, 1258, 1288, 1262, 1259, 1262, 1289, 1296, - 1289, 1289, 1291, 1288, 1260, 1299, 1293, 1302, 1296, 1325, - 1302, 1299, 1307, 1261, 1300, 1307, 1301, 1323, 1262, 1303, - 1328, 1299, 1301, 1299, 1300, 1300, 1300, 1323, 1303, 1303, - 1304, 1303, 1301, 1388, 1301, 1305, 1306, 1289, 1306, 1317, - 1304, 1317, 1304, 1304, 1308, 1305, 1306, 1305, 1306, 1305, - 1309, 1307, 1388, 1310, 1308, 1320, 1308, 1311, 1312, 1328, - - 1309, 1313, 1309, 1310, 1314, 1310, 1331, 1311, 1312, 1311, - 1312, 1313, 1320, 1313, 1314, 1315, 1314, 1322, 1319, 1316, - 1319, 1309, 1324, 1298, 1314, 1315, 1334, 1315, 1311, 1316, - 1337, 1316, 1334, 1337, 1331, 1335, 1385, 1336, 1342, 1322, - 1338, 1342, 1334, 1336, 1334, 1335, 1335, 1335, 1339, 1338, - 1338, 1297, 1338, 1336, 1340, 1336, 1385, 1341, 1339, 1341, - 1339, 1339, 1343, 1344, 1340, 1295, 1340, 1341, 1340, 1341, - 1345, 1346, 1343, 1344, 1343, 1344, 1347, 1342, 1294, 1348, - 1345, 1346, 1345, 1346, 1366, 1349, 1347, 1366, 1347, 1348, - 1363, 1348, 1363, 1363, 1344, 1349, 1350, 1349, 1365, 1351, - - 1365, 1365, 1346, 1367, 1369, 1349, 1350, 1424, 1350, 1351, - 1370, 1351, 1370, 1370, 1374, 1375, 1376, 1374, 1377, 1376, - 1367, 1369, 1386, 1378, 1379, 1375, 1424, 1375, 1377, 1378, - 1377, 1380, 1377, 1292, 1379, 1379, 1379, 1380, 1382, 1378, - 1381, 1378, 1383, 1381, 1386, 1290, 1384, 1380, 1382, 1380, - 1382, 1387, 1383, 1387, 1383, 1395, 1384, 1370, 1384, 1389, - 1394, 1389, 1397, 1394, 1398, 1395, 1396, 1395, 1401, 1396, - 1398, 1401, 1397, 1399, 1397, 1400, 1397, 1425, 1402, 1425, - 1398, 1400, 1398, 1399, 1399, 1399, 1403, 1381, 1402, 1404, - 1402, 1400, 1413, 1400, 1413, 1413, 1403, 1414, 1403, 1404, - - 1415, 1404, 1415, 1415, 1416, 1282, 1416, 1416, 1417, 1419, - 1420, 1418, 1419, 1278, 1414, 1401, 1420, 1275, 1417, 1436, - 1417, 1418, 1418, 1418, 1421, 1427, 1420, 1421, 1420, 1422, - 1428, 1429, 1422, 1430, 1429, 1427, 1436, 1427, 1273, 1430, - 1428, 1428, 1428, 1431, 1432, 1440, 1431, 1432, 1440, 1430, - 1437, 1430, 1437, 1437, 1416, 1438, 1439, 1438, 1438, 1442, - 1441, 1442, 1439, 1441, 1444, 1445, 1446, 1271, 1445, 1446, - 1444, 1270, 1439, 1449, 1439, 1449, 1449, 1269, 1268, 1422, - 1444, 1450, 1444, 1450, 1450, 1451, 1452, 1454, 1451, 1452, - 1454, 1267, 1450, 1265, 1432, 1455, 1438, 1452, 1455, 1264, - - 1457, 1441, 1457, 1457, 1263, 1458, 1455, 1446, 1458, 1459, - 1233, 1229, 1459, 1461, 1461, 1461, 1461, 1461, 1461, 1461, - 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1464, 1464, 1189, - 1464, 1464, 1464, 1464, 1465, 1465, 1465, 1465, 1465, 1465, - 1465, 1466, 1183, 1182, 1181, 1466, 1466, 1466, 1467, 1467, - 1180, 1467, 1467, 1467, 1467, 1468, 1468, 1179, 1468, 1468, - 1468, 1468, 1469, 1469, 1178, 1469, 1469, 1469, 1469, 1470, - 1470, 1177, 1176, 1175, 1470, 1470, 1471, 1471, 1174, 1172, - 1171, 1471, 1471, 1472, 1472, 1170, 1472, 1472, 1472, 1472, - 1473, 1473, 1474, 1474, 1475, 1475, 1168, 1167, 1166, 1475, - - 1475, 1476, 1476, 1165, 1164, 1129, 1476, 1476, 1477, 1477, - 1119, 1477, 1477, 1477, 1477, 1478, 1478, 1071, 1067, 1066, - 1478, 1478, 1479, 1479, 1065, 1064, 1063, 1479, 1479, 1480, - 1480, 1062, 1480, 1480, 1480, 1480, 1481, 1481, 1061, 1060, - 1059, 1481, 1481, 1482, 1482, 1058, 1057, 1056, 1482, 1482, - 1483, 1483, 1055, 1483, 1483, 1483, 1483, 1053, 1051, 1050, - 1049, 1048, 1047, 1044, 944, 933, 932, 931, 930, 929, - 928, 927, 926, 925, 924, 922, 921, 920, 919, 918, - 916, 915, 914, 912, 911, 910, 908, 907, 866, 854, - 805, 790, 778, 776, 774, 773, 772, 770, 769, 767, - - 766, 765, 764, 763, 762, 761, 760, 758, 754, 753, - 752, 751, 750, 748, 747, 746, 745, 710, 701, 642, - 633, 618, 608, 606, 605, 604, 603, 602, 601, 600, - 599, 597, 596, 595, 594, 593, 592, 591, 590, 589, - 588, 587, 585, 584, 583, 582, 581, 580, 579, 578, - 577, 576, 575, 574, 533, 460, 434, 427, 425, 424, - 423, 422, 420, 419, 418, 417, 416, 415, 414, 413, - 412, 411, 410, 409, 408, 407, 406, 405, 404, 403, - 402, 401, 400, 399, 398, 397, 396, 395, 394, 359, - 325, 324, 321, 249, 243, 242, 240, 236, 232, 231, + 11, 11, 11, 11, 11, 11, 12, 123, 127, 12, + 129, 12, 143, 125, 146, 148, 127, 159, 129, 143, + + 123, 125, 148, 280, 125, 149, 130, 144, 123, 127, + 12, 129, 133, 125, 130, 146, 131, 131, 131, 131, + 130, 131, 149, 144, 280, 133, 133, 135, 135, 135, + 135, 144, 151, 133, 159, 12, 72, 72, 158, 72, + 72, 72, 72, 72, 72, 72, 72, 153, 72, 73, + 73, 151, 73, 73, 73, 73, 73, 73, 73, 73, + 147, 73, 150, 200, 153, 150, 154, 155, 147, 200, + 155, 147, 158, 557, 157, 147, 154, 156, 73, 108, + 108, 134, 134, 108, 108, 108, 108, 108, 154, 108, + 134, 108, 109, 109, 152, 162, 109, 109, 109, 109, + + 109, 157, 109, 134, 109, 232, 134, 156, 152, 152, + 157, 160, 185, 185, 557, 161, 164, 152, 232, 164, + 185, 109, 110, 110, 252, 162, 110, 110, 110, 110, + 110, 182, 110, 164, 110, 181, 182, 181, 160, 182, + 536, 165, 110, 111, 111, 181, 194, 111, 111, 111, + 111, 111, 161, 111, 194, 111, 165, 252, 224, 536, + 111, 112, 112, 184, 194, 112, 112, 112, 112, 112, + 224, 112, 184, 112, 163, 163, 163, 163, 165, 163, + 184, 165, 167, 167, 167, 167, 203, 112, 1520, 203, + 253, 183, 253, 253, 183, 112, 176, 176, 183, 183, + + 176, 176, 176, 176, 176, 186, 176, 183, 176, 177, + 177, 212, 209, 177, 177, 177, 177, 177, 186, 177, + 187, 177, 209, 187, 209, 212, 186, 241, 187, 189, + 189, 534, 188, 188, 188, 191, 534, 189, 177, 178, + 178, 188, 188, 178, 178, 178, 178, 178, 191, 178, + 236, 178, 241, 236, 195, 236, 191, 190, 258, 178, + 179, 179, 195, 190, 179, 179, 179, 179, 179, 190, + 179, 190, 179, 192, 258, 195, 259, 179, 180, 180, + 210, 192, 180, 180, 180, 180, 180, 192, 180, 193, + 180, 196, 259, 197, 266, 210, 266, 193, 1512, 196, + + 193, 197, 196, 198, 180, 199, 199, 199, 199, 193, + 199, 198, 180, 201, 197, 202, 202, 198, 245, 245, + 245, 249, 249, 249, 202, 346, 201, 201, 254, 261, + 254, 254, 346, 256, 201, 256, 256, 202, 260, 262, + 202, 263, 261, 256, 261, 272, 264, 262, 260, 260, + 260, 265, 267, 269, 267, 263, 269, 263, 264, 271, + 273, 272, 274, 265, 278, 275, 276, 271, 273, 276, + 277, 279, 281, 282, 278, 283, 284, 275, 274, 275, + 286, 281, 283, 279, 287, 277, 287, 287, 289, 289, + 290, 282, 347, 284, 288, 283, 288, 288, 291, 347, + + 292, 286, 291, 292, 1510, 344, 290, 293, 293, 293, + 293, 295, 295, 295, 295, 297, 344, 353, 297, 328, + 328, 328, 328, 291, 328, 297, 298, 298, 353, 343, + 298, 298, 298, 298, 298, 343, 298, 355, 298, 299, + 299, 348, 455, 299, 299, 299, 299, 299, 355, 299, + 343, 299, 299, 300, 300, 1503, 455, 300, 300, 300, + 300, 300, 348, 300, 349, 300, 300, 301, 301, 305, + 305, 301, 301, 301, 301, 301, 302, 301, 302, 301, + 305, 349, 305, 340, 303, 301, 340, 303, 302, 350, + 302, 302, 307, 304, 303, 301, 303, 301, 304, 352, + + 306, 306, 307, 539, 307, 307, 308, 304, 304, 309, + 304, 306, 350, 306, 352, 308, 308, 310, 308, 309, + 539, 309, 367, 311, 309, 310, 351, 310, 312, 310, + 311, 312, 313, 311, 360, 311, 314, 313, 312, 314, + 312, 316, 351, 360, 316, 315, 314, 313, 314, 313, + 315, 317, 358, 316, 316, 318, 316, 361, 320, 318, + 315, 317, 315, 317, 367, 317, 319, 319, 320, 318, + 320, 318, 321, 322, 358, 359, 319, 323, 319, 359, + 324, 320, 321, 322, 321, 322, 551, 323, 361, 323, + 324, 325, 324, 322, 329, 326, 329, 329, 324, 551, + + 327, 325, 329, 325, 321, 326, 323, 326, 330, 331, + 327, 324, 327, 341, 331, 332, 341, 362, 330, 325, + 330, 364, 332, 342, 331, 332, 331, 332, 363, 326, + 366, 342, 327, 333, 333, 333, 333, 345, 365, 354, + 345, 342, 354, 342, 357, 356, 368, 332, 356, 357, + 369, 369, 369, 369, 345, 369, 363, 362, 364, 371, + 370, 357, 371, 472, 365, 372, 366, 373, 453, 472, + 373, 374, 374, 374, 374, 459, 556, 365, 370, 378, + 372, 383, 378, 383, 453, 459, 368, 384, 388, 378, + 384, 386, 386, 383, 469, 383, 383, 384, 388, 384, + + 388, 388, 386, 556, 386, 372, 379, 379, 469, 463, + 379, 379, 379, 379, 379, 454, 379, 454, 379, 380, + 380, 463, 1500, 380, 380, 380, 380, 380, 458, 380, + 458, 380, 380, 381, 381, 466, 466, 381, 381, 381, + 381, 381, 460, 381, 460, 381, 381, 382, 382, 387, + 387, 382, 382, 382, 382, 382, 385, 382, 483, 382, + 387, 385, 387, 451, 393, 382, 451, 393, 483, 389, + 385, 385, 390, 385, 393, 382, 393, 382, 389, 389, + 391, 389, 390, 1489, 390, 462, 392, 390, 391, 394, + 391, 456, 391, 392, 394, 456, 392, 395, 392, 397, + + 395, 462, 397, 396, 394, 398, 394, 395, 396, 395, + 452, 397, 397, 452, 397, 398, 401, 398, 396, 398, + 396, 399, 400, 400, 464, 399, 401, 464, 401, 461, + 402, 403, 400, 461, 400, 399, 404, 399, 465, 401, + 402, 403, 402, 403, 406, 405, 404, 548, 404, 407, + 465, 403, 548, 444, 406, 405, 406, 405, 408, 407, + 444, 407, 402, 405, 444, 404, 470, 477, 408, 470, + 408, 471, 406, 467, 471, 477, 405, 409, 409, 409, + 409, 411, 409, 407, 410, 467, 410, 410, 413, 412, + 408, 411, 410, 411, 412, 413, 468, 473, 413, 473, + + 413, 474, 475, 475, 412, 478, 412, 479, 468, 476, + 476, 480, 474, 481, 482, 487, 484, 485, 487, 480, + 413, 488, 489, 542, 488, 479, 481, 478, 530, 680, + 542, 488, 489, 481, 489, 490, 482, 481, 484, 485, + 491, 492, 680, 490, 530, 490, 492, 490, 491, 493, + 491, 494, 491, 495, 494, 531, 492, 496, 492, 493, + 495, 493, 493, 495, 494, 495, 494, 496, 496, 496, + 497, 531, 544, 543, 498, 498, 501, 1488, 499, 544, + 497, 501, 497, 497, 498, 500, 498, 499, 499, 543, + 499, 501, 500, 501, 503, 500, 538, 500, 502, 502, + + 505, 545, 503, 550, 503, 538, 503, 504, 504, 502, + 505, 502, 505, 506, 506, 535, 507, 507, 504, 508, + 504, 545, 508, 509, 506, 550, 506, 507, 510, 507, + 535, 509, 508, 509, 508, 509, 511, 512, 510, 533, + 510, 511, 510, 513, 514, 559, 511, 512, 511, 512, + 512, 515, 516, 513, 514, 513, 514, 517, 518, 537, + 533, 515, 516, 515, 516, 519, 521, 517, 518, 517, + 518, 516, 559, 520, 546, 519, 521, 519, 521, 522, + 537, 546, 523, 520, 519, 520, 524, 518, 547, 522, + 517, 522, 523, 549, 523, 547, 524, 520, 524, 521, + + 522, 540, 526, 525, 520, 525, 525, 558, 520, 549, + 527, 525, 526, 528, 526, 523, 540, 529, 528, 524, + 527, 552, 527, 532, 529, 553, 532, 529, 528, 529, + 528, 541, 554, 553, 541, 555, 560, 561, 562, 563, + 564, 568, 552, 566, 558, 647, 566, 567, 569, 529, + 567, 568, 554, 568, 570, 555, 569, 567, 569, 647, + 569, 733, 570, 650, 570, 653, 570, 562, 560, 571, + 573, 653, 650, 573, 571, 560, 733, 572, 561, 560, + 563, 564, 575, 573, 571, 573, 571, 572, 574, 572, + 572, 576, 575, 575, 575, 574, 577, 577, 574, 648, + + 574, 576, 578, 576, 576, 580, 577, 624, 577, 579, + 580, 578, 578, 648, 578, 582, 579, 581, 581, 579, + 580, 579, 580, 582, 584, 582, 624, 582, 581, 724, + 581, 583, 583, 652, 584, 652, 584, 585, 585, 724, + 586, 586, 583, 587, 583, 659, 587, 588, 585, 659, + 585, 586, 589, 586, 832, 588, 587, 588, 587, 588, + 590, 591, 589, 832, 589, 590, 589, 592, 593, 1487, + 590, 591, 590, 591, 591, 594, 595, 592, 593, 592, + 593, 596, 597, 655, 655, 594, 595, 594, 595, 598, + 600, 596, 597, 596, 597, 595, 666, 599, 654, 598, + + 600, 598, 600, 601, 666, 654, 602, 599, 598, 599, + 603, 597, 682, 601, 596, 601, 602, 658, 602, 658, + 603, 599, 603, 600, 601, 682, 605, 604, 599, 604, + 604, 671, 599, 671, 606, 604, 605, 607, 605, 602, + 651, 608, 607, 603, 606, 657, 606, 649, 608, 662, + 649, 608, 607, 608, 607, 660, 660, 651, 661, 663, + 665, 664, 657, 661, 664, 667, 662, 668, 662, 670, + 667, 669, 665, 608, 668, 672, 663, 673, 669, 675, + 670, 676, 677, 678, 684, 681, 679, 684, 721, 723, + 1485, 685, 672, 721, 685, 675, 681, 684, 677, 684, + + 673, 678, 679, 676, 685, 686, 685, 688, 687, 722, + 687, 723, 689, 688, 722, 686, 690, 686, 687, 686, + 687, 689, 689, 688, 689, 688, 690, 691, 690, 725, + 692, 725, 726, 690, 1483, 694, 693, 691, 729, 691, + 692, 694, 692, 752, 695, 691, 693, 693, 693, 726, + 728, 694, 696, 694, 695, 697, 695, 695, 729, 696, + 698, 707, 696, 699, 696, 697, 698, 697, 700, 699, + 698, 707, 698, 707, 700, 701, 728, 702, 702, 699, + 752, 699, 699, 701, 700, 701, 700, 701, 702, 703, + 702, 739, 703, 705, 704, 1470, 709, 706, 739, 703, + + 704, 703, 709, 705, 704, 705, 704, 706, 708, 706, + 727, 705, 709, 710, 709, 706, 711, 712, 708, 730, + 708, 708, 713, 710, 732, 710, 711, 712, 711, 712, + 714, 715, 713, 734, 713, 727, 716, 731, 730, 731, + 714, 715, 714, 715, 712, 732, 716, 710, 716, 717, + 750, 1469, 718, 734, 738, 713, 719, 714, 735, 717, + 715, 717, 718, 716, 718, 720, 719, 736, 719, 736, + 738, 740, 735, 717, 718, 720, 737, 720, 737, 741, + 719, 742, 740, 743, 744, 745, 747, 746, 736, 746, + 751, 750, 744, 741, 753, 754, 755, 758, 756, 833, + + 758, 759, 762, 760, 759, 828, 745, 742, 762, 743, + 758, 833, 758, 760, 759, 760, 759, 760, 762, 828, + 762, 761, 848, 761, 830, 751, 755, 754, 747, 753, + 756, 761, 763, 761, 848, 764, 765, 768, 830, 766, + 835, 763, 763, 768, 763, 764, 765, 764, 765, 766, + 767, 766, 764, 768, 765, 768, 769, 835, 838, 926, + 767, 767, 767, 770, 771, 838, 769, 855, 769, 769, + 770, 772, 773, 770, 771, 770, 771, 772, 773, 774, + 855, 772, 834, 772, 775, 774, 837, 834, 773, 837, + 773, 773, 775, 926, 775, 774, 775, 774, 776, 776, + + 777, 839, 852, 777, 779, 839, 852, 778, 780, 776, + 777, 776, 777, 778, 779, 781, 779, 778, 780, 778, + 780, 782, 779, 783, 1468, 781, 780, 781, 784, 783, + 841, 782, 785, 782, 782, 787, 786, 841, 784, 783, + 784, 783, 785, 788, 785, 787, 786, 787, 786, 789, + 850, 1026, 850, 788, 790, 788, 853, 792, 853, 789, + 854, 789, 784, 786, 790, 791, 790, 792, 787, 792, + 788, 1026, 793, 794, 854, 791, 840, 791, 789, 792, + 843, 790, 793, 794, 793, 794, 844, 845, 836, 791, + 836, 836, 842, 840, 842, 842, 793, 843, 847, 851, + + 847, 847, 857, 844, 845, 849, 856, 849, 849, 859, + 858, 856, 858, 858, 860, 862, 851, 863, 864, 857, + 865, 866, 872, 867, 859, 872, 868, 878, 868, 862, + 878, 865, 864, 860, 867, 905, 868, 866, 868, 863, + 869, 869, 905, 871, 870, 865, 1467, 904, 867, 871, + 870, 869, 873, 869, 870, 874, 870, 904, 908, 871, + 873, 871, 873, 876, 873, 874, 909, 874, 875, 876, + 879, 880, 877, 874, 908, 875, 879, 880, 875, 876, + 875, 876, 877, 882, 877, 881, 879, 880, 879, 880, + 877, 881, 909, 882, 883, 882, 1025, 883, 884, 884, + + 886, 881, 885, 881, 1025, 885, 888, 889, 887, 884, + 886, 884, 886, 886, 887, 1027, 888, 889, 888, 889, + 889, 888, 890, 1027, 887, 890, 887, 891, 892, 891, + 893, 907, 929, 907, 892, 890, 893, 890, 892, 891, + 892, 891, 894, 895, 896, 894, 893, 897, 893, 910, + 898, 899, 918, 895, 896, 895, 896, 897, 900, 897, + 898, 899, 898, 899, 910, 929, 901, 902, 900, 895, + 900, 906, 912, 918, 896, 898, 901, 902, 901, 902, + 911, 903, 911, 900, 899, 906, 920, 913, 901, 913, + 914, 903, 914, 903, 902, 915, 922, 915, 912, 917, + + 921, 922, 901, 903, 923, 919, 917, 919, 924, 920, + 923, 925, 927, 925, 930, 931, 932, 903, 933, 934, + 1450, 921, 924, 935, 937, 935, 936, 936, 939, 945, + 937, 939, 945, 935, 937, 935, 937, 936, 938, 936, + 950, 1004, 952, 950, 938, 952, 932, 971, 931, 934, + 927, 971, 941, 933, 938, 930, 938, 940, 1004, 1024, + 932, 942, 941, 934, 941, 940, 943, 940, 942, 940, + 941, 942, 943, 942, 946, 944, 961, 1007, 1007, 961, + 946, 1024, 943, 947, 943, 944, 949, 944, 948, 947, + 946, 1199, 946, 944, 948, 953, 949, 1011, 949, 947, + + 1199, 947, 951, 951, 948, 953, 948, 953, 953, 955, + 954, 1011, 1005, 951, 1005, 951, 954, 956, 1008, 955, + 957, 955, 1008, 957, 955, 1069, 954, 956, 954, 956, + 956, 959, 958, 957, 958, 957, 960, 959, 962, 963, + 1069, 959, 960, 959, 958, 964, 958, 1449, 962, 963, + 962, 963, 960, 965, 960, 964, 966, 964, 1003, 1016, + 967, 968, 1003, 965, 962, 965, 966, 969, 966, 963, + 967, 968, 967, 968, 970, 1003, 1016, 969, 965, 969, + 1009, 1009, 1019, 968, 970, 967, 970, 1018, 1006, 966, + 1006, 1006, 1081, 1020, 969, 1020, 970, 968, 1010, 1019, + + 1010, 1010, 1012, 1018, 1012, 1012, 1013, 1021, 1013, 1013, + 970, 1014, 1022, 1014, 1014, 1017, 1028, 1017, 1017, 1021, + 1023, 1029, 1023, 1023, 1022, 1031, 1030, 1032, 1033, 1029, + 1037, 1081, 1036, 1037, 1034, 1032, 1028, 1030, 1034, 1033, + 1034, 1035, 1036, 1031, 1036, 1036, 1038, 1035, 1041, 1146, + 1034, 1041, 1034, 1039, 1040, 1077, 1038, 1035, 1038, 1035, + 1039, 1146, 1077, 1039, 1040, 1039, 1040, 1042, 1043, 1044, + 1042, 1043, 1044, 1045, 1046, 1047, 1045, 1066, 1067, 1066, + 1042, 1047, 1042, 1049, 1046, 1046, 1046, 1048, 1049, 1050, + 1048, 1047, 1051, 1047, 1054, 1050, 1079, 1054, 1049, 1067, + + 1049, 1051, 1051, 1055, 1051, 1050, 1056, 1050, 1052, 1052, + 1448, 1053, 1053, 1055, 1262, 1055, 1056, 1057, 1056, 1052, + 1058, 1052, 1053, 1059, 1053, 1056, 1262, 1057, 1060, 1057, + 1058, 1061, 1058, 1059, 1062, 1059, 1055, 1079, 1060, 1058, + 1060, 1061, 1068, 1061, 1062, 1063, 1062, 1060, 1057, 1064, + 1065, 1072, 1065, 1061, 1059, 1063, 1065, 1063, 1070, 1064, + 1071, 1064, 1068, 1062, 1063, 1071, 1073, 1076, 1073, 1074, + 1072, 1064, 1074, 1075, 1078, 1075, 1080, 1082, 1070, 1083, + 1084, 1078, 1085, 1086, 1076, 1088, 1087, 1445, 1091, 1092, + 1089, 1160, 1092, 1090, 1089, 1149, 1089, 1149, 1091, 1090, + + 1091, 1091, 1096, 1080, 1082, 1096, 1089, 1084, 1089, 1090, + 1160, 1090, 1085, 1087, 1093, 1088, 1436, 1095, 1083, 1097, + 1086, 1094, 1097, 1152, 1093, 1152, 1093, 1095, 1094, 1095, + 1159, 1094, 1097, 1094, 1097, 1098, 1099, 1100, 1098, 1099, + 1100, 1101, 1102, 1103, 1104, 1106, 1103, 1159, 1102, 1104, + 1105, 1101, 1101, 1101, 1106, 1106, 1105, 1106, 1102, 1104, + 1102, 1104, 1107, 1107, 1109, 1162, 1105, 1109, 1105, 1108, + 1108, 1110, 1209, 1107, 1111, 1107, 1155, 1112, 1113, 1155, + 1108, 1110, 1108, 1110, 1111, 1162, 1111, 1112, 1113, 1112, + 1113, 1114, 1151, 1111, 1161, 1115, 1165, 1113, 1166, 1116, + + 1117, 1114, 1151, 1114, 1110, 1115, 1118, 1115, 1112, 1116, + 1117, 1116, 1117, 1209, 1115, 1161, 1118, 1165, 1118, 1166, + 1119, 1116, 1114, 1157, 1145, 1118, 1145, 1145, 1157, 1117, + 1119, 1147, 1119, 1147, 1147, 1150, 1150, 1153, 1153, 1158, + 1158, 1154, 1119, 1154, 1154, 1156, 1163, 1156, 1156, 1164, + 1167, 1168, 1169, 1170, 1172, 1179, 1170, 1172, 1179, 1181, + 1261, 1435, 1181, 1171, 1171, 1173, 1197, 1167, 1163, 1164, + 1174, 1261, 1168, 1169, 1171, 1173, 1171, 1173, 1175, 1195, + 1174, 1178, 1174, 1174, 1176, 1176, 1195, 1197, 1175, 1177, + 1175, 1178, 1180, 1178, 1176, 1204, 1176, 1182, 1177, 1177, + + 1183, 1177, 1180, 1182, 1180, 1184, 1180, 1182, 1185, 1182, + 1183, 1184, 1183, 1204, 1434, 1186, 1185, 1198, 1200, 1187, + 1188, 1184, 1202, 1184, 1189, 1186, 1185, 1186, 1185, 1187, + 1188, 1187, 1188, 1190, 1189, 1200, 1189, 1198, 1208, 1191, + 1201, 1207, 1192, 1190, 1202, 1190, 1193, 1186, 1203, 1191, + 1187, 1191, 1192, 1188, 1192, 1189, 1193, 1194, 1193, 1205, + 1201, 1205, 1203, 1210, 1211, 1190, 1212, 1194, 1302, 1194, + 1192, 1191, 1213, 1214, 1215, 1302, 1216, 1208, 1193, 1216, + 1219, 1207, 1217, 1217, 1218, 1225, 1220, 1218, 1225, 1194, + 1219, 1221, 1219, 1217, 1227, 1217, 1220, 1227, 1220, 1220, + + 1273, 1221, 1210, 1221, 1211, 1264, 1212, 1263, 1213, 1222, + 1222, 1441, 1441, 1214, 1215, 1223, 1224, 1263, 1273, 1222, + 1226, 1222, 1264, 1228, 1223, 1223, 1224, 1223, 1224, 1228, + 1226, 1229, 1226, 1228, 1226, 1228, 1230, 1231, 1232, 1234, + 1368, 1229, 1230, 1229, 1290, 1231, 1233, 1290, 1232, 1234, + 1232, 1234, 1230, 1235, 1230, 1231, 1233, 1231, 1233, 1236, + 1368, 1265, 1267, 1235, 1237, 1235, 1265, 1267, 1239, 1236, + 1232, 1236, 1234, 1238, 1237, 1433, 1237, 1233, 1239, 1268, + 1239, 1268, 1240, 1238, 1235, 1238, 1269, 1270, 1269, 1270, + 1270, 1236, 1240, 1274, 1240, 1271, 1237, 1271, 1271, 1272, + + 1239, 1238, 1276, 1275, 1274, 1277, 1279, 1280, 1278, 1301, + 1303, 1432, 1305, 1281, 1240, 1309, 1304, 1301, 1304, 1303, + 1272, 1275, 1278, 1281, 1276, 1281, 1305, 1277, 1279, 1280, + 1282, 1282, 1284, 1271, 1283, 1283, 1309, 1291, 1284, 1285, + 1291, 1282, 1286, 1282, 1283, 1285, 1283, 1287, 1284, 1285, + 1284, 1285, 1286, 1287, 1286, 1288, 1289, 1287, 1430, 1287, + 1292, 1293, 1307, 1308, 1288, 1288, 1289, 1288, 1289, 1289, + 1292, 1293, 1292, 1293, 1294, 1291, 1307, 1295, 1313, 1311, + 1308, 1296, 1315, 1312, 1294, 1297, 1294, 1295, 1298, 1295, + 1293, 1296, 1292, 1296, 1314, 1297, 1294, 1297, 1298, 1299, + + 1298, 1316, 1317, 1318, 1319, 1300, 1295, 1329, 1313, 1299, + 1329, 1299, 1320, 1298, 1296, 1300, 1358, 1300, 1297, 1311, + 1312, 1410, 1320, 1315, 1320, 1330, 1321, 1321, 1330, 1409, + 1323, 1314, 1299, 1358, 1360, 1317, 1323, 1321, 1300, 1321, + 1322, 1322, 1316, 1324, 1318, 1319, 1323, 1325, 1323, 1324, + 1322, 1360, 1322, 1324, 1326, 1324, 1399, 1325, 1327, 1325, + 1326, 1328, 1407, 1330, 1326, 1331, 1326, 1327, 1327, 1332, + 1327, 1328, 1333, 1328, 1328, 1331, 1334, 1331, 1399, 1332, + 1335, 1332, 1333, 1336, 1333, 1362, 1334, 1362, 1334, 1337, + 1335, 1406, 1335, 1336, 1333, 1336, 1338, 1331, 1332, 1337, + + 1339, 1337, 1363, 1404, 1363, 1334, 1338, 1370, 1338, 1402, + 1339, 1365, 1339, 1335, 1337, 1361, 1336, 1361, 1361, 1364, + 1365, 1366, 1364, 1366, 1366, 1373, 1376, 1370, 1377, 1338, + 1378, 1400, 1376, 1339, 1373, 1394, 1378, 1394, 1377, 1377, + 1377, 1400, 1376, 1380, 1376, 1401, 1378, 1379, 1378, 1381, + 1379, 1462, 1380, 1380, 1382, 1380, 1396, 1397, 1396, 1381, + 1366, 1381, 1381, 1383, 1382, 1383, 1382, 1384, 1382, 1385, + 1384, 1462, 1386, 1383, 1397, 1383, 1387, 1388, 1398, 1385, + 1389, 1385, 1386, 1390, 1386, 1395, 1387, 1388, 1387, 1388, + 1389, 1403, 1389, 1390, 1405, 1390, 1408, 1391, 1463, 1398, + + 1392, 1393, 1414, 1386, 1395, 1414, 1384, 1391, 1388, 1391, + 1392, 1393, 1392, 1393, 1444, 1412, 1411, 1391, 1419, 1446, + 1463, 1419, 1411, 1413, 1408, 1412, 1412, 1412, 1415, 1413, + 1403, 1444, 1411, 1405, 1411, 1416, 1446, 1415, 1415, 1413, + 1415, 1413, 1417, 1420, 1464, 1416, 1464, 1416, 1416, 1418, + 1421, 1418, 1417, 1420, 1417, 1420, 1417, 1419, 1422, 1418, + 1421, 1418, 1421, 1423, 1424, 1375, 1443, 1425, 1422, 1443, + 1422, 1374, 1426, 1423, 1424, 1423, 1424, 1425, 1427, 1425, + 1491, 1421, 1426, 1428, 1426, 1466, 1451, 1466, 1427, 1451, + 1427, 1372, 1426, 1428, 1423, 1428, 1440, 1491, 1440, 1440, + + 1442, 1452, 1442, 1442, 1447, 1453, 1447, 1447, 1453, 1454, + 1455, 1452, 1458, 1452, 1371, 1458, 1455, 1459, 1457, 1454, + 1456, 1454, 1465, 1454, 1457, 1460, 1455, 1459, 1455, 1459, + 1456, 1456, 1456, 1461, 1457, 1460, 1457, 1460, 1472, 1471, + 1369, 1465, 1471, 1461, 1473, 1461, 1474, 1473, 1472, 1475, + 1472, 1447, 1476, 1513, 1478, 1475, 1474, 1478, 1474, 1458, + 1474, 1479, 1476, 1476, 1476, 1475, 1477, 1475, 1480, 1481, + 1513, 1479, 1477, 1479, 1490, 1367, 1490, 1490, 1480, 1481, + 1480, 1481, 1477, 1492, 1477, 1492, 1492, 1493, 1494, 1493, + 1493, 1496, 1495, 1497, 1496, 1501, 1359, 1355, 1494, 1497, + + 1494, 1478, 1495, 1495, 1495, 1498, 1504, 1499, 1498, 1497, + 1499, 1497, 1505, 1502, 1501, 1502, 1504, 1506, 1504, 1519, + 1506, 1519, 1505, 1505, 1505, 1507, 1508, 1509, 1352, 1508, + 1509, 1507, 1514, 1516, 1514, 1514, 1350, 1493, 1348, 1516, + 1521, 1507, 1515, 1507, 1515, 1515, 1521, 1517, 1347, 1516, + 1517, 1516, 1518, 1346, 1345, 1518, 1521, 1499, 1521, 1522, + 1523, 1344, 1522, 1523, 1526, 1342, 1526, 1526, 1527, 1528, + 1527, 1527, 1528, 1529, 1341, 1531, 1529, 1509, 1531, 1527, + 1340, 1310, 1306, 1515, 1529, 1532, 1266, 1534, 1532, 1534, + 1534, 1535, 1536, 1518, 1535, 1536, 1532, 1260, 1259, 1258, + + 1257, 1523, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1539, + 1539, 1539, 1539, 1539, 1539, 1539, 1541, 1541, 1256, 1541, + 1541, 1541, 1541, 1542, 1542, 1542, 1542, 1542, 1542, 1542, + 1543, 1255, 1254, 1253, 1543, 1543, 1543, 1544, 1544, 1252, + 1544, 1544, 1544, 1544, 1545, 1545, 1251, 1545, 1545, 1545, + 1545, 1546, 1546, 1249, 1546, 1546, 1546, 1546, 1547, 1547, + 1248, 1247, 1245, 1547, 1547, 1548, 1548, 1244, 1243, 1242, + 1548, 1548, 1549, 1549, 1241, 1549, 1549, 1549, 1549, 1550, + 1550, 1551, 1551, 1552, 1552, 1206, 1196, 1148, 1552, 1552, + 1553, 1553, 1144, 1143, 1142, 1553, 1553, 1554, 1554, 1141, + + 1554, 1554, 1554, 1554, 1555, 1555, 1140, 1139, 1138, 1555, + 1555, 1556, 1556, 1137, 1136, 1135, 1556, 1556, 1557, 1557, + 1134, 1557, 1557, 1557, 1557, 1558, 1558, 1133, 1132, 1130, + 1558, 1558, 1559, 1559, 1128, 1127, 1126, 1559, 1559, 1560, + 1560, 1125, 1560, 1560, 1560, 1560, 1124, 1121, 1015, 1001, + 1000, 999, 998, 997, 996, 995, 994, 993, 992, 990, + 989, 988, 987, 986, 984, 983, 979, 977, 976, 975, + 973, 972, 928, 916, 861, 846, 831, 829, 827, 826, + 825, 823, 822, 820, 819, 818, 817, 816, 815, 814, + 813, 811, 808, 807, 806, 804, 803, 802, 801, 800, + + 798, 797, 796, 795, 757, 748, 683, 674, 656, 646, + 644, 643, 642, 641, 640, 639, 638, 637, 635, 634, + 633, 632, 631, 630, 629, 628, 627, 626, 625, 623, + 622, 621, 620, 619, 618, 617, 616, 615, 614, 613, + 612, 611, 610, 609, 565, 486, 457, 450, 448, 447, + 446, 445, 443, 442, 441, 440, 439, 438, 437, 436, + 435, 434, 433, 432, 431, 430, 429, 428, 427, 426, + 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, + 415, 414, 376, 339, 338, 335, 257, 251, 250, 248, + 244, 240, 239, 235, 234, 233, 231, 230, 229, 228, 227, 226, 225, 223, 222, 221, 220, 219, 218, 217, - 215, 214, 213, 212, 211, 210, 209, 208, 206, 203, - 202, 200, 171, 165, 137, 136, 134, 105, 81, 64, - 60, 57, 52, 45, 44, 43, 42, 41, 39, 38, - 36, 34, 33, 32, 31, 30, 29, 27, 26, 25, - 23, 17, 13, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, - - 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460 + 216, 215, 214, 213, 211, 208, 207, 205, 175, 169, + 140, 139, 137, 107, 83, 65, 61, 58, 53, 46, + 45, 44, 43, 42, 40, 39, 37, 35, 34, 33, + 32, 30, 29, 27, 26, 25, 23, 17, 13, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, + + 1537, 1537, 1537, 1537, 1537 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[74] = +static yyconst flex_int32_t yy_rule_can_match_eol[77] = { 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 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, 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, 1, 0, 0, 0, 0, 0, 0, }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -1913,7 +1982,7 @@ static void settext() -#line 1917 "levcomp.lex.cc" +#line 1986 "levcomp.lex.cc" #define INITIAL 0 #define MAPDEF 1 @@ -2077,7 +2146,7 @@ YY_DECL #line 61 "levcomp.lpp" -#line 2081 "levcomp.lex.cc" +#line 2150 "levcomp.lex.cc" if ( !(yy_init) ) { @@ -2131,13 +2200,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 >= 1461 ) + if ( yy_current_state >= 1538 ) 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 != 1460 ); + while ( yy_current_state != 1537 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2357,212 +2426,227 @@ YY_RULE_SETUP case 34: YY_RULE_SETUP #line 129 "levcomp.lpp" -return BRANCH; +{ BEGIN(ARGUMENT); return KFEAT; } YY_BREAK case 35: YY_RULE_SETUP #line 130 "levcomp.lpp" -return DEFAULT; +{ BEGIN(ARGUMENT); return KITEM; } YY_BREAK case 36: YY_RULE_SETUP #line 131 "levcomp.lpp" -return DESC; +{ BEGIN(ARGUMENT); return KMONS; } YY_BREAK case 37: YY_RULE_SETUP -#line 132 "levcomp.lpp" +#line 133 "levcomp.lpp" return BRANCH; YY_BREAK case 38: YY_RULE_SETUP -#line 133 "levcomp.lpp" -return ROOT_DEPTH; +#line 134 "levcomp.lpp" +return DEFAULT; YY_BREAK case 39: YY_RULE_SETUP -#line 134 "levcomp.lpp" -return FLOOR_COLOUR; +#line 135 "levcomp.lpp" +return DESC; YY_BREAK case 40: YY_RULE_SETUP -#line 135 "levcomp.lpp" -return ROCK_COLOUR; +#line 136 "levcomp.lpp" +return BRANCH; YY_BREAK case 41: YY_RULE_SETUP #line 137 "levcomp.lpp" -return LEVEL; +return ROOT_DEPTH; YY_BREAK case 42: YY_RULE_SETUP #line 138 "levcomp.lpp" -return END; +return FLOOR_COLOUR; YY_BREAK case 43: YY_RULE_SETUP #line 139 "levcomp.lpp" -return PVAULT; +return ROCK_COLOUR; YY_BREAK case 44: YY_RULE_SETUP -#line 140 "levcomp.lpp" -return PMINIVAULT; +#line 141 "levcomp.lpp" +return LEVEL; YY_BREAK case 45: YY_RULE_SETUP #line 142 "levcomp.lpp" -{ BEGIN(ARGUMENT); return ENTRY_MSG; } +return END; YY_BREAK case 46: YY_RULE_SETUP #line 143 "levcomp.lpp" -{ BEGIN(ARGUMENT); return EXIT_MSG; } +return PVAULT; YY_BREAK case 47: YY_RULE_SETUP -#line 145 "levcomp.lpp" -return MONSTERS; +#line 144 "levcomp.lpp" +return PMINIVAULT; YY_BREAK case 48: YY_RULE_SETUP #line 146 "levcomp.lpp" -return ENDMONSTERS; +{ BEGIN(ARGUMENT); return ENTRY_MSG; } YY_BREAK case 49: YY_RULE_SETUP -#line 149 "levcomp.lpp" -return PANDEMONIC; +#line 147 "levcomp.lpp" +{ BEGIN(ARGUMENT); return EXIT_MSG; } YY_BREAK case 50: YY_RULE_SETUP -#line 150 "levcomp.lpp" -return NO_HMIRROR; +#line 149 "levcomp.lpp" +return MONSTERS; YY_BREAK case 51: YY_RULE_SETUP -#line 151 "levcomp.lpp" -return NO_VMIRROR; +#line 150 "levcomp.lpp" +return ENDMONSTERS; YY_BREAK case 52: YY_RULE_SETUP -#line 152 "levcomp.lpp" -return NO_ROTATE; +#line 153 "levcomp.lpp" +return PANDEMONIC; YY_BREAK case 53: YY_RULE_SETUP #line 154 "levcomp.lpp" -return ENCOMPASS; +return NO_HMIRROR; YY_BREAK case 54: YY_RULE_SETUP #line 155 "levcomp.lpp" -return NORTH; +return NO_VMIRROR; YY_BREAK case 55: YY_RULE_SETUP #line 156 "levcomp.lpp" -return SOUTH; +return NO_ROTATE; YY_BREAK case 56: YY_RULE_SETUP -#line 157 "levcomp.lpp" -return EAST; +#line 158 "levcomp.lpp" +return ENCOMPASS; YY_BREAK case 57: YY_RULE_SETUP -#line 158 "levcomp.lpp" -return WEST; +#line 159 "levcomp.lpp" +return NORTH; YY_BREAK case 58: YY_RULE_SETUP -#line 159 "levcomp.lpp" -return NORTHEAST; +#line 160 "levcomp.lpp" +return SOUTH; YY_BREAK case 59: YY_RULE_SETUP -#line 160 "levcomp.lpp" -return NORTHWEST; +#line 161 "levcomp.lpp" +return EAST; YY_BREAK case 60: YY_RULE_SETUP -#line 161 "levcomp.lpp" -return SOUTHEAST; +#line 162 "levcomp.lpp" +return WEST; YY_BREAK case 61: YY_RULE_SETUP -#line 162 "levcomp.lpp" -return SOUTHWEST; +#line 163 "levcomp.lpp" +return NORTHEAST; YY_BREAK case 62: YY_RULE_SETUP -#line 163 "levcomp.lpp" -return FLOAT; +#line 164 "levcomp.lpp" +return NORTHWEST; YY_BREAK case 63: YY_RULE_SETUP #line 165 "levcomp.lpp" -return DASH; +return SOUTHEAST; YY_BREAK case 64: YY_RULE_SETUP #line 166 "levcomp.lpp" -return COMMA; +return SOUTHWEST; YY_BREAK case 65: YY_RULE_SETUP -#line 168 "levcomp.lpp" +#line 167 "levcomp.lpp" +return FLOAT; + YY_BREAK +case 66: +YY_RULE_SETUP +#line 169 "levcomp.lpp" +return DASH; + YY_BREAK +case 67: +YY_RULE_SETUP +#line 170 "levcomp.lpp" +return COMMA; + YY_BREAK +case 68: +YY_RULE_SETUP +#line 172 "levcomp.lpp" { clean(); yylval.i = atoi(yytext); return INTEGER; } YY_BREAK -case 66: +case 69: YY_RULE_SETUP -#line 174 "levcomp.lpp" +#line 178 "levcomp.lpp" ; YY_BREAK -case 67: -/* rule 67 can match eol */ +case 70: +/* rule 70 can match eol */ YY_RULE_SETUP -#line 175 "levcomp.lpp" +#line 179 "levcomp.lpp" ; YY_BREAK -case 68: +case 71: YY_RULE_SETUP -#line 177 "levcomp.lpp" +#line 181 "levcomp.lpp" return OPAREN; YY_BREAK -case 69: +case 72: YY_RULE_SETUP -#line 178 "levcomp.lpp" +#line 182 "levcomp.lpp" return CPAREN; YY_BREAK -case 70: +case 73: YY_RULE_SETUP -#line 180 "levcomp.lpp" +#line 184 "levcomp.lpp" return QUOTE; YY_BREAK -case 71: +case 74: YY_RULE_SETUP -#line 182 "levcomp.lpp" +#line 186 "levcomp.lpp" { settext(); return IDENTIFIER; } YY_BREAK -case 72: +case 75: YY_RULE_SETUP -#line 187 "levcomp.lpp" +#line 191 "levcomp.lpp" return CHARACTER; YY_BREAK -case 73: +case 76: YY_RULE_SETUP -#line 189 "levcomp.lpp" +#line 193 "levcomp.lpp" ECHO; YY_BREAK -#line 2566 "levcomp.lex.cc" +#line 2650 "levcomp.lex.cc" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(MAPDEF): case YY_STATE_EOF(ARGUMENT): @@ -2853,7 +2937,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 >= 1461 ) + if ( yy_current_state >= 1538 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2881,11 +2965,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 >= 1461 ) + if ( yy_current_state >= 1538 ) 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 == 1460); + yy_is_jam = (yy_current_state == 1537); return yy_is_jam ? 0 : yy_current_state; } @@ -3564,7 +3648,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 189 "levcomp.lpp" +#line 193 "levcomp.lpp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.cc b/crawl-ref/source/prebuilt/levcomp.tab.cc index dc36c02fe1..e18a8211d4 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.cc +++ b/crawl-ref/source/prebuilt/levcomp.tab.cc @@ -74,51 +74,54 @@ SHUFFLE = 263, SUBST = 264, TAGS = 265, - NAME = 266, - DEPTH = 267, - ORIENT = 268, - PLACE = 269, - CHANCE = 270, - FLAGS = 271, - MONS = 272, - ITEM = 273, - ROOT_DEPTH = 274, - ENTRY_MSG = 275, - EXIT_MSG = 276, - ROCK_COLOUR = 277, - FLOOR_COLOUR = 278, - ENCOMPASS = 279, - FLOAT = 280, - NORTH = 281, - EAST = 282, - SOUTH = 283, - WEST = 284, - NORTHEAST = 285, - SOUTHEAST = 286, - SOUTHWEST = 287, - NORTHWEST = 288, - LEVEL = 289, - END = 290, - PVAULT = 291, - PMINIVAULT = 292, - MONSTERS = 293, - ENDMONSTERS = 294, - CHARACTER = 295, - NO_HMIRROR = 296, - NO_VMIRROR = 297, - NO_ROTATE = 298, - PANDEMONIC = 299, - DASH = 300, - COMMA = 301, - QUOTE = 302, - OPAREN = 303, - CPAREN = 304, - INTEGER = 305, - STRING = 306, - MAP_LINE = 307, - MONSTER_NAME = 308, - ITEM_INFO = 309, - IDENTIFIER = 310 + KFEAT = 266, + KITEM = 267, + KMONS = 268, + NAME = 269, + DEPTH = 270, + ORIENT = 271, + PLACE = 272, + CHANCE = 273, + FLAGS = 274, + MONS = 275, + ITEM = 276, + ROOT_DEPTH = 277, + ENTRY_MSG = 278, + EXIT_MSG = 279, + ROCK_COLOUR = 280, + FLOOR_COLOUR = 281, + ENCOMPASS = 282, + FLOAT = 283, + NORTH = 284, + EAST = 285, + SOUTH = 286, + WEST = 287, + NORTHEAST = 288, + SOUTHEAST = 289, + SOUTHWEST = 290, + NORTHWEST = 291, + LEVEL = 292, + END = 293, + PVAULT = 294, + PMINIVAULT = 295, + MONSTERS = 296, + ENDMONSTERS = 297, + CHARACTER = 298, + NO_HMIRROR = 299, + NO_VMIRROR = 300, + NO_ROTATE = 301, + PANDEMONIC = 302, + DASH = 303, + COMMA = 304, + QUOTE = 305, + OPAREN = 306, + CPAREN = 307, + INTEGER = 308, + STRING = 309, + MAP_LINE = 310, + MONSTER_NAME = 311, + ITEM_INFO = 312, + IDENTIFIER = 313 }; #endif /* Tokens. */ @@ -130,51 +133,54 @@ #define SHUFFLE 263 #define SUBST 264 #define TAGS 265 -#define NAME 266 -#define DEPTH 267 -#define ORIENT 268 -#define PLACE 269 -#define CHANCE 270 -#define FLAGS 271 -#define MONS 272 -#define ITEM 273 -#define ROOT_DEPTH 274 -#define ENTRY_MSG 275 -#define EXIT_MSG 276 -#define ROCK_COLOUR 277 -#define FLOOR_COLOUR 278 -#define ENCOMPASS 279 -#define FLOAT 280 -#define NORTH 281 -#define EAST 282 -#define SOUTH 283 -#define WEST 284 -#define NORTHEAST 285 -#define SOUTHEAST 286 -#define SOUTHWEST 287 -#define NORTHWEST 288 -#define LEVEL 289 -#define END 290 -#define PVAULT 291 -#define PMINIVAULT 292 -#define MONSTERS 293 -#define ENDMONSTERS 294 -#define CHARACTER 295 -#define NO_HMIRROR 296 -#define NO_VMIRROR 297 -#define NO_ROTATE 298 -#define PANDEMONIC 299 -#define DASH 300 -#define COMMA 301 -#define QUOTE 302 -#define OPAREN 303 -#define CPAREN 304 -#define INTEGER 305 -#define STRING 306 -#define MAP_LINE 307 -#define MONSTER_NAME 308 -#define ITEM_INFO 309 -#define IDENTIFIER 310 +#define KFEAT 266 +#define KITEM 267 +#define KMONS 268 +#define NAME 269 +#define DEPTH 270 +#define ORIENT 271 +#define PLACE 272 +#define CHANCE 273 +#define FLAGS 274 +#define MONS 275 +#define ITEM 276 +#define ROOT_DEPTH 277 +#define ENTRY_MSG 278 +#define EXIT_MSG 279 +#define ROCK_COLOUR 280 +#define FLOOR_COLOUR 281 +#define ENCOMPASS 282 +#define FLOAT 283 +#define NORTH 284 +#define EAST 285 +#define SOUTH 286 +#define WEST 287 +#define NORTHEAST 288 +#define SOUTHEAST 289 +#define SOUTHWEST 290 +#define NORTHWEST 291 +#define LEVEL 292 +#define END 293 +#define PVAULT 294 +#define PMINIVAULT 295 +#define MONSTERS 296 +#define ENDMONSTERS 297 +#define CHARACTER 298 +#define NO_HMIRROR 299 +#define NO_VMIRROR 300 +#define NO_ROTATE 301 +#define PANDEMONIC 302 +#define DASH 303 +#define COMMA 304 +#define QUOTE 305 +#define OPAREN 306 +#define CPAREN 307 +#define INTEGER 308 +#define STRING 309 +#define MAP_LINE 310 +#define MONSTER_NAME 311 +#define ITEM_INFO 312 +#define IDENTIFIER 313 @@ -243,7 +249,7 @@ typedef union YYSTYPE const char *text; } /* Line 193 of yacc.c. */ -#line 247 "levcomp.tab.c" +#line 253 "levcomp.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -256,7 +262,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 260 "levcomp.tab.c" +#line 266 "levcomp.tab.c" #ifdef short # undef short @@ -471,20 +477,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 13 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 49 +#define YYLAST 66 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 56 +#define YYNTOKENS 59 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 32 +#define YYNNTS 35 /* YYNRULES -- Number of rules. */ -#define YYNRULES 67 +#define YYNRULES 76 /* YYNRULES -- Number of states. */ -#define YYNSTATES 81 +#define YYNSTATES 90 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 310 +#define YYMAXUTOK 313 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -523,7 +529,7 @@ static const yytype_uint8 yytranslate[] = 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55 + 55, 56, 57, 58 }; #if YYDEBUG @@ -533,32 +539,35 @@ static const yytype_uint8 yyprhs[] = { 0, 0, 3, 5, 6, 9, 11, 13, 15, 18, 23, 26, 27, 30, 32, 34, 36, 38, 40, 42, - 44, 46, 48, 50, 52, 55, 58, 59, 62, 64, - 67, 69, 72, 76, 78, 80, 82, 85, 89, 91, - 93, 96, 98, 101, 105, 107, 110, 112, 115, 117, - 119, 121, 123, 125, 127, 129, 131, 133, 135, 138, - 139, 142, 144, 146, 148, 150, 152, 155 + 44, 46, 48, 50, 52, 54, 56, 58, 61, 63, + 66, 68, 71, 73, 76, 79, 80, 83, 85, 88, + 90, 93, 97, 99, 101, 103, 106, 110, 112, 114, + 117, 119, 122, 126, 128, 131, 133, 136, 138, 140, + 142, 144, 146, 148, 150, 152, 154, 156, 159, 160, + 163, 165, 167, 169, 171, 173, 176 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 57, 0, -1, 58, -1, -1, 59, 58, -1, 60, - -1, 62, -1, 61, -1, 7, 78, -1, 63, 64, - 85, 64, -1, 11, 51, -1, -1, 65, 64, -1, - 76, -1, 77, -1, 79, -1, 80, -1, 82, -1, - 73, -1, 70, -1, 69, -1, 67, -1, 66, -1, - 8, -1, 8, 51, -1, 10, 68, -1, -1, 51, - 68, -1, 9, -1, 9, 51, -1, 18, -1, 18, - 71, -1, 72, 46, 71, -1, 72, -1, 54, -1, - 17, -1, 17, 74, -1, 75, 46, 74, -1, 75, - -1, 53, -1, 14, 51, -1, 12, -1, 12, 78, - -1, 50, 45, 50, -1, 50, -1, 15, 50, -1, - 13, -1, 13, 81, -1, 24, -1, 26, -1, 27, - -1, 28, -1, 29, -1, 30, -1, 31, -1, 32, - -1, 33, -1, 25, -1, 16, 83, -1, -1, 84, - 83, -1, 41, -1, 42, -1, 43, -1, 86, -1, - 87, -1, 87, 86, -1, 52, -1 + 60, 0, -1, 61, -1, -1, 62, 61, -1, 63, + -1, 65, -1, 64, -1, 7, 84, -1, 66, 67, + 91, 67, -1, 14, 54, -1, -1, 68, 67, -1, + 82, -1, 83, -1, 85, -1, 86, -1, 88, -1, + 79, -1, 76, -1, 75, -1, 73, -1, 72, -1, + 69, -1, 71, -1, 70, -1, 11, -1, 11, 54, + -1, 13, -1, 13, 54, -1, 12, -1, 12, 54, + -1, 8, -1, 8, 54, -1, 10, 74, -1, -1, + 54, 74, -1, 9, -1, 9, 54, -1, 21, -1, + 21, 77, -1, 78, 49, 77, -1, 78, -1, 57, + -1, 20, -1, 20, 80, -1, 81, 49, 80, -1, + 81, -1, 56, -1, 17, 54, -1, 15, -1, 15, + 84, -1, 53, 48, 53, -1, 53, -1, 18, 53, + -1, 16, -1, 16, 87, -1, 27, -1, 29, -1, + 30, -1, 31, -1, 32, -1, 33, -1, 34, -1, + 35, -1, 36, -1, 28, -1, 19, 89, -1, -1, + 90, 89, -1, 44, -1, 45, -1, 46, -1, 92, + -1, 93, -1, 93, 92, -1, 55, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -566,11 +575,12 @@ static const yytype_uint16 yyrline[] = { 0, 69, 69, 72, 73, 76, 77, 80, 83, 89, 128, 151, 152, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 167, 168, 178, 181, 182, 190, 191, - 202, 203, 206, 207, 210, 225, 226, 229, 230, 233, - 249, 255, 256, 262, 267, 273, 279, 280, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 298, 301, - 302, 318, 319, 320, 323, 326, 327, 330 + 162, 163, 164, 165, 166, 167, 170, 171, 180, 181, + 190, 191, 200, 201, 211, 214, 215, 223, 224, 235, + 236, 239, 240, 243, 258, 259, 262, 263, 266, 282, + 288, 289, 295, 300, 306, 312, 313, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 331, 334, 335, + 351, 352, 353, 356, 359, 360, 363 }; #endif @@ -580,20 +590,21 @@ static const yytype_uint16 yyrline[] = static const char *const yytname[] = { "$end", "error", "$undefined", "BRANCHDEF", "BRANCH", "DESC", "DEFAULT", - "DEFAULT_DEPTH", "SHUFFLE", "SUBST", "TAGS", "NAME", "DEPTH", "ORIENT", - "PLACE", "CHANCE", "FLAGS", "MONS", "ITEM", "ROOT_DEPTH", "ENTRY_MSG", - "EXIT_MSG", "ROCK_COLOUR", "FLOOR_COLOUR", "ENCOMPASS", "FLOAT", "NORTH", - "EAST", "SOUTH", "WEST", "NORTHEAST", "SOUTHEAST", "SOUTHWEST", - "NORTHWEST", "LEVEL", "END", "PVAULT", "PMINIVAULT", "MONSTERS", - "ENDMONSTERS", "CHARACTER", "NO_HMIRROR", "NO_VMIRROR", "NO_ROTATE", - "PANDEMONIC", "DASH", "COMMA", "QUOTE", "OPAREN", "CPAREN", "INTEGER", - "STRING", "MAP_LINE", "MONSTER_NAME", "ITEM_INFO", "IDENTIFIER", - "$accept", "file", "definitions", "definition", "def", "defdepth", - "level", "name", "metalines", "metaline", "shuffle", "tags", - "tagstrings", "symbol", "items", "item_specifiers", "item_specifier", - "mons", "mnames", "mname", "place", "depth", "depth_range", "chance", - "orientation", "orient_name", "flags", "flagnames", "flagname", - "map_def", "map_lines", "map_line", 0 + "DEFAULT_DEPTH", "SHUFFLE", "SUBST", "TAGS", "KFEAT", "KITEM", "KMONS", + "NAME", "DEPTH", "ORIENT", "PLACE", "CHANCE", "FLAGS", "MONS", "ITEM", + "ROOT_DEPTH", "ENTRY_MSG", "EXIT_MSG", "ROCK_COLOUR", "FLOOR_COLOUR", + "ENCOMPASS", "FLOAT", "NORTH", "EAST", "SOUTH", "WEST", "NORTHEAST", + "SOUTHEAST", "SOUTHWEST", "NORTHWEST", "LEVEL", "END", "PVAULT", + "PMINIVAULT", "MONSTERS", "ENDMONSTERS", "CHARACTER", "NO_HMIRROR", + "NO_VMIRROR", "NO_ROTATE", "PANDEMONIC", "DASH", "COMMA", "QUOTE", + "OPAREN", "CPAREN", "INTEGER", "STRING", "MAP_LINE", "MONSTER_NAME", + "ITEM_INFO", "IDENTIFIER", "$accept", "file", "definitions", + "definition", "def", "defdepth", "level", "name", "metalines", + "metaline", "kfeat", "kmons", "kitem", "shuffle", "tags", "tagstrings", + "symbol", "items", "item_specifiers", "item_specifier", "mons", "mnames", + "mname", "place", "depth", "depth_range", "chance", "orientation", + "orient_name", "flags", "flagnames", "flagname", "map_def", "map_lines", + "map_line", 0 }; #endif @@ -607,20 +618,21 @@ static const yytype_uint16 yytoknum[] = 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, 304, - 305, 306, 307, 308, 309, 310 + 305, 306, 307, 308, 309, 310, 311, 312, 313 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 56, 57, 58, 58, 59, 59, 60, 61, 62, - 63, 64, 64, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 66, 66, 67, 68, 68, 69, 69, - 70, 70, 71, 71, 72, 73, 73, 74, 74, 75, - 76, 77, 77, 78, 78, 79, 80, 80, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 82, 83, - 83, 84, 84, 84, 85, 86, 86, 87 + 0, 59, 60, 61, 61, 62, 62, 63, 64, 65, + 66, 67, 67, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 69, 69, 70, 70, + 71, 71, 72, 72, 73, 74, 74, 75, 75, 76, + 76, 77, 77, 78, 79, 79, 80, 80, 81, 82, + 83, 83, 84, 84, 85, 86, 86, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 88, 89, 89, + 90, 90, 90, 91, 92, 92, 93 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -628,11 +640,12 @@ static const yytype_uint8 yyr2[] = { 0, 2, 1, 0, 2, 1, 1, 1, 2, 4, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 0, 2, 1, 2, - 1, 2, 3, 1, 1, 1, 2, 3, 1, 1, - 2, 1, 2, 3, 1, 2, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, - 2, 1, 1, 1, 1, 1, 2, 1 + 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, + 1, 2, 1, 2, 2, 0, 2, 1, 2, 1, + 2, 3, 1, 1, 1, 2, 3, 1, 1, 2, + 1, 2, 3, 1, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 0, 2, + 1, 1, 1, 1, 1, 2, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -641,48 +654,48 @@ static const yytype_uint8 yyr2[] = static const yytype_uint8 yydefact[] = { 3, 0, 0, 0, 2, 3, 5, 7, 6, 11, - 44, 8, 10, 1, 4, 23, 28, 26, 41, 46, - 0, 0, 59, 35, 30, 0, 11, 22, 21, 20, - 19, 18, 13, 14, 15, 16, 17, 0, 24, 29, - 26, 25, 42, 48, 57, 49, 50, 51, 52, 53, - 54, 55, 56, 47, 40, 45, 61, 62, 63, 58, - 59, 39, 36, 38, 34, 31, 33, 67, 11, 64, - 65, 12, 43, 27, 60, 0, 0, 9, 66, 37, - 32 + 53, 8, 10, 1, 4, 32, 37, 35, 26, 30, + 28, 50, 55, 0, 0, 68, 44, 39, 0, 11, + 23, 25, 24, 22, 21, 20, 19, 18, 13, 14, + 15, 16, 17, 0, 33, 38, 35, 34, 27, 31, + 29, 51, 57, 66, 58, 59, 60, 61, 62, 63, + 64, 65, 56, 49, 54, 70, 71, 72, 67, 68, + 48, 45, 47, 43, 40, 42, 76, 11, 73, 74, + 12, 52, 36, 69, 0, 0, 9, 75, 46, 41 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { - -1, 3, 4, 5, 6, 7, 8, 9, 25, 26, - 27, 28, 41, 29, 30, 65, 66, 31, 62, 63, - 32, 33, 11, 34, 35, 53, 36, 59, 60, 68, - 69, 70 + -1, 3, 4, 5, 6, 7, 8, 9, 28, 29, + 30, 31, 32, 33, 34, 47, 35, 36, 74, 75, + 37, 71, 72, 38, 39, 11, 40, 41, 62, 42, + 68, 69, 77, 78, 79 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -47 +#define YYPACT_NINF -49 static const yytype_int8 yypact[] = { - 15, -46, -24, 28, -47, 15, -47, -47, -47, -7, - -16, -47, -47, -47, -47, -21, -20, -19, -46, -12, - -17, -15, -18, -14, -13, -9, -7, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -10, -47, -47, - -19, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -18, -47, -47, -8, -47, -47, -2, -47, -7, -47, - -9, -47, -47, -47, -47, -14, -13, -47, -47, -47, - -47 + 18, -46, -25, 30, -49, 18, -49, -49, -49, -7, + -17, -49, -49, -49, -49, -21, -20, -19, -16, -15, + -14, -46, -12, -13, -11, -18, -10, -8, -5, -7, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -9, -49, -49, -19, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -18, + -49, -49, -6, -49, -49, -4, -49, -7, -49, -5, + -49, -49, -49, -49, -10, -8, -49, -49, -49, -49 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -47, -47, 31, -47, -47, -47, -47, -47, -26, -47, - -47, -47, -3, -47, -47, -43, -47, -47, -30, -47, - -47, -47, 29, -47, -47, -47, -47, -11, -47, -47, - -22, -47 + -49, -49, 31, -49, -49, -49, -49, -49, -29, -49, + -49, -49, -49, -49, -49, 1, -49, -49, -48, -49, + -49, -33, -49, -49, -49, 32, -49, -49, -49, -49, + -3, -49, -49, -27, -49 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -692,35 +705,39 @@ static const yytype_int8 yypgoto[] = #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { - 71, 15, 16, 17, 10, 18, 19, 20, 21, 22, - 23, 24, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 1, 56, 57, 58, 2, 12, 13, 37, - 38, 39, 40, 80, 54, 55, 14, 73, 75, 61, - 72, 64, 77, 67, 76, 79, 0, 42, 78, 74 + 80, 15, 16, 17, 18, 19, 20, 10, 21, 22, + 23, 24, 25, 26, 27, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 1, 65, 66, 67, 12, + 13, 43, 2, 44, 45, 46, 14, 89, 48, 49, + 50, 63, 64, 84, 81, 85, 70, 82, 86, 73, + 76, 88, 87, 51, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83 }; static const yytype_int8 yycheck[] = { - 26, 8, 9, 10, 50, 12, 13, 14, 15, 16, - 17, 18, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 7, 41, 42, 43, 11, 51, 0, 45, - 51, 51, 51, 76, 51, 50, 5, 40, 46, 53, - 50, 54, 68, 52, 46, 75, -1, 18, 70, 60 + 29, 8, 9, 10, 11, 12, 13, 53, 15, 16, + 17, 18, 19, 20, 21, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 7, 44, 45, 46, 54, + 0, 48, 14, 54, 54, 54, 5, 85, 54, 54, + 54, 54, 53, 49, 53, 49, 56, 46, 77, 57, + 55, 84, 79, 21, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 69 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 7, 11, 57, 58, 59, 60, 61, 62, 63, - 50, 78, 51, 0, 58, 8, 9, 10, 12, 13, - 14, 15, 16, 17, 18, 64, 65, 66, 67, 69, - 70, 73, 76, 77, 79, 80, 82, 45, 51, 51, - 51, 68, 78, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 81, 51, 50, 41, 42, 43, 83, - 84, 53, 74, 75, 54, 71, 72, 52, 85, 86, - 87, 64, 50, 68, 83, 46, 46, 64, 86, 74, - 71 + 0, 7, 14, 60, 61, 62, 63, 64, 65, 66, + 53, 84, 54, 0, 61, 8, 9, 10, 11, 12, + 13, 15, 16, 17, 18, 19, 20, 21, 67, 68, + 69, 70, 71, 72, 73, 75, 76, 79, 82, 83, + 85, 86, 88, 48, 54, 54, 54, 74, 54, 54, + 54, 84, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 87, 54, 53, 44, 45, 46, 89, 90, + 56, 80, 81, 57, 77, 78, 55, 91, 92, 93, + 67, 53, 74, 89, 49, 49, 67, 92, 80, 77 }; #define yyerrok (yyerrstatus = 0) @@ -1630,13 +1647,61 @@ yyreduce: } break; - case 23: -#line 167 "levcomp.ypp" + case 26: +#line 170 "levcomp.ypp" { } break; - case 24: -#line 169 "levcomp.ypp" + case 27: +#line 172 "levcomp.ypp" + { + std::string err = lc_map.add_key_feat((yyvsp[(2) - (2)].text)); + if (!err.empty()) + yyerror( + make_stringf("Bad arg to KFEAT: '%s' (%s)", + (yyvsp[(2) - (2)].text), err.c_str()).c_str()); + } + break; + + case 28: +#line 180 "levcomp.ypp" + { } + break; + + case 29: +#line 182 "levcomp.ypp" + { + std::string err = lc_map.add_key_mons((yyvsp[(2) - (2)].text)); + if (!err.empty()) + yyerror( + make_stringf("Bad arg to KMONS: '%s' (%s)", + (yyvsp[(2) - (2)].text), err.c_str()).c_str()); + } + break; + + case 30: +#line 190 "levcomp.ypp" + { } + break; + + case 31: +#line 192 "levcomp.ypp" + { + std::string err = lc_map.add_key_item((yyvsp[(2) - (2)].text)); + if (!err.empty()) + yyerror( + make_stringf("Bad arg to KITEM: '%s' (%s)", + (yyvsp[(2) - (2)].text), err.c_str()).c_str()); + } + break; + + case 32: +#line 200 "levcomp.ypp" + { } + break; + + case 33: +#line 202 "levcomp.ypp" { std::string err = lc_map.map.add_shuffle((yyvsp[(2) - (2)].text)); if (!err.empty()) @@ -1647,13 +1712,13 @@ yyreduce: } break; - case 25: -#line 178 "levcomp.ypp" + case 34: +#line 211 "levcomp.ypp" {} break; - case 27: -#line 183 "levcomp.ypp" + case 36: +#line 216 "levcomp.ypp" { lc_map.tags += " "; lc_map.tags += (yyvsp[(1) - (2)].text); @@ -1661,13 +1726,13 @@ yyreduce: } break; - case 28: -#line 190 "levcomp.ypp" + case 37: +#line 223 "levcomp.ypp" {} break; - case 29: -#line 192 "levcomp.ypp" + case 38: +#line 225 "levcomp.ypp" { std::string err = lc_map.map.add_subst((yyvsp[(2) - (2)].text)); if (!err.empty()) @@ -1678,18 +1743,18 @@ yyreduce: } break; - case 30: -#line 202 "levcomp.ypp" + case 39: +#line 235 "levcomp.ypp" {} break; - case 31: -#line 203 "levcomp.ypp" + case 40: +#line 236 "levcomp.ypp" {} break; - case 34: -#line 211 "levcomp.ypp" + case 43: +#line 244 "levcomp.ypp" { std::string error = lc_map.items.add_item((yyvsp[(1) - (1)].text)); if (error.size()) @@ -1705,18 +1770,18 @@ yyreduce: } break; - case 35: -#line 225 "levcomp.ypp" + case 44: +#line 258 "levcomp.ypp" {} break; - case 36: -#line 226 "levcomp.ypp" + case 45: +#line 259 "levcomp.ypp" {} break; - case 39: -#line 234 "levcomp.ypp" + case 48: +#line 267 "levcomp.ypp" { std::string err = lc_map.mons.add_mons((yyvsp[(1) - (1)].text)); if (!err.empty()) @@ -1732,115 +1797,115 @@ yyreduce: } break; - case 40: -#line 250 "levcomp.ypp" + case 49: +#line 283 "levcomp.ypp" { lc_map.place = (yyvsp[(2) - (2)].text); } break; - case 41: -#line 255 "levcomp.ypp" + case 50: +#line 288 "levcomp.ypp" {} break; - case 42: -#line 257 "levcomp.ypp" + case 51: +#line 290 "levcomp.ypp" { lc_map.depth = lc_range; } break; - case 43: -#line 263 "levcomp.ypp" + case 52: +#line 296 "levcomp.ypp" { lc_range.set((yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].i)); } break; - case 44: -#line 268 "levcomp.ypp" + case 53: +#line 301 "levcomp.ypp" { lc_range.set((yyvsp[(1) - (1)].i)); } break; - case 45: -#line 274 "levcomp.ypp" + case 54: +#line 307 "levcomp.ypp" { lc_map.chance = (yyvsp[(2) - (2)].i); } break; - case 46: -#line 279 "levcomp.ypp" + case 55: +#line 312 "levcomp.ypp" {} break; - case 47: -#line 281 "levcomp.ypp" + case 56: +#line 314 "levcomp.ypp" { lc_map.orient = (map_section_type) (yyvsp[(2) - (2)].i); } break; - case 48: -#line 286 "levcomp.ypp" + case 57: +#line 319 "levcomp.ypp" { (yyval.i) = MAP_ENCOMPASS; } break; - case 49: -#line 287 "levcomp.ypp" + case 58: +#line 320 "levcomp.ypp" { (yyval.i) = MAP_NORTH; } break; - case 50: -#line 288 "levcomp.ypp" + case 59: +#line 321 "levcomp.ypp" { (yyval.i) = MAP_EAST; } break; - case 51: -#line 289 "levcomp.ypp" + case 60: +#line 322 "levcomp.ypp" { (yyval.i) = MAP_SOUTH; } break; - case 52: -#line 290 "levcomp.ypp" + case 61: +#line 323 "levcomp.ypp" { (yyval.i) = MAP_WEST; } break; - case 53: -#line 291 "levcomp.ypp" + case 62: +#line 324 "levcomp.ypp" { (yyval.i) = MAP_NORTHEAST; } break; - case 54: -#line 292 "levcomp.ypp" + case 63: +#line 325 "levcomp.ypp" { (yyval.i) = MAP_SOUTHEAST; } break; - case 55: -#line 293 "levcomp.ypp" + case 64: +#line 326 "levcomp.ypp" { (yyval.i) = MAP_SOUTHWEST; } break; - case 56: -#line 294 "levcomp.ypp" + case 65: +#line 327 "levcomp.ypp" { (yyval.i) = MAP_NORTHWEST; } break; - case 57: -#line 295 "levcomp.ypp" + case 66: +#line 328 "levcomp.ypp" { (yyval.i) = MAP_FLOAT; } break; - case 58: -#line 298 "levcomp.ypp" + case 67: +#line 331 "levcomp.ypp" {} break; - case 60: -#line 303 "levcomp.ypp" + case 69: +#line 336 "levcomp.ypp" { switch ((yyvsp[(1) - (2)].i)) { case NO_HMIRROR: @@ -1856,23 +1921,23 @@ yyreduce: } break; - case 61: -#line 318 "levcomp.ypp" + case 70: +#line 351 "levcomp.ypp" { (yyval.i) = NO_HMIRROR; } break; - case 62: -#line 319 "levcomp.ypp" + case 71: +#line 352 "levcomp.ypp" { (yyval.i) = NO_VMIRROR; } break; - case 63: -#line 320 "levcomp.ypp" + case 72: +#line 353 "levcomp.ypp" { (yyval.i) = NO_ROTATE; } break; - case 67: -#line 331 "levcomp.ypp" + case 76: +#line 364 "levcomp.ypp" { lc_map.map.add_line((yyvsp[(1) - (1)].text)); } @@ -1880,7 +1945,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 1884 "levcomp.tab.c" +#line 1949 "levcomp.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2094,6 +2159,6 @@ yyreturn: } -#line 336 "levcomp.ypp" +#line 369 "levcomp.ypp" diff --git a/crawl-ref/source/prebuilt/levcomp.tab.h b/crawl-ref/source/prebuilt/levcomp.tab.h index af323539c5..b27b6d08eb 100644 --- a/crawl-ref/source/prebuilt/levcomp.tab.h +++ b/crawl-ref/source/prebuilt/levcomp.tab.h @@ -47,51 +47,54 @@ SHUFFLE = 263, SUBST = 264, TAGS = 265, - NAME = 266, - DEPTH = 267, - ORIENT = 268, - PLACE = 269, - CHANCE = 270, - FLAGS = 271, - MONS = 272, - ITEM = 273, - ROOT_DEPTH = 274, - ENTRY_MSG = 275, - EXIT_MSG = 276, - ROCK_COLOUR = 277, - FLOOR_COLOUR = 278, - ENCOMPASS = 279, - FLOAT = 280, - NORTH = 281, - EAST = 282, - SOUTH = 283, - WEST = 284, - NORTHEAST = 285, - SOUTHEAST = 286, - SOUTHWEST = 287, - NORTHWEST = 288, - LEVEL = 289, - END = 290, - PVAULT = 291, - PMINIVAULT = 292, - MONSTERS = 293, - ENDMONSTERS = 294, - CHARACTER = 295, - NO_HMIRROR = 296, - NO_VMIRROR = 297, - NO_ROTATE = 298, - PANDEMONIC = 299, - DASH = 300, - COMMA = 301, - QUOTE = 302, - OPAREN = 303, - CPAREN = 304, - INTEGER = 305, - STRING = 306, - MAP_LINE = 307, - MONSTER_NAME = 308, - ITEM_INFO = 309, - IDENTIFIER = 310 + KFEAT = 266, + KITEM = 267, + KMONS = 268, + NAME = 269, + DEPTH = 270, + ORIENT = 271, + PLACE = 272, + CHANCE = 273, + FLAGS = 274, + MONS = 275, + ITEM = 276, + ROOT_DEPTH = 277, + ENTRY_MSG = 278, + EXIT_MSG = 279, + ROCK_COLOUR = 280, + FLOOR_COLOUR = 281, + ENCOMPASS = 282, + FLOAT = 283, + NORTH = 284, + EAST = 285, + SOUTH = 286, + WEST = 287, + NORTHEAST = 288, + SOUTHEAST = 289, + SOUTHWEST = 290, + NORTHWEST = 291, + LEVEL = 292, + END = 293, + PVAULT = 294, + PMINIVAULT = 295, + MONSTERS = 296, + ENDMONSTERS = 297, + CHARACTER = 298, + NO_HMIRROR = 299, + NO_VMIRROR = 300, + NO_ROTATE = 301, + PANDEMONIC = 302, + DASH = 303, + COMMA = 304, + QUOTE = 305, + OPAREN = 306, + CPAREN = 307, + INTEGER = 308, + STRING = 309, + MAP_LINE = 310, + MONSTER_NAME = 311, + ITEM_INFO = 312, + IDENTIFIER = 313 }; #endif /* Tokens. */ @@ -103,51 +106,54 @@ #define SHUFFLE 263 #define SUBST 264 #define TAGS 265 -#define NAME 266 -#define DEPTH 267 -#define ORIENT 268 -#define PLACE 269 -#define CHANCE 270 -#define FLAGS 271 -#define MONS 272 -#define ITEM 273 -#define ROOT_DEPTH 274 -#define ENTRY_MSG 275 -#define EXIT_MSG 276 -#define ROCK_COLOUR 277 -#define FLOOR_COLOUR 278 -#define ENCOMPASS 279 -#define FLOAT 280 -#define NORTH 281 -#define EAST 282 -#define SOUTH 283 -#define WEST 284 -#define NORTHEAST 285 -#define SOUTHEAST 286 -#define SOUTHWEST 287 -#define NORTHWEST 288 -#define LEVEL 289 -#define END 290 -#define PVAULT 291 -#define PMINIVAULT 292 -#define MONSTERS 293 -#define ENDMONSTERS 294 -#define CHARACTER 295 -#define NO_HMIRROR 296 -#define NO_VMIRROR 297 -#define NO_ROTATE 298 -#define PANDEMONIC 299 -#define DASH 300 -#define COMMA 301 -#define QUOTE 302 -#define OPAREN 303 -#define CPAREN 304 -#define INTEGER 305 -#define STRING 306 -#define MAP_LINE 307 -#define MONSTER_NAME 308 -#define ITEM_INFO 309 -#define IDENTIFIER 310 +#define KFEAT 266 +#define KITEM 267 +#define KMONS 268 +#define NAME 269 +#define DEPTH 270 +#define ORIENT 271 +#define PLACE 272 +#define CHANCE 273 +#define FLAGS 274 +#define MONS 275 +#define ITEM 276 +#define ROOT_DEPTH 277 +#define ENTRY_MSG 278 +#define EXIT_MSG 279 +#define ROCK_COLOUR 280 +#define FLOOR_COLOUR 281 +#define ENCOMPASS 282 +#define FLOAT 283 +#define NORTH 284 +#define EAST 285 +#define SOUTH 286 +#define WEST 287 +#define NORTHEAST 288 +#define SOUTHEAST 289 +#define SOUTHWEST 290 +#define NORTHWEST 291 +#define LEVEL 292 +#define END 293 +#define PVAULT 294 +#define PMINIVAULT 295 +#define MONSTERS 296 +#define ENDMONSTERS 297 +#define CHARACTER 298 +#define NO_HMIRROR 299 +#define NO_VMIRROR 300 +#define NO_ROTATE 301 +#define PANDEMONIC 302 +#define DASH 303 +#define COMMA 304 +#define QUOTE 305 +#define OPAREN 306 +#define CPAREN 307 +#define INTEGER 308 +#define STRING 309 +#define MAP_LINE 310 +#define MONSTER_NAME 311 +#define ITEM_INFO 312 +#define IDENTIFIER 313 @@ -160,7 +166,7 @@ typedef union YYSTYPE const char *text; } /* Line 1529 of yacc.c. */ -#line 164 "levcomp.tab.h" +#line 170 "levcomp.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 |