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