langscan 1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. data/AUTHORS.txt +19 -0
  2. data/History.txt +126 -0
  3. data/Manifest.txt +167 -0
  4. data/README.rdoc +89 -0
  5. data/Rakefile +40 -0
  6. data/ext/langscan/_make_c.rb +20 -0
  7. data/ext/langscan/_make_h.rb +30 -0
  8. data/ext/langscan/_template.c +134 -0
  9. data/ext/langscan/_template.h +53 -0
  10. data/ext/langscan/c/c/Makefile +157 -0
  11. data/ext/langscan/c/c/c.c +134 -0
  12. data/ext/langscan/c/c/c.h +66 -0
  13. data/ext/langscan/c/c/ctok.c +4622 -0
  14. data/ext/langscan/c/c/ctok.l +212 -0
  15. data/ext/langscan/c/c/extconf.rb +3 -0
  16. data/ext/langscan/c/c/modulename.txt +1 -0
  17. data/ext/langscan/c/c/tokenlist.txt +13 -0
  18. data/ext/langscan/csharp/csharp/Makefile +157 -0
  19. data/ext/langscan/csharp/csharp/csharp.c +134 -0
  20. data/ext/langscan/csharp/csharp/csharp.h +65 -0
  21. data/ext/langscan/csharp/csharp/csharptok.c +2965 -0
  22. data/ext/langscan/csharp/csharp/csharptok.l +200 -0
  23. data/ext/langscan/csharp/csharp/extconf.rb +3 -0
  24. data/ext/langscan/csharp/csharp/modulename.txt +1 -0
  25. data/ext/langscan/csharp/csharp/tokenlist.txt +12 -0
  26. data/ext/langscan/d/d/Makefile +157 -0
  27. data/ext/langscan/d/d/d.c +134 -0
  28. data/ext/langscan/d/d/d.h +64 -0
  29. data/ext/langscan/d/d/dtok.c +5461 -0
  30. data/ext/langscan/d/d/dtok.l +282 -0
  31. data/ext/langscan/d/d/extconf.rb +3 -0
  32. data/ext/langscan/d/d/modulename.txt +1 -0
  33. data/ext/langscan/d/d/tokenlist.txt +11 -0
  34. data/ext/langscan/elisp/elisp/Makefile +157 -0
  35. data/ext/langscan/elisp/elisp/elisp.c +134 -0
  36. data/ext/langscan/elisp/elisp/elisp.h +62 -0
  37. data/ext/langscan/elisp/elisp/elisptok.c +2101 -0
  38. data/ext/langscan/elisp/elisp/elisptok.l +151 -0
  39. data/ext/langscan/elisp/elisp/extconf.rb +3 -0
  40. data/ext/langscan/elisp/elisp/modulename.txt +1 -0
  41. data/ext/langscan/elisp/elisp/tokenlist.txt +9 -0
  42. data/ext/langscan/java/java/Makefile +157 -0
  43. data/ext/langscan/java/java/extconf.rb +3 -0
  44. data/ext/langscan/java/java/java.c +134 -0
  45. data/ext/langscan/java/java/java.h +64 -0
  46. data/ext/langscan/java/java/javatok.c +2090 -0
  47. data/ext/langscan/java/java/javatok.l +155 -0
  48. data/ext/langscan/java/java/modulename.txt +1 -0
  49. data/ext/langscan/java/java/tokenlist.txt +11 -0
  50. data/ext/langscan/javascript/javascript/Makefile +157 -0
  51. data/ext/langscan/javascript/javascript/extconf.rb +3 -0
  52. data/ext/langscan/javascript/javascript/javascript.c +134 -0
  53. data/ext/langscan/javascript/javascript/javascript.h +63 -0
  54. data/ext/langscan/javascript/javascript/javascripttok.c +2051 -0
  55. data/ext/langscan/javascript/javascript/javascripttok.l +147 -0
  56. data/ext/langscan/javascript/javascript/modulename.txt +1 -0
  57. data/ext/langscan/javascript/javascript/tokenlist.txt +10 -0
  58. data/ext/langscan/pairmatcher/pairmatcher/Makefile +157 -0
  59. data/ext/langscan/pairmatcher/pairmatcher/extconf.rb +3 -0
  60. data/ext/langscan/pairmatcher/pairmatcher/pairmatcher.c +890 -0
  61. data/ext/langscan/php/php/Makefile +157 -0
  62. data/ext/langscan/php/php/extconf.rb +3 -0
  63. data/ext/langscan/php/php/modulename.txt +1 -0
  64. data/ext/langscan/php/php/php.c +134 -0
  65. data/ext/langscan/php/php/php.h +64 -0
  66. data/ext/langscan/php/php/phptok.c +2406 -0
  67. data/ext/langscan/php/php/phptok.l +212 -0
  68. data/ext/langscan/php/php/tokenlist.txt +11 -0
  69. data/ext/langscan/post-distclean.rb +21 -0
  70. data/ext/langscan/pre-config.rb +57 -0
  71. data/ext/langscan/python/python/Makefile +157 -0
  72. data/ext/langscan/python/python/extconf.rb +3 -0
  73. data/ext/langscan/python/python/modulename.txt +1 -0
  74. data/ext/langscan/python/python/python.c +134 -0
  75. data/ext/langscan/python/python/python.h +61 -0
  76. data/ext/langscan/python/python/pythontok.c +2102 -0
  77. data/ext/langscan/python/python/pythontok.l +155 -0
  78. data/ext/langscan/python/python/tokenlist.txt +8 -0
  79. data/ext/langscan/ruby/compat/ripper/Makefile +158 -0
  80. data/ext/langscan/ruby/compat/ripper/depend +1 -0
  81. data/ext/langscan/ruby/compat/ripper/extconf.rb +4 -0
  82. data/ext/langscan/ruby/compat/ripper/include/eventids1.c +251 -0
  83. data/ext/langscan/ruby/compat/ripper/include/eventids2.c +277 -0
  84. data/ext/langscan/ruby/compat/ripper/include/lex.c +138 -0
  85. data/ext/langscan/ruby/compat/ripper/ripper.c +14420 -0
  86. data/ext/langscan/scheme/scheme/Makefile +157 -0
  87. data/ext/langscan/scheme/scheme/extconf.rb +3 -0
  88. data/ext/langscan/scheme/scheme/modulename.txt +1 -0
  89. data/ext/langscan/scheme/scheme/scheme.c +134 -0
  90. data/ext/langscan/scheme/scheme/scheme.h +60 -0
  91. data/ext/langscan/scheme/scheme/schemetok.c +2447 -0
  92. data/ext/langscan/scheme/scheme/schemetok.l +177 -0
  93. data/ext/langscan/scheme/scheme/tokenlist.txt +7 -0
  94. data/ext/langscan/sh/sh/Makefile +157 -0
  95. data/ext/langscan/sh/sh/extconf.rb +3 -0
  96. data/ext/langscan/sh/sh/modulename.txt +1 -0
  97. data/ext/langscan/sh/sh/sh.c +134 -0
  98. data/ext/langscan/sh/sh/sh.h +61 -0
  99. data/ext/langscan/sh/sh/shtok.c +2470 -0
  100. data/ext/langscan/sh/sh/shtok.l +325 -0
  101. data/ext/langscan/sh/sh/tokenlist.txt +8 -0
  102. data/lib/langscan.rb +124 -0
  103. data/lib/langscan/_common.rb +50 -0
  104. data/lib/langscan/_easyscanner.rb +78 -0
  105. data/lib/langscan/_pairmatcher.rb +46 -0
  106. data/lib/langscan/_type.rb +125 -0
  107. data/lib/langscan/autoconf.rb +51 -0
  108. data/lib/langscan/automake.rb +51 -0
  109. data/lib/langscan/brainfuck.rb +48 -0
  110. data/lib/langscan/c.rb +144 -0
  111. data/lib/langscan/csharp.rb +101 -0
  112. data/lib/langscan/css.rb +109 -0
  113. data/lib/langscan/d.rb +201 -0
  114. data/lib/langscan/eiffel.rb +167 -0
  115. data/lib/langscan/elisp.rb +132 -0
  116. data/lib/langscan/io.rb +84 -0
  117. data/lib/langscan/java.rb +95 -0
  118. data/lib/langscan/javascript.rb +97 -0
  119. data/lib/langscan/lua.rb +116 -0
  120. data/lib/langscan/ocaml.rb +298 -0
  121. data/lib/langscan/ocaml/camlexer.ml +28 -0
  122. data/lib/langscan/ocaml/lexer.mll +230 -0
  123. data/lib/langscan/ocaml/types.ml +36 -0
  124. data/lib/langscan/perl.rb +87 -0
  125. data/lib/langscan/perl/tokenizer.pl +231 -0
  126. data/lib/langscan/php.rb +80 -0
  127. data/lib/langscan/python.rb +101 -0
  128. data/lib/langscan/rpmspec.rb +71 -0
  129. data/lib/langscan/ruby.rb +164 -0
  130. data/lib/langscan/ruby/compat/README +5 -0
  131. data/lib/langscan/ruby/compat/ripper.rb +4 -0
  132. data/lib/langscan/ruby/compat/ripper/core.rb +918 -0
  133. data/lib/langscan/ruby/compat/ripper/filter.rb +70 -0
  134. data/lib/langscan/ruby/compat/ripper/lexer.rb +179 -0
  135. data/lib/langscan/ruby/compat/ripper/sexp.rb +100 -0
  136. data/lib/langscan/scheme.rb +160 -0
  137. data/lib/langscan/sh.rb +116 -0
  138. data/lib/langscan/text.rb +37 -0
  139. data/metaconfig +2 -0
  140. data/script/console +10 -0
  141. data/script/destroy +14 -0
  142. data/script/generate +14 -0
  143. data/script/makemanifest.rb +21 -0
  144. data/setup.rb +1604 -0
  145. data/tasks/extconf.rake +13 -0
  146. data/tasks/extconf/langscan.rake +42 -0
  147. data/test/langscan/brainfuck/test/test_scan.rb +55 -0
  148. data/test/langscan/c/test/test_scan.rb +216 -0
  149. data/test/langscan/c/test/test_token.rb +41 -0
  150. data/test/langscan/csharp/test/test_scan.rb +157 -0
  151. data/test/langscan/css/test/test_css.rb +79 -0
  152. data/test/langscan/d/test/test_scan.rb +233 -0
  153. data/test/langscan/d/test/test_token.rb +205 -0
  154. data/test/langscan/eiffel/test/test_eiffel.rb +95 -0
  155. data/test/langscan/elisp/test/test_elisp.rb +177 -0
  156. data/test/langscan/io/test/test_io.rb +79 -0
  157. data/test/langscan/java/test/test_java.rb +74 -0
  158. data/test/langscan/javascript/test/test_javascript.rb +39 -0
  159. data/test/langscan/lua/test/test_lua.rb +69 -0
  160. data/test/langscan/ocaml/test/test_ocaml.rb +161 -0
  161. data/test/langscan/php/test/test_scan.rb +138 -0
  162. data/test/langscan/python/test/test_scan.rb +105 -0
  163. data/test/langscan/rpmspec/test/test_rpmspec.rb +51 -0
  164. data/test/langscan/ruby/test/test_scan.rb +71 -0
  165. data/test/langscan/scheme/test/test_scan.rb +198 -0
  166. data/test/test_helper.rb +7 -0
  167. data/test/test_langscan.rb +123 -0
  168. metadata +296 -0
@@ -0,0 +1,66 @@
1
+ #ifndef LANGSCAN_C_H
2
+ #define LANGSCAN_C_H
3
+
4
+ #define LANGSCAN_C_TOKEN_LIST \
5
+ LANGSCAN_C_TOKEN(classdecl) \
6
+ LANGSCAN_C_TOKEN(classdef) \
7
+ LANGSCAN_C_TOKEN(classref) \
8
+ LANGSCAN_C_TOKEN(preproc_beg) \
9
+ LANGSCAN_C_TOKEN(preproc_end) \
10
+ LANGSCAN_C_TOKEN(character) \
11
+ LANGSCAN_C_TOKEN(integer) \
12
+ LANGSCAN_C_TOKEN(floating) \
13
+ LANGSCAN_C_TOKEN(string) \
14
+ LANGSCAN_C_TOKEN(ident) \
15
+ LANGSCAN_C_TOKEN(punct) \
16
+ LANGSCAN_C_TOKEN(comment) \
17
+ LANGSCAN_C_TOKEN(space)
18
+
19
+ typedef enum {
20
+ langscan_c_eof = 0,
21
+ #define LANGSCAN_C_TOKEN(name) langscan_c_##name,
22
+ LANGSCAN_C_TOKEN_LIST
23
+ #undef LANGSCAN_C_TOKEN
24
+ } langscan_c_token_t;
25
+
26
+ typedef struct {
27
+ int beg_lineno;
28
+ int beg_columnno;
29
+ int beg_byteno;
30
+ int end_lineno;
31
+ int end_columnno;
32
+ int end_byteno;
33
+ int eof;
34
+ char *text;
35
+ int leng;
36
+ size_t (*user_read)(void **user_data_p, char *buf, size_t maxlen);
37
+ void *user_data;
38
+ } langscan_c_lex_extra_t;
39
+
40
+ typedef struct langscan_c_tokenizer_tag {
41
+ langscan_c_lex_extra_t *extra;
42
+ void *scanner;
43
+ } langscan_c_tokenizer_t;
44
+
45
+ typedef size_t (*user_read_t)(void **user_data_p, char *buf, size_t maxlen);
46
+
47
+ langscan_c_tokenizer_t *langscan_c_make_tokenizer(user_read_t user_read, void *user_data);
48
+ langscan_c_token_t langscan_c_get_token(langscan_c_tokenizer_t *tokenizer);
49
+ void langscan_c_free_tokenizer(langscan_c_tokenizer_t *tokenizer);
50
+
51
+ user_read_t langscan_c_tokenizer_get_user_read(langscan_c_tokenizer_t *tokenizer);
52
+ void *langscan_c_tokenizer_get_user_data(langscan_c_tokenizer_t *tokenizer);
53
+
54
+ const char *langscan_c_token_name(langscan_c_token_t token);
55
+ #define langscan_c_curtoken_beg_lineno(tokenizer) ((tokenizer)->extra->beg_lineno)
56
+ #define langscan_c_curtoken_beg_columnno(tokenizer) ((tokenizer)->extra->beg_columnno)
57
+ #define langscan_c_curtoken_beg_byteno(tokenizer) ((tokenizer)->extra->beg_byteno)
58
+ #define langscan_c_curtoken_end_lineno(tokenizer) ((tokenizer)->extra->end_lineno)
59
+ #define langscan_c_curtoken_end_columnno(tokenizer) ((tokenizer)->extra->end_columnno)
60
+ #define langscan_c_curtoken_end_byteno(tokenizer) ((tokenizer)->extra->end_byteno)
61
+ #define langscan_c_curtoken_text(tokenizer) ((tokenizer)->extra->text)
62
+ #define langscan_c_curtoken_leng(tokenizer) ((tokenizer)->extra->leng)
63
+
64
+ void langscan_c_extract_functions(langscan_c_tokenizer_t *);
65
+
66
+ #endif
@@ -0,0 +1,4622 @@
1
+
2
+ #line 3 "<stdout>"
3
+
4
+ #define YY_INT_ALIGNED short int
5
+
6
+ /* A lexical scanner generated by flex */
7
+
8
+ #define FLEX_SCANNER
9
+ #define YY_FLEX_MAJOR_VERSION 2
10
+ #define YY_FLEX_MINOR_VERSION 5
11
+ #define YY_FLEX_SUBMINOR_VERSION 35
12
+ #if YY_FLEX_SUBMINOR_VERSION > 0
13
+ #define FLEX_BETA
14
+ #endif
15
+
16
+ /* First, we deal with platform-specific or compiler-specific issues. */
17
+
18
+ /* begin standard C headers. */
19
+ #include <stdio.h>
20
+ #include <string.h>
21
+ #include <errno.h>
22
+ #include <stdlib.h>
23
+
24
+ /* end standard C headers. */
25
+
26
+ /* flex integer type definitions */
27
+
28
+ #ifndef FLEXINT_H
29
+ #define FLEXINT_H
30
+
31
+ /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32
+
33
+ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
34
+
35
+ /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36
+ * if you want the limit (max/min) macros for int types.
37
+ */
38
+ #ifndef __STDC_LIMIT_MACROS
39
+ #define __STDC_LIMIT_MACROS 1
40
+ #endif
41
+
42
+ #include <inttypes.h>
43
+ typedef int8_t flex_int8_t;
44
+ typedef uint8_t flex_uint8_t;
45
+ typedef int16_t flex_int16_t;
46
+ typedef uint16_t flex_uint16_t;
47
+ typedef int32_t flex_int32_t;
48
+ typedef uint32_t flex_uint32_t;
49
+ #else
50
+ typedef signed char flex_int8_t;
51
+ typedef short int flex_int16_t;
52
+ typedef int flex_int32_t;
53
+ typedef unsigned char flex_uint8_t;
54
+ typedef unsigned short int flex_uint16_t;
55
+ typedef unsigned int flex_uint32_t;
56
+ #endif /* ! C99 */
57
+
58
+ /* Limits of integral types. */
59
+ #ifndef INT8_MIN
60
+ #define INT8_MIN (-128)
61
+ #endif
62
+ #ifndef INT16_MIN
63
+ #define INT16_MIN (-32767-1)
64
+ #endif
65
+ #ifndef INT32_MIN
66
+ #define INT32_MIN (-2147483647-1)
67
+ #endif
68
+ #ifndef INT8_MAX
69
+ #define INT8_MAX (127)
70
+ #endif
71
+ #ifndef INT16_MAX
72
+ #define INT16_MAX (32767)
73
+ #endif
74
+ #ifndef INT32_MAX
75
+ #define INT32_MAX (2147483647)
76
+ #endif
77
+ #ifndef UINT8_MAX
78
+ #define UINT8_MAX (255U)
79
+ #endif
80
+ #ifndef UINT16_MAX
81
+ #define UINT16_MAX (65535U)
82
+ #endif
83
+ #ifndef UINT32_MAX
84
+ #define UINT32_MAX (4294967295U)
85
+ #endif
86
+
87
+ #endif /* ! FLEXINT_H */
88
+
89
+ #ifdef __cplusplus
90
+
91
+ /* The "const" storage-class-modifier is valid. */
92
+ #define YY_USE_CONST
93
+
94
+ #else /* ! __cplusplus */
95
+
96
+ /* C99 requires __STDC__ to be defined as 1. */
97
+ #if defined (__STDC__)
98
+
99
+ #define YY_USE_CONST
100
+
101
+ #endif /* defined (__STDC__) */
102
+ #endif /* ! __cplusplus */
103
+
104
+ #ifdef YY_USE_CONST
105
+ #define yyconst const
106
+ #else
107
+ #define yyconst
108
+ #endif
109
+
110
+ /* Returned upon end-of-file. */
111
+ #define YY_NULL 0
112
+
113
+ /* Promotes a possibly negative, possibly signed char to an unsigned
114
+ * integer for use as an array index. If the signed char is negative,
115
+ * we want to instead treat it as an 8-bit unsigned char, hence the
116
+ * double cast.
117
+ */
118
+ #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
119
+
120
+ /* An opaque pointer. */
121
+ #ifndef YY_TYPEDEF_YY_SCANNER_T
122
+ #define YY_TYPEDEF_YY_SCANNER_T
123
+ typedef void* yyscan_t;
124
+ #endif
125
+
126
+ /* For convenience, these vars (plus the bison vars far below)
127
+ are macros in the reentrant scanner. */
128
+ #define yyin yyg->yyin_r
129
+ #define yyout yyg->yyout_r
130
+ #define yyextra yyg->yyextra_r
131
+ #define yyleng yyg->yyleng_r
132
+ #define yytext yyg->yytext_r
133
+ #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
134
+ #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
135
+ #define yy_flex_debug yyg->yy_flex_debug_r
136
+
137
+ /* Enter a start condition. This macro really ought to take a parameter,
138
+ * but we do it the disgusting crufty way forced on us by the ()-less
139
+ * definition of BEGIN.
140
+ */
141
+ #define BEGIN yyg->yy_start = 1 + 2 *
142
+
143
+ /* Translate the current start state into a value that can be later handed
144
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
145
+ * compatibility.
146
+ */
147
+ #define YY_START ((yyg->yy_start - 1) / 2)
148
+ #define YYSTATE YY_START
149
+
150
+ /* Action number for EOF rule of a given start state. */
151
+ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
152
+
153
+ /* Special action meaning "start processing a new file". */
154
+ #define YY_NEW_FILE langscan_c_lex_restart(yyin ,yyscanner )
155
+
156
+ #define YY_END_OF_BUFFER_CHAR 0
157
+
158
+ /* Size of default input buffer. */
159
+ #ifndef YY_BUF_SIZE
160
+ #define YY_BUF_SIZE 16384
161
+ #endif
162
+
163
+ /* The state buf must be large enough to hold one state per character in the main buffer.
164
+ */
165
+ #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
166
+
167
+ #ifndef YY_TYPEDEF_YY_BUFFER_STATE
168
+ #define YY_TYPEDEF_YY_BUFFER_STATE
169
+ typedef struct yy_buffer_state *YY_BUFFER_STATE;
170
+ #endif
171
+
172
+ #ifndef YY_TYPEDEF_YY_SIZE_T
173
+ #define YY_TYPEDEF_YY_SIZE_T
174
+ typedef size_t yy_size_t;
175
+ #endif
176
+
177
+ #define EOB_ACT_CONTINUE_SCAN 0
178
+ #define EOB_ACT_END_OF_FILE 1
179
+ #define EOB_ACT_LAST_MATCH 2
180
+
181
+ #define YY_LESS_LINENO(n)
182
+
183
+ /* Return all but the first "n" matched characters back to the input stream. */
184
+ #define yyless(n) \
185
+ do \
186
+ { \
187
+ /* Undo effects of setting up yytext. */ \
188
+ int yyless_macro_arg = (n); \
189
+ YY_LESS_LINENO(yyless_macro_arg);\
190
+ *yy_cp = yyg->yy_hold_char; \
191
+ YY_RESTORE_YY_MORE_OFFSET \
192
+ yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
193
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
194
+ } \
195
+ while ( 0 )
196
+
197
+ #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
198
+
199
+ #ifndef YY_STRUCT_YY_BUFFER_STATE
200
+ #define YY_STRUCT_YY_BUFFER_STATE
201
+ struct yy_buffer_state
202
+ {
203
+ FILE *yy_input_file;
204
+
205
+ char *yy_ch_buf; /* input buffer */
206
+ char *yy_buf_pos; /* current position in input buffer */
207
+
208
+ /* Size of input buffer in bytes, not including room for EOB
209
+ * characters.
210
+ */
211
+ yy_size_t yy_buf_size;
212
+
213
+ /* Number of characters read into yy_ch_buf, not including EOB
214
+ * characters.
215
+ */
216
+ yy_size_t yy_n_chars;
217
+
218
+ /* Whether we "own" the buffer - i.e., we know we created it,
219
+ * and can realloc() it to grow it, and should free() it to
220
+ * delete it.
221
+ */
222
+ int yy_is_our_buffer;
223
+
224
+ /* Whether this is an "interactive" input source; if so, and
225
+ * if we're using stdio for input, then we want to use getc()
226
+ * instead of fread(), to make sure we stop fetching input after
227
+ * each newline.
228
+ */
229
+ int yy_is_interactive;
230
+
231
+ /* Whether we're considered to be at the beginning of a line.
232
+ * If so, '^' rules will be active on the next match, otherwise
233
+ * not.
234
+ */
235
+ int yy_at_bol;
236
+
237
+ int yy_bs_lineno; /**< The line count. */
238
+ int yy_bs_column; /**< The column count. */
239
+
240
+ /* Whether to try to fill the input buffer when we reach the
241
+ * end of it.
242
+ */
243
+ int yy_fill_buffer;
244
+
245
+ int yy_buffer_status;
246
+
247
+ #define YY_BUFFER_NEW 0
248
+ #define YY_BUFFER_NORMAL 1
249
+ /* When an EOF's been seen but there's still some text to process
250
+ * then we mark the buffer as YY_EOF_PENDING, to indicate that we
251
+ * shouldn't try reading from the input source any more. We might
252
+ * still have a bunch of tokens to match, though, because of
253
+ * possible backing-up.
254
+ *
255
+ * When we actually see the EOF, we change the status to "new"
256
+ * (via langscan_c_lex_restart()), so that the user can continue scanning by
257
+ * just pointing yyin at a new input file.
258
+ */
259
+ #define YY_BUFFER_EOF_PENDING 2
260
+
261
+ };
262
+ #endif /* !YY_STRUCT_YY_BUFFER_STATE */
263
+
264
+ /* We provide macros for accessing buffer states in case in the
265
+ * future we want to put the buffer states in a more general
266
+ * "scanner state".
267
+ *
268
+ * Returns the top of the stack, or NULL.
269
+ */
270
+ #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
271
+ ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
272
+ : NULL)
273
+
274
+ /* Same as previous macro, but useful when we know that the buffer stack is not
275
+ * NULL or when we need an lvalue. For internal use only.
276
+ */
277
+ #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
278
+
279
+ void langscan_c_lex_restart (FILE *input_file ,yyscan_t yyscanner );
280
+ void langscan_c_lex__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
281
+ YY_BUFFER_STATE langscan_c_lex__create_buffer (FILE *file,int size ,yyscan_t yyscanner );
282
+ void langscan_c_lex__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
283
+ void langscan_c_lex__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
284
+ void langscan_c_lex_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
285
+ void langscan_c_lex_pop_buffer_state (yyscan_t yyscanner );
286
+
287
+ static void langscan_c_lex_ensure_buffer_stack (yyscan_t yyscanner );
288
+ static void langscan_c_lex__load_buffer_state (yyscan_t yyscanner );
289
+ static void langscan_c_lex__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
290
+
291
+ #define YY_FLUSH_BUFFER langscan_c_lex__flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
292
+
293
+ YY_BUFFER_STATE langscan_c_lex__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
294
+ YY_BUFFER_STATE langscan_c_lex__scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
295
+ YY_BUFFER_STATE langscan_c_lex__scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
296
+
297
+ void *langscan_c_lex_alloc (yy_size_t ,yyscan_t yyscanner );
298
+ void *langscan_c_lex_realloc (void *,yy_size_t ,yyscan_t yyscanner );
299
+ void langscan_c_lex_free (void * ,yyscan_t yyscanner );
300
+
301
+ #define yy_new_buffer langscan_c_lex__create_buffer
302
+
303
+ #define yy_set_interactive(is_interactive) \
304
+ { \
305
+ if ( ! YY_CURRENT_BUFFER ){ \
306
+ langscan_c_lex_ensure_buffer_stack (yyscanner); \
307
+ YY_CURRENT_BUFFER_LVALUE = \
308
+ langscan_c_lex__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
309
+ } \
310
+ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
311
+ }
312
+
313
+ #define yy_set_bol(at_bol) \
314
+ { \
315
+ if ( ! YY_CURRENT_BUFFER ){\
316
+ langscan_c_lex_ensure_buffer_stack (yyscanner); \
317
+ YY_CURRENT_BUFFER_LVALUE = \
318
+ langscan_c_lex__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
319
+ } \
320
+ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
321
+ }
322
+
323
+ #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
324
+
325
+ /* Begin user sect3 */
326
+
327
+ #define langscan_c_lex_wrap(n) 1
328
+ #define YY_SKIP_YYWRAP
329
+
330
+ typedef unsigned char YY_CHAR;
331
+
332
+ typedef int yy_state_type;
333
+
334
+ #define yytext_ptr yytext_r
335
+
336
+ static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
337
+ static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
338
+ static int yy_get_next_buffer (yyscan_t yyscanner );
339
+ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
340
+
341
+ /* Done after the current pattern has been matched and before the
342
+ * corresponding action - sets up yytext.
343
+ */
344
+ #define YY_DO_BEFORE_ACTION \
345
+ yyg->yytext_ptr = yy_bp; \
346
+ yyleng = (size_t) (yy_cp - yy_bp); \
347
+ yyg->yy_hold_char = *yy_cp; \
348
+ *yy_cp = '\0'; \
349
+ yyg->yy_c_buf_p = yy_cp;
350
+
351
+ #define YY_NUM_RULES 25
352
+ #define YY_END_OF_BUFFER 26
353
+ /* This struct is not used in this scanner,
354
+ but its presence is necessary. */
355
+ struct yy_trans_info
356
+ {
357
+ flex_int32_t yy_verify;
358
+ flex_int32_t yy_nxt;
359
+ };
360
+ static yyconst flex_int16_t yy_accept[795] =
361
+ { 0,
362
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
363
+ 26, 24, 14, 15, 24, 24, 24, 24, 24, 24,
364
+ 24, 24, 24, 24, 19, 20, 24, 24, 24, 23,
365
+ 24, 23, 23, 24, 14, 1, 3, 24, 5, 5,
366
+ 5, 6, 5, 5, 5, 9, 8, 8, 8, 14,
367
+ 24, 0, 17, 0, 0, 0, 22, 0, 16, 22,
368
+ 19, 0, 19, 0, 20, 20, 24, 24, 23, 23,
369
+ 23, 14, 1, 2, 0, 0, 5, 4, 5, 5,
370
+ 5, 5, 5, 0, 0, 8, 7, 8, 8, 0,
371
+ 0, 0, 0, 0, 18, 0, 0, 0, 0, 0,
372
+
373
+ 0, 22, 0, 0, 16, 22, 21, 23, 23, 0,
374
+ 0, 5, 5, 5, 5, 0, 0, 8, 8, 0,
375
+ 0, 0, 0, 0, 22, 0, 16, 21, 23, 23,
376
+ 0, 0, 0, 0, 0, 4, 5, 5, 5, 5,
377
+ 0, 0, 0, 0, 0, 7, 8, 8, 0, 23,
378
+ 23, 0, 0, 0, 5, 5, 5, 5, 0, 0,
379
+ 0, 8, 8, 0, 0, 23, 0, 0, 0, 0,
380
+ 0, 0, 4, 0, 0, 5, 5, 0, 0, 0,
381
+ 0, 0, 0, 7, 0, 0, 8, 0, 12, 10,
382
+ 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
383
+
384
+ 4, 0, 0, 0, 0, 4, 4, 4, 0, 0,
385
+ 0, 0, 0, 7, 0, 0, 0, 0, 7, 0,
386
+ 0, 0, 0, 7, 0, 0, 0, 0, 0, 0,
387
+ 0, 12, 10, 0, 13, 11, 0, 0, 0, 0,
388
+ 0, 0, 0, 0, 4, 0, 4, 0, 0, 0,
389
+ 0, 4, 0, 0, 0, 0, 0, 0, 0, 4,
390
+ 4, 4, 0, 0, 4, 4, 4, 0, 0, 0,
391
+ 0, 0, 0, 0, 0, 7, 0, 7, 0, 0,
392
+ 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
393
+ 7, 10, 0, 0, 7, 0, 0, 0, 0, 0,
394
+
395
+ 0, 13, 11, 0, 0, 0, 0, 0, 0, 0,
396
+ 4, 0, 0, 4, 0, 0, 12, 10, 0, 0,
397
+ 0, 4, 4, 4, 0, 0, 0, 0, 0, 0,
398
+ 0, 0, 0, 0, 4, 4, 4, 0, 0, 0,
399
+ 0, 0, 0, 0, 7, 0, 0, 7, 0, 0,
400
+ 12, 10, 0, 0, 0, 7, 10, 0, 0, 0,
401
+ 0, 0, 0, 0, 0, 0, 0, 7, 11, 0,
402
+ 0, 0, 0, 0, 12, 10, 0, 0, 0, 0,
403
+ 0, 0, 0, 0, 4, 4, 4, 0, 0, 13,
404
+ 11, 0, 0, 0, 4, 4, 4, 0, 0, 0,
405
+
406
+ 0, 0, 0, 12, 10, 0, 0, 0, 0, 0,
407
+ 0, 0, 0, 7, 10, 0, 0, 13, 11, 0,
408
+ 0, 0, 7, 11, 0, 0, 0, 0, 0, 12,
409
+ 10, 0, 0, 0, 0, 4, 4, 4, 0, 4,
410
+ 4, 4, 0, 0, 0, 0, 4, 4, 4, 0,
411
+ 0, 0, 13, 11, 0, 0, 0, 0, 0, 0,
412
+ 0, 0, 4, 4, 4, 0, 12, 10, 0, 0,
413
+ 0, 0, 7, 10, 0, 7, 0, 0, 0, 0,
414
+ 7, 10, 0, 0, 0, 13, 11, 0, 0, 0,
415
+ 0, 0, 0, 0, 0, 7, 11, 0, 0, 0,
416
+
417
+ 4, 4, 4, 0, 0, 0, 0, 0, 0, 0,
418
+ 0, 4, 4, 4, 0, 4, 4, 4, 0, 0,
419
+ 0, 0, 4, 4, 4, 0, 13, 11, 0, 0,
420
+ 0, 0, 4, 4, 4, 0, 4, 4, 4, 0,
421
+ 0, 0, 0, 4, 4, 4, 0, 0, 0, 0,
422
+ 0, 7, 10, 0, 0, 0, 0, 0, 0, 0,
423
+ 0, 7, 10, 0, 7, 0, 0, 0, 0, 7,
424
+ 10, 0, 13, 11, 0, 0, 0, 0, 7, 11,
425
+ 0, 7, 0, 0, 0, 0, 7, 11, 0, 0,
426
+ 0, 0, 0, 4, 4, 4, 0, 0, 0, 4,
427
+
428
+ 4, 4, 0, 12, 10, 0, 0, 0, 0, 0,
429
+ 0, 4, 4, 4, 0, 0, 4, 4, 4, 0,
430
+ 0, 0, 4, 4, 4, 0, 0, 0, 0, 0,
431
+ 0, 0, 0, 4, 4, 4, 0, 4, 4, 4,
432
+ 0, 0, 0, 0, 4, 4, 4, 0, 0, 0,
433
+ 7, 10, 0, 0, 0, 7, 10, 0, 12, 10,
434
+ 0, 0, 0, 0, 0, 0, 7, 10, 0, 0,
435
+ 7, 10, 0, 0, 0, 7, 11, 0, 0, 0,
436
+ 0, 0, 0, 0, 0, 7, 11, 0, 7, 0,
437
+ 0, 0, 0, 7, 11, 0, 0, 0, 0, 4,
438
+
439
+ 4, 4, 12, 10, 0, 0, 0, 0, 0, 4,
440
+ 4, 4, 0, 0, 0, 4, 4, 4, 0, 13,
441
+ 11, 0, 0, 0, 0, 0, 0, 4, 4, 4,
442
+ 0, 0, 4, 4, 4, 0, 0, 0, 0, 7,
443
+ 10, 12, 0, 0, 0, 0, 0, 7, 11, 0,
444
+ 0, 0, 7, 11, 0, 13, 11, 0, 0, 0,
445
+ 0, 0, 0, 7, 11, 0, 0, 7, 11, 0,
446
+ 0, 0, 0, 0, 4, 4, 4, 13, 11, 0,
447
+ 0, 0, 0, 0, 0, 0, 7, 11, 13, 0,
448
+ 0, 0, 0, 0
449
+
450
+ } ;
451
+
452
+ static yyconst flex_int32_t yy_ec[256] =
453
+ { 0,
454
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
455
+ 1, 4, 4, 1, 1, 1, 1, 1, 1, 1,
456
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
457
+ 1, 2, 5, 6, 7, 1, 8, 9, 10, 1,
458
+ 1, 11, 12, 1, 13, 14, 15, 16, 17, 17,
459
+ 17, 18, 18, 18, 18, 19, 19, 20, 21, 22,
460
+ 23, 24, 1, 1, 25, 25, 25, 25, 26, 27,
461
+ 28, 28, 28, 28, 28, 29, 28, 28, 28, 28,
462
+ 28, 28, 28, 28, 30, 28, 28, 31, 28, 28,
463
+ 1, 32, 1, 33, 28, 1, 34, 25, 35, 25,
464
+
465
+ 26, 27, 28, 28, 28, 28, 28, 36, 28, 28,
466
+ 28, 28, 28, 37, 38, 39, 40, 28, 28, 41,
467
+ 28, 28, 42, 43, 1, 1, 1, 1, 1, 1,
468
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
469
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
470
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
471
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
472
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
473
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
474
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
475
+
476
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
477
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
478
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
479
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
480
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
481
+ 1, 1, 1, 1, 1
482
+ } ;
483
+
484
+ static yyconst flex_int32_t yy_meta[44] =
485
+ { 0,
486
+ 1, 2, 3, 1, 1, 1, 1, 1, 1, 4,
487
+ 1, 1, 1, 1, 2, 5, 5, 5, 5, 6,
488
+ 2, 1, 1, 1, 5, 5, 5, 7, 7, 7,
489
+ 7, 1, 1, 5, 5, 7, 7, 7, 7, 7,
490
+ 7, 6, 1
491
+ } ;
492
+
493
+ static yyconst flex_int16_t yy_base[943] =
494
+ { 0,
495
+ 0, 42, 42, 44, 52, 46, 70, 48, 91, 50,
496
+ 1083, 9762, 52, 9762, 1054, 52, 1052, 50, 1042, 1036,
497
+ 48, 90, 45, 122, 132, 160, 43, 1035, 44, 0,
498
+ 1034, 1018, 1012, 92, 68, 9762, 9762, 1046, 138, 199,
499
+ 100, 9762, 0, 1007, 997, 9762, 154, 182, 108, 150,
500
+ 9762, 128, 9762, 188, 1014, 205, 231, 1008, 0, 148,
501
+ 140, 193, 158, 0, 0, 196, 994, 990, 0, 978,
502
+ 972, 226, 9762, 9762, 241, 127, 972, 9762, 159, 87,
503
+ 0, 973, 969, 249, 171, 967, 9762, 203, 180, 221,
504
+ 257, 260, 263, 0, 9762, 986, 280, 283, 292, 0,
505
+
506
+ 299, 9762, 973, 223, 0, 0, 284, 939, 936, 964,
507
+ 319, 204, 219, 934, 922, 943, 304, 246, 232, 320,
508
+ 0, 313, 0, 269, 346, 934, 9762, 313, 905, 900,
509
+ 920, 317, 356, 364, 405, 389, 267, 309, 892, 894,
510
+ 917, 335, 353, 378, 400, 398, 297, 312, 916, 415,
511
+ 883, 910, 446, 487, 420, 255, 425, 880, 893, 430,
512
+ 457, 435, 315, 171, 372, 440, 881, 528, 569, 610,
513
+ 651, 692, 733, 461, 375, 450, 472, 878, 489, 494,
514
+ 511, 525, 539, 542, 491, 443, 522, 203, 9762, 9762,
515
+ 875, 441, 336, 458, 469, 868, 774, 815, 856, 897,
516
+
517
+ 938, 979, 1020, 553, 554, 474, 9762, 9762, 857, 584,
518
+ 595, 506, 508, 854, 617, 640, 654, 665, 676, 681,
519
+ 703, 564, 567, 9762, 853, 643, 696, 523, 852, 536,
520
+ 580, 597, 667, 478, 9762, 9762, 851, 679, 566, 1061,
521
+ 1102, 1143, 1184, 1225, 1266, 592, 842, 1307, 1348, 1389,
522
+ 1430, 1471, 581, 725, 841, 618, 740, 748, 1512, 763,
523
+ 771, 778, 804, 705, 572, 9762, 9762, 834, 807, 625,
524
+ 800, 829, 840, 845, 867, 870, 633, 830, 872, 892,
525
+ 894, 899, 921, 639, 923, 828, 648, 931, 945, 953,
526
+ 968, 976, 983, 869, 9762, 827, 990, 826, 823, 662,
527
+
528
+ 687, 716, 720, 818, 1553, 1594, 1635, 1676, 1717, 1758,
529
+ 1799, 803, 741, 801, 728, 946, 777, 776, 1013, 1024,
530
+ 1840, 1027, 1050, 1058, 768, 1881, 1922, 812, 1065, 761,
531
+ 785, 1091, 1094, 1963, 1117, 1127, 1147, 760, 1035, 1087,
532
+ 1150, 1173, 1195, 1198, 1200, 753, 786, 748, 895, 1113,
533
+ 746, 722, 1175, 1220, 1222, 948, 999, 721, 1236, 1250,
534
+ 1114, 1270, 720, 793, 1273, 1281, 1296, 1298, 1318, 719,
535
+ 714, 2004, 2045, 1130, 711, 704, 2086, 2127, 699, 2168,
536
+ 2209, 2250, 2291, 2332, 2373, 2414, 2455, 1149, 1282, 693,
537
+ 690, 1332, 1341, 2496, 1352, 1355, 1378, 678, 2537, 2578,
538
+
539
+ 1400, 1403, 1172, 663, 638, 1414, 1425, 636, 1455, 1460,
540
+ 1496, 1501, 1537, 1542, 1578, 1221, 1423, 630, 624, 1544,
541
+ 1585, 1601, 1327, 1363, 623, 1630, 1646, 616, 1237, 613,
542
+ 606, 2619, 2660, 2701, 2742, 2783, 2824, 2865, 1438, 1238,
543
+ 597, 583, 2906, 2947, 2988, 3029, 3070, 3111, 3152, 3193,
544
+ 3234, 1284, 580, 565, 3275, 3316, 553, 3357, 3398, 3439,
545
+ 3480, 3521, 3562, 3603, 3644, 1295, 551, 550, 1660, 1671,
546
+ 1701, 1706, 1485, 1608, 1468, 548, 1742, 1747, 1783, 1788,
547
+ 1824, 1829, 1865, 1870, 1366, 541, 524, 1906, 1911, 507,
548
+ 1947, 1952, 1988, 1993, 2029, 2034, 2070, 3685, 3726, 3767,
549
+
550
+ 3808, 3849, 3890, 3931, 3972, 1509, 4013, 4054, 4095, 4136,
551
+ 4177, 4218, 4259, 4300, 1520, 1401, 500, 490, 4341, 4382,
552
+ 4423, 4464, 4505, 4546, 4587, 1426, 474, 468, 4628, 4669,
553
+ 4710, 4751, 4792, 4833, 4874, 1556, 1443, 466, 459, 4915,
554
+ 4956, 4997, 5038, 5079, 5120, 5161, 5202, 5243, 2075, 2111,
555
+ 2116, 1731, 1772, 2152, 2157, 1610, 2193, 2198, 2234, 2239,
556
+ 2275, 2280, 2316, 1643, 435, 2321, 2357, 2362, 2398, 2403,
557
+ 2439, 1484, 428, 425, 2444, 2480, 2485, 2521, 1813, 1854,
558
+ 1669, 423, 2526, 2562, 2567, 2603, 2608, 2644, 2649, 2685,
559
+ 5284, 5325, 5366, 5407, 5448, 5489, 5530, 5571, 5612, 5653,
560
+
561
+ 5694, 5735, 1507, 418, 413, 5776, 5817, 5858, 5899, 5940,
562
+ 5981, 6022, 6063, 6104, 1508, 1684, 1549, 403, 401, 6145,
563
+ 6186, 6227, 6268, 6309, 6350, 6391, 6432, 1714, 6473, 6514,
564
+ 6555, 6596, 6637, 6678, 6719, 6760, 1755, 1571, 394, 386,
565
+ 6801, 6842, 6883, 6924, 6965, 7006, 7047, 2690, 2726, 2731,
566
+ 1895, 1936, 2767, 2772, 2808, 1977, 2018, 1597, 385, 384,
567
+ 2813, 2849, 2854, 2890, 2895, 2931, 2936, 2972, 1623, 1796,
568
+ 383, 378, 2977, 3013, 3018, 2059, 2100, 3054, 3059, 1837,
569
+ 3095, 3100, 3136, 3141, 3177, 3182, 3218, 1878, 377, 3223,
570
+ 3259, 3264, 3300, 3305, 3341, 7088, 7129, 7170, 7211, 7252,
571
+
572
+ 7293, 7334, 361, 359, 7375, 7416, 7457, 7498, 7539, 7580,
573
+ 7621, 7662, 7703, 7744, 7785, 7826, 7867, 7908, 1672, 358,
574
+ 349, 7949, 7990, 8031, 8072, 8113, 8154, 8195, 8236, 8277,
575
+ 1689, 1919, 1730, 330, 316, 3346, 3382, 3387, 3423, 2141,
576
+ 2182, 293, 3428, 3464, 3469, 3505, 3510, 2223, 2264, 3546,
577
+ 3551, 3587, 2305, 2346, 1771, 260, 254, 3592, 3628, 3633,
578
+ 3669, 3674, 3710, 3715, 3751, 1812, 1960, 243, 220, 8318,
579
+ 8359, 8400, 8441, 8482, 8523, 8564, 8605, 188, 172, 8646,
580
+ 8687, 3756, 3792, 3797, 3833, 3838, 2387, 2428, 159, 3874,
581
+ 3879, 8728, 3915, 9762, 8770, 8777, 8780, 8786, 8789, 8795,
582
+
583
+ 8802, 8809, 150, 138, 97, 8816, 8823, 8830, 8837, 8844,
584
+ 80, 64, 8851, 8858, 8865, 8872, 8879, 8886, 8893, 8900,
585
+ 8907, 8914, 8921, 8928, 8935, 8942, 8949, 8956, 8963, 8970,
586
+ 8977, 8984, 8991, 8998, 9005, 9012, 9019, 9026, 9033, 9040,
587
+ 9047, 9054, 9061, 9068, 9075, 9082, 9089, 9096, 9103, 9110,
588
+ 9117, 9124, 9131, 9138, 9145, 9152, 9159, 9166, 9173, 9180,
589
+ 9187, 9194, 9201, 9208, 9215, 9222, 9229, 9236, 9243, 9250,
590
+ 9257, 9264, 9271, 9278, 9285, 9292, 9299, 9306, 9313, 9320,
591
+ 9327, 9334, 9341, 9348, 9355, 9362, 9369, 9376, 9383, 9390,
592
+ 9397, 9404, 9411, 9418, 9425, 9432, 9439, 9446, 9453, 9460,
593
+
594
+ 9467, 9474, 9481, 9488, 9495, 9502, 9509, 9516, 9523, 9530,
595
+ 9537, 9544, 9551, 9558, 9565, 9572, 9579, 9586, 9593, 9600,
596
+ 9607, 9614, 9621, 9628, 9635, 9642, 9649, 9656, 9663, 9670,
597
+ 9677, 9684, 9691, 9698, 9705, 9712, 9719, 9726, 9733, 9740,
598
+ 9747, 9754
599
+ } ;
600
+
601
+ static yyconst flex_int16_t yy_def[943] =
602
+ { 0,
603
+ 794, 1, 1, 1, 1, 5, 5, 7, 1, 9,
604
+ 794, 794, 794, 794, 794, 795, 794, 794, 796, 794,
605
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 797,
606
+ 794, 797, 797, 794, 794, 794, 794, 794, 798, 798,
607
+ 40, 794, 799, 799, 799, 794, 800, 800, 48, 794,
608
+ 794, 795, 794, 795, 794, 796, 794, 801, 802, 57,
609
+ 25, 794, 794, 803, 26, 794, 794, 794, 797, 797,
610
+ 797, 794, 794, 794, 794, 794, 40, 794, 40, 40,
611
+ 799, 799, 799, 794, 794, 48, 794, 48, 48, 795,
612
+ 795, 795, 795, 804, 794, 794, 794, 794, 794, 805,
613
+
614
+ 794, 794, 801, 806, 802, 60, 803, 797, 797, 807,
615
+ 808, 40, 40, 799, 799, 809, 810, 48, 48, 795,
616
+ 811, 794, 812, 794, 794, 813, 794, 794, 797, 797,
617
+ 807, 814, 808, 808, 808, 808, 40, 40, 799, 799,
618
+ 809, 815, 810, 810, 810, 810, 48, 48, 813, 797,
619
+ 797, 816, 817, 808, 40, 40, 799, 799, 818, 819,
620
+ 810, 48, 48, 820, 794, 797, 816, 817, 817, 807,
621
+ 821, 817, 817, 820, 794, 40, 799, 818, 819, 819,
622
+ 809, 822, 819, 819, 820, 794, 48, 820, 794, 794,
623
+ 823, 824, 825, 794, 807, 807, 826, 826, 816, 808,
624
+
625
+ 826, 827, 817, 820, 820, 820, 794, 794, 828, 829,
626
+ 825, 794, 809, 809, 830, 830, 818, 810, 830, 831,
627
+ 819, 820, 820, 794, 832, 833, 825, 794, 823, 834,
628
+ 824, 824, 824, 825, 794, 794, 835, 836, 837, 817,
629
+ 826, 826, 816, 826, 826, 816, 816, 838, 838, 839,
630
+ 817, 838, 840, 841, 828, 842, 829, 829, 829, 829,
631
+ 829, 829, 825, 825, 825, 794, 794, 843, 844, 845,
632
+ 819, 830, 830, 818, 830, 830, 818, 818, 846, 846,
633
+ 847, 819, 846, 848, 849, 832, 850, 833, 833, 833,
634
+ 833, 833, 825, 825, 794, 851, 852, 853, 835, 854,
635
+
636
+ 836, 836, 836, 839, 826, 826, 838, 838, 839, 838,
637
+ 838, 839, 839, 839, 840, 855, 807, 807, 841, 841,
638
+ 841, 841, 808, 808, 856, 857, 829, 858, 859, 843,
639
+ 860, 844, 844, 844, 844, 844, 844, 847, 830, 830,
640
+ 846, 846, 847, 846, 846, 847, 847, 847, 848, 861,
641
+ 862, 862, 849, 849, 849, 863, 863, 864, 865, 833,
642
+ 866, 867, 851, 868, 852, 852, 852, 852, 852, 853,
643
+ 869, 838, 838, 870, 871, 871, 872, 841, 856, 857,
644
+ 857, 840, 873, 857, 857, 857, 857, 858, 874, 807,
645
+ 807, 859, 859, 859, 859, 808, 808, 875, 876, 844,
646
+
647
+ 846, 846, 877, 878, 878, 879, 849, 864, 865, 865,
648
+ 848, 880, 865, 865, 865, 866, 881, 862, 862, 867,
649
+ 867, 867, 863, 863, 882, 883, 852, 869, 870, 871,
650
+ 871, 872, 872, 884, 872, 872, 885, 885, 840, 840,
651
+ 807, 807, 886, 886, 870, 887, 886, 886, 886, 888,
652
+ 857, 889, 871, 871, 890, 859, 875, 876, 876, 858,
653
+ 891, 876, 876, 876, 876, 877, 878, 878, 879, 879,
654
+ 892, 879, 893, 893, 848, 862, 894, 894, 877, 895,
655
+ 894, 894, 896, 865, 897, 878, 878, 898, 867, 882,
656
+ 883, 883, 866, 899, 883, 883, 883, 900, 900, 901,
657
+
658
+ 900, 902, 902, 903, 872, 904, 872, 886, 886, 870,
659
+ 886, 886, 886, 886, 870, 870, 871, 871, 905, 905,
660
+ 906, 857, 905, 905, 905, 889, 871, 871, 890, 890,
661
+ 907, 890, 890, 885, 885, 858, 858, 807, 807, 908,
662
+ 908, 889, 909, 908, 908, 908, 910, 876, 911, 911,
663
+ 912, 913, 913, 914, 879, 915, 879, 894, 894, 877,
664
+ 894, 894, 894, 877, 878, 916, 916, 917, 865, 916,
665
+ 916, 897, 878, 878, 898, 898, 918, 898, 919, 919,
666
+ 866, 862, 920, 920, 897, 921, 920, 920, 922, 883,
667
+ 900, 900, 900, 900, 902, 902, 923, 923, 872, 923,
668
+
669
+ 924, 924, 906, 925, 925, 886, 900, 905, 905, 906,
670
+ 905, 905, 905, 905, 906, 906, 906, 925, 925, 926,
671
+ 926, 927, 926, 902, 902, 928, 890, 929, 890, 908,
672
+ 908, 889, 908, 908, 908, 908, 889, 889, 871, 871,
673
+ 930, 930, 931, 876, 930, 930, 930, 911, 911, 911,
674
+ 913, 913, 932, 932, 879, 933, 933, 917, 934, 934,
675
+ 894, 911, 916, 916, 917, 916, 916, 916, 917, 917,
676
+ 934, 934, 935, 935, 936, 913, 913, 937, 898, 938,
677
+ 898, 920, 920, 897, 920, 920, 920, 897, 878, 939,
678
+ 939, 940, 883, 939, 939, 900, 923, 923, 923, 923,
679
+
680
+ 924, 924, 925, 925, 905, 923, 926, 926, 926, 926,
681
+ 902, 902, 941, 941, 890, 941, 924, 924, 931, 925,
682
+ 925, 908, 926, 930, 930, 931, 930, 930, 930, 930,
683
+ 931, 931, 931, 925, 925, 911, 932, 932, 932, 933,
684
+ 933, 934, 916, 932, 935, 935, 935, 913, 913, 942,
685
+ 942, 898, 933, 933, 940, 934, 934, 920, 935, 939,
686
+ 939, 940, 939, 939, 939, 940, 940, 934, 934, 923,
687
+ 926, 941, 941, 941, 941, 924, 924, 925, 925, 930,
688
+ 941, 932, 935, 942, 942, 942, 933, 933, 934, 939,
689
+ 942, 941, 942, 0, 794, 794, 794, 794, 794, 794,
690
+
691
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
692
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
693
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
694
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
695
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
696
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
697
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
698
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
699
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
700
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
701
+
702
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
703
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
704
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
705
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
706
+ 794, 794
707
+ } ;
708
+
709
+ static yyconst flex_int16_t yy_nxt[9806] =
710
+ { 0,
711
+ 12, 13, 14, 13, 15, 16, 12, 17, 18, 19,
712
+ 20, 21, 22, 23, 24, 25, 26, 26, 26, 12,
713
+ 12, 27, 28, 29, 30, 30, 30, 30, 30, 30,
714
+ 30, 12, 31, 30, 32, 30, 30, 33, 30, 30,
715
+ 30, 12, 34, 35, 37, 35, 37, 35, 36, 35,
716
+ 36, 35, 36, 50, 36, 50, 36, 53, 51, 51,
717
+ 57, 57, 57, 57, 67, 51, 51, 68, 55, 72,
718
+ 51, 50, 51, 38, 73, 38, 39, 39, 39, 39,
719
+ 39, 39, 39, 54, 52, 39, 40, 39, 39, 41,
720
+ 39, 39, 39, 42, 43, 43, 43, 43, 43, 43,
721
+
722
+ 43, 123, 51, 43, 44, 43, 43, 45, 43, 43,
723
+ 43, 46, 51, 51, 51, 47, 47, 47, 47, 47,
724
+ 47, 47, 77, 113, 47, 48, 47, 47, 49, 47,
725
+ 47, 47, 58, 53, 51, 77, 59, 110, 80, 75,
726
+ 75, 111, 121, 86, 51, 60, 89, 61, 61, 61,
727
+ 62, 50, 76, 50, 107, 84, 84, 78, 78, 54,
728
+ 63, 63, 64, 106, 106, 106, 106, 63, 85, 142,
729
+ 794, 63, 64, 60, 87, 65, 65, 65, 65, 78,
730
+ 794, 116, 132, 84, 84, 117, 63, 63, 66, 66,
731
+ 90, 189, 112, 63, 77, 66, 85, 63, 132, 66,
732
+
733
+ 75, 75, 87, 91, 92, 93, 60, 96, 62, 62,
734
+ 62, 62, 190, 76, 55, 86, 119, 88, 78, 78,
735
+ 97, 98, 99, 189, 66, 66, 53, 72, 94, 50,
736
+ 142, 66, 73, 104, 79, 66, 118, 127, 86, 77,
737
+ 78, 137, 75, 75, 190, 100, 57, 57, 57, 57,
738
+ 84, 84, 54, 142, 77, 76, 101, 102, 138, 102,
739
+ 78, 78, 53, 85, 142, 53, 102, 86, 53, 87,
740
+ 142, 148, 120, 120, 120, 120, 120, 120, 90, 90,
741
+ 90, 86, 78, 147, 125, 125, 125, 125, 54, 95,
742
+ 77, 54, 95, 176, 54, 122, 122, 122, 122, 122,
743
+
744
+ 122, 95, 77, 142, 155, 144, 84, 55, 55, 55,
745
+ 124, 124, 128, 128, 125, 125, 125, 125, 145, 128,
746
+ 134, 75, 95, 128, 146, 53, 132, 132, 55, 55,
747
+ 55, 75, 86, 135, 162, 90, 90, 90, 136, 136,
748
+ 132, 128, 128, 156, 77, 142, 163, 86, 128, 84,
749
+ 86, 54, 128, 187, 144, 84, 235, 134, 75, 132,
750
+ 136, 125, 125, 125, 125, 134, 75, 145, 132, 132,
751
+ 135, 132, 102, 146, 102, 136, 136, 236, 135, 144,
752
+ 84, 102, 191, 136, 136, 209, 192, 142, 142, 210,
753
+ 134, 75, 145, 142, 142, 142, 132, 136, 146, 144,
754
+
755
+ 84, 144, 84, 135, 132, 136, 134, 75, 136, 136,
756
+ 160, 132, 145, 132, 161, 153, 164, 164, 146, 154,
757
+ 146, 174, 174, 132, 136, 136, 164, 164, 132, 165,
758
+ 136, 180, 181, 142, 175, 142, 185, 185, 142, 165,
759
+ 182, 193, 193, 188, 183, 142, 136, 169, 170, 186,
760
+ 184, 211, 211, 225, 194, 77, 171, 226, 144, 84,
761
+ 172, 232, 204, 204, 212, 173, 173, 160, 237, 132,
762
+ 86, 161, 238, 193, 193, 205, 132, 146, 132, 239,
763
+ 206, 207, 233, 240, 132, 77, 194, 173, 134, 75,
764
+ 180, 181, 222, 222, 189, 180, 181, 153, 235, 182,
765
+
766
+ 132, 154, 208, 183, 182, 223, 136, 136, 183, 184,
767
+ 132, 224, 181, 181, 184, 190, 268, 364, 270, 236,
768
+ 269, 142, 271, 227, 227, 213, 216, 217, 136, 169,
769
+ 170, 214, 190, 296, 142, 182, 228, 297, 171, 218,
770
+ 180, 181, 172, 180, 181, 219, 230, 173, 173, 220,
771
+ 164, 142, 182, 221, 204, 204, 183, 86, 142, 184,
772
+ 142, 142, 184, 331, 253, 222, 222, 205, 254, 173,
773
+ 169, 170, 206, 207, 189, 132, 132, 284, 223, 171,
774
+ 170, 285, 188, 172, 224, 258, 204, 189, 173, 173,
775
+ 132, 316, 235, 132, 208, 190, 263, 263, 259, 188,
776
+
777
+ 232, 317, 239, 260, 261, 190, 306, 132, 190, 264,
778
+ 173, 170, 170, 236, 265, 266, 132, 232, 273, 274,
779
+ 132, 233, 318, 132, 195, 262, 300, 182, 256, 196,
780
+ 196, 275, 174, 364, 142, 142, 267, 276, 233, 181,
781
+ 142, 273, 274, 270, 289, 222, 287, 340, 142, 350,
782
+ 182, 196, 198, 199, 275, 274, 274, 290, 287, 351,
783
+ 276, 171, 185, 291, 142, 200, 144, 84, 277, 188,
784
+ 201, 201, 300, 142, 278, 160, 193, 273, 274, 161,
785
+ 352, 234, 280, 281, 292, 146, 182, 232, 331, 234,
786
+ 275, 182, 201, 169, 170, 282, 276, 293, 293, 302,
787
+
788
+ 132, 283, 202, 132, 180, 181, 203, 302, 233, 256,
789
+ 294, 173, 173, 220, 132, 328, 295, 221, 234, 329,
790
+ 303, 132, 234, 184, 300, 235, 320, 204, 303, 230,
791
+ 364, 287, 142, 173, 169, 170, 302, 236, 316, 321,
792
+ 302, 258, 204, 171, 322, 323, 236, 172, 317, 258,
793
+ 204, 239, 173, 173, 259, 373, 142, 303, 142, 260,
794
+ 261, 303, 259, 142, 258, 204, 324, 260, 261, 318,
795
+ 142, 331, 258, 204, 173, 242, 243, 259, 256, 258,
796
+ 204, 262, 260, 261, 171, 259, 132, 132, 244, 262,
797
+ 260, 261, 259, 245, 245, 331, 270, 260, 261, 211,
798
+
799
+ 402, 180, 181, 364, 262, 263, 263, 227, 333, 263,
800
+ 182, 132, 262, 132, 183, 245, 242, 243, 264, 262,
801
+ 184, 334, 389, 265, 266, 171, 335, 336, 132, 244,
802
+ 273, 274, 390, 300, 245, 245, 230, 364, 287, 182,
803
+ 142, 273, 274, 275, 331, 267, 274, 274, 337, 276,
804
+ 182, 256, 132, 391, 275, 142, 245, 243, 243, 277,
805
+ 276, 300, 230, 287, 142, 278, 132, 256, 273, 274,
806
+ 246, 273, 274, 342, 343, 247, 247, 220, 132, 361,
807
+ 182, 339, 182, 362, 275, 230, 344, 276, 142, 235,
808
+ 276, 132, 345, 342, 343, 343, 343, 247, 134, 75,
809
+
810
+ 180, 181, 182, 142, 142, 350, 344, 153, 347, 220,
811
+ 236, 154, 345, 221, 348, 351, 136, 136, 177, 184,
812
+ 132, 166, 342, 343, 354, 222, 104, 142, 158, 157,
813
+ 132, 182, 289, 222, 151, 344, 352, 355, 136, 242,
814
+ 243, 345, 150, 356, 104, 290, 289, 222, 171, 144,
815
+ 84, 291, 244, 142, 289, 222, 316, 245, 245, 290,
816
+ 204, 140, 145, 359, 357, 291, 375, 360, 146, 289,
817
+ 222, 139, 292, 291, 132, 130, 129, 289, 222, 245,
818
+ 249, 250, 290, 104, 293, 293, 292, 376, 291, 171,
819
+ 290, 366, 293, 251, 292, 95, 291, 294, 252, 252,
820
+
821
+ 144, 84, 86, 295, 367, 115, 114, 77, 109, 292,
822
+ 368, 108, 51, 145, 320, 204, 51, 292, 104, 146,
823
+ 252, 169, 170, 95, 236, 320, 204, 321, 320, 204,
824
+ 202, 369, 322, 323, 203, 83, 273, 274, 321, 173,
825
+ 173, 321, 82, 322, 323, 220, 322, 323, 74, 339,
826
+ 71, 134, 75, 70, 324, 276, 51, 51, 51, 134,
827
+ 75, 173, 169, 170, 135, 324, 393, 263, 324, 136,
828
+ 136, 171, 135, 56, 51, 172, 51, 136, 136, 394,
829
+ 173, 173, 794, 794, 395, 396, 794, 794, 273, 274,
830
+ 794, 136, 333, 263, 794, 333, 263, 182, 794, 136,
831
+
832
+ 794, 275, 173, 242, 243, 334, 397, 276, 334, 794,
833
+ 335, 336, 171, 335, 336, 794, 244, 794, 333, 263,
834
+ 794, 245, 245, 350, 417, 794, 794, 222, 333, 263,
835
+ 794, 334, 337, 404, 418, 337, 335, 336, 794, 794,
836
+ 316, 334, 794, 245, 242, 243, 335, 336, 333, 263,
837
+ 430, 342, 343, 171, 405, 419, 794, 244, 337, 389,
838
+ 182, 334, 245, 245, 344, 794, 335, 336, 337, 390,
839
+ 345, 431, 794, 794, 342, 343, 354, 222, 794, 794,
840
+ 794, 794, 350, 182, 245, 243, 243, 344, 337, 355,
841
+ 391, 794, 467, 345, 132, 356, 343, 343, 246, 342,
842
+
843
+ 343, 342, 343, 247, 247, 142, 794, 794, 220, 347,
844
+ 182, 794, 401, 468, 344, 348, 357, 794, 345, 794,
845
+ 345, 354, 222, 354, 222, 247, 242, 243, 794, 794,
846
+ 794, 417, 406, 794, 355, 202, 407, 410, 411, 305,
847
+ 356, 418, 356, 794, 245, 245, 412, 316, 316, 794,
848
+ 413, 289, 222, 794, 794, 794, 414, 430, 317, 794,
849
+ 359, 357, 419, 357, 360, 794, 245, 242, 243, 794,
850
+ 291, 421, 293, 794, 366, 293, 171, 415, 431, 318,
851
+ 244, 794, 366, 293, 422, 245, 245, 367, 794, 794,
852
+ 423, 292, 389, 368, 389, 367, 263, 366, 293, 366,
853
+
854
+ 293, 368, 453, 794, 527, 350, 426, 245, 308, 309,
855
+ 427, 424, 367, 794, 369, 467, 368, 171, 368, 366,
856
+ 293, 310, 369, 454, 794, 528, 311, 311, 144, 84,
857
+ 794, 794, 367, 393, 263, 794, 468, 369, 368, 369,
858
+ 794, 145, 393, 263, 794, 794, 394, 146, 311, 308,
859
+ 309, 395, 396, 393, 263, 394, 134, 75, 171, 369,
860
+ 395, 396, 310, 794, 144, 84, 394, 311, 311, 135,
861
+ 794, 395, 396, 397, 136, 136, 417, 145, 794, 134,
862
+ 75, 794, 397, 146, 794, 794, 573, 794, 794, 311,
863
+ 309, 309, 135, 397, 794, 794, 136, 136, 136, 132,
864
+
865
+ 794, 342, 343, 313, 342, 343, 794, 574, 314, 314,
866
+ 220, 316, 794, 182, 401, 470, 411, 344, 794, 136,
867
+ 345, 430, 794, 345, 471, 794, 354, 222, 472, 794,
868
+ 314, 169, 170, 417, 473, 406, 389, 293, 794, 407,
869
+ 202, 794, 431, 486, 203, 356, 527, 794, 506, 173,
870
+ 173, 794, 507, 389, 794, 474, 410, 411, 317, 794,
871
+ 794, 410, 411, 390, 487, 412, 357, 528, 794, 413,
872
+ 412, 173, 308, 309, 413, 414, 794, 794, 556, 318,
873
+ 414, 171, 557, 794, 391, 310, 180, 181, 351, 794,
874
+ 311, 311, 794, 794, 417, 182, 415, 411, 411, 183,
875
+
876
+ 794, 415, 478, 479, 573, 184, 350, 794, 794, 352,
877
+ 475, 412, 311, 258, 204, 480, 476, 316, 316, 316,
878
+ 794, 481, 326, 382, 794, 574, 327, 703, 703, 604,
879
+ 506, 260, 261, 794, 607, 794, 794, 352, 410, 411,
880
+ 430, 794, 482, 410, 411, 421, 293, 483, 704, 704,
881
+ 605, 484, 412, 262, 242, 243, 413, 414, 422, 316,
882
+ 794, 431, 414, 202, 423, 794, 628, 305, 794, 703,
883
+ 629, 794, 245, 245, 794, 794, 390, 794, 415, 410,
884
+ 411, 389, 794, 415, 794, 424, 421, 293, 412, 794,
885
+ 704, 527, 413, 794, 245, 242, 243, 391, 414, 422,
886
+
887
+ 794, 794, 421, 293, 171, 423, 794, 350, 244, 180,
888
+ 181, 488, 528, 245, 245, 489, 794, 742, 182, 415,
889
+ 350, 423, 183, 794, 411, 794, 424, 794, 184, 794,
890
+ 659, 492, 493, 350, 794, 245, 308, 309, 672, 794,
891
+ 494, 794, 424, 742, 495, 171, 794, 366, 293, 310,
892
+ 496, 660, 794, 556, 311, 311, 426, 662, 794, 794,
893
+ 427, 470, 411, 467, 672, 794, 368, 794, 794, 794,
894
+ 471, 497, 470, 411, 472, 794, 311, 308, 309, 680,
895
+ 473, 471, 389, 681, 468, 472, 171, 369, 794, 418,
896
+ 310, 473, 778, 794, 506, 311, 311, 794, 706, 389,
897
+
898
+ 794, 474, 550, 479, 703, 794, 794, 470, 411, 778,
899
+ 419, 471, 474, 779, 794, 551, 554, 311, 309, 309,
900
+ 555, 552, 794, 794, 389, 704, 473, 132, 460, 794,
901
+ 779, 313, 273, 274, 720, 794, 314, 314, 794, 794,
902
+ 389, 182, 553, 559, 560, 275, 794, 474, 559, 560,
903
+ 778, 276, 412, 794, 794, 721, 561, 412, 314, 308,
904
+ 309, 561, 562, 794, 794, 628, 794, 562, 202, 723,
905
+ 794, 779, 372, 273, 274, 527, 794, 311, 311, 794,
906
+ 794, 417, 182, 563, 560, 560, 275, 794, 563, 289,
907
+ 222, 789, 276, 350, 794, 794, 528, 564, 359, 311,
908
+
909
+ 308, 309, 360, 565, 794, 794, 556, 794, 291, 171,
910
+ 744, 794, 769, 310, 180, 181, 742, 794, 311, 311,
911
+ 794, 794, 417, 182, 468, 559, 560, 183, 794, 292,
912
+ 559, 560, 789, 184, 412, 794, 794, 672, 561, 412,
913
+ 311, 320, 204, 561, 562, 794, 794, 417, 794, 562,
914
+ 377, 493, 794, 769, 378, 180, 181, 756, 794, 322,
915
+ 323, 794, 794, 794, 182, 563, 567, 568, 183, 794,
916
+ 563, 410, 411, 794, 184, 412, 794, 794, 757, 569,
917
+ 483, 324, 381, 382, 484, 570, 794, 794, 680, 794,
918
+ 414, 383, 759, 794, 794, 384, 273, 274, 573, 794,
919
+
920
+ 385, 386, 794, 794, 794, 182, 571, 576, 493, 275,
921
+ 794, 415, 421, 293, 794, 276, 577, 794, 794, 574,
922
+ 578, 488, 387, 258, 204, 489, 579, 794, 794, 628,
923
+ 794, 423, 326, 781, 794, 794, 327, 273, 274, 778,
924
+ 794, 260, 261, 794, 794, 794, 182, 580, 492, 493,
925
+ 275, 794, 424, 492, 493, 794, 276, 494, 794, 794,
926
+ 779, 495, 494, 262, 333, 263, 495, 496, 794, 794,
927
+ 680, 794, 496, 399, 791, 794, 794, 400, 342, 343,
928
+ 789, 794, 335, 336, 794, 794, 794, 182, 497, 493,
929
+ 493, 344, 794, 497, 584, 585, 794, 345, 417, 794,
930
+
931
+ 794, 769, 581, 494, 337, 308, 309, 586, 582, 794,
932
+ 794, 794, 794, 587, 202, 794, 794, 794, 372, 342,
933
+ 343, 794, 794, 311, 311, 794, 794, 794, 182, 419,
934
+ 492, 493, 344, 794, 588, 492, 493, 794, 345, 589,
935
+ 794, 794, 794, 590, 494, 311, 308, 309, 495, 496,
936
+ 794, 794, 794, 794, 496, 171, 794, 794, 794, 310,
937
+ 273, 274, 794, 794, 311, 311, 794, 794, 794, 182,
938
+ 497, 492, 493, 275, 794, 497, 649, 560, 794, 276,
939
+ 494, 794, 794, 794, 495, 471, 311, 433, 382, 650,
940
+ 496, 794, 794, 794, 794, 651, 434, 794, 794, 794,
941
+
942
+ 435, 273, 274, 794, 794, 436, 437, 794, 794, 794,
943
+ 182, 497, 649, 560, 275, 794, 652, 354, 222, 794,
944
+ 276, 471, 794, 794, 794, 650, 406, 438, 320, 204,
945
+ 407, 651, 794, 794, 794, 794, 356, 377, 794, 794,
946
+ 794, 378, 342, 343, 794, 794, 322, 323, 794, 794,
947
+ 794, 182, 652, 654, 568, 344, 794, 357, 470, 411,
948
+ 794, 345, 471, 794, 794, 794, 655, 554, 324, 381,
949
+ 382, 555, 656, 794, 794, 794, 794, 473, 383, 794,
950
+ 794, 794, 384, 342, 343, 794, 794, 385, 386, 794,
951
+ 794, 794, 182, 657, 470, 411, 344, 794, 474, 559,
952
+
953
+ 560, 794, 345, 471, 794, 794, 794, 472, 412, 387,
954
+ 381, 382, 561, 473, 794, 794, 794, 794, 562, 383,
955
+ 794, 794, 794, 384, 273, 274, 794, 794, 385, 386,
956
+ 794, 794, 794, 182, 474, 559, 560, 275, 794, 563,
957
+ 560, 560, 794, 276, 412, 794, 794, 794, 561, 350,
958
+ 387, 382, 382, 564, 562, 794, 794, 794, 794, 565,
959
+ 316, 794, 794, 794, 439, 273, 274, 794, 794, 440,
960
+ 441, 794, 794, 794, 182, 563, 559, 560, 275, 794,
961
+ 468, 559, 560, 794, 276, 483, 794, 794, 794, 661,
962
+ 412, 442, 444, 445, 561, 562, 794, 794, 794, 794,
963
+
964
+ 562, 383, 794, 794, 794, 446, 342, 343, 794, 794,
965
+ 447, 448, 794, 794, 794, 182, 563, 559, 560, 344,
966
+ 794, 563, 664, 665, 794, 345, 412, 794, 794, 794,
967
+ 561, 412, 449, 381, 382, 666, 562, 794, 794, 794,
968
+ 794, 667, 450, 794, 794, 794, 451, 342, 343, 794,
969
+ 794, 385, 386, 794, 794, 794, 182, 563, 664, 665,
970
+ 344, 794, 668, 665, 665, 794, 345, 412, 794, 794,
971
+ 794, 666, 350, 387, 381, 382, 670, 667, 794, 794,
972
+ 794, 794, 671, 383, 794, 794, 794, 384, 342, 343,
973
+ 794, 794, 385, 386, 794, 794, 794, 182, 668, 410,
974
+
975
+ 411, 344, 794, 672, 664, 665, 794, 345, 483, 794,
976
+ 794, 794, 484, 412, 387, 381, 382, 666, 414, 794,
977
+ 794, 794, 794, 667, 383, 794, 794, 794, 384, 342,
978
+ 343, 794, 794, 385, 386, 794, 794, 794, 182, 415,
979
+ 664, 665, 344, 794, 668, 576, 493, 794, 345, 412,
980
+ 794, 794, 794, 666, 577, 387, 381, 382, 578, 667,
981
+ 794, 794, 794, 794, 579, 383, 794, 794, 794, 384,
982
+ 794, 794, 794, 794, 385, 386, 794, 794, 794, 794,
983
+ 668, 576, 493, 794, 794, 580, 674, 585, 794, 794,
984
+ 577, 794, 794, 794, 578, 577, 387, 393, 263, 675,
985
+
986
+ 579, 794, 794, 794, 794, 676, 455, 794, 794, 794,
987
+ 456, 794, 794, 794, 794, 395, 396, 794, 794, 794,
988
+ 794, 580, 576, 493, 794, 794, 677, 683, 684, 794,
989
+ 794, 678, 794, 794, 794, 679, 494, 397, 459, 460,
990
+ 685, 579, 794, 794, 794, 794, 686, 461, 794, 794,
991
+ 794, 462, 794, 794, 794, 794, 463, 464, 794, 794,
992
+ 794, 794, 580, 683, 684, 794, 794, 687, 684, 684,
993
+ 794, 794, 494, 794, 794, 794, 685, 417, 465, 333,
994
+ 263, 688, 686, 794, 794, 794, 794, 689, 399, 794,
995
+ 794, 794, 400, 794, 794, 794, 794, 335, 336, 794,
996
+
997
+ 794, 794, 794, 687, 366, 293, 794, 794, 574, 683,
998
+ 684, 794, 794, 426, 794, 794, 794, 427, 494, 337,
999
+ 433, 382, 685, 368, 794, 794, 794, 794, 686, 434,
1000
+ 794, 794, 794, 435, 794, 794, 794, 794, 436, 437,
1001
+ 794, 794, 794, 794, 369, 683, 684, 794, 794, 687,
1002
+ 691, 692, 794, 794, 494, 794, 794, 794, 685, 494,
1003
+ 438, 433, 382, 693, 686, 794, 794, 794, 794, 694,
1004
+ 434, 794, 794, 794, 435, 794, 794, 794, 794, 436,
1005
+ 437, 794, 794, 794, 794, 687, 492, 493, 794, 794,
1006
+ 695, 649, 560, 794, 794, 589, 794, 794, 794, 590,
1007
+
1008
+ 471, 438, 499, 445, 650, 496, 794, 794, 794, 794,
1009
+ 651, 434, 794, 794, 794, 500, 794, 794, 794, 794,
1010
+ 501, 502, 794, 794, 794, 794, 497, 649, 560, 794,
1011
+ 794, 652, 649, 560, 794, 794, 471, 794, 794, 794,
1012
+ 650, 554, 503, 433, 382, 736, 651, 794, 794, 794,
1013
+ 794, 651, 504, 794, 794, 794, 505, 794, 794, 794,
1014
+ 794, 436, 437, 794, 794, 794, 794, 652, 738, 665,
1015
+ 794, 794, 652, 738, 665, 794, 794, 471, 794, 794,
1016
+ 794, 739, 471, 438, 433, 382, 739, 740, 794, 794,
1017
+ 794, 794, 740, 434, 794, 794, 794, 435, 794, 794,
1018
+
1019
+ 794, 794, 436, 437, 794, 794, 794, 794, 741, 470,
1020
+ 411, 794, 794, 741, 559, 560, 794, 794, 554, 794,
1021
+ 794, 794, 555, 483, 438, 169, 170, 661, 473, 794,
1022
+ 794, 794, 794, 562, 171, 794, 794, 794, 172, 794,
1023
+ 794, 794, 794, 173, 173, 794, 794, 794, 794, 474,
1024
+ 649, 560, 794, 794, 563, 664, 665, 794, 794, 471,
1025
+ 794, 794, 794, 650, 412, 173, 169, 170, 666, 651,
1026
+ 794, 794, 794, 794, 667, 171, 794, 794, 794, 172,
1027
+ 794, 794, 794, 794, 173, 173, 794, 794, 794, 794,
1028
+ 652, 664, 665, 794, 794, 668, 665, 665, 794, 794,
1029
+
1030
+ 412, 794, 794, 794, 666, 350, 173, 509, 510, 670,
1031
+ 667, 794, 794, 794, 794, 671, 383, 794, 794, 794,
1032
+ 511, 794, 794, 794, 794, 512, 513, 794, 794, 794,
1033
+ 794, 668, 664, 665, 794, 794, 672, 664, 665, 794,
1034
+ 794, 483, 794, 794, 794, 743, 412, 514, 509, 510,
1035
+ 666, 667, 794, 794, 794, 794, 667, 383, 794, 794,
1036
+ 794, 511, 794, 794, 794, 794, 512, 513, 794, 794,
1037
+ 794, 794, 668, 664, 665, 794, 794, 668, 746, 684,
1038
+ 794, 794, 412, 794, 794, 794, 666, 577, 514, 510,
1039
+ 510, 747, 667, 794, 794, 794, 794, 748, 316, 794,
1040
+
1041
+ 794, 794, 515, 794, 794, 794, 794, 516, 517, 794,
1042
+ 794, 794, 794, 668, 746, 684, 794, 794, 749, 421,
1043
+ 293, 794, 794, 577, 794, 794, 794, 747, 488, 518,
1044
+ 258, 204, 489, 748, 794, 794, 794, 794, 423, 326,
1045
+ 794, 794, 794, 327, 794, 794, 794, 794, 260, 261,
1046
+ 794, 794, 794, 794, 749, 751, 692, 794, 794, 424,
1047
+ 576, 493, 794, 794, 577, 794, 794, 794, 752, 678,
1048
+ 262, 509, 510, 679, 753, 794, 794, 794, 794, 579,
1049
+ 383, 794, 794, 794, 511, 794, 794, 794, 794, 512,
1050
+ 513, 794, 794, 794, 794, 754, 576, 493, 794, 794,
1051
+
1052
+ 580, 683, 684, 794, 794, 577, 794, 794, 794, 578,
1053
+ 494, 514, 509, 510, 685, 579, 794, 794, 794, 794,
1054
+ 686, 383, 794, 794, 794, 511, 794, 794, 794, 794,
1055
+ 512, 513, 794, 794, 794, 794, 580, 683, 684, 794,
1056
+ 794, 687, 684, 684, 794, 794, 494, 794, 794, 794,
1057
+ 685, 417, 514, 509, 510, 688, 686, 794, 794, 794,
1058
+ 794, 689, 383, 794, 794, 794, 511, 794, 794, 794,
1059
+ 794, 512, 513, 794, 794, 794, 794, 687, 683, 684,
1060
+ 794, 794, 574, 683, 684, 794, 794, 589, 794, 794,
1061
+ 794, 758, 494, 514, 520, 521, 685, 686, 794, 794,
1062
+
1063
+ 794, 794, 686, 383, 794, 794, 794, 522, 794, 794,
1064
+ 794, 794, 523, 524, 794, 794, 794, 794, 687, 683,
1065
+ 684, 794, 794, 687, 761, 762, 794, 794, 494, 794,
1066
+ 794, 794, 685, 494, 525, 381, 382, 763, 686, 794,
1067
+ 794, 794, 794, 764, 450, 794, 794, 794, 451, 794,
1068
+ 794, 794, 794, 385, 386, 794, 794, 794, 794, 687,
1069
+ 761, 762, 794, 794, 765, 762, 762, 794, 794, 494,
1070
+ 794, 794, 794, 763, 417, 387, 530, 460, 767, 764,
1071
+ 794, 794, 794, 794, 768, 531, 794, 794, 794, 532,
1072
+ 794, 794, 794, 794, 533, 534, 794, 794, 794, 794,
1073
+
1074
+ 765, 492, 493, 794, 794, 769, 761, 762, 794, 794,
1075
+ 589, 794, 794, 794, 590, 494, 535, 393, 263, 763,
1076
+ 496, 794, 794, 794, 794, 764, 455, 794, 794, 794,
1077
+ 456, 794, 794, 794, 794, 395, 396, 794, 794, 794,
1078
+ 794, 497, 761, 762, 794, 794, 765, 649, 560, 794,
1079
+ 794, 494, 794, 794, 794, 763, 554, 397, 459, 460,
1080
+ 736, 764, 794, 794, 794, 794, 651, 461, 794, 794,
1081
+ 794, 462, 794, 794, 794, 794, 463, 464, 794, 794,
1082
+ 794, 794, 765, 738, 665, 794, 794, 652, 738, 665,
1083
+ 794, 794, 471, 794, 794, 794, 739, 471, 465, 459,
1084
+
1085
+ 460, 739, 740, 794, 794, 794, 794, 740, 461, 794,
1086
+ 794, 794, 462, 794, 794, 794, 794, 463, 464, 794,
1087
+ 794, 794, 794, 741, 738, 665, 794, 794, 741, 664,
1088
+ 665, 794, 794, 554, 794, 794, 794, 782, 483, 465,
1089
+ 460, 460, 743, 740, 794, 794, 794, 794, 667, 389,
1090
+ 794, 794, 794, 536, 794, 794, 794, 794, 537, 538,
1091
+ 794, 794, 794, 794, 741, 738, 665, 794, 794, 668,
1092
+ 746, 684, 794, 794, 471, 794, 794, 794, 739, 577,
1093
+ 539, 541, 542, 747, 740, 794, 794, 794, 794, 748,
1094
+ 461, 794, 794, 794, 543, 794, 794, 794, 794, 544,
1095
+
1096
+ 545, 794, 794, 794, 794, 741, 746, 684, 794, 794,
1097
+ 749, 746, 684, 794, 794, 577, 794, 794, 794, 747,
1098
+ 678, 546, 459, 460, 783, 748, 794, 794, 794, 794,
1099
+ 748, 547, 794, 794, 794, 548, 794, 794, 794, 794,
1100
+ 463, 464, 794, 794, 794, 794, 749, 785, 762, 794,
1101
+ 794, 749, 785, 762, 794, 794, 577, 794, 794, 794,
1102
+ 786, 577, 465, 459, 460, 786, 787, 794, 794, 794,
1103
+ 794, 787, 461, 794, 794, 794, 462, 794, 794, 794,
1104
+ 794, 463, 464, 794, 794, 794, 794, 788, 576, 493,
1105
+ 794, 794, 788, 683, 684, 794, 794, 678, 794, 794,
1106
+
1107
+ 794, 679, 589, 465, 459, 460, 758, 579, 794, 794,
1108
+ 794, 794, 686, 461, 794, 794, 794, 462, 794, 794,
1109
+ 794, 794, 463, 464, 794, 794, 794, 794, 580, 746,
1110
+ 684, 794, 794, 687, 761, 762, 794, 794, 577, 794,
1111
+ 794, 794, 747, 494, 465, 459, 460, 763, 748, 794,
1112
+ 794, 794, 794, 764, 461, 794, 794, 794, 462, 794,
1113
+ 794, 794, 794, 463, 464, 794, 794, 794, 794, 749,
1114
+ 761, 762, 794, 794, 765, 762, 762, 794, 794, 494,
1115
+ 794, 794, 794, 763, 417, 465, 592, 510, 767, 764,
1116
+ 794, 794, 794, 794, 768, 434, 794, 794, 794, 593,
1117
+
1118
+ 794, 794, 794, 794, 594, 595, 794, 794, 794, 794,
1119
+ 765, 761, 762, 794, 794, 769, 761, 762, 794, 794,
1120
+ 589, 794, 794, 794, 790, 494, 596, 592, 510, 763,
1121
+ 764, 794, 794, 794, 794, 764, 434, 794, 794, 794,
1122
+ 593, 794, 794, 794, 794, 594, 595, 794, 794, 794,
1123
+ 794, 765, 761, 762, 794, 794, 765, 738, 665, 794,
1124
+ 794, 494, 794, 794, 794, 763, 554, 596, 320, 204,
1125
+ 782, 764, 794, 794, 794, 794, 740, 377, 794, 794,
1126
+ 794, 378, 794, 794, 794, 794, 322, 323, 794, 794,
1127
+ 794, 794, 765, 746, 684, 794, 794, 741, 785, 762,
1128
+
1129
+ 794, 794, 678, 794, 794, 794, 783, 577, 324, 592,
1130
+ 510, 786, 748, 794, 794, 794, 794, 787, 434, 794,
1131
+ 794, 794, 593, 794, 794, 794, 794, 594, 595, 794,
1132
+ 794, 794, 794, 749, 785, 762, 794, 794, 788, 785,
1133
+ 762, 794, 794, 577, 794, 794, 794, 786, 678, 596,
1134
+ 242, 243, 793, 787, 794, 794, 794, 794, 787, 171,
1135
+ 794, 794, 794, 244, 794, 794, 794, 794, 245, 245,
1136
+ 794, 794, 794, 794, 788, 761, 762, 794, 794, 788,
1137
+ 785, 762, 794, 794, 589, 794, 794, 794, 790, 577,
1138
+ 245, 242, 243, 786, 764, 794, 794, 794, 794, 787,
1139
+
1140
+ 171, 794, 794, 794, 244, 794, 794, 794, 794, 245,
1141
+ 245, 794, 794, 794, 794, 765, 785, 762, 794, 794,
1142
+ 788, 794, 794, 794, 794, 678, 794, 794, 794, 793,
1143
+ 794, 245, 598, 521, 794, 787, 794, 794, 794, 794,
1144
+ 794, 434, 794, 794, 794, 599, 794, 794, 794, 794,
1145
+ 600, 601, 794, 794, 794, 794, 788, 794, 794, 794,
1146
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1147
+ 794, 794, 602, 433, 382, 794, 794, 794, 794, 794,
1148
+ 794, 794, 504, 794, 794, 794, 505, 794, 794, 794,
1149
+ 794, 436, 437, 794, 794, 794, 794, 794, 794, 794,
1150
+
1151
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1152
+ 794, 794, 794, 438, 433, 382, 794, 794, 794, 794,
1153
+ 794, 794, 794, 434, 794, 794, 794, 435, 794, 794,
1154
+ 794, 794, 436, 437, 794, 794, 794, 794, 794, 794,
1155
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1156
+ 794, 794, 794, 794, 438, 509, 510, 794, 794, 794,
1157
+ 794, 794, 794, 794, 383, 794, 794, 794, 511, 794,
1158
+ 794, 794, 794, 512, 513, 794, 794, 794, 794, 794,
1159
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1160
+ 794, 794, 794, 794, 794, 514, 509, 510, 794, 794,
1161
+
1162
+ 794, 794, 794, 794, 794, 383, 794, 794, 794, 511,
1163
+ 794, 794, 794, 794, 512, 513, 794, 794, 794, 794,
1164
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1165
+ 794, 794, 794, 794, 794, 794, 514, 510, 510, 794,
1166
+ 794, 794, 794, 794, 794, 794, 316, 794, 794, 794,
1167
+ 515, 794, 794, 794, 794, 516, 517, 794, 794, 794,
1168
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1169
+ 794, 794, 794, 794, 794, 794, 794, 518, 509, 510,
1170
+ 794, 794, 794, 794, 794, 794, 794, 450, 794, 794,
1171
+ 794, 606, 794, 794, 794, 794, 512, 513, 794, 794,
1172
+
1173
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1174
+ 794, 794, 794, 794, 794, 794, 794, 794, 514, 509,
1175
+ 510, 794, 794, 794, 794, 794, 794, 794, 383, 794,
1176
+ 794, 794, 511, 794, 794, 794, 794, 512, 513, 794,
1177
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1178
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 514,
1179
+ 509, 510, 794, 794, 794, 794, 794, 794, 794, 383,
1180
+ 794, 794, 794, 511, 794, 794, 794, 794, 512, 513,
1181
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1182
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1183
+
1184
+ 514, 509, 510, 794, 794, 794, 794, 794, 794, 794,
1185
+ 383, 794, 794, 794, 511, 794, 794, 794, 794, 512,
1186
+ 513, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1187
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1188
+ 794, 514, 609, 610, 794, 794, 794, 794, 794, 794,
1189
+ 794, 383, 794, 794, 794, 611, 794, 794, 794, 794,
1190
+ 612, 613, 794, 794, 794, 794, 794, 794, 794, 794,
1191
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1192
+ 794, 794, 614, 609, 610, 794, 794, 794, 794, 794,
1193
+ 794, 794, 383, 794, 794, 794, 611, 794, 794, 794,
1194
+
1195
+ 794, 612, 613, 794, 794, 794, 794, 794, 794, 794,
1196
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1197
+ 794, 794, 794, 614, 610, 610, 794, 794, 794, 794,
1198
+ 794, 794, 794, 316, 794, 794, 794, 616, 794, 794,
1199
+ 794, 794, 617, 618, 794, 794, 794, 794, 794, 794,
1200
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1201
+ 794, 794, 794, 794, 619, 381, 382, 794, 794, 794,
1202
+ 794, 794, 794, 794, 450, 794, 794, 794, 451, 794,
1203
+ 794, 794, 794, 385, 386, 794, 794, 794, 794, 794,
1204
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1205
+
1206
+ 794, 794, 794, 794, 794, 387, 609, 610, 794, 794,
1207
+ 794, 794, 794, 794, 794, 383, 794, 794, 794, 611,
1208
+ 794, 794, 794, 794, 612, 613, 794, 794, 794, 794,
1209
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1210
+ 794, 794, 794, 794, 794, 794, 614, 609, 610, 794,
1211
+ 794, 794, 794, 794, 794, 794, 383, 794, 794, 794,
1212
+ 611, 794, 794, 794, 794, 612, 613, 794, 794, 794,
1213
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1214
+ 794, 794, 794, 794, 794, 794, 794, 614, 609, 610,
1215
+ 794, 794, 794, 794, 794, 794, 794, 383, 794, 794,
1216
+
1217
+ 794, 611, 794, 794, 794, 794, 612, 613, 794, 794,
1218
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1219
+ 794, 794, 794, 794, 794, 794, 794, 794, 614, 530,
1220
+ 460, 794, 794, 794, 794, 794, 794, 794, 531, 794,
1221
+ 794, 794, 532, 794, 794, 794, 794, 533, 534, 794,
1222
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1223
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 535,
1224
+ 530, 460, 794, 794, 794, 794, 794, 794, 794, 531,
1225
+ 794, 794, 794, 532, 794, 794, 794, 794, 533, 534,
1226
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1227
+
1228
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1229
+ 535, 621, 542, 794, 794, 794, 794, 794, 794, 794,
1230
+ 531, 794, 794, 794, 622, 794, 794, 794, 794, 623,
1231
+ 624, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1232
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1233
+ 794, 625, 530, 460, 794, 794, 794, 794, 794, 794,
1234
+ 794, 626, 794, 794, 794, 627, 794, 794, 794, 794,
1235
+ 533, 534, 794, 794, 794, 794, 794, 794, 794, 794,
1236
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1237
+ 794, 794, 535, 530, 460, 794, 794, 794, 794, 794,
1238
+
1239
+ 794, 794, 531, 794, 794, 794, 532, 794, 794, 794,
1240
+ 794, 533, 534, 794, 794, 794, 794, 794, 794, 794,
1241
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1242
+ 794, 794, 794, 535, 169, 170, 794, 794, 794, 794,
1243
+ 794, 794, 794, 171, 794, 794, 794, 172, 794, 794,
1244
+ 794, 794, 173, 173, 794, 794, 794, 794, 794, 794,
1245
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1246
+ 794, 794, 794, 794, 173, 169, 170, 794, 794, 794,
1247
+ 794, 794, 794, 794, 171, 794, 794, 794, 172, 794,
1248
+ 794, 794, 794, 173, 173, 794, 794, 794, 794, 794,
1249
+
1250
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1251
+ 794, 794, 794, 794, 794, 173, 631, 632, 794, 794,
1252
+ 794, 794, 794, 794, 794, 461, 794, 794, 794, 633,
1253
+ 794, 794, 794, 794, 634, 635, 794, 794, 794, 794,
1254
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1255
+ 794, 794, 794, 794, 794, 794, 636, 631, 632, 794,
1256
+ 794, 794, 794, 794, 794, 794, 461, 794, 794, 794,
1257
+ 633, 794, 794, 794, 794, 634, 635, 794, 794, 794,
1258
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1259
+ 794, 794, 794, 794, 794, 794, 794, 636, 632, 632,
1260
+
1261
+ 794, 794, 794, 794, 794, 794, 794, 389, 794, 794,
1262
+ 794, 637, 794, 794, 794, 794, 638, 639, 794, 794,
1263
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1264
+ 794, 794, 794, 794, 794, 794, 794, 794, 640, 333,
1265
+ 263, 794, 794, 794, 794, 794, 794, 794, 399, 794,
1266
+ 794, 794, 400, 794, 794, 794, 794, 335, 336, 794,
1267
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1268
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 337,
1269
+ 631, 632, 794, 794, 794, 794, 794, 794, 794, 461,
1270
+ 794, 794, 794, 633, 794, 794, 794, 794, 634, 635,
1271
+
1272
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1273
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1274
+ 636, 631, 632, 794, 794, 794, 794, 794, 794, 794,
1275
+ 461, 794, 794, 794, 633, 794, 794, 794, 794, 634,
1276
+ 635, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1277
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1278
+ 794, 636, 631, 632, 794, 794, 794, 794, 794, 794,
1279
+ 794, 461, 794, 794, 794, 633, 794, 794, 794, 794,
1280
+ 634, 635, 794, 794, 794, 794, 794, 794, 794, 794,
1281
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1282
+
1283
+ 794, 794, 636, 642, 643, 794, 794, 794, 794, 794,
1284
+ 794, 794, 461, 794, 794, 794, 644, 794, 794, 794,
1285
+ 794, 645, 646, 794, 794, 794, 794, 794, 794, 794,
1286
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1287
+ 794, 794, 794, 647, 459, 460, 794, 794, 794, 794,
1288
+ 794, 794, 794, 547, 794, 794, 794, 548, 794, 794,
1289
+ 794, 794, 463, 464, 794, 794, 794, 794, 794, 794,
1290
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1291
+ 794, 794, 794, 794, 465, 592, 510, 794, 794, 794,
1292
+ 794, 794, 794, 794, 434, 794, 794, 794, 593, 794,
1293
+
1294
+ 794, 794, 794, 594, 595, 794, 794, 794, 794, 794,
1295
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1296
+ 794, 794, 794, 794, 794, 596, 592, 510, 794, 794,
1297
+ 794, 794, 794, 794, 794, 434, 794, 794, 794, 593,
1298
+ 794, 794, 794, 794, 594, 595, 794, 794, 794, 794,
1299
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1300
+ 794, 794, 794, 794, 794, 794, 596, 592, 510, 794,
1301
+ 794, 794, 794, 794, 794, 794, 504, 794, 794, 794,
1302
+ 696, 794, 794, 794, 794, 594, 595, 794, 794, 794,
1303
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1304
+
1305
+ 794, 794, 794, 794, 794, 794, 794, 596, 592, 510,
1306
+ 794, 794, 794, 794, 794, 794, 794, 434, 794, 794,
1307
+ 794, 593, 794, 794, 794, 794, 594, 595, 794, 794,
1308
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1309
+ 794, 794, 794, 794, 794, 794, 794, 794, 596, 242,
1310
+ 243, 794, 794, 794, 794, 794, 794, 794, 171, 794,
1311
+ 794, 794, 244, 794, 794, 794, 794, 245, 245, 794,
1312
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1313
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 245,
1314
+ 242, 243, 794, 794, 794, 794, 794, 794, 794, 171,
1315
+
1316
+ 794, 794, 794, 244, 794, 794, 794, 794, 245, 245,
1317
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1318
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1319
+ 245, 698, 610, 794, 794, 794, 794, 794, 794, 794,
1320
+ 434, 794, 794, 794, 699, 794, 794, 794, 794, 700,
1321
+ 701, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1322
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1323
+ 794, 702, 698, 610, 794, 794, 794, 794, 794, 794,
1324
+ 794, 434, 794, 794, 794, 699, 794, 794, 794, 794,
1325
+ 700, 701, 794, 794, 794, 794, 794, 794, 794, 794,
1326
+
1327
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1328
+ 794, 794, 702, 433, 382, 794, 794, 794, 794, 794,
1329
+ 794, 794, 504, 794, 794, 794, 505, 794, 794, 794,
1330
+ 794, 436, 437, 794, 794, 794, 794, 794, 794, 794,
1331
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1332
+ 794, 794, 794, 438, 698, 610, 794, 794, 794, 794,
1333
+ 794, 794, 794, 434, 794, 794, 794, 699, 794, 794,
1334
+ 794, 794, 700, 701, 794, 794, 794, 794, 794, 794,
1335
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1336
+ 794, 794, 794, 794, 702, 308, 309, 794, 794, 794,
1337
+
1338
+ 794, 794, 794, 794, 171, 794, 794, 794, 310, 794,
1339
+ 794, 794, 794, 311, 311, 794, 794, 794, 794, 794,
1340
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1341
+ 794, 794, 794, 794, 794, 311, 308, 309, 794, 794,
1342
+ 794, 794, 794, 794, 794, 171, 794, 794, 794, 310,
1343
+ 794, 794, 794, 794, 311, 311, 794, 794, 794, 794,
1344
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1345
+ 794, 794, 794, 794, 794, 794, 311, 509, 510, 794,
1346
+ 794, 794, 794, 794, 794, 794, 450, 794, 794, 794,
1347
+ 606, 794, 794, 794, 794, 512, 513, 794, 794, 794,
1348
+
1349
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1350
+ 794, 794, 794, 794, 794, 794, 794, 514, 592, 510,
1351
+ 794, 794, 794, 794, 794, 794, 794, 434, 794, 794,
1352
+ 794, 593, 794, 794, 794, 794, 594, 595, 794, 794,
1353
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1354
+ 794, 794, 794, 794, 794, 794, 794, 794, 596, 609,
1355
+ 610, 794, 794, 794, 794, 794, 794, 794, 383, 794,
1356
+ 794, 794, 611, 794, 794, 794, 794, 612, 613, 794,
1357
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1358
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 614,
1359
+
1360
+ 609, 610, 794, 794, 794, 794, 794, 794, 794, 383,
1361
+ 794, 794, 794, 611, 794, 794, 794, 794, 612, 613,
1362
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1363
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1364
+ 614, 610, 610, 794, 794, 794, 794, 794, 794, 794,
1365
+ 316, 794, 794, 794, 616, 794, 794, 794, 794, 617,
1366
+ 618, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1367
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1368
+ 794, 619, 609, 610, 794, 794, 794, 794, 794, 794,
1369
+ 794, 450, 794, 794, 794, 705, 794, 794, 794, 794,
1370
+
1371
+ 612, 613, 794, 794, 794, 794, 794, 794, 794, 794,
1372
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1373
+ 794, 794, 614, 609, 610, 794, 794, 794, 794, 794,
1374
+ 794, 794, 383, 794, 794, 794, 611, 794, 794, 794,
1375
+ 794, 612, 613, 794, 794, 794, 794, 794, 794, 794,
1376
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1377
+ 794, 794, 794, 614, 609, 610, 794, 794, 794, 794,
1378
+ 794, 794, 794, 383, 794, 794, 794, 611, 794, 794,
1379
+ 794, 794, 612, 613, 794, 794, 794, 794, 794, 794,
1380
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1381
+
1382
+ 794, 794, 794, 794, 614, 609, 610, 794, 794, 794,
1383
+ 794, 794, 794, 794, 383, 794, 794, 794, 611, 794,
1384
+ 794, 794, 794, 612, 613, 794, 794, 794, 794, 794,
1385
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1386
+ 794, 794, 794, 794, 794, 614, 708, 632, 794, 794,
1387
+ 794, 794, 794, 794, 794, 531, 794, 794, 794, 709,
1388
+ 794, 794, 794, 794, 710, 711, 794, 794, 794, 794,
1389
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1390
+ 794, 794, 794, 794, 794, 794, 712, 708, 632, 794,
1391
+ 794, 794, 794, 794, 794, 794, 531, 794, 794, 794,
1392
+
1393
+ 709, 794, 794, 794, 794, 710, 711, 794, 794, 794,
1394
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1395
+ 794, 794, 794, 794, 794, 794, 794, 712, 393, 263,
1396
+ 794, 794, 794, 794, 794, 794, 794, 455, 794, 794,
1397
+ 794, 456, 794, 794, 794, 794, 395, 396, 794, 794,
1398
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1399
+ 794, 794, 794, 794, 794, 794, 794, 794, 397, 708,
1400
+ 632, 794, 794, 794, 794, 794, 794, 794, 531, 794,
1401
+ 794, 794, 709, 794, 794, 794, 794, 710, 711, 794,
1402
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1403
+
1404
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 712,
1405
+ 242, 243, 794, 794, 794, 794, 794, 794, 794, 171,
1406
+ 794, 794, 794, 244, 794, 794, 794, 794, 245, 245,
1407
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1408
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1409
+ 245, 242, 243, 794, 794, 794, 794, 794, 794, 794,
1410
+ 171, 794, 794, 794, 244, 794, 794, 794, 794, 245,
1411
+ 245, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1412
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1413
+ 794, 245, 714, 643, 794, 794, 794, 794, 794, 794,
1414
+
1415
+ 794, 531, 794, 794, 794, 715, 794, 794, 794, 794,
1416
+ 716, 717, 794, 794, 794, 794, 794, 794, 794, 794,
1417
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1418
+ 794, 794, 718, 530, 460, 794, 794, 794, 794, 794,
1419
+ 794, 794, 626, 794, 794, 794, 627, 794, 794, 794,
1420
+ 794, 533, 534, 794, 794, 794, 794, 794, 794, 794,
1421
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1422
+ 794, 794, 794, 535, 530, 460, 794, 794, 794, 794,
1423
+ 794, 794, 794, 531, 794, 794, 794, 532, 794, 794,
1424
+ 794, 794, 533, 534, 794, 794, 794, 794, 794, 794,
1425
+
1426
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1427
+ 794, 794, 794, 794, 535, 631, 632, 794, 794, 794,
1428
+ 794, 794, 794, 794, 461, 794, 794, 794, 633, 794,
1429
+ 794, 794, 794, 634, 635, 794, 794, 794, 794, 794,
1430
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1431
+ 794, 794, 794, 794, 794, 636, 631, 632, 794, 794,
1432
+ 794, 794, 794, 794, 794, 461, 794, 794, 794, 633,
1433
+ 794, 794, 794, 794, 634, 635, 794, 794, 794, 794,
1434
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1435
+ 794, 794, 794, 794, 794, 794, 636, 632, 632, 794,
1436
+
1437
+ 794, 794, 794, 794, 794, 794, 389, 794, 794, 794,
1438
+ 637, 794, 794, 794, 794, 638, 639, 794, 794, 794,
1439
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1440
+ 794, 794, 794, 794, 794, 794, 794, 640, 631, 632,
1441
+ 794, 794, 794, 794, 794, 794, 794, 547, 794, 794,
1442
+ 794, 722, 794, 794, 794, 794, 634, 635, 794, 794,
1443
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1444
+ 794, 794, 794, 794, 794, 794, 794, 794, 636, 631,
1445
+ 632, 794, 794, 794, 794, 794, 794, 794, 461, 794,
1446
+ 794, 794, 633, 794, 794, 794, 794, 634, 635, 794,
1447
+
1448
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1449
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 636,
1450
+ 631, 632, 794, 794, 794, 794, 794, 794, 794, 461,
1451
+ 794, 794, 794, 633, 794, 794, 794, 794, 634, 635,
1452
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1453
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1454
+ 636, 631, 632, 794, 794, 794, 794, 794, 794, 794,
1455
+ 461, 794, 794, 794, 633, 794, 794, 794, 794, 634,
1456
+ 635, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1457
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1458
+
1459
+ 794, 636, 725, 726, 794, 794, 794, 794, 794, 794,
1460
+ 794, 461, 794, 794, 794, 727, 794, 794, 794, 794,
1461
+ 728, 729, 794, 794, 794, 794, 794, 794, 794, 794,
1462
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1463
+ 794, 794, 730, 725, 726, 794, 794, 794, 794, 794,
1464
+ 794, 794, 461, 794, 794, 794, 727, 794, 794, 794,
1465
+ 794, 728, 729, 794, 794, 794, 794, 794, 794, 794,
1466
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1467
+ 794, 794, 794, 730, 726, 726, 794, 794, 794, 794,
1468
+ 794, 794, 794, 389, 794, 794, 794, 732, 794, 794,
1469
+
1470
+ 794, 794, 733, 734, 794, 794, 794, 794, 794, 794,
1471
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1472
+ 794, 794, 794, 794, 735, 459, 460, 794, 794, 794,
1473
+ 794, 794, 794, 794, 547, 794, 794, 794, 548, 794,
1474
+ 794, 794, 794, 463, 464, 794, 794, 794, 794, 794,
1475
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1476
+ 794, 794, 794, 794, 794, 465, 725, 726, 794, 794,
1477
+ 794, 794, 794, 794, 794, 461, 794, 794, 794, 727,
1478
+ 794, 794, 794, 794, 728, 729, 794, 794, 794, 794,
1479
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1480
+
1481
+ 794, 794, 794, 794, 794, 794, 730, 725, 726, 794,
1482
+ 794, 794, 794, 794, 794, 794, 461, 794, 794, 794,
1483
+ 727, 794, 794, 794, 794, 728, 729, 794, 794, 794,
1484
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1485
+ 794, 794, 794, 794, 794, 794, 794, 730, 725, 726,
1486
+ 794, 794, 794, 794, 794, 794, 794, 461, 794, 794,
1487
+ 794, 727, 794, 794, 794, 794, 728, 729, 794, 794,
1488
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1489
+ 794, 794, 794, 794, 794, 794, 794, 794, 730, 592,
1490
+ 510, 794, 794, 794, 794, 794, 794, 794, 504, 794,
1491
+
1492
+ 794, 794, 696, 794, 794, 794, 794, 594, 595, 794,
1493
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1494
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 596,
1495
+ 698, 610, 794, 794, 794, 794, 794, 794, 794, 434,
1496
+ 794, 794, 794, 699, 794, 794, 794, 794, 700, 701,
1497
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1498
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1499
+ 702, 698, 610, 794, 794, 794, 794, 794, 794, 794,
1500
+ 434, 794, 794, 794, 699, 794, 794, 794, 794, 700,
1501
+ 701, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1502
+
1503
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1504
+ 794, 702, 698, 610, 794, 794, 794, 794, 794, 794,
1505
+ 794, 504, 794, 794, 794, 770, 794, 794, 794, 794,
1506
+ 700, 701, 794, 794, 794, 794, 794, 794, 794, 794,
1507
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1508
+ 794, 794, 702, 698, 610, 794, 794, 794, 794, 794,
1509
+ 794, 794, 434, 794, 794, 794, 699, 794, 794, 794,
1510
+ 794, 700, 701, 794, 794, 794, 794, 794, 794, 794,
1511
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1512
+ 794, 794, 794, 702, 308, 309, 794, 794, 794, 794,
1513
+
1514
+ 794, 794, 794, 171, 794, 794, 794, 310, 794, 794,
1515
+ 794, 794, 311, 311, 794, 794, 794, 794, 794, 794,
1516
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1517
+ 794, 794, 794, 794, 311, 308, 309, 794, 794, 794,
1518
+ 794, 794, 794, 794, 171, 794, 794, 794, 310, 794,
1519
+ 794, 794, 794, 311, 311, 794, 794, 794, 794, 794,
1520
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1521
+ 794, 794, 794, 794, 794, 311, 609, 610, 794, 794,
1522
+ 794, 794, 794, 794, 794, 450, 794, 794, 794, 705,
1523
+ 794, 794, 794, 794, 612, 613, 794, 794, 794, 794,
1524
+
1525
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1526
+ 794, 794, 794, 794, 794, 794, 614, 698, 610, 794,
1527
+ 794, 794, 794, 794, 794, 794, 434, 794, 794, 794,
1528
+ 699, 794, 794, 794, 794, 700, 701, 794, 794, 794,
1529
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1530
+ 794, 794, 794, 794, 794, 794, 794, 702, 708, 632,
1531
+ 794, 794, 794, 794, 794, 794, 794, 531, 794, 794,
1532
+ 794, 709, 794, 794, 794, 794, 710, 711, 794, 794,
1533
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1534
+ 794, 794, 794, 794, 794, 794, 794, 794, 712, 708,
1535
+
1536
+ 632, 794, 794, 794, 794, 794, 794, 794, 531, 794,
1537
+ 794, 794, 709, 794, 794, 794, 794, 710, 711, 794,
1538
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1539
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 712,
1540
+ 708, 632, 794, 794, 794, 794, 794, 794, 794, 626,
1541
+ 794, 794, 794, 771, 794, 794, 794, 794, 710, 711,
1542
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1543
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1544
+ 712, 708, 632, 794, 794, 794, 794, 794, 794, 794,
1545
+ 531, 794, 794, 794, 709, 794, 794, 794, 794, 710,
1546
+
1547
+ 711, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1548
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1549
+ 794, 712, 242, 243, 794, 794, 794, 794, 794, 794,
1550
+ 794, 171, 794, 794, 794, 244, 794, 794, 794, 794,
1551
+ 245, 245, 794, 794, 794, 794, 794, 794, 794, 794,
1552
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1553
+ 794, 794, 245, 242, 243, 794, 794, 794, 794, 794,
1554
+ 794, 794, 171, 794, 794, 794, 244, 794, 794, 794,
1555
+ 794, 245, 245, 794, 794, 794, 794, 794, 794, 794,
1556
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1557
+
1558
+ 794, 794, 794, 245, 773, 726, 794, 794, 794, 794,
1559
+ 794, 794, 794, 531, 794, 794, 794, 774, 794, 794,
1560
+ 794, 794, 775, 776, 794, 794, 794, 794, 794, 794,
1561
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1562
+ 794, 794, 794, 794, 777, 773, 726, 794, 794, 794,
1563
+ 794, 794, 794, 794, 531, 794, 794, 794, 774, 794,
1564
+ 794, 794, 794, 775, 776, 794, 794, 794, 794, 794,
1565
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1566
+ 794, 794, 794, 794, 794, 777, 530, 460, 794, 794,
1567
+ 794, 794, 794, 794, 794, 626, 794, 794, 794, 627,
1568
+
1569
+ 794, 794, 794, 794, 533, 534, 794, 794, 794, 794,
1570
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1571
+ 794, 794, 794, 794, 794, 794, 535, 773, 726, 794,
1572
+ 794, 794, 794, 794, 794, 794, 531, 794, 794, 794,
1573
+ 774, 794, 794, 794, 794, 775, 776, 794, 794, 794,
1574
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1575
+ 794, 794, 794, 794, 794, 794, 794, 777, 308, 309,
1576
+ 794, 794, 794, 794, 794, 794, 794, 171, 794, 794,
1577
+ 794, 310, 794, 794, 794, 794, 311, 311, 794, 794,
1578
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1579
+
1580
+ 794, 794, 794, 794, 794, 794, 794, 794, 311, 308,
1581
+ 309, 794, 794, 794, 794, 794, 794, 794, 171, 794,
1582
+ 794, 794, 310, 794, 794, 794, 794, 311, 311, 794,
1583
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1584
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 311,
1585
+ 631, 632, 794, 794, 794, 794, 794, 794, 794, 547,
1586
+ 794, 794, 794, 722, 794, 794, 794, 794, 634, 635,
1587
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1588
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1589
+ 636, 708, 632, 794, 794, 794, 794, 794, 794, 794,
1590
+
1591
+ 531, 794, 794, 794, 709, 794, 794, 794, 794, 710,
1592
+ 711, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1593
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1594
+ 794, 712, 725, 726, 794, 794, 794, 794, 794, 794,
1595
+ 794, 461, 794, 794, 794, 727, 794, 794, 794, 794,
1596
+ 728, 729, 794, 794, 794, 794, 794, 794, 794, 794,
1597
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1598
+ 794, 794, 730, 725, 726, 794, 794, 794, 794, 794,
1599
+ 794, 794, 461, 794, 794, 794, 727, 794, 794, 794,
1600
+ 794, 728, 729, 794, 794, 794, 794, 794, 794, 794,
1601
+
1602
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1603
+ 794, 794, 794, 730, 726, 726, 794, 794, 794, 794,
1604
+ 794, 794, 794, 389, 794, 794, 794, 732, 794, 794,
1605
+ 794, 794, 733, 734, 794, 794, 794, 794, 794, 794,
1606
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1607
+ 794, 794, 794, 794, 735, 725, 726, 794, 794, 794,
1608
+ 794, 794, 794, 794, 547, 794, 794, 794, 780, 794,
1609
+ 794, 794, 794, 728, 729, 794, 794, 794, 794, 794,
1610
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1611
+ 794, 794, 794, 794, 794, 730, 725, 726, 794, 794,
1612
+
1613
+ 794, 794, 794, 794, 794, 461, 794, 794, 794, 727,
1614
+ 794, 794, 794, 794, 728, 729, 794, 794, 794, 794,
1615
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1616
+ 794, 794, 794, 794, 794, 794, 730, 725, 726, 794,
1617
+ 794, 794, 794, 794, 794, 794, 461, 794, 794, 794,
1618
+ 727, 794, 794, 794, 794, 728, 729, 794, 794, 794,
1619
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1620
+ 794, 794, 794, 794, 794, 794, 794, 730, 725, 726,
1621
+ 794, 794, 794, 794, 794, 794, 794, 461, 794, 794,
1622
+ 794, 727, 794, 794, 794, 794, 728, 729, 794, 794,
1623
+
1624
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1625
+ 794, 794, 794, 794, 794, 794, 794, 794, 730, 698,
1626
+ 610, 794, 794, 794, 794, 794, 794, 794, 504, 794,
1627
+ 794, 794, 770, 794, 794, 794, 794, 700, 701, 794,
1628
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1629
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 702,
1630
+ 708, 632, 794, 794, 794, 794, 794, 794, 794, 626,
1631
+ 794, 794, 794, 771, 794, 794, 794, 794, 710, 711,
1632
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1633
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1634
+
1635
+ 712, 773, 726, 794, 794, 794, 794, 794, 794, 794,
1636
+ 531, 794, 794, 794, 774, 794, 794, 794, 794, 775,
1637
+ 776, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1638
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1639
+ 794, 777, 773, 726, 794, 794, 794, 794, 794, 794,
1640
+ 794, 531, 794, 794, 794, 774, 794, 794, 794, 794,
1641
+ 775, 776, 794, 794, 794, 794, 794, 794, 794, 794,
1642
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1643
+ 794, 794, 777, 773, 726, 794, 794, 794, 794, 794,
1644
+ 794, 794, 626, 794, 794, 794, 792, 794, 794, 794,
1645
+
1646
+ 794, 775, 776, 794, 794, 794, 794, 794, 794, 794,
1647
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1648
+ 794, 794, 794, 777, 773, 726, 794, 794, 794, 794,
1649
+ 794, 794, 794, 531, 794, 794, 794, 774, 794, 794,
1650
+ 794, 794, 775, 776, 794, 794, 794, 794, 794, 794,
1651
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1652
+ 794, 794, 794, 794, 777, 308, 309, 794, 794, 794,
1653
+ 794, 794, 794, 794, 171, 794, 794, 794, 310, 794,
1654
+ 794, 794, 794, 311, 311, 794, 794, 794, 794, 794,
1655
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1656
+
1657
+ 794, 794, 794, 794, 794, 311, 308, 309, 794, 794,
1658
+ 794, 794, 794, 794, 794, 171, 794, 794, 794, 310,
1659
+ 794, 794, 794, 794, 311, 311, 794, 794, 794, 794,
1660
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1661
+ 794, 794, 794, 794, 794, 794, 311, 725, 726, 794,
1662
+ 794, 794, 794, 794, 794, 794, 547, 794, 794, 794,
1663
+ 780, 794, 794, 794, 794, 728, 729, 794, 794, 794,
1664
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1665
+ 794, 794, 794, 794, 794, 794, 794, 730, 773, 726,
1666
+ 794, 794, 794, 794, 794, 794, 794, 531, 794, 794,
1667
+
1668
+ 794, 774, 794, 794, 794, 794, 775, 776, 794, 794,
1669
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1670
+ 794, 794, 794, 794, 794, 794, 794, 794, 777, 773,
1671
+ 726, 794, 794, 794, 794, 794, 794, 794, 626, 794,
1672
+ 794, 794, 792, 794, 794, 794, 794, 775, 776, 794,
1673
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1674
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 777,
1675
+ 52, 52, 52, 52, 52, 52, 52, 55, 55, 55,
1676
+ 794, 55, 55, 55, 69, 794, 69, 77, 77, 794,
1677
+ 77, 77, 77, 81, 794, 81, 86, 86, 794, 86,
1678
+
1679
+ 794, 86, 103, 103, 103, 103, 103, 103, 103, 105,
1680
+ 105, 794, 105, 105, 105, 105, 126, 126, 126, 126,
1681
+ 126, 126, 126, 131, 131, 131, 131, 131, 131, 131,
1682
+ 133, 133, 133, 133, 133, 133, 133, 141, 141, 141,
1683
+ 141, 141, 141, 141, 143, 143, 143, 143, 143, 143,
1684
+ 143, 149, 149, 149, 149, 149, 149, 149, 152, 152,
1685
+ 152, 152, 152, 152, 152, 159, 159, 159, 159, 159,
1686
+ 159, 159, 167, 167, 167, 167, 167, 167, 167, 168,
1687
+ 168, 168, 168, 168, 168, 168, 178, 178, 178, 178,
1688
+ 178, 178, 178, 179, 179, 179, 179, 179, 179, 179,
1689
+
1690
+ 188, 188, 188, 188, 188, 188, 188, 197, 197, 197,
1691
+ 197, 197, 197, 197, 215, 215, 215, 215, 215, 215,
1692
+ 215, 229, 229, 229, 229, 229, 229, 229, 231, 231,
1693
+ 231, 231, 231, 231, 231, 234, 234, 234, 234, 234,
1694
+ 234, 234, 241, 241, 241, 241, 241, 241, 241, 248,
1695
+ 248, 248, 248, 248, 248, 248, 255, 255, 255, 255,
1696
+ 255, 255, 255, 257, 257, 257, 257, 257, 257, 257,
1697
+ 272, 272, 272, 272, 272, 272, 272, 279, 279, 279,
1698
+ 279, 279, 279, 279, 286, 286, 286, 286, 286, 286,
1699
+ 286, 288, 288, 288, 288, 288, 288, 288, 298, 298,
1700
+
1701
+ 298, 298, 298, 298, 298, 299, 299, 299, 299, 299,
1702
+ 299, 299, 301, 301, 301, 301, 301, 301, 301, 304,
1703
+ 304, 304, 304, 304, 304, 304, 307, 307, 307, 307,
1704
+ 307, 307, 307, 312, 312, 312, 312, 312, 312, 312,
1705
+ 315, 315, 315, 315, 315, 315, 315, 319, 319, 319,
1706
+ 319, 319, 319, 319, 325, 325, 325, 325, 325, 325,
1707
+ 325, 330, 330, 330, 330, 330, 330, 330, 332, 332,
1708
+ 332, 332, 332, 332, 332, 338, 338, 338, 338, 338,
1709
+ 338, 338, 341, 341, 341, 341, 341, 341, 341, 346,
1710
+ 346, 346, 346, 346, 346, 346, 349, 349, 349, 349,
1711
+
1712
+ 349, 349, 349, 353, 353, 353, 353, 353, 353, 353,
1713
+ 358, 358, 358, 358, 358, 358, 358, 363, 363, 363,
1714
+ 363, 363, 363, 363, 365, 365, 365, 365, 365, 365,
1715
+ 365, 370, 370, 370, 370, 370, 370, 370, 371, 371,
1716
+ 371, 371, 371, 371, 371, 374, 374, 374, 374, 374,
1717
+ 374, 374, 379, 379, 379, 379, 379, 379, 379, 380,
1718
+ 380, 380, 380, 380, 380, 380, 388, 388, 388, 388,
1719
+ 388, 388, 388, 392, 392, 392, 392, 392, 392, 392,
1720
+ 398, 398, 398, 398, 398, 398, 398, 403, 403, 403,
1721
+ 403, 403, 403, 403, 141, 141, 141, 141, 141, 141,
1722
+
1723
+ 141, 143, 143, 143, 143, 143, 143, 143, 408, 408,
1724
+ 408, 408, 408, 408, 408, 409, 409, 409, 409, 409,
1725
+ 409, 409, 416, 416, 416, 416, 416, 416, 416, 420,
1726
+ 420, 420, 420, 420, 420, 420, 425, 425, 425, 425,
1727
+ 425, 425, 425, 428, 428, 428, 428, 428, 428, 428,
1728
+ 429, 429, 429, 429, 429, 429, 429, 167, 167, 167,
1729
+ 167, 167, 167, 167, 432, 432, 432, 432, 432, 432,
1730
+ 432, 443, 443, 443, 443, 443, 443, 443, 452, 452,
1731
+ 452, 452, 452, 452, 452, 457, 457, 457, 457, 457,
1732
+ 457, 457, 458, 458, 458, 458, 458, 458, 458, 466,
1733
+
1734
+ 466, 466, 466, 466, 466, 466, 178, 178, 178, 178,
1735
+ 178, 178, 178, 469, 469, 469, 469, 469, 469, 469,
1736
+ 477, 477, 477, 477, 477, 477, 477, 485, 485, 485,
1737
+ 485, 485, 485, 485, 490, 490, 490, 490, 490, 490,
1738
+ 490, 491, 491, 491, 491, 491, 491, 491, 498, 498,
1739
+ 498, 498, 498, 498, 498, 168, 168, 168, 168, 168,
1740
+ 168, 168, 508, 508, 508, 508, 508, 508, 508, 257,
1741
+ 257, 257, 257, 257, 257, 257, 519, 519, 519, 519,
1742
+ 519, 519, 519, 526, 526, 526, 526, 526, 526, 526,
1743
+ 529, 529, 529, 529, 529, 529, 529, 540, 540, 540,
1744
+
1745
+ 540, 540, 540, 540, 549, 549, 549, 549, 549, 549,
1746
+ 549, 179, 179, 179, 179, 179, 179, 179, 558, 558,
1747
+ 558, 558, 558, 558, 558, 288, 288, 288, 288, 288,
1748
+ 288, 288, 566, 566, 566, 566, 566, 566, 566, 572,
1749
+ 572, 572, 572, 572, 572, 572, 575, 575, 575, 575,
1750
+ 575, 575, 575, 583, 583, 583, 583, 583, 583, 583,
1751
+ 591, 591, 591, 591, 591, 591, 591, 319, 319, 319,
1752
+ 319, 319, 319, 319, 241, 241, 241, 241, 241, 241,
1753
+ 241, 597, 597, 597, 597, 597, 597, 597, 603, 603,
1754
+ 603, 603, 603, 603, 603, 608, 608, 608, 608, 608,
1755
+
1756
+ 608, 608, 615, 615, 615, 615, 615, 615, 615, 620,
1757
+ 620, 620, 620, 620, 620, 620, 630, 630, 630, 630,
1758
+ 630, 630, 630, 332, 332, 332, 332, 332, 332, 332,
1759
+ 641, 641, 641, 641, 641, 641, 641, 648, 648, 648,
1760
+ 648, 648, 648, 648, 353, 353, 353, 353, 353, 353,
1761
+ 353, 272, 272, 272, 272, 272, 272, 272, 653, 653,
1762
+ 653, 653, 653, 653, 653, 658, 658, 658, 658, 658,
1763
+ 658, 658, 663, 663, 663, 663, 663, 663, 663, 669,
1764
+ 669, 669, 669, 669, 669, 669, 673, 673, 673, 673,
1765
+ 673, 673, 673, 179, 179, 179, 179, 179, 179, 179,
1766
+
1767
+ 682, 682, 682, 682, 682, 682, 682, 365, 365, 365,
1768
+ 365, 365, 365, 365, 690, 690, 690, 690, 690, 690,
1769
+ 690, 697, 697, 697, 697, 697, 697, 697, 307, 307,
1770
+ 307, 307, 307, 307, 307, 312, 312, 312, 312, 312,
1771
+ 312, 312, 707, 707, 707, 707, 707, 707, 707, 392,
1772
+ 392, 392, 392, 392, 392, 392, 713, 713, 713, 713,
1773
+ 713, 713, 713, 719, 719, 719, 719, 719, 719, 719,
1774
+ 724, 724, 724, 724, 724, 724, 724, 731, 731, 731,
1775
+ 731, 731, 731, 731, 737, 737, 737, 737, 737, 737,
1776
+ 737, 341, 341, 341, 341, 341, 341, 341, 346, 346,
1777
+
1778
+ 346, 346, 346, 346, 346, 745, 745, 745, 745, 745,
1779
+ 745, 745, 420, 420, 420, 420, 420, 420, 420, 750,
1780
+ 750, 750, 750, 750, 750, 750, 755, 755, 755, 755,
1781
+ 755, 755, 755, 760, 760, 760, 760, 760, 760, 760,
1782
+ 766, 766, 766, 766, 766, 766, 766, 772, 772, 772,
1783
+ 772, 772, 772, 772, 784, 784, 784, 784, 784, 784,
1784
+ 784, 11, 794, 794, 794, 794, 794, 794, 794, 794,
1785
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1786
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1787
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
1788
+
1789
+ 794, 794, 794, 794, 794
1790
+ } ;
1791
+
1792
+ static yyconst flex_int16_t yy_chk[9806] =
1793
+ { 0,
1794
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1795
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1796
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1797
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1798
+ 1, 1, 1, 2, 3, 4, 4, 6, 2, 8,
1799
+ 4, 10, 6, 13, 8, 13, 10, 16, 18, 21,
1800
+ 23, 23, 23, 23, 27, 27, 29, 29, 812, 35,
1801
+ 21, 35, 18, 3, 35, 4, 5, 5, 5, 5,
1802
+ 5, 5, 5, 16, 811, 5, 5, 5, 5, 5,
1803
+ 5, 5, 5, 5, 7, 7, 7, 7, 7, 7,
1804
+
1805
+ 7, 805, 22, 7, 7, 7, 7, 7, 7, 7,
1806
+ 7, 9, 22, 22, 34, 9, 9, 9, 9, 9,
1807
+ 9, 9, 80, 80, 9, 9, 9, 9, 9, 9,
1808
+ 9, 9, 24, 52, 34, 41, 24, 76, 41, 39,
1809
+ 39, 76, 804, 49, 24, 25, 49, 25, 25, 25,
1810
+ 25, 50, 39, 50, 803, 47, 47, 39, 39, 52,
1811
+ 25, 25, 25, 60, 60, 60, 60, 25, 47, 789,
1812
+ 61, 25, 25, 26, 47, 26, 26, 26, 26, 39,
1813
+ 61, 85, 779, 48, 48, 85, 63, 63, 26, 26,
1814
+ 54, 164, 79, 63, 79, 26, 48, 63, 778, 26,
1815
+
1816
+ 40, 40, 48, 54, 54, 54, 62, 56, 62, 62,
1817
+ 62, 62, 164, 40, 56, 89, 89, 48, 40, 40,
1818
+ 56, 56, 56, 188, 66, 66, 90, 72, 54, 72,
1819
+ 769, 66, 72, 104, 40, 66, 88, 104, 88, 112,
1820
+ 40, 112, 75, 75, 188, 56, 57, 57, 57, 57,
1821
+ 84, 84, 90, 768, 113, 75, 57, 57, 113, 57,
1822
+ 75, 75, 91, 84, 757, 92, 57, 119, 93, 84,
1823
+ 756, 119, 91, 91, 91, 92, 92, 92, 93, 93,
1824
+ 93, 118, 75, 118, 124, 124, 124, 124, 91, 97,
1825
+ 156, 92, 98, 156, 93, 97, 97, 97, 98, 98,
1826
+
1827
+ 98, 99, 137, 742, 137, 117, 117, 99, 99, 99,
1828
+ 101, 101, 107, 107, 101, 101, 101, 101, 117, 107,
1829
+ 111, 111, 122, 107, 117, 120, 735, 132, 122, 122,
1830
+ 122, 132, 147, 111, 147, 120, 120, 120, 111, 111,
1831
+ 734, 128, 128, 138, 138, 142, 148, 148, 128, 142,
1832
+ 163, 120, 128, 163, 143, 143, 193, 133, 133, 721,
1833
+ 111, 125, 125, 125, 125, 134, 134, 143, 720, 704,
1834
+ 133, 703, 125, 143, 125, 133, 133, 193, 134, 144,
1835
+ 144, 125, 165, 134, 134, 175, 165, 689, 672, 175,
1836
+ 136, 136, 144, 671, 660, 659, 640, 133, 144, 146,
1837
+
1838
+ 146, 145, 145, 136, 639, 134, 135, 135, 136, 136,
1839
+ 145, 619, 146, 618, 145, 135, 150, 150, 146, 135,
1840
+ 145, 155, 155, 605, 135, 135, 157, 157, 604, 150,
1841
+ 136, 160, 160, 582, 155, 574, 162, 162, 573, 157,
1842
+ 160, 166, 166, 192, 160, 565, 135, 153, 153, 162,
1843
+ 160, 176, 176, 186, 166, 155, 153, 186, 161, 161,
1844
+ 153, 192, 174, 174, 176, 153, 153, 161, 194, 539,
1845
+ 162, 161, 194, 177, 177, 174, 538, 161, 528, 195,
1846
+ 174, 174, 192, 195, 527, 176, 177, 153, 154, 154,
1847
+ 179, 179, 185, 185, 206, 180, 180, 154, 234, 179,
1848
+
1849
+ 518, 154, 174, 179, 180, 185, 154, 154, 180, 179,
1850
+ 517, 185, 181, 181, 180, 206, 212, 490, 213, 234,
1851
+ 212, 181, 213, 187, 187, 181, 182, 182, 154, 168,
1852
+ 168, 181, 185, 228, 487, 182, 187, 228, 168, 182,
1853
+ 183, 183, 168, 184, 184, 182, 230, 168, 168, 183,
1854
+ 230, 486, 184, 183, 204, 204, 184, 187, 476, 183,
1855
+ 468, 467, 184, 457, 205, 222, 222, 204, 205, 168,
1856
+ 169, 169, 204, 204, 205, 454, 239, 223, 222, 169,
1857
+ 239, 223, 231, 169, 222, 210, 210, 223, 169, 169,
1858
+ 453, 253, 265, 442, 204, 205, 211, 211, 210, 232,
1859
+
1860
+ 231, 253, 246, 210, 210, 222, 246, 441, 223, 211,
1861
+ 169, 170, 170, 265, 211, 211, 431, 232, 215, 215,
1862
+ 170, 231, 253, 430, 170, 210, 428, 215, 256, 170,
1863
+ 170, 215, 256, 425, 419, 270, 211, 215, 232, 270,
1864
+ 418, 216, 216, 277, 226, 226, 408, 277, 405, 284,
1865
+ 216, 170, 171, 171, 216, 217, 217, 226, 287, 284,
1866
+ 216, 171, 287, 226, 217, 171, 218, 218, 217, 233,
1867
+ 171, 171, 300, 404, 217, 218, 300, 219, 219, 218,
1868
+ 284, 238, 220, 220, 226, 218, 219, 233, 398, 301,
1869
+ 219, 220, 171, 172, 172, 220, 219, 227, 227, 238,
1870
+
1871
+ 391, 220, 172, 390, 221, 221, 172, 301, 233, 379,
1872
+ 227, 172, 172, 221, 376, 264, 227, 221, 302, 264,
1873
+ 238, 375, 303, 221, 371, 264, 254, 254, 301, 370,
1874
+ 363, 358, 352, 172, 173, 173, 302, 227, 315, 254,
1875
+ 303, 257, 257, 173, 254, 254, 264, 173, 315, 258,
1876
+ 258, 313, 173, 173, 257, 313, 351, 302, 348, 257,
1877
+ 257, 303, 258, 346, 260, 260, 254, 258, 258, 315,
1878
+ 338, 330, 261, 261, 173, 197, 197, 260, 325, 262,
1879
+ 262, 257, 260, 260, 197, 261, 318, 317, 197, 258,
1880
+ 261, 261, 262, 197, 197, 331, 347, 262, 262, 331,
1881
+
1882
+ 347, 271, 271, 364, 260, 263, 263, 364, 269, 269,
1883
+ 271, 314, 261, 312, 271, 197, 198, 198, 263, 262,
1884
+ 271, 269, 328, 263, 263, 198, 269, 269, 304, 198,
1885
+ 272, 272, 328, 299, 198, 198, 298, 296, 286, 272,
1886
+ 278, 273, 273, 272, 268, 263, 274, 274, 269, 272,
1887
+ 273, 255, 247, 328, 273, 274, 198, 199, 199, 274,
1888
+ 273, 237, 229, 225, 214, 274, 199, 209, 275, 275,
1889
+ 199, 276, 276, 279, 279, 199, 199, 275, 196, 294,
1890
+ 276, 275, 279, 294, 276, 191, 279, 275, 178, 294,
1891
+ 276, 167, 279, 280, 280, 281, 281, 199, 200, 200,
1892
+
1893
+ 282, 282, 280, 159, 281, 349, 280, 200, 281, 282,
1894
+ 294, 200, 280, 282, 281, 349, 200, 200, 158, 282,
1895
+ 152, 151, 283, 283, 285, 285, 149, 141, 140, 139,
1896
+ 131, 283, 288, 288, 130, 283, 349, 285, 200, 201,
1897
+ 201, 283, 129, 285, 126, 288, 289, 289, 201, 356,
1898
+ 356, 288, 201, 116, 290, 290, 316, 201, 201, 289,
1899
+ 316, 115, 356, 290, 285, 289, 316, 290, 356, 291,
1900
+ 291, 114, 288, 290, 110, 109, 108, 292, 292, 201,
1901
+ 202, 202, 291, 103, 293, 293, 289, 316, 291, 202,
1902
+ 292, 297, 297, 202, 290, 96, 292, 293, 202, 202,
1903
+
1904
+ 357, 357, 86, 293, 297, 83, 82, 77, 71, 291,
1905
+ 297, 70, 68, 357, 319, 319, 67, 292, 58, 357,
1906
+ 202, 203, 203, 55, 293, 320, 320, 319, 322, 322,
1907
+ 203, 297, 319, 319, 203, 45, 339, 339, 320, 203,
1908
+ 203, 322, 44, 320, 320, 339, 322, 322, 38, 339,
1909
+ 33, 323, 323, 32, 319, 339, 31, 28, 20, 324,
1910
+ 324, 203, 240, 240, 323, 320, 329, 329, 322, 323,
1911
+ 323, 240, 324, 19, 17, 240, 15, 324, 324, 329,
1912
+ 240, 240, 11, 0, 329, 329, 0, 0, 340, 340,
1913
+ 0, 323, 332, 332, 0, 333, 333, 340, 0, 324,
1914
+
1915
+ 0, 340, 240, 241, 241, 332, 329, 340, 333, 0,
1916
+ 332, 332, 241, 333, 333, 0, 241, 0, 335, 335,
1917
+ 0, 241, 241, 350, 361, 0, 0, 350, 336, 336,
1918
+ 0, 335, 332, 350, 361, 333, 335, 335, 0, 0,
1919
+ 374, 336, 0, 241, 242, 242, 336, 336, 337, 337,
1920
+ 374, 341, 341, 242, 350, 361, 0, 242, 335, 388,
1921
+ 341, 337, 242, 242, 341, 0, 337, 337, 336, 388,
1922
+ 341, 374, 0, 0, 342, 342, 353, 353, 0, 0,
1923
+ 0, 0, 403, 342, 242, 243, 243, 342, 337, 353,
1924
+ 388, 0, 403, 342, 243, 353, 343, 343, 243, 344,
1925
+
1926
+ 344, 345, 345, 243, 243, 343, 0, 0, 344, 343,
1927
+ 345, 0, 344, 403, 345, 343, 353, 0, 344, 0,
1928
+ 345, 354, 354, 355, 355, 243, 244, 244, 0, 0,
1929
+ 0, 416, 355, 0, 354, 244, 355, 359, 359, 244,
1930
+ 354, 416, 355, 0, 244, 244, 359, 429, 440, 0,
1931
+ 359, 360, 360, 0, 0, 0, 359, 429, 440, 0,
1932
+ 360, 354, 416, 355, 360, 0, 244, 245, 245, 0,
1933
+ 360, 362, 362, 0, 365, 365, 245, 359, 429, 440,
1934
+ 245, 0, 366, 366, 362, 245, 245, 365, 0, 0,
1935
+ 362, 360, 389, 365, 452, 366, 389, 367, 367, 368,
1936
+
1937
+ 368, 366, 389, 0, 452, 466, 367, 245, 248, 248,
1938
+ 367, 362, 368, 0, 365, 466, 367, 248, 368, 369,
1939
+ 369, 248, 366, 389, 0, 452, 248, 248, 423, 423,
1940
+ 0, 0, 369, 392, 392, 0, 466, 367, 369, 368,
1941
+ 0, 423, 393, 393, 0, 0, 392, 423, 248, 249,
1942
+ 249, 392, 392, 395, 395, 393, 396, 396, 249, 369,
1943
+ 393, 393, 249, 0, 424, 424, 395, 249, 249, 396,
1944
+ 0, 395, 395, 392, 396, 396, 485, 424, 0, 397,
1945
+ 397, 0, 393, 424, 0, 0, 485, 0, 0, 249,
1946
+ 250, 250, 397, 395, 0, 0, 396, 397, 397, 250,
1947
+
1948
+ 0, 401, 401, 250, 402, 402, 0, 485, 250, 250,
1949
+ 401, 516, 0, 402, 401, 406, 406, 402, 0, 397,
1950
+ 401, 516, 0, 402, 406, 0, 407, 407, 406, 0,
1951
+ 250, 251, 251, 417, 406, 407, 526, 417, 0, 407,
1952
+ 251, 0, 516, 417, 251, 407, 526, 0, 439, 251,
1953
+ 251, 0, 439, 537, 0, 406, 409, 409, 439, 0,
1954
+ 0, 410, 410, 537, 417, 409, 407, 526, 0, 409,
1955
+ 410, 251, 252, 252, 410, 409, 0, 0, 475, 439,
1956
+ 410, 252, 475, 0, 537, 252, 473, 473, 475, 0,
1957
+ 252, 252, 0, 0, 572, 473, 409, 411, 411, 473,
1958
+
1959
+ 0, 410, 412, 412, 572, 473, 411, 0, 0, 475,
1960
+ 411, 412, 252, 259, 259, 412, 411, 603, 615, 506,
1961
+ 0, 412, 259, 506, 0, 572, 259, 603, 615, 506,
1962
+ 515, 259, 259, 0, 515, 0, 0, 411, 413, 413,
1963
+ 515, 0, 412, 414, 414, 420, 420, 413, 603, 615,
1964
+ 506, 413, 414, 259, 305, 305, 414, 413, 420, 617,
1965
+ 0, 515, 414, 305, 420, 0, 536, 305, 0, 617,
1966
+ 536, 0, 305, 305, 0, 0, 536, 0, 413, 415,
1967
+ 415, 638, 0, 414, 0, 420, 421, 421, 415, 0,
1968
+ 617, 638, 415, 0, 305, 306, 306, 536, 415, 421,
1969
+
1970
+ 0, 0, 422, 422, 306, 421, 0, 658, 306, 474,
1971
+ 474, 422, 638, 306, 306, 422, 0, 658, 474, 415,
1972
+ 556, 422, 474, 0, 556, 0, 421, 0, 474, 0,
1973
+ 556, 426, 426, 669, 0, 306, 307, 307, 658, 0,
1974
+ 426, 0, 422, 669, 426, 307, 0, 427, 427, 307,
1975
+ 426, 556, 0, 564, 307, 307, 427, 564, 0, 0,
1976
+ 427, 469, 469, 564, 669, 0, 427, 0, 0, 0,
1977
+ 469, 426, 470, 470, 469, 0, 307, 308, 308, 581,
1978
+ 469, 470, 719, 581, 564, 470, 308, 427, 0, 581,
1979
+ 308, 470, 719, 0, 616, 308, 308, 0, 616, 731,
1980
+
1981
+ 0, 469, 471, 471, 616, 0, 0, 472, 472, 731,
1982
+ 581, 471, 470, 719, 0, 471, 472, 308, 309, 309,
1983
+ 472, 471, 0, 0, 628, 616, 472, 309, 628, 0,
1984
+ 731, 309, 552, 552, 628, 0, 309, 309, 0, 0,
1985
+ 733, 552, 471, 477, 477, 552, 0, 472, 478, 478,
1986
+ 733, 552, 477, 0, 0, 628, 477, 478, 309, 310,
1987
+ 310, 478, 477, 0, 0, 637, 0, 478, 310, 637,
1988
+ 0, 733, 310, 553, 553, 637, 0, 310, 310, 0,
1989
+ 0, 755, 553, 477, 479, 479, 553, 0, 478, 480,
1990
+ 480, 755, 553, 479, 0, 0, 637, 479, 480, 310,
1991
+
1992
+ 311, 311, 480, 479, 0, 0, 670, 0, 480, 311,
1993
+ 670, 0, 755, 311, 579, 579, 670, 0, 311, 311,
1994
+ 0, 0, 766, 579, 479, 481, 481, 579, 0, 480,
1995
+ 482, 482, 766, 579, 481, 0, 0, 670, 481, 482,
1996
+ 311, 321, 321, 482, 481, 0, 0, 680, 0, 482,
1997
+ 321, 680, 0, 766, 321, 580, 580, 680, 0, 321,
1998
+ 321, 0, 0, 0, 580, 481, 483, 483, 580, 0,
1999
+ 482, 484, 484, 0, 580, 483, 0, 0, 680, 483,
2000
+ 484, 321, 326, 326, 484, 483, 0, 0, 688, 0,
2001
+ 484, 326, 688, 0, 0, 326, 651, 651, 688, 0,
2002
+
2003
+ 326, 326, 0, 0, 0, 651, 483, 488, 488, 651,
2004
+ 0, 484, 489, 489, 0, 651, 488, 0, 0, 688,
2005
+ 488, 489, 326, 327, 327, 489, 488, 0, 0, 732,
2006
+ 0, 489, 327, 732, 0, 0, 327, 652, 652, 732,
2007
+ 0, 327, 327, 0, 0, 0, 652, 488, 491, 491,
2008
+ 652, 0, 489, 492, 492, 0, 652, 491, 0, 0,
2009
+ 732, 491, 492, 327, 334, 334, 492, 491, 0, 0,
2010
+ 767, 0, 492, 334, 767, 0, 0, 334, 656, 656,
2011
+ 767, 0, 334, 334, 0, 0, 0, 656, 491, 493,
2012
+ 493, 656, 0, 492, 494, 494, 0, 656, 493, 0,
2013
+
2014
+ 0, 767, 493, 494, 334, 372, 372, 494, 493, 0,
2015
+ 0, 0, 0, 494, 372, 0, 0, 0, 372, 657,
2016
+ 657, 0, 0, 372, 372, 0, 0, 0, 657, 493,
2017
+ 495, 495, 657, 0, 494, 496, 496, 0, 657, 495,
2018
+ 0, 0, 0, 495, 496, 372, 373, 373, 496, 495,
2019
+ 0, 0, 0, 0, 496, 373, 0, 0, 0, 373,
2020
+ 676, 676, 0, 0, 373, 373, 0, 0, 0, 676,
2021
+ 495, 497, 497, 676, 0, 496, 549, 549, 0, 676,
2022
+ 497, 0, 0, 0, 497, 549, 373, 377, 377, 549,
2023
+ 497, 0, 0, 0, 0, 549, 377, 0, 0, 0,
2024
+
2025
+ 377, 677, 677, 0, 0, 377, 377, 0, 0, 0,
2026
+ 677, 497, 550, 550, 677, 0, 549, 551, 551, 0,
2027
+ 677, 550, 0, 0, 0, 550, 551, 377, 378, 378,
2028
+ 551, 550, 0, 0, 0, 0, 551, 378, 0, 0,
2029
+ 0, 378, 740, 740, 0, 0, 378, 378, 0, 0,
2030
+ 0, 740, 550, 554, 554, 740, 0, 551, 555, 555,
2031
+ 0, 740, 554, 0, 0, 0, 554, 555, 378, 380,
2032
+ 380, 555, 554, 0, 0, 0, 0, 555, 380, 0,
2033
+ 0, 0, 380, 741, 741, 0, 0, 380, 380, 0,
2034
+ 0, 0, 741, 554, 557, 557, 741, 0, 555, 558,
2035
+
2036
+ 558, 0, 741, 557, 0, 0, 0, 557, 558, 380,
2037
+ 381, 381, 558, 557, 0, 0, 0, 0, 558, 381,
2038
+ 0, 0, 0, 381, 748, 748, 0, 0, 381, 381,
2039
+ 0, 0, 0, 748, 557, 559, 559, 748, 0, 558,
2040
+ 560, 560, 0, 748, 559, 0, 0, 0, 559, 560,
2041
+ 381, 382, 382, 560, 559, 0, 0, 0, 0, 560,
2042
+ 382, 0, 0, 0, 382, 749, 749, 0, 0, 382,
2043
+ 382, 0, 0, 0, 749, 559, 561, 561, 749, 0,
2044
+ 560, 562, 562, 0, 749, 561, 0, 0, 0, 561,
2045
+ 562, 382, 383, 383, 562, 561, 0, 0, 0, 0,
2046
+
2047
+ 562, 383, 0, 0, 0, 383, 753, 753, 0, 0,
2048
+ 383, 383, 0, 0, 0, 753, 561, 563, 563, 753,
2049
+ 0, 562, 566, 566, 0, 753, 563, 0, 0, 0,
2050
+ 563, 566, 383, 384, 384, 566, 563, 0, 0, 0,
2051
+ 0, 566, 384, 0, 0, 0, 384, 754, 754, 0,
2052
+ 0, 384, 384, 0, 0, 0, 754, 563, 567, 567,
2053
+ 754, 0, 566, 568, 568, 0, 754, 567, 0, 0,
2054
+ 0, 567, 568, 384, 385, 385, 568, 567, 0, 0,
2055
+ 0, 0, 568, 385, 0, 0, 0, 385, 787, 787,
2056
+ 0, 0, 385, 385, 0, 0, 0, 787, 567, 569,
2057
+
2058
+ 569, 787, 0, 568, 570, 570, 0, 787, 569, 0,
2059
+ 0, 0, 569, 570, 385, 386, 386, 570, 569, 0,
2060
+ 0, 0, 0, 570, 386, 0, 0, 0, 386, 788,
2061
+ 788, 0, 0, 386, 386, 0, 0, 0, 788, 569,
2062
+ 571, 571, 788, 0, 570, 575, 575, 0, 788, 571,
2063
+ 0, 0, 0, 571, 575, 386, 387, 387, 575, 571,
2064
+ 0, 0, 0, 0, 575, 387, 0, 0, 0, 387,
2065
+ 0, 0, 0, 0, 387, 387, 0, 0, 0, 0,
2066
+ 571, 576, 576, 0, 0, 575, 577, 577, 0, 0,
2067
+ 576, 0, 0, 0, 576, 577, 387, 394, 394, 577,
2068
+
2069
+ 576, 0, 0, 0, 0, 577, 394, 0, 0, 0,
2070
+ 394, 0, 0, 0, 0, 394, 394, 0, 0, 0,
2071
+ 0, 576, 578, 578, 0, 0, 577, 583, 583, 0,
2072
+ 0, 578, 0, 0, 0, 578, 583, 394, 399, 399,
2073
+ 583, 578, 0, 0, 0, 0, 583, 399, 0, 0,
2074
+ 0, 399, 0, 0, 0, 0, 399, 399, 0, 0,
2075
+ 0, 0, 578, 584, 584, 0, 0, 583, 585, 585,
2076
+ 0, 0, 584, 0, 0, 0, 584, 585, 399, 400,
2077
+ 400, 585, 584, 0, 0, 0, 0, 585, 400, 0,
2078
+ 0, 0, 400, 0, 0, 0, 0, 400, 400, 0,
2079
+
2080
+ 0, 0, 0, 584, 586, 586, 0, 0, 585, 587,
2081
+ 587, 0, 0, 586, 0, 0, 0, 586, 587, 400,
2082
+ 432, 432, 587, 586, 0, 0, 0, 0, 587, 432,
2083
+ 0, 0, 0, 432, 0, 0, 0, 0, 432, 432,
2084
+ 0, 0, 0, 0, 586, 588, 588, 0, 0, 587,
2085
+ 589, 589, 0, 0, 588, 0, 0, 0, 588, 589,
2086
+ 432, 433, 433, 589, 588, 0, 0, 0, 0, 589,
2087
+ 433, 0, 0, 0, 433, 0, 0, 0, 0, 433,
2088
+ 433, 0, 0, 0, 0, 588, 590, 590, 0, 0,
2089
+ 589, 648, 648, 0, 0, 590, 0, 0, 0, 590,
2090
+
2091
+ 648, 433, 434, 434, 648, 590, 0, 0, 0, 0,
2092
+ 648, 434, 0, 0, 0, 434, 0, 0, 0, 0,
2093
+ 434, 434, 0, 0, 0, 0, 590, 649, 649, 0,
2094
+ 0, 648, 650, 650, 0, 0, 649, 0, 0, 0,
2095
+ 649, 650, 434, 435, 435, 650, 649, 0, 0, 0,
2096
+ 0, 650, 435, 0, 0, 0, 435, 0, 0, 0,
2097
+ 0, 435, 435, 0, 0, 0, 0, 649, 653, 653,
2098
+ 0, 0, 650, 654, 654, 0, 0, 653, 0, 0,
2099
+ 0, 653, 654, 435, 436, 436, 654, 653, 0, 0,
2100
+ 0, 0, 654, 436, 0, 0, 0, 436, 0, 0,
2101
+
2102
+ 0, 0, 436, 436, 0, 0, 0, 0, 653, 655,
2103
+ 655, 0, 0, 654, 661, 661, 0, 0, 655, 0,
2104
+ 0, 0, 655, 661, 436, 437, 437, 661, 655, 0,
2105
+ 0, 0, 0, 661, 437, 0, 0, 0, 437, 0,
2106
+ 0, 0, 0, 437, 437, 0, 0, 0, 0, 655,
2107
+ 662, 662, 0, 0, 661, 663, 663, 0, 0, 662,
2108
+ 0, 0, 0, 662, 663, 437, 438, 438, 663, 662,
2109
+ 0, 0, 0, 0, 663, 438, 0, 0, 0, 438,
2110
+ 0, 0, 0, 0, 438, 438, 0, 0, 0, 0,
2111
+ 662, 664, 664, 0, 0, 663, 665, 665, 0, 0,
2112
+
2113
+ 664, 0, 0, 0, 664, 665, 438, 443, 443, 665,
2114
+ 664, 0, 0, 0, 0, 665, 443, 0, 0, 0,
2115
+ 443, 0, 0, 0, 0, 443, 443, 0, 0, 0,
2116
+ 0, 664, 666, 666, 0, 0, 665, 667, 667, 0,
2117
+ 0, 666, 0, 0, 0, 666, 667, 443, 444, 444,
2118
+ 667, 666, 0, 0, 0, 0, 667, 444, 0, 0,
2119
+ 0, 444, 0, 0, 0, 0, 444, 444, 0, 0,
2120
+ 0, 0, 666, 668, 668, 0, 0, 667, 673, 673,
2121
+ 0, 0, 668, 0, 0, 0, 668, 673, 444, 445,
2122
+ 445, 673, 668, 0, 0, 0, 0, 673, 445, 0,
2123
+
2124
+ 0, 0, 445, 0, 0, 0, 0, 445, 445, 0,
2125
+ 0, 0, 0, 668, 674, 674, 0, 0, 673, 675,
2126
+ 675, 0, 0, 674, 0, 0, 0, 674, 675, 445,
2127
+ 446, 446, 675, 674, 0, 0, 0, 0, 675, 446,
2128
+ 0, 0, 0, 446, 0, 0, 0, 0, 446, 446,
2129
+ 0, 0, 0, 0, 674, 678, 678, 0, 0, 675,
2130
+ 679, 679, 0, 0, 678, 0, 0, 0, 678, 679,
2131
+ 446, 447, 447, 679, 678, 0, 0, 0, 0, 679,
2132
+ 447, 0, 0, 0, 447, 0, 0, 0, 0, 447,
2133
+ 447, 0, 0, 0, 0, 678, 681, 681, 0, 0,
2134
+
2135
+ 679, 682, 682, 0, 0, 681, 0, 0, 0, 681,
2136
+ 682, 447, 448, 448, 682, 681, 0, 0, 0, 0,
2137
+ 682, 448, 0, 0, 0, 448, 0, 0, 0, 0,
2138
+ 448, 448, 0, 0, 0, 0, 681, 683, 683, 0,
2139
+ 0, 682, 684, 684, 0, 0, 683, 0, 0, 0,
2140
+ 683, 684, 448, 449, 449, 684, 683, 0, 0, 0,
2141
+ 0, 684, 449, 0, 0, 0, 449, 0, 0, 0,
2142
+ 0, 449, 449, 0, 0, 0, 0, 683, 685, 685,
2143
+ 0, 0, 684, 686, 686, 0, 0, 685, 0, 0,
2144
+ 0, 685, 686, 449, 450, 450, 686, 685, 0, 0,
2145
+
2146
+ 0, 0, 686, 450, 0, 0, 0, 450, 0, 0,
2147
+ 0, 0, 450, 450, 0, 0, 0, 0, 685, 687,
2148
+ 687, 0, 0, 686, 690, 690, 0, 0, 687, 0,
2149
+ 0, 0, 687, 690, 450, 451, 451, 690, 687, 0,
2150
+ 0, 0, 0, 690, 451, 0, 0, 0, 451, 0,
2151
+ 0, 0, 0, 451, 451, 0, 0, 0, 0, 687,
2152
+ 691, 691, 0, 0, 690, 692, 692, 0, 0, 691,
2153
+ 0, 0, 0, 691, 692, 451, 455, 455, 692, 691,
2154
+ 0, 0, 0, 0, 692, 455, 0, 0, 0, 455,
2155
+ 0, 0, 0, 0, 455, 455, 0, 0, 0, 0,
2156
+
2157
+ 691, 693, 693, 0, 0, 692, 694, 694, 0, 0,
2158
+ 693, 0, 0, 0, 693, 694, 455, 456, 456, 694,
2159
+ 693, 0, 0, 0, 0, 694, 456, 0, 0, 0,
2160
+ 456, 0, 0, 0, 0, 456, 456, 0, 0, 0,
2161
+ 0, 693, 695, 695, 0, 0, 694, 736, 736, 0,
2162
+ 0, 695, 0, 0, 0, 695, 736, 456, 458, 458,
2163
+ 736, 695, 0, 0, 0, 0, 736, 458, 0, 0,
2164
+ 0, 458, 0, 0, 0, 0, 458, 458, 0, 0,
2165
+ 0, 0, 695, 737, 737, 0, 0, 736, 738, 738,
2166
+ 0, 0, 737, 0, 0, 0, 737, 738, 458, 459,
2167
+
2168
+ 459, 738, 737, 0, 0, 0, 0, 738, 459, 0,
2169
+ 0, 0, 459, 0, 0, 0, 0, 459, 459, 0,
2170
+ 0, 0, 0, 737, 739, 739, 0, 0, 738, 743,
2171
+ 743, 0, 0, 739, 0, 0, 0, 739, 743, 459,
2172
+ 460, 460, 743, 739, 0, 0, 0, 0, 743, 460,
2173
+ 0, 0, 0, 460, 0, 0, 0, 0, 460, 460,
2174
+ 0, 0, 0, 0, 739, 744, 744, 0, 0, 743,
2175
+ 745, 745, 0, 0, 744, 0, 0, 0, 744, 745,
2176
+ 460, 461, 461, 745, 744, 0, 0, 0, 0, 745,
2177
+ 461, 0, 0, 0, 461, 0, 0, 0, 0, 461,
2178
+
2179
+ 461, 0, 0, 0, 0, 744, 746, 746, 0, 0,
2180
+ 745, 747, 747, 0, 0, 746, 0, 0, 0, 746,
2181
+ 747, 461, 462, 462, 747, 746, 0, 0, 0, 0,
2182
+ 747, 462, 0, 0, 0, 462, 0, 0, 0, 0,
2183
+ 462, 462, 0, 0, 0, 0, 746, 750, 750, 0,
2184
+ 0, 747, 751, 751, 0, 0, 750, 0, 0, 0,
2185
+ 750, 751, 462, 463, 463, 751, 750, 0, 0, 0,
2186
+ 0, 751, 463, 0, 0, 0, 463, 0, 0, 0,
2187
+ 0, 463, 463, 0, 0, 0, 0, 750, 752, 752,
2188
+ 0, 0, 751, 758, 758, 0, 0, 752, 0, 0,
2189
+
2190
+ 0, 752, 758, 463, 464, 464, 758, 752, 0, 0,
2191
+ 0, 0, 758, 464, 0, 0, 0, 464, 0, 0,
2192
+ 0, 0, 464, 464, 0, 0, 0, 0, 752, 759,
2193
+ 759, 0, 0, 758, 760, 760, 0, 0, 759, 0,
2194
+ 0, 0, 759, 760, 464, 465, 465, 760, 759, 0,
2195
+ 0, 0, 0, 760, 465, 0, 0, 0, 465, 0,
2196
+ 0, 0, 0, 465, 465, 0, 0, 0, 0, 759,
2197
+ 761, 761, 0, 0, 760, 762, 762, 0, 0, 761,
2198
+ 0, 0, 0, 761, 762, 465, 498, 498, 762, 761,
2199
+ 0, 0, 0, 0, 762, 498, 0, 0, 0, 498,
2200
+
2201
+ 0, 0, 0, 0, 498, 498, 0, 0, 0, 0,
2202
+ 761, 763, 763, 0, 0, 762, 764, 764, 0, 0,
2203
+ 763, 0, 0, 0, 763, 764, 498, 499, 499, 764,
2204
+ 763, 0, 0, 0, 0, 764, 499, 0, 0, 0,
2205
+ 499, 0, 0, 0, 0, 499, 499, 0, 0, 0,
2206
+ 0, 763, 765, 765, 0, 0, 764, 782, 782, 0,
2207
+ 0, 765, 0, 0, 0, 765, 782, 499, 500, 500,
2208
+ 782, 765, 0, 0, 0, 0, 782, 500, 0, 0,
2209
+ 0, 500, 0, 0, 0, 0, 500, 500, 0, 0,
2210
+ 0, 0, 765, 783, 783, 0, 0, 782, 784, 784,
2211
+
2212
+ 0, 0, 783, 0, 0, 0, 783, 784, 500, 501,
2213
+ 501, 784, 783, 0, 0, 0, 0, 784, 501, 0,
2214
+ 0, 0, 501, 0, 0, 0, 0, 501, 501, 0,
2215
+ 0, 0, 0, 783, 785, 785, 0, 0, 784, 786,
2216
+ 786, 0, 0, 785, 0, 0, 0, 785, 786, 501,
2217
+ 502, 502, 786, 785, 0, 0, 0, 0, 786, 502,
2218
+ 0, 0, 0, 502, 0, 0, 0, 0, 502, 502,
2219
+ 0, 0, 0, 0, 785, 790, 790, 0, 0, 786,
2220
+ 791, 791, 0, 0, 790, 0, 0, 0, 790, 791,
2221
+ 502, 503, 503, 791, 790, 0, 0, 0, 0, 791,
2222
+
2223
+ 503, 0, 0, 0, 503, 0, 0, 0, 0, 503,
2224
+ 503, 0, 0, 0, 0, 790, 793, 793, 0, 0,
2225
+ 791, 0, 0, 0, 0, 793, 0, 0, 0, 793,
2226
+ 0, 503, 504, 504, 0, 793, 0, 0, 0, 0,
2227
+ 0, 504, 0, 0, 0, 504, 0, 0, 0, 0,
2228
+ 504, 504, 0, 0, 0, 0, 793, 0, 0, 0,
2229
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230
+ 0, 0, 504, 505, 505, 0, 0, 0, 0, 0,
2231
+ 0, 0, 505, 0, 0, 0, 505, 0, 0, 0,
2232
+ 0, 505, 505, 0, 0, 0, 0, 0, 0, 0,
2233
+
2234
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2235
+ 0, 0, 0, 505, 507, 507, 0, 0, 0, 0,
2236
+ 0, 0, 0, 507, 0, 0, 0, 507, 0, 0,
2237
+ 0, 0, 507, 507, 0, 0, 0, 0, 0, 0,
2238
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2239
+ 0, 0, 0, 0, 507, 508, 508, 0, 0, 0,
2240
+ 0, 0, 0, 0, 508, 0, 0, 0, 508, 0,
2241
+ 0, 0, 0, 508, 508, 0, 0, 0, 0, 0,
2242
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2243
+ 0, 0, 0, 0, 0, 508, 509, 509, 0, 0,
2244
+
2245
+ 0, 0, 0, 0, 0, 509, 0, 0, 0, 509,
2246
+ 0, 0, 0, 0, 509, 509, 0, 0, 0, 0,
2247
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2248
+ 0, 0, 0, 0, 0, 0, 509, 510, 510, 0,
2249
+ 0, 0, 0, 0, 0, 0, 510, 0, 0, 0,
2250
+ 510, 0, 0, 0, 0, 510, 510, 0, 0, 0,
2251
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2252
+ 0, 0, 0, 0, 0, 0, 0, 510, 511, 511,
2253
+ 0, 0, 0, 0, 0, 0, 0, 511, 0, 0,
2254
+ 0, 511, 0, 0, 0, 0, 511, 511, 0, 0,
2255
+
2256
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2257
+ 0, 0, 0, 0, 0, 0, 0, 0, 511, 512,
2258
+ 512, 0, 0, 0, 0, 0, 0, 0, 512, 0,
2259
+ 0, 0, 512, 0, 0, 0, 0, 512, 512, 0,
2260
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2261
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 512,
2262
+ 513, 513, 0, 0, 0, 0, 0, 0, 0, 513,
2263
+ 0, 0, 0, 513, 0, 0, 0, 0, 513, 513,
2264
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2265
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2266
+
2267
+ 513, 514, 514, 0, 0, 0, 0, 0, 0, 0,
2268
+ 514, 0, 0, 0, 514, 0, 0, 0, 0, 514,
2269
+ 514, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2270
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271
+ 0, 514, 519, 519, 0, 0, 0, 0, 0, 0,
2272
+ 0, 519, 0, 0, 0, 519, 0, 0, 0, 0,
2273
+ 519, 519, 0, 0, 0, 0, 0, 0, 0, 0,
2274
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2275
+ 0, 0, 519, 520, 520, 0, 0, 0, 0, 0,
2276
+ 0, 0, 520, 0, 0, 0, 520, 0, 0, 0,
2277
+
2278
+ 0, 520, 520, 0, 0, 0, 0, 0, 0, 0,
2279
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2280
+ 0, 0, 0, 520, 521, 521, 0, 0, 0, 0,
2281
+ 0, 0, 0, 521, 0, 0, 0, 521, 0, 0,
2282
+ 0, 0, 521, 521, 0, 0, 0, 0, 0, 0,
2283
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2284
+ 0, 0, 0, 0, 521, 522, 522, 0, 0, 0,
2285
+ 0, 0, 0, 0, 522, 0, 0, 0, 522, 0,
2286
+ 0, 0, 0, 522, 522, 0, 0, 0, 0, 0,
2287
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2288
+
2289
+ 0, 0, 0, 0, 0, 522, 523, 523, 0, 0,
2290
+ 0, 0, 0, 0, 0, 523, 0, 0, 0, 523,
2291
+ 0, 0, 0, 0, 523, 523, 0, 0, 0, 0,
2292
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2293
+ 0, 0, 0, 0, 0, 0, 523, 524, 524, 0,
2294
+ 0, 0, 0, 0, 0, 0, 524, 0, 0, 0,
2295
+ 524, 0, 0, 0, 0, 524, 524, 0, 0, 0,
2296
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297
+ 0, 0, 0, 0, 0, 0, 0, 524, 525, 525,
2298
+ 0, 0, 0, 0, 0, 0, 0, 525, 0, 0,
2299
+
2300
+ 0, 525, 0, 0, 0, 0, 525, 525, 0, 0,
2301
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2302
+ 0, 0, 0, 0, 0, 0, 0, 0, 525, 529,
2303
+ 529, 0, 0, 0, 0, 0, 0, 0, 529, 0,
2304
+ 0, 0, 529, 0, 0, 0, 0, 529, 529, 0,
2305
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2306
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 529,
2307
+ 530, 530, 0, 0, 0, 0, 0, 0, 0, 530,
2308
+ 0, 0, 0, 530, 0, 0, 0, 0, 530, 530,
2309
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2310
+
2311
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312
+ 530, 531, 531, 0, 0, 0, 0, 0, 0, 0,
2313
+ 531, 0, 0, 0, 531, 0, 0, 0, 0, 531,
2314
+ 531, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2315
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2316
+ 0, 531, 532, 532, 0, 0, 0, 0, 0, 0,
2317
+ 0, 532, 0, 0, 0, 532, 0, 0, 0, 0,
2318
+ 532, 532, 0, 0, 0, 0, 0, 0, 0, 0,
2319
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2320
+ 0, 0, 532, 533, 533, 0, 0, 0, 0, 0,
2321
+
2322
+ 0, 0, 533, 0, 0, 0, 533, 0, 0, 0,
2323
+ 0, 533, 533, 0, 0, 0, 0, 0, 0, 0,
2324
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2325
+ 0, 0, 0, 533, 534, 534, 0, 0, 0, 0,
2326
+ 0, 0, 0, 534, 0, 0, 0, 534, 0, 0,
2327
+ 0, 0, 534, 534, 0, 0, 0, 0, 0, 0,
2328
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2329
+ 0, 0, 0, 0, 534, 535, 535, 0, 0, 0,
2330
+ 0, 0, 0, 0, 535, 0, 0, 0, 535, 0,
2331
+ 0, 0, 0, 535, 535, 0, 0, 0, 0, 0,
2332
+
2333
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2334
+ 0, 0, 0, 0, 0, 535, 540, 540, 0, 0,
2335
+ 0, 0, 0, 0, 0, 540, 0, 0, 0, 540,
2336
+ 0, 0, 0, 0, 540, 540, 0, 0, 0, 0,
2337
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2338
+ 0, 0, 0, 0, 0, 0, 540, 541, 541, 0,
2339
+ 0, 0, 0, 0, 0, 0, 541, 0, 0, 0,
2340
+ 541, 0, 0, 0, 0, 541, 541, 0, 0, 0,
2341
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2342
+ 0, 0, 0, 0, 0, 0, 0, 541, 542, 542,
2343
+
2344
+ 0, 0, 0, 0, 0, 0, 0, 542, 0, 0,
2345
+ 0, 542, 0, 0, 0, 0, 542, 542, 0, 0,
2346
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2347
+ 0, 0, 0, 0, 0, 0, 0, 0, 542, 543,
2348
+ 543, 0, 0, 0, 0, 0, 0, 0, 543, 0,
2349
+ 0, 0, 543, 0, 0, 0, 0, 543, 543, 0,
2350
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2351
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 543,
2352
+ 544, 544, 0, 0, 0, 0, 0, 0, 0, 544,
2353
+ 0, 0, 0, 544, 0, 0, 0, 0, 544, 544,
2354
+
2355
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2356
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2357
+ 544, 545, 545, 0, 0, 0, 0, 0, 0, 0,
2358
+ 545, 0, 0, 0, 545, 0, 0, 0, 0, 545,
2359
+ 545, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2360
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2361
+ 0, 545, 546, 546, 0, 0, 0, 0, 0, 0,
2362
+ 0, 546, 0, 0, 0, 546, 0, 0, 0, 0,
2363
+ 546, 546, 0, 0, 0, 0, 0, 0, 0, 0,
2364
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2365
+
2366
+ 0, 0, 546, 547, 547, 0, 0, 0, 0, 0,
2367
+ 0, 0, 547, 0, 0, 0, 547, 0, 0, 0,
2368
+ 0, 547, 547, 0, 0, 0, 0, 0, 0, 0,
2369
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2370
+ 0, 0, 0, 547, 548, 548, 0, 0, 0, 0,
2371
+ 0, 0, 0, 548, 0, 0, 0, 548, 0, 0,
2372
+ 0, 0, 548, 548, 0, 0, 0, 0, 0, 0,
2373
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2374
+ 0, 0, 0, 0, 548, 591, 591, 0, 0, 0,
2375
+ 0, 0, 0, 0, 591, 0, 0, 0, 591, 0,
2376
+
2377
+ 0, 0, 0, 591, 591, 0, 0, 0, 0, 0,
2378
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2379
+ 0, 0, 0, 0, 0, 591, 592, 592, 0, 0,
2380
+ 0, 0, 0, 0, 0, 592, 0, 0, 0, 592,
2381
+ 0, 0, 0, 0, 592, 592, 0, 0, 0, 0,
2382
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2383
+ 0, 0, 0, 0, 0, 0, 592, 593, 593, 0,
2384
+ 0, 0, 0, 0, 0, 0, 593, 0, 0, 0,
2385
+ 593, 0, 0, 0, 0, 593, 593, 0, 0, 0,
2386
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2387
+
2388
+ 0, 0, 0, 0, 0, 0, 0, 593, 594, 594,
2389
+ 0, 0, 0, 0, 0, 0, 0, 594, 0, 0,
2390
+ 0, 594, 0, 0, 0, 0, 594, 594, 0, 0,
2391
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2392
+ 0, 0, 0, 0, 0, 0, 0, 0, 594, 595,
2393
+ 595, 0, 0, 0, 0, 0, 0, 0, 595, 0,
2394
+ 0, 0, 595, 0, 0, 0, 0, 595, 595, 0,
2395
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2396
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 595,
2397
+ 596, 596, 0, 0, 0, 0, 0, 0, 0, 596,
2398
+
2399
+ 0, 0, 0, 596, 0, 0, 0, 0, 596, 596,
2400
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2401
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2402
+ 596, 597, 597, 0, 0, 0, 0, 0, 0, 0,
2403
+ 597, 0, 0, 0, 597, 0, 0, 0, 0, 597,
2404
+ 597, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2405
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2406
+ 0, 597, 598, 598, 0, 0, 0, 0, 0, 0,
2407
+ 0, 598, 0, 0, 0, 598, 0, 0, 0, 0,
2408
+ 598, 598, 0, 0, 0, 0, 0, 0, 0, 0,
2409
+
2410
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2411
+ 0, 0, 598, 599, 599, 0, 0, 0, 0, 0,
2412
+ 0, 0, 599, 0, 0, 0, 599, 0, 0, 0,
2413
+ 0, 599, 599, 0, 0, 0, 0, 0, 0, 0,
2414
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2415
+ 0, 0, 0, 599, 600, 600, 0, 0, 0, 0,
2416
+ 0, 0, 0, 600, 0, 0, 0, 600, 0, 0,
2417
+ 0, 0, 600, 600, 0, 0, 0, 0, 0, 0,
2418
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2419
+ 0, 0, 0, 0, 600, 601, 601, 0, 0, 0,
2420
+
2421
+ 0, 0, 0, 0, 601, 0, 0, 0, 601, 0,
2422
+ 0, 0, 0, 601, 601, 0, 0, 0, 0, 0,
2423
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2424
+ 0, 0, 0, 0, 0, 601, 602, 602, 0, 0,
2425
+ 0, 0, 0, 0, 0, 602, 0, 0, 0, 602,
2426
+ 0, 0, 0, 0, 602, 602, 0, 0, 0, 0,
2427
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2428
+ 0, 0, 0, 0, 0, 0, 602, 606, 606, 0,
2429
+ 0, 0, 0, 0, 0, 0, 606, 0, 0, 0,
2430
+ 606, 0, 0, 0, 0, 606, 606, 0, 0, 0,
2431
+
2432
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2433
+ 0, 0, 0, 0, 0, 0, 0, 606, 607, 607,
2434
+ 0, 0, 0, 0, 0, 0, 0, 607, 0, 0,
2435
+ 0, 607, 0, 0, 0, 0, 607, 607, 0, 0,
2436
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2437
+ 0, 0, 0, 0, 0, 0, 0, 0, 607, 608,
2438
+ 608, 0, 0, 0, 0, 0, 0, 0, 608, 0,
2439
+ 0, 0, 608, 0, 0, 0, 0, 608, 608, 0,
2440
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2441
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 608,
2442
+
2443
+ 609, 609, 0, 0, 0, 0, 0, 0, 0, 609,
2444
+ 0, 0, 0, 609, 0, 0, 0, 0, 609, 609,
2445
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2446
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2447
+ 609, 610, 610, 0, 0, 0, 0, 0, 0, 0,
2448
+ 610, 0, 0, 0, 610, 0, 0, 0, 0, 610,
2449
+ 610, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2450
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2451
+ 0, 610, 611, 611, 0, 0, 0, 0, 0, 0,
2452
+ 0, 611, 0, 0, 0, 611, 0, 0, 0, 0,
2453
+
2454
+ 611, 611, 0, 0, 0, 0, 0, 0, 0, 0,
2455
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2456
+ 0, 0, 611, 612, 612, 0, 0, 0, 0, 0,
2457
+ 0, 0, 612, 0, 0, 0, 612, 0, 0, 0,
2458
+ 0, 612, 612, 0, 0, 0, 0, 0, 0, 0,
2459
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2460
+ 0, 0, 0, 612, 613, 613, 0, 0, 0, 0,
2461
+ 0, 0, 0, 613, 0, 0, 0, 613, 0, 0,
2462
+ 0, 0, 613, 613, 0, 0, 0, 0, 0, 0,
2463
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2464
+
2465
+ 0, 0, 0, 0, 613, 614, 614, 0, 0, 0,
2466
+ 0, 0, 0, 0, 614, 0, 0, 0, 614, 0,
2467
+ 0, 0, 0, 614, 614, 0, 0, 0, 0, 0,
2468
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2469
+ 0, 0, 0, 0, 0, 614, 620, 620, 0, 0,
2470
+ 0, 0, 0, 0, 0, 620, 0, 0, 0, 620,
2471
+ 0, 0, 0, 0, 620, 620, 0, 0, 0, 0,
2472
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2473
+ 0, 0, 0, 0, 0, 0, 620, 621, 621, 0,
2474
+ 0, 0, 0, 0, 0, 0, 621, 0, 0, 0,
2475
+
2476
+ 621, 0, 0, 0, 0, 621, 621, 0, 0, 0,
2477
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2478
+ 0, 0, 0, 0, 0, 0, 0, 621, 622, 622,
2479
+ 0, 0, 0, 0, 0, 0, 0, 622, 0, 0,
2480
+ 0, 622, 0, 0, 0, 0, 622, 622, 0, 0,
2481
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2482
+ 0, 0, 0, 0, 0, 0, 0, 0, 622, 623,
2483
+ 623, 0, 0, 0, 0, 0, 0, 0, 623, 0,
2484
+ 0, 0, 623, 0, 0, 0, 0, 623, 623, 0,
2485
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2486
+
2487
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 623,
2488
+ 624, 624, 0, 0, 0, 0, 0, 0, 0, 624,
2489
+ 0, 0, 0, 624, 0, 0, 0, 0, 624, 624,
2490
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2491
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2492
+ 624, 625, 625, 0, 0, 0, 0, 0, 0, 0,
2493
+ 625, 0, 0, 0, 625, 0, 0, 0, 0, 625,
2494
+ 625, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2495
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2496
+ 0, 625, 626, 626, 0, 0, 0, 0, 0, 0,
2497
+
2498
+ 0, 626, 0, 0, 0, 626, 0, 0, 0, 0,
2499
+ 626, 626, 0, 0, 0, 0, 0, 0, 0, 0,
2500
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2501
+ 0, 0, 626, 627, 627, 0, 0, 0, 0, 0,
2502
+ 0, 0, 627, 0, 0, 0, 627, 0, 0, 0,
2503
+ 0, 627, 627, 0, 0, 0, 0, 0, 0, 0,
2504
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2505
+ 0, 0, 0, 627, 629, 629, 0, 0, 0, 0,
2506
+ 0, 0, 0, 629, 0, 0, 0, 629, 0, 0,
2507
+ 0, 0, 629, 629, 0, 0, 0, 0, 0, 0,
2508
+
2509
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2510
+ 0, 0, 0, 0, 629, 630, 630, 0, 0, 0,
2511
+ 0, 0, 0, 0, 630, 0, 0, 0, 630, 0,
2512
+ 0, 0, 0, 630, 630, 0, 0, 0, 0, 0,
2513
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2514
+ 0, 0, 0, 0, 0, 630, 631, 631, 0, 0,
2515
+ 0, 0, 0, 0, 0, 631, 0, 0, 0, 631,
2516
+ 0, 0, 0, 0, 631, 631, 0, 0, 0, 0,
2517
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2518
+ 0, 0, 0, 0, 0, 0, 631, 632, 632, 0,
2519
+
2520
+ 0, 0, 0, 0, 0, 0, 632, 0, 0, 0,
2521
+ 632, 0, 0, 0, 0, 632, 632, 0, 0, 0,
2522
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2523
+ 0, 0, 0, 0, 0, 0, 0, 632, 633, 633,
2524
+ 0, 0, 0, 0, 0, 0, 0, 633, 0, 0,
2525
+ 0, 633, 0, 0, 0, 0, 633, 633, 0, 0,
2526
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2527
+ 0, 0, 0, 0, 0, 0, 0, 0, 633, 634,
2528
+ 634, 0, 0, 0, 0, 0, 0, 0, 634, 0,
2529
+ 0, 0, 634, 0, 0, 0, 0, 634, 634, 0,
2530
+
2531
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2532
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 634,
2533
+ 635, 635, 0, 0, 0, 0, 0, 0, 0, 635,
2534
+ 0, 0, 0, 635, 0, 0, 0, 0, 635, 635,
2535
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2536
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2537
+ 635, 636, 636, 0, 0, 0, 0, 0, 0, 0,
2538
+ 636, 0, 0, 0, 636, 0, 0, 0, 0, 636,
2539
+ 636, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2540
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2541
+
2542
+ 0, 636, 641, 641, 0, 0, 0, 0, 0, 0,
2543
+ 0, 641, 0, 0, 0, 641, 0, 0, 0, 0,
2544
+ 641, 641, 0, 0, 0, 0, 0, 0, 0, 0,
2545
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2546
+ 0, 0, 641, 642, 642, 0, 0, 0, 0, 0,
2547
+ 0, 0, 642, 0, 0, 0, 642, 0, 0, 0,
2548
+ 0, 642, 642, 0, 0, 0, 0, 0, 0, 0,
2549
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2550
+ 0, 0, 0, 642, 643, 643, 0, 0, 0, 0,
2551
+ 0, 0, 0, 643, 0, 0, 0, 643, 0, 0,
2552
+
2553
+ 0, 0, 643, 643, 0, 0, 0, 0, 0, 0,
2554
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2555
+ 0, 0, 0, 0, 643, 644, 644, 0, 0, 0,
2556
+ 0, 0, 0, 0, 644, 0, 0, 0, 644, 0,
2557
+ 0, 0, 0, 644, 644, 0, 0, 0, 0, 0,
2558
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2559
+ 0, 0, 0, 0, 0, 644, 645, 645, 0, 0,
2560
+ 0, 0, 0, 0, 0, 645, 0, 0, 0, 645,
2561
+ 0, 0, 0, 0, 645, 645, 0, 0, 0, 0,
2562
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2563
+
2564
+ 0, 0, 0, 0, 0, 0, 645, 646, 646, 0,
2565
+ 0, 0, 0, 0, 0, 0, 646, 0, 0, 0,
2566
+ 646, 0, 0, 0, 0, 646, 646, 0, 0, 0,
2567
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2568
+ 0, 0, 0, 0, 0, 0, 0, 646, 647, 647,
2569
+ 0, 0, 0, 0, 0, 0, 0, 647, 0, 0,
2570
+ 0, 647, 0, 0, 0, 0, 647, 647, 0, 0,
2571
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2572
+ 0, 0, 0, 0, 0, 0, 0, 0, 647, 696,
2573
+ 696, 0, 0, 0, 0, 0, 0, 0, 696, 0,
2574
+
2575
+ 0, 0, 696, 0, 0, 0, 0, 696, 696, 0,
2576
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2577
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 696,
2578
+ 697, 697, 0, 0, 0, 0, 0, 0, 0, 697,
2579
+ 0, 0, 0, 697, 0, 0, 0, 0, 697, 697,
2580
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2581
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2582
+ 697, 698, 698, 0, 0, 0, 0, 0, 0, 0,
2583
+ 698, 0, 0, 0, 698, 0, 0, 0, 0, 698,
2584
+ 698, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2585
+
2586
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2587
+ 0, 698, 699, 699, 0, 0, 0, 0, 0, 0,
2588
+ 0, 699, 0, 0, 0, 699, 0, 0, 0, 0,
2589
+ 699, 699, 0, 0, 0, 0, 0, 0, 0, 0,
2590
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2591
+ 0, 0, 699, 700, 700, 0, 0, 0, 0, 0,
2592
+ 0, 0, 700, 0, 0, 0, 700, 0, 0, 0,
2593
+ 0, 700, 700, 0, 0, 0, 0, 0, 0, 0,
2594
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2595
+ 0, 0, 0, 700, 701, 701, 0, 0, 0, 0,
2596
+
2597
+ 0, 0, 0, 701, 0, 0, 0, 701, 0, 0,
2598
+ 0, 0, 701, 701, 0, 0, 0, 0, 0, 0,
2599
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600
+ 0, 0, 0, 0, 701, 702, 702, 0, 0, 0,
2601
+ 0, 0, 0, 0, 702, 0, 0, 0, 702, 0,
2602
+ 0, 0, 0, 702, 702, 0, 0, 0, 0, 0,
2603
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2604
+ 0, 0, 0, 0, 0, 702, 705, 705, 0, 0,
2605
+ 0, 0, 0, 0, 0, 705, 0, 0, 0, 705,
2606
+ 0, 0, 0, 0, 705, 705, 0, 0, 0, 0,
2607
+
2608
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2609
+ 0, 0, 0, 0, 0, 0, 705, 706, 706, 0,
2610
+ 0, 0, 0, 0, 0, 0, 706, 0, 0, 0,
2611
+ 706, 0, 0, 0, 0, 706, 706, 0, 0, 0,
2612
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2613
+ 0, 0, 0, 0, 0, 0, 0, 706, 707, 707,
2614
+ 0, 0, 0, 0, 0, 0, 0, 707, 0, 0,
2615
+ 0, 707, 0, 0, 0, 0, 707, 707, 0, 0,
2616
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2617
+ 0, 0, 0, 0, 0, 0, 0, 0, 707, 708,
2618
+
2619
+ 708, 0, 0, 0, 0, 0, 0, 0, 708, 0,
2620
+ 0, 0, 708, 0, 0, 0, 0, 708, 708, 0,
2621
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2622
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 708,
2623
+ 709, 709, 0, 0, 0, 0, 0, 0, 0, 709,
2624
+ 0, 0, 0, 709, 0, 0, 0, 0, 709, 709,
2625
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2626
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2627
+ 709, 710, 710, 0, 0, 0, 0, 0, 0, 0,
2628
+ 710, 0, 0, 0, 710, 0, 0, 0, 0, 710,
2629
+
2630
+ 710, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2631
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2632
+ 0, 710, 711, 711, 0, 0, 0, 0, 0, 0,
2633
+ 0, 711, 0, 0, 0, 711, 0, 0, 0, 0,
2634
+ 711, 711, 0, 0, 0, 0, 0, 0, 0, 0,
2635
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2636
+ 0, 0, 711, 712, 712, 0, 0, 0, 0, 0,
2637
+ 0, 0, 712, 0, 0, 0, 712, 0, 0, 0,
2638
+ 0, 712, 712, 0, 0, 0, 0, 0, 0, 0,
2639
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2640
+
2641
+ 0, 0, 0, 712, 713, 713, 0, 0, 0, 0,
2642
+ 0, 0, 0, 713, 0, 0, 0, 713, 0, 0,
2643
+ 0, 0, 713, 713, 0, 0, 0, 0, 0, 0,
2644
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2645
+ 0, 0, 0, 0, 713, 714, 714, 0, 0, 0,
2646
+ 0, 0, 0, 0, 714, 0, 0, 0, 714, 0,
2647
+ 0, 0, 0, 714, 714, 0, 0, 0, 0, 0,
2648
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2649
+ 0, 0, 0, 0, 0, 714, 715, 715, 0, 0,
2650
+ 0, 0, 0, 0, 0, 715, 0, 0, 0, 715,
2651
+
2652
+ 0, 0, 0, 0, 715, 715, 0, 0, 0, 0,
2653
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654
+ 0, 0, 0, 0, 0, 0, 715, 716, 716, 0,
2655
+ 0, 0, 0, 0, 0, 0, 716, 0, 0, 0,
2656
+ 716, 0, 0, 0, 0, 716, 716, 0, 0, 0,
2657
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2658
+ 0, 0, 0, 0, 0, 0, 0, 716, 717, 717,
2659
+ 0, 0, 0, 0, 0, 0, 0, 717, 0, 0,
2660
+ 0, 717, 0, 0, 0, 0, 717, 717, 0, 0,
2661
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2662
+
2663
+ 0, 0, 0, 0, 0, 0, 0, 0, 717, 718,
2664
+ 718, 0, 0, 0, 0, 0, 0, 0, 718, 0,
2665
+ 0, 0, 718, 0, 0, 0, 0, 718, 718, 0,
2666
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2667
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 718,
2668
+ 722, 722, 0, 0, 0, 0, 0, 0, 0, 722,
2669
+ 0, 0, 0, 722, 0, 0, 0, 0, 722, 722,
2670
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672
+ 722, 723, 723, 0, 0, 0, 0, 0, 0, 0,
2673
+
2674
+ 723, 0, 0, 0, 723, 0, 0, 0, 0, 723,
2675
+ 723, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677
+ 0, 723, 724, 724, 0, 0, 0, 0, 0, 0,
2678
+ 0, 724, 0, 0, 0, 724, 0, 0, 0, 0,
2679
+ 724, 724, 0, 0, 0, 0, 0, 0, 0, 0,
2680
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2681
+ 0, 0, 724, 725, 725, 0, 0, 0, 0, 0,
2682
+ 0, 0, 725, 0, 0, 0, 725, 0, 0, 0,
2683
+ 0, 725, 725, 0, 0, 0, 0, 0, 0, 0,
2684
+
2685
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2686
+ 0, 0, 0, 725, 726, 726, 0, 0, 0, 0,
2687
+ 0, 0, 0, 726, 0, 0, 0, 726, 0, 0,
2688
+ 0, 0, 726, 726, 0, 0, 0, 0, 0, 0,
2689
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2690
+ 0, 0, 0, 0, 726, 727, 727, 0, 0, 0,
2691
+ 0, 0, 0, 0, 727, 0, 0, 0, 727, 0,
2692
+ 0, 0, 0, 727, 727, 0, 0, 0, 0, 0,
2693
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2694
+ 0, 0, 0, 0, 0, 727, 728, 728, 0, 0,
2695
+
2696
+ 0, 0, 0, 0, 0, 728, 0, 0, 0, 728,
2697
+ 0, 0, 0, 0, 728, 728, 0, 0, 0, 0,
2698
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2699
+ 0, 0, 0, 0, 0, 0, 728, 729, 729, 0,
2700
+ 0, 0, 0, 0, 0, 0, 729, 0, 0, 0,
2701
+ 729, 0, 0, 0, 0, 729, 729, 0, 0, 0,
2702
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2703
+ 0, 0, 0, 0, 0, 0, 0, 729, 730, 730,
2704
+ 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
2705
+ 0, 730, 0, 0, 0, 0, 730, 730, 0, 0,
2706
+
2707
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2708
+ 0, 0, 0, 0, 0, 0, 0, 0, 730, 770,
2709
+ 770, 0, 0, 0, 0, 0, 0, 0, 770, 0,
2710
+ 0, 0, 770, 0, 0, 0, 0, 770, 770, 0,
2711
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2712
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 770,
2713
+ 771, 771, 0, 0, 0, 0, 0, 0, 0, 771,
2714
+ 0, 0, 0, 771, 0, 0, 0, 0, 771, 771,
2715
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2716
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2717
+
2718
+ 771, 772, 772, 0, 0, 0, 0, 0, 0, 0,
2719
+ 772, 0, 0, 0, 772, 0, 0, 0, 0, 772,
2720
+ 772, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2721
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2722
+ 0, 772, 773, 773, 0, 0, 0, 0, 0, 0,
2723
+ 0, 773, 0, 0, 0, 773, 0, 0, 0, 0,
2724
+ 773, 773, 0, 0, 0, 0, 0, 0, 0, 0,
2725
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2726
+ 0, 0, 773, 774, 774, 0, 0, 0, 0, 0,
2727
+ 0, 0, 774, 0, 0, 0, 774, 0, 0, 0,
2728
+
2729
+ 0, 774, 774, 0, 0, 0, 0, 0, 0, 0,
2730
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2731
+ 0, 0, 0, 774, 775, 775, 0, 0, 0, 0,
2732
+ 0, 0, 0, 775, 0, 0, 0, 775, 0, 0,
2733
+ 0, 0, 775, 775, 0, 0, 0, 0, 0, 0,
2734
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2735
+ 0, 0, 0, 0, 775, 776, 776, 0, 0, 0,
2736
+ 0, 0, 0, 0, 776, 0, 0, 0, 776, 0,
2737
+ 0, 0, 0, 776, 776, 0, 0, 0, 0, 0,
2738
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2739
+
2740
+ 0, 0, 0, 0, 0, 776, 777, 777, 0, 0,
2741
+ 0, 0, 0, 0, 0, 777, 0, 0, 0, 777,
2742
+ 0, 0, 0, 0, 777, 777, 0, 0, 0, 0,
2743
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2744
+ 0, 0, 0, 0, 0, 0, 777, 780, 780, 0,
2745
+ 0, 0, 0, 0, 0, 0, 780, 0, 0, 0,
2746
+ 780, 0, 0, 0, 0, 780, 780, 0, 0, 0,
2747
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2748
+ 0, 0, 0, 0, 0, 0, 0, 780, 781, 781,
2749
+ 0, 0, 0, 0, 0, 0, 0, 781, 0, 0,
2750
+
2751
+ 0, 781, 0, 0, 0, 0, 781, 781, 0, 0,
2752
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2753
+ 0, 0, 0, 0, 0, 0, 0, 0, 781, 792,
2754
+ 792, 0, 0, 0, 0, 0, 0, 0, 792, 0,
2755
+ 0, 0, 792, 0, 0, 0, 0, 792, 792, 0,
2756
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2757
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 792,
2758
+ 795, 795, 795, 795, 795, 795, 795, 796, 796, 796,
2759
+ 0, 796, 796, 796, 797, 0, 797, 798, 798, 0,
2760
+ 798, 798, 798, 799, 0, 799, 800, 800, 0, 800,
2761
+
2762
+ 0, 800, 801, 801, 801, 801, 801, 801, 801, 802,
2763
+ 802, 0, 802, 802, 802, 802, 806, 806, 806, 806,
2764
+ 806, 806, 806, 807, 807, 807, 807, 807, 807, 807,
2765
+ 808, 808, 808, 808, 808, 808, 808, 809, 809, 809,
2766
+ 809, 809, 809, 809, 810, 810, 810, 810, 810, 810,
2767
+ 810, 813, 813, 813, 813, 813, 813, 813, 814, 814,
2768
+ 814, 814, 814, 814, 814, 815, 815, 815, 815, 815,
2769
+ 815, 815, 816, 816, 816, 816, 816, 816, 816, 817,
2770
+ 817, 817, 817, 817, 817, 817, 818, 818, 818, 818,
2771
+ 818, 818, 818, 819, 819, 819, 819, 819, 819, 819,
2772
+
2773
+ 820, 820, 820, 820, 820, 820, 820, 821, 821, 821,
2774
+ 821, 821, 821, 821, 822, 822, 822, 822, 822, 822,
2775
+ 822, 823, 823, 823, 823, 823, 823, 823, 824, 824,
2776
+ 824, 824, 824, 824, 824, 825, 825, 825, 825, 825,
2777
+ 825, 825, 826, 826, 826, 826, 826, 826, 826, 827,
2778
+ 827, 827, 827, 827, 827, 827, 828, 828, 828, 828,
2779
+ 828, 828, 828, 829, 829, 829, 829, 829, 829, 829,
2780
+ 830, 830, 830, 830, 830, 830, 830, 831, 831, 831,
2781
+ 831, 831, 831, 831, 832, 832, 832, 832, 832, 832,
2782
+ 832, 833, 833, 833, 833, 833, 833, 833, 834, 834,
2783
+
2784
+ 834, 834, 834, 834, 834, 835, 835, 835, 835, 835,
2785
+ 835, 835, 836, 836, 836, 836, 836, 836, 836, 837,
2786
+ 837, 837, 837, 837, 837, 837, 838, 838, 838, 838,
2787
+ 838, 838, 838, 839, 839, 839, 839, 839, 839, 839,
2788
+ 840, 840, 840, 840, 840, 840, 840, 841, 841, 841,
2789
+ 841, 841, 841, 841, 842, 842, 842, 842, 842, 842,
2790
+ 842, 843, 843, 843, 843, 843, 843, 843, 844, 844,
2791
+ 844, 844, 844, 844, 844, 845, 845, 845, 845, 845,
2792
+ 845, 845, 846, 846, 846, 846, 846, 846, 846, 847,
2793
+ 847, 847, 847, 847, 847, 847, 848, 848, 848, 848,
2794
+
2795
+ 848, 848, 848, 849, 849, 849, 849, 849, 849, 849,
2796
+ 850, 850, 850, 850, 850, 850, 850, 851, 851, 851,
2797
+ 851, 851, 851, 851, 852, 852, 852, 852, 852, 852,
2798
+ 852, 853, 853, 853, 853, 853, 853, 853, 854, 854,
2799
+ 854, 854, 854, 854, 854, 855, 855, 855, 855, 855,
2800
+ 855, 855, 856, 856, 856, 856, 856, 856, 856, 857,
2801
+ 857, 857, 857, 857, 857, 857, 858, 858, 858, 858,
2802
+ 858, 858, 858, 859, 859, 859, 859, 859, 859, 859,
2803
+ 860, 860, 860, 860, 860, 860, 860, 861, 861, 861,
2804
+ 861, 861, 861, 861, 862, 862, 862, 862, 862, 862,
2805
+
2806
+ 862, 863, 863, 863, 863, 863, 863, 863, 864, 864,
2807
+ 864, 864, 864, 864, 864, 865, 865, 865, 865, 865,
2808
+ 865, 865, 866, 866, 866, 866, 866, 866, 866, 867,
2809
+ 867, 867, 867, 867, 867, 867, 868, 868, 868, 868,
2810
+ 868, 868, 868, 869, 869, 869, 869, 869, 869, 869,
2811
+ 870, 870, 870, 870, 870, 870, 870, 871, 871, 871,
2812
+ 871, 871, 871, 871, 872, 872, 872, 872, 872, 872,
2813
+ 872, 873, 873, 873, 873, 873, 873, 873, 874, 874,
2814
+ 874, 874, 874, 874, 874, 875, 875, 875, 875, 875,
2815
+ 875, 875, 876, 876, 876, 876, 876, 876, 876, 877,
2816
+
2817
+ 877, 877, 877, 877, 877, 877, 878, 878, 878, 878,
2818
+ 878, 878, 878, 879, 879, 879, 879, 879, 879, 879,
2819
+ 880, 880, 880, 880, 880, 880, 880, 881, 881, 881,
2820
+ 881, 881, 881, 881, 882, 882, 882, 882, 882, 882,
2821
+ 882, 883, 883, 883, 883, 883, 883, 883, 884, 884,
2822
+ 884, 884, 884, 884, 884, 885, 885, 885, 885, 885,
2823
+ 885, 885, 886, 886, 886, 886, 886, 886, 886, 887,
2824
+ 887, 887, 887, 887, 887, 887, 888, 888, 888, 888,
2825
+ 888, 888, 888, 889, 889, 889, 889, 889, 889, 889,
2826
+ 890, 890, 890, 890, 890, 890, 890, 891, 891, 891,
2827
+
2828
+ 891, 891, 891, 891, 892, 892, 892, 892, 892, 892,
2829
+ 892, 893, 893, 893, 893, 893, 893, 893, 894, 894,
2830
+ 894, 894, 894, 894, 894, 895, 895, 895, 895, 895,
2831
+ 895, 895, 896, 896, 896, 896, 896, 896, 896, 897,
2832
+ 897, 897, 897, 897, 897, 897, 898, 898, 898, 898,
2833
+ 898, 898, 898, 899, 899, 899, 899, 899, 899, 899,
2834
+ 900, 900, 900, 900, 900, 900, 900, 901, 901, 901,
2835
+ 901, 901, 901, 901, 902, 902, 902, 902, 902, 902,
2836
+ 902, 903, 903, 903, 903, 903, 903, 903, 904, 904,
2837
+ 904, 904, 904, 904, 904, 905, 905, 905, 905, 905,
2838
+
2839
+ 905, 905, 906, 906, 906, 906, 906, 906, 906, 907,
2840
+ 907, 907, 907, 907, 907, 907, 908, 908, 908, 908,
2841
+ 908, 908, 908, 909, 909, 909, 909, 909, 909, 909,
2842
+ 910, 910, 910, 910, 910, 910, 910, 911, 911, 911,
2843
+ 911, 911, 911, 911, 912, 912, 912, 912, 912, 912,
2844
+ 912, 913, 913, 913, 913, 913, 913, 913, 914, 914,
2845
+ 914, 914, 914, 914, 914, 915, 915, 915, 915, 915,
2846
+ 915, 915, 916, 916, 916, 916, 916, 916, 916, 917,
2847
+ 917, 917, 917, 917, 917, 917, 918, 918, 918, 918,
2848
+ 918, 918, 918, 919, 919, 919, 919, 919, 919, 919,
2849
+
2850
+ 920, 920, 920, 920, 920, 920, 920, 921, 921, 921,
2851
+ 921, 921, 921, 921, 922, 922, 922, 922, 922, 922,
2852
+ 922, 923, 923, 923, 923, 923, 923, 923, 924, 924,
2853
+ 924, 924, 924, 924, 924, 925, 925, 925, 925, 925,
2854
+ 925, 925, 926, 926, 926, 926, 926, 926, 926, 927,
2855
+ 927, 927, 927, 927, 927, 927, 928, 928, 928, 928,
2856
+ 928, 928, 928, 929, 929, 929, 929, 929, 929, 929,
2857
+ 930, 930, 930, 930, 930, 930, 930, 931, 931, 931,
2858
+ 931, 931, 931, 931, 932, 932, 932, 932, 932, 932,
2859
+ 932, 933, 933, 933, 933, 933, 933, 933, 934, 934,
2860
+
2861
+ 934, 934, 934, 934, 934, 935, 935, 935, 935, 935,
2862
+ 935, 935, 936, 936, 936, 936, 936, 936, 936, 937,
2863
+ 937, 937, 937, 937, 937, 937, 938, 938, 938, 938,
2864
+ 938, 938, 938, 939, 939, 939, 939, 939, 939, 939,
2865
+ 940, 940, 940, 940, 940, 940, 940, 941, 941, 941,
2866
+ 941, 941, 941, 941, 942, 942, 942, 942, 942, 942,
2867
+ 942, 794, 794, 794, 794, 794, 794, 794, 794, 794,
2868
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
2869
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
2870
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
2871
+
2872
+ 794, 794, 794, 794, 794
2873
+ } ;
2874
+
2875
+ /* The intent behind this definition is that it'll catch
2876
+ * any uses of REJECT which flex missed.
2877
+ */
2878
+ #define REJECT reject_used_but_not_detected
2879
+ #define yymore() yymore_used_but_not_detected
2880
+ #define YY_MORE_ADJ 0
2881
+ #define YY_RESTORE_YY_MORE_OFFSET
2882
+ /*
2883
+ * ctok.l - a lex rule for C
2884
+ *
2885
+ * Copyright (C) 2004-2005 Akira Tanaka <akr@m17n.org>
2886
+ * All rights reserved.
2887
+ * This is free software with ABSOLUTELY NO WARRANTY.
2888
+ *
2889
+ * You can redistribute it and/or modify it under the terms of
2890
+ * the GNU General Public License version 2.
2891
+ */
2892
+
2893
+ #include "c.h"
2894
+
2895
+ #define YY_EXTRA_TYPE langscan_c_lex_extra_t *
2896
+
2897
+ #if YY_NULL != 0
2898
+ #error "YY_NULL is not 0."
2899
+ #endif
2900
+
2901
+ #define YY_DECL langscan_c_token_t langscan_c_lex_lex(yyscan_t yyscanner)
2902
+
2903
+ #define YY_INPUT(buf,result,max_size) \
2904
+ if (!yyextra->eof) { \
2905
+ result = yyextra->user_read(&(yyextra->user_data), (buf), (max_size)); \
2906
+ if (result == 0) \
2907
+ yyextra->eof = 1; \
2908
+ }
2909
+
2910
+ #define UPD update_pos(yyextra, yytext, yyleng)
2911
+ static void update_pos(langscan_c_lex_extra_t *, char *, int);
2912
+
2913
+ #define report(token) \
2914
+ do { \
2915
+ yyextra->text = yytext; \
2916
+ yyextra->leng = yyleng; \
2917
+ return langscan_c_##token; \
2918
+ } while (0)
2919
+
2920
+ #define matched_is(str) (yyleng == sizeof(str)-1 && strncmp(str, yytext, sizeof(str)-1) == 0)
2921
+
2922
+ static int ident_length(unsigned char *ptr, int max);
2923
+
2924
+ #define INITIAL 0
2925
+ #define PREPROC 1
2926
+ #define CLASSHEAD 2
2927
+ #define CLASSHEAD_TRAILER 3
2928
+ #define CLASSDECL 4
2929
+
2930
+ #ifndef YY_NO_UNISTD_H
2931
+ /* Special case for "unistd.h", since it is non-ANSI. We include it way
2932
+ * down here because we want the user's section 1 to have been scanned first.
2933
+ * The user has a chance to override it with an option.
2934
+ */
2935
+ #include <unistd.h>
2936
+ #endif
2937
+
2938
+ #ifndef YY_EXTRA_TYPE
2939
+ #define YY_EXTRA_TYPE void *
2940
+ #endif
2941
+
2942
+ /* Holds the entire state of the reentrant scanner. */
2943
+ struct yyguts_t
2944
+ {
2945
+
2946
+ /* User-defined. Not touched by flex. */
2947
+ YY_EXTRA_TYPE yyextra_r;
2948
+
2949
+ /* The rest are the same as the globals declared in the non-reentrant scanner. */
2950
+ FILE *yyin_r, *yyout_r;
2951
+ size_t yy_buffer_stack_top; /**< index of top of stack. */
2952
+ size_t yy_buffer_stack_max; /**< capacity of stack. */
2953
+ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
2954
+ char yy_hold_char;
2955
+ yy_size_t yy_n_chars;
2956
+ yy_size_t yyleng_r;
2957
+ char *yy_c_buf_p;
2958
+ int yy_init;
2959
+ int yy_start;
2960
+ int yy_did_buffer_switch_on_eof;
2961
+ int yy_start_stack_ptr;
2962
+ int yy_start_stack_depth;
2963
+ int *yy_start_stack;
2964
+ yy_state_type yy_last_accepting_state;
2965
+ char* yy_last_accepting_cpos;
2966
+
2967
+ int yylineno_r;
2968
+ int yy_flex_debug_r;
2969
+
2970
+ char *yytext_r;
2971
+ int yy_more_flag;
2972
+ int yy_more_len;
2973
+
2974
+ }; /* end struct yyguts_t */
2975
+
2976
+ static int yy_init_globals (yyscan_t yyscanner );
2977
+
2978
+ int langscan_c_lex_lex_init (yyscan_t* scanner);
2979
+
2980
+ int langscan_c_lex_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
2981
+
2982
+ /* Accessor methods to globals.
2983
+ These are made visible to non-reentrant scanners for convenience. */
2984
+
2985
+ int langscan_c_lex_lex_destroy (yyscan_t yyscanner );
2986
+
2987
+ int langscan_c_lex_get_debug (yyscan_t yyscanner );
2988
+
2989
+ void langscan_c_lex_set_debug (int debug_flag ,yyscan_t yyscanner );
2990
+
2991
+ YY_EXTRA_TYPE langscan_c_lex_get_extra (yyscan_t yyscanner );
2992
+
2993
+ void langscan_c_lex_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
2994
+
2995
+ FILE *langscan_c_lex_get_in (yyscan_t yyscanner );
2996
+
2997
+ void langscan_c_lex_set_in (FILE * in_str ,yyscan_t yyscanner );
2998
+
2999
+ FILE *langscan_c_lex_get_out (yyscan_t yyscanner );
3000
+
3001
+ void langscan_c_lex_set_out (FILE * out_str ,yyscan_t yyscanner );
3002
+
3003
+ yy_size_t langscan_c_lex_get_leng (yyscan_t yyscanner );
3004
+
3005
+ char *langscan_c_lex_get_text (yyscan_t yyscanner );
3006
+
3007
+ int langscan_c_lex_get_lineno (yyscan_t yyscanner );
3008
+
3009
+ void langscan_c_lex_set_lineno (int line_number ,yyscan_t yyscanner );
3010
+
3011
+ /* Macros after this point can all be overridden by user definitions in
3012
+ * section 1.
3013
+ */
3014
+
3015
+ #ifndef YY_SKIP_YYWRAP
3016
+ #ifdef __cplusplus
3017
+ extern "C" int langscan_c_lex_wrap (yyscan_t yyscanner );
3018
+ #else
3019
+ extern int langscan_c_lex_wrap (yyscan_t yyscanner );
3020
+ #endif
3021
+ #endif
3022
+
3023
+ static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner);
3024
+
3025
+ #ifndef yytext_ptr
3026
+ static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
3027
+ #endif
3028
+
3029
+ #ifdef YY_NEED_STRLEN
3030
+ static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
3031
+ #endif
3032
+
3033
+ #ifndef YY_NO_INPUT
3034
+
3035
+ #ifdef __cplusplus
3036
+ static int yyinput (yyscan_t yyscanner );
3037
+ #else
3038
+ static int input (yyscan_t yyscanner );
3039
+ #endif
3040
+
3041
+ #endif
3042
+
3043
+ /* Amount of stuff to slurp up with each read. */
3044
+ #ifndef YY_READ_BUF_SIZE
3045
+ #define YY_READ_BUF_SIZE 8192
3046
+ #endif
3047
+
3048
+ /* Copy whatever the last rule matched to the standard output. */
3049
+ #ifndef ECHO
3050
+ /* This used to be an fputs(), but since the string might contain NUL's,
3051
+ * we now use fwrite().
3052
+ */
3053
+ #define ECHO fwrite( yytext, yyleng, 1, yyout )
3054
+ #endif
3055
+
3056
+ /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3057
+ * is returned in "result".
3058
+ */
3059
+ #ifndef YY_INPUT
3060
+ #define YY_INPUT(buf,result,max_size) \
3061
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3062
+ { \
3063
+ int c = '*'; \
3064
+ yy_size_t n; \
3065
+ for ( n = 0; n < max_size && \
3066
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
3067
+ buf[n] = (char) c; \
3068
+ if ( c == '\n' ) \
3069
+ buf[n++] = (char) c; \
3070
+ if ( c == EOF && ferror( yyin ) ) \
3071
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
3072
+ result = n; \
3073
+ } \
3074
+ else \
3075
+ { \
3076
+ errno=0; \
3077
+ while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
3078
+ { \
3079
+ if( errno != EINTR) \
3080
+ { \
3081
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
3082
+ break; \
3083
+ } \
3084
+ errno=0; \
3085
+ clearerr(yyin); \
3086
+ } \
3087
+ }\
3088
+ \
3089
+
3090
+ #endif
3091
+
3092
+ /* No semi-colon after return; correct usage is to write "yyterminate();" -
3093
+ * we don't want an extra ';' after the "return" because that will cause
3094
+ * some compilers to complain about unreachable statements.
3095
+ */
3096
+ #ifndef yyterminate
3097
+ #define yyterminate() return YY_NULL
3098
+ #endif
3099
+
3100
+ /* Number of entries by which start-condition stack grows. */
3101
+ #ifndef YY_START_STACK_INCR
3102
+ #define YY_START_STACK_INCR 25
3103
+ #endif
3104
+
3105
+ /* Report a fatal error. */
3106
+ #ifndef YY_FATAL_ERROR
3107
+ #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
3108
+ #endif
3109
+
3110
+ /* end tables serialization structures and prototypes */
3111
+
3112
+ /* Default declaration of generated scanner - a define so the user can
3113
+ * easily add parameters.
3114
+ */
3115
+ #ifndef YY_DECL
3116
+ #define YY_DECL_IS_OURS 1
3117
+
3118
+ extern int langscan_c_lex_lex (yyscan_t yyscanner);
3119
+
3120
+ #define YY_DECL int langscan_c_lex_lex (yyscan_t yyscanner)
3121
+ #endif /* !YY_DECL */
3122
+
3123
+ /* Code executed at the beginning of each rule, after yytext and yyleng
3124
+ * have been set up.
3125
+ */
3126
+ #ifndef YY_USER_ACTION
3127
+ #define YY_USER_ACTION
3128
+ #endif
3129
+
3130
+ /* Code executed at the end of each rule. */
3131
+ #ifndef YY_BREAK
3132
+ #define YY_BREAK break;
3133
+ #endif
3134
+
3135
+ #define YY_RULE_SETUP \
3136
+ if ( yyleng > 0 ) \
3137
+ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
3138
+ (yytext[yyleng - 1] == '\n'); \
3139
+ YY_USER_ACTION
3140
+
3141
+ /** The main scanner function which does all the work.
3142
+ */
3143
+ YY_DECL
3144
+ {
3145
+ register yy_state_type yy_current_state;
3146
+ register char *yy_cp, *yy_bp;
3147
+ register int yy_act;
3148
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3149
+
3150
+ if ( !yyg->yy_init )
3151
+ {
3152
+ yyg->yy_init = 1;
3153
+
3154
+ #ifdef YY_USER_INIT
3155
+ YY_USER_INIT;
3156
+ #endif
3157
+
3158
+ if ( ! yyg->yy_start )
3159
+ yyg->yy_start = 1; /* first start state */
3160
+
3161
+ if ( ! yyin )
3162
+ yyin = stdin;
3163
+
3164
+ if ( ! yyout )
3165
+ yyout = stdout;
3166
+
3167
+ if ( ! YY_CURRENT_BUFFER ) {
3168
+ langscan_c_lex_ensure_buffer_stack (yyscanner);
3169
+ YY_CURRENT_BUFFER_LVALUE =
3170
+ langscan_c_lex__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
3171
+ }
3172
+
3173
+ langscan_c_lex__load_buffer_state(yyscanner );
3174
+ }
3175
+
3176
+ while ( 1 ) /* loops until end-of-file is reached */
3177
+ {
3178
+ yy_cp = yyg->yy_c_buf_p;
3179
+
3180
+ /* Support of yytext. */
3181
+ *yy_cp = yyg->yy_hold_char;
3182
+
3183
+ /* yy_bp points to the position in yy_ch_buf of the start of
3184
+ * the current run.
3185
+ */
3186
+ yy_bp = yy_cp;
3187
+
3188
+ yy_current_state = yyg->yy_start;
3189
+ yy_current_state += YY_AT_BOL();
3190
+ yy_match:
3191
+ do
3192
+ {
3193
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3194
+ if ( yy_accept[yy_current_state] )
3195
+ {
3196
+ yyg->yy_last_accepting_state = yy_current_state;
3197
+ yyg->yy_last_accepting_cpos = yy_cp;
3198
+ }
3199
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3200
+ {
3201
+ yy_current_state = (int) yy_def[yy_current_state];
3202
+ if ( yy_current_state >= 795 )
3203
+ yy_c = yy_meta[(unsigned int) yy_c];
3204
+ }
3205
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3206
+ ++yy_cp;
3207
+ }
3208
+ while ( yy_base[yy_current_state] != 9762 );
3209
+
3210
+ yy_find_action:
3211
+ yy_act = yy_accept[yy_current_state];
3212
+ if ( yy_act == 0 )
3213
+ { /* have to back up */
3214
+ yy_cp = yyg->yy_last_accepting_cpos;
3215
+ yy_current_state = yyg->yy_last_accepting_state;
3216
+ yy_act = yy_accept[yy_current_state];
3217
+ }
3218
+
3219
+ YY_DO_BEFORE_ACTION;
3220
+
3221
+ do_action: /* This label is used only to access EOF actions. */
3222
+
3223
+ switch ( yy_act )
3224
+ { /* beginning of action switch */
3225
+ case 0: /* must back up */
3226
+ /* undo the effects of YY_DO_BEFORE_ACTION */
3227
+ *yy_cp = yyg->yy_hold_char;
3228
+ yy_cp = yyg->yy_last_accepting_cpos;
3229
+ yy_current_state = yyg->yy_last_accepting_state;
3230
+ goto yy_find_action;
3231
+
3232
+ case 1:
3233
+ YY_RULE_SETUP
3234
+ { UPD;
3235
+ if (YY_START == INITIAL || yyleng == 1) {
3236
+ BEGIN(PREPROC);
3237
+ report(preproc_beg);
3238
+ }
3239
+ else {
3240
+ yyless(yyleng-1);
3241
+ report(space);
3242
+ }
3243
+ }
3244
+ YY_BREAK
3245
+ case 2:
3246
+ /* rule 2 can match eol */
3247
+ YY_RULE_SETUP
3248
+ { UPD; report(space); }
3249
+ YY_BREAK
3250
+ case 3:
3251
+ /* rule 3 can match eol */
3252
+ YY_RULE_SETUP
3253
+ { UPD; BEGIN(INITIAL); report(preproc_end); }
3254
+ YY_BREAK
3255
+ case 4:
3256
+ /* rule 4 can match eol */
3257
+ YY_RULE_SETUP
3258
+ { yyless(ident_length(yytext, yyleng)); UPD; BEGIN(CLASSHEAD_TRAILER); report(classdef); }
3259
+ YY_BREAK
3260
+ case 5:
3261
+ YY_RULE_SETUP
3262
+ { UPD; report(classref); }
3263
+ YY_BREAK
3264
+ case 6:
3265
+ YY_RULE_SETUP
3266
+ { UPD; BEGIN(INITIAL); report(punct); }
3267
+ YY_BREAK
3268
+ case 7:
3269
+ /* rule 7 can match eol */
3270
+ YY_RULE_SETUP
3271
+ { yyless(ident_length(yytext, yyleng)); UPD; report(classdecl); }
3272
+ YY_BREAK
3273
+ case 8:
3274
+ YY_RULE_SETUP
3275
+ { UPD; report(classref); }
3276
+ YY_BREAK
3277
+ case 9:
3278
+ YY_RULE_SETUP
3279
+ { UPD; BEGIN(INITIAL); report(punct); }
3280
+ YY_BREAK
3281
+ case 10:
3282
+ /* rule 10 can match eol */
3283
+ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
3284
+ yyg->yy_c_buf_p = yy_cp = yy_bp + 5;
3285
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
3286
+ YY_RULE_SETUP
3287
+ { UPD; BEGIN(CLASSHEAD); report(ident); }
3288
+ YY_BREAK
3289
+ case 11:
3290
+ /* rule 11 can match eol */
3291
+ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
3292
+ yyg->yy_c_buf_p = yy_cp = yy_bp + 6;
3293
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
3294
+ YY_RULE_SETUP
3295
+ { UPD; BEGIN(CLASSHEAD); report(ident); }
3296
+ YY_BREAK
3297
+ case 12:
3298
+ /* rule 12 can match eol */
3299
+ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
3300
+ yyg->yy_c_buf_p = yy_cp = yy_bp + 5;
3301
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
3302
+ YY_RULE_SETUP
3303
+ { UPD; BEGIN(CLASSDECL); report(ident); }
3304
+ YY_BREAK
3305
+ case 13:
3306
+ /* rule 13 can match eol */
3307
+ *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
3308
+ yyg->yy_c_buf_p = yy_cp = yy_bp + 6;
3309
+ YY_DO_BEFORE_ACTION; /* set up yytext again */
3310
+ YY_RULE_SETUP
3311
+ { UPD; BEGIN(CLASSDECL); report(ident); }
3312
+ YY_BREAK
3313
+ case 14:
3314
+ YY_RULE_SETUP
3315
+ { UPD; report(space); }
3316
+ YY_BREAK
3317
+ case 15:
3318
+ /* rule 15 can match eol */
3319
+ YY_RULE_SETUP
3320
+ { UPD; report(space); }
3321
+ YY_BREAK
3322
+ case 16:
3323
+ /* rule 16 can match eol */
3324
+ YY_RULE_SETUP
3325
+ { UPD; report(comment); }
3326
+ YY_BREAK
3327
+ case 17:
3328
+ /* rule 17 can match eol */
3329
+ YY_RULE_SETUP
3330
+ { UPD; report(string); }
3331
+ YY_BREAK
3332
+ case 18:
3333
+ /* rule 18 can match eol */
3334
+ YY_RULE_SETUP
3335
+ { UPD; report(character); }
3336
+ YY_BREAK
3337
+ case 19:
3338
+ YY_RULE_SETUP
3339
+ { UPD; report(integer); }
3340
+ YY_BREAK
3341
+ case 20:
3342
+ YY_RULE_SETUP
3343
+ { UPD; report(integer); }
3344
+ YY_BREAK
3345
+ case 21:
3346
+ YY_RULE_SETUP
3347
+ { UPD; report(integer); }
3348
+ YY_BREAK
3349
+ case 22:
3350
+ YY_RULE_SETUP
3351
+ { UPD; report(floating); }
3352
+ YY_BREAK
3353
+ case 23:
3354
+ YY_RULE_SETUP
3355
+ { UPD; report(ident); }
3356
+ YY_BREAK
3357
+ case 24:
3358
+ YY_RULE_SETUP
3359
+ { UPD; report(punct); }
3360
+ YY_BREAK
3361
+ case 25:
3362
+ YY_RULE_SETUP
3363
+ YY_FATAL_ERROR( "flex scanner jammed" );
3364
+ YY_BREAK
3365
+ case YY_STATE_EOF(INITIAL):
3366
+ case YY_STATE_EOF(PREPROC):
3367
+ case YY_STATE_EOF(CLASSHEAD):
3368
+ case YY_STATE_EOF(CLASSHEAD_TRAILER):
3369
+ case YY_STATE_EOF(CLASSDECL):
3370
+ yyterminate();
3371
+
3372
+ case YY_END_OF_BUFFER:
3373
+ {
3374
+ /* Amount of text matched not including the EOB char. */
3375
+ int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
3376
+
3377
+ /* Undo the effects of YY_DO_BEFORE_ACTION. */
3378
+ *yy_cp = yyg->yy_hold_char;
3379
+ YY_RESTORE_YY_MORE_OFFSET
3380
+
3381
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3382
+ {
3383
+ /* We're scanning a new file or input source. It's
3384
+ * possible that this happened because the user
3385
+ * just pointed yyin at a new source and called
3386
+ * langscan_c_lex_lex(). If so, then we have to assure
3387
+ * consistency between YY_CURRENT_BUFFER and our
3388
+ * globals. Here is the right place to do so, because
3389
+ * this is the first action (other than possibly a
3390
+ * back-up) that will match for the new input source.
3391
+ */
3392
+ yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3393
+ YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3394
+ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3395
+ }
3396
+
3397
+ /* Note that here we test for yy_c_buf_p "<=" to the position
3398
+ * of the first EOB in the buffer, since yy_c_buf_p will
3399
+ * already have been incremented past the NUL character
3400
+ * (since all states make transitions on EOB to the
3401
+ * end-of-buffer state). Contrast this with the test
3402
+ * in input().
3403
+ */
3404
+ if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
3405
+ { /* This was really a NUL. */
3406
+ yy_state_type yy_next_state;
3407
+
3408
+ yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
3409
+
3410
+ yy_current_state = yy_get_previous_state( yyscanner );
3411
+
3412
+ /* Okay, we're now positioned to make the NUL
3413
+ * transition. We couldn't have
3414
+ * yy_get_previous_state() go ahead and do it
3415
+ * for us because it doesn't know how to deal
3416
+ * with the possibility of jamming (and we don't
3417
+ * want to build jamming into it because then it
3418
+ * will run more slowly).
3419
+ */
3420
+
3421
+ yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
3422
+
3423
+ yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
3424
+
3425
+ if ( yy_next_state )
3426
+ {
3427
+ /* Consume the NUL. */
3428
+ yy_cp = ++yyg->yy_c_buf_p;
3429
+ yy_current_state = yy_next_state;
3430
+ goto yy_match;
3431
+ }
3432
+
3433
+ else
3434
+ {
3435
+ yy_cp = yyg->yy_c_buf_p;
3436
+ goto yy_find_action;
3437
+ }
3438
+ }
3439
+
3440
+ else switch ( yy_get_next_buffer( yyscanner ) )
3441
+ {
3442
+ case EOB_ACT_END_OF_FILE:
3443
+ {
3444
+ yyg->yy_did_buffer_switch_on_eof = 0;
3445
+
3446
+ if ( langscan_c_lex_wrap(yyscanner ) )
3447
+ {
3448
+ /* Note: because we've taken care in
3449
+ * yy_get_next_buffer() to have set up
3450
+ * yytext, we can now set up
3451
+ * yy_c_buf_p so that if some total
3452
+ * hoser (like flex itself) wants to
3453
+ * call the scanner after we return the
3454
+ * YY_NULL, it'll still work - another
3455
+ * YY_NULL will get returned.
3456
+ */
3457
+ yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
3458
+
3459
+ yy_act = YY_STATE_EOF(YY_START);
3460
+ goto do_action;
3461
+ }
3462
+
3463
+ else
3464
+ {
3465
+ if ( ! yyg->yy_did_buffer_switch_on_eof )
3466
+ YY_NEW_FILE;
3467
+ }
3468
+ break;
3469
+ }
3470
+
3471
+ case EOB_ACT_CONTINUE_SCAN:
3472
+ yyg->yy_c_buf_p =
3473
+ yyg->yytext_ptr + yy_amount_of_matched_text;
3474
+
3475
+ yy_current_state = yy_get_previous_state( yyscanner );
3476
+
3477
+ yy_cp = yyg->yy_c_buf_p;
3478
+ yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
3479
+ goto yy_match;
3480
+
3481
+ case EOB_ACT_LAST_MATCH:
3482
+ yyg->yy_c_buf_p =
3483
+ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
3484
+
3485
+ yy_current_state = yy_get_previous_state( yyscanner );
3486
+
3487
+ yy_cp = yyg->yy_c_buf_p;
3488
+ yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
3489
+ goto yy_find_action;
3490
+ }
3491
+ break;
3492
+ }
3493
+
3494
+ default:
3495
+ YY_FATAL_ERROR(
3496
+ "fatal flex scanner internal error--no action found" );
3497
+ } /* end of action switch */
3498
+ } /* end of scanning one token */
3499
+ } /* end of langscan_c_lex_lex */
3500
+
3501
+ /* yy_get_next_buffer - try to read in a new buffer
3502
+ *
3503
+ * Returns a code representing an action:
3504
+ * EOB_ACT_LAST_MATCH -
3505
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3506
+ * EOB_ACT_END_OF_FILE - end of file
3507
+ */
3508
+ static int yy_get_next_buffer (yyscan_t yyscanner)
3509
+ {
3510
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3511
+ register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3512
+ register char *source = yyg->yytext_ptr;
3513
+ register int number_to_move, i;
3514
+ int ret_val;
3515
+
3516
+ if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
3517
+ YY_FATAL_ERROR(
3518
+ "fatal flex scanner internal error--end of buffer missed" );
3519
+
3520
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3521
+ { /* Don't try to fill the buffer, so this is an EOF. */
3522
+ if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
3523
+ {
3524
+ /* We matched a single character, the EOB, so
3525
+ * treat this as a final EOF.
3526
+ */
3527
+ return EOB_ACT_END_OF_FILE;
3528
+ }
3529
+
3530
+ else
3531
+ {
3532
+ /* We matched some text prior to the EOB, first
3533
+ * process it.
3534
+ */
3535
+ return EOB_ACT_LAST_MATCH;
3536
+ }
3537
+ }
3538
+
3539
+ /* Try to read more data. */
3540
+
3541
+ /* First move last chars to start of buffer. */
3542
+ number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
3543
+
3544
+ for ( i = 0; i < number_to_move; ++i )
3545
+ *(dest++) = *(source++);
3546
+
3547
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3548
+ /* don't do the read, it's not guaranteed to return an EOF,
3549
+ * just force an EOF
3550
+ */
3551
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
3552
+
3553
+ else
3554
+ {
3555
+ yy_size_t num_to_read =
3556
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3557
+
3558
+ while ( num_to_read <= 0 )
3559
+ { /* Not enough room in the buffer - grow it. */
3560
+
3561
+ /* just a shorter name for the current buffer */
3562
+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3563
+
3564
+ int yy_c_buf_p_offset =
3565
+ (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
3566
+
3567
+ if ( b->yy_is_our_buffer )
3568
+ {
3569
+ yy_size_t new_size = b->yy_buf_size * 2;
3570
+
3571
+ if ( new_size <= 0 )
3572
+ b->yy_buf_size += b->yy_buf_size / 8;
3573
+ else
3574
+ b->yy_buf_size *= 2;
3575
+
3576
+ b->yy_ch_buf = (char *)
3577
+ /* Include room in for 2 EOB chars. */
3578
+ langscan_c_lex_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
3579
+ }
3580
+ else
3581
+ /* Can't grow it, we don't own it. */
3582
+ b->yy_ch_buf = 0;
3583
+
3584
+ if ( ! b->yy_ch_buf )
3585
+ YY_FATAL_ERROR(
3586
+ "fatal error - scanner input buffer overflow" );
3587
+
3588
+ yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3589
+
3590
+ num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3591
+ number_to_move - 1;
3592
+
3593
+ }
3594
+
3595
+ if ( num_to_read > YY_READ_BUF_SIZE )
3596
+ num_to_read = YY_READ_BUF_SIZE;
3597
+
3598
+ /* Read in more data. */
3599
+ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3600
+ yyg->yy_n_chars, num_to_read );
3601
+
3602
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3603
+ }
3604
+
3605
+ if ( yyg->yy_n_chars == 0 )
3606
+ {
3607
+ if ( number_to_move == YY_MORE_ADJ )
3608
+ {
3609
+ ret_val = EOB_ACT_END_OF_FILE;
3610
+ langscan_c_lex_restart(yyin ,yyscanner);
3611
+ }
3612
+
3613
+ else
3614
+ {
3615
+ ret_val = EOB_ACT_LAST_MATCH;
3616
+ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3617
+ YY_BUFFER_EOF_PENDING;
3618
+ }
3619
+ }
3620
+
3621
+ else
3622
+ ret_val = EOB_ACT_CONTINUE_SCAN;
3623
+
3624
+ if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3625
+ /* Extend the array by 50%, plus the number we really need. */
3626
+ yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
3627
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) langscan_c_lex_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
3628
+ if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3629
+ YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3630
+ }
3631
+
3632
+ yyg->yy_n_chars += number_to_move;
3633
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3634
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3635
+
3636
+ yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3637
+
3638
+ return ret_val;
3639
+ }
3640
+
3641
+ /* yy_get_previous_state - get the state just before the EOB char was reached */
3642
+
3643
+ static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
3644
+ {
3645
+ register yy_state_type yy_current_state;
3646
+ register char *yy_cp;
3647
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3648
+
3649
+ yy_current_state = yyg->yy_start;
3650
+ yy_current_state += YY_AT_BOL();
3651
+
3652
+ for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
3653
+ {
3654
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3655
+ if ( yy_accept[yy_current_state] )
3656
+ {
3657
+ yyg->yy_last_accepting_state = yy_current_state;
3658
+ yyg->yy_last_accepting_cpos = yy_cp;
3659
+ }
3660
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3661
+ {
3662
+ yy_current_state = (int) yy_def[yy_current_state];
3663
+ if ( yy_current_state >= 795 )
3664
+ yy_c = yy_meta[(unsigned int) yy_c];
3665
+ }
3666
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3667
+ }
3668
+
3669
+ return yy_current_state;
3670
+ }
3671
+
3672
+ /* yy_try_NUL_trans - try to make a transition on the NUL character
3673
+ *
3674
+ * synopsis
3675
+ * next_state = yy_try_NUL_trans( current_state );
3676
+ */
3677
+ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
3678
+ {
3679
+ register int yy_is_jam;
3680
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
3681
+ register char *yy_cp = yyg->yy_c_buf_p;
3682
+
3683
+ register YY_CHAR yy_c = 1;
3684
+ if ( yy_accept[yy_current_state] )
3685
+ {
3686
+ yyg->yy_last_accepting_state = yy_current_state;
3687
+ yyg->yy_last_accepting_cpos = yy_cp;
3688
+ }
3689
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3690
+ {
3691
+ yy_current_state = (int) yy_def[yy_current_state];
3692
+ if ( yy_current_state >= 795 )
3693
+ yy_c = yy_meta[(unsigned int) yy_c];
3694
+ }
3695
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3696
+ yy_is_jam = (yy_current_state == 794);
3697
+
3698
+ return yy_is_jam ? 0 : yy_current_state;
3699
+ }
3700
+
3701
+ static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
3702
+ {
3703
+ register char *yy_cp;
3704
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3705
+
3706
+ yy_cp = yyg->yy_c_buf_p;
3707
+
3708
+ /* undo effects of setting up yytext */
3709
+ *yy_cp = yyg->yy_hold_char;
3710
+
3711
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3712
+ { /* need to shift things up to make room */
3713
+ /* +2 for EOB chars. */
3714
+ register yy_size_t number_to_move = yyg->yy_n_chars + 2;
3715
+ register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3716
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3717
+ register char *source =
3718
+ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3719
+
3720
+ while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3721
+ *--dest = *--source;
3722
+
3723
+ yy_cp += (int) (dest - source);
3724
+ yy_bp += (int) (dest - source);
3725
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3726
+ yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3727
+
3728
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3729
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
3730
+ }
3731
+
3732
+ *--yy_cp = (char) c;
3733
+
3734
+ yyg->yytext_ptr = yy_bp;
3735
+ yyg->yy_hold_char = *yy_cp;
3736
+ yyg->yy_c_buf_p = yy_cp;
3737
+ }
3738
+
3739
+ #ifndef YY_NO_INPUT
3740
+ #ifdef __cplusplus
3741
+ static int yyinput (yyscan_t yyscanner)
3742
+ #else
3743
+ static int input (yyscan_t yyscanner)
3744
+ #endif
3745
+
3746
+ {
3747
+ int c;
3748
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3749
+
3750
+ *yyg->yy_c_buf_p = yyg->yy_hold_char;
3751
+
3752
+ if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3753
+ {
3754
+ /* yy_c_buf_p now points to the character we want to return.
3755
+ * If this occurs *before* the EOB characters, then it's a
3756
+ * valid NUL; if not, then we've hit the end of the buffer.
3757
+ */
3758
+ if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
3759
+ /* This was really a NUL. */
3760
+ *yyg->yy_c_buf_p = '\0';
3761
+
3762
+ else
3763
+ { /* need more input */
3764
+ yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
3765
+ ++yyg->yy_c_buf_p;
3766
+
3767
+ switch ( yy_get_next_buffer( yyscanner ) )
3768
+ {
3769
+ case EOB_ACT_LAST_MATCH:
3770
+ /* This happens because yy_g_n_b()
3771
+ * sees that we've accumulated a
3772
+ * token and flags that we need to
3773
+ * try matching the token before
3774
+ * proceeding. But for input(),
3775
+ * there's no matching to consider.
3776
+ * So convert the EOB_ACT_LAST_MATCH
3777
+ * to EOB_ACT_END_OF_FILE.
3778
+ */
3779
+
3780
+ /* Reset buffer status. */
3781
+ langscan_c_lex_restart(yyin ,yyscanner);
3782
+
3783
+ /*FALLTHROUGH*/
3784
+
3785
+ case EOB_ACT_END_OF_FILE:
3786
+ {
3787
+ if ( langscan_c_lex_wrap(yyscanner ) )
3788
+ return 0;
3789
+
3790
+ if ( ! yyg->yy_did_buffer_switch_on_eof )
3791
+ YY_NEW_FILE;
3792
+ #ifdef __cplusplus
3793
+ return yyinput(yyscanner);
3794
+ #else
3795
+ return input(yyscanner);
3796
+ #endif
3797
+ }
3798
+
3799
+ case EOB_ACT_CONTINUE_SCAN:
3800
+ yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
3801
+ break;
3802
+ }
3803
+ }
3804
+ }
3805
+
3806
+ c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
3807
+ *yyg->yy_c_buf_p = '\0'; /* preserve yytext */
3808
+ yyg->yy_hold_char = *++yyg->yy_c_buf_p;
3809
+
3810
+ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3811
+
3812
+ return c;
3813
+ }
3814
+ #endif /* ifndef YY_NO_INPUT */
3815
+
3816
+ /** Immediately switch to a different input stream.
3817
+ * @param input_file A readable stream.
3818
+ * @param yyscanner The scanner object.
3819
+ * @note This function does not reset the start condition to @c INITIAL .
3820
+ */
3821
+ void langscan_c_lex_restart (FILE * input_file , yyscan_t yyscanner)
3822
+ {
3823
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3824
+
3825
+ if ( ! YY_CURRENT_BUFFER ){
3826
+ langscan_c_lex_ensure_buffer_stack (yyscanner);
3827
+ YY_CURRENT_BUFFER_LVALUE =
3828
+ langscan_c_lex__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
3829
+ }
3830
+
3831
+ langscan_c_lex__init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
3832
+ langscan_c_lex__load_buffer_state(yyscanner );
3833
+ }
3834
+
3835
+ /** Switch to a different input buffer.
3836
+ * @param new_buffer The new input buffer.
3837
+ * @param yyscanner The scanner object.
3838
+ */
3839
+ void langscan_c_lex__switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
3840
+ {
3841
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3842
+
3843
+ /* TODO. We should be able to replace this entire function body
3844
+ * with
3845
+ * langscan_c_lex_pop_buffer_state();
3846
+ * langscan_c_lex_push_buffer_state(new_buffer);
3847
+ */
3848
+ langscan_c_lex_ensure_buffer_stack (yyscanner);
3849
+ if ( YY_CURRENT_BUFFER == new_buffer )
3850
+ return;
3851
+
3852
+ if ( YY_CURRENT_BUFFER )
3853
+ {
3854
+ /* Flush out information for old buffer. */
3855
+ *yyg->yy_c_buf_p = yyg->yy_hold_char;
3856
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
3857
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3858
+ }
3859
+
3860
+ YY_CURRENT_BUFFER_LVALUE = new_buffer;
3861
+ langscan_c_lex__load_buffer_state(yyscanner );
3862
+
3863
+ /* We don't actually know whether we did this switch during
3864
+ * EOF (langscan_c_lex_wrap()) processing, but the only time this flag
3865
+ * is looked at is after langscan_c_lex_wrap() is called, so it's safe
3866
+ * to go ahead and always set it.
3867
+ */
3868
+ yyg->yy_did_buffer_switch_on_eof = 1;
3869
+ }
3870
+
3871
+ static void langscan_c_lex__load_buffer_state (yyscan_t yyscanner)
3872
+ {
3873
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3874
+ yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3875
+ yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3876
+ yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3877
+ yyg->yy_hold_char = *yyg->yy_c_buf_p;
3878
+ }
3879
+
3880
+ /** Allocate and initialize an input buffer state.
3881
+ * @param file A readable stream.
3882
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3883
+ * @param yyscanner The scanner object.
3884
+ * @return the allocated buffer state.
3885
+ */
3886
+ YY_BUFFER_STATE langscan_c_lex__create_buffer (FILE * file, int size , yyscan_t yyscanner)
3887
+ {
3888
+ YY_BUFFER_STATE b;
3889
+
3890
+ b = (YY_BUFFER_STATE) langscan_c_lex_alloc(sizeof( struct yy_buffer_state ) ,yyscanner );
3891
+ if ( ! b )
3892
+ YY_FATAL_ERROR( "out of dynamic memory in langscan_c_lex__create_buffer()" );
3893
+
3894
+ b->yy_buf_size = size;
3895
+
3896
+ /* yy_ch_buf has to be 2 characters longer than the size given because
3897
+ * we need to put in 2 end-of-buffer characters.
3898
+ */
3899
+ b->yy_ch_buf = (char *) langscan_c_lex_alloc(b->yy_buf_size + 2 ,yyscanner );
3900
+ if ( ! b->yy_ch_buf )
3901
+ YY_FATAL_ERROR( "out of dynamic memory in langscan_c_lex__create_buffer()" );
3902
+
3903
+ b->yy_is_our_buffer = 1;
3904
+
3905
+ langscan_c_lex__init_buffer(b,file ,yyscanner);
3906
+
3907
+ return b;
3908
+ }
3909
+
3910
+ /** Destroy the buffer.
3911
+ * @param b a buffer created with langscan_c_lex__create_buffer()
3912
+ * @param yyscanner The scanner object.
3913
+ */
3914
+ void langscan_c_lex__delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
3915
+ {
3916
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3917
+
3918
+ if ( ! b )
3919
+ return;
3920
+
3921
+ if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3922
+ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3923
+
3924
+ if ( b->yy_is_our_buffer )
3925
+ langscan_c_lex_free((void *) b->yy_ch_buf ,yyscanner );
3926
+
3927
+ langscan_c_lex_free((void *) b ,yyscanner );
3928
+ }
3929
+
3930
+ #ifndef __cplusplus
3931
+ extern int isatty (int );
3932
+ #endif /* __cplusplus */
3933
+
3934
+ /* Initializes or reinitializes a buffer.
3935
+ * This function is sometimes called more than once on the same buffer,
3936
+ * such as during a langscan_c_lex_restart() or at EOF.
3937
+ */
3938
+ static void langscan_c_lex__init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
3939
+
3940
+ {
3941
+ int oerrno = errno;
3942
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3943
+
3944
+ langscan_c_lex__flush_buffer(b ,yyscanner);
3945
+
3946
+ b->yy_input_file = file;
3947
+ b->yy_fill_buffer = 1;
3948
+
3949
+ /* If b is the current buffer, then langscan_c_lex__init_buffer was _probably_
3950
+ * called from langscan_c_lex_restart() or through yy_get_next_buffer.
3951
+ * In that case, we don't want to reset the lineno or column.
3952
+ */
3953
+ if (b != YY_CURRENT_BUFFER){
3954
+ b->yy_bs_lineno = 1;
3955
+ b->yy_bs_column = 0;
3956
+ }
3957
+
3958
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3959
+
3960
+ errno = oerrno;
3961
+ }
3962
+
3963
+ /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3964
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3965
+ * @param yyscanner The scanner object.
3966
+ */
3967
+ void langscan_c_lex__flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
3968
+ {
3969
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3970
+ if ( ! b )
3971
+ return;
3972
+
3973
+ b->yy_n_chars = 0;
3974
+
3975
+ /* We always need two end-of-buffer characters. The first causes
3976
+ * a transition to the end-of-buffer state. The second causes
3977
+ * a jam in that state.
3978
+ */
3979
+ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3980
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3981
+
3982
+ b->yy_buf_pos = &b->yy_ch_buf[0];
3983
+
3984
+ b->yy_at_bol = 1;
3985
+ b->yy_buffer_status = YY_BUFFER_NEW;
3986
+
3987
+ if ( b == YY_CURRENT_BUFFER )
3988
+ langscan_c_lex__load_buffer_state(yyscanner );
3989
+ }
3990
+
3991
+ /** Pushes the new state onto the stack. The new state becomes
3992
+ * the current state. This function will allocate the stack
3993
+ * if necessary.
3994
+ * @param new_buffer The new state.
3995
+ * @param yyscanner The scanner object.
3996
+ */
3997
+ void langscan_c_lex_push_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
3998
+ {
3999
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4000
+ if (new_buffer == NULL)
4001
+ return;
4002
+
4003
+ langscan_c_lex_ensure_buffer_stack(yyscanner);
4004
+
4005
+ /* This block is copied from langscan_c_lex__switch_to_buffer. */
4006
+ if ( YY_CURRENT_BUFFER )
4007
+ {
4008
+ /* Flush out information for old buffer. */
4009
+ *yyg->yy_c_buf_p = yyg->yy_hold_char;
4010
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
4011
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
4012
+ }
4013
+
4014
+ /* Only push if top exists. Otherwise, replace top. */
4015
+ if (YY_CURRENT_BUFFER)
4016
+ yyg->yy_buffer_stack_top++;
4017
+ YY_CURRENT_BUFFER_LVALUE = new_buffer;
4018
+
4019
+ /* copied from langscan_c_lex__switch_to_buffer. */
4020
+ langscan_c_lex__load_buffer_state(yyscanner );
4021
+ yyg->yy_did_buffer_switch_on_eof = 1;
4022
+ }
4023
+
4024
+ /** Removes and deletes the top of the stack, if present.
4025
+ * The next element becomes the new top.
4026
+ * @param yyscanner The scanner object.
4027
+ */
4028
+ void langscan_c_lex_pop_buffer_state (yyscan_t yyscanner)
4029
+ {
4030
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4031
+ if (!YY_CURRENT_BUFFER)
4032
+ return;
4033
+
4034
+ langscan_c_lex__delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
4035
+ YY_CURRENT_BUFFER_LVALUE = NULL;
4036
+ if (yyg->yy_buffer_stack_top > 0)
4037
+ --yyg->yy_buffer_stack_top;
4038
+
4039
+ if (YY_CURRENT_BUFFER) {
4040
+ langscan_c_lex__load_buffer_state(yyscanner );
4041
+ yyg->yy_did_buffer_switch_on_eof = 1;
4042
+ }
4043
+ }
4044
+
4045
+ /* Allocates the stack if it does not exist.
4046
+ * Guarantees space for at least one push.
4047
+ */
4048
+ static void langscan_c_lex_ensure_buffer_stack (yyscan_t yyscanner)
4049
+ {
4050
+ yy_size_t num_to_alloc;
4051
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4052
+
4053
+ if (!yyg->yy_buffer_stack) {
4054
+
4055
+ /* First allocation is just for 2 elements, since we don't know if this
4056
+ * scanner will even need a stack. We use 2 instead of 1 to avoid an
4057
+ * immediate realloc on the next call.
4058
+ */
4059
+ num_to_alloc = 1;
4060
+ yyg->yy_buffer_stack = (struct yy_buffer_state**)langscan_c_lex_alloc
4061
+ (num_to_alloc * sizeof(struct yy_buffer_state*)
4062
+ , yyscanner);
4063
+ if ( ! yyg->yy_buffer_stack )
4064
+ YY_FATAL_ERROR( "out of dynamic memory in langscan_c_lex_ensure_buffer_stack()" );
4065
+
4066
+ memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4067
+
4068
+ yyg->yy_buffer_stack_max = num_to_alloc;
4069
+ yyg->yy_buffer_stack_top = 0;
4070
+ return;
4071
+ }
4072
+
4073
+ if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
4074
+
4075
+ /* Increase the buffer to prepare for a possible push. */
4076
+ int grow_size = 8 /* arbitrary grow size */;
4077
+
4078
+ num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
4079
+ yyg->yy_buffer_stack = (struct yy_buffer_state**)langscan_c_lex_realloc
4080
+ (yyg->yy_buffer_stack,
4081
+ num_to_alloc * sizeof(struct yy_buffer_state*)
4082
+ , yyscanner);
4083
+ if ( ! yyg->yy_buffer_stack )
4084
+ YY_FATAL_ERROR( "out of dynamic memory in langscan_c_lex_ensure_buffer_stack()" );
4085
+
4086
+ /* zero only the new slots.*/
4087
+ memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
4088
+ yyg->yy_buffer_stack_max = num_to_alloc;
4089
+ }
4090
+ }
4091
+
4092
+ /** Setup the input buffer state to scan directly from a user-specified character buffer.
4093
+ * @param base the character buffer
4094
+ * @param size the size in bytes of the character buffer
4095
+ * @param yyscanner The scanner object.
4096
+ * @return the newly allocated buffer state object.
4097
+ */
4098
+ YY_BUFFER_STATE langscan_c_lex__scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
4099
+ {
4100
+ YY_BUFFER_STATE b;
4101
+
4102
+ if ( size < 2 ||
4103
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
4104
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
4105
+ /* They forgot to leave room for the EOB's. */
4106
+ return 0;
4107
+
4108
+ b = (YY_BUFFER_STATE) langscan_c_lex_alloc(sizeof( struct yy_buffer_state ) ,yyscanner );
4109
+ if ( ! b )
4110
+ YY_FATAL_ERROR( "out of dynamic memory in langscan_c_lex__scan_buffer()" );
4111
+
4112
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
4113
+ b->yy_buf_pos = b->yy_ch_buf = base;
4114
+ b->yy_is_our_buffer = 0;
4115
+ b->yy_input_file = 0;
4116
+ b->yy_n_chars = b->yy_buf_size;
4117
+ b->yy_is_interactive = 0;
4118
+ b->yy_at_bol = 1;
4119
+ b->yy_fill_buffer = 0;
4120
+ b->yy_buffer_status = YY_BUFFER_NEW;
4121
+
4122
+ langscan_c_lex__switch_to_buffer(b ,yyscanner );
4123
+
4124
+ return b;
4125
+ }
4126
+
4127
+ /** Setup the input buffer state to scan a string. The next call to langscan_c_lex_lex() will
4128
+ * scan from a @e copy of @a str.
4129
+ * @param yystr a NUL-terminated string to scan
4130
+ * @param yyscanner The scanner object.
4131
+ * @return the newly allocated buffer state object.
4132
+ * @note If you want to scan bytes that may contain NUL values, then use
4133
+ * langscan_c_lex__scan_bytes() instead.
4134
+ */
4135
+ YY_BUFFER_STATE langscan_c_lex__scan_string (yyconst char * yystr , yyscan_t yyscanner)
4136
+ {
4137
+
4138
+ return langscan_c_lex__scan_bytes(yystr,strlen(yystr) ,yyscanner);
4139
+ }
4140
+
4141
+ /** Setup the input buffer state to scan the given bytes. The next call to langscan_c_lex_lex() will
4142
+ * scan from a @e copy of @a bytes.
4143
+ * @param bytes the byte buffer to scan
4144
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
4145
+ * @param yyscanner The scanner object.
4146
+ * @return the newly allocated buffer state object.
4147
+ */
4148
+ YY_BUFFER_STATE langscan_c_lex__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner)
4149
+ {
4150
+ YY_BUFFER_STATE b;
4151
+ char *buf;
4152
+ yy_size_t n, i;
4153
+
4154
+ /* Get memory for full buffer, including space for trailing EOB's. */
4155
+ n = _yybytes_len + 2;
4156
+ buf = (char *) langscan_c_lex_alloc(n ,yyscanner );
4157
+ if ( ! buf )
4158
+ YY_FATAL_ERROR( "out of dynamic memory in langscan_c_lex__scan_bytes()" );
4159
+
4160
+ for ( i = 0; i < _yybytes_len; ++i )
4161
+ buf[i] = yybytes[i];
4162
+
4163
+ buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4164
+
4165
+ b = langscan_c_lex__scan_buffer(buf,n ,yyscanner);
4166
+ if ( ! b )
4167
+ YY_FATAL_ERROR( "bad buffer in langscan_c_lex__scan_bytes()" );
4168
+
4169
+ /* It's okay to grow etc. this buffer, and we should throw it
4170
+ * away when we're done.
4171
+ */
4172
+ b->yy_is_our_buffer = 1;
4173
+
4174
+ return b;
4175
+ }
4176
+
4177
+ #ifndef YY_EXIT_FAILURE
4178
+ #define YY_EXIT_FAILURE 2
4179
+ #endif
4180
+
4181
+ static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
4182
+ {
4183
+ (void) fprintf( stderr, "%s\n", msg );
4184
+ exit( YY_EXIT_FAILURE );
4185
+ }
4186
+
4187
+ /* Redefine yyless() so it works in section 3 code. */
4188
+
4189
+ #undef yyless
4190
+ #define yyless(n) \
4191
+ do \
4192
+ { \
4193
+ /* Undo effects of setting up yytext. */ \
4194
+ int yyless_macro_arg = (n); \
4195
+ YY_LESS_LINENO(yyless_macro_arg);\
4196
+ yytext[yyleng] = yyg->yy_hold_char; \
4197
+ yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
4198
+ yyg->yy_hold_char = *yyg->yy_c_buf_p; \
4199
+ *yyg->yy_c_buf_p = '\0'; \
4200
+ yyleng = yyless_macro_arg; \
4201
+ } \
4202
+ while ( 0 )
4203
+
4204
+ /* Accessor methods (get/set functions) to struct members. */
4205
+
4206
+ /** Get the user-defined data for this scanner.
4207
+ * @param yyscanner The scanner object.
4208
+ */
4209
+ YY_EXTRA_TYPE langscan_c_lex_get_extra (yyscan_t yyscanner)
4210
+ {
4211
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4212
+ return yyextra;
4213
+ }
4214
+
4215
+ /** Get the current line number.
4216
+ * @param yyscanner The scanner object.
4217
+ */
4218
+ int langscan_c_lex_get_lineno (yyscan_t yyscanner)
4219
+ {
4220
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4221
+
4222
+ if (! YY_CURRENT_BUFFER)
4223
+ return 0;
4224
+
4225
+ return yylineno;
4226
+ }
4227
+
4228
+ /** Get the current column number.
4229
+ * @param yyscanner The scanner object.
4230
+ */
4231
+ int langscan_c_lex_get_column (yyscan_t yyscanner)
4232
+ {
4233
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4234
+
4235
+ if (! YY_CURRENT_BUFFER)
4236
+ return 0;
4237
+
4238
+ return yycolumn;
4239
+ }
4240
+
4241
+ /** Get the input stream.
4242
+ * @param yyscanner The scanner object.
4243
+ */
4244
+ FILE *langscan_c_lex_get_in (yyscan_t yyscanner)
4245
+ {
4246
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4247
+ return yyin;
4248
+ }
4249
+
4250
+ /** Get the output stream.
4251
+ * @param yyscanner The scanner object.
4252
+ */
4253
+ FILE *langscan_c_lex_get_out (yyscan_t yyscanner)
4254
+ {
4255
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4256
+ return yyout;
4257
+ }
4258
+
4259
+ /** Get the length of the current token.
4260
+ * @param yyscanner The scanner object.
4261
+ */
4262
+ yy_size_t langscan_c_lex_get_leng (yyscan_t yyscanner)
4263
+ {
4264
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4265
+ return yyleng;
4266
+ }
4267
+
4268
+ /** Get the current token.
4269
+ * @param yyscanner The scanner object.
4270
+ */
4271
+
4272
+ char *langscan_c_lex_get_text (yyscan_t yyscanner)
4273
+ {
4274
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4275
+ return yytext;
4276
+ }
4277
+
4278
+ /** Set the user-defined data. This data is never touched by the scanner.
4279
+ * @param user_defined The data to be associated with this scanner.
4280
+ * @param yyscanner The scanner object.
4281
+ */
4282
+ void langscan_c_lex_set_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
4283
+ {
4284
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4285
+ yyextra = user_defined ;
4286
+ }
4287
+
4288
+ /** Set the current line number.
4289
+ * @param line_number
4290
+ * @param yyscanner The scanner object.
4291
+ */
4292
+ void langscan_c_lex_set_lineno (int line_number , yyscan_t yyscanner)
4293
+ {
4294
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4295
+
4296
+ /* lineno is only valid if an input buffer exists. */
4297
+ if (! YY_CURRENT_BUFFER )
4298
+ yy_fatal_error( "langscan_c_lex_set_lineno called with no buffer" , yyscanner);
4299
+
4300
+ yylineno = line_number;
4301
+ }
4302
+
4303
+ /** Set the current column.
4304
+ * @param line_number
4305
+ * @param yyscanner The scanner object.
4306
+ */
4307
+ void langscan_c_lex_set_column (int column_no , yyscan_t yyscanner)
4308
+ {
4309
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4310
+
4311
+ /* column is only valid if an input buffer exists. */
4312
+ if (! YY_CURRENT_BUFFER )
4313
+ yy_fatal_error( "langscan_c_lex_set_column called with no buffer" , yyscanner);
4314
+
4315
+ yycolumn = column_no;
4316
+ }
4317
+
4318
+ /** Set the input stream. This does not discard the current
4319
+ * input buffer.
4320
+ * @param in_str A readable stream.
4321
+ * @param yyscanner The scanner object.
4322
+ * @see langscan_c_lex__switch_to_buffer
4323
+ */
4324
+ void langscan_c_lex_set_in (FILE * in_str , yyscan_t yyscanner)
4325
+ {
4326
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4327
+ yyin = in_str ;
4328
+ }
4329
+
4330
+ void langscan_c_lex_set_out (FILE * out_str , yyscan_t yyscanner)
4331
+ {
4332
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4333
+ yyout = out_str ;
4334
+ }
4335
+
4336
+ int langscan_c_lex_get_debug (yyscan_t yyscanner)
4337
+ {
4338
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4339
+ return yy_flex_debug;
4340
+ }
4341
+
4342
+ void langscan_c_lex_set_debug (int bdebug , yyscan_t yyscanner)
4343
+ {
4344
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4345
+ yy_flex_debug = bdebug ;
4346
+ }
4347
+
4348
+ /* Accessor methods for yylval and yylloc */
4349
+
4350
+ /* User-visible API */
4351
+
4352
+ /* langscan_c_lex_lex_init is special because it creates the scanner itself, so it is
4353
+ * the ONLY reentrant function that doesn't take the scanner as the last argument.
4354
+ * That's why we explicitly handle the declaration, instead of using our macros.
4355
+ */
4356
+
4357
+ int langscan_c_lex_lex_init(yyscan_t* ptr_yy_globals)
4358
+
4359
+ {
4360
+ if (ptr_yy_globals == NULL){
4361
+ errno = EINVAL;
4362
+ return 1;
4363
+ }
4364
+
4365
+ *ptr_yy_globals = (yyscan_t) langscan_c_lex_alloc ( sizeof( struct yyguts_t ), NULL );
4366
+
4367
+ if (*ptr_yy_globals == NULL){
4368
+ errno = ENOMEM;
4369
+ return 1;
4370
+ }
4371
+
4372
+ /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
4373
+ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
4374
+
4375
+ return yy_init_globals ( *ptr_yy_globals );
4376
+ }
4377
+
4378
+ /* langscan_c_lex_lex_init_extra has the same functionality as langscan_c_lex_lex_init, but follows the
4379
+ * convention of taking the scanner as the last argument. Note however, that
4380
+ * this is a *pointer* to a scanner, as it will be allocated by this call (and
4381
+ * is the reason, too, why this function also must handle its own declaration).
4382
+ * The user defined value in the first argument will be available to langscan_c_lex_alloc in
4383
+ * the yyextra field.
4384
+ */
4385
+
4386
+ int langscan_c_lex_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
4387
+
4388
+ {
4389
+ struct yyguts_t dummy_yyguts;
4390
+
4391
+ langscan_c_lex_set_extra (yy_user_defined, &dummy_yyguts);
4392
+
4393
+ if (ptr_yy_globals == NULL){
4394
+ errno = EINVAL;
4395
+ return 1;
4396
+ }
4397
+
4398
+ *ptr_yy_globals = (yyscan_t) langscan_c_lex_alloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
4399
+
4400
+ if (*ptr_yy_globals == NULL){
4401
+ errno = ENOMEM;
4402
+ return 1;
4403
+ }
4404
+
4405
+ /* By setting to 0xAA, we expose bugs in
4406
+ yy_init_globals. Leave at 0x00 for releases. */
4407
+ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
4408
+
4409
+ langscan_c_lex_set_extra (yy_user_defined, *ptr_yy_globals);
4410
+
4411
+ return yy_init_globals ( *ptr_yy_globals );
4412
+ }
4413
+
4414
+ static int yy_init_globals (yyscan_t yyscanner)
4415
+ {
4416
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4417
+ /* Initialization is the same as for the non-reentrant scanner.
4418
+ * This function is called from langscan_c_lex_lex_destroy(), so don't allocate here.
4419
+ */
4420
+
4421
+ yyg->yy_buffer_stack = 0;
4422
+ yyg->yy_buffer_stack_top = 0;
4423
+ yyg->yy_buffer_stack_max = 0;
4424
+ yyg->yy_c_buf_p = (char *) 0;
4425
+ yyg->yy_init = 0;
4426
+ yyg->yy_start = 0;
4427
+
4428
+ yyg->yy_start_stack_ptr = 0;
4429
+ yyg->yy_start_stack_depth = 0;
4430
+ yyg->yy_start_stack = NULL;
4431
+
4432
+ /* Defined in main.c */
4433
+ #ifdef YY_STDINIT
4434
+ yyin = stdin;
4435
+ yyout = stdout;
4436
+ #else
4437
+ yyin = (FILE *) 0;
4438
+ yyout = (FILE *) 0;
4439
+ #endif
4440
+
4441
+ /* For future reference: Set errno on error, since we are called by
4442
+ * langscan_c_lex_lex_init()
4443
+ */
4444
+ return 0;
4445
+ }
4446
+
4447
+ /* langscan_c_lex_lex_destroy is for both reentrant and non-reentrant scanners. */
4448
+ int langscan_c_lex_lex_destroy (yyscan_t yyscanner)
4449
+ {
4450
+ struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
4451
+
4452
+ /* Pop the buffer stack, destroying each element. */
4453
+ while(YY_CURRENT_BUFFER){
4454
+ langscan_c_lex__delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
4455
+ YY_CURRENT_BUFFER_LVALUE = NULL;
4456
+ langscan_c_lex_pop_buffer_state(yyscanner);
4457
+ }
4458
+
4459
+ /* Destroy the stack itself. */
4460
+ langscan_c_lex_free(yyg->yy_buffer_stack ,yyscanner);
4461
+ yyg->yy_buffer_stack = NULL;
4462
+
4463
+ /* Destroy the start condition stack. */
4464
+ langscan_c_lex_free(yyg->yy_start_stack ,yyscanner );
4465
+ yyg->yy_start_stack = NULL;
4466
+
4467
+ /* Reset the globals. This is important in a non-reentrant scanner so the next time
4468
+ * langscan_c_lex_lex() is called, initialization will occur. */
4469
+ yy_init_globals( yyscanner);
4470
+
4471
+ /* Destroy the main struct (reentrant only). */
4472
+ langscan_c_lex_free ( yyscanner , yyscanner );
4473
+ yyscanner = NULL;
4474
+ return 0;
4475
+ }
4476
+
4477
+ /*
4478
+ * Internal utility routines.
4479
+ */
4480
+
4481
+ #ifndef yytext_ptr
4482
+ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
4483
+ {
4484
+ register int i;
4485
+ for ( i = 0; i < n; ++i )
4486
+ s1[i] = s2[i];
4487
+ }
4488
+ #endif
4489
+
4490
+ #ifdef YY_NEED_STRLEN
4491
+ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
4492
+ {
4493
+ register int n;
4494
+ for ( n = 0; s[n]; ++n )
4495
+ ;
4496
+
4497
+ return n;
4498
+ }
4499
+ #endif
4500
+
4501
+ void *langscan_c_lex_alloc (yy_size_t size , yyscan_t yyscanner)
4502
+ {
4503
+ return (void *) malloc( size );
4504
+ }
4505
+
4506
+ void *langscan_c_lex_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
4507
+ {
4508
+ /* The cast to (char *) in the following accommodates both
4509
+ * implementations that use char* generic pointers, and those
4510
+ * that use void* generic pointers. It works with the latter
4511
+ * because both ANSI C and C++ allow castless assignment from
4512
+ * any pointer type to void*, and deal with argument conversions
4513
+ * as though doing an assignment.
4514
+ */
4515
+ return (void *) realloc( (char *) ptr, size );
4516
+ }
4517
+
4518
+ void langscan_c_lex_free (void * ptr , yyscan_t yyscanner)
4519
+ {
4520
+ free( (char *) ptr ); /* see langscan_c_lex_realloc() for (char *) cast */
4521
+ }
4522
+
4523
+ #define YYTABLES_NAME "yytables"
4524
+
4525
+ static void update_pos(
4526
+ langscan_c_lex_extra_t *extra,
4527
+ char *text,
4528
+ int leng)
4529
+ {
4530
+ int i, j;
4531
+ extra->beg_byteno = extra->end_byteno;
4532
+ extra->beg_lineno = extra->end_lineno;
4533
+ extra->beg_columnno = extra->end_columnno;
4534
+ j = 0;
4535
+ for (i = 0; i < leng; i++) {
4536
+ if (text[i] == '\n') {
4537
+ extra->end_lineno++;
4538
+ j = i + 1;
4539
+ extra->end_columnno = 0;
4540
+ }
4541
+ }
4542
+ extra->end_columnno += leng - j;
4543
+ extra->end_byteno += leng;
4544
+ }
4545
+
4546
+ static int ident_length(unsigned char *ptr, int max)
4547
+ {
4548
+ int len = 0;
4549
+ while (0 < max &&
4550
+ (('0' <= *ptr && *ptr <= '9') ||
4551
+ ('A' <= *ptr && *ptr <= 'Z') ||
4552
+ ('a' <= *ptr && *ptr <= 'z') ||
4553
+ *ptr == '_')) {
4554
+ ptr++;
4555
+ len++;
4556
+ max--;
4557
+ }
4558
+ return len;
4559
+ }
4560
+
4561
+ langscan_c_tokenizer_t *langscan_c_make_tokenizer(
4562
+ size_t (*user_read)(void **user_data_p, char *buf, size_t maxlen),
4563
+ void *user_data)
4564
+ {
4565
+ langscan_c_tokenizer_t *tokenizer;
4566
+ langscan_c_lex_extra_t *extra;
4567
+ tokenizer = (langscan_c_tokenizer_t *)malloc(sizeof(langscan_c_tokenizer_t));
4568
+ if (tokenizer == NULL)
4569
+ return NULL;
4570
+ extra = (langscan_c_lex_extra_t *)malloc(sizeof(langscan_c_lex_extra_t));
4571
+ if (extra == NULL)
4572
+ return NULL;
4573
+ extra->user_read = user_read;
4574
+ extra->user_data = user_data;
4575
+ extra->beg_lineno = 1;
4576
+ extra->beg_columnno = 0;
4577
+ extra->beg_byteno = 0;
4578
+ extra->end_lineno = 1;
4579
+ extra->end_columnno = 0;
4580
+ extra->end_byteno = 0;
4581
+ extra->eof = 0;
4582
+ tokenizer->extra = extra;
4583
+ langscan_c_lex_lex_init(&tokenizer->scanner);
4584
+ langscan_c_lex_set_extra(extra, tokenizer->scanner);
4585
+ return tokenizer;
4586
+ }
4587
+
4588
+ langscan_c_token_t langscan_c_get_token(langscan_c_tokenizer_t *tokenizer)
4589
+ {
4590
+ return langscan_c_lex_lex(tokenizer->scanner);
4591
+ }
4592
+
4593
+ void langscan_c_free_tokenizer(langscan_c_tokenizer_t *tokenizer)
4594
+ {
4595
+ langscan_c_lex_extra_t *extra = langscan_c_lex_get_extra(tokenizer->scanner);
4596
+ free((void *)extra);
4597
+ langscan_c_lex_lex_destroy(tokenizer->scanner);
4598
+ free((void *)tokenizer);
4599
+ }
4600
+
4601
+ user_read_t langscan_c_tokenizer_get_user_read(langscan_c_tokenizer_t *tokenizer)
4602
+ {
4603
+ return tokenizer->extra->user_read;
4604
+ }
4605
+
4606
+ void *langscan_c_tokenizer_get_user_data(langscan_c_tokenizer_t *tokenizer)
4607
+ {
4608
+ return tokenizer->extra->user_data;
4609
+ }
4610
+
4611
+ const char *langscan_c_token_name(langscan_c_token_t token)
4612
+ {
4613
+ static char *token_names[] = {
4614
+ "*eof*",
4615
+ #define LANGSCAN_C_TOKEN(name) #name,
4616
+ LANGSCAN_C_TOKEN_LIST
4617
+ #undef LANGSCAN_C_TOKEN
4618
+ };
4619
+
4620
+ return token_names[token];
4621
+ }
4622
+