blob: 858ee6aa92ff9f9e9781a410c29d8e20a84548a5 [file] [log] [blame]
vlmfa67ddc2004-06-03 03:38:44 +00001#define yy_create_buffer asn1p__create_buffer
2#define yy_delete_buffer asn1p__delete_buffer
3#define yy_scan_buffer asn1p__scan_buffer
4#define yy_scan_string asn1p__scan_string
5#define yy_scan_bytes asn1p__scan_bytes
6#define yy_flex_debug asn1p__flex_debug
7#define yy_init_buffer asn1p__init_buffer
8#define yy_flush_buffer asn1p__flush_buffer
9#define yy_load_buffer_state asn1p__load_buffer_state
10#define yy_switch_to_buffer asn1p__switch_to_buffer
11#define yyin asn1p_in
12#define yyleng asn1p_leng
13#define yylex asn1p_lex
14#define yyout asn1p_out
15#define yyrestart asn1p_restart
16#define yytext asn1p_text
17#define yylineno asn1p_lineno
18
vlm9283dbe2004-08-18 04:59:12 +000019#line 20 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +000020/* A lexical scanner generated by flex */
21
22/* Scanner skeleton version:
23 * $Header$
24 */
25
26#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
31
32
33/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
34#ifdef c_plusplus
35#ifndef __cplusplus
36#define __cplusplus
37#endif
38#endif
39
40
41#ifdef __cplusplus
42
43#include <stdlib.h>
44#include <unistd.h>
45
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
49/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
56#define YY_USE_PROTOS
57#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
62#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
71#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
77
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
84/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
98#define BEGIN yy_start = 1 + 2 *
99
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
104#define YY_START ((yy_start - 1) / 2)
105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
111#define YY_NEW_FILE yyrestart( yyin )
112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE 16384
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
120extern int yyleng;
121extern FILE *yyin, *yyout;
122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
143#define yyless(n) \
144 do \
145 { \
146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
148 YY_RESTORE_YY_MORE_OFFSET \
149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
151 } \
152 while ( 0 )
153
154#define unput(c) yyunput( c, yytext_ptr )
155
156/* The following is because we cannot portably get our hands on size_t
157 * (without autoconf's help, which isn't available because we want
158 * flex-generated scanners to compile on their own).
159 */
160typedef unsigned int yy_size_t;
161
162
163struct yy_buffer_state
164 {
165 FILE *yy_input_file;
166
167 char *yy_ch_buf; /* input buffer */
168 char *yy_buf_pos; /* current position in input buffer */
169
170 /* Size of input buffer in bytes, not including room for EOB
171 * characters.
172 */
173 yy_size_t yy_buf_size;
174
175 /* Number of characters read into yy_ch_buf, not including EOB
176 * characters.
177 */
178 int yy_n_chars;
179
180 /* Whether we "own" the buffer - i.e., we know we created it,
181 * and can realloc() it to grow it, and should free() it to
182 * delete it.
183 */
184 int yy_is_our_buffer;
185
186 /* Whether this is an "interactive" input source; if so, and
187 * if we're using stdio for input, then we want to use getc()
188 * instead of fread(), to make sure we stop fetching input after
189 * each newline.
190 */
191 int yy_is_interactive;
192
193 /* Whether we're considered to be at the beginning of a line.
194 * If so, '^' rules will be active on the next match, otherwise
195 * not.
196 */
197 int yy_at_bol;
198
199 /* Whether to try to fill the input buffer when we reach the
200 * end of it.
201 */
202 int yy_fill_buffer;
203
204 int yy_buffer_status;
205#define YY_BUFFER_NEW 0
206#define YY_BUFFER_NORMAL 1
207 /* When an EOF's been seen but there's still some text to process
208 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
209 * shouldn't try reading from the input source any more. We might
210 * still have a bunch of tokens to match, though, because of
211 * possible backing-up.
212 *
213 * When we actually see the EOF, we change the status to "new"
214 * (via yyrestart()), so that the user can continue scanning by
215 * just pointing yyin at a new input file.
216 */
217#define YY_BUFFER_EOF_PENDING 2
218 };
219
220static YY_BUFFER_STATE yy_current_buffer = 0;
221
222/* We provide macros for accessing buffer states in case in the
223 * future we want to put the buffer states in a more general
224 * "scanner state".
225 */
226#define YY_CURRENT_BUFFER yy_current_buffer
227
228
229/* yy_hold_char holds the character lost when yytext is formed. */
230static char yy_hold_char;
231
232static int yy_n_chars; /* number of characters read into yy_ch_buf */
233
234
235int yyleng;
236
237/* Points to current character in buffer. */
238static char *yy_c_buf_p = (char *) 0;
239static int yy_init = 1; /* whether we need to initialize */
240static int yy_start = 0; /* start state number */
241
242/* Flag which is used to allow yywrap()'s to do buffer switches
243 * instead of setting up a fresh yyin. A bit of a hack ...
244 */
245static int yy_did_buffer_switch_on_eof;
246
247void yyrestart YY_PROTO(( FILE *input_file ));
248
249void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
250void yy_load_buffer_state YY_PROTO(( void ));
251YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
252void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
253void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
254void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
255#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
256
257YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
258YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
259YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
260
261static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
262static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
263static void yy_flex_free YY_PROTO(( void * ));
264
265#define yy_new_buffer yy_create_buffer
266
267#define yy_set_interactive(is_interactive) \
268 { \
269 if ( ! yy_current_buffer ) \
270 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
271 yy_current_buffer->yy_is_interactive = is_interactive; \
272 }
273
274#define yy_set_bol(at_bol) \
275 { \
276 if ( ! yy_current_buffer ) \
277 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
278 yy_current_buffer->yy_at_bol = at_bol; \
279 }
280
281#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
282
283
284#define YY_USES_REJECT
285
286#define yywrap() 1
287#define YY_SKIP_YYWRAP
288
289#define FLEX_DEBUG
290typedef unsigned char YY_CHAR;
291FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
292typedef int yy_state_type;
293
294#define FLEX_DEBUG
295extern int yylineno;
296int yylineno = 1;
297extern char *yytext;
298#define yytext_ptr yytext
299
300static yy_state_type yy_get_previous_state YY_PROTO(( void ));
301static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
302static int yy_get_next_buffer YY_PROTO(( void ));
303static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
304
305/* Done after the current pattern has been matched and before the
306 * corresponding action - sets up yytext.
307 */
308#define YY_DO_BEFORE_ACTION \
309 yytext_ptr = yy_bp; \
310 yyleng = (int) (yy_cp - yy_bp); \
311 yy_hold_char = *yy_cp; \
312 *yy_cp = '\0'; \
313 yy_c_buf_p = yy_cp;
314
vlm2c8c44d2005-03-24 16:22:35 +0000315#define YY_NUM_RULES 130
316#define YY_END_OF_BUFFER 131
317static yyconst short int yy_acclist[1259] =
vlmfa67ddc2004-06-03 03:38:44 +0000318 { 0,
vlm2c8c44d2005-03-24 16:22:35 +0000319 131, 129, 130, 124, 129, 130, 124, 130, 127, 129,
320 130, 15, 129, 130, 127, 129, 130, 129, 130, 127,
321 129, 130, 129, 130, 127, 129, 130, 129, 130, 29,
322 129, 130, 28, 129, 130, 127, 129, 130, 129, 130,
323 116, 117, 129, 130, 116, 117, 129, 130, 116, 117,
324 129, 130, 116, 117, 129, 130, 116, 117, 129, 130,
325 116, 117, 129, 130, 116, 117, 129, 130, 116, 117,
326 129, 130, 116, 117, 129, 130, 116, 117, 129, 130,
327 116, 117, 129, 130, 116, 117, 129, 130, 116, 117,
328 129, 130, 116, 117, 129, 130, 116, 117, 129, 130,
vlmfa67ddc2004-06-03 03:38:44 +0000329
vlm2c8c44d2005-03-24 16:22:35 +0000330 116, 117, 129, 130, 116, 117, 129, 130, 116, 117,
331 129, 130, 116, 117, 129, 130, 115, 129, 130, 127,
332 129, 130, 5, 129, 130, 2, 130, 2, 129, 130,
333 4, 129, 130, 7, 9, 129, 130, 7, 130, 9,
334 129, 130, 9, 129, 130, 17, 129, 130, 17, 130,
335 18, 129, 130, 12, 129, 130, 12, 130, 14, 129,
336 130, 14, 129, 130, 10, 129, 130, 11, 129, 130,
337 21, 23, 129, 130, 23, 129, 130, 24, 130, 21,
338 22, 23, 129, 130, 21, 22, 23, 129, 130, 121,
339 129, 130, 122, 129, 130, 122, 130, 129, 130, 123,
vlmfa67ddc2004-06-03 03:38:44 +0000340
vlm2c8c44d2005-03-24 16:22:35 +0000341 129, 130, 124, 15, 15, 113, 114, 1, 27, 120,
342 6, 28, 116, 117, 116, 117, 116, 117, 116, 117,
343 116, 117, 116, 117, 117, 116, 117, 116, 117, 116,
344 117, 116, 117, 39, 116, 117, 116, 117, 116, 117,
vlm2728a8d2005-01-23 09:51:44 +0000345 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
vlm2c8c44d2005-03-24 16:22:35 +0000346 116, 117, 116, 117, 117, 117, 116, 117, 116, 117,
vlm2728a8d2005-01-23 09:51:44 +0000347 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
vlm2c8c44d2005-03-24 16:22:35 +0000348 116, 117, 117, 116, 117, 116, 117, 84, 116, 117,
349 116, 117, 117, 116, 117, 116, 117, 116, 117, 116,
vlm2728a8d2005-01-23 09:51:44 +0000350 117, 117, 116, 117, 116, 117, 116, 117, 116, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000351
vlm2728a8d2005-01-23 09:51:44 +0000352 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
vlm2c8c44d2005-03-24 16:22:35 +0000353 117, 116, 117, 116, 117, 117, 117, 116, 117, 115,
354 5, 3, 8, 17, 16, 12, 21, 21, 22, 21,
355 22, 121, 122, 128, 113, 114, 27, 119, 118, 116,
356 117, 31, 116, 117, 32, 116, 117, 116, 117, 116,
357 117, 116, 117, 36, 116, 117, 116, 117, 116, 117,
358 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
359 116, 117, 116, 117, 116, 117, 53, 116, 117, 116,
360 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
361 117, 117, 117, 116, 117, 116, 117, 116, 117, 116,
vlmfa67ddc2004-06-03 03:38:44 +0000362
vlm2c8c44d2005-03-24 16:22:35 +0000363 117, 116, 117, 116, 117, 116, 117, 76, 116, 117,
364 77, 116, 117, 116, 117, 117, 116, 117, 116, 117,
365 116, 117, 117, 116, 117, 87, 116, 117, 116, 117,
366 116, 117, 116, 117, 117, 116, 117, 116, 117, 116,
367 117, 95, 116, 117, 116, 117, 116, 117, 116, 117,
368 116, 117, 116, 117, 116, 117, 116, 117, 117, 116,
369 117, 116, 117, 116, 117, 117, 117, 117, 116, 117,
370 13, 21, 22, 20, 21, 22, 26, 25, 116, 117,
371 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
372 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000373
vlm2c8c44d2005-03-24 16:22:35 +0000374 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
375 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
376 116, 117, 61, 116, 117, 117, 117, 116, 117, 116,
377 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
378 117, 116, 117, 116, 117, 79, 116, 117, 117, 116,
379 117, 116, 117, 116, 117, 117, 116, 117, 116, 117,
380 116, 117, 116, 117, 117, 92, 116, 117, 116, 117,
381 116, 117, 96, 116, 117, 116, 117, 116, 117, 116,
382 117, 100, 116, 117, 102, 116, 117, 116, 117, 117,
383 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
vlmfa67ddc2004-06-03 03:38:44 +0000384
vlm2c8c44d2005-03-24 16:22:35 +0000385 117, 117, 117, 112, 116, 117, 21, 22, 116, 117,
386 116, 117, 116, 117, 35, 116, 117, 117, 116, 117,
387 116, 117, 116, 117, 42, 116, 117, 116, 117, 116,
388 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
389 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
390 117, 116, 117, 60, 116, 117, 117, 117, 117, 116,
391 117, 116, 117, 116, 117, 116, 117, 116, 117, 116,
392 117, 116, 117, 116, 117, 116, 117, 116, 117, 117,
393 116, 117, 83, 116, 117, 116, 117, 117, 116, 117,
394 116, 117, 116, 117, 116, 117, 117, 116, 117, 116,
395
396 117, 116, 117, 116, 117, 117, 116, 117, 117, 104,
397 116, 117, 116, 117, 116, 117, 117, 116, 117, 117,
398 117, 117, 125, 21, 22, 30, 116, 117, 116, 117,
399 116, 117, 117, 116, 117, 116, 117, 41, 116, 117,
400 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
401 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
402 55, 116, 117, 116, 117, 116, 117, 116, 117, 116,
403 117, 117, 117, 117, 116, 117, 116, 117, 116, 117,
404 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
405 116, 117, 116, 117, 116, 117, 117, 81, 116, 117,
406
407 116, 117, 117, 116, 117, 116, 117, 116, 117, 116,
408 117, 117, 116, 117, 116, 117, 97, 116, 117, 98,
409 116, 117, 117, 116, 117, 117, 105, 116, 117, 116,
410 117, 117, 117, 117, 117, 117, 21, 22, 116, 117,
411 116, 117, 117, 38, 116, 117, 116, 117, 116, 117,
412 116, 117, 116, 117, 47, 116, 117, 48, 116, 117,
413 116, 117, 116, 117, 51, 116, 117, 116, 117, 116,
414 117, 116, 117, 57, 116, 117, 116, 117, 116, 117,
415 117, 117, 117, 116, 117, 116, 117, 68, 116, 117,
416 69, 116, 117, 116, 117, 116, 117, 116, 117, 73,
417
418 116, 117, 116, 117, 116, 117, 116, 117, 117, 116,
419 117, 117, 86, 116, 117, 116, 117, 89, 116, 117,
420 91, 116, 117, 117, 116, 117, 116, 117, 117, 116,
421 117, 117, 116, 117, 108, 117, 117, 117, 117, 117,
422 21, 22, 116, 117, 116, 117, 117, 116, 117, 116,
423 117, 116, 117, 116, 117, 116, 117, 50, 116, 117,
424 116, 117, 116, 117, 56, 116, 117, 116, 117, 59,
425 116, 117, 117, 117, 117, 117, 116, 117, 67, 116,
426 117, 70, 116, 117, 71, 116, 117, 116, 117, 116,
427 117, 117, 116, 117, 117, 85, 116, 117, 117, 116,
428
429 117, 117, 116, 117, 94, 116, 117, 117, 116, 117,
430 117, 116, 117, 117, 117, 117, 117, 21, 22, 116,
431 117, 34, 116, 117, 37, 117, 40, 116, 117, 43,
432 116, 117, 116, 117, 116, 117, 116, 117, 116, 117,
433 116, 117, 116, 117, 117, 117, 117, 65, 117, 116,
434 117, 116, 117, 116, 117, 117, 116, 117, 117, 117,
435 116, 117, 117, 116, 117, 99, 117, 116, 117, 117,
436 106, 116, 117, 117, 117, 117, 117, 126, 21, 116,
437 117, 44, 116, 117, 116, 117, 46, 116, 117, 116,
438 117, 116, 117, 54, 116, 117, 116, 117, 117, 117,
439
440 117, 66, 116, 117, 116, 117, 116, 117, 117, 116,
441 117, 117, 117, 116, 117, 117, 116, 117, 116, 117,
442 117, 109, 117, 117, 117, 117, 21, 33, 116, 117,
443 45, 116, 117, 49, 116, 117, 116, 117, 116, 117,
444 117, 117, 117, 116, 117, 116, 117, 117, 116, 117,
445 117, 117, 116, 117, 117, 116, 117, 116, 117, 117,
446 117, 117, 117, 21, 116, 117, 116, 117, 117, 117,
447 117, 72, 116, 117, 74, 116, 117, 75, 117, 116,
448 117, 117, 117, 116, 117, 117, 93, 116, 117, 116,
449 117, 117, 117, 117, 117, 21, 116, 117, 58, 116,
450
451 117, 63, 117, 117, 64, 117, 116, 117, 80, 117,
452 117, 88, 116, 117, 117, 116, 117, 101, 117, 117,
453 117, 111, 117, 21, 116, 117, 117, 78, 116, 117,
454 117, 117, 116, 117, 117, 110, 117, 21, 116, 117,
455 62, 117, 117, 90, 117, 103, 116, 117, 107, 117,
456 21, 52, 116, 117, 82, 117, 19, 21
vlmfa67ddc2004-06-03 03:38:44 +0000457 } ;
458
vlm2c8c44d2005-03-24 16:22:35 +0000459static yyconst short int yy_accept[690] =
vlmfa67ddc2004-06-03 03:38:44 +0000460 { 0,
461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
vlm9283dbe2004-08-18 04:59:12 +0000462 1, 1, 1, 1, 1, 2, 4, 7, 9, 12,
463 15, 18, 20, 23, 25, 28, 30, 33, 36, 39,
464 41, 45, 49, 53, 57, 61, 65, 69, 73, 77,
465 81, 85, 89, 93, 97, 101, 105, 109, 113, 117,
vlm2c8c44d2005-03-24 16:22:35 +0000466 120, 123, 126, 128, 131, 134, 138, 140, 143, 146,
467 149, 151, 154, 157, 159, 162, 165, 168, 171, 175,
468 178, 180, 185, 190, 193, 196, 198, 200, 203, 203,
469 204, 205, 206, 206, 207, 207, 208, 208, 208, 209,
470 210, 211, 212, 213, 213, 215, 217, 219, 221, 223,
vlmfa67ddc2004-06-03 03:38:44 +0000471
vlm2c8c44d2005-03-24 16:22:35 +0000472 225, 226, 228, 230, 232, 234, 237, 239, 241, 243,
473 245, 247, 249, 251, 253, 255, 256, 257, 259, 261,
474 263, 265, 267, 269, 271, 273, 274, 276, 278, 281,
475 283, 284, 286, 288, 290, 292, 293, 295, 297, 299,
476 301, 303, 305, 307, 309, 311, 312, 314, 316, 317,
477 318, 320, 321, 321, 321, 321, 322, 323, 324, 325,
478 326, 327, 327, 328, 330, 332, 333, 334, 335, 335,
479 336, 337, 337, 337, 338, 339, 340, 342, 345, 348,
480 350, 352, 354, 357, 359, 361, 363, 365, 367, 369,
481 371, 373, 375, 377, 380, 382, 384, 386, 388, 390,
vlmfa67ddc2004-06-03 03:38:44 +0000482
vlm2c8c44d2005-03-24 16:22:35 +0000483 392, 393, 394, 396, 398, 400, 402, 404, 406, 408,
484 411, 414, 416, 417, 419, 421, 423, 424, 426, 429,
485 431, 433, 435, 436, 438, 440, 442, 445, 447, 449,
486 451, 453, 455, 457, 459, 460, 462, 464, 466, 467,
487 468, 469, 471, 471, 471, 472, 474, 477, 477, 478,
488 479, 481, 483, 485, 487, 489, 491, 493, 495, 497,
489 499, 501, 503, 505, 507, 509, 511, 513, 515, 517,
490 519, 521, 523, 526, 527, 528, 530, 532, 534, 536,
491 538, 540, 542, 544, 546, 549, 550, 552, 554, 556,
492 557, 559, 561, 563, 565, 566, 569, 571, 573, 576,
vlmfa67ddc2004-06-03 03:38:44 +0000493
vlm2c8c44d2005-03-24 16:22:35 +0000494 578, 580, 582, 585, 588, 590, 591, 593, 595, 597,
495 599, 601, 602, 603, 604, 607, 607, 607, 607, 607,
496 609, 611, 613, 615, 618, 619, 621, 623, 625, 628,
497 630, 632, 634, 636, 638, 640, 642, 644, 646, 648,
498 650, 652, 654, 657, 658, 659, 660, 662, 664, 666,
499 668, 670, 672, 674, 676, 678, 680, 681, 683, 686,
500 688, 689, 691, 693, 695, 697, 698, 700, 702, 704,
501 706, 707, 709, 710, 713, 715, 717, 718, 720, 721,
502 722, 723, 723, 723, 724, 726, 729, 731, 733, 734,
503 736, 738, 741, 743, 745, 747, 749, 751, 753, 755,
vlmfa67ddc2004-06-03 03:38:44 +0000504
vlm2c8c44d2005-03-24 16:22:35 +0000505 757, 759, 761, 764, 766, 768, 770, 772, 773, 774,
506 775, 777, 779, 781, 783, 785, 787, 789, 791, 793,
507 795, 797, 798, 801, 803, 804, 806, 808, 810, 812,
508 813, 815, 817, 820, 823, 824, 826, 827, 830, 832,
509 833, 834, 835, 836, 837, 837, 837, 839, 841, 843,
510 844, 847, 849, 851, 853, 855, 858, 861, 863, 865,
511 868, 870, 872, 874, 877, 879, 881, 882, 883, 884,
512 886, 888, 891, 894, 896, 898, 900, 903, 905, 907,
513 909, 910, 912, 913, 916, 918, 921, 924, 925, 927,
514 929, 930, 932, 933, 935, 937, 938, 939, 940, 941,
vlmfa67ddc2004-06-03 03:38:44 +0000515
vlm2c8c44d2005-03-24 16:22:35 +0000516 941, 943, 945, 947, 948, 950, 952, 954, 956, 958,
517 961, 963, 965, 968, 970, 973, 974, 975, 976, 977,
518 979, 982, 985, 988, 990, 992, 993, 995, 996, 999,
519 1000, 1002, 1003, 1005, 1008, 1009, 1011, 1012, 1014, 1015,
520 1016, 1017, 1018, 1018, 1018, 1020, 1022, 1025, 1027, 1030,
521 1033, 1035, 1037, 1039, 1041, 1043, 1045, 1046, 1047, 1048,
522 1050, 1052, 1054, 1056, 1057, 1059, 1060, 1061, 1063, 1064,
523 1066, 1068, 1070, 1071, 1074, 1075, 1076, 1077, 1078, 1078,
524 1079, 1080, 1082, 1085, 1087, 1090, 1092, 1094, 1097, 1099,
525 1100, 1101, 1102, 1105, 1107, 1109, 1110, 1112, 1113, 1114,
vlmfa67ddc2004-06-03 03:38:44 +0000526
vlm2c8c44d2005-03-24 16:22:35 +0000527 1116, 1117, 1119, 1121, 1122, 1124, 1125, 1126, 1127, 1128,
528 1131, 1134, 1137, 1139, 1141, 1142, 1143, 1144, 1146, 1148,
529 1149, 1151, 1152, 1153, 1155, 1156, 1158, 1160, 1161, 1162,
530 1163, 1164, 1165, 1167, 1169, 1170, 1171, 1172, 1175, 1178,
531 1180, 1182, 1183, 1184, 1186, 1187, 1190, 1192, 1193, 1194,
532 1195, 1196, 1197, 1199, 1202, 1204, 1205, 1207, 1209, 1211,
533 1212, 1215, 1216, 1218, 1220, 1221, 1222, 1224, 1225, 1227,
534 1228, 1231, 1232, 1233, 1235, 1236, 1238, 1239, 1241, 1243,
535 1244, 1246, 1249, 1251, 1252, 1255, 1257, 1259, 1259
vlmfa67ddc2004-06-03 03:38:44 +0000536 } ;
537
538static yyconst int yy_ec[256] =
539 { 0,
540 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
541 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
543 1, 2, 5, 6, 1, 1, 1, 7, 8, 9,
vlm2c8c44d2005-03-24 16:22:35 +0000544 9, 10, 1, 11, 12, 13, 14, 15, 16, 17,
545 17, 18, 19, 20, 17, 21, 22, 23, 24, 25,
546 26, 1, 1, 9, 27, 28, 29, 30, 31, 32,
547 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
548 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
549 9, 1, 53, 54, 1, 1, 55, 56, 57, 58,
vlmfa67ddc2004-06-03 03:38:44 +0000550
vlm2c8c44d2005-03-24 16:22:35 +0000551 59, 60, 61, 62, 63, 64, 60, 65, 66, 67,
552 68, 69, 60, 70, 71, 72, 73, 74, 60, 75,
553 60, 76, 77, 78, 79, 1, 1, 1, 1, 1,
vlmfa67ddc2004-06-03 03:38:44 +0000554 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
555 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
556 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
558 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
559 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
560 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
561
562 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
563 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
564 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
567 1, 1, 1, 1, 1
568 } ;
569
vlm2c8c44d2005-03-24 16:22:35 +0000570static yyconst int yy_meta[80] =
vlmfa67ddc2004-06-03 03:38:44 +0000571 { 0,
572 1, 2, 3, 3, 1, 4, 5, 6, 1, 1,
vlm2c8c44d2005-03-24 16:22:35 +0000573 7, 8, 1, 1, 9, 9, 9, 9, 9, 9,
574 9, 9, 10, 1, 1, 10, 11, 11, 11, 11,
575 11, 11, 12, 12, 12, 12, 12, 12, 12, 12,
576 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
577 12, 12, 1, 1, 12, 12, 12, 12, 12, 12,
578 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
579 12, 12, 12, 12, 12, 12, 13, 1, 14
vlmfa67ddc2004-06-03 03:38:44 +0000580 } ;
581
vlm2c8c44d2005-03-24 16:22:35 +0000582static yyconst short int yy_base[709] =
vlmfa67ddc2004-06-03 03:38:44 +0000583 { 0,
vlm2c8c44d2005-03-24 16:22:35 +0000584 0, 0, 77, 79, 82, 83, 81, 92, 85, 91,
585 170, 249, 120, 126, 852, 843, 97, 117, 837, 835,
586 321, 132, 4544, 133, 828, 94, 4544, 170, 814, 4544,
587 386, 178, 193, 239, 250, 266, 277, 118, 293, 436,
588 437, 453, 459, 474, 480, 497, 500, 515, 523, 0,
589 569, 0, 4544, 4544, 822, 4544, 4544, 811, 814, 0,
590 0, 803, 0, 0, 784, 4544, 4544, 4544, 0, 4544,
591 4544, 591, 669, 0, 135, 140, 107, 4544, 800, 208,
592 0, 797, 791, 0, 174, 0, 604, 784, 4544, 606,
593 778, 4544, 614, 764, 609, 610, 625, 659, 626, 658,
vlmfa67ddc2004-06-03 03:38:44 +0000594
vlm2c8c44d2005-03-24 16:22:35 +0000595 0, 674, 687, 690, 698, 713, 716, 734, 731, 747,
596 755, 770, 776, 773, 791, 721, 731, 802, 808, 819,
597 825, 836, 847, 853, 864, 718, 877, 880, 893, 901,
598 718, 904, 917, 928, 941, 717, 957, 963, 974, 980,
599 991, 997, 1008, 1014, 1025, 712, 1031, 1047, 705, 32,
600 1046, 0, 1093, 1105, 1117, 0, 4544, 4544, 0, 4544,
601 0, 741, 0, 726, 236, 0, 234, 4544, 753, 0,
602 0, 78, 730, 1083, 4544, 4544, 1112, 1113, 1128, 1129,
603 1144, 1152, 1155, 1168, 1176, 1184, 1192, 1205, 1213, 1216,
604 1237, 1238, 1253, 1259, 1270, 1276, 1287, 1293, 1304, 1315,
vlmfa67ddc2004-06-03 03:38:44 +0000605
vlm2c8c44d2005-03-24 16:22:35 +0000606 693, 681, 1328, 1336, 1339, 1354, 1357, 1360, 1385, 1382,
607 1388, 1403, 690, 1406, 1421, 1427, 689, 1438, 1449, 1455,
608 1466, 1477, 679, 1488, 1494, 1505, 1511, 1526, 1527, 1542,
609 1553, 1559, 1574, 1580, 683, 1591, 1602, 1615, 661, 672,
610 661, 1618, 1664, 1672, 4544, 69, 680, 666, 4544, 4544,
611 1631, 1667, 1673, 1688, 1689, 1706, 1705, 1722, 1728, 1739,
612 1750, 1766, 1763, 1774, 1787, 1790, 1805, 1811, 1822, 1828,
613 1839, 1854, 1860, 647, 651, 1871, 1877, 1892, 1893, 1908,
614 1914, 1929, 1942, 1950, 1958, 641, 1973, 1976, 1989, 651,
615 1997, 2012, 2015, 2033, 631, 2030, 2036, 2053, 2059, 2070,
vlmfa67ddc2004-06-03 03:38:44 +0000616
vlm2c8c44d2005-03-24 16:22:35 +0000617 2076, 2087, 2093, 2104, 2110, 619, 2125, 2126, 2143, 2142,
618 2159, 631, 621, 632, 2160, 2206, 824, 2214, 2226, 86,
619 2211, 2226, 2232, 2243, 615, 2249, 2264, 2267, 2275, 2288,
620 2296, 2304, 2317, 2325, 2338, 2346, 2354, 2362, 2377, 2383,
621 2394, 2400, 2415, 629, 608, 592, 2416, 2436, 2433, 2454,
622 2453, 2469, 2475, 2486, 2492, 2507, 598, 2510, 2513, 2530,
623 588, 2531, 2546, 2552, 2563, 604, 2576, 2579, 2587, 2600,
624 588, 2611, 587, 2617, 2632, 2633, 577, 2648, 572, 569,
625 575, 239, 2681, 4544, 78, 2666, 2683, 2686, 576, 2689,
626 2706, 2707, 2727, 2733, 2744, 2750, 2765, 2771, 2788, 2794,
vlmfa67ddc2004-06-03 03:38:44 +0000627
vlm2c8c44d2005-03-24 16:22:35 +0000628 2805, 2811, 2822, 2828, 2839, 2845, 2861, 553, 556, 548,
629 2862, 2877, 2883, 2894, 2900, 2915, 2921, 2932, 2947, 2953,
630 2964, 553, 2975, 2981, 565, 2992, 2998, 3009, 3022, 538,
631 3030, 3045, 3048, 3051, 530, 3066, 508, 3069, 3072, 523,
632 511, 509, 520, 518, 3118, 3130, 536, 3115, 3128, 508,
633 3131, 3146, 3152, 3163, 3169, 3180, 3186, 3197, 3208, 3214,
634 3225, 3231, 3242, 3253, 3259, 3270, 159, 529, 502, 3276,
635 3287, 3298, 3304, 3315, 3321, 3336, 3337, 3352, 3358, 3369,
636 523, 3375, 507, 3386, 3397, 3403, 3414, 499, 3420, 3435,
637 493, 3441, 514, 3457, 0, 491, 497, 475, 504, 3490,
vlmfa67ddc2004-06-03 03:38:44 +0000638
vlm2c8c44d2005-03-24 16:22:35 +0000639 126, 3485, 3486, 475, 3501, 3509, 3512, 3525, 3533, 3541,
640 3554, 3562, 3570, 3578, 3586, 458, 447, 447, 452, 3599,
641 3607, 3610, 3623, 3631, 3634, 437, 3647, 432, 3655, 427,
642 3663, 437, 3676, 3679, 433, 3687, 420, 3700, 423, 423,
643 435, 401, 3733, 466, 190, 3718, 3729, 0, 3735, 3746,
644 3752, 3767, 3768, 3783, 3789, 3800, 402, 408, 396, 0,
645 3806, 3817, 3828, 377, 3834, 369, 355, 3845, 366, 3856,
646 0, 3862, 340, 3873, 348, 355, 327, 304, 530, 4544,
647 317, 3879, 3890, 3901, 3907, 3918, 3929, 3940, 3946, 281,
648 285, 279, 3957, 3963, 3974, 274, 3980, 276, 267, 3991,
vlmfa67ddc2004-06-03 03:38:44 +0000649
vlm2c8c44d2005-03-24 16:22:35 +0000650 262, 3997, 4008, 267, 0, 253, 252, 253, 273, 4014,
651 4025, 4031, 4042, 4048, 245, 265, 242, 4059, 4065, 246,
652 4080, 234, 236, 4083, 228, 4086, 4103, 229, 225, 228,
653 220, 245, 4106, 4109, 223, 220, 221, 4126, 4127, 0,
654 4142, 210, 200, 4143, 205, 4158, 4164, 203, 183, 178,
655 183, 193, 4175, 4186, 0, 166, 0, 4192, 0, 154,
656 4207, 148, 4210, 0, 147, 147, 0, 163, 4218, 141,
657 4233, 101, 106, 4234, 102, 0, 116, 4249, 0, 62,
658 0, 4255, 0, 69, 4266, 0, 0, 4544, 4313, 4327,
659 4341, 4355, 4369, 4383, 4397, 4410, 4414, 4426, 4440, 4454,
660
661 4466, 4478, 4490, 4495, 4500, 4505, 4516, 4529
vlmfa67ddc2004-06-03 03:38:44 +0000662 } ;
663
vlm2c8c44d2005-03-24 16:22:35 +0000664static yyconst short int yy_def[709] =
vlmfa67ddc2004-06-03 03:38:44 +0000665 { 0,
vlm2c8c44d2005-03-24 16:22:35 +0000666 688, 1, 689, 689, 690, 690, 691, 691, 692, 692,
667 693, 693, 694, 694, 688, 688, 688, 688, 688, 695,
668 688, 696, 688, 688, 688, 688, 688, 688, 688, 688,
vlm6611add2005-03-20 14:28:32 +0000669 688, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm2c8c44d2005-03-24 16:22:35 +0000670 31, 31, 31, 31, 31, 31, 31, 31, 31, 697,
671 688, 698, 688, 688, 688, 688, 688, 688, 688, 699,
672 699, 688, 700, 700, 688, 688, 688, 688, 701, 688,
673 688, 702, 702, 703, 688, 688, 21, 688, 688, 688,
674 695, 695, 688, 704, 688, 705, 696, 696, 688, 688,
675 688, 688, 688, 688, 31, 31, 31, 31, 31, 31,
vlmfa67ddc2004-06-03 03:38:44 +0000676
vlm2c8c44d2005-03-24 16:22:35 +0000677 706, 31, 31, 31, 31, 31, 31, 31, 31, 31,
678 31, 31, 31, 31, 31, 706, 706, 31, 31, 31,
679 31, 31, 31, 31, 31, 706, 31, 31, 31, 31,
680 706, 31, 31, 31, 31, 706, 31, 31, 31, 31,
681 31, 31, 31, 31, 31, 706, 31, 31, 706, 706,
682 31, 697, 688, 688, 688, 698, 688, 688, 699, 688,
683 700, 688, 701, 73, 73, 703, 688, 688, 688, 704,
684 705, 688, 688, 688, 688, 688, 31, 31, 31, 31,
vlm2728a8d2005-01-23 09:51:44 +0000685 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm2728a8d2005-01-23 09:51:44 +0000686 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlmc94e28f2004-09-15 11:59:51 +0000687
vlm2c8c44d2005-03-24 16:22:35 +0000688 706, 706, 31, 31, 31, 31, 31, 31, 31, 31,
689 31, 31, 706, 31, 31, 31, 706, 31, 31, 31,
690 31, 31, 706, 31, 31, 31, 31, 31, 31, 31,
691 31, 31, 31, 31, 706, 31, 31, 31, 706, 706,
692 706, 31, 688, 688, 688, 73, 73, 688, 688, 688,
693 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
694 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
695 31, 31, 31, 706, 706, 31, 31, 31, 31, 31,
696 31, 31, 31, 31, 31, 706, 31, 31, 31, 706,
697 31, 31, 31, 31, 706, 31, 31, 31, 31, 31,
vlm2728a8d2005-01-23 09:51:44 +0000698
vlm2c8c44d2005-03-24 16:22:35 +0000699 31, 31, 31, 31, 31, 706, 31, 31, 31, 31,
700 31, 706, 706, 706, 31, 688, 707, 688, 688, 73,
701 31, 31, 31, 31, 706, 31, 31, 31, 31, 31,
702 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
703 31, 31, 31, 706, 706, 706, 31, 31, 31, 31,
704 31, 31, 31, 31, 31, 31, 706, 31, 31, 31,
705 706, 31, 31, 31, 31, 706, 31, 31, 31, 31,
706 706, 31, 706, 31, 31, 31, 706, 31, 706, 706,
707 706, 688, 688, 688, 73, 31, 31, 31, 706, 31,
708 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
709
710 31, 31, 31, 31, 31, 31, 31, 706, 706, 706,
711 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
712 31, 706, 31, 31, 706, 31, 31, 31, 31, 706,
713 31, 31, 31, 31, 706, 31, 706, 31, 31, 706,
714 706, 706, 706, 706, 688, 688, 73, 31, 31, 706,
715 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
716 31, 31, 31, 31, 31, 31, 706, 706, 706, 31,
717 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
718 706, 31, 706, 31, 31, 31, 31, 706, 31, 31,
719 706, 31, 706, 31, 706, 706, 706, 706, 706, 688,
720
721 73, 31, 31, 706, 31, 31, 31, 31, 31, 31,
722 31, 31, 31, 31, 31, 706, 706, 706, 706, 31,
723 31, 31, 31, 31, 31, 706, 31, 706, 31, 706,
724 31, 706, 31, 31, 706, 31, 706, 31, 706, 706,
725 706, 706, 688, 708, 73, 31, 31, 706, 31, 31,
726 31, 31, 31, 31, 31, 31, 706, 706, 706, 706,
727 31, 31, 31, 706, 31, 706, 706, 31, 706, 31,
728 706, 31, 706, 31, 706, 706, 706, 706, 688, 688,
729 701, 31, 31, 31, 31, 31, 31, 31, 31, 706,
730 706, 706, 31, 31, 31, 706, 31, 706, 706, 31,
731
732 706, 31, 31, 706, 706, 706, 706, 706, 701, 31,
733 31, 31, 31, 31, 706, 706, 706, 31, 31, 706,
734 31, 706, 706, 31, 706, 31, 31, 706, 706, 706,
735 706, 701, 31, 31, 706, 706, 706, 31, 31, 706,
736 31, 706, 706, 31, 706, 31, 31, 706, 706, 706,
737 706, 701, 31, 31, 706, 706, 706, 31, 706, 706,
738 31, 706, 31, 706, 706, 706, 706, 701, 31, 706,
739 31, 706, 706, 31, 706, 706, 701, 31, 706, 706,
740 706, 31, 706, 701, 31, 706, 701, 0, 688, 688,
741 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
742
743 688, 688, 688, 688, 688, 688, 688, 688
vlmfa67ddc2004-06-03 03:38:44 +0000744 } ;
745
vlm2c8c44d2005-03-24 16:22:35 +0000746static yyconst short int yy_nxt[4624] =
vlmfa67ddc2004-06-03 03:38:44 +0000747 { 0,
vlm9283dbe2004-08-18 04:59:12 +0000748 16, 17, 18, 17, 19, 20, 21, 22, 23, 16,
vlm2c8c44d2005-03-24 16:22:35 +0000749 23, 24, 25, 26, 27, 28, 28, 28, 28, 28,
750 28, 28, 29, 19, 30, 30, 31, 32, 33, 34,
751 35, 36, 37, 38, 39, 38, 38, 38, 40, 41,
752 42, 43, 38, 44, 45, 46, 47, 48, 49, 38,
753 38, 38, 19, 19, 50, 50, 50, 50, 50, 50,
754 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
755 50, 50, 50, 50, 50, 50, 51, 19, 23, 53,
756 54, 53, 54, 61, 57, 57, 62, 64, 55, 240,
757 55, 58, 58, 64, 61, 59, 59, 62, 80, 80,
vlmfa67ddc2004-06-03 03:38:44 +0000758
vlm2c8c44d2005-03-24 16:22:35 +0000759 80, 79, 241, 92, 79, 249, 687, 65, 164, 320,
760 66, 250, 447, 65, 688, 385, 66, 164, 80, 80,
761 80, 75, 76, 75, 79, 164, 77, 75, 76, 75,
762 688, 686, 77, 87, 87, 87, 167, 167, 167, 79,
763 79, 167, 167, 167, 89, 95, 87, 87, 90, 90,
764 90, 90, 90, 90, 90, 95, 684, 95, 545, 95,
765 688, 67, 683, 68, 95, 164, 681, 67, 680, 68,
766 69, 70, 71, 70, 69, 69, 69, 69, 69, 69,
767 69, 69, 69, 69, 93, 93, 93, 93, 93, 93,
768 93, 93, 69, 69, 69, 69, 30, 83, 78, 679,
vlmfa67ddc2004-06-03 03:38:44 +0000769
vlm2c8c44d2005-03-24 16:22:35 +0000770 73, 581, 30, 516, 78, 95, 677, 676, 102, 80,
771 80, 80, 103, 675, 673, 95, 104, 95, 105, 95,
772 95, 517, 69, 69, 95, 672, 107, 85, 106, 164,
773 108, 670, 95, 109, 95, 167, 167, 167, 668, 95,
774 382, 382, 382, 667, 666, 665, 70, 69, 70, 69,
775 70, 71, 70, 69, 69, 69, 69, 69, 69, 69,
776 69, 69, 69, 664, 246, 247, 95, 662, 660, 110,
777 659, 69, 69, 69, 69, 164, 95, 95, 95, 73,
778 95, 657, 656, 655, 652, 95, 651, 95, 111, 112,
779 650, 95, 114, 95, 649, 648, 95, 645, 643, 113,
vlmfa67ddc2004-06-03 03:38:44 +0000780
vlm2c8c44d2005-03-24 16:22:35 +0000781 642, 69, 69, 95, 95, 95, 640, 95, 637, 115,
782 636, 635, 95, 632, 95, 631, 95, 384, 95, 118,
783 95, 630, 119, 95, 629, 70, 69, 70, 79, 628,
784 95, 120, 121, 625, 95, 116, 623, 122, 622, 95,
785 620, 617, 616, 615, 83, 609, 117, 84, 84, 84,
786 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
787 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
788 84, 84, 84, 608, 85, 86, 86, 86, 86, 86,
789 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
790 86, 86, 86, 86, 86, 86, 86, 95, 607, 606,
vlmfa67ddc2004-06-03 03:38:44 +0000791
vlm2c8c44d2005-03-24 16:22:35 +0000792 95, 95, 95, 95, 95, 95, 95, 95, 605, 604,
793 601, 599, 95, 96, 95, 95, 95, 95, 95, 95,
794 95, 95, 95, 97, 95, 98, 95, 99, 95, 95,
795 95, 95, 100, 95, 95, 95, 95, 95, 598, 596,
796 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
797 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
798 101, 101, 123, 95, 95, 592, 591, 579, 579, 579,
799 124, 590, 578, 95, 95, 95, 95, 95, 95, 577,
800 127, 128, 95, 125, 129, 132, 95, 576, 133, 575,
801 95, 573, 95, 571, 130, 569, 134, 567, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +0000802
vlm2c8c44d2005-03-24 16:22:35 +0000803 95, 95, 135, 566, 137, 95, 564, 95, 131, 126,
804 138, 95, 560, 95, 139, 95, 142, 95, 559, 95,
805 95, 95, 558, 143, 95, 140, 95, 95, 136, 557,
806 141, 579, 579, 579, 95, 548, 95, 95, 95, 147,
807 144, 95, 95, 95, 580, 148, 95, 145, 542, 541,
808 95, 540, 95, 539, 95, 146, 95, 151, 537, 535,
809 95, 95, 95, 532, 95, 530, 149, 528, 519, 95,
810 153, 153, 153, 518, 504, 501, 499, 150, 498, 497,
811 496, 495, 493, 154, 154, 154, 154, 154, 154, 155,
812 155, 163, 491, 488, 483, 163, 163, 163, 163, 163,
vlmfa67ddc2004-06-03 03:38:44 +0000813
vlm2c8c44d2005-03-24 16:22:35 +0000814 163, 163, 163, 163, 163, 87, 87, 87, 580, 481,
815 469, 172, 468, 163, 163, 163, 163, 467, 87, 87,
816 174, 174, 174, 174, 174, 174, 174, 174, 93, 93,
817 93, 93, 93, 93, 93, 93, 95, 95, 450, 444,
818 443, 442, 440, 163, 163, 437, 95, 95, 95, 95,
819 95, 95, 95, 95, 177, 95, 95, 435, 430, 425,
820 422, 410, 178, 95, 95, 95, 95, 180, 163, 163,
821 409, 95, 95, 163, 163, 163, 163, 163, 163, 163,
822 163, 163, 163, 408, 389, 95, 95, 381, 380, 379,
823 373, 163, 163, 163, 163, 95, 95, 95, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +0000824
vlm2c8c44d2005-03-24 16:22:35 +0000825 95, 95, 366, 181, 95, 95, 182, 361, 165, 179,
826 357, 95, 345, 95, 95, 95, 344, 95, 168, 164,
827 95, 163, 163, 314, 95, 95, 95, 95, 95, 95,
828 313, 184, 183, 95, 312, 95, 95, 95, 185, 95,
829 95, 306, 186, 95, 95, 295, 163, 290, 286, 275,
830 95, 274, 95, 95, 95, 95, 187, 95, 95, 95,
831 188, 95, 95, 250, 248, 164, 245, 239, 95, 189,
832 190, 95, 95, 95, 95, 95, 235, 95, 191, 223,
833 95, 217, 192, 213, 95, 202, 95, 201, 95, 176,
834 175, 173, 95, 95, 95, 169, 95, 95, 193, 194,
vlmfa67ddc2004-06-03 03:38:44 +0000835
vlm2c8c44d2005-03-24 16:22:35 +0000836 95, 95, 168, 95, 196, 168, 162, 95, 160, 95,
837 199, 95, 95, 95, 95, 95, 195, 197, 95, 95,
838 203, 198, 95, 92, 158, 382, 382, 382, 95, 95,
839 95, 200, 95, 157, 383, 95, 94, 95, 204, 95,
840 91, 95, 82, 95, 79, 95, 95, 95, 95, 95,
841 79, 688, 95, 206, 95, 688, 95, 688, 95, 688,
842 205, 688, 95, 95, 95, 95, 95, 688, 688, 207,
843 208, 95, 688, 95, 95, 95, 209, 95, 688, 688,
844 95, 688, 95, 688, 95, 688, 95, 688, 95, 688,
845 95, 95, 211, 95, 95, 688, 210, 688, 688, 95,
vlmfa67ddc2004-06-03 03:38:44 +0000846
vlm2c8c44d2005-03-24 16:22:35 +0000847 688, 212, 384, 95, 95, 95, 688, 95, 688, 688,
848 95, 688, 214, 688, 95, 688, 95, 95, 95, 95,
849 95, 95, 688, 95, 688, 215, 95, 688, 95, 688,
850 95, 95, 95, 688, 95, 688, 688, 688, 95, 95,
851 95, 95, 95, 95, 95, 95, 216, 95, 688, 218,
852 95, 688, 688, 688, 95, 95, 95, 688, 95, 688,
853 688, 688, 688, 95, 219, 95, 688, 95, 95, 95,
854 688, 221, 688, 688, 220, 222, 688, 688, 95, 688,
855 95, 688, 95, 224, 95, 688, 688, 95, 688, 688,
856 95, 688, 688, 688, 225, 688, 95, 688, 95, 688,
vlmfa67ddc2004-06-03 03:38:44 +0000857
vlm2c8c44d2005-03-24 16:22:35 +0000858 95, 95, 95, 95, 95, 226, 688, 95, 227, 95,
859 688, 95, 231, 95, 688, 95, 688, 95, 95, 95,
860 95, 95, 688, 229, 95, 228, 95, 688, 95, 688,
861 230, 688, 95, 688, 95, 95, 95, 95, 95, 688,
862 232, 95, 688, 95, 688, 95, 688, 95, 688, 95,
863 688, 95, 95, 95, 95, 95, 688, 688, 95, 688,
864 233, 688, 95, 688, 95, 236, 234, 688, 95, 688,
865 95, 95, 95, 95, 95, 237, 688, 95, 238, 688,
866 688, 688, 688, 95, 95, 95, 95, 95, 95, 688,
867 688, 242, 95, 95, 153, 153, 153, 174, 174, 174,
vlmfa67ddc2004-06-03 03:38:44 +0000868
vlm2c8c44d2005-03-24 16:22:35 +0000869 174, 174, 174, 174, 174, 688, 688, 154, 154, 154,
870 154, 154, 154, 155, 155, 243, 688, 688, 688, 155,
871 155, 155, 155, 155, 155, 155, 155, 244, 688, 688,
872 688, 155, 155, 155, 155, 155, 155, 155, 155, 95,
873 95, 688, 251, 688, 688, 688, 688, 688, 688, 95,
874 95, 95, 95, 95, 95, 95, 95, 688, 95, 95,
875 688, 688, 688, 688, 688, 95, 252, 95, 95, 95,
876 95, 95, 688, 688, 95, 95, 688, 688, 688, 95,
877 688, 95, 95, 95, 253, 95, 254, 688, 688, 95,
878 95, 95, 95, 95, 95, 95, 95, 688, 95, 688,
vlmfa67ddc2004-06-03 03:38:44 +0000879
vlm2c8c44d2005-03-24 16:22:35 +0000880 688, 95, 688, 95, 688, 95, 688, 95, 688, 95,
881 688, 95, 255, 256, 95, 95, 688, 95, 688, 95,
882 688, 95, 95, 95, 688, 95, 258, 257, 688, 95,
883 95, 95, 95, 95, 688, 688, 688, 688, 95, 688,
884 95, 688, 95, 95, 95, 688, 95, 688, 688, 259,
885 95, 95, 95, 95, 260, 95, 688, 95, 688, 95,
886 261, 262, 95, 263, 95, 95, 688, 688, 265, 688,
887 688, 264, 688, 688, 95, 95, 95, 95, 95, 95,
888 95, 688, 688, 95, 95, 688, 95, 688, 688, 688,
889 95, 688, 95, 266, 95, 688, 95, 95, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +0000890
vlm2c8c44d2005-03-24 16:22:35 +0000891 95, 688, 688, 95, 688, 95, 268, 95, 267, 95,
892 688, 95, 688, 95, 95, 95, 95, 95, 688, 688,
893 95, 688, 95, 271, 269, 688, 95, 270, 95, 688,
894 95, 95, 95, 95, 95, 688, 688, 688, 688, 95,
895 688, 95, 95, 95, 688, 95, 688, 688, 272, 688,
896 95, 688, 95, 273, 95, 95, 95, 688, 688, 688,
897 688, 95, 688, 95, 688, 95, 95, 95, 688, 95,
898 688, 688, 276, 95, 95, 277, 278, 95, 95, 279,
899 95, 95, 95, 688, 95, 95, 688, 95, 688, 688,
900 282, 280, 688, 95, 95, 95, 95, 95, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +0000901
vlm2c8c44d2005-03-24 16:22:35 +0000902 95, 95, 281, 95, 283, 688, 95, 688, 688, 95,
903 688, 688, 95, 688, 688, 95, 688, 688, 688, 95,
904 688, 95, 95, 95, 95, 95, 95, 95, 95, 95,
905 95, 95, 688, 95, 284, 688, 287, 688, 688, 688,
906 285, 688, 95, 95, 95, 95, 688, 95, 95, 95,
907 688, 288, 95, 688, 95, 688, 688, 688, 95, 688,
908 95, 289, 95, 688, 95, 95, 95, 95, 95, 688,
909 688, 688, 688, 95, 688, 95, 95, 95, 688, 95,
910 688, 688, 95, 291, 95, 688, 95, 688, 95, 688,
911 95, 688, 95, 95, 95, 95, 95, 688, 688, 292,
vlmfa67ddc2004-06-03 03:38:44 +0000912
vlm2c8c44d2005-03-24 16:22:35 +0000913 688, 95, 688, 95, 95, 95, 688, 95, 688, 688,
914 293, 688, 95, 688, 95, 95, 95, 688, 95, 688,
915 297, 95, 688, 95, 294, 296, 688, 95, 688, 95,
916 688, 95, 95, 95, 95, 95, 688, 688, 95, 688,
917 95, 688, 95, 688, 95, 688, 95, 688, 95, 688,
918 95, 298, 95, 95, 95, 688, 299, 95, 688, 688,
919 688, 300, 688, 95, 95, 95, 95, 95, 95, 95,
920 688, 688, 95, 95, 688, 688, 688, 688, 688, 95,
921 95, 95, 688, 95, 688, 688, 95, 301, 95, 688,
922 95, 688, 95, 688, 95, 688, 95, 302, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +0000923
vlm2c8c44d2005-03-24 16:22:35 +0000924 95, 95, 688, 303, 304, 95, 688, 95, 688, 688,
925 305, 95, 688, 95, 688, 95, 688, 95, 95, 95,
926 95, 95, 688, 688, 688, 688, 95, 688, 95, 95,
927 95, 307, 95, 308, 688, 311, 688, 95, 309, 95,
928 688, 95, 95, 95, 688, 95, 688, 310, 95, 688,
929 688, 315, 95, 688, 95, 95, 95, 95, 95, 95,
930 688, 95, 688, 688, 95, 316, 316, 316, 95, 688,
931 321, 688, 95, 318, 318, 318, 688, 95, 317, 317,
932 317, 317, 317, 317, 317, 317, 319, 319, 319, 319,
933 319, 319, 319, 319, 95, 688, 688, 688, 688, 688,
vlmfa67ddc2004-06-03 03:38:44 +0000934
vlm2c8c44d2005-03-24 16:22:35 +0000935 95, 322, 688, 688, 95, 688, 95, 688, 95, 688,
936 95, 323, 95, 95, 95, 95, 95, 688, 688, 95,
937 688, 688, 688, 688, 688, 95, 95, 324, 95, 95,
938 95, 327, 95, 95, 95, 95, 326, 688, 688, 688,
939 688, 688, 95, 95, 95, 95, 95, 95, 688, 95,
940 328, 95, 95, 688, 688, 95, 688, 688, 688, 95,
941 325, 95, 688, 95, 688, 95, 95, 95, 95, 95,
942 688, 688, 329, 688, 95, 688, 95, 95, 95, 330,
943 95, 688, 688, 688, 688, 95, 688, 95, 688, 95,
944 95, 95, 332, 95, 688, 331, 95, 688, 688, 688,
vlmfa67ddc2004-06-03 03:38:44 +0000945
vlm2c8c44d2005-03-24 16:22:35 +0000946 95, 95, 95, 95, 95, 95, 688, 95, 688, 333,
947 688, 95, 95, 334, 95, 95, 335, 95, 688, 336,
948 95, 688, 688, 688, 95, 688, 95, 95, 95, 95,
949 688, 95, 95, 95, 688, 337, 95, 688, 95, 688,
950 688, 688, 95, 688, 95, 688, 95, 688, 95, 95,
951 95, 95, 338, 688, 688, 95, 339, 95, 688, 95,
952 688, 95, 688, 95, 688, 95, 95, 95, 95, 95,
953 688, 340, 688, 688, 95, 688, 95, 688, 341, 688,
954 95, 95, 342, 688, 343, 95, 688, 95, 688, 688,
955 688, 95, 688, 95, 688, 95, 688, 95, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +0000956
vlm2c8c44d2005-03-24 16:22:35 +0000957 95, 95, 688, 688, 95, 688, 95, 688, 95, 688,
958 95, 688, 95, 688, 95, 688, 95, 95, 95, 95,
959 95, 688, 347, 95, 688, 688, 348, 688, 688, 95,
960 95, 95, 95, 95, 95, 95, 349, 688, 95, 95,
961 351, 95, 346, 688, 688, 95, 688, 95, 688, 95,
962 688, 95, 688, 95, 350, 95, 95, 352, 688, 355,
963 95, 353, 688, 688, 688, 688, 95, 688, 95, 95,
964 95, 688, 354, 688, 688, 95, 688, 95, 688, 95,
965 688, 95, 688, 95, 688, 95, 688, 95, 95, 95,
966 688, 95, 688, 688, 356, 95, 95, 95, 688, 95,
vlmfa67ddc2004-06-03 03:38:44 +0000967
vlm2c8c44d2005-03-24 16:22:35 +0000968 95, 358, 688, 95, 95, 688, 688, 688, 688, 688,
969 95, 688, 95, 95, 95, 95, 95, 95, 688, 95,
970 688, 359, 95, 363, 95, 688, 95, 362, 95, 360,
971 95, 688, 688, 688, 95, 95, 95, 688, 95, 95,
972 688, 688, 95, 95, 688, 364, 688, 688, 688, 95,
973 688, 95, 95, 95, 95, 688, 95, 95, 95, 365,
974 95, 95, 688, 95, 688, 688, 688, 95, 688, 95,
975 95, 95, 95, 95, 95, 95, 95, 95, 688, 95,
976 95, 367, 95, 368, 688, 688, 95, 688, 688, 688,
977 95, 688, 95, 688, 95, 688, 95, 95, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +0000978
vlm2c8c44d2005-03-24 16:22:35 +0000979 95, 688, 370, 95, 688, 95, 688, 95, 688, 369,
980 688, 95, 688, 95, 95, 95, 95, 95, 688, 688,
981 95, 372, 95, 688, 95, 688, 95, 688, 95, 688,
982 95, 95, 95, 95, 95, 688, 688, 95, 688, 95,
983 688, 95, 688, 95, 688, 95, 688, 95, 688, 95,
984 95, 95, 95, 95, 688, 688, 95, 688, 371, 688,
985 688, 688, 95, 95, 374, 95, 95, 95, 688, 95,
986 95, 95, 375, 376, 688, 688, 688, 688, 688, 95,
987 95, 95, 95, 95, 95, 688, 95, 95, 95, 95,
988 688, 688, 688, 688, 688, 688, 95, 95, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +0000989
vlm2c8c44d2005-03-24 16:22:35 +0000990 95, 95, 688, 378, 377, 95, 95, 316, 316, 316,
991 688, 688, 688, 688, 688, 318, 318, 318, 688, 688,
992 317, 317, 317, 317, 317, 317, 317, 317, 319, 319,
993 319, 319, 319, 319, 319, 319, 383, 688, 95, 688,
994 319, 319, 319, 319, 319, 319, 319, 319, 95, 688,
995 95, 688, 95, 95, 387, 688, 386, 95, 388, 95,
996 688, 688, 688, 95, 688, 95, 688, 95, 688, 95,
997 95, 95, 95, 95, 688, 390, 95, 688, 95, 688,
998 95, 688, 95, 688, 95, 688, 95, 688, 95, 95,
999 95, 95, 391, 688, 95, 95, 688, 392, 688, 688,
vlmfa67ddc2004-06-03 03:38:44 +00001000
vlm2c8c44d2005-03-24 16:22:35 +00001001 688, 95, 95, 95, 95, 95, 95, 688, 95, 688,
1002 95, 688, 95, 95, 95, 95, 95, 688, 688, 688,
1003 688, 95, 688, 95, 688, 95, 688, 393, 688, 95,
1004 688, 95, 688, 95, 95, 95, 688, 95, 395, 394,
1005 688, 95, 95, 95, 95, 95, 688, 688, 688, 688,
1006 95, 688, 95, 688, 396, 397, 95, 688, 95, 398,
1007 688, 688, 95, 95, 95, 95, 95, 399, 688, 688,
1008 688, 95, 688, 95, 688, 95, 400, 95, 688, 95,
1009 401, 95, 688, 95, 95, 95, 688, 95, 688, 95,
1010 688, 95, 95, 95, 688, 95, 688, 402, 688, 95,
vlmfa67ddc2004-06-03 03:38:44 +00001011
vlm2c8c44d2005-03-24 16:22:35 +00001012 95, 95, 688, 95, 95, 404, 688, 403, 95, 688,
1013 95, 688, 688, 688, 95, 688, 95, 688, 95, 688,
1014 95, 95, 95, 95, 95, 688, 688, 95, 405, 95,
1015 688, 95, 688, 95, 688, 95, 688, 95, 406, 407,
1016 95, 95, 95, 95, 688, 688, 95, 688, 688, 688,
1017 411, 688, 95, 95, 95, 95, 95, 95, 688, 688,
1018 95, 95, 95, 95, 412, 688, 413, 688, 688, 688,
1019 95, 688, 95, 95, 95, 95, 688, 95, 414, 95,
1020 95, 95, 95, 415, 688, 688, 688, 688, 688, 688,
1021 95, 95, 416, 95, 95, 95, 95, 688, 688, 95,
vlmfa67ddc2004-06-03 03:38:44 +00001022
vlm2c8c44d2005-03-24 16:22:35 +00001023 95, 688, 95, 688, 688, 418, 95, 688, 95, 688,
1024 95, 420, 95, 95, 95, 417, 95, 688, 421, 95,
1025 688, 95, 688, 95, 688, 95, 688, 95, 688, 95,
1026 419, 95, 95, 95, 95, 688, 688, 95, 95, 688,
1027 95, 688, 688, 688, 95, 688, 95, 95, 95, 95,
1028 95, 95, 95, 95, 95, 423, 95, 95, 95, 95,
1029 688, 688, 688, 688, 688, 688, 688, 95, 95, 424,
1030 95, 95, 95, 95, 426, 688, 95, 95, 688, 95,
1031 427, 688, 688, 95, 688, 95, 688, 95, 688, 95,
1032 95, 428, 95, 95, 688, 688, 688, 688, 95, 688,
vlmfa67ddc2004-06-03 03:38:44 +00001033
vlm2c8c44d2005-03-24 16:22:35 +00001034 95, 688, 95, 95, 95, 688, 95, 688, 429, 95,
1035 431, 688, 688, 95, 95, 95, 95, 95, 432, 433,
1036 95, 688, 95, 688, 95, 95, 95, 95, 95, 688,
1037 688, 688, 688, 95, 688, 688, 688, 95, 95, 95,
1038 688, 95, 688, 688, 95, 436, 95, 688, 95, 434,
1039 95, 688, 95, 688, 95, 688, 95, 95, 95, 95,
1040 95, 688, 438, 95, 688, 688, 688, 688, 688, 95,
1041 95, 95, 95, 95, 95, 95, 439, 688, 95, 95,
1042 688, 688, 445, 445, 445, 95, 688, 95, 688, 95,
1043 688, 688, 688, 95, 95, 446, 446, 446, 446, 446,
vlmfa67ddc2004-06-03 03:38:44 +00001044
vlm2c8c44d2005-03-24 16:22:35 +00001045 446, 446, 446, 95, 688, 95, 688, 95, 688, 448,
1046 95, 688, 95, 95, 688, 688, 95, 688, 688, 441,
1047 95, 688, 95, 95, 95, 95, 95, 95, 451, 95,
1048 95, 449, 95, 95, 95, 95, 688, 688, 688, 688,
1049 688, 688, 688, 95, 95, 95, 95, 95, 95, 688,
1050 688, 452, 95, 95, 95, 688, 688, 453, 688, 454,
1051 95, 688, 688, 688, 95, 688, 95, 688, 95, 688,
1052 95, 95, 95, 95, 95, 688, 688, 95, 688, 95,
1053 688, 95, 688, 455, 688, 95, 688, 95, 688, 95,
1054 95, 95, 95, 688, 457, 456, 95, 688, 95, 688,
vlmfa67ddc2004-06-03 03:38:44 +00001055
vlm2c8c44d2005-03-24 16:22:35 +00001056 688, 688, 95, 688, 95, 688, 95, 688, 95, 688,
1057 95, 95, 95, 688, 688, 95, 458, 95, 459, 688,
1058 688, 95, 688, 460, 688, 95, 688, 95, 688, 95,
1059 688, 95, 95, 95, 95, 95, 688, 462, 95, 688,
1060 95, 688, 95, 688, 461, 688, 95, 688, 95, 95,
1061 95, 95, 95, 688, 688, 95, 688, 95, 688, 95,
1062 688, 95, 463, 95, 688, 95, 95, 95, 95, 95,
1063 688, 688, 95, 688, 95, 688, 95, 688, 95, 465,
1064 95, 688, 95, 464, 95, 95, 95, 466, 95, 95,
1065 688, 95, 688, 470, 688, 688, 688, 688, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +00001066
vlm2c8c44d2005-03-24 16:22:35 +00001067 95, 95, 95, 95, 95, 688, 688, 95, 95, 688,
1068 95, 471, 472, 688, 95, 688, 95, 688, 95, 688,
1069 95, 95, 95, 95, 95, 688, 688, 95, 688, 95,
1070 474, 95, 688, 95, 688, 95, 688, 95, 473, 95,
1071 95, 95, 95, 475, 688, 688, 95, 688, 95, 476,
1072 688, 688, 95, 688, 95, 688, 95, 688, 95, 95,
1073 95, 95, 95, 688, 688, 688, 688, 95, 688, 95,
1074 688, 95, 688, 95, 95, 477, 688, 478, 95, 688,
1075 95, 688, 688, 688, 95, 688, 95, 688, 95, 688,
1076 95, 95, 95, 95, 95, 688, 688, 479, 480, 95,
vlmfa67ddc2004-06-03 03:38:44 +00001077
vlm2c8c44d2005-03-24 16:22:35 +00001078 688, 95, 95, 95, 688, 95, 688, 482, 95, 688,
1079 95, 688, 95, 688, 95, 688, 95, 688, 95, 95,
1080 95, 95, 95, 688, 688, 95, 688, 95, 688, 95,
1081 688, 484, 688, 95, 688, 95, 95, 485, 95, 95,
1082 688, 688, 688, 688, 95, 688, 95, 688, 95, 95,
1083 95, 688, 487, 688, 486, 95, 688, 95, 688, 95,
1084 688, 95, 688, 95, 688, 688, 688, 95, 95, 95,
1085 688, 95, 95, 490, 688, 95, 95, 489, 95, 688,
1086 688, 688, 95, 688, 95, 95, 95, 95, 95, 95,
1087 95, 95, 95, 95, 95, 492, 95, 95, 688, 95,
vlmfa67ddc2004-06-03 03:38:44 +00001088
vlm2c8c44d2005-03-24 16:22:35 +00001089 688, 688, 688, 95, 688, 95, 95, 95, 95, 95,
1090 95, 95, 95, 95, 688, 95, 494, 688, 95, 445,
1091 445, 445, 688, 688, 688, 688, 688, 688, 688, 688,
1092 688, 688, 446, 446, 446, 446, 446, 446, 446, 446,
1093 500, 688, 95, 688, 446, 446, 446, 446, 446, 446,
1094 446, 446, 95, 688, 95, 95, 95, 688, 95, 688,
1095 502, 95, 503, 688, 688, 95, 688, 95, 95, 95,
1096 95, 688, 95, 95, 95, 688, 505, 95, 688, 95,
1097 688, 688, 688, 95, 688, 95, 688, 95, 688, 95,
1098 95, 506, 95, 95, 688, 688, 95, 507, 95, 688,
vlmfa67ddc2004-06-03 03:38:44 +00001099
vlm2c8c44d2005-03-24 16:22:35 +00001100 95, 688, 95, 508, 95, 688, 95, 95, 95, 95,
1101 95, 688, 688, 95, 688, 95, 688, 95, 688, 95,
1102 688, 95, 688, 95, 95, 95, 95, 95, 688, 688,
1103 688, 509, 95, 688, 95, 95, 95, 510, 95, 688,
1104 688, 95, 688, 95, 688, 95, 688, 95, 688, 95,
1105 688, 95, 95, 95, 95, 95, 688, 511, 95, 688,
1106 95, 688, 95, 688, 95, 688, 95, 688, 95, 95,
1107 95, 95, 95, 688, 688, 688, 512, 95, 688, 95,
1108 95, 95, 688, 95, 688, 688, 514, 513, 95, 688,
1109 95, 688, 95, 688, 95, 688, 95, 95, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +00001110
vlm2c8c44d2005-03-24 16:22:35 +00001111 95, 688, 688, 95, 688, 95, 688, 515, 688, 95,
1112 520, 95, 688, 95, 95, 95, 95, 95, 688, 688,
1113 688, 688, 95, 688, 95, 95, 95, 688, 95, 688,
1114 688, 95, 521, 95, 688, 95, 688, 95, 688, 95,
1115 688, 95, 95, 95, 95, 95, 688, 688, 95, 688,
1116 95, 523, 95, 688, 95, 688, 95, 688, 95, 522,
1117 95, 95, 95, 95, 95, 688, 688, 95, 688, 688,
1118 688, 688, 688, 95, 95, 95, 95, 95, 95, 95,
1119 525, 524, 95, 95, 688, 95, 688, 688, 688, 95,
1120 688, 95, 688, 95, 688, 95, 95, 95, 95, 95,
vlmfa67ddc2004-06-03 03:38:44 +00001121
vlm2c8c44d2005-03-24 16:22:35 +00001122 688, 688, 95, 688, 95, 688, 95, 688, 527, 688,
1123 95, 688, 529, 95, 95, 95, 95, 688, 688, 688,
1124 688, 95, 688, 95, 95, 95, 688, 95, 531, 526,
1125 95, 688, 95, 688, 95, 688, 95, 688, 95, 688,
1126 95, 95, 95, 95, 95, 688, 688, 95, 688, 95,
1127 533, 95, 688, 95, 688, 95, 688, 95, 688, 95,
1128 95, 95, 95, 688, 688, 534, 95, 688, 95, 688,
1129 688, 536, 95, 688, 95, 688, 95, 688, 95, 688,
1130 95, 95, 95, 538, 95, 688, 688, 95, 688, 688,
1131 688, 543, 543, 543, 95, 688, 95, 688, 95, 688,
vlmfa67ddc2004-06-03 03:38:44 +00001132
vlm2c8c44d2005-03-24 16:22:35 +00001133 688, 688, 688, 95, 544, 544, 544, 544, 544, 544,
1134 544, 544, 95, 95, 547, 688, 688, 688, 688, 546,
1135 688, 688, 95, 95, 95, 95, 95, 95, 95, 688,
1136 688, 95, 95, 688, 688, 688, 95, 688, 95, 95,
1137 95, 688, 95, 688, 549, 688, 95, 95, 95, 95,
1138 95, 551, 95, 95, 550, 95, 688, 688, 95, 688,
1139 95, 688, 95, 688, 552, 554, 95, 688, 95, 688,
1140 95, 95, 95, 553, 95, 688, 688, 688, 95, 95,
1141 95, 95, 95, 688, 688, 688, 688, 95, 688, 95,
1142 688, 95, 555, 95, 688, 95, 688, 95, 688, 95,
vlmfa67ddc2004-06-03 03:38:44 +00001143
vlm2c8c44d2005-03-24 16:22:35 +00001144 95, 95, 688, 95, 688, 95, 688, 95, 95, 95,
1145 688, 95, 556, 95, 688, 95, 95, 95, 688, 95,
1146 688, 688, 688, 95, 95, 95, 95, 95, 688, 561,
1147 688, 688, 95, 688, 95, 688, 95, 95, 95, 688,
1148 95, 688, 688, 688, 95, 95, 95, 95, 95, 95,
1149 95, 95, 688, 95, 688, 688, 95, 688, 95, 688,
1150 95, 95, 95, 688, 95, 562, 688, 688, 95, 95,
1151 95, 95, 95, 95, 95, 95, 688, 95, 565, 563,
1152 95, 688, 95, 688, 95, 688, 95, 570, 95, 688,
1153 95, 688, 95, 95, 95, 688, 95, 568, 688, 688,
vlmfa67ddc2004-06-03 03:38:44 +00001154
vlm2c8c44d2005-03-24 16:22:35 +00001155 95, 95, 95, 95, 95, 688, 95, 688, 688, 95,
1156 688, 688, 688, 95, 95, 95, 95, 95, 95, 688,
1157 95, 688, 95, 688, 95, 95, 572, 95, 95, 688,
1158 688, 688, 688, 95, 543, 543, 543, 574, 688, 95,
1159 688, 95, 688, 688, 688, 95, 95, 544, 544, 544,
1160 544, 544, 544, 544, 544, 95, 95, 95, 582, 95,
1161 688, 688, 95, 688, 95, 688, 95, 688, 95, 688,
1162 95, 688, 95, 95, 95, 95, 95, 688, 688, 95,
1163 688, 95, 584, 95, 688, 95, 688, 95, 688, 95,
1164 583, 95, 95, 95, 95, 95, 688, 688, 95, 585,
vlmfa67ddc2004-06-03 03:38:44 +00001165
vlm2c8c44d2005-03-24 16:22:35 +00001166 688, 688, 688, 688, 95, 95, 95, 586, 95, 95,
1167 95, 587, 688, 95, 95, 688, 95, 688, 588, 688,
1168 95, 688, 95, 688, 95, 688, 95, 95, 95, 95,
1169 95, 688, 688, 95, 688, 95, 688, 589, 688, 95,
1170 688, 95, 688, 95, 95, 95, 95, 95, 688, 593,
1171 688, 688, 95, 688, 95, 95, 95, 594, 95, 688,
1172 688, 95, 595, 95, 688, 95, 688, 95, 597, 95,
1173 688, 95, 95, 95, 95, 95, 688, 688, 688, 688,
1174 95, 688, 95, 95, 600, 688, 95, 688, 688, 95,
1175 688, 95, 688, 95, 688, 95, 602, 95, 688, 95,
vlmfa67ddc2004-06-03 03:38:44 +00001176
vlm2c8c44d2005-03-24 16:22:35 +00001177 95, 95, 95, 95, 688, 688, 95, 603, 95, 688,
1178 95, 688, 95, 688, 95, 688, 95, 95, 610, 95,
1179 95, 688, 688, 688, 688, 95, 688, 95, 95, 95,
1180 611, 95, 688, 688, 95, 688, 95, 688, 95, 688,
1181 95, 688, 95, 688, 95, 95, 95, 95, 95, 688,
1182 688, 688, 688, 95, 688, 95, 95, 95, 688, 95,
1183 688, 688, 612, 688, 95, 688, 95, 95, 95, 613,
1184 95, 688, 688, 95, 688, 95, 688, 95, 688, 95,
1185 614, 95, 688, 95, 95, 95, 95, 95, 688, 688,
1186 95, 688, 95, 688, 95, 688, 95, 688, 95, 688,
vlmfa67ddc2004-06-03 03:38:44 +00001187
vlm2c8c44d2005-03-24 16:22:35 +00001188 95, 95, 618, 95, 95, 688, 688, 95, 688, 95,
1189 688, 95, 688, 95, 619, 95, 688, 95, 95, 621,
1190 95, 95, 688, 688, 95, 624, 95, 688, 95, 688,
1191 95, 626, 95, 688, 95, 95, 95, 95, 95, 688,
1192 688, 95, 627, 95, 688, 95, 688, 95, 688, 95,
1193 688, 95, 95, 95, 95, 95, 688, 688, 95, 688,
1194 95, 688, 95, 688, 95, 688, 95, 688, 95, 95,
1195 95, 95, 95, 688, 688, 95, 688, 95, 688, 95,
1196 688, 633, 688, 95, 688, 95, 95, 95, 95, 95,
1197 688, 688, 95, 634, 95, 688, 95, 688, 95, 688,
vlmfa67ddc2004-06-03 03:38:44 +00001198
vlm2c8c44d2005-03-24 16:22:35 +00001199 95, 688, 95, 638, 639, 95, 95, 95, 688, 688,
1200 95, 95, 688, 95, 641, 646, 688, 95, 688, 95,
1201 95, 95, 95, 95, 95, 95, 95, 95, 644, 95,
1202 95, 688, 95, 95, 647, 688, 95, 688, 688, 688,
1203 95, 688, 95, 95, 95, 95, 95, 95, 95, 95,
1204 95, 653, 95, 95, 95, 95, 688, 688, 688, 654,
1205 688, 688, 688, 95, 95, 95, 95, 95, 95, 95,
1206 95, 688, 95, 95, 688, 688, 688, 688, 688, 95,
1207 95, 95, 95, 95, 95, 95, 688, 658, 95, 95,
1208 688, 95, 688, 661, 688, 95, 688, 95, 663, 95,
vlmfa67ddc2004-06-03 03:38:44 +00001209
vlm2c8c44d2005-03-24 16:22:35 +00001210 688, 95, 95, 95, 95, 95, 688, 688, 688, 688,
1211 95, 688, 95, 95, 95, 688, 95, 688, 669, 95,
1212 688, 95, 688, 95, 688, 95, 688, 95, 688, 95,
1213 688, 95, 95, 95, 95, 688, 688, 95, 95, 688,
1214 674, 688, 671, 688, 95, 95, 95, 95, 95, 95,
1215 688, 95, 688, 95, 688, 95, 95, 95, 678, 95,
1216 95, 95, 688, 688, 95, 688, 688, 688, 688, 688,
1217 95, 95, 95, 95, 95, 95, 95, 682, 688, 95,
1218 95, 688, 95, 688, 688, 688, 685, 688, 95, 688,
1219 95, 688, 95, 95, 95, 95, 95, 688, 688, 688,
vlm9283dbe2004-08-18 04:59:12 +00001220
vlm2c8c44d2005-03-24 16:22:35 +00001221 688, 95, 688, 95, 688, 95, 688, 95, 688, 688,
1222 688, 688, 95, 52, 52, 52, 52, 52, 52, 52,
1223 52, 52, 52, 52, 52, 52, 52, 56, 56, 56,
1224 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1225 56, 60, 60, 60, 60, 60, 60, 60, 60, 60,
1226 60, 60, 60, 60, 60, 63, 63, 63, 63, 63,
1227 63, 63, 63, 63, 63, 63, 63, 63, 63, 72,
1228 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1229 72, 72, 72, 74, 74, 74, 74, 74, 74, 74,
1230 74, 74, 74, 74, 74, 74, 74, 81, 81, 81,
1231
1232 688, 81, 81, 81, 81, 81, 81, 81, 81, 81,
1233 81, 88, 88, 688, 688, 88, 688, 688, 88, 688,
1234 88, 152, 152, 688, 152, 152, 156, 156, 688, 156,
1235 156, 156, 156, 688, 156, 156, 156, 156, 156, 156,
1236 159, 159, 159, 688, 159, 159, 159, 159, 159, 159,
1237 159, 159, 159, 159, 161, 161, 161, 161, 161, 161,
1238 161, 161, 161, 688, 161, 161, 163, 688, 688, 163,
1239 163, 163, 163, 163, 163, 163, 163, 163, 164, 688,
1240 688, 164, 164, 164, 164, 164, 164, 164, 164, 164,
1241 166, 688, 688, 166, 688, 166, 166, 166, 166, 166,
1242
1243 166, 166, 170, 170, 688, 170, 170, 171, 171, 688,
1244 171, 171, 101, 101, 688, 101, 101, 317, 317, 688,
1245 688, 688, 317, 688, 317, 688, 688, 688, 688, 317,
1246 544, 544, 688, 688, 688, 688, 688, 544, 688, 688,
1247 688, 688, 544, 15, 688, 688, 688, 688, 688, 688,
1248 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1249 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1250 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1251 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1252 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1253
1254 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1255 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1256 688, 688, 688
vlmfa67ddc2004-06-03 03:38:44 +00001257 } ;
1258
vlm2c8c44d2005-03-24 16:22:35 +00001259static yyconst short int yy_chk[4624] =
vlmfa67ddc2004-06-03 03:38:44 +00001260 { 0,
1261 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1262 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1263 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1264 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1265 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1266 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1267 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
vlm2c8c44d2005-03-24 16:22:35 +00001268 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1269 3, 4, 4, 7, 5, 6, 7, 9, 3, 150,
1270 4, 5, 6, 10, 8, 5, 6, 8, 17, 17,
vlmfa67ddc2004-06-03 03:38:44 +00001271
vlm2c8c44d2005-03-24 16:22:35 +00001272 17, 26, 150, 26, 17, 172, 684, 9, 246, 246,
1273 9, 172, 385, 10, 77, 320, 10, 385, 18, 18,
1274 18, 13, 13, 13, 18, 320, 13, 14, 14, 14,
1275 77, 680, 14, 22, 22, 22, 75, 75, 75, 22,
1276 24, 76, 76, 76, 24, 38, 22, 22, 24, 24,
1277 24, 24, 24, 24, 24, 38, 677, 38, 501, 38,
1278 77, 9, 675, 9, 38, 501, 673, 10, 672, 10,
vlm2728a8d2005-01-23 09:51:44 +00001279 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
vlm2c8c44d2005-03-24 16:22:35 +00001280 11, 11, 11, 11, 28, 28, 28, 28, 28, 28,
1281 28, 28, 11, 11, 11, 11, 13, 85, 13, 670,
vlmfa67ddc2004-06-03 03:38:44 +00001282
vlm2c8c44d2005-03-24 16:22:35 +00001283 11, 545, 14, 467, 14, 32, 668, 666, 32, 80,
1284 80, 80, 32, 665, 662, 32, 32, 32, 32, 32,
1285 33, 467, 11, 11, 32, 660, 33, 85, 32, 545,
1286 33, 656, 33, 33, 33, 167, 167, 167, 652, 33,
1287 382, 382, 382, 651, 650, 649, 11, 11, 11, 12,
1288 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
1289 12, 12, 12, 648, 165, 165, 34, 645, 643, 34,
1290 642, 12, 12, 12, 12, 165, 34, 35, 34, 12,
1291 34, 637, 636, 635, 632, 34, 631, 35, 35, 35,
1292 630, 35, 36, 36, 629, 628, 35, 625, 623, 35,
vlmfa67ddc2004-06-03 03:38:44 +00001293
vlm2c8c44d2005-03-24 16:22:35 +00001294 622, 12, 12, 36, 37, 36, 620, 36, 617, 36,
1295 616, 615, 36, 609, 37, 608, 37, 382, 37, 39,
1296 39, 607, 39, 37, 606, 12, 12, 12, 21, 604,
1297 39, 39, 39, 601, 39, 37, 599, 39, 598, 39,
1298 596, 592, 591, 590, 21, 581, 37, 21, 21, 21,
vlm9283dbe2004-08-18 04:59:12 +00001299 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1300 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
vlm2c8c44d2005-03-24 16:22:35 +00001301 21, 21, 21, 578, 21, 21, 21, 21, 21, 21,
vlm9283dbe2004-08-18 04:59:12 +00001302 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
vlm2c8c44d2005-03-24 16:22:35 +00001303 21, 21, 21, 21, 21, 21, 21, 31, 577, 576,
vlmfa67ddc2004-06-03 03:38:44 +00001304
vlm2c8c44d2005-03-24 16:22:35 +00001305 31, 31, 31, 31, 31, 31, 31, 31, 575, 573,
1306 569, 567, 31, 31, 31, 31, 31, 31, 31, 31,
1307 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1308 31, 31, 31, 31, 31, 31, 31, 31, 566, 564,
vlm9283dbe2004-08-18 04:59:12 +00001309 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1310 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlm2c8c44d2005-03-24 16:22:35 +00001311 31, 31, 40, 40, 41, 559, 558, 544, 544, 544,
1312 40, 557, 542, 40, 41, 40, 41, 40, 41, 541,
1313 42, 42, 40, 41, 42, 43, 43, 540, 43, 539,
1314 42, 537, 42, 535, 42, 532, 43, 530, 43, 42,
vlmfa67ddc2004-06-03 03:38:44 +00001315
vlm2c8c44d2005-03-24 16:22:35 +00001316 43, 44, 43, 528, 44, 43, 526, 45, 42, 41,
1317 45, 44, 519, 44, 45, 44, 46, 45, 518, 45,
1318 44, 45, 517, 46, 46, 45, 45, 47, 43, 516,
1319 45, 579, 579, 579, 46, 504, 46, 47, 46, 47,
1320 46, 47, 48, 46, 544, 47, 47, 46, 499, 498,
1321 49, 497, 48, 496, 48, 46, 48, 49, 493, 491,
1322 49, 48, 49, 488, 49, 483, 47, 481, 469, 49,
1323 51, 51, 51, 468, 450, 447, 444, 48, 443, 442,
1324 441, 440, 437, 51, 51, 51, 51, 51, 51, 51,
1325 51, 72, 435, 430, 425, 72, 72, 72, 72, 72,
vlmfa67ddc2004-06-03 03:38:44 +00001326
vlm2c8c44d2005-03-24 16:22:35 +00001327 72, 72, 72, 72, 72, 87, 87, 87, 579, 422,
1328 410, 87, 409, 72, 72, 72, 72, 408, 87, 87,
1329 90, 90, 90, 90, 90, 90, 90, 90, 93, 93,
1330 93, 93, 93, 93, 93, 93, 95, 96, 389, 381,
1331 380, 379, 377, 72, 72, 373, 95, 96, 95, 96,
1332 95, 96, 97, 99, 96, 95, 96, 371, 366, 361,
1333 357, 346, 97, 99, 97, 99, 97, 99, 72, 73,
1334 345, 97, 99, 73, 73, 73, 73, 73, 73, 73,
1335 73, 73, 73, 344, 325, 100, 98, 314, 313, 312,
1336 306, 73, 73, 73, 73, 100, 98, 100, 98, 100,
vlmfa67ddc2004-06-03 03:38:44 +00001337
vlm2c8c44d2005-03-24 16:22:35 +00001338 98, 102, 295, 100, 100, 98, 102, 290, 73, 98,
1339 286, 102, 275, 102, 103, 102, 274, 104, 248, 247,
1340 102, 73, 73, 241, 103, 105, 103, 104, 103, 104,
1341 240, 104, 103, 103, 239, 105, 104, 105, 105, 105,
1342 106, 235, 107, 107, 105, 223, 73, 217, 213, 202,
1343 106, 201, 106, 107, 106, 107, 107, 107, 109, 106,
1344 108, 108, 107, 173, 169, 164, 162, 149, 109, 109,
1345 109, 108, 109, 108, 110, 108, 146, 109, 110, 136,
1346 108, 131, 111, 126, 110, 117, 110, 116, 110, 94,
1347 91, 88, 111, 110, 111, 83, 111, 112, 112, 112,
vlmfa67ddc2004-06-03 03:38:44 +00001348
vlm2c8c44d2005-03-24 16:22:35 +00001349 114, 111, 82, 113, 113, 79, 65, 112, 62, 112,
1350 114, 112, 114, 113, 114, 113, 112, 113, 115, 114,
1351 118, 113, 113, 59, 58, 317, 317, 317, 115, 118,
1352 115, 115, 115, 55, 317, 119, 29, 115, 119, 118,
1353 25, 118, 20, 118, 19, 119, 120, 119, 118, 119,
1354 16, 15, 121, 121, 119, 0, 120, 0, 120, 0,
1355 120, 0, 121, 122, 121, 120, 121, 0, 0, 121,
1356 121, 121, 0, 122, 123, 122, 122, 122, 0, 0,
1357 124, 0, 122, 0, 123, 0, 123, 0, 123, 0,
1358 124, 125, 124, 123, 124, 0, 123, 0, 0, 124,
vlmfa67ddc2004-06-03 03:38:44 +00001359
vlm2c8c44d2005-03-24 16:22:35 +00001360 0, 125, 317, 125, 127, 125, 0, 128, 0, 0,
1361 125, 0, 127, 0, 127, 0, 127, 128, 127, 128,
1362 129, 128, 0, 127, 0, 128, 128, 0, 130, 0,
1363 129, 132, 129, 0, 129, 0, 0, 0, 130, 129,
1364 130, 132, 130, 132, 133, 132, 130, 130, 0, 132,
1365 132, 0, 0, 0, 133, 134, 133, 0, 133, 0,
1366 0, 0, 0, 133, 133, 134, 0, 134, 135, 134,
1367 0, 135, 0, 0, 134, 135, 0, 0, 135, 0,
1368 135, 0, 135, 137, 137, 0, 0, 135, 0, 0,
1369 138, 0, 0, 0, 137, 0, 137, 0, 137, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001370
vlm2c8c44d2005-03-24 16:22:35 +00001371 138, 139, 138, 137, 138, 138, 0, 140, 138, 138,
1372 0, 139, 142, 139, 0, 139, 0, 140, 141, 140,
1373 139, 140, 0, 140, 142, 139, 140, 0, 141, 0,
1374 141, 0, 141, 0, 142, 143, 142, 141, 142, 0,
1375 143, 144, 0, 142, 0, 143, 0, 143, 0, 143,
1376 0, 144, 145, 144, 143, 144, 0, 0, 147, 0,
1377 144, 0, 145, 0, 145, 147, 145, 0, 147, 0,
1378 147, 145, 147, 151, 148, 148, 0, 147, 148, 0,
1379 0, 0, 0, 151, 148, 151, 148, 151, 148, 0,
1380 0, 151, 151, 148, 153, 153, 153, 174, 174, 174,
vlmfa67ddc2004-06-03 03:38:44 +00001381
vlm2c8c44d2005-03-24 16:22:35 +00001382 174, 174, 174, 174, 174, 0, 0, 153, 153, 153,
1383 153, 153, 153, 153, 153, 154, 0, 0, 0, 154,
1384 154, 154, 154, 154, 154, 154, 154, 155, 0, 0,
1385 0, 155, 155, 155, 155, 155, 155, 155, 155, 177,
1386 178, 0, 177, 0, 0, 0, 0, 0, 0, 177,
1387 178, 177, 178, 177, 178, 179, 180, 0, 177, 178,
1388 0, 0, 0, 0, 0, 179, 180, 179, 180, 179,
1389 180, 181, 0, 0, 179, 180, 0, 0, 0, 182,
1390 0, 181, 183, 181, 181, 181, 182, 0, 0, 182,
1391 181, 182, 183, 182, 183, 184, 183, 0, 182, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001392
vlm2c8c44d2005-03-24 16:22:35 +00001393 0, 183, 0, 185, 0, 184, 0, 184, 0, 184,
1394 0, 186, 184, 185, 184, 185, 0, 185, 0, 187,
1395 0, 186, 185, 186, 0, 186, 187, 186, 0, 187,
1396 186, 187, 188, 187, 0, 0, 0, 0, 187, 0,
1397 189, 0, 188, 190, 188, 0, 188, 0, 0, 188,
1398 189, 188, 189, 190, 189, 190, 0, 190, 0, 189,
1399 190, 190, 190, 191, 191, 192, 0, 0, 192, 0,
1400 0, 191, 0, 0, 191, 192, 191, 192, 191, 192,
1401 193, 0, 0, 191, 192, 0, 194, 0, 0, 0,
1402 193, 0, 193, 193, 193, 0, 194, 195, 194, 193,
vlmfa67ddc2004-06-03 03:38:44 +00001403
vlm2c8c44d2005-03-24 16:22:35 +00001404 194, 0, 0, 196, 0, 194, 196, 195, 195, 195,
1405 0, 195, 0, 196, 197, 196, 195, 196, 0, 0,
1406 198, 0, 196, 198, 197, 0, 197, 197, 197, 0,
1407 198, 199, 198, 197, 198, 0, 0, 0, 0, 198,
1408 0, 199, 200, 199, 0, 199, 0, 0, 199, 0,
1409 199, 0, 200, 200, 200, 203, 200, 0, 0, 0,
1410 0, 200, 0, 204, 0, 203, 205, 203, 0, 203,
1411 0, 0, 203, 204, 203, 204, 205, 204, 205, 205,
1412 205, 206, 204, 0, 207, 205, 0, 208, 0, 0,
1413 208, 206, 0, 206, 207, 206, 207, 208, 207, 208,
vlmfa67ddc2004-06-03 03:38:44 +00001414
vlm2c8c44d2005-03-24 16:22:35 +00001415 206, 208, 207, 207, 209, 0, 208, 0, 0, 210,
1416 0, 0, 209, 0, 0, 211, 0, 0, 0, 210,
1417 0, 210, 209, 210, 209, 211, 209, 211, 210, 211,
1418 212, 209, 0, 214, 211, 0, 214, 0, 0, 0,
1419 212, 0, 212, 214, 212, 214, 0, 214, 215, 212,
1420 0, 215, 214, 0, 216, 0, 0, 0, 215, 0,
1421 215, 216, 215, 0, 216, 218, 216, 215, 216, 0,
1422 0, 0, 0, 216, 0, 218, 219, 218, 0, 218,
1423 0, 0, 220, 218, 218, 0, 219, 0, 219, 0,
1424 219, 0, 220, 221, 220, 219, 220, 0, 0, 220,
vlmfa67ddc2004-06-03 03:38:44 +00001425
vlm2c8c44d2005-03-24 16:22:35 +00001426 0, 220, 0, 221, 222, 221, 0, 221, 0, 0,
1427 221, 0, 221, 0, 222, 224, 222, 0, 222, 0,
1428 225, 225, 0, 222, 222, 224, 0, 224, 0, 224,
1429 0, 225, 226, 225, 224, 225, 0, 0, 227, 0,
1430 225, 0, 226, 0, 226, 0, 226, 0, 227, 0,
1431 227, 226, 227, 228, 229, 0, 228, 227, 0, 0,
1432 0, 229, 0, 228, 229, 228, 229, 228, 229, 230,
1433 0, 0, 228, 229, 0, 0, 0, 0, 0, 230,
1434 231, 230, 0, 230, 0, 0, 232, 230, 230, 0,
1435 231, 0, 231, 0, 231, 0, 232, 231, 232, 231,
vlmfa67ddc2004-06-03 03:38:44 +00001436
vlm2c8c44d2005-03-24 16:22:35 +00001437 232, 233, 0, 232, 233, 232, 0, 234, 0, 0,
1438 234, 233, 0, 233, 0, 233, 0, 234, 236, 234,
1439 233, 234, 0, 0, 0, 0, 234, 0, 236, 237,
1440 236, 236, 236, 236, 0, 238, 0, 236, 236, 237,
1441 0, 237, 238, 237, 0, 242, 0, 237, 237, 0,
1442 0, 242, 238, 0, 238, 242, 238, 242, 251, 242,
1443 0, 238, 0, 0, 242, 243, 243, 243, 251, 0,
1444 251, 0, 251, 244, 244, 244, 0, 251, 243, 243,
1445 243, 243, 243, 243, 243, 243, 244, 244, 244, 244,
1446 244, 244, 244, 244, 252, 0, 0, 0, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001447
vlm2c8c44d2005-03-24 16:22:35 +00001448 253, 252, 0, 0, 252, 0, 252, 0, 252, 0,
1449 253, 253, 253, 252, 253, 254, 255, 0, 0, 253,
1450 0, 0, 0, 0, 0, 254, 255, 254, 255, 254,
1451 255, 257, 257, 256, 254, 255, 256, 0, 0, 0,
1452 0, 0, 257, 256, 257, 256, 257, 256, 0, 258,
1453 258, 257, 256, 0, 0, 259, 0, 0, 0, 258,
1454 255, 258, 0, 258, 0, 259, 260, 259, 258, 259,
1455 0, 0, 259, 0, 259, 0, 260, 261, 260, 260,
1456 260, 0, 0, 0, 0, 260, 0, 261, 0, 261,
1457 263, 261, 262, 262, 0, 261, 261, 0, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001458
vlm2c8c44d2005-03-24 16:22:35 +00001459 263, 264, 263, 262, 263, 262, 0, 262, 0, 263,
1460 0, 264, 262, 264, 265, 264, 265, 266, 0, 266,
1461 264, 0, 0, 0, 265, 0, 265, 266, 265, 266,
1462 0, 266, 267, 265, 0, 267, 266, 0, 268, 0,
1463 0, 0, 267, 0, 267, 0, 267, 0, 268, 269,
1464 268, 267, 268, 0, 0, 270, 269, 268, 0, 269,
1465 0, 269, 0, 269, 0, 270, 271, 270, 269, 270,
1466 0, 270, 0, 0, 270, 0, 271, 0, 271, 0,
1467 271, 272, 271, 0, 272, 271, 0, 273, 0, 0,
1468 0, 272, 0, 272, 0, 272, 0, 273, 276, 273,
vlmfa67ddc2004-06-03 03:38:44 +00001469
vlm2c8c44d2005-03-24 16:22:35 +00001470 272, 273, 0, 0, 277, 0, 273, 0, 276, 0,
1471 276, 0, 276, 0, 277, 0, 277, 276, 277, 278,
1472 279, 0, 277, 277, 0, 0, 278, 0, 0, 278,
1473 279, 278, 279, 278, 279, 280, 279, 0, 278, 279,
1474 281, 281, 276, 0, 0, 280, 0, 280, 0, 280,
1475 0, 281, 0, 281, 280, 281, 282, 281, 0, 283,
1476 281, 282, 0, 0, 0, 0, 282, 0, 282, 283,
1477 282, 0, 282, 0, 0, 282, 0, 284, 0, 283,
1478 0, 283, 0, 283, 0, 285, 0, 284, 283, 284,
1479 0, 284, 0, 0, 284, 285, 284, 285, 0, 285,
vlmfa67ddc2004-06-03 03:38:44 +00001480
vlm2c8c44d2005-03-24 16:22:35 +00001481 287, 287, 0, 288, 285, 0, 0, 0, 0, 0,
1482 287, 0, 287, 288, 287, 288, 289, 288, 0, 287,
1483 0, 288, 288, 292, 291, 0, 289, 291, 289, 289,
1484 289, 0, 0, 0, 291, 289, 291, 0, 291, 292,
1485 0, 0, 293, 291, 0, 293, 0, 0, 0, 292,
1486 0, 292, 293, 292, 293, 0, 293, 296, 292, 294,
1487 294, 293, 0, 297, 0, 0, 0, 296, 0, 296,
1488 294, 296, 294, 297, 294, 297, 296, 297, 0, 294,
1489 298, 297, 297, 298, 0, 0, 299, 0, 0, 0,
1490 298, 0, 298, 0, 298, 0, 299, 300, 299, 298,
vlmfa67ddc2004-06-03 03:38:44 +00001491
vlm2c8c44d2005-03-24 16:22:35 +00001492 299, 0, 301, 301, 0, 299, 0, 300, 0, 300,
1493 0, 300, 0, 301, 302, 301, 300, 301, 0, 0,
1494 303, 305, 301, 0, 302, 0, 302, 0, 302, 0,
1495 303, 304, 303, 302, 303, 0, 0, 305, 0, 303,
1496 0, 304, 0, 304, 0, 304, 0, 305, 0, 305,
1497 304, 305, 307, 308, 0, 0, 305, 0, 302, 0,
1498 0, 0, 307, 308, 307, 308, 307, 308, 0, 310,
1499 309, 307, 308, 309, 0, 0, 0, 0, 0, 310,
1500 309, 310, 309, 310, 309, 0, 311, 315, 310, 309,
1501 0, 0, 0, 0, 0, 0, 311, 315, 311, 315,
vlmfa67ddc2004-06-03 03:38:44 +00001502
vlm2c8c44d2005-03-24 16:22:35 +00001503 311, 315, 0, 311, 310, 311, 315, 316, 316, 316,
1504 0, 0, 0, 0, 0, 318, 318, 318, 0, 0,
1505 316, 316, 316, 316, 316, 316, 316, 316, 318, 318,
1506 318, 318, 318, 318, 318, 318, 319, 0, 321, 0,
1507 319, 319, 319, 319, 319, 319, 319, 319, 321, 0,
1508 321, 0, 321, 322, 322, 0, 321, 321, 323, 323,
1509 0, 0, 0, 322, 0, 322, 0, 322, 0, 323,
1510 324, 323, 322, 323, 0, 326, 326, 0, 323, 0,
1511 324, 0, 324, 0, 324, 0, 326, 0, 326, 324,
1512 326, 327, 327, 0, 328, 326, 0, 328, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001513
vlm2c8c44d2005-03-24 16:22:35 +00001514 0, 327, 329, 327, 328, 327, 328, 0, 328, 0,
1515 327, 0, 329, 328, 329, 330, 329, 0, 0, 0,
1516 0, 329, 0, 331, 0, 330, 0, 330, 0, 330,
1517 0, 332, 0, 331, 330, 331, 0, 331, 332, 331,
1518 0, 332, 331, 332, 333, 332, 0, 0, 0, 0,
1519 332, 0, 334, 0, 333, 334, 333, 0, 333, 334,
1520 0, 0, 334, 333, 334, 335, 334, 335, 0, 0,
1521 0, 334, 0, 336, 0, 335, 336, 335, 0, 335,
1522 336, 337, 0, 336, 335, 336, 0, 336, 0, 338,
1523 0, 337, 336, 337, 0, 337, 0, 337, 0, 338,
vlmfa67ddc2004-06-03 03:38:44 +00001524
vlm2c8c44d2005-03-24 16:22:35 +00001525 337, 338, 0, 338, 339, 339, 0, 338, 338, 0,
1526 340, 0, 0, 0, 339, 0, 339, 0, 339, 0,
1527 340, 341, 340, 339, 340, 0, 0, 342, 340, 340,
1528 0, 341, 0, 341, 0, 341, 0, 342, 341, 342,
1529 341, 342, 343, 347, 0, 0, 342, 0, 0, 0,
1530 347, 0, 343, 347, 343, 347, 343, 347, 0, 0,
1531 349, 343, 347, 348, 348, 0, 348, 0, 0, 0,
1532 349, 0, 349, 348, 349, 348, 0, 348, 349, 349,
1533 351, 350, 348, 350, 0, 0, 0, 0, 0, 0,
1534 351, 350, 351, 350, 351, 350, 352, 0, 0, 351,
vlmfa67ddc2004-06-03 03:38:44 +00001535
vlm2c8c44d2005-03-24 16:22:35 +00001536 350, 0, 353, 0, 0, 353, 352, 0, 352, 0,
1537 352, 355, 353, 354, 353, 352, 353, 0, 356, 355,
1538 0, 353, 0, 354, 0, 354, 0, 354, 0, 355,
1539 354, 355, 354, 355, 356, 0, 0, 358, 355, 0,
1540 359, 0, 0, 0, 356, 0, 356, 358, 356, 358,
1541 359, 358, 359, 356, 359, 358, 358, 360, 362, 359,
1542 0, 0, 0, 0, 0, 0, 0, 360, 362, 360,
1543 362, 360, 362, 363, 362, 0, 360, 362, 0, 364,
1544 363, 0, 0, 363, 0, 363, 0, 363, 0, 364,
1545 365, 364, 363, 364, 0, 0, 0, 0, 364, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001546
vlm2c8c44d2005-03-24 16:22:35 +00001547 365, 0, 365, 367, 365, 0, 368, 0, 365, 365,
1548 367, 0, 0, 367, 369, 367, 368, 367, 368, 369,
1549 368, 0, 367, 0, 369, 368, 369, 370, 369, 0,
1550 0, 0, 0, 369, 0, 0, 0, 370, 372, 370,
1551 0, 370, 0, 0, 374, 372, 370, 0, 372, 370,
1552 372, 0, 372, 0, 374, 0, 374, 372, 374, 375,
1553 376, 0, 375, 374, 0, 0, 0, 0, 0, 375,
1554 376, 375, 376, 375, 376, 378, 376, 0, 375, 376,
1555 0, 0, 383, 383, 383, 378, 0, 378, 0, 378,
1556 0, 0, 0, 386, 378, 383, 383, 383, 383, 383,
vlmfa67ddc2004-06-03 03:38:44 +00001557
vlm2c8c44d2005-03-24 16:22:35 +00001558 383, 383, 383, 386, 0, 386, 0, 386, 0, 387,
1559 387, 0, 386, 388, 0, 0, 390, 0, 0, 378,
1560 387, 0, 387, 388, 387, 388, 390, 388, 390, 387,
1561 390, 388, 388, 391, 392, 390, 0, 0, 0, 0,
1562 0, 0, 0, 391, 392, 391, 392, 391, 392, 0,
1563 0, 391, 391, 392, 393, 0, 0, 393, 0, 394,
1564 394, 0, 0, 0, 393, 0, 393, 0, 393, 0,
1565 394, 395, 394, 393, 394, 0, 0, 396, 0, 394,
1566 0, 395, 0, 395, 0, 395, 0, 396, 0, 396,
1567 395, 396, 397, 0, 397, 396, 396, 0, 398, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001568
vlm2c8c44d2005-03-24 16:22:35 +00001569 0, 0, 397, 0, 397, 0, 397, 0, 398, 0,
1570 398, 397, 398, 0, 0, 399, 398, 398, 399, 0,
1571 0, 400, 0, 400, 0, 399, 0, 399, 0, 399,
1572 0, 400, 401, 400, 399, 400, 0, 402, 402, 0,
1573 400, 0, 401, 0, 401, 0, 401, 0, 402, 403,
1574 402, 401, 402, 0, 0, 404, 0, 402, 0, 403,
1575 0, 403, 404, 403, 0, 404, 405, 404, 403, 404,
1576 0, 0, 406, 0, 404, 0, 405, 0, 405, 406,
1577 405, 0, 406, 405, 406, 405, 406, 407, 407, 411,
1578 0, 406, 0, 411, 0, 0, 0, 0, 407, 411,
vlmfa67ddc2004-06-03 03:38:44 +00001579
vlm2c8c44d2005-03-24 16:22:35 +00001580 407, 411, 407, 411, 412, 0, 0, 407, 411, 0,
1581 413, 412, 413, 0, 412, 0, 412, 0, 412, 0,
1582 413, 414, 413, 412, 413, 0, 0, 415, 0, 413,
1583 415, 414, 0, 414, 0, 414, 0, 415, 414, 415,
1584 414, 415, 416, 416, 0, 0, 415, 0, 417, 417,
1585 0, 0, 416, 0, 416, 0, 416, 0, 417, 418,
1586 417, 416, 417, 0, 0, 0, 0, 417, 0, 418,
1587 0, 418, 0, 418, 419, 418, 0, 419, 418, 0,
1588 420, 0, 0, 0, 419, 0, 419, 0, 419, 0,
1589 420, 421, 420, 419, 420, 0, 0, 420, 421, 420,
vlmfa67ddc2004-06-03 03:38:44 +00001590
vlm2c8c44d2005-03-24 16:22:35 +00001591 0, 421, 423, 421, 0, 421, 0, 424, 424, 0,
1592 421, 0, 423, 0, 423, 0, 423, 0, 424, 426,
1593 424, 423, 424, 0, 0, 427, 0, 424, 0, 426,
1594 0, 426, 0, 426, 0, 427, 428, 427, 426, 427,
1595 0, 0, 0, 0, 427, 0, 428, 0, 428, 429,
1596 428, 0, 429, 0, 428, 428, 0, 431, 0, 429,
1597 0, 429, 0, 429, 0, 0, 0, 431, 429, 431,
1598 0, 431, 432, 432, 0, 433, 431, 431, 434, 0,
1599 0, 0, 432, 0, 432, 433, 432, 433, 434, 433,
1600 434, 432, 434, 436, 433, 436, 438, 434, 0, 439,
vlmfa67ddc2004-06-03 03:38:44 +00001601
vlm2c8c44d2005-03-24 16:22:35 +00001602 0, 0, 0, 436, 0, 436, 438, 436, 438, 439,
1603 438, 439, 436, 439, 0, 438, 439, 0, 439, 445,
1604 445, 445, 0, 0, 0, 0, 0, 0, 0, 0,
1605 0, 0, 445, 445, 445, 445, 445, 445, 445, 445,
1606 446, 0, 448, 0, 446, 446, 446, 446, 446, 446,
1607 446, 446, 448, 0, 448, 449, 448, 0, 451, 0,
1608 448, 448, 449, 0, 0, 449, 0, 449, 451, 449,
1609 451, 0, 451, 452, 449, 0, 452, 451, 0, 453,
1610 0, 0, 0, 452, 0, 452, 0, 452, 0, 453,
1611 454, 453, 452, 453, 0, 0, 455, 454, 453, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001612
vlm2c8c44d2005-03-24 16:22:35 +00001613 454, 0, 454, 455, 454, 0, 455, 456, 455, 454,
1614 455, 0, 0, 457, 0, 455, 0, 456, 0, 456,
1615 0, 456, 0, 457, 458, 457, 456, 457, 0, 0,
1616 0, 458, 457, 0, 458, 459, 458, 459, 458, 0,
1617 0, 460, 0, 458, 0, 459, 0, 459, 0, 459,
1618 0, 460, 461, 460, 459, 460, 0, 461, 462, 0,
1619 460, 0, 461, 0, 461, 0, 461, 0, 462, 463,
1620 462, 461, 462, 0, 0, 0, 462, 462, 0, 463,
1621 464, 463, 0, 463, 0, 0, 465, 463, 463, 0,
1622 464, 0, 464, 0, 464, 0, 465, 466, 465, 464,
vlmfa67ddc2004-06-03 03:38:44 +00001623
vlm2c8c44d2005-03-24 16:22:35 +00001624 465, 0, 0, 470, 0, 465, 0, 466, 0, 466,
1625 470, 466, 0, 470, 471, 470, 466, 470, 0, 0,
1626 0, 0, 470, 0, 471, 472, 471, 0, 471, 0,
1627 0, 473, 471, 471, 0, 472, 0, 472, 0, 472,
1628 0, 473, 474, 473, 472, 473, 0, 0, 475, 0,
1629 473, 475, 474, 0, 474, 0, 474, 0, 475, 474,
1630 475, 474, 475, 476, 477, 0, 0, 475, 0, 0,
1631 0, 0, 0, 476, 477, 476, 477, 476, 477, 478,
1632 478, 476, 476, 477, 0, 479, 0, 0, 0, 478,
1633 0, 478, 0, 478, 0, 479, 480, 479, 478, 479,
vlmfa67ddc2004-06-03 03:38:44 +00001634
vlm2c8c44d2005-03-24 16:22:35 +00001635 0, 0, 482, 0, 479, 0, 480, 0, 480, 0,
1636 480, 0, 482, 484, 482, 480, 482, 0, 0, 0,
1637 0, 482, 0, 484, 485, 484, 0, 484, 485, 479,
1638 486, 0, 484, 0, 485, 0, 485, 0, 485, 0,
1639 486, 487, 486, 485, 486, 0, 0, 489, 0, 486,
1640 489, 487, 0, 487, 0, 487, 0, 489, 0, 489,
1641 487, 489, 490, 0, 0, 490, 489, 0, 492, 0,
1642 0, 492, 490, 0, 490, 0, 490, 0, 492, 0,
1643 492, 490, 492, 494, 494, 0, 0, 492, 0, 0,
1644 0, 500, 500, 500, 494, 0, 494, 0, 494, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001645
vlm2c8c44d2005-03-24 16:22:35 +00001646 0, 0, 0, 494, 500, 500, 500, 500, 500, 500,
1647 500, 500, 502, 503, 503, 0, 0, 0, 0, 502,
1648 0, 0, 502, 503, 502, 503, 502, 503, 505, 0,
1649 0, 502, 503, 0, 0, 0, 506, 0, 505, 507,
1650 505, 0, 505, 0, 505, 0, 506, 505, 506, 507,
1651 506, 507, 508, 507, 506, 506, 0, 0, 507, 0,
1652 509, 0, 508, 0, 508, 511, 508, 0, 510, 0,
1653 509, 508, 509, 509, 509, 0, 0, 0, 510, 509,
1654 510, 511, 510, 0, 0, 0, 0, 510, 0, 512,
1655 0, 511, 512, 511, 0, 511, 0, 513, 0, 512,
vlmfa67ddc2004-06-03 03:38:44 +00001656
vlm2c8c44d2005-03-24 16:22:35 +00001657 511, 512, 0, 512, 0, 514, 0, 513, 512, 513,
1658 0, 513, 514, 515, 0, 514, 513, 514, 0, 514,
1659 0, 0, 0, 515, 514, 515, 520, 515, 0, 520,
1660 0, 0, 515, 0, 521, 0, 520, 522, 520, 0,
1661 520, 0, 0, 0, 521, 520, 521, 522, 521, 522,
1662 523, 522, 0, 521, 0, 0, 522, 0, 524, 0,
1663 523, 525, 523, 0, 523, 524, 0, 0, 524, 523,
1664 524, 525, 524, 525, 527, 525, 0, 524, 527, 525,
1665 525, 0, 529, 0, 527, 0, 527, 533, 527, 0,
1666 531, 0, 529, 527, 529, 0, 529, 531, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001667
vlm2c8c44d2005-03-24 16:22:35 +00001668 531, 529, 531, 533, 531, 0, 534, 0, 0, 531,
1669 0, 0, 0, 533, 536, 533, 534, 533, 534, 0,
1670 534, 0, 533, 0, 536, 534, 536, 538, 536, 0,
1671 0, 0, 0, 536, 543, 543, 543, 538, 0, 538,
1672 0, 538, 0, 0, 0, 546, 538, 543, 543, 543,
1673 543, 543, 543, 543, 543, 546, 547, 546, 546, 546,
1674 0, 0, 549, 0, 546, 0, 547, 0, 547, 0,
1675 547, 0, 549, 550, 549, 547, 549, 0, 0, 551,
1676 0, 549, 551, 550, 0, 550, 0, 550, 0, 551,
1677 550, 551, 550, 551, 552, 553, 0, 0, 551, 552,
vlmfa67ddc2004-06-03 03:38:44 +00001678
vlm2c8c44d2005-03-24 16:22:35 +00001679 0, 0, 0, 0, 552, 553, 552, 553, 552, 553,
1680 554, 554, 0, 552, 553, 0, 555, 0, 555, 0,
1681 554, 0, 554, 0, 554, 0, 555, 556, 555, 554,
1682 555, 0, 0, 561, 0, 555, 0, 556, 0, 556,
1683 0, 556, 0, 561, 562, 561, 556, 561, 0, 561,
1684 0, 0, 561, 0, 562, 563, 562, 562, 562, 0,
1685 0, 565, 563, 562, 0, 563, 0, 563, 565, 563,
1686 0, 565, 568, 565, 563, 565, 0, 0, 0, 0,
1687 565, 0, 568, 570, 568, 0, 568, 0, 0, 572,
1688 0, 568, 0, 570, 0, 570, 570, 570, 0, 572,
vlmfa67ddc2004-06-03 03:38:44 +00001689
vlm2c8c44d2005-03-24 16:22:35 +00001690 574, 572, 570, 572, 0, 0, 582, 572, 572, 0,
1691 574, 0, 574, 0, 574, 0, 582, 583, 582, 574,
1692 582, 0, 0, 0, 0, 582, 0, 583, 584, 583,
1693 584, 583, 0, 0, 585, 0, 583, 0, 584, 0,
1694 584, 0, 584, 0, 585, 586, 585, 584, 585, 0,
1695 0, 0, 0, 585, 0, 586, 587, 586, 0, 586,
1696 0, 0, 586, 0, 586, 0, 587, 588, 587, 587,
1697 587, 0, 0, 589, 0, 587, 0, 588, 0, 588,
1698 589, 588, 0, 589, 593, 589, 588, 589, 0, 0,
1699 594, 0, 589, 0, 593, 0, 593, 0, 593, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001700
vlm2c8c44d2005-03-24 16:22:35 +00001701 594, 595, 594, 593, 594, 0, 0, 597, 0, 594,
1702 0, 595, 0, 595, 595, 595, 0, 597, 600, 597,
1703 595, 597, 0, 0, 602, 600, 597, 0, 600, 0,
1704 600, 602, 600, 0, 602, 603, 602, 600, 602, 0,
1705 0, 610, 603, 602, 0, 603, 0, 603, 0, 603,
1706 0, 610, 611, 610, 603, 610, 0, 0, 612, 0,
1707 610, 0, 611, 0, 611, 0, 611, 0, 612, 613,
1708 612, 611, 612, 0, 0, 614, 0, 612, 0, 613,
1709 0, 613, 0, 613, 0, 614, 618, 614, 613, 614,
1710 0, 0, 619, 614, 614, 0, 618, 0, 618, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001711
vlm2c8c44d2005-03-24 16:22:35 +00001712 618, 0, 619, 618, 619, 618, 619, 621, 0, 0,
1713 624, 619, 0, 626, 621, 626, 0, 621, 0, 621,
1714 624, 621, 624, 626, 624, 626, 621, 626, 624, 624,
1715 627, 0, 626, 633, 627, 0, 634, 0, 0, 0,
1716 627, 0, 627, 633, 627, 633, 634, 633, 634, 627,
1717 634, 633, 633, 638, 639, 634, 0, 0, 0, 634,
1718 0, 0, 0, 638, 639, 638, 639, 638, 639, 641,
1719 644, 0, 638, 639, 0, 0, 0, 0, 0, 641,
1720 644, 641, 644, 641, 644, 646, 0, 641, 641, 644,
1721 0, 647, 0, 644, 0, 646, 0, 646, 647, 646,
vlmfa67ddc2004-06-03 03:38:44 +00001722
vlm2c8c44d2005-03-24 16:22:35 +00001723 0, 647, 653, 647, 646, 647, 0, 0, 0, 0,
1724 647, 0, 653, 654, 653, 0, 653, 0, 653, 658,
1725 0, 653, 0, 654, 0, 654, 0, 654, 0, 658,
1726 0, 658, 654, 658, 661, 0, 0, 663, 658, 0,
1727 663, 0, 658, 0, 661, 669, 661, 663, 661, 663,
1728 0, 663, 0, 661, 0, 669, 663, 669, 669, 669,
1729 671, 674, 0, 0, 669, 0, 0, 0, 0, 0,
1730 671, 674, 671, 674, 671, 674, 678, 674, 0, 671,
1731 674, 0, 682, 0, 0, 0, 678, 0, 678, 0,
1732 678, 0, 682, 685, 682, 678, 682, 0, 0, 0,
vlm9283dbe2004-08-18 04:59:12 +00001733
vlm2c8c44d2005-03-24 16:22:35 +00001734 0, 682, 0, 685, 0, 685, 0, 685, 0, 0,
1735 0, 0, 685, 689, 689, 689, 689, 689, 689, 689,
1736 689, 689, 689, 689, 689, 689, 689, 690, 690, 690,
1737 690, 690, 690, 690, 690, 690, 690, 690, 690, 690,
1738 690, 691, 691, 691, 691, 691, 691, 691, 691, 691,
1739 691, 691, 691, 691, 691, 692, 692, 692, 692, 692,
1740 692, 692, 692, 692, 692, 692, 692, 692, 692, 693,
1741 693, 693, 693, 693, 693, 693, 693, 693, 693, 693,
1742 693, 693, 693, 694, 694, 694, 694, 694, 694, 694,
1743 694, 694, 694, 694, 694, 694, 694, 695, 695, 695,
1744
1745 0, 695, 695, 695, 695, 695, 695, 695, 695, 695,
1746 695, 696, 696, 0, 0, 696, 0, 0, 696, 0,
1747 696, 697, 697, 0, 697, 697, 698, 698, 0, 698,
1748 698, 698, 698, 0, 698, 698, 698, 698, 698, 698,
1749 699, 699, 699, 0, 699, 699, 699, 699, 699, 699,
1750 699, 699, 699, 699, 700, 700, 700, 700, 700, 700,
1751 700, 700, 700, 0, 700, 700, 701, 0, 0, 701,
1752 701, 701, 701, 701, 701, 701, 701, 701, 702, 0,
1753 0, 702, 702, 702, 702, 702, 702, 702, 702, 702,
1754 703, 0, 0, 703, 0, 703, 703, 703, 703, 703,
1755
1756 703, 703, 704, 704, 0, 704, 704, 705, 705, 0,
1757 705, 705, 706, 706, 0, 706, 706, 707, 707, 0,
1758 0, 0, 707, 0, 707, 0, 0, 0, 0, 707,
1759 708, 708, 0, 0, 0, 0, 0, 708, 0, 0,
1760 0, 0, 708, 688, 688, 688, 688, 688, 688, 688,
1761 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1762 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1763 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1764 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1765 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1766
1767 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1768 688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
1769 688, 688, 688
vlmfa67ddc2004-06-03 03:38:44 +00001770 } ;
1771
1772extern int yy_flex_debug;
1773int yy_flex_debug = 1;
1774
vlm2c8c44d2005-03-24 16:22:35 +00001775static yyconst short int yy_rule_linenum[130] =
vlmfa67ddc2004-06-03 03:38:44 +00001776 { 0,
vlm9283dbe2004-08-18 04:59:12 +00001777 103, 106, 108, 109, 110, 113, 115, 116, 117, 129,
1778 136, 143, 149, 158, 166, 174, 175, 177, 196, 202,
vlm2728a8d2005-01-23 09:51:44 +00001779 203, 204, 205, 206, 209, 215, 222, 229, 236, 243,
1780 247, 248, 256, 257, 258, 259, 260, 265, 266, 267,
1781 268, 269, 270, 271, 272, 273, 274, 275, 284, 285,
1782 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1783 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1784 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1785 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1786 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
vlmfa67ddc2004-06-03 03:38:44 +00001787
vlm2728a8d2005-01-23 09:51:44 +00001788 336, 337, 338, 339, 340, 341, 342, 347, 348, 353,
1789 354, 355, 358, 364, 371, 380, 391, 397, 399, 400,
vlm2c8c44d2005-03-24 16:22:35 +00001790 404, 410, 416, 424, 427, 452, 496, 498, 509
vlmfa67ddc2004-06-03 03:38:44 +00001791 } ;
1792
1793static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
1794static char *yy_full_match;
1795static int yy_lp;
1796#define REJECT \
1797{ \
1798*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
1799yy_cp = yy_full_match; /* restore poss. backed-over text */ \
1800++yy_lp; \
1801goto find_rule; \
1802}
1803#define yymore() yymore_used_but_not_detected
1804#define YY_MORE_ADJ 0
1805#define YY_RESTORE_YY_MORE_OFFSET
1806char *yytext;
1807#line 1 "asn1p_l.l"
1808#define INITIAL 0
1809#line 2 "asn1p_l.l"
1810
1811#include <string.h>
1812#include <errno.h>
1813#include <assert.h>
1814
1815#include "asn1parser.h"
1816#include "asn1p_y.h"
1817
1818int asn1p_lex(void);
1819void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
1820void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
vlm9283dbe2004-08-18 04:59:12 +00001821void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
vlmfa67ddc2004-06-03 03:38:44 +00001822
1823#define YY_FATAL_ERROR(msg) do { \
1824 fprintf(stderr, \
1825 "lexer error at line %d, " \
1826 "text \"%s\"\n", \
1827 yylineno, yytext); \
1828 exit(1); \
1829 } while(0)
1830
1831int asn1p_lexer_pedantic_1990 = 0;
1832int asn1p_lexer_types_year = 0;
1833int asn1p_lexer_constructs_year = 0;
1834static int _check_dashes(char *ptr);
vlmec6acd42004-09-29 13:18:09 +00001835static asn1c_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */
vlmfa67ddc2004-06-03 03:38:44 +00001836
1837/*
1838 * Check that the type is defined in the year of the standard choosen.
1839 */
1840#define TYPE_LIFETIME(fyr, lyr) \
1841 (!asn1p_lexer_types_year \
1842 || (fyr && fyr <= asn1p_lexer_types_year) \
1843 || (lyr && lyr > asn1p_lexer_types_year))
1844
1845/*
1846 * Check the the construction (or concept, i.e. CLASS) is defined in
1847 * a given year.
1848 */
1849#define CONSTRUCT_LIFETIME(fyr, lyr) \
1850 (!asn1p_lexer_constructs_year \
1851 || (fyr && fyr <= asn1p_lexer_constructs_year) \
1852 || (lyr && lyr > asn1p_lexer_constructs_year))
1853
1854/*
1855 * Make sure that the label is compliant with the naming rules.
1856 */
1857#define CHECK_DASHES do { \
1858 if(_check_dashes(yytext)) { \
1859 fprintf(stderr, \
1860 "%s: Identifier format invalid: " \
1861 "Improper dash location\n", yytext); \
1862 return -1; \
1863 } } while(0)
1864
1865/*
1866 * Append quoted string.
1867 */
1868#define QAPPEND(text, tlen) do { \
1869 char *prev_text = asn1p_lval.tv_opaque.buf; \
1870 int prev_len = asn1p_lval.tv_opaque.len; \
1871 char *p; \
1872 \
1873 p = malloc((tlen) + prev_len + 1); \
1874 if(p == NULL) return -1; \
1875 \
1876 if(prev_text) memcpy(p, prev_text, prev_len); \
1877 memcpy(p + prev_len, text, tlen); \
1878 p[prev_len + (tlen)] = '\0'; \
1879 \
1880 free(asn1p_lval.tv_opaque.buf); \
1881 asn1p_lval.tv_opaque.buf = p; \
1882 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
1883 } while(0)
1884
1885#define YY_NEVER_INTERACTIVE 1
1886#define YY_NO_INPUT 1
vlmfa67ddc2004-06-03 03:38:44 +00001887#define YY_STACK_USED 1
1888/* Performance penalty is OK */
1889/* Controlled from within application */
1890#define dash_comment 1
1891
1892#define cpp_comment 2
1893
1894#define quoted 3
1895
1896#define opaque 4
1897
vlm9283dbe2004-08-18 04:59:12 +00001898#define encoding_control 5
1899
1900#define with_syntax 6
vlmfa67ddc2004-06-03 03:38:44 +00001901
1902/* Newline */
1903/* White-space */
vlm2c8c44d2005-03-24 16:22:35 +00001904#line 1905 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00001905
1906/* Macros after this point can all be overridden by user definitions in
1907 * section 1.
1908 */
1909
1910#ifndef YY_SKIP_YYWRAP
1911#ifdef __cplusplus
1912extern "C" int yywrap YY_PROTO(( void ));
1913#else
1914extern int yywrap YY_PROTO(( void ));
1915#endif
1916#endif
1917
1918#ifndef YY_NO_UNPUT
1919static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1920#endif
1921
1922#ifndef yytext_ptr
1923static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1924#endif
1925
1926#ifdef YY_NEED_STRLEN
1927static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1928#endif
1929
1930#ifndef YY_NO_INPUT
1931#ifdef __cplusplus
1932static int yyinput YY_PROTO(( void ));
1933#else
1934static int input YY_PROTO(( void ));
1935#endif
1936#endif
1937
1938#if YY_STACK_USED
1939static int yy_start_stack_ptr = 0;
1940static int yy_start_stack_depth = 0;
1941static int *yy_start_stack = 0;
1942#ifndef YY_NO_PUSH_STATE
1943static void yy_push_state YY_PROTO(( int new_state ));
1944#endif
1945#ifndef YY_NO_POP_STATE
1946static void yy_pop_state YY_PROTO(( void ));
1947#endif
1948#ifndef YY_NO_TOP_STATE
1949static int yy_top_state YY_PROTO(( void ));
1950#endif
1951
1952#else
1953#define YY_NO_PUSH_STATE 1
1954#define YY_NO_POP_STATE 1
1955#define YY_NO_TOP_STATE 1
1956#endif
1957
1958#ifdef YY_MALLOC_DECL
1959YY_MALLOC_DECL
1960#else
1961#if __STDC__
1962#ifndef __cplusplus
1963#include <stdlib.h>
1964#endif
1965#else
1966/* Just try to get by without declaring the routines. This will fail
1967 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1968 * or sizeof(void*) != sizeof(int).
1969 */
1970#endif
1971#endif
1972
1973/* Amount of stuff to slurp up with each read. */
1974#ifndef YY_READ_BUF_SIZE
1975#define YY_READ_BUF_SIZE 8192
1976#endif
1977
1978/* Copy whatever the last rule matched to the standard output. */
1979
1980#ifndef ECHO
1981/* This used to be an fputs(), but since the string might contain NUL's,
1982 * we now use fwrite().
1983 */
1984#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1985#endif
1986
1987/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1988 * is returned in "result".
1989 */
1990#ifndef YY_INPUT
1991#define YY_INPUT(buf,result,max_size) \
1992 if ( yy_current_buffer->yy_is_interactive ) \
1993 { \
1994 int c = '*', n; \
1995 for ( n = 0; n < max_size && \
1996 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1997 buf[n] = (char) c; \
1998 if ( c == '\n' ) \
1999 buf[n++] = (char) c; \
2000 if ( c == EOF && ferror( yyin ) ) \
2001 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2002 result = n; \
2003 } \
2004 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
2005 && ferror( yyin ) ) \
2006 YY_FATAL_ERROR( "input in flex scanner failed" );
2007#endif
2008
2009/* No semi-colon after return; correct usage is to write "yyterminate();" -
2010 * we don't want an extra ';' after the "return" because that will cause
2011 * some compilers to complain about unreachable statements.
2012 */
2013#ifndef yyterminate
2014#define yyterminate() return YY_NULL
2015#endif
2016
2017/* Number of entries by which start-condition stack grows. */
2018#ifndef YY_START_STACK_INCR
2019#define YY_START_STACK_INCR 25
2020#endif
2021
2022/* Report a fatal error. */
2023#ifndef YY_FATAL_ERROR
2024#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2025#endif
2026
2027/* Default declaration of generated scanner - a define so the user can
2028 * easily add parameters.
2029 */
2030#ifndef YY_DECL
2031#define YY_DECL int yylex YY_PROTO(( void ))
2032#endif
2033
2034/* Code executed at the beginning of each rule, after yytext and yyleng
2035 * have been set up.
2036 */
2037#ifndef YY_USER_ACTION
2038#define YY_USER_ACTION
2039#endif
2040
2041/* Code executed at the end of each rule. */
2042#ifndef YY_BREAK
2043#define YY_BREAK break;
2044#endif
2045
2046#define YY_RULE_SETUP \
2047 YY_USER_ACTION
2048
2049YY_DECL
2050 {
2051 register yy_state_type yy_current_state;
2052 register char *yy_cp, *yy_bp;
2053 register int yy_act;
2054
vlm9283dbe2004-08-18 04:59:12 +00002055#line 101 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002056
2057
vlm2c8c44d2005-03-24 16:22:35 +00002058#line 2059 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00002059
2060 if ( yy_init )
2061 {
2062 yy_init = 0;
2063
2064#ifdef YY_USER_INIT
2065 YY_USER_INIT;
2066#endif
2067
2068 if ( ! yy_start )
2069 yy_start = 1; /* first start state */
2070
2071 if ( ! yyin )
2072 yyin = stdin;
2073
2074 if ( ! yyout )
2075 yyout = stdout;
2076
2077 if ( ! yy_current_buffer )
2078 yy_current_buffer =
2079 yy_create_buffer( yyin, YY_BUF_SIZE );
2080
2081 yy_load_buffer_state();
2082 }
2083
2084 while ( 1 ) /* loops until end-of-file is reached */
2085 {
2086 yy_cp = yy_c_buf_p;
2087
2088 /* Support of yytext. */
2089 *yy_cp = yy_hold_char;
2090
2091 /* yy_bp points to the position in yy_ch_buf of the start of
2092 * the current run.
2093 */
2094 yy_bp = yy_cp;
2095
2096 yy_current_state = yy_start;
2097 yy_state_ptr = yy_state_buf;
2098 *yy_state_ptr++ = yy_current_state;
2099yy_match:
2100 do
2101 {
2102 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2103 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2104 {
2105 yy_current_state = (int) yy_def[yy_current_state];
vlm2c8c44d2005-03-24 16:22:35 +00002106 if ( yy_current_state >= 689 )
vlmfa67ddc2004-06-03 03:38:44 +00002107 yy_c = yy_meta[(unsigned int) yy_c];
2108 }
2109 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2110 *yy_state_ptr++ = yy_current_state;
2111 ++yy_cp;
2112 }
vlm2c8c44d2005-03-24 16:22:35 +00002113 while ( yy_base[yy_current_state] != 4544 );
vlmfa67ddc2004-06-03 03:38:44 +00002114
2115yy_find_action:
2116 yy_current_state = *--yy_state_ptr;
2117 yy_lp = yy_accept[yy_current_state];
2118find_rule: /* we branch to this label when backing up */
2119 for ( ; ; ) /* until we find what rule we matched */
2120 {
2121 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
2122 {
2123 yy_act = yy_acclist[yy_lp];
2124 {
2125 yy_full_match = yy_cp;
2126 break;
2127 }
2128 }
2129 --yy_cp;
2130 yy_current_state = *--yy_state_ptr;
2131 yy_lp = yy_accept[yy_current_state];
2132 }
2133
2134 YY_DO_BEFORE_ACTION;
2135
2136 if ( yy_act != YY_END_OF_BUFFER )
2137 {
2138 int yyl;
2139 for ( yyl = 0; yyl < yyleng; ++yyl )
2140 if ( yytext[yyl] == '\n' )
2141 ++yylineno;
2142 }
2143
2144do_action: /* This label is used only to access EOF actions. */
2145
2146 if ( yy_flex_debug )
2147 {
2148 if ( yy_act == 0 )
2149 fprintf( stderr, "--scanner backing up\n" );
vlm2c8c44d2005-03-24 16:22:35 +00002150 else if ( yy_act < 130 )
vlmfa67ddc2004-06-03 03:38:44 +00002151 fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
2152 yy_rule_linenum[yy_act], yytext );
vlm2c8c44d2005-03-24 16:22:35 +00002153 else if ( yy_act == 130 )
vlmfa67ddc2004-06-03 03:38:44 +00002154 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2155 yytext );
vlm2c8c44d2005-03-24 16:22:35 +00002156 else if ( yy_act == 131 )
vlmfa67ddc2004-06-03 03:38:44 +00002157 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2158 else
2159 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2160 }
2161
2162 switch ( yy_act )
2163 { /* beginning of action switch */
2164case 1:
2165YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002166#line 103 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002167yy_push_state(dash_comment);
2168 YY_BREAK
2169
2170case 2:
2171YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002172#line 106 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002173yy_pop_state();
2174 YY_BREAK
2175case 3:
2176YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002177#line 108 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002178yy_pop_state(); /* End of comment */
2179 YY_BREAK
2180case 4:
2181YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002182#line 109 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002183/* Eat single dash */
2184 YY_BREAK
2185case 5:
2186YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002187#line 110 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002188/* Eat */
2189 YY_BREAK
2190
2191case 6:
2192YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002193#line 113 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002194yy_push_state(cpp_comment);
2195 YY_BREAK
2196
2197case 7:
2198YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002199#line 115 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002200/* Eat */
2201 YY_BREAK
2202case 8:
2203YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002204#line 116 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002205yy_pop_state();
2206 YY_BREAK
2207case 9:
2208YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002209#line 117 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002210/* Eat */
2211 YY_BREAK
2212
2213/*
2214 * This is state is being set from corresponding .y module when
2215 * higher-level data is necessary to make proper parsing of the
2216 * underlying data. Thus, we enter the <opaque> state and save
2217 * everything for later processing.
2218 */
2219
2220case 10:
2221YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002222#line 129 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002223{
2224 yy_push_state(opaque);
2225 asn1p_lval.tv_opaque.buf = strdup(yytext);
2226 asn1p_lval.tv_opaque.len = yyleng;
2227 return TOK_opaque;
2228 }
2229 YY_BREAK
2230case 11:
2231YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002232#line 136 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002233{
2234 yy_pop_state();
2235 asn1p_lval.tv_opaque.buf = strdup(yytext);
2236 asn1p_lval.tv_opaque.len = yyleng;
2237 return TOK_opaque;
2238 }
2239 YY_BREAK
2240case 12:
2241YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002242#line 143 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002243{
2244 asn1p_lval.tv_opaque.buf = strdup(yytext);
2245 asn1p_lval.tv_opaque.len = yyleng;
2246 return TOK_opaque;
2247 }
2248 YY_BREAK
2249case 13:
2250YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002251#line 149 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002252{
2253 fprintf(stderr,
2254 "ASN.1 Parser syncronization failure: "
2255 "\"%s\" at line %d must not appear "
2256 "inside value definition\n",
2257 yytext, yylineno);
2258 return -1;
2259 }
2260 YY_BREAK
2261case 14:
2262YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002263#line 158 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002264{
2265 asn1p_lval.tv_opaque.buf = strdup(yytext);
2266 asn1p_lval.tv_opaque.len = yyleng;
2267 return TOK_opaque;
2268 }
2269 YY_BREAK
2270
2271case 15:
2272YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002273#line 166 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002274{
2275 asn1p_lval.tv_opaque.buf = 0;
2276 asn1p_lval.tv_opaque.len = 0;
2277 QAPPEND(yytext+1, yyleng-1);
2278 yy_push_state(quoted);
2279 }
2280 YY_BREAK
2281
2282case 16:
2283YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002284#line 174 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002285{ QAPPEND(yytext, yyleng-1); } /* Add a single quote */
2286 YY_BREAK
2287case 17:
2288YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002289#line 175 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002290{ QAPPEND(yytext, yyleng); }
2291 YY_BREAK
2292case 18:
2293YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002294#line 177 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002295{
2296 yy_pop_state();
2297 /* Do not append last quote:
2298 // QAPPEND(yytext, yyleng); */
2299
2300 if(asn1p_lexer_pedantic_1990
2301 && strchr(yytext, '\n')) {
2302 fprintf(stderr, "%s: "
2303 "Newlines are prohibited by ASN.1:1990\n",
2304 asn1p_lval.tv_opaque.buf);
2305 return -1;
2306 }
2307
2308 return TOK_cstring;
2309 }
2310 YY_BREAK
2311
vlm9283dbe2004-08-18 04:59:12 +00002312
vlmfa67ddc2004-06-03 03:38:44 +00002313case 19:
2314YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002315#line 196 "asn1p_l.l"
2316{
2317 const char *s = "ENCODING-CONTROL";
2318 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2319 for(; p >= s; p--) unput(*p);
2320 yy_pop_state();
2321 }
2322 YY_BREAK
2323case 20:
2324YY_RULE_SETUP
2325#line 202 "asn1p_l.l"
2326unput('D'); unput('N'); unput('E'); yy_pop_state();
2327 YY_BREAK
2328case 21:
2329YY_RULE_SETUP
2330#line 203 "asn1p_l.l"
2331
2332 YY_BREAK
2333case 22:
2334YY_RULE_SETUP
2335#line 204 "asn1p_l.l"
2336
2337 YY_BREAK
2338case 23:
2339YY_RULE_SETUP
2340#line 205 "asn1p_l.l"
2341/* Eat everything else */
2342 YY_BREAK
2343case 24:
2344YY_RULE_SETUP
2345#line 206 "asn1p_l.l"
2346
2347 YY_BREAK
2348
2349case 25:
2350YY_RULE_SETUP
2351#line 209 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002352{
2353 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2354 asn1p_lval.tv_str = yytext;
2355 return TOK_hstring;
2356 }
2357 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002358case 26:
vlmfa67ddc2004-06-03 03:38:44 +00002359YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002360#line 215 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002361{
2362 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2363 asn1p_lval.tv_str = strdup(yytext);
2364 return TOK_bstring;
2365 }
2366 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002367case 27:
vlmfa67ddc2004-06-03 03:38:44 +00002368YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002369#line 222 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002370{
2371 asn1p_lval.a_int = asn1p_atoi(yytext);
2372 if(errno == ERANGE)
2373 return -1;
2374 return TOK_number_negative;
2375 }
2376 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002377case 28:
vlmfa67ddc2004-06-03 03:38:44 +00002378YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002379#line 229 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002380{
2381 asn1p_lval.a_int = asn1p_atoi(yytext);
2382 if(errno == ERANGE)
2383 return -1;
2384 return TOK_number;
2385 }
2386 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002387case 29:
vlmfa67ddc2004-06-03 03:38:44 +00002388YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002389#line 236 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002390{
2391 asn1p_lval.a_int = asn1p_atoi(yytext);
2392 if(errno == ERANGE)
2393 return -1;
2394 return TOK_number;
2395 }
2396 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002397case 30:
vlmfa67ddc2004-06-03 03:38:44 +00002398YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002399#line 243 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002400return TOK_ABSENT;
2401 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002402/*
2403ABSTRACT-SYNTAX return TOK_ABSTRACT_SYNTAX;
2404 */
vlm2728a8d2005-01-23 09:51:44 +00002405case 31:
vlmfa67ddc2004-06-03 03:38:44 +00002406YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002407#line 247 "asn1p_l.l"
vlmc94e28f2004-09-15 11:59:51 +00002408return TOK_ALL;
vlmfa67ddc2004-06-03 03:38:44 +00002409 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002410case 32:
vlmfa67ddc2004-06-03 03:38:44 +00002411YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002412#line 248 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002413{
2414 /* Appeared in 1990, removed in 1997 */
2415 if(TYPE_LIFETIME(1990, 1997))
2416 return TOK_ANY;
2417 fprintf(stderr, "Keyword \"%s\" at line %d "
2418 "is obsolete\n", yytext, yylineno);
2419 REJECT;
2420 }
2421 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002422case 33:
2423YY_RULE_SETUP
2424#line 256 "asn1p_l.l"
2425return TOK_APPLICATION;
2426 YY_BREAK
2427case 34:
2428YY_RULE_SETUP
2429#line 257 "asn1p_l.l"
2430return TOK_AUTOMATIC;
2431 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002432case 35:
2433YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002434#line 258 "asn1p_l.l"
2435return TOK_BEGIN;
vlmc94e28f2004-09-15 11:59:51 +00002436 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002437case 36:
vlmfa67ddc2004-06-03 03:38:44 +00002438YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002439#line 259 "asn1p_l.l"
2440return TOK_BIT;
vlmfa67ddc2004-06-03 03:38:44 +00002441 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002442case 37:
vlmfa67ddc2004-06-03 03:38:44 +00002443YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002444#line 260 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002445{
2446 if(TYPE_LIFETIME(1994, 0))
2447 return TOK_BMPString;
2448 REJECT;
2449 }
2450 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002451case 38:
2452YY_RULE_SETUP
2453#line 265 "asn1p_l.l"
2454return TOK_BOOLEAN;
2455 YY_BREAK
2456case 39:
2457YY_RULE_SETUP
2458#line 266 "asn1p_l.l"
2459return TOK_BY;
2460 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002461case 40:
2462YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002463#line 267 "asn1p_l.l"
2464return TOK_CHARACTER;
vlmc94e28f2004-09-15 11:59:51 +00002465 YY_BREAK
vlmfa67ddc2004-06-03 03:38:44 +00002466case 41:
2467YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002468#line 268 "asn1p_l.l"
2469return TOK_CHOICE;
vlmfa67ddc2004-06-03 03:38:44 +00002470 YY_BREAK
2471case 42:
2472YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002473#line 269 "asn1p_l.l"
2474return TOK_CLASS;
vlmfa67ddc2004-06-03 03:38:44 +00002475 YY_BREAK
2476case 43:
2477YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002478#line 270 "asn1p_l.l"
2479return TOK_COMPONENT;
vlmfa67ddc2004-06-03 03:38:44 +00002480 YY_BREAK
2481case 44:
2482YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002483#line 271 "asn1p_l.l"
2484return TOK_COMPONENTS;
vlmfa67ddc2004-06-03 03:38:44 +00002485 YY_BREAK
2486case 45:
2487YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002488#line 272 "asn1p_l.l"
2489return TOK_CONSTRAINED;
vlm9283dbe2004-08-18 04:59:12 +00002490 YY_BREAK
2491case 46:
2492YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002493#line 273 "asn1p_l.l"
2494return TOK_CONTAINING;
vlm9283dbe2004-08-18 04:59:12 +00002495 YY_BREAK
2496case 47:
2497YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002498#line 274 "asn1p_l.l"
2499return TOK_DEFAULT;
vlm9283dbe2004-08-18 04:59:12 +00002500 YY_BREAK
2501case 48:
2502YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002503#line 275 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002504{
2505 /* Appeared in 1990, removed in 1997 */
2506 if(TYPE_LIFETIME(1990, 1997))
2507 return TOK_DEFINED;
2508 fprintf(stderr, "Keyword \"%s\" at line %d "
2509 "is obsolete\n", yytext, yylineno);
2510 /* Deprecated since */
2511 REJECT;
2512 }
2513 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002514case 49:
2515YY_RULE_SETUP
2516#line 284 "asn1p_l.l"
2517return TOK_DEFINITIONS;
2518 YY_BREAK
2519case 50:
2520YY_RULE_SETUP
2521#line 285 "asn1p_l.l"
2522return TOK_EMBEDDED;
2523 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002524case 51:
2525YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002526#line 286 "asn1p_l.l"
2527return TOK_ENCODED;
vlmc94e28f2004-09-15 11:59:51 +00002528 YY_BREAK
vlmfa67ddc2004-06-03 03:38:44 +00002529case 52:
2530YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002531#line 287 "asn1p_l.l"
2532return TOK_ENCODING_CONTROL;
vlmfa67ddc2004-06-03 03:38:44 +00002533 YY_BREAK
2534case 53:
2535YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002536#line 288 "asn1p_l.l"
2537return TOK_END;
vlmfa67ddc2004-06-03 03:38:44 +00002538 YY_BREAK
2539case 54:
2540YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002541#line 289 "asn1p_l.l"
2542return TOK_ENUMERATED;
vlmfa67ddc2004-06-03 03:38:44 +00002543 YY_BREAK
2544case 55:
2545YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002546#line 290 "asn1p_l.l"
2547return TOK_EXCEPT;
vlmfa67ddc2004-06-03 03:38:44 +00002548 YY_BREAK
2549case 56:
2550YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002551#line 291 "asn1p_l.l"
2552return TOK_EXPLICIT;
vlmfa67ddc2004-06-03 03:38:44 +00002553 YY_BREAK
2554case 57:
2555YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002556#line 292 "asn1p_l.l"
2557return TOK_EXPORTS;
vlmfa67ddc2004-06-03 03:38:44 +00002558 YY_BREAK
2559case 58:
2560YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002561#line 293 "asn1p_l.l"
2562return TOK_EXTENSIBILITY;
vlmfa67ddc2004-06-03 03:38:44 +00002563 YY_BREAK
2564case 59:
2565YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002566#line 294 "asn1p_l.l"
2567return TOK_EXTERNAL;
vlmfa67ddc2004-06-03 03:38:44 +00002568 YY_BREAK
2569case 60:
2570YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002571#line 295 "asn1p_l.l"
2572return TOK_FALSE;
vlmfa67ddc2004-06-03 03:38:44 +00002573 YY_BREAK
2574case 61:
2575YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002576#line 296 "asn1p_l.l"
2577return TOK_FROM;
vlmfa67ddc2004-06-03 03:38:44 +00002578 YY_BREAK
2579case 62:
2580YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002581#line 297 "asn1p_l.l"
2582return TOK_GeneralizedTime;
vlmfa67ddc2004-06-03 03:38:44 +00002583 YY_BREAK
2584case 63:
2585YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002586#line 298 "asn1p_l.l"
2587return TOK_GeneralString;
vlmfa67ddc2004-06-03 03:38:44 +00002588 YY_BREAK
2589case 64:
2590YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002591#line 299 "asn1p_l.l"
2592return TOK_GraphicString;
vlmfa67ddc2004-06-03 03:38:44 +00002593 YY_BREAK
2594case 65:
2595YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002596#line 300 "asn1p_l.l"
2597return TOK_IA5String;
vlmfa67ddc2004-06-03 03:38:44 +00002598 YY_BREAK
2599case 66:
2600YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002601#line 301 "asn1p_l.l"
2602return TOK_IDENTIFIER;
vlmfa67ddc2004-06-03 03:38:44 +00002603 YY_BREAK
2604case 67:
2605YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002606#line 302 "asn1p_l.l"
2607return TOK_IMPLICIT;
vlmfa67ddc2004-06-03 03:38:44 +00002608 YY_BREAK
2609case 68:
2610YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002611#line 303 "asn1p_l.l"
2612return TOK_IMPLIED;
vlmfa67ddc2004-06-03 03:38:44 +00002613 YY_BREAK
2614case 69:
2615YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002616#line 304 "asn1p_l.l"
2617return TOK_IMPORTS;
vlmfa67ddc2004-06-03 03:38:44 +00002618 YY_BREAK
2619case 70:
2620YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002621#line 305 "asn1p_l.l"
2622return TOK_INCLUDES;
vlmfa67ddc2004-06-03 03:38:44 +00002623 YY_BREAK
2624case 71:
2625YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002626#line 306 "asn1p_l.l"
2627return TOK_INSTANCE;
vlmfa67ddc2004-06-03 03:38:44 +00002628 YY_BREAK
2629case 72:
2630YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002631#line 307 "asn1p_l.l"
2632return TOK_INSTRUCTIONS;
vlmfa67ddc2004-06-03 03:38:44 +00002633 YY_BREAK
2634case 73:
2635YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002636#line 308 "asn1p_l.l"
2637return TOK_INTEGER;
vlmfa67ddc2004-06-03 03:38:44 +00002638 YY_BREAK
2639case 74:
2640YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002641#line 309 "asn1p_l.l"
2642return TOK_INTERSECTION;
vlmfa67ddc2004-06-03 03:38:44 +00002643 YY_BREAK
2644case 75:
2645YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002646#line 310 "asn1p_l.l"
2647return TOK_ISO646String;
vlmfa67ddc2004-06-03 03:38:44 +00002648 YY_BREAK
2649case 76:
2650YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002651#line 311 "asn1p_l.l"
2652return TOK_MAX;
vlmfa67ddc2004-06-03 03:38:44 +00002653 YY_BREAK
2654case 77:
2655YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002656#line 312 "asn1p_l.l"
2657return TOK_MIN;
vlmfa67ddc2004-06-03 03:38:44 +00002658 YY_BREAK
2659case 78:
2660YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002661#line 313 "asn1p_l.l"
2662return TOK_MINUS_INFINITY;
vlmfa67ddc2004-06-03 03:38:44 +00002663 YY_BREAK
2664case 79:
2665YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002666#line 314 "asn1p_l.l"
2667return TOK_NULL;
vlmfa67ddc2004-06-03 03:38:44 +00002668 YY_BREAK
2669case 80:
2670YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002671#line 315 "asn1p_l.l"
2672return TOK_NumericString;
vlmfa67ddc2004-06-03 03:38:44 +00002673 YY_BREAK
2674case 81:
2675YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002676#line 316 "asn1p_l.l"
2677return TOK_OBJECT;
vlmfa67ddc2004-06-03 03:38:44 +00002678 YY_BREAK
2679case 82:
2680YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002681#line 317 "asn1p_l.l"
2682return TOK_ObjectDescriptor;
vlmfa67ddc2004-06-03 03:38:44 +00002683 YY_BREAK
2684case 83:
2685YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002686#line 318 "asn1p_l.l"
2687return TOK_OCTET;
vlmfa67ddc2004-06-03 03:38:44 +00002688 YY_BREAK
2689case 84:
2690YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002691#line 319 "asn1p_l.l"
2692return TOK_OF;
vlmfa67ddc2004-06-03 03:38:44 +00002693 YY_BREAK
2694case 85:
2695YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002696#line 320 "asn1p_l.l"
2697return TOK_OPTIONAL;
vlmfa67ddc2004-06-03 03:38:44 +00002698 YY_BREAK
2699case 86:
2700YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002701#line 321 "asn1p_l.l"
2702return TOK_PATTERN;
vlmfa67ddc2004-06-03 03:38:44 +00002703 YY_BREAK
2704case 87:
2705YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002706#line 322 "asn1p_l.l"
2707return TOK_PDV;
vlmfa67ddc2004-06-03 03:38:44 +00002708 YY_BREAK
2709case 88:
2710YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002711#line 323 "asn1p_l.l"
2712return TOK_PLUS_INFINITY;
vlmfa67ddc2004-06-03 03:38:44 +00002713 YY_BREAK
2714case 89:
2715YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002716#line 324 "asn1p_l.l"
2717return TOK_PRESENT;
vlmfa67ddc2004-06-03 03:38:44 +00002718 YY_BREAK
2719case 90:
2720YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002721#line 325 "asn1p_l.l"
2722return TOK_PrintableString;
vlmfa67ddc2004-06-03 03:38:44 +00002723 YY_BREAK
2724case 91:
2725YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002726#line 326 "asn1p_l.l"
2727return TOK_PRIVATE;
vlmfa67ddc2004-06-03 03:38:44 +00002728 YY_BREAK
2729case 92:
2730YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002731#line 327 "asn1p_l.l"
2732return TOK_REAL;
vlmfa67ddc2004-06-03 03:38:44 +00002733 YY_BREAK
2734case 93:
2735YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002736#line 328 "asn1p_l.l"
2737return TOK_RELATIVE_OID;
vlmfa67ddc2004-06-03 03:38:44 +00002738 YY_BREAK
2739case 94:
2740YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002741#line 329 "asn1p_l.l"
2742return TOK_SEQUENCE;
vlmfa67ddc2004-06-03 03:38:44 +00002743 YY_BREAK
2744case 95:
2745YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002746#line 330 "asn1p_l.l"
2747return TOK_SET;
vlmfa67ddc2004-06-03 03:38:44 +00002748 YY_BREAK
2749case 96:
2750YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002751#line 331 "asn1p_l.l"
2752return TOK_SIZE;
vlmfa67ddc2004-06-03 03:38:44 +00002753 YY_BREAK
2754case 97:
2755YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002756#line 332 "asn1p_l.l"
2757return TOK_STRING;
vlmfa67ddc2004-06-03 03:38:44 +00002758 YY_BREAK
2759case 98:
2760YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002761#line 333 "asn1p_l.l"
2762return TOK_SYNTAX;
vlmfa67ddc2004-06-03 03:38:44 +00002763 YY_BREAK
2764case 99:
2765YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002766#line 334 "asn1p_l.l"
2767return TOK_T61String;
vlmfa67ddc2004-06-03 03:38:44 +00002768 YY_BREAK
2769case 100:
2770YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002771#line 335 "asn1p_l.l"
2772return TOK_TAGS;
vlmfa67ddc2004-06-03 03:38:44 +00002773 YY_BREAK
2774case 101:
2775YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002776#line 336 "asn1p_l.l"
2777return TOK_TeletexString;
vlmfa67ddc2004-06-03 03:38:44 +00002778 YY_BREAK
2779case 102:
2780YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002781#line 337 "asn1p_l.l"
2782return TOK_TRUE;
vlm9283dbe2004-08-18 04:59:12 +00002783 YY_BREAK
2784case 103:
2785YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002786#line 338 "asn1p_l.l"
2787return TOK_TYPE_IDENTIFIER;
vlm9283dbe2004-08-18 04:59:12 +00002788 YY_BREAK
2789case 104:
2790YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002791#line 339 "asn1p_l.l"
2792return TOK_UNION;
vlm9283dbe2004-08-18 04:59:12 +00002793 YY_BREAK
2794case 105:
2795YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002796#line 340 "asn1p_l.l"
2797return TOK_UNIQUE;
vlm9283dbe2004-08-18 04:59:12 +00002798 YY_BREAK
2799case 106:
2800YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002801#line 341 "asn1p_l.l"
2802return TOK_UNIVERSAL;
vlm9283dbe2004-08-18 04:59:12 +00002803 YY_BREAK
2804case 107:
2805YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002806#line 342 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002807{
2808 if(TYPE_LIFETIME(1994, 0))
2809 return TOK_UniversalString;
2810 REJECT;
2811 }
2812 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002813case 108:
vlmfa67ddc2004-06-03 03:38:44 +00002814YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002815#line 347 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002816return TOK_UTCTime;
2817 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002818case 109:
vlmfa67ddc2004-06-03 03:38:44 +00002819YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002820#line 348 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002821{
2822 if(TYPE_LIFETIME(1994, 0))
2823 return TOK_UTF8String;
2824 REJECT;
2825 }
2826 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002827case 110:
2828YY_RULE_SETUP
2829#line 353 "asn1p_l.l"
2830return TOK_VideotexString;
2831 YY_BREAK
2832case 111:
2833YY_RULE_SETUP
2834#line 354 "asn1p_l.l"
2835return TOK_VisibleString;
2836 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002837case 112:
2838YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002839#line 355 "asn1p_l.l"
2840return TOK_WITH;
vlmc94e28f2004-09-15 11:59:51 +00002841 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002842case 113:
vlmfa67ddc2004-06-03 03:38:44 +00002843YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002844#line 358 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002845{
2846 CHECK_DASHES;
2847 asn1p_lval.tv_str = strdup(yytext);
2848 return TOK_typefieldreference;
2849 }
2850 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002851case 114:
vlmfa67ddc2004-06-03 03:38:44 +00002852YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002853#line 364 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002854{
2855 CHECK_DASHES;
2856 asn1p_lval.tv_str = strdup(yytext);
2857 return TOK_valuefieldreference;
2858 }
2859 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002860case 115:
vlmfa67ddc2004-06-03 03:38:44 +00002861YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002862#line 371 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002863{
2864 CHECK_DASHES;
2865 asn1p_lval.tv_str = strdup(yytext);
2866 return TOK_identifier;
2867 }
2868 YY_BREAK
2869/*
2870 * objectclassreference
2871 */
vlm2728a8d2005-01-23 09:51:44 +00002872case 116:
vlmfa67ddc2004-06-03 03:38:44 +00002873YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002874#line 380 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002875{
2876 CHECK_DASHES;
2877 asn1p_lval.tv_str = strdup(yytext);
vlm9283dbe2004-08-18 04:59:12 +00002878 return TOK_capitalreference;
vlmfa67ddc2004-06-03 03:38:44 +00002879 }
2880 YY_BREAK
2881/*
2882 * typereference, modulereference
2883 * NOTE: TOK_objectclassreference must be combined
2884 * with this token to produce true typereference.
2885 */
vlm2728a8d2005-01-23 09:51:44 +00002886case 117:
vlmfa67ddc2004-06-03 03:38:44 +00002887YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002888#line 391 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002889{
2890 CHECK_DASHES;
2891 asn1p_lval.tv_str = strdup(yytext);
2892 return TOK_typereference;
2893 }
2894 YY_BREAK
vlm2728a8d2005-01-23 09:51:44 +00002895case 118:
2896YY_RULE_SETUP
2897#line 397 "asn1p_l.l"
2898return TOK_PPEQ;
2899 YY_BREAK
2900case 119:
2901YY_RULE_SETUP
2902#line 399 "asn1p_l.l"
2903return TOK_ThreeDots;
2904 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002905case 120:
2906YY_RULE_SETUP
vlm2728a8d2005-01-23 09:51:44 +00002907#line 400 "asn1p_l.l"
2908return TOK_TwoDots;
vlmc94e28f2004-09-15 11:59:51 +00002909 YY_BREAK
vlm2c8c44d2005-03-24 16:22:35 +00002910
vlm9283dbe2004-08-18 04:59:12 +00002911case 121:
vlmfa67ddc2004-06-03 03:38:44 +00002912YY_RULE_SETUP
vlm2c8c44d2005-03-24 16:22:35 +00002913#line 404 "asn1p_l.l"
2914{
2915 asn1p_lval.tv_opaque.buf = strdup(yytext);
2916 asn1p_lval.tv_opaque.len = yyleng;
2917 return TOK_opaque;
2918 }
vlmfa67ddc2004-06-03 03:38:44 +00002919 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002920case 122:
vlmfa67ddc2004-06-03 03:38:44 +00002921YY_RULE_SETUP
vlm2c8c44d2005-03-24 16:22:35 +00002922#line 410 "asn1p_l.l"
2923{
2924 asn1p_lval.tv_opaque.buf = strdup(yytext);
2925 asn1p_lval.tv_opaque.len = yyleng;
2926 return TOK_opaque;
2927 }
vlmfa67ddc2004-06-03 03:38:44 +00002928 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002929case 123:
vlmfa67ddc2004-06-03 03:38:44 +00002930YY_RULE_SETUP
vlm2c8c44d2005-03-24 16:22:35 +00002931#line 416 "asn1p_l.l"
2932{
2933 yy_pop_state();
2934 return '}';
2935 }
2936 YY_BREAK
2937
2938case 124:
2939YY_RULE_SETUP
2940#line 424 "asn1p_l.l"
2941/* Ignore whitespace */
2942 YY_BREAK
2943case 125:
2944YY_RULE_SETUP
2945#line 427 "asn1p_l.l"
2946{
2947 asn1c_integer_t v1 = -1, v2 = -1;
2948 char *p;
2949 for(p = yytext; *p; p++)
2950 if(*p >= '0' && *p <= '9')
2951 { v1 = asn1p_atoi(p); break; }
2952 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
2953 for(; *p; p++) if(*p >= '0' && *p <= '9')
2954 { v2 = asn1p_atoi(p); break; }
2955 if(v1 < 0 || v1 > 7) {
2956 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
2957 "mandates 0..7 range for Tuple's TableColumn\n",
2958 yytext, yylineno);
2959 return -1;
2960 }
2961 if(v2 < 0 || v2 > 15) {
2962 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
2963 "mandates 0..15 range for Tuple's TableRow\n",
2964 yytext, yylineno);
2965 return -1;
2966 }
2967 asn1p_lval.a_int = (v1 << 4) + v2;
2968 return TOK_tuple;
2969 }
2970 YY_BREAK
2971case 126:
2972YY_RULE_SETUP
2973#line 452 "asn1p_l.l"
2974{
2975 asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
2976 char *p;
2977 for(p = yytext; *p; p++)
2978 if(*p >= '0' && *p <= '9')
2979 { v1 = asn1p_atoi(p); break; }
2980 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
2981 for(; *p; p++) if(*p >= '0' && *p <= '9')
2982 { v2 = asn1p_atoi(p); break; }
2983 while(*p >= '0' && *p <= '9') p++;
2984 for(; *p; p++) if(*p >= '0' && *p <= '9')
2985 { v3 = asn1p_atoi(p); break; }
2986 while(*p >= '0' && *p <= '9') p++;
2987 for(; *p; p++) if(*p >= '0' && *p <= '9')
2988 { v4 = asn1p_atoi(p); break; }
2989 if(v1 < 0 || v1 > 127) {
2990 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
2991 "mandates 0..127 range for Quadruple's Group\n",
2992 yytext, yylineno);
2993 return -1;
2994 }
2995 if(v2 < 0 || v2 > 255) {
2996 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
2997 "mandates 0..255 range for Quadruple's Plane\n",
2998 yytext, yylineno);
2999 return -1;
3000 }
3001 if(v3 < 0 || v3 > 255) {
3002 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3003 "mandates 0..255 range for Quadruple's Row\n",
3004 yytext, yylineno);
3005 return -1;
3006 }
3007 if(v4 < 0 || v4 > 255) {
3008 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3009 "mandates 0..255 range for Quadruple's Cell\n",
3010 yytext, yylineno);
3011 return -1;
3012 }
3013 asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
3014 return TOK_quadruple;
3015 }
3016 YY_BREAK
3017case 127:
3018YY_RULE_SETUP
3019#line 496 "asn1p_l.l"
3020return yytext[0];
3021 YY_BREAK
3022case 128:
3023YY_RULE_SETUP
3024#line 498 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003025{
3026 if(TYPE_LIFETIME(1994, 0))
3027 fprintf(stderr, "ERROR: ");
3028 fprintf(stderr,
3029 "Symbol '%c' at line %d is prohibited "
3030 "by ASN.1:1994 and ASN.1:1997\n",
3031 yytext[0], yylineno);
3032 if(TYPE_LIFETIME(1994, 0))
3033 return -1;
3034 }
3035 YY_BREAK
vlm2c8c44d2005-03-24 16:22:35 +00003036case 129:
vlm2728a8d2005-01-23 09:51:44 +00003037YY_RULE_SETUP
vlm2c8c44d2005-03-24 16:22:35 +00003038#line 509 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003039{
3040 fprintf(stderr,
3041 "Unexpected token at line %d: \"%s\"\n",
3042 yylineno, yytext);
3043 while(YYSTATE != INITIAL)
3044 yy_pop_state();
vlmc94e28f2004-09-15 11:59:51 +00003045 if(0) {
3046 yy_top_state(); /* Just to use this function. */
3047 yy_fatal_error("Parse error");
3048 }
vlmfa67ddc2004-06-03 03:38:44 +00003049 return -1;
3050}
3051 YY_BREAK
3052case YY_STATE_EOF(INITIAL):
3053case YY_STATE_EOF(dash_comment):
3054case YY_STATE_EOF(cpp_comment):
3055case YY_STATE_EOF(quoted):
3056case YY_STATE_EOF(opaque):
vlm9283dbe2004-08-18 04:59:12 +00003057case YY_STATE_EOF(encoding_control):
vlmfa67ddc2004-06-03 03:38:44 +00003058case YY_STATE_EOF(with_syntax):
vlm2c8c44d2005-03-24 16:22:35 +00003059#line 522 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003060{
3061 while(YYSTATE != INITIAL)
3062 yy_pop_state();
3063 yyterminate();
3064 }
3065 YY_BREAK
vlm2c8c44d2005-03-24 16:22:35 +00003066case 130:
vlmfa67ddc2004-06-03 03:38:44 +00003067YY_RULE_SETUP
vlm2c8c44d2005-03-24 16:22:35 +00003068#line 529 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003069YY_FATAL_ERROR( "flex scanner jammed" );
3070 YY_BREAK
vlm2c8c44d2005-03-24 16:22:35 +00003071#line 3072 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00003072
3073 case YY_END_OF_BUFFER:
3074 {
3075 /* Amount of text matched not including the EOB char. */
3076 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
3077
3078 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3079 *yy_cp = yy_hold_char;
3080 YY_RESTORE_YY_MORE_OFFSET
3081
3082 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
3083 {
3084 /* We're scanning a new file or input source. It's
3085 * possible that this happened because the user
3086 * just pointed yyin at a new source and called
3087 * yylex(). If so, then we have to assure
3088 * consistency between yy_current_buffer and our
3089 * globals. Here is the right place to do so, because
3090 * this is the first action (other than possibly a
3091 * back-up) that will match for the new input source.
3092 */
3093 yy_n_chars = yy_current_buffer->yy_n_chars;
3094 yy_current_buffer->yy_input_file = yyin;
3095 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
3096 }
3097
3098 /* Note that here we test for yy_c_buf_p "<=" to the position
3099 * of the first EOB in the buffer, since yy_c_buf_p will
3100 * already have been incremented past the NUL character
3101 * (since all states make transitions on EOB to the
3102 * end-of-buffer state). Contrast this with the test
3103 * in input().
3104 */
3105 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3106 { /* This was really a NUL. */
3107 yy_state_type yy_next_state;
3108
3109 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
3110
3111 yy_current_state = yy_get_previous_state();
3112
3113 /* Okay, we're now positioned to make the NUL
3114 * transition. We couldn't have
3115 * yy_get_previous_state() go ahead and do it
3116 * for us because it doesn't know how to deal
3117 * with the possibility of jamming (and we don't
3118 * want to build jamming into it because then it
3119 * will run more slowly).
3120 */
3121
3122 yy_next_state = yy_try_NUL_trans( yy_current_state );
3123
3124 yy_bp = yytext_ptr + YY_MORE_ADJ;
3125
3126 if ( yy_next_state )
3127 {
3128 /* Consume the NUL. */
3129 yy_cp = ++yy_c_buf_p;
3130 yy_current_state = yy_next_state;
3131 goto yy_match;
3132 }
3133
3134 else
3135 {
3136 yy_cp = yy_c_buf_p;
3137 goto yy_find_action;
3138 }
3139 }
3140
3141 else switch ( yy_get_next_buffer() )
3142 {
3143 case EOB_ACT_END_OF_FILE:
3144 {
3145 yy_did_buffer_switch_on_eof = 0;
3146
3147 if ( yywrap() )
3148 {
3149 /* Note: because we've taken care in
3150 * yy_get_next_buffer() to have set up
3151 * yytext, we can now set up
3152 * yy_c_buf_p so that if some total
3153 * hoser (like flex itself) wants to
3154 * call the scanner after we return the
3155 * YY_NULL, it'll still work - another
3156 * YY_NULL will get returned.
3157 */
3158 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
3159
3160 yy_act = YY_STATE_EOF(YY_START);
3161 goto do_action;
3162 }
3163
3164 else
3165 {
3166 if ( ! yy_did_buffer_switch_on_eof )
3167 YY_NEW_FILE;
3168 }
3169 break;
3170 }
3171
3172 case EOB_ACT_CONTINUE_SCAN:
3173 yy_c_buf_p =
3174 yytext_ptr + yy_amount_of_matched_text;
3175
3176 yy_current_state = yy_get_previous_state();
3177
3178 yy_cp = yy_c_buf_p;
3179 yy_bp = yytext_ptr + YY_MORE_ADJ;
3180 goto yy_match;
3181
3182 case EOB_ACT_LAST_MATCH:
3183 yy_c_buf_p =
3184 &yy_current_buffer->yy_ch_buf[yy_n_chars];
3185
3186 yy_current_state = yy_get_previous_state();
3187
3188 yy_cp = yy_c_buf_p;
3189 yy_bp = yytext_ptr + YY_MORE_ADJ;
3190 goto yy_find_action;
3191 }
3192 break;
3193 }
3194
3195 default:
3196 YY_FATAL_ERROR(
3197 "fatal flex scanner internal error--no action found" );
3198 } /* end of action switch */
3199 } /* end of scanning one token */
3200 } /* end of yylex */
3201
3202
3203/* yy_get_next_buffer - try to read in a new buffer
3204 *
3205 * Returns a code representing an action:
3206 * EOB_ACT_LAST_MATCH -
3207 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3208 * EOB_ACT_END_OF_FILE - end of file
3209 */
3210
3211static int yy_get_next_buffer()
3212 {
3213 register char *dest = yy_current_buffer->yy_ch_buf;
3214 register char *source = yytext_ptr;
3215 register int number_to_move, i;
3216 int ret_val;
3217
3218 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
3219 YY_FATAL_ERROR(
3220 "fatal flex scanner internal error--end of buffer missed" );
3221
3222 if ( yy_current_buffer->yy_fill_buffer == 0 )
3223 { /* Don't try to fill the buffer, so this is an EOF. */
3224 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
3225 {
3226 /* We matched a single character, the EOB, so
3227 * treat this as a final EOF.
3228 */
3229 return EOB_ACT_END_OF_FILE;
3230 }
3231
3232 else
3233 {
3234 /* We matched some text prior to the EOB, first
3235 * process it.
3236 */
3237 return EOB_ACT_LAST_MATCH;
3238 }
3239 }
3240
3241 /* Try to read more data. */
3242
3243 /* First move last chars to start of buffer. */
3244 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
3245
3246 for ( i = 0; i < number_to_move; ++i )
3247 *(dest++) = *(source++);
3248
3249 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3250 /* don't do the read, it's not guaranteed to return an EOF,
3251 * just force an EOF
3252 */
3253 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
3254
3255 else
3256 {
3257 int num_to_read =
3258 yy_current_buffer->yy_buf_size - number_to_move - 1;
3259
3260 while ( num_to_read <= 0 )
3261 { /* Not enough room in the buffer - grow it. */
3262#ifdef YY_USES_REJECT
3263 YY_FATAL_ERROR(
3264"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3265#else
3266
3267 /* just a shorter name for the current buffer */
3268 YY_BUFFER_STATE b = yy_current_buffer;
3269
3270 int yy_c_buf_p_offset =
3271 (int) (yy_c_buf_p - b->yy_ch_buf);
3272
3273 if ( b->yy_is_our_buffer )
3274 {
3275 int new_size = b->yy_buf_size * 2;
3276
3277 if ( new_size <= 0 )
3278 b->yy_buf_size += b->yy_buf_size / 8;
3279 else
3280 b->yy_buf_size *= 2;
3281
3282 b->yy_ch_buf = (char *)
3283 /* Include room in for 2 EOB chars. */
3284 yy_flex_realloc( (void *) b->yy_ch_buf,
3285 b->yy_buf_size + 2 );
3286 }
3287 else
3288 /* Can't grow it, we don't own it. */
3289 b->yy_ch_buf = 0;
3290
3291 if ( ! b->yy_ch_buf )
3292 YY_FATAL_ERROR(
3293 "fatal error - scanner input buffer overflow" );
3294
3295 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3296
3297 num_to_read = yy_current_buffer->yy_buf_size -
3298 number_to_move - 1;
3299#endif
3300 }
3301
3302 if ( num_to_read > YY_READ_BUF_SIZE )
3303 num_to_read = YY_READ_BUF_SIZE;
3304
3305 /* Read in more data. */
3306 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
3307 yy_n_chars, num_to_read );
3308
3309 yy_current_buffer->yy_n_chars = yy_n_chars;
3310 }
3311
3312 if ( yy_n_chars == 0 )
3313 {
3314 if ( number_to_move == YY_MORE_ADJ )
3315 {
3316 ret_val = EOB_ACT_END_OF_FILE;
3317 yyrestart( yyin );
3318 }
3319
3320 else
3321 {
3322 ret_val = EOB_ACT_LAST_MATCH;
3323 yy_current_buffer->yy_buffer_status =
3324 YY_BUFFER_EOF_PENDING;
3325 }
3326 }
3327
3328 else
3329 ret_val = EOB_ACT_CONTINUE_SCAN;
3330
3331 yy_n_chars += number_to_move;
3332 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3333 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3334
3335 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3336
3337 return ret_val;
3338 }
3339
3340
3341/* yy_get_previous_state - get the state just before the EOB char was reached */
3342
3343static yy_state_type yy_get_previous_state()
3344 {
3345 register yy_state_type yy_current_state;
3346 register char *yy_cp;
3347
3348 yy_current_state = yy_start;
3349 yy_state_ptr = yy_state_buf;
3350 *yy_state_ptr++ = yy_current_state;
3351
3352 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3353 {
3354 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3355 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3356 {
3357 yy_current_state = (int) yy_def[yy_current_state];
vlm2c8c44d2005-03-24 16:22:35 +00003358 if ( yy_current_state >= 689 )
vlmfa67ddc2004-06-03 03:38:44 +00003359 yy_c = yy_meta[(unsigned int) yy_c];
3360 }
3361 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3362 *yy_state_ptr++ = yy_current_state;
3363 }
3364
3365 return yy_current_state;
3366 }
3367
3368
3369/* yy_try_NUL_trans - try to make a transition on the NUL character
3370 *
3371 * synopsis
3372 * next_state = yy_try_NUL_trans( current_state );
3373 */
3374
3375#ifdef YY_USE_PROTOS
3376static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3377#else
3378static yy_state_type yy_try_NUL_trans( yy_current_state )
3379yy_state_type yy_current_state;
3380#endif
3381 {
3382 register int yy_is_jam;
3383
3384 register YY_CHAR yy_c = 1;
3385 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3386 {
3387 yy_current_state = (int) yy_def[yy_current_state];
vlm2c8c44d2005-03-24 16:22:35 +00003388 if ( yy_current_state >= 689 )
vlmfa67ddc2004-06-03 03:38:44 +00003389 yy_c = yy_meta[(unsigned int) yy_c];
3390 }
3391 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
vlm2c8c44d2005-03-24 16:22:35 +00003392 yy_is_jam = (yy_current_state == 688);
vlmfa67ddc2004-06-03 03:38:44 +00003393 if ( ! yy_is_jam )
3394 *yy_state_ptr++ = yy_current_state;
3395
3396 return yy_is_jam ? 0 : yy_current_state;
3397 }
3398
3399
3400#ifndef YY_NO_UNPUT
3401#ifdef YY_USE_PROTOS
3402static void yyunput( int c, register char *yy_bp )
3403#else
3404static void yyunput( c, yy_bp )
3405int c;
3406register char *yy_bp;
3407#endif
3408 {
3409 register char *yy_cp = yy_c_buf_p;
3410
3411 /* undo effects of setting up yytext */
3412 *yy_cp = yy_hold_char;
3413
3414 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3415 { /* need to shift things up to make room */
3416 /* +2 for EOB chars. */
3417 register int number_to_move = yy_n_chars + 2;
3418 register char *dest = &yy_current_buffer->yy_ch_buf[
3419 yy_current_buffer->yy_buf_size + 2];
3420 register char *source =
3421 &yy_current_buffer->yy_ch_buf[number_to_move];
3422
3423 while ( source > yy_current_buffer->yy_ch_buf )
3424 *--dest = *--source;
3425
3426 yy_cp += (int) (dest - source);
3427 yy_bp += (int) (dest - source);
3428 yy_current_buffer->yy_n_chars =
3429 yy_n_chars = yy_current_buffer->yy_buf_size;
3430
3431 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3432 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3433 }
3434
3435 *--yy_cp = (char) c;
3436
3437 if ( c == '\n' )
3438 --yylineno;
3439
3440 yytext_ptr = yy_bp;
3441 yy_hold_char = *yy_cp;
3442 yy_c_buf_p = yy_cp;
3443 }
3444#endif /* ifndef YY_NO_UNPUT */
3445
3446
3447#ifdef __cplusplus
3448static int yyinput()
3449#else
3450static int input()
3451#endif
3452 {
3453 int c;
3454
3455 *yy_c_buf_p = yy_hold_char;
3456
3457 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3458 {
3459 /* yy_c_buf_p now points to the character we want to return.
3460 * If this occurs *before* the EOB characters, then it's a
3461 * valid NUL; if not, then we've hit the end of the buffer.
3462 */
3463 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3464 /* This was really a NUL. */
3465 *yy_c_buf_p = '\0';
3466
3467 else
3468 { /* need more input */
3469 int offset = yy_c_buf_p - yytext_ptr;
3470 ++yy_c_buf_p;
3471
3472 switch ( yy_get_next_buffer() )
3473 {
3474 case EOB_ACT_LAST_MATCH:
3475 /* This happens because yy_g_n_b()
3476 * sees that we've accumulated a
3477 * token and flags that we need to
3478 * try matching the token before
3479 * proceeding. But for input(),
3480 * there's no matching to consider.
3481 * So convert the EOB_ACT_LAST_MATCH
3482 * to EOB_ACT_END_OF_FILE.
3483 */
3484
3485 /* Reset buffer status. */
3486 yyrestart( yyin );
3487
3488 /* fall through */
3489
3490 case EOB_ACT_END_OF_FILE:
3491 {
3492 if ( yywrap() )
3493 return EOF;
3494
3495 if ( ! yy_did_buffer_switch_on_eof )
3496 YY_NEW_FILE;
3497#ifdef __cplusplus
3498 return yyinput();
3499#else
3500 return input();
3501#endif
3502 }
3503
3504 case EOB_ACT_CONTINUE_SCAN:
3505 yy_c_buf_p = yytext_ptr + offset;
3506 break;
3507 }
3508 }
3509 }
3510
3511 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3512 *yy_c_buf_p = '\0'; /* preserve yytext */
3513 yy_hold_char = *++yy_c_buf_p;
3514
3515 if ( c == '\n' )
3516 ++yylineno;
3517
3518 return c;
3519 }
3520
3521
3522#ifdef YY_USE_PROTOS
3523void yyrestart( FILE *input_file )
3524#else
3525void yyrestart( input_file )
3526FILE *input_file;
3527#endif
3528 {
3529 if ( ! yy_current_buffer )
3530 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3531
3532 yy_init_buffer( yy_current_buffer, input_file );
3533 yy_load_buffer_state();
3534 }
3535
3536
3537#ifdef YY_USE_PROTOS
3538void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3539#else
3540void yy_switch_to_buffer( new_buffer )
3541YY_BUFFER_STATE new_buffer;
3542#endif
3543 {
3544 if ( yy_current_buffer == new_buffer )
3545 return;
3546
3547 if ( yy_current_buffer )
3548 {
3549 /* Flush out information for old buffer. */
3550 *yy_c_buf_p = yy_hold_char;
3551 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3552 yy_current_buffer->yy_n_chars = yy_n_chars;
3553 }
3554
3555 yy_current_buffer = new_buffer;
3556 yy_load_buffer_state();
3557
3558 /* We don't actually know whether we did this switch during
3559 * EOF (yywrap()) processing, but the only time this flag
3560 * is looked at is after yywrap() is called, so it's safe
3561 * to go ahead and always set it.
3562 */
3563 yy_did_buffer_switch_on_eof = 1;
3564 }
3565
3566
3567#ifdef YY_USE_PROTOS
3568void yy_load_buffer_state( void )
3569#else
3570void yy_load_buffer_state()
3571#endif
3572 {
3573 yy_n_chars = yy_current_buffer->yy_n_chars;
3574 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3575 yyin = yy_current_buffer->yy_input_file;
3576 yy_hold_char = *yy_c_buf_p;
3577 }
3578
3579
3580#ifdef YY_USE_PROTOS
3581YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3582#else
3583YY_BUFFER_STATE yy_create_buffer( file, size )
3584FILE *file;
3585int size;
3586#endif
3587 {
3588 YY_BUFFER_STATE b;
3589
3590 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3591 if ( ! b )
3592 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3593
3594 b->yy_buf_size = size;
3595
3596 /* yy_ch_buf has to be 2 characters longer than the size given because
3597 * we need to put in 2 end-of-buffer characters.
3598 */
3599 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3600 if ( ! b->yy_ch_buf )
3601 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3602
3603 b->yy_is_our_buffer = 1;
3604
3605 yy_init_buffer( b, file );
3606
3607 return b;
3608 }
3609
3610
3611#ifdef YY_USE_PROTOS
3612void yy_delete_buffer( YY_BUFFER_STATE b )
3613#else
3614void yy_delete_buffer( b )
3615YY_BUFFER_STATE b;
3616#endif
3617 {
3618 if ( ! b )
3619 return;
3620
3621 if ( b == yy_current_buffer )
3622 yy_current_buffer = (YY_BUFFER_STATE) 0;
3623
3624 if ( b->yy_is_our_buffer )
3625 yy_flex_free( (void *) b->yy_ch_buf );
3626
3627 yy_flex_free( (void *) b );
3628 }
3629
3630
3631#ifndef YY_ALWAYS_INTERACTIVE
3632#ifndef YY_NEVER_INTERACTIVE
3633extern int isatty YY_PROTO(( int ));
3634#endif
3635#endif
3636
3637#ifdef YY_USE_PROTOS
3638void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3639#else
3640void yy_init_buffer( b, file )
3641YY_BUFFER_STATE b;
3642FILE *file;
3643#endif
3644
3645
3646 {
3647 yy_flush_buffer( b );
3648
3649 b->yy_input_file = file;
3650 b->yy_fill_buffer = 1;
3651
3652#if YY_ALWAYS_INTERACTIVE
3653 b->yy_is_interactive = 1;
3654#else
3655#if YY_NEVER_INTERACTIVE
3656 b->yy_is_interactive = 0;
3657#else
3658 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3659#endif
3660#endif
3661 }
3662
3663
3664#ifdef YY_USE_PROTOS
3665void yy_flush_buffer( YY_BUFFER_STATE b )
3666#else
3667void yy_flush_buffer( b )
3668YY_BUFFER_STATE b;
3669#endif
3670
3671 {
3672 if ( ! b )
3673 return;
3674
3675 b->yy_n_chars = 0;
3676
3677 /* We always need two end-of-buffer characters. The first causes
3678 * a transition to the end-of-buffer state. The second causes
3679 * a jam in that state.
3680 */
3681 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3682 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3683
3684 b->yy_buf_pos = &b->yy_ch_buf[0];
3685
3686 b->yy_at_bol = 1;
3687 b->yy_buffer_status = YY_BUFFER_NEW;
3688
3689 if ( b == yy_current_buffer )
3690 yy_load_buffer_state();
3691 }
3692
3693
3694#ifndef YY_NO_SCAN_BUFFER
3695#ifdef YY_USE_PROTOS
3696YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3697#else
3698YY_BUFFER_STATE yy_scan_buffer( base, size )
3699char *base;
3700yy_size_t size;
3701#endif
3702 {
3703 YY_BUFFER_STATE b;
3704
3705 if ( size < 2 ||
3706 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3707 base[size-1] != YY_END_OF_BUFFER_CHAR )
3708 /* They forgot to leave room for the EOB's. */
3709 return 0;
3710
3711 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3712 if ( ! b )
3713 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3714
3715 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3716 b->yy_buf_pos = b->yy_ch_buf = base;
3717 b->yy_is_our_buffer = 0;
3718 b->yy_input_file = 0;
3719 b->yy_n_chars = b->yy_buf_size;
3720 b->yy_is_interactive = 0;
3721 b->yy_at_bol = 1;
3722 b->yy_fill_buffer = 0;
3723 b->yy_buffer_status = YY_BUFFER_NEW;
3724
3725 yy_switch_to_buffer( b );
3726
3727 return b;
3728 }
3729#endif
3730
3731
3732#ifndef YY_NO_SCAN_STRING
3733#ifdef YY_USE_PROTOS
3734YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3735#else
3736YY_BUFFER_STATE yy_scan_string( yy_str )
3737yyconst char *yy_str;
3738#endif
3739 {
3740 int len;
3741 for ( len = 0; yy_str[len]; ++len )
3742 ;
3743
3744 return yy_scan_bytes( yy_str, len );
3745 }
3746#endif
3747
3748
3749#ifndef YY_NO_SCAN_BYTES
3750#ifdef YY_USE_PROTOS
3751YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3752#else
3753YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3754yyconst char *bytes;
3755int len;
3756#endif
3757 {
3758 YY_BUFFER_STATE b;
3759 char *buf;
3760 yy_size_t n;
3761 int i;
3762
3763 /* Get memory for full buffer, including space for trailing EOB's. */
3764 n = len + 2;
3765 buf = (char *) yy_flex_alloc( n );
3766 if ( ! buf )
3767 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3768
3769 for ( i = 0; i < len; ++i )
3770 buf[i] = bytes[i];
3771
3772 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3773
3774 b = yy_scan_buffer( buf, n );
3775 if ( ! b )
3776 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3777
3778 /* It's okay to grow etc. this buffer, and we should throw it
3779 * away when we're done.
3780 */
3781 b->yy_is_our_buffer = 1;
3782
3783 return b;
3784 }
3785#endif
3786
3787
3788#ifndef YY_NO_PUSH_STATE
3789#ifdef YY_USE_PROTOS
3790static void yy_push_state( int new_state )
3791#else
3792static void yy_push_state( new_state )
3793int new_state;
3794#endif
3795 {
3796 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3797 {
3798 yy_size_t new_size;
3799
3800 yy_start_stack_depth += YY_START_STACK_INCR;
3801 new_size = yy_start_stack_depth * sizeof( int );
3802
3803 if ( ! yy_start_stack )
3804 yy_start_stack = (int *) yy_flex_alloc( new_size );
3805
3806 else
3807 yy_start_stack = (int *) yy_flex_realloc(
3808 (void *) yy_start_stack, new_size );
3809
3810 if ( ! yy_start_stack )
3811 YY_FATAL_ERROR(
3812 "out of memory expanding start-condition stack" );
3813 }
3814
3815 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3816
3817 BEGIN(new_state);
3818 }
3819#endif
3820
3821
3822#ifndef YY_NO_POP_STATE
3823static void yy_pop_state()
3824 {
3825 if ( --yy_start_stack_ptr < 0 )
3826 YY_FATAL_ERROR( "start-condition stack underflow" );
3827
3828 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3829 }
3830#endif
3831
3832
3833#ifndef YY_NO_TOP_STATE
3834static int yy_top_state()
3835 {
3836 return yy_start_stack[yy_start_stack_ptr - 1];
3837 }
3838#endif
3839
3840#ifndef YY_EXIT_FAILURE
3841#define YY_EXIT_FAILURE 2
3842#endif
3843
3844#ifdef YY_USE_PROTOS
3845static void yy_fatal_error( yyconst char msg[] )
3846#else
3847static void yy_fatal_error( msg )
3848char msg[];
3849#endif
3850 {
3851 (void) fprintf( stderr, "%s\n", msg );
3852 exit( YY_EXIT_FAILURE );
3853 }
3854
3855
3856
3857/* Redefine yyless() so it works in section 3 code. */
3858
3859#undef yyless
3860#define yyless(n) \
3861 do \
3862 { \
3863 /* Undo effects of setting up yytext. */ \
3864 yytext[yyleng] = yy_hold_char; \
3865 yy_c_buf_p = yytext + n; \
3866 yy_hold_char = *yy_c_buf_p; \
3867 *yy_c_buf_p = '\0'; \
3868 yyleng = n; \
3869 } \
3870 while ( 0 )
3871
3872
3873/* Internal utility routines. */
3874
3875#ifndef yytext_ptr
3876#ifdef YY_USE_PROTOS
3877static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3878#else
3879static void yy_flex_strncpy( s1, s2, n )
3880char *s1;
3881yyconst char *s2;
3882int n;
3883#endif
3884 {
3885 register int i;
3886 for ( i = 0; i < n; ++i )
3887 s1[i] = s2[i];
3888 }
3889#endif
3890
3891#ifdef YY_NEED_STRLEN
3892#ifdef YY_USE_PROTOS
3893static int yy_flex_strlen( yyconst char *s )
3894#else
3895static int yy_flex_strlen( s )
3896yyconst char *s;
3897#endif
3898 {
3899 register int n;
3900 for ( n = 0; s[n]; ++n )
3901 ;
3902
3903 return n;
3904 }
3905#endif
3906
3907
3908#ifdef YY_USE_PROTOS
3909static void *yy_flex_alloc( yy_size_t size )
3910#else
3911static void *yy_flex_alloc( size )
3912yy_size_t size;
3913#endif
3914 {
3915 return (void *) malloc( size );
3916 }
3917
3918#ifdef YY_USE_PROTOS
3919static void *yy_flex_realloc( void *ptr, yy_size_t size )
3920#else
3921static void *yy_flex_realloc( ptr, size )
3922void *ptr;
3923yy_size_t size;
3924#endif
3925 {
3926 /* The cast to (char *) in the following accommodates both
3927 * implementations that use char* generic pointers, and those
3928 * that use void* generic pointers. It works with the latter
3929 * because both ANSI C and C++ allow castless assignment from
3930 * any pointer type to void*, and deal with argument conversions
3931 * as though doing an assignment.
3932 */
3933 return (void *) realloc( (char *) ptr, size );
3934 }
3935
3936#ifdef YY_USE_PROTOS
3937static void yy_flex_free( void *ptr )
3938#else
3939static void yy_flex_free( ptr )
3940void *ptr;
3941#endif
3942 {
3943 free( ptr );
3944 }
3945
3946#if YY_MAIN
3947int main()
3948 {
3949 yylex();
3950 return 0;
3951 }
3952#endif
vlm2c8c44d2005-03-24 16:22:35 +00003953#line 529 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003954
3955
3956/*
3957 * Very dirty but wonderful hack allowing to rule states from within .y file.
3958 */
vlm9283dbe2004-08-18 04:59:12 +00003959void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
vlmfa67ddc2004-06-03 03:38:44 +00003960
3961/*
3962 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
3963 */
vlm9283dbe2004-08-18 04:59:12 +00003964void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
3965
3966/* Yet another */
3967void asn1p_lexer_hack_push_encoding_control() {
3968 yy_push_state(encoding_control);
vlmfa67ddc2004-06-03 03:38:44 +00003969}
3970
3971/*
3972 * Check that a token does not end with dash and does not contain
3973 * several dashes in succession.
3974 * "Name", "Type-Id", "T-y-p-e-i-d" are OK
3975 * "end-", "vustom--value" are INVALID
3976 */
3977static int
3978_check_dashes(char *ptr) {
3979 int prev_dash = 0;
3980
3981 assert(*ptr != '-');
3982
3983 for(;; ptr++) {
3984 switch(*ptr) {
3985 case '-':
3986 if(prev_dash++) /* No double dashes */
3987 return -1;
3988 continue;
3989 case '\0':
3990 if(prev_dash) /* No dashes at the end */
3991 return -1;
3992 break;
3993 default:
3994 prev_dash = 0;
3995 continue;
3996 }
3997 break;
3998 }
3999
4000 return 0;
4001}
4002
vlmec6acd42004-09-29 13:18:09 +00004003static asn1c_integer_t
vlmfa67ddc2004-06-03 03:38:44 +00004004asn1p_atoi(char *ptr) {
vlmec6acd42004-09-29 13:18:09 +00004005 asn1c_integer_t value;
vlmfa67ddc2004-06-03 03:38:44 +00004006 errno = 0; /* Clear the error code */
4007
4008 if(sizeof(value) <= sizeof(int)) {
4009 value = strtol(ptr, 0, 10);
4010 } else {
4011#ifdef HAVE_STRTOIMAX
4012 value = strtoimax(ptr, 0, 10);
4013#elif HAVE_STRTOLL
4014 value = strtoll(ptr, 0, 10);
4015#else
4016 value = strtol(ptr, 0, 10);
4017#endif
4018 }
4019
4020 if(errno == ERANGE) {
4021 fprintf(stderr,
4022 "Value \"%s\" at line %d is too large "
4023 "for this compiler! Please contact the vendor.",
4024 ptr, yylineno);
4025 errno = ERANGE; /* Restore potentially clobbered errno */
4026 }
4027
4028 return value;
4029}
4030