File Coverage

lex.yy.c
Criterion Covered Total %
statement 138 299 46.1
branch 44 116 37.9
condition n/a
subroutine n/a
pod n/a
total 182 415 43.8


line stmt bran cond sub pod time code
1             #define yy_create_buffer itex2MML_yy_create_buffer
2             #define yy_delete_buffer itex2MML_yy_delete_buffer
3             #define yy_scan_buffer itex2MML_yy_scan_buffer
4             #define yy_scan_string itex2MML_yy_scan_string
5             #define yy_scan_bytes itex2MML_yy_scan_bytes
6             #define yy_flex_debug itex2MML_yy_flex_debug
7             #define yy_init_buffer itex2MML_yy_init_buffer
8             #define yy_flush_buffer itex2MML_yy_flush_buffer
9             #define yy_load_buffer_state itex2MML_yy_load_buffer_state
10             #define yy_switch_to_buffer itex2MML_yy_switch_to_buffer
11             #define yyin itex2MML_yyin
12             #define yyleng itex2MML_yyleng
13             #define yylex itex2MML_yylex
14             #define yyout itex2MML_yyout
15             #define yyrestart itex2MML_yyrestart
16             #define yytext itex2MML_yytext
17              
18             #line 19 "lex.yy.c"
19             /* A lexical scanner generated by flex */
20              
21             /* Scanner skeleton version:
22             * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
23             */
24              
25             #define FLEX_SCANNER
26             #define YY_FLEX_MAJOR_VERSION 2
27             #define YY_FLEX_MINOR_VERSION 5
28              
29             #include
30              
31              
32             /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
33             #ifdef c_plusplus
34             #ifndef __cplusplus
35             #define __cplusplus
36             #endif
37             #endif
38              
39              
40             #ifdef __cplusplus
41              
42             #include
43             #include
44              
45             /* Use prototypes in function declarations. */
46             #define YY_USE_PROTOS
47              
48             /* The "const" storage-class-modifier is valid. */
49             #define YY_USE_CONST
50              
51             #else /* ! __cplusplus */
52              
53             #if __STDC__
54              
55             #define YY_USE_PROTOS
56             #define YY_USE_CONST
57              
58             #endif /* __STDC__ */
59             #endif /* ! __cplusplus */
60              
61             #ifdef __TURBOC__
62             #pragma warn -rch
63             #pragma warn -use
64             #include
65             #include
66             #define YY_USE_CONST
67             #define YY_USE_PROTOS
68             #endif
69              
70             #ifdef YY_USE_CONST
71             #define yyconst const
72             #else
73             #define yyconst
74             #endif
75              
76              
77             #ifdef YY_USE_PROTOS
78             #define YY_PROTO(proto) proto
79             #else
80             #define YY_PROTO(proto) ()
81             #endif
82              
83             /* Returned upon end-of-file. */
84             #define YY_NULL 0
85              
86             /* Promotes a possibly negative, possibly signed char to an unsigned
87             * integer for use as an array index. If the signed char is negative,
88             * we want to instead treat it as an 8-bit unsigned char, hence the
89             * double cast.
90             */
91             #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
92              
93             /* Enter a start condition. This macro really ought to take a parameter,
94             * but we do it the disgusting crufty way forced on us by the ()-less
95             * definition of BEGIN.
96             */
97             #define BEGIN yy_start = 1 + 2 *
98              
99             /* Translate the current start state into a value that can be later handed
100             * to BEGIN to return to the state. The YYSTATE alias is for lex
101             * compatibility.
102             */
103             #define YY_START ((yy_start - 1) / 2)
104             #define YYSTATE YY_START
105              
106             /* Action number for EOF rule of a given start state. */
107             #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
108              
109             /* Special action meaning "start processing a new file". */
110             #define YY_NEW_FILE yyrestart( yyin )
111              
112             #define YY_END_OF_BUFFER_CHAR 0
113              
114             /* Size of default input buffer. */
115             #define YY_BUF_SIZE 16384
116              
117             typedef struct yy_buffer_state *YY_BUFFER_STATE;
118              
119             extern int yyleng;
120             extern FILE *yyin, *yyout;
121              
122             #define EOB_ACT_CONTINUE_SCAN 0
123             #define EOB_ACT_END_OF_FILE 1
124             #define EOB_ACT_LAST_MATCH 2
125              
126             /* The funky do-while in the following #define is used to turn the definition
127             * int a single C statement (which needs a semi-colon terminator). This
128             * avoids problems with code like:
129             *
130             * if ( condition_holds )
131             * yyless( 5 );
132             * else
133             * do_something_else();
134             *
135             * Prior to using the do-while the compiler would get upset at the
136             * "else" because it interpreted the "if" statement as being all
137             * done when it reached the ';' after the yyless() call.
138             */
139              
140             /* Return all but the first 'n' matched characters back to the input stream. */
141              
142             #define yyless(n) \
143             do \
144             { \
145             /* Undo effects of setting up yytext. */ \
146             *yy_cp = yy_hold_char; \
147             YY_RESTORE_YY_MORE_OFFSET \
148             yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
149             YY_DO_BEFORE_ACTION; /* set up yytext again */ \
150             } \
151             while ( 0 )
152              
153             #define unput(c) yyunput( c, yytext_ptr )
154              
155             /* The following is because we cannot portably get our hands on size_t
156             * (without autoconf's help, which isn't available because we want
157             * flex-generated scanners to compile on their own).
158             */
159             typedef unsigned int yy_size_t;
160              
161              
162             struct yy_buffer_state
163             {
164             FILE *yy_input_file;
165              
166             char *yy_ch_buf; /* input buffer */
167             char *yy_buf_pos; /* current position in input buffer */
168              
169             /* Size of input buffer in bytes, not including room for EOB
170             * characters.
171             */
172             yy_size_t yy_buf_size;
173              
174             /* Number of characters read into yy_ch_buf, not including EOB
175             * characters.
176             */
177             int yy_n_chars;
178              
179             /* Whether we "own" the buffer - i.e., we know we created it,
180             * and can realloc() it to grow it, and should free() it to
181             * delete it.
182             */
183             int yy_is_our_buffer;
184              
185             /* Whether this is an "interactive" input source; if so, and
186             * if we're using stdio for input, then we want to use getc()
187             * instead of fread(), to make sure we stop fetching input after
188             * each newline.
189             */
190             int yy_is_interactive;
191              
192             /* Whether we're considered to be at the beginning of a line.
193             * If so, '^' rules will be active on the next match, otherwise
194             * not.
195             */
196             int yy_at_bol;
197              
198             /* Whether to try to fill the input buffer when we reach the
199             * end of it.
200             */
201             int yy_fill_buffer;
202              
203             int yy_buffer_status;
204             #define YY_BUFFER_NEW 0
205             #define YY_BUFFER_NORMAL 1
206             /* When an EOF's been seen but there's still some text to process
207             * then we mark the buffer as YY_EOF_PENDING, to indicate that we
208             * shouldn't try reading from the input source any more. We might
209             * still have a bunch of tokens to match, though, because of
210             * possible backing-up.
211             *
212             * When we actually see the EOF, we change the status to "new"
213             * (via yyrestart()), so that the user can continue scanning by
214             * just pointing yyin at a new input file.
215             */
216             #define YY_BUFFER_EOF_PENDING 2
217             };
218              
219             static YY_BUFFER_STATE yy_current_buffer = 0;
220              
221             /* We provide macros for accessing buffer states in case in the
222             * future we want to put the buffer states in a more general
223             * "scanner state".
224             */
225             #define YY_CURRENT_BUFFER yy_current_buffer
226              
227              
228             /* yy_hold_char holds the character lost when yytext is formed. */
229             static char yy_hold_char;
230              
231             static int yy_n_chars; /* number of characters read into yy_ch_buf */
232              
233              
234             int yyleng;
235              
236             /* Points to current character in buffer. */
237             static char *yy_c_buf_p = (char *) 0;
238             static int yy_init = 1; /* whether we need to initialize */
239             static int yy_start = 0; /* start state number */
240              
241             /* Flag which is used to allow yywrap()'s to do buffer switches
242             * instead of setting up a fresh yyin. A bit of a hack ...
243             */
244             static int yy_did_buffer_switch_on_eof;
245              
246             void yyrestart YY_PROTO(( FILE *input_file ));
247              
248             void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
249             void yy_load_buffer_state YY_PROTO(( void ));
250             YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
251             void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
252             void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
253             void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
254             #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
255              
256             YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
257             YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
258             YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
259              
260             static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
261             static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
262             static void yy_flex_free YY_PROTO(( void * ));
263              
264             #define yy_new_buffer yy_create_buffer
265              
266             #define yy_set_interactive(is_interactive) \
267             { \
268             if ( ! yy_current_buffer ) \
269             yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
270             yy_current_buffer->yy_is_interactive = is_interactive; \
271             }
272              
273             #define yy_set_bol(at_bol) \
274             { \
275             if ( ! yy_current_buffer ) \
276             yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
277             yy_current_buffer->yy_at_bol = at_bol; \
278             }
279              
280             #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
281              
282              
283             #define yywrap() 1
284             #define YY_SKIP_YYWRAP
285             typedef unsigned char YY_CHAR;
286             FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
287             typedef int yy_state_type;
288             extern char *yytext;
289             #define yytext_ptr yytext
290              
291             static yy_state_type yy_get_previous_state YY_PROTO(( void ));
292             static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
293             static int yy_get_next_buffer YY_PROTO(( void ));
294             static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
295              
296             /* Done after the current pattern has been matched and before the
297             * corresponding action - sets up yytext.
298             */
299             #define YY_DO_BEFORE_ACTION \
300             yytext_ptr = yy_bp; \
301             yytext_ptr -= yy_more_len; \
302             yyleng = (int) (yy_cp - yytext_ptr); \
303             yy_hold_char = *yy_cp; \
304             *yy_cp = '\0'; \
305             yy_c_buf_p = yy_cp;
306              
307             #define YY_NUM_RULES 820
308             #define YY_END_OF_BUFFER 821
309             static yyconst short int yy_accept[3327] =
310             { 0,
311             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
312             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
313             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
314             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
315             0, 0, 0, 0, 821, 6, 5, 1, 6, 6,
316             739, 738, 737, 92, 97, 8, 38, 101, 48, 50,
317             99, 88, 90, 87, 86, 82, 43, 91, 95, 93,
318             96, 42, 49, 739, 51, 11, 12, 98, 14, 63,
319             15, 94, 820, 820, 788, 787, 787, 786, 785, 784,
320             782, 783, 803, 802, 802, 801, 799, 800, 793, 792,
321              
322             792, 791, 789, 790, 798, 797, 797, 796, 794, 795,
323             781, 780, 780, 779, 777, 778, 820, 809, 808, 808,
324             807, 805, 806, 814, 813, 813, 812, 810, 811, 819,
325             818, 818, 817, 815, 816, 820, 775, 775, 776, 743,
326             742, 742, 741, 768, 820, 767, 773, 770, 771, 772,
327             769, 750, 750, 748, 748, 745, 820, 746, 1, 0,
328             3, 2, 738, 8, 0, 0, 0, 0, 0, 102,
329             44, 0, 0, 43, 42, 715, 720, 89, 0, 40,
330             39, 9, 711, 713, 716, 733, 733, 733, 733, 733,
331             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
332              
333             733, 733, 733, 733, 733, 733, 733, 41, 10, 733,
334             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
335             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
336             733, 733, 733, 733, 53, 65, 55, 0, 13, 0,
337             740, 787, 802, 792, 797, 780, 0, 804, 808, 807,
338             813, 812, 818, 817, 0, 0, 0, 0, 0, 0,
339             0, 0, 0, 0, 0, 742, 768, 0, 0, 0,
340             773, 0, 749, 0, 747, 745, 744, 0, 746, 4,
341             0, 0, 0, 734, 0, 0, 0, 103, 0, 43,
342             43, 7, 733, 733, 733, 733, 733, 733, 733, 733,
343              
344             733, 733, 733, 733, 733, 733, 538, 733, 733, 733,
345             733, 733, 733, 733, 733, 186, 187, 733, 733, 733,
346             733, 733, 176, 165, 733, 542, 733, 733, 733, 733,
347             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
348             733, 733, 181, 733, 733, 733, 733, 733, 733, 733,
349             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
350             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
351             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
352             733, 733, 733, 733, 733, 733, 733, 733, 733, 366,
353             356, 733, 334, 733, 733, 733, 733, 733, 733, 733,
354              
355             733, 733, 308, 733, 733, 733, 733, 733, 733, 733,
356             733, 733, 733, 367, 733, 149, 733, 733, 398, 733,
357             150, 733, 335, 733, 733, 733, 733, 733, 733, 454,
358             115, 733, 733, 733, 733, 733, 569, 733, 392, 733,
359             733, 733, 733, 733, 733, 733, 116, 733, 733, 733,
360             733, 733, 733, 733, 733, 733, 733, 733, 733, 118,
361             733, 453, 733, 733, 733, 733, 733, 733, 733, 733,
362             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
363             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
364             733, 733, 733, 733, 733, 733, 733, 733, 207, 733,
365              
366             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
367             733, 541, 456, 733, 733, 733, 117, 733, 733, 733,
368             733, 0, 0, 0, 0, 0, 0, 0, 0, 0,
369             0, 0, 0, 0, 0, 766, 765, 764, 735, 0,
370             0, 0, 0, 104, 0, 45, 733, 733, 20, 546,
371             733, 323, 733, 324, 557, 733, 733, 733, 733, 183,
372             733, 733, 733, 733, 733, 733, 733, 733, 258, 733,
373             733, 733, 733, 177, 178, 188, 733, 733, 259, 733,
374             733, 733, 189, 733, 733, 733, 733, 733, 733, 733,
375             733, 617, 733, 733, 733, 733, 733, 733, 733, 733,
376              
377             733, 733, 733, 138, 733, 322, 733, 733, 733, 630,
378             733, 733, 733, 733, 733, 18, 733, 733, 733, 474,
379             733, 733, 733, 733, 304, 733, 733, 733, 123, 733,
380             733, 733, 733, 733, 733, 139, 141, 143, 298, 733,
381             733, 733, 733, 733, 733, 733, 733, 144, 733, 157,
382             733, 733, 145, 733, 472, 733, 642, 733, 733, 733,
383             536, 733, 733, 693, 733, 733, 733, 733, 733, 110,
384             535, 733, 146, 733, 733, 733, 733, 733, 733, 733,
385             158, 358, 357, 733, 733, 733, 733, 733, 650, 733,
386             733, 147, 733, 733, 194, 733, 733, 733, 733, 733,
387              
388             159, 572, 733, 733, 733, 733, 733, 148, 733, 733,
389             733, 733, 733, 733, 733, 368, 733, 733, 553, 160,
390             733, 733, 554, 733, 733, 733, 733, 151, 733, 733,
391             733, 733, 733, 211, 733, 163, 733, 733, 190, 571,
392             164, 564, 733, 733, 733, 733, 733, 733, 733, 733,
393             733, 567, 568, 733, 733, 733, 733, 733, 506, 733,
394             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
395             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
396             733, 733, 733, 733, 133, 733, 733, 733, 733, 733,
397             733, 124, 563, 733, 733, 733, 733, 733, 733, 733,
398              
399             552, 119, 733, 733, 733, 733, 733, 733, 733, 733,
400             733, 733, 733, 733, 733, 152, 733, 733, 733, 733,
401             423, 153, 733, 733, 733, 733, 733, 733, 733, 733,
402             733, 733, 733, 733, 733, 596, 166, 733, 733, 155,
403             121, 733, 733, 733, 733, 733, 733, 733, 733, 733,
404             733, 507, 733, 733, 733, 733, 733, 733, 733, 733,
405             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
406             634, 481, 733, 733, 733, 733, 733, 733, 733, 733,
407             733, 733, 0, 0, 0, 0, 0, 0, 0, 0,
408             0, 0, 0, 0, 0, 0, 736, 0, 37, 0,
409              
410             43, 0, 733, 171, 24, 27, 21, 733, 733, 733,
411             733, 733, 733, 733, 733, 733, 184, 733, 733, 733,
412             733, 733, 733, 733, 733, 543, 733, 733, 733, 733,
413             733, 733, 733, 733, 733, 193, 733, 544, 733, 64,
414             733, 733, 182, 733, 733, 733, 733, 733, 733, 733,
415             733, 733, 733, 733, 656, 733, 733, 733, 733, 106,
416             534, 733, 733, 733, 733, 22, 733, 26, 733, 19,
417             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
418             733, 733, 733, 733, 733, 733, 733, 169, 733, 733,
419             551, 733, 733, 733, 733, 733, 733, 430, 733, 733,
420              
421             733, 140, 142, 733, 733, 733, 228, 733, 733, 733,
422             733, 733, 643, 733, 733, 733, 733, 733, 36, 733,
423             733, 291, 733, 733, 733, 733, 733, 733, 733, 733,
424             733, 733, 733, 733, 733, 733, 733, 733, 480, 733,
425             621, 733, 733, 733, 359, 733, 733, 361, 733, 733,
426             733, 733, 733, 733, 733, 537, 733, 733, 726, 733,
427             733, 574, 733, 733, 733, 733, 733, 733, 733, 112,
428             733, 733, 733, 733, 733, 73, 733, 733, 733, 16,
429             369, 733, 733, 733, 733, 733, 733, 34, 733, 733,
430             733, 376, 733, 733, 733, 733, 733, 733, 733, 733,
431              
432             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
433             733, 733, 733, 733, 733, 733, 733, 733, 399, 433,
434             733, 402, 733, 394, 733, 733, 733, 733, 733, 733,
435             425, 733, 733, 733, 733, 733, 733, 733, 733, 733,
436             457, 580, 733, 733, 733, 733, 733, 733, 733, 655,
437             733, 733, 620, 733, 353, 733, 733, 733, 565, 348,
438             733, 597, 733, 733, 718, 733, 79, 733, 733, 733,
439             733, 733, 33, 733, 659, 733, 733, 733, 733, 733,
440             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
441             733, 154, 733, 733, 733, 733, 733, 733, 733, 733,
442              
443             658, 733, 733, 733, 733, 584, 733, 733, 431, 733,
444             733, 733, 156, 733, 733, 661, 733, 733, 733, 733,
445             733, 733, 733, 733, 733, 733, 733, 733, 733, 35,
446             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
447             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
448             733, 733, 62, 733, 733, 733, 733, 733, 733, 733,
449             733, 109, 0, 0, 0, 0, 0, 0, 0, 0,
450             0, 0, 0, 763, 0, 0, 0, 0, 0, 170,
451             29, 25, 733, 733, 172, 733, 733, 733, 733, 173,
452             733, 185, 733, 733, 733, 733, 733, 191, 607, 733,
453              
454             733, 733, 179, 733, 733, 180, 302, 733, 733, 733,
455             419, 417, 733, 615, 533, 700, 105, 452, 509, 733,
456             733, 733, 733, 695, 414, 733, 733, 733, 733, 733,
457             692, 733, 733, 733, 733, 733, 733, 733, 28, 23,
458             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
459             623, 733, 733, 733, 733, 733, 689, 733, 733, 733,
460             733, 733, 293, 733, 648, 733, 733, 733, 733, 733,
461             733, 733, 297, 672, 733, 733, 733, 733, 733, 733,
462             733, 733, 733, 416, 733, 733, 733, 644, 294, 108,
463             733, 733, 733, 733, 489, 733, 733, 733, 733, 733,
464              
465             733, 733, 733, 549, 733, 733, 733, 733, 733, 733,
466             733, 437, 733, 733, 733, 733, 733, 705, 439, 107,
467             733, 733, 362, 364, 733, 733, 733, 733, 733, 733,
468             733, 733, 733, 733, 576, 539, 733, 733, 733, 46,
469             733, 733, 733, 733, 540, 113, 59, 733, 733, 733,
470             71, 292, 733, 733, 733, 733, 733, 733, 733, 733,
471             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
472             733, 377, 378, 733, 733, 733, 733, 733, 58, 733,
473             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
474             733, 733, 733, 733, 733, 733, 733, 558, 733, 441,
475              
476             221, 213, 733, 733, 733, 733, 733, 400, 733, 733,
477             403, 733, 405, 391, 393, 733, 532, 733, 733, 733,
478             432, 733, 733, 733, 733, 223, 215, 586, 125, 733,
479             733, 733, 606, 733, 733, 733, 733, 733, 733, 733,
480             733, 733, 733, 733, 593, 733, 733, 733, 733, 733,
481             100, 733, 733, 719, 733, 61, 733, 733, 77, 733,
482             17, 733, 733, 733, 733, 733, 733, 733, 733, 733,
483             60, 733, 225, 217, 733, 501, 733, 120, 424, 688,
484             733, 426, 660, 733, 733, 464, 463, 733, 733, 733,
485             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
486              
487             733, 227, 219, 733, 733, 733, 622, 733, 111, 733,
488             733, 646, 583, 733, 733, 733, 733, 733, 295, 733,
489             300, 556, 555, 230, 733, 733, 733, 458, 733, 733,
490             418, 733, 733, 733, 733, 128, 733, 733, 733, 733,
491             733, 733, 420, 296, 733, 614, 733, 733, 733, 733,
492             733, 733, 733, 733, 733, 733, 733, 0, 0, 0,
493             0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
494             303, 299, 43, 484, 733, 733, 733, 733, 733, 733,
495             733, 733, 175, 733, 733, 733, 733, 602, 733, 733,
496             469, 470, 733, 733, 733, 421, 413, 135, 136, 137,
497              
498             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
499             733, 733, 306, 733, 301, 733, 733, 733, 733, 733,
500             733, 733, 733, 618, 733, 733, 733, 733, 733, 566,
501             415, 545, 733, 733, 733, 502, 485, 733, 486, 733,
502             733, 733, 733, 733, 733, 733, 733, 733, 733, 581,
503             733, 599, 733, 733, 733, 733, 504, 733, 733, 733,
504             733, 645, 733, 733, 733, 733, 733, 733, 733, 733,
505             733, 733, 733, 233, 733, 733, 733, 733, 491, 733,
506             733, 733, 733, 733, 550, 733, 733, 733, 529, 733,
507             733, 733, 381, 733, 733, 733, 380, 733, 733, 733,
508              
509             733, 578, 733, 733, 733, 733, 733, 733, 619, 733,
510             114, 74, 52, 733, 733, 733, 733, 733, 733, 733,
511             733, 733, 733, 733, 733, 733, 70, 161, 162, 733,
512             733, 733, 733, 733, 733, 733, 733, 471, 733, 210,
513             685, 683, 733, 733, 733, 687, 679, 733, 728, 733,
514             733, 733, 684, 733, 680, 681, 733, 733, 591, 422,
515             733, 733, 733, 733, 733, 451, 733, 733, 733, 733,
516             733, 733, 438, 733, 733, 733, 733, 733, 733, 733,
517             733, 733, 733, 733, 733, 733, 449, 450, 733, 733,
518             733, 604, 733, 605, 601, 733, 733, 733, 733, 733,
519              
520             733, 733, 733, 733, 733, 733, 733, 396, 733, 733,
521             733, 733, 436, 733, 80, 54, 76, 733, 733, 733,
522             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
523             733, 473, 733, 733, 733, 733, 733, 733, 733, 733,
524             733, 733, 733, 733, 547, 69, 733, 733, 341, 733,
525             733, 733, 442, 733, 733, 733, 406, 733, 733, 624,
526             625, 733, 733, 733, 733, 733, 733, 595, 664, 733,
527             733, 733, 733, 733, 733, 733, 733, 733, 733, 234,
528             733, 733, 733, 733, 733, 733, 733, 134, 733, 129,
529             733, 733, 733, 733, 733, 333, 733, 733, 733, 733,
530              
531             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
532             0, 0, 0, 762, 0, 758, 0, 0, 0, 0,
533             761, 0, 0, 733, 312, 733, 461, 733, 316, 733,
534             733, 733, 733, 733, 733, 733, 733, 231, 733, 192,
535             733, 733, 733, 733, 337, 733, 733, 482, 733, 483,
536             673, 733, 733, 455, 733, 609, 733, 733, 733, 733,
537             512, 733, 733, 733, 733, 733, 733, 733, 733, 592,
538             733, 733, 733, 733, 632, 733, 733, 733, 733, 733,
539             311, 733, 710, 733, 733, 733, 733, 733, 733, 733,
540             733, 733, 505, 462, 174, 733, 733, 733, 330, 733,
541              
542             733, 733, 733, 733, 733, 733, 733, 733, 168, 315,
543             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
544             733, 733, 384, 733, 733, 733, 733, 733, 199, 733,
545             733, 733, 733, 733, 731, 733, 733, 733, 733, 733,
546             733, 733, 733, 733, 372, 733, 733, 375, 386, 75,
547             733, 733, 733, 733, 733, 733, 514, 733, 729, 690,
548             733, 733, 733, 733, 730, 733, 691, 733, 733, 733,
549             733, 733, 733, 733, 508, 220, 212, 733, 733, 733,
550             733, 503, 733, 733, 733, 733, 733, 397, 733, 733,
551             733, 388, 448, 434, 733, 222, 214, 167, 733, 733,
552              
553             733, 733, 733, 654, 706, 733, 562, 725, 733, 733,
554             733, 733, 733, 498, 598, 733, 733, 733, 733, 733,
555             733, 733, 733, 733, 733, 733, 733, 707, 709, 81,
556             733, 733, 224, 216, 733, 733, 733, 733, 733, 733,
557             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
558             733, 733, 733, 446, 733, 733, 226, 218, 733, 733,
559             733, 733, 733, 733, 733, 663, 733, 733, 733, 733,
560             733, 733, 733, 733, 733, 83, 733, 733, 122, 733,
561             733, 733, 733, 733, 733, 733, 733, 733, 733, 633,
562             733, 651, 733, 635, 733, 733, 733, 733, 733, 733,
563              
564             733, 290, 733, 733, 0, 0, 0, 0, 0, 751,
565             0, 0, 0, 774, 733, 310, 320, 733, 314, 733,
566             733, 733, 733, 733, 733, 733, 733, 336, 733, 733,
567             733, 733, 733, 339, 733, 733, 733, 733, 608, 733,
568             611, 610, 733, 613, 616, 733, 733, 733, 733, 590,
569             594, 708, 733, 733, 733, 733, 459, 697, 733, 704,
570             733, 309, 319, 733, 733, 733, 733, 327, 733, 733,
571             733, 733, 321, 733, 733, 733, 490, 733, 733, 733,
572             733, 733, 733, 202, 548, 733, 313, 733, 733, 733,
573             733, 733, 733, 733, 360, 363, 733, 733, 733, 733,
574              
575             733, 733, 733, 733, 733, 47, 573, 587, 733, 733,
576             733, 733, 733, 733, 733, 733, 370, 733, 733, 733,
577             733, 733, 387, 733, 733, 733, 733, 32, 686, 31,
578             733, 30, 733, 714, 493, 733, 733, 733, 733, 733,
579             721, 733, 733, 733, 733, 733, 733, 733, 733, 733,
580             733, 733, 733, 733, 733, 733, 733, 631, 733, 349,
581             733, 733, 733, 733, 499, 733, 733, 733, 733, 733,
582             733, 733, 733, 733, 733, 699, 703, 733, 733, 733,
583             66, 570, 733, 733, 733, 733, 733, 733, 465, 467,
584             653, 733, 342, 733, 694, 733, 733, 733, 447, 407,
585              
586             733, 676, 733, 733, 733, 477, 733, 733, 427, 733,
587             733, 733, 733, 733, 733, 733, 733, 652, 733, 733,
588             733, 733, 127, 733, 733, 130, 733, 733, 131, 733,
589             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
590             733, 754, 756, 759, 753, 0, 752, 0, 755, 733,
591             229, 733, 198, 733, 733, 733, 733, 733, 733, 696,
592             733, 511, 338, 67, 733, 733, 670, 733, 603, 733,
593             733, 733, 733, 733, 733, 733, 733, 733, 698, 733,
594             733, 600, 733, 733, 733, 733, 733, 733, 733, 733,
595             733, 733, 733, 84, 733, 733, 733, 666, 733, 733,
596              
597             702, 701, 733, 733, 668, 365, 382, 733, 385, 560,
598             733, 733, 197, 733, 733, 206, 733, 733, 733, 733,
599             733, 733, 733, 373, 733, 56, 733, 733, 733, 733,
600             379, 733, 733, 733, 733, 733, 733, 733, 733, 733,
601             401, 733, 733, 404, 350, 733, 395, 733, 389, 435,
602             733, 733, 627, 733, 733, 733, 494, 733, 733, 733,
603             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
604             57, 733, 733, 733, 733, 733, 733, 460, 733, 733,
605             733, 733, 343, 344, 733, 733, 733, 408, 409, 675,
606             475, 733, 733, 712, 733, 733, 526, 733, 733, 733,
607              
608             733, 733, 733, 629, 733, 733, 733, 733, 733, 733,
609             733, 478, 733, 733, 733, 649, 647, 733, 733, 733,
610             733, 733, 733, 733, 733, 733, 760, 0, 733, 733,
611             733, 254, 733, 200, 733, 733, 733, 733, 733, 733,
612             733, 733, 733, 733, 682, 733, 325, 733, 733, 733,
613             733, 733, 733, 328, 733, 733, 733, 733, 733, 733,
614             733, 733, 733, 733, 733, 354, 733, 733, 733, 383,
615             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
616             733, 733, 733, 371, 374, 72, 733, 733, 733, 733,
617             733, 733, 733, 264, 733, 733, 733, 733, 733, 265,
618              
619             733, 733, 733, 390, 733, 733, 733, 733, 733, 733,
620             495, 733, 733, 733, 208, 733, 733, 733, 733, 733,
621             733, 733, 733, 78, 733, 677, 733, 588, 733, 589,
622             733, 466, 468, 662, 345, 443, 733, 733, 410, 733,
623             717, 733, 733, 733, 733, 733, 733, 628, 733, 733,
624             733, 733, 733, 733, 733, 244, 132, 479, 733, 733,
625             733, 283, 733, 733, 733, 733, 281, 733, 733, 733,
626             0, 318, 733, 733, 733, 255, 235, 126, 665, 671,
627             733, 733, 733, 515, 733, 733, 326, 585, 317, 733,
628             487, 488, 733, 733, 733, 733, 733, 561, 733, 733,
629              
630             733, 733, 733, 733, 232, 355, 733, 669, 733, 733,
631             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
632             733, 733, 733, 733, 733, 733, 733, 733, 733, 268,
633             723, 733, 733, 733, 269, 733, 733, 733, 733, 733,
634             733, 733, 497, 496, 733, 733, 733, 733, 733, 733,
635             733, 733, 733, 733, 733, 733, 733, 733, 445, 444,
636             476, 733, 733, 733, 733, 733, 733, 733, 733, 733,
637             733, 85, 733, 733, 733, 733, 733, 733, 284, 733,
638             733, 733, 733, 280, 733, 0, 307, 733, 733, 733,
639             733, 733, 513, 733, 733, 733, 733, 733, 733, 733,
640              
641             733, 733, 674, 733, 733, 733, 733, 733, 733, 733,
642             733, 733, 733, 305, 733, 733, 733, 733, 733, 733,
643             733, 733, 733, 733, 733, 733, 733, 733, 667, 733,
644             626, 733, 733, 722, 733, 733, 733, 733, 727, 733,
645             733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
646             733, 500, 733, 733, 733, 733, 428, 429, 733, 733,
647             733, 733, 733, 733, 657, 733, 733, 733, 346, 411,
648             733, 733, 733, 733, 733, 733, 733, 733, 757, 733,
649             733, 612, 733, 530, 516, 733, 733, 733, 733, 733,
650             733, 238, 733, 329, 733, 733, 733, 733, 733, 492,
651              
652             201, 733, 733, 250, 733, 272, 733, 733, 733, 733,
653             733, 733, 733, 204, 733, 256, 733, 510, 733, 724,
654             733, 733, 520, 733, 637, 733, 733, 733, 733, 733,
655             733, 733, 733, 733, 733, 733, 733, 733, 351, 68,
656             733, 733, 440, 733, 733, 733, 733, 733, 733, 278,
657             733, 347, 412, 733, 733, 733, 733, 733, 733, 733,
658             733, 196, 733, 733, 733, 733, 733, 733, 733, 733,
659             733, 247, 733, 239, 340, 575, 249, 733, 733, 203,
660             733, 733, 252, 209, 733, 733, 236, 331, 733, 205,
661             257, 733, 733, 352, 733, 521, 733, 636, 733, 251,
662              
663             733, 270, 733, 733, 733, 733, 733, 733, 733, 559,
664             524, 733, 577, 733, 733, 640, 733, 733, 279, 733,
665             733, 733, 288, 733, 733, 733, 733, 733, 531, 733,
666             733, 733, 260, 733, 582, 733, 248, 274, 733, 733,
667             273, 253, 733, 733, 733, 266, 267, 522, 733, 733,
668             733, 733, 245, 733, 733, 237, 332, 733, 733, 525,
669             733, 733, 733, 639, 527, 733, 285, 289, 282, 733,
670             733, 733, 733, 733, 733, 261, 733, 275, 0, 0,
671             733, 733, 242, 523, 733, 733, 271, 733, 246, 241,
672             678, 262, 733, 733, 528, 733, 733, 733, 519, 517,
673              
674             733, 733, 0, 0, 0, 732, 276, 733, 733, 579,
675             277, 263, 733, 733, 733, 195, 518, 240, 733, 638,
676             733, 286, 287, 243, 641, 0
677             } ;
678              
679             static yyconst int yy_ec[256] =
680             { 0,
681             1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
682             1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
683             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
684             1, 4, 5, 1, 6, 7, 8, 9, 10, 11,
685             12, 13, 14, 15, 16, 17, 18, 19, 19, 19,
686             19, 19, 19, 19, 19, 19, 19, 20, 21, 1,
687             22, 1, 23, 1, 24, 25, 26, 27, 28, 29,
688             30, 31, 32, 31, 33, 34, 35, 36, 37, 38,
689             31, 39, 40, 41, 42, 43, 44, 45, 31, 46,
690             47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
691              
692             57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
693             67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
694             77, 78, 79, 80, 81, 82, 1, 1, 1, 1,
695             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
696             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
697             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
698             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
699             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
700             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
701             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
702              
703             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
704             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
705             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
706             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
707             1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
708             1, 1, 1, 1, 1
709             } ;
710              
711             static yyconst int yy_meta[83] =
712             { 0,
713             1, 2, 3, 2, 1, 4, 1, 1, 1, 1,
714             1, 1, 1, 1, 1, 2, 2, 1, 5, 1,
715             6, 1, 1, 7, 7, 7, 7, 7, 7, 8,
716             8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
717             8, 8, 8, 8, 8, 8, 1, 1, 1, 1,
718             9, 1, 7, 7, 7, 7, 7, 7, 8, 8,
719             8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
720             8, 8, 8, 8, 8, 8, 8, 8, 1, 1,
721             2, 1
722             } ;
723              
724             static yyconst short int yy_base[3350] =
725             { 0,
726             0, 1, 49, 0, 3983, 3982, 131, 0, 213, 0,
727             295, 0, 377, 0, 459, 0, 3981, 3980, 540, 543,
728             546, 549, 552, 570, 3979, 3978, 4008, 4007, 3973, 3972,
729             573, 576, 579, 582, 589, 592, 554, 555, 557, 558,
730             3973, 3972, 3969, 3968, 4048, 4063, 4063, 4040, 4009, 0,
731             4063, 8, 4063, 4063, 4063, 4038, 561, 4034, 4063, 4063,
732             4063, 4063, 4063, 4063, 4024, 4063, 0, 4063, 4063, 4063,
733             4063, 0, 4063, 670, 4063, 4063, 4063, 4063, 605, 4063,
734             4063, 4063, 4063, 3961, 4063, 18, 21, 4063, 4063, 4063,
735             4063, 4063, 4063, 28, 31, 4063, 4063, 4063, 4063, 34,
736              
737             37, 4063, 4063, 4063, 4063, 40, 595, 4063, 4063, 4063,
738             4063, 608, 613, 4063, 4063, 4063, 3960, 4063, 633, 636,
739             4021, 4063, 4063, 4063, 639, 661, 4020, 4063, 4063, 4063,
740             664, 685, 4019, 4063, 4063, 727, 4063, 3980, 4063, 4063,
741             718, 751, 4063, 754, 515, 4063, 757, 4063, 4063, 4063,
742             4063, 4063, 3987, 4063, 3986, 760, 3953, 4063, 4063, 4004,
743             4063, 4063, 12, 4063, 569, 4011, 627, 585, 651, 4021,
744             4011, 4010, 4009, 750, 0, 4063, 4063, 4063, 0, 4063,
745             4063, 4063, 4063, 4063, 4063, 3963, 711, 579, 716, 494,
746             0, 3973, 722, 3972, 740, 3951, 3950, 731, 745, 752,
747              
748             596, 757, 615, 764, 3965, 3960, 3963, 4063, 4063, 760,
749             776, 791, 812, 806, 786, 831, 839, 846, 3954, 627,
750             876, 892, 932, 890, 955, 826, 984, 1000, 1023, 858,
751             864, 906, 1040, 3961, 4063, 4063, 4063, 857, 4063, 3936,
752             4063, 898, 966, 975, 978, 1007, 3935, 4063, 1019, 3996,
753             1026, 3995, 1029, 3994, 3947, 3946, 590, 3945, 3956, 3955,
754             3954, 3941, 789, 3940, 3938, 1032, 1083, 3954, 3953, 3952,
755             1092, 3951, 4063, 3950, 4063, 1104, 4063, 3917, 4063, 4063,
756             815, 0, 3976, 4063, 753, 773, 758, 3986, 3976, 3975,
757             908, 4063, 3925, 3920, 3932, 3914, 3924, 3920, 3923, 3918,
758              
759             3921, 3931, 3908, 716, 3929, 3916, 0, 3908, 3907, 3910,
760             3912, 3918, 3918, 3908, 3913, 0, 0, 3915, 3907, 3909,
761             3899, 3907, 0, 0, 3906, 0, 3899, 3906, 3903, 3903,
762             3903, 813, 3888, 3903, 3898, 901, 3905, 3904, 3903, 543,
763             3899, 3898, 0, 3881, 927, 3899, 3892, 3882, 931, 817,
764             3882, 720, 991, 855, 821, 3895, 1027, 949, 3879, 3879,
765             3881, 785, 3874, 925, 1045, 3888, 973, 1053, 3878, 1062,
766             1055, 1069, 3888, 1058, 3872, 3875, 998, 3882, 3866, 1066,
767             964, 979, 3872, 3875, 3881, 3863, 1000, 3867, 3875, 3861,
768             3870, 1079, 3858, 3870, 3854, 3872, 3871, 1077, 3866, 3864,
769              
770             878, 1029, 1083, 3849, 3863, 3866, 3850, 3847, 3859, 1023,
771             3845, 3857, 3846, 1087, 3848, 0, 3855, 3845, 1095, 3842,
772             1094, 1094, 3847, 3850, 1094, 1006, 3839, 842, 3849, 0,
773             3840, 3846, 3841, 3874, 1092, 3833, 1128, 1097, 0, 3842,
774             3837, 3825, 903, 3835, 1107, 3825, 0, 1136, 1147, 1025,
775             3828, 1116, 1118, 3829, 3831, 3834, 1118, 3820, 747, 3817,
776             3815, 3820, 1122, 3825, 3829, 3811, 3830, 3825, 3815, 3810,
777             3822, 3814, 927, 857, 3824, 3809, 1109, 1072, 3814, 3817,
778             3803, 1154, 1132, 1136, 3819, 1133, 1138, 1135, 3807, 3817,
779             1156, 1169, 1130, 3808, 1147, 3798, 1155, 1150, 1160, 3806,
780              
781             3799, 3798, 3811, 1169, 1176, 3810, 3792, 1164, 1180, 3805,
782             3804, 0, 0, 3802, 3797, 3790, 0, 3799, 3802, 3793,
783             3781, 3799, 3798, 3789, 3779, 3795, 3776, 3774, 3773, 3791,
784             3790, 3778, 3782, 3787, 3783, 4063, 4063, 4063, 4063, 3817,
785             1197, 3816, 1199, 4063, 3817, 1224, 3775, 3781, 1187, 0,
786             3765, 0, 3765, 0, 3759, 3765, 3763, 3761, 3772, 0,
787             3761, 3768, 3771, 3755, 3768, 3749, 3762, 3760, 0, 3759,
788             3744, 3751, 3747, 0, 0, 0, 3754, 3754, 0, 3747,
789             3740, 3739, 0, 3737, 3741, 3737, 3739, 3744, 3733, 3733,
790             3731, 0, 3729, 3747, 3740, 3745, 3729, 3737, 3735, 3730,
791              
792             3729, 3722, 1183, 0, 3738, 0, 3725, 3721, 3725, 3712,
793             3733, 3724, 1192, 3717, 3722, 1201, 3715, 3726, 3724, 3707,
794             3706, 1213, 3713, 3708, 0, 3703, 3710, 3718, 0, 3717,
795             3700, 3716, 1224, 1221, 3699, 3708, 3707, 0, 0, 1170,
796             3707, 3695, 3704, 3708, 3703, 1186, 3689, 0, 3688, 0,
797             3694, 3705, 0, 3689, 3695, 3687, 1226, 3700, 3687, 3699,
798             0, 3694, 3678, 3677, 3687, 1223, 3692, 3682, 1226, 0,
799             0, 3674, 0, 3680, 3682, 3670, 3688, 1193, 3665, 3674,
800             0, 1190, 0, 3670, 3668, 3675, 1243, 3665, 0, 3664,
801             3663, 0, 3669, 3673, 0, 1237, 3658, 3657, 3664, 3663,
802              
803             1240, 3669, 3672, 3671, 3647, 3650, 3653, 0, 3650, 3665,
804             3659, 3664, 3655, 3643, 3642, 1233, 3642, 3645, 0, 1244,
805             1240, 3641, 0, 3637, 3641, 3639, 3646, 0, 3647, 3637,
806             3647, 3638, 3632, 3630, 3640, 0, 3628, 3627, 0, 0,
807             3624, 3639, 3623, 3636, 3634, 3639, 3627, 3617, 3623, 3618,
808             3617, 1245, 3613, 3624, 3615, 3613, 1251, 3626, 1252, 3611,
809             3623, 3620, 3611, 3612, 1269, 3615, 3622, 3621, 3603, 3602,
810             3600, 3598, 3597, 3609, 1264, 3597, 3593, 3612, 3599, 3593,
811             3606, 1268, 3593, 3594, 0, 3604, 3587, 3601, 3601, 3590,
812             1271, 0, 0, 3601, 3597, 3582, 3592, 3597, 3588, 3581,
813              
814             0, 0, 3587, 3585, 3577, 3571, 3571, 1278, 3576, 3571,
815             3575, 3569, 3577, 3567, 3566, 0, 3570, 3564, 3563, 3567,
816             3574, 3570, 3558, 3564, 3563, 1270, 3569, 1275, 3553, 3551,
817             3570, 3569, 1274, 3550, 3565, 0, 3548, 3548, 3547, 3556,
818             0, 3549, 3543, 3541, 3559, 1262, 1281, 3555, 3553, 3550,
819             3544, 0, 1282, 3547, 3534, 3537, 3547, 3536, 3542, 3541,
820             3530, 1288, 3546, 3525, 3536, 3528, 3524, 1294, 3523, 3521,
821             0, 3538, 3519, 3531, 3532, 3530, 3528, 3519, 3527, 3516,
822             3524, 3529, 3509, 3508, 3520, 3525, 3505, 3519, 3515, 3504,
823             3501, 3508, 3510, 3489, 3497, 3470, 4063, 1290, 4063, 1312,
824              
825             1337, 3520, 3440, 0, 1222, 0, 0, 3426, 3416, 511,
826             523, 565, 591, 604, 639, 696, 0, 774, 821, 1300,
827             875, 954, 1017, 1192, 1232, 0, 1271, 1298, 1306, 1304,
828             1306, 1314, 1302, 1299, 1296, 1308, 1313, 0, 1314, 0,
829             1304, 1319, 0, 1317, 1313, 1327, 1322, 1325, 1316, 1317,
830             1324, 1333, 1310, 1320, 0, 1332, 1333, 1318, 1326, 0,
831             0, 1336, 1330, 1337, 1344, 1334, 1329, 0, 1343, 0,
832             1337, 1332, 1339, 1351, 1353, 1347, 1350, 1343, 1349, 1357,
833             1352, 1364, 1360, 1358, 1362, 1367, 1368, 1355, 1360, 1365,
834             1372, 1357, 1360, 1368, 1380, 1368, 1367, 0, 1371, 1372,
835              
836             1373, 0, 0, 1365, 1386, 1387, 0, 1381, 1379, 1388,
837             1381, 1377, 1379, 1399, 1386, 1389, 1392, 1401, 0, 1389,
838             1395, 0, 1396, 1408, 1392, 1407, 1388, 1399, 1403, 1399,
839             1406, 1404, 1419, 1409, 1400, 1403, 1415, 1418, 0, 1414,
840             0, 1422, 1414, 1430, 0, 1420, 1417, 1417, 1422, 1420,
841             1422, 1421, 1434, 1431, 1421, 0, 1422, 1431, 0, 1430,
842             1425, 0, 1438, 1438, 1427, 1436, 1426, 1445, 1440, 0,
843             1440, 1447, 1455, 1437, 1454, 1447, 1457, 1449, 1443, 1463,
844             0, 1453, 1465, 1452, 1454, 1452, 1467, 0, 1475, 1458,
845             1462, 1462, 1467, 1473, 1485, 1473, 1483, 1469, 1470, 1490,
846              
847             1473, 1479, 1478, 1486, 1491, 1481, 1495, 1485, 1505, 1489,
848             1504, 1494, 1495, 1509, 1499, 1508, 1508, 1499, 1502, 0,
849             1500, 1505, 1504, 0, 1511, 1517, 1526, 1525, 1521, 1512,
850             0, 1512, 1529, 1514, 1533, 1516, 1517, 1519, 1520, 1531,
851             0, 0, 1539, 1523, 1521, 1542, 1525, 1526, 1541, 1545,
852             1539, 1537, 0, 1541, 0, 1531, 1544, 1551, 0, 1553,
853             1550, 1538, 1540, 1557, 1544, 1545, 1554, 1565, 1557, 1555,
854             1551, 1559, 0, 1555, 0, 1563, 1567, 1561, 1562, 1572,
855             1579, 1576, 1562, 1567, 1566, 1567, 1577, 1571, 1568, 1588,
856             1573, 0, 1583, 1580, 1588, 1589, 1590, 1578, 1581, 1582,
857              
858             0, 1597, 1582, 1582, 1591, 0, 1582, 1599, 1604, 1601,
859             1590, 1592, 0, 1596, 1597, 1595, 1612, 1611, 1616, 1609,
860             1602, 1617, 1605, 1613, 1606, 1613, 1616, 1624, 1611, 0,
861             1613, 1618, 1629, 1630, 1617, 1618, 1614, 1620, 1620, 1628,
862             1640, 1634, 1627, 1643, 1630, 1638, 1640, 1640, 1642, 1643,
863             1633, 1652, 0, 1649, 1655, 1635, 1651, 1651, 1644, 1646,
864             1658, 0, 1649, 1650, 1655, 1645, 1653, 1653, 1668, 1665,
865             1658, 1666, 1659, 4063, 1662, 1662, 1713, 1714, 1717, 0,
866             0, 0, 1668, 1685, 0, 1673, 1670, 1674, 1679, 0,
867             1673, 0, 1692, 1676, 1686, 1695, 1692, 0, 0, 1679,
868              
869             1698, 1680, 0, 1681, 1682, 0, 0, 1688, 1691, 1691,
870             0, 0, 1699, 0, 0, 0, 0, 0, 0, 1684,
871             1690, 1696, 1697, 1697, 0, 1697, 1696, 1706, 1712, 1698,
872             1699, 1715, 1706, 1714, 1714, 1708, 1707, 1710, 0, 0,
873             1707, 1713, 1717, 1721, 1728, 1731, 1724, 1722, 1730, 1732,
874             0, 1725, 1713, 1726, 1735, 1721, 0, 1728, 1722, 1733,
875             1727, 1731, 0, 1733, 0, 1733, 1746, 1734, 1732, 1745,
876             1730, 1742, 1756, 0, 1757, 1739, 1739, 1758, 1758, 1763,
877             1747, 1761, 1758, 0, 1756, 1764, 1750, 0, 0, 0,
878             1757, 1759, 1772, 1769, 1772, 1756, 1773, 1761, 1767, 1782,
879              
880             1768, 1767, 1767, 1768, 1781, 1774, 1787, 1776, 1780, 1779,
881             1791, 0, 1776, 1782, 1789, 1789, 1787, 0, 0, 0,
882             1799, 1783, 0, 0, 1786, 1783, 1793, 1785, 1793, 1793,
883             1789, 1806, 1803, 1793, 0, 0, 1809, 1811, 1807, 0,
884             1799, 1815, 1803, 1799, 0, 0, 0, 1820, 1817, 1818,
885             0, 0, 1806, 1824, 1821, 1818, 1811, 1821, 1829, 1815,
886             1817, 1816, 1815, 1828, 1820, 1833, 1824, 1829, 1839, 1823,
887             1826, 0, 0, 1840, 1837, 1829, 1841, 1830, 1836, 1836,
888             1850, 1852, 1836, 1835, 1845, 1842, 1860, 1857, 1842, 1848,
889             1866, 1866, 1850, 1857, 1870, 1854, 1867, 0, 1876, 0,
890              
891             1863, 1864, 1876, 1880, 1873, 1861, 1864, 0, 1873, 1885,
892             0, 1875, 0, 0, 0, 1877, 1885, 1871, 1872, 1888,
893             1889, 1890, 1882, 1889, 1890, 1884, 1885, 0, 0, 1886,
894             1883, 1884, 0, 1897, 1887, 1889, 1903, 1900, 1905, 1897,
895             1901, 1913, 1900, 1910, 0, 1901, 1897, 1902, 1919, 1912,
896             0, 1919, 1908, 0, 1903, 0, 1920, 1921, 0, 1909,
897             1927, 1922, 1910, 1922, 1918, 1913, 1933, 1924, 1934, 1921,
898             0, 1921, 1927, 1928, 1930, 0, 1935, 0, 0, 0,
899             1943, 0, 0, 1931, 1943, 0, 0, 1934, 1935, 1950,
900             1948, 1939, 1939, 1939, 1959, 1945, 1942, 1947, 1964, 1957,
901              
902             1947, 1953, 1954, 1957, 1953, 1964, 0, 1966, 0, 1973,
903             1959, 0, 1974, 1972, 1969, 1972, 1975, 1980, 0, 1983,
904             0, 0, 0, 1967, 1968, 1973, 1972, 0, 1974, 1972,
905             0, 1972, 1977, 1974, 1987, 0, 1982, 1984, 1993, 2001,
906             1999, 1996, 0, 0, 1988, 0, 2006, 2000, 2008, 2001,
907             2006, 2011, 1993, 2002, 2014, 1996, 1998, 2010, 2012, 2017,
908             1994, 2015, 1996, 2008, 2003, 2019, 2017, 2002, 2024, 2012,
909             4063, 4063, 2068, 0, 2020, 2020, 2029, 2035, 2022, 2027,
910             2027, 2038, 0, 2026, 2038, 2028, 2041, 0, 2030, 2048,
911             0, 0, 2027, 2050, 2038, 0, 2048, 0, 0, 0,
912              
913             2038, 2036, 2047, 2044, 2057, 2052, 2055, 2046, 2048, 2045,
914             2052, 2058, 0, 2063, 0, 2062, 2048, 2048, 2057, 2070,
915             2054, 2072, 2053, 0, 2068, 2061, 2060, 2060, 2066, 0,
916             0, 0, 2059, 2062, 2077, 0, 0, 2063, 0, 2083,
917             2080, 2077, 2081, 2074, 2085, 2076, 2076, 2085, 2081, 0,
918             2078, 2076, 2081, 2094, 2095, 2083, 0, 2096, 2096, 2089,
919             2087, 0, 2102, 2106, 2083, 2094, 2095, 2092, 2110, 2095,
920             2091, 2097, 2115, 0, 2108, 2113, 2113, 2107, 0, 2108,
921             2108, 2104, 2110, 2111, 0, 2120, 2116, 2122, 0, 2116,
922             2116, 2114, 0, 2128, 2122, 2116, 0, 2131, 2116, 2132,
923              
924             2132, 0, 2136, 2136, 2122, 2142, 2143, 2140, 0, 2133,
925             0, 0, 0, 2129, 2130, 2143, 2143, 2130, 2134, 2135,
926             2140, 2140, 2137, 2151, 2141, 2147, 0, 0, 0, 2156,
927             2151, 2162, 2149, 2159, 2159, 2149, 2164, 0, 2165, 0,
928             0, 0, 2157, 2160, 2172, 2173, 0, 2174, 0, 2167,
929             2165, 2177, 0, 2161, 0, 0, 2175, 2178, 0, 0,
930             2181, 2180, 2166, 2176, 2185, 0, 2175, 2165, 2166, 2171,
931             2188, 2189, 0, 2174, 2193, 2177, 2187, 2196, 2186, 2182,
932             2199, 2188, 2182, 2188, 2186, 2200, 0, 0, 2185, 2186,
933             2196, 0, 2196, 0, 0, 2211, 2207, 2200, 2208, 2196,
934              
935             2210, 2213, 2207, 2207, 2206, 2206, 2205, 0, 2208, 2216,
936             2213, 2207, 0, 2212, 0, 0, 0, 2211, 2229, 2226,
937             2223, 2216, 2226, 2231, 2235, 2230, 2233, 2220, 2226, 2237,
938             2232, 0, 2225, 2222, 2223, 2226, 2239, 2248, 2232, 2246,
939             2231, 2250, 2249, 2250, 0, 0, 2251, 2245, 2253, 2257,
940             2245, 2244, 0, 2247, 2255, 2252, 2261, 2245, 2246, 0,
941             0, 2244, 2246, 2257, 2257, 2265, 2275, 0, 0, 2261,
942             2266, 2270, 2276, 2264, 2278, 2262, 2276, 2281, 2265, 0,
943             2288, 2275, 2277, 2274, 2284, 2278, 2287, 0, 2280, 0,
944             2284, 2279, 2280, 2280, 2300, 0, 2284, 2298, 2284, 2293,
945              
946             2303, 2289, 2299, 2308, 2305, 2302, 2294, 2304, 2299, 2314,
947             2292, 2293, 2314, 4063, 2295, 4063, 2315, 2292, 2298, 2322,
948             4063, 2300, 2318, 2311, 2311, 2316, 0, 2315, 0, 2317,
949             2329, 2318, 2326, 2317, 2316, 2319, 2320, 0, 2321, 0,
950             2323, 2321, 2333, 2330, 2339, 2326, 2341, 0, 2340, 0,
951             0, 2339, 2341, 0, 2332, 0, 2332, 2347, 2337, 2338,
952             0, 2341, 2337, 2352, 2332, 2338, 2351, 2359, 2343, 0,
953             2344, 2345, 2347, 2365, 0, 2347, 2356, 2350, 2353, 2357,
954             2357, 2362, 0, 2367, 2374, 2362, 2374, 2376, 2364, 2363,
955             2376, 2371, 0, 2367, 0, 2368, 2374, 2369, 0, 2389,
956              
957             2377, 2377, 2379, 2378, 2377, 2382, 2377, 2386, 0, 0,
958             2385, 2393, 2389, 2379, 2399, 2395, 2398, 2387, 2384, 2394,
959             2391, 2406, 0, 2395, 2404, 2394, 2407, 2414, 0, 2410,
960             2393, 2407, 2408, 2418, 0, 2407, 2407, 2404, 2417, 2417,
961             2422, 2419, 2409, 2412, 0, 2411, 2425, 0, 0, 0,
962             2428, 2431, 2411, 2416, 2429, 2423, 0, 2422, 0, 0,
963             2424, 2430, 2426, 2424, 0, 2428, 0, 2441, 2441, 2431,
964             2430, 2431, 2443, 2433, 0, 0, 0, 2436, 2448, 2443,
965             2436, 0, 2442, 2439, 2451, 2445, 2455, 0, 2443, 2453,
966             2462, 2459, 0, 2460, 2454, 0, 0, 0, 2449, 2465,
967              
968             2449, 2465, 2463, 0, 0, 2460, 0, 0, 2455, 2456,
969             2463, 2460, 2464, 0, 0, 2466, 2461, 2462, 2475, 2475,
970             2462, 2466, 2473, 2471, 2484, 2474, 2470, 0, 0, 0,
971             2485, 2488, 0, 0, 2473, 2489, 2476, 2480, 2476, 2489,
972             2490, 2499, 2481, 2482, 2491, 2495, 2488, 2501, 2496, 2490,
973             2497, 2494, 2498, 0, 2495, 2508, 0, 0, 2509, 2503,
974             2498, 2501, 2505, 2518, 2517, 0, 2516, 2508, 2511, 2523,
975             2519, 2512, 2522, 2521, 2510, 0, 2513, 2517, 0, 2518,
976             2522, 2534, 2527, 2517, 2537, 2534, 2535, 2540, 2528, 0,
977             2540, 0, 2540, 0, 2527, 2539, 2529, 2542, 2542, 2532,
978              
979             2544, 0, 2534, 2548, 2525, 2526, 2527, 2528, 2554, 4063,
980             2530, 2540, 2532, 4063, 2544, 0, 0, 2540, 0, 2544,
981             2542, 2546, 2552, 2550, 2554, 2552, 2553, 0, 2553, 2561,
982             2569, 2558, 2568, 0, 2570, 2571, 2559, 2568, 0, 2562,
983             0, 0, 2575, 0, 0, 2578, 2583, 2584, 2571, 0,
984             0, 0, 2569, 2569, 2580, 2589, 0, 0, 2571, 0,
985             2574, 0, 0, 2579, 2574, 2577, 2575, 0, 2590, 2583,
986             2598, 2580, 0, 2580, 2582, 2583, 0, 2586, 2585, 2583,
987             2606, 2593, 2591, 0, 0, 2605, 0, 2591, 2607, 2594,
988             2595, 2600, 2609, 2597, 0, 0, 2594, 2600, 2601, 2604,
989              
990             2602, 2622, 2604, 2600, 2608, 0, 0, 0, 2607, 2605,
991             2614, 2629, 2611, 2625, 2628, 2627, 0, 2620, 2618, 2617,
992             2618, 2631, 0, 2639, 2621, 2619, 2626, 0, 0, 0,
993             2639, 0, 2644, 0, 0, 2637, 2632, 2640, 2631, 2649,
994             0, 2632, 2636, 2633, 2639, 2647, 2636, 2645, 2640, 2655,
995             2642, 2644, 2645, 2658, 2650, 2660, 2665, 0, 2647, 0,
996             2657, 2654, 2645, 2653, 0, 2667, 2658, 2658, 2655, 2668,
997             2668, 2673, 2674, 2660, 2673, 0, 0, 2662, 2666, 2659,
998             0, 0, 2685, 2664, 2675, 2677, 2670, 2679, 2687, 2688,
999             0, 2680, 2678, 2679, 0, 2682, 2673, 2681, 0, 2683,
1000              
1001             2684, 0, 2697, 2698, 2686, 0, 2702, 2701, 2703, 2688,
1002             2704, 2701, 2708, 2692, 2708, 2696, 2708, 0, 2699, 2704,
1003             2696, 2707, 0, 2709, 2709, 0, 2705, 2706, 0, 2720,
1004             2717, 2724, 2715, 2723, 2714, 2713, 2726, 2720, 2728, 2719,
1005             2732, 4063, 4063, 4063, 4063, 2710, 4063, 2722, 4063, 2726,
1006             0, 2733, 0, 2742, 2721, 2736, 2723, 2732, 2733, 0,
1007             2734, 0, 0, 0, 2738, 2743, 0, 2747, 0, 2741,
1008             2740, 2737, 2742, 2745, 2743, 2739, 2742, 2742, 0, 2747,
1009             2743, 0, 2759, 2762, 2761, 2744, 2750, 2768, 2761, 2746,
1010             2763, 2750, 2769, 0, 2757, 2761, 2762, 0, 2760, 2760,
1011              
1012             0, 0, 2760, 2773, 0, 0, 0, 2763, 0, 0,
1013             2765, 2783, 0, 2784, 2777, 2767, 2773, 2771, 2789, 2790,
1014             2772, 2785, 2770, 0, 2777, 0, 2791, 2780, 2798, 2788,
1015             0, 2799, 2788, 2787, 2781, 2785, 2792, 2806, 2794, 2810,
1016             0, 2789, 2793, 0, 0, 2799, 0, 2814, 2799, 0,
1017             2805, 2817, 0, 2801, 2811, 2820, 0, 2798, 2819, 2810,
1018             2817, 2804, 2813, 2828, 2810, 2824, 2827, 2827, 2815, 2830,
1019             0, 2828, 2833, 2827, 2826, 2832, 2837, 0, 2842, 2827,
1020             2828, 2841, 0, 2830, 2824, 2844, 2835, 0, 2834, 0,
1021             0, 2837, 2848, 0, 2839, 2850, 0, 2847, 2852, 2852,
1022              
1023             2852, 2855, 2860, 0, 2843, 2843, 2849, 2853, 2847, 2853,
1024             2861, 0, 2855, 2856, 2860, 0, 0, 2850, 2854, 2860,
1025             2875, 2857, 2856, 2860, 2866, 2862, 4063, 2874, 2860, 2870,
1026             2868, 0, 2880, 0, 2865, 2866, 2876, 2886, 2872, 2892,
1027             2889, 2888, 2891, 2890, 0, 2875, 0, 2896, 2892, 2877,
1028             2897, 2900, 2901, 0, 2903, 2888, 2889, 2888, 2897, 2897,
1029             2906, 2905, 2895, 2900, 2893, 0, 2898, 2899, 2899, 0,
1030             2902, 2904, 2907, 2909, 2924, 2912, 2909, 2910, 2928, 2913,
1031             2913, 2923, 2913, 0, 0, 0, 2916, 2917, 2931, 2928,
1032             2923, 2932, 2920, 0, 2940, 2919, 2938, 2943, 2942, 0,
1033              
1034             2945, 2924, 2936, 0, 2944, 2941, 2938, 2934, 2946, 2936,
1035             0, 2938, 2932, 2943, 2938, 2944, 2942, 2960, 2961, 2962,
1036             2944, 2945, 2961, 0, 2951, 0, 2956, 0, 2955, 0,
1037             2956, 0, 0, 0, 0, 0, 2954, 2948, 0, 2949,
1038             0, 2951, 2969, 2969, 2970, 2958, 2971, 0, 2962, 2972,
1039             2977, 2982, 2961, 2980, 2977, 0, 0, 0, 2982, 2983,
1040             2984, 0, 2989, 2968, 2974, 2992, 0, 2993, 2972, 2988,
1041             2973, 0, 2984, 2981, 2992, 0, 0, 0, 0, 0,
1042             2980, 2999, 2999, 0, 2993, 2994, 0, 0, 0, 3000,
1043             0, 0, 2993, 3004, 3001, 2996, 2995, 0, 3009, 3010,
1044              
1045             3012, 2999, 3003, 3007, 0, 0, 3016, 0, 3007, 3005,
1046             3016, 3012, 3018, 3024, 3014, 3012, 3013, 3011, 3015, 3021,
1047             3034, 3021, 3019, 3032, 3032, 3016, 3029, 3023, 3025, 0,
1048             0, 3041, 3041, 3029, 0, 3036, 3043, 3043, 3046, 3037,
1049             3045, 3036, 0, 0, 3035, 3055, 3043, 3040, 3041, 3042,
1050             3043, 3053, 3062, 3047, 3045, 3061, 3046, 3061, 0, 0,
1051             0, 3055, 3050, 3063, 3054, 3072, 3054, 3057, 3069, 3057,
1052             3060, 0, 3073, 3073, 3064, 3065, 3071, 3066, 0, 3067,
1053             3068, 3069, 3087, 0, 3089, 3062, 0, 3077, 3073, 3089,
1054             3080, 3080, 0, 3092, 3093, 3090, 3082, 3081, 3096, 3096,
1055              
1056             3081, 3090, 0, 3087, 3100, 3107, 3086, 3105, 3102, 3095,
1057             3090, 3099, 3106, 0, 3104, 3102, 3102, 3096, 3105, 3105,
1058             3113, 3108, 3119, 3107, 3103, 3112, 3108, 3121, 0, 3125,
1059             0, 3113, 3127, 0, 3115, 3129, 3115, 3128, 0, 3114,
1060             3118, 3124, 3135, 3132, 3138, 3128, 3128, 3127, 3128, 3134,
1061             3130, 0, 3130, 3138, 3132, 3140, 0, 3148, 3134, 3154,
1062             3138, 3156, 3143, 3152, 0, 3143, 3142, 3155, 3147, 3148,
1063             3161, 3158, 3150, 3154, 3152, 3153, 3154, 3155, 4063, 3151,
1064             3174, 0, 3153, 0, 3173, 3172, 3172, 3179, 3163, 3162,
1065             3175, 0, 3161, 0, 3181, 3175, 3169, 3183, 3183, 0,
1066              
1067             0, 3169, 3190, 0, 3171, 0, 3176, 3173, 3182, 3191,
1068             3176, 3181, 3183, 0, 3179, 0, 3183, 0, 3189, 0,
1069             3190, 3194, 3202, 3188, 0, 3208, 3187, 3204, 3200, 3198,
1070             3198, 3192, 3201, 3202, 3203, 3214, 3202, 3212, 0, 0,
1071             3217, 3206, 3219, 3213, 3208, 3209, 3205, 3209, 3215, 0,
1072             3211, 0, 0, 3226, 3226, 3219, 3212, 3221, 3222, 3222,
1073             3223, 0, 3222, 3227, 3227, 3238, 3235, 3225, 3238, 3235,
1074             3239, 0, 3229, 0, 0, 0, 0, 3230, 3243, 0,
1075             3233, 3239, 0, 3235, 3240, 3255, 0, 0, 3242, 0,
1076             0, 3235, 3236, 0, 3243, 3256, 3244, 0, 3245, 0,
1077              
1078             3241, 0, 3246, 3251, 3244, 3245, 3250, 3255, 3245, 0,
1079             0, 3255, 0, 3258, 3256, 0, 3274, 3253, 0, 3257,
1080             3270, 3256, 0, 3257, 3258, 3267, 3268, 3266, 0, 3262,
1081             3280, 3280, 0, 3268, 0, 3282, 0, 0, 3270, 3296,
1082             0, 0, 3278, 3275, 3271, 0, 0, 0, 3278, 3278,
1083             3296, 3284, 0, 3285, 3281, 0, 0, 3278, 3297, 0,
1084             3280, 3289, 3287, 0, 0, 3286, 0, 0, 0, 3292,
1085             3293, 3294, 3296, 3291, 3304, 0, 3305, 0, 3317, 3286,
1086             3297, 3299, 0, 0, 3303, 3307, 0, 3301, 0, 0,
1087             0, 0, 3298, 3304, 0, 3310, 3311, 3303, 0, 0,
1088              
1089             3307, 3308, 3332, 3303, 3302, 4063, 0, 3317, 3310, 0,
1090             0, 0, 3319, 3316, 3317, 0, 0, 0, 3314, 0,
1091             3315, 0, 0, 0, 0, 4063, 3390, 3399, 3408, 3417,
1092             3426, 3435, 3444, 3453, 3462, 3471, 3477, 3480, 3487, 3495,
1093             3504, 3513, 3522, 3527, 3536, 3539, 3543, 3550, 3559
1094             } ;
1095              
1096             static yyconst short int yy_def[3350] =
1097             { 0,
1098             3327, 3327, 3326, 3, 3328, 3328, 3326, 7, 3326, 9,
1099             3326, 11, 3326, 13, 3326, 15, 3328, 3328, 3329, 3329,
1100             3330, 3330, 3331, 3331, 3328, 3328, 3332, 3332, 3328, 3328,
1101             3333, 3333, 3328, 3328, 3328, 3328, 3334, 3334, 3335, 3335,
1102             3328, 3328, 3336, 3336, 3326, 3326, 3326, 3326, 3326, 3326,
1103             3326, 3326, 3326, 3326, 3326, 3326, 3337, 3326, 3326, 3326,
1104             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1105             3326, 3338, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1106             3326, 3326, 3326, 3339, 3326, 3326, 3326, 3326, 3326, 3326,
1107             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1108              
1109             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1110             3326, 3326, 3326, 3326, 3326, 3326, 3340, 3326, 3326, 3326,
1111             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1112             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1113             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1114             3326, 3326, 3341, 3326, 3342, 3326, 3343, 3326, 3326, 3326,
1115             3326, 3326, 3326, 3326, 3326, 3344, 3344, 3344, 3344, 3326,
1116             3326, 3326, 3326, 3326, 3338, 3326, 3326, 3326, 3345, 3326,
1117             3326, 3326, 3326, 3326, 3326, 3346, 3346, 3346, 3346, 3346,
1118             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1119              
1120             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3326, 3326, 3346,
1121             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1122             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1123             3346, 3346, 3346, 3346, 3326, 3326, 3326, 3326, 3326, 3339,
1124             3326, 3326, 3326, 3326, 3326, 3326, 3340, 3326, 3326, 3326,
1125             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1126             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1127             3326, 3341, 3326, 3342, 3326, 3326, 3326, 3343, 3326, 3326,
1128             3326, 3347, 3344, 3326, 3344, 3344, 3344, 3326, 3326, 3326,
1129             3326, 3326, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1130              
1131             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1132             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1133             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1134             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1135             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1136             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1137             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1138             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1139             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1140             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1141              
1142             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1143             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1144             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1145             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1146             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1147             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1148             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1149             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1150             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1151             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1152              
1153             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1154             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1155             3346, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1156             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3347,
1157             3344, 3344, 3344, 3326, 3326, 3326, 3346, 3346, 3346, 3346,
1158             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1159             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1160             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1161             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1162             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1163              
1164             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1165             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1166             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1167             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1168             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1169             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1170             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1171             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1172             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1173             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1174              
1175             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1176             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1177             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1178             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1179             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1180             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1181             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1182             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1183             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1184             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1185              
1186             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1187             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1188             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1189             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1190             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1191             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1192             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1193             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1194             3346, 3346, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1195             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3344, 3326, 3344,
1196              
1197             3326, 3326, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1198             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1199             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1200             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1201             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1202             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1203             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1204             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1205             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1206             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1207              
1208             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1209             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1210             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1211             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1212             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1213             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1214             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1215             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1216             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1217             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1218              
1219             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1220             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1221             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1222             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1223             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1224             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1225             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1226             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1227             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1228             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1229              
1230             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1231             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1232             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1233             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1234             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1235             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1236             3346, 3346, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1237             3326, 3326, 3326, 3326, 3326, 3326, 3344, 3344, 3326, 3346,
1238             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1239             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1240              
1241             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1242             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1243             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1244             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1245             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1246             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1247             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1248             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1249             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1250             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1251              
1252             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1253             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1254             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1255             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1256             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1257             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1258             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1259             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1260             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1261             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1262              
1263             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1264             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1265             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1266             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1267             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1268             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1269             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1270             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1271             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1272             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1273              
1274             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1275             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1276             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1277             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1278             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1279             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3326, 3326, 3326,
1280             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1281             3326, 3326, 3326, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1282             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1283             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1284              
1285             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1286             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1287             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1288             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1289             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1290             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1291             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1292             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1293             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1294             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1295              
1296             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1297             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1298             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1299             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1300             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1301             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1302             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1303             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1304             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1305             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1306              
1307             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1308             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1309             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1310             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1311             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1312             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1313             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1314             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1315             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1316             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1317              
1318             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1319             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1320             3326, 3326, 3326, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1321             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1322             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1323             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1324             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1325             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1326             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1327             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1328              
1329             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1330             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1331             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1332             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1333             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1334             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1335             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1336             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1337             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1338             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1339              
1340             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1341             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1342             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1343             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1344             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1345             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1346             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1347             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1348             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1349             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1350              
1351             3346, 3346, 3346, 3346, 3326, 3326, 3326, 3326, 3326, 3326,
1352             3326, 3326, 3326, 3326, 3346, 3346, 3346, 3346, 3346, 3346,
1353             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1354             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1355             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1356             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1357             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1358             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1359             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1360             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1361              
1362             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1363             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1364             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1365             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1366             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1367             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1368             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1369             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1370             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1371             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1372              
1373             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1374             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1375             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1376             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1377             3346, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3346,
1378             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1379             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1380             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1381             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1382             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1383              
1384             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1385             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1386             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1387             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1388             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1389             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1390             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1391             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1392             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1393             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1394              
1395             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1396             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1397             3346, 3346, 3346, 3346, 3346, 3346, 3326, 3326, 3346, 3346,
1398             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1399             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1400             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1401             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1402             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1403             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1404             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1405              
1406             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1407             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1408             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1409             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1410             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1411             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1412             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1413             3326, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1414             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1415             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1416              
1417             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1418             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1419             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1420             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1421             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1422             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1423             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1424             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1425             3346, 3346, 3346, 3346, 3346, 3326, 3346, 3346, 3346, 3346,
1426             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1427              
1428             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1429             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1430             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1431             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1432             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1433             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1434             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1435             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3326, 3346,
1436             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1437             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1438              
1439             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1440             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1441             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1442             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1443             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1444             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1445             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1446             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1447             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1448             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1449              
1450             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1451             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1452             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1453             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1454             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1455             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1456             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1457             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3348, 3349,
1458             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1459             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1460              
1461             3346, 3346, 3348, 3326, 3349, 3326, 3346, 3346, 3346, 3346,
1462             3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
1463             3346, 3346, 3346, 3346, 3346, 0, 3326, 3326, 3326, 3326,
1464             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1465             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326
1466             } ;
1467              
1468             static yyconst short int yy_nxt[4146] =
1469             { 0,
1470             3326, 3326, 47, 47, 3326, 3326, 48, 48, 3326, 163,
1471             161, 163, 3326, 163, 172, 163, 173, 3326, 174, 242,
1472             242, 242, 242, 242, 242, 3326, 3326, 49, 49, 243,
1473             243, 243, 243, 243, 243, 244, 244, 244, 244, 244,
1474             244, 245, 245, 245, 3326, 3326, 162, 50, 50, 51,
1475             52, 53, 52, 54, 55, 56, 51, 57, 58, 59,
1476             60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1477             70, 71, 72, 72, 72, 72, 72, 72, 72, 72,
1478             72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1479             72, 72, 72, 72, 72, 73, 74, 75, 76, 77,
1480              
1481             78, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1482             72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
1483             72, 72, 72, 72, 72, 72, 72, 79, 80, 81,
1484             82, 85, 86, 87, 86, 85, 85, 85, 85, 85,
1485             85, 85, 85, 85, 85, 85, 85, 85, 85, 88,
1486             85, 85, 85, 85, 89, 89, 89, 89, 89, 89,
1487             89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1488             89, 89, 89, 89, 89, 89, 89, 85, 85, 85,
1489             85, 85, 85, 90, 90, 90, 90, 90, 90, 90,
1490             90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1491              
1492             90, 90, 90, 90, 90, 90, 90, 90, 90, 91,
1493             85, 92, 85, 93, 94, 95, 94, 93, 93, 93,
1494             93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1495             93, 93, 93, 93, 93, 93, 96, 96, 96, 96,
1496             96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1497             96, 96, 96, 96, 96, 96, 96, 96, 96, 93,
1498             93, 93, 93, 93, 93, 96, 96, 96, 96, 96,
1499             96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1500             96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1501             96, 97, 93, 98, 93, 99, 100, 101, 100, 99,
1502              
1503             99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1504             99, 99, 99, 99, 99, 99, 99, 99, 102, 102,
1505             102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1506             102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1507             102, 99, 99, 99, 99, 99, 99, 102, 102, 102,
1508             102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1509             102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1510             102, 102, 102, 103, 99, 104, 99, 105, 106, 107,
1511             106, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1512             105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1513              
1514             108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1515             108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1516             108, 108, 108, 105, 105, 105, 105, 105, 105, 108,
1517             108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1518             108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1519             108, 108, 108, 108, 108, 109, 105, 110, 105, 111,
1520             112, 113, 112, 111, 111, 111, 111, 111, 111, 111,
1521             111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1522             111, 111, 114, 114, 114, 114, 114, 114, 114, 114,
1523             114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
1524              
1525             114, 114, 114, 114, 114, 111, 111, 111, 111, 111,
1526             111, 114, 114, 114, 114, 114, 114, 114, 114, 114,
1527             114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
1528             114, 114, 114, 114, 114, 114, 114, 115, 111, 116,
1529             111, 119, 120, 119, 119, 120, 119, 125, 126, 125,
1530             125, 126, 125, 131, 132, 131, 83, 83, 121, 83,
1531             83, 121, 304, 1285, 127, 305, 165, 127, 268, 269,
1532             133, 131, 132, 131, 141, 142, 141, 141, 142, 141,
1533             144, 144, 144, 144, 144, 144, 270, 281, 133, 1286,
1534             147, 147, 147, 147, 147, 147, 245, 245, 245, 592,
1535              
1536             153, 153, 167, 155, 155, 284, 238, 238, 238, 246,
1537             246, 246, 593, 168, 246, 246, 246, 1287, 122, 143,
1538             123, 122, 143, 123, 128, 145, 129, 128, 145, 129,
1539             134, 298, 135, 169, 249, 249, 249, 249, 249, 249,
1540             251, 251, 251, 148, 282, 299, 148, 284, 134, 286,
1541             135, 300, 149, 524, 1288, 149, 331, 146, 150, 525,
1542             146, 150, 251, 251, 251, 253, 253, 253, 332, 151,
1543             1289, 284, 151, 176, 177, 178, 179, 180, 181, 407,
1544             335, 182, 336, 408, 183, 239, 253, 253, 253, 184,
1545             185, 1290, 285, 186, 187, 188, 189, 190, 191, 192,
1546              
1547             191, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1548             202, 203, 204, 205, 206, 207, 287, 208, 209, 266,
1549             266, 266, 210, 211, 212, 213, 214, 215, 216, 217,
1550             218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1551             228, 229, 230, 231, 232, 233, 191, 234, 235, 236,
1552             237, 255, 266, 266, 266, 267, 267, 267, 271, 271,
1553             271, 276, 276, 276, 172, 1291, 173, 294, 291, 256,
1554             558, 295, 301, 284, 609, 277, 302, 296, 284, 257,
1555             258, 259, 303, 297, 559, 260, 307, 308, 309, 610,
1556             337, 261, 311, 284, 262, 318, 312, 263, 319, 784,
1557              
1558             264, 321, 320, 313, 322, 323, 314, 785, 326, 333,
1559             315, 327, 328, 541, 324, 325, 334, 338, 543, 339,
1560             340, 329, 330, 345, 346, 347, 1292, 348, 352, 349,
1561             350, 351, 353, 281, 354, 539, 355, 341, 383, 356,
1562             542, 628, 357, 359, 384, 629, 360, 361, 358, 385,
1563             362, 363, 386, 531, 364, 387, 532, 365, 238, 238,
1564             238, 366, 533, 367, 368, 369, 581, 370, 371, 376,
1565             377, 378, 372, 379, 380, 373, 1293, 381, 374, 616,
1566             582, 382, 465, 388, 375, 389, 617, 390, 606, 391,
1567             506, 395, 396, 607, 466, 397, 392, 740, 467, 242,
1568              
1569             242, 242, 393, 400, 394, 398, 401, 741, 399, 614,
1570             402, 403, 404, 502, 615, 803, 507, 405, 409, 508,
1571             509, 503, 172, 504, 173, 505, 546, 804, 410, 411,
1572             412, 413, 414, 415, 416, 417, 418, 239, 696, 419,
1573             420, 421, 422, 697, 425, 450, 1296, 423, 426, 424,
1574             451, 427, 428, 586, 452, 760, 587, 453, 429, 430,
1575             454, 455, 510, 456, 431, 432, 511, 243, 243, 243,
1576             433, 588, 761, 512, 434, 513, 244, 244, 244, 245,
1577             245, 245, 801, 597, 435, 603, 436, 598, 437, 604,
1578             438, 631, 439, 802, 599, 440, 441, 632, 442, 443,
1579              
1580             605, 444, 445, 446, 447, 448, 449, 457, 246, 246,
1581             246, 458, 623, 624, 459, 460, 670, 1297, 461, 462,
1582             249, 249, 249, 671, 463, 464, 468, 251, 251, 251,
1583             253, 253, 253, 266, 266, 266, 469, 470, 471, 672,
1584             639, 472, 640, 473, 474, 611, 673, 475, 476, 612,
1585             477, 662, 678, 478, 481, 479, 482, 480, 737, 483,
1586             484, 738, 613, 485, 486, 663, 679, 487, 488, 1298,
1587             489, 490, 491, 514, 492, 493, 494, 771, 515, 495,
1588             496, 698, 497, 498, 267, 267, 267, 710, 711, 499,
1589             619, 772, 500, 271, 271, 271, 699, 501, 620, 516,
1590              
1591             517, 621, 622, 518, 519, 276, 276, 276, 633, 520,
1592             634, 641, 635, 648, 645, 636, 637, 646, 649, 277,
1593             666, 651, 642, 643, 809, 810, 650, 652, 647, 657,
1594             658, 684, 659, 653, 667, 685, 668, 700, 669, 654,
1595             701, 692, 655, 693, 715, 747, 725, 721, 722, 686,
1596             726, 750, 728, 755, 702, 716, 703, 717, 723, 729,
1597             730, 734, 767, 748, 727, 735, 763, 764, 756, 736,
1598             769, 731, 774, 781, 776, 807, 775, 814, 789, 765,
1599             751, 777, 790, 808, 818, 824, 752, 782, 791, 828,
1600             826, 768, 838, 825, 820, 840, 753, 827, 819, 770,
1601              
1602             821, 822, 841, 754, 829, 830, 815, 831, 816, 834,
1603             835, 846, 843, 848, 849, 847, 869, 284, 850, 284,
1604             836, 839, 844, 837, 857, 817, 851, 852, 861, 858,
1605             870, 862, 859, 1004, 871, 863, 872, 950, 860, 864,
1606             902, 1011, 546, 1005, 960, 905, 865, 1041, 866, 873,
1607             906, 961, 1012, 951, 952, 965, 907, 1042, 1045, 966,
1608             1046, 967, 1299, 898, 968, 900, 962, 969, 981, 982,
1609             970, 971, 972, 973, 974, 975, 994, 983, 1034, 998,
1610             984, 999, 1020, 1030, 985, 1281, 1035, 995, 1300, 1031,
1611             996, 1282, 1000, 1021, 997, 1050, 1022, 1060, 1051, 1052,
1612              
1613             1066, 1081, 1061, 1082, 1085, 1087, 1053, 1088, 1121, 1114,
1614             284, 1067, 1125, 1054, 1086, 1115, 1116, 1126, 1144, 1122,
1615             1152, 1123, 1132, 1133, 1196, 1197, 1162, 1199, 1205, 1145,
1616             1176, 1218, 284, 1219, 1226, 1220, 1134, 1153, 1163, 1154,
1617             1236, 1177, 1301, 1206, 1178, 1207, 1221, 1200, 1179, 1227,
1618             1243, 172, 1294, 1279, 1237, 1277, 1244, 1302, 1303, 1245,
1619             1304, 1246, 1305, 1247, 1248, 1249, 1306, 1307, 1308, 1295,
1620             1309, 1310, 1311, 1312, 1313, 1314, 1315, 1278, 1316, 1317,
1621             1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1329,
1622             1330, 1331, 1332, 1333, 1341, 1334, 1336, 1339, 1342, 1327,
1623              
1624             1335, 1347, 1328, 1340, 1337, 1345, 1348, 1349, 1346, 1350,
1625             1343, 1351, 1352, 1353, 1344, 1354, 1338, 1355, 1356, 1357,
1626             1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1368,
1627             1369, 1370, 1371, 1373, 1375, 1367, 1376, 1374, 1377, 1378,
1628             1372, 1379, 1380, 1381, 1382, 1385, 1386, 1387, 1388, 1389,
1629             1383, 1390, 1391, 1392, 1384, 1393, 1394, 1395, 1396, 1397,
1630             1398, 1402, 1403, 1399, 1404, 1405, 1406, 1400, 1407, 1408,
1631             1409, 1410, 1411, 1412, 1413, 1414, 1415, 1417, 1418, 1419,
1632             1401, 1416, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427,
1633             1428, 1429, 1430, 1431, 1432, 1434, 1435, 1436, 1437, 1438,
1634              
1635             1433, 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1447, 1448,
1636             1449, 1450, 1451, 1452, 1442, 1453, 1459, 1460, 1465, 1466,
1637             1461, 1462, 1454, 1463, 1467, 1468, 1455, 1469, 1470, 1471,
1638             1472, 1473, 1456, 1457, 1458, 1464, 1474, 1476, 1477, 1478,
1639             1479, 1480, 1475, 1481, 1482, 1490, 1491, 1483, 1492, 1493,
1640             1484, 1494, 1495, 1485, 1496, 1497, 1486, 1498, 1499, 1487,
1641             1488, 1489, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507,
1642             1508, 1510, 1509, 1511, 1513, 1512, 1514, 1515, 1516, 1517,
1643             1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527,
1644             1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1540,
1645              
1646             1541, 1542, 1543, 1544, 1545, 1546, 1551, 1547, 1537, 1548,
1647             1552, 1553, 1554, 1555, 1538, 1539, 1556, 1557, 1549, 1558,
1648             1559, 1560, 1561, 1550, 1562, 1563, 1564, 1565, 1566, 1567,
1649             1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577,
1650             1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587,
1651             1588, 1590, 1591, 1592, 1593, 1594, 1596, 1601, 1597, 1602,
1652             1598, 1603, 1604, 1605, 1589, 1606, 1607, 1608, 1609, 1599,
1653             1595, 1610, 1611, 1612, 1600, 1613, 1614, 1615, 1616, 1617,
1654             1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627,
1655             1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1638,
1656              
1657             1639, 1641, 1643, 1644, 1645, 1646, 1652, 1637, 1647, 1648,
1658             1653, 1642, 1640, 1654, 1649, 1655, 1656, 1657, 1658, 1659,
1659             1660, 1661, 1662, 1663, 1664, 1665, 1650, 1666, 1651, 1667,
1660             1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1678, 1679,
1661             1680, 1676, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688,
1662             1689, 1690, 1691, 1692, 1693, 1677, 1694, 1695, 1696, 1697,
1663             1698, 1699, 1700, 1701, 1702, 1703, 1704, 1706, 1707, 1705,
1664             1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717,
1665             1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1729,
1666             1730, 1731, 1732, 1733, 1734, 1727, 1728, 1735, 1736, 1737,
1667              
1668             1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1749,
1669             1750, 1751, 1747, 1752, 1753, 1756, 1757, 1758, 1759, 1760,
1670             1761, 1762, 1763, 1764, 1765, 1766, 1748, 1767, 1768, 1769,
1671             1770, 1754, 1755, 1771, 1772, 1773, 1774, 1775, 1776, 1777,
1672             1778, 1779, 1780, 1781, 1782, 1783, 1785, 1786, 1787, 1788,
1673             1789, 1790, 1791, 1792, 1793, 1796, 1794, 1797, 1798, 1799,
1674             1784, 1795, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807,
1675             1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818,
1676             1819, 1821, 1822, 1823, 1824, 1808, 1825, 1820, 1826, 1827,
1677             1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837,
1678              
1679             1838, 1839, 1840, 1841, 1844, 1846, 1847, 1842, 1848, 1849,
1680             1843, 1854, 1850, 1856, 1855, 1845, 1851, 1857, 1858, 1859,
1681             1860, 1861, 1863, 1852, 1853, 1865, 1866, 1862, 1867, 1868,
1682             1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1878, 1864,
1683             1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888,
1684             1889, 1890, 1891, 1892, 1877, 1893, 1894, 1895, 1896, 1897,
1685             1899, 1900, 1901, 1898, 1902, 1903, 1904, 1905, 1906, 1907,
1686             1908, 1909, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918,
1687             1924, 1925, 1926, 1927, 1928, 1929, 1919, 1930, 1931, 1910,
1688             1920, 1932, 1933, 1934, 1935, 1936, 1921, 1922, 1923, 1937,
1689              
1690             1939, 1941, 1938, 1942, 1943, 1944, 1945, 1946, 1947, 1948,
1691             1949, 1950, 1951, 1940, 1952, 1953, 1954, 1956, 1957, 1958,
1692             1959, 1960, 1961, 1964, 1962, 1965, 1967, 1968, 1969, 1970,
1693             1971, 1972, 1973, 1979, 1955, 1963, 1974, 1980, 1981, 1982,
1694             1983, 1984, 1985, 1966, 1986, 1987, 1975, 1988, 1989, 1976,
1695             1990, 1991, 1977, 1978, 1992, 1994, 1995, 1996, 1997, 1998,
1696             1999, 2000, 2001, 2002, 2004, 2005, 2007, 2009, 1993, 2010,
1697             2011, 2006, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
1698             2003, 2020, 2021, 2008, 2022, 2023, 1673, 2024, 2025, 2026,
1699             2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036,
1700              
1701             2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046,
1702             2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056,
1703             2057, 2058, 2059, 2061, 2062, 2063, 2064, 2065, 2066, 2067,
1704             2068, 2069, 2070, 2071, 2072, 2073, 2075, 2076, 2074, 2077,
1705             2078, 2079, 2060, 2080, 2081, 2082, 2083, 2084, 2085, 2086,
1706             2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096,
1707             2097, 2098, 2099, 2100, 2102, 2103, 2104, 2105, 2106, 2107,
1708             2101, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116,
1709             2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126,
1710             2127, 2128, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137,
1711              
1712             2138, 2139, 2140, 2141, 2142, 2143, 2129, 2144, 2145, 2146,
1713             2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2147,
1714             2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166,
1715             2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176,
1716             2177, 2178, 2179, 2180, 2182, 2183, 2184, 2185, 2186, 2187,
1717             2188, 2189, 2190, 2192, 2181, 2191, 2193, 2194, 2195, 2196,
1718             2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206,
1719             2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216,
1720             2217, 2218, 2219, 2220, 2221, 2222, 2224, 2225, 2226, 2227,
1721             2228, 2229, 2223, 2230, 2231, 2232, 2233, 2234, 2235, 2236,
1722              
1723             2237, 2238, 2239, 2241, 2242, 2243, 2244, 2245, 2246, 2247,
1724             2240, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2248, 2257,
1725             2258, 2259, 2260, 2261, 2262, 2263, 2256, 2265, 2266, 2267,
1726             2268, 2269, 2264, 2270, 2271, 2273, 2274, 2275, 2272, 2276,
1727             2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286,
1728             2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296,
1729             2297, 2298, 2299, 2300, 2301, 2302, 2303, 2305, 2306, 2307,
1730             2308, 2309, 2310, 2311, 2312, 2313, 2314, 2304, 2315, 2316,
1731             2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326,
1732             2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336,
1733              
1734             2337, 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346,
1735             2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2357, 2355,
1736             2356, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366,
1737             2368, 2369, 2367, 2370, 2371, 2372, 2373, 2374, 2375, 2376,
1738             2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386,
1739             2387, 2388, 2390, 2391, 2392, 2393, 2389, 2394, 2395, 2396,
1740             2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406,
1741             2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416,
1742             2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426,
1743             2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436,
1744              
1745             2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446,
1746             2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456,
1747             2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466,
1748             2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476,
1749             2477, 2478, 2479, 2481, 2482, 2483, 2484, 2485, 2480, 2486,
1750             2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496,
1751             2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506,
1752             2507, 2508, 2509, 2510, 2511, 2513, 2514, 2515, 2516, 2517,
1753             2512, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526,
1754             2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536,
1755              
1756             2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546,
1757             2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556,
1758             2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566,
1759             2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576,
1760             2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586,
1761             2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596,
1762             2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606,
1763             2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616,
1764             2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626,
1765             2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636,
1766              
1767             2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646,
1768             2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2656, 2657,
1769             2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667,
1770             2668, 2669, 2670, 2671, 2655, 2672, 2673, 2674, 2675, 2676,
1771             2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686,
1772             2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2699,
1773             2700, 2701, 2702, 2703, 2704, 2705, 2696, 2706, 2707, 2708,
1774             2709, 2697, 2698, 2710, 2711, 2712, 2713, 2714, 2715, 2716,
1775             2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726,
1776             2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736,
1777              
1778             2737, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746,
1779             2747, 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756,
1780             2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766,
1781             2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776,
1782             2777, 2778, 2781, 2782, 2783, 2784, 2785, 2786, 2779, 2787,
1783             2788, 2789, 2791, 2792, 2793, 2794, 2795, 2790, 2796, 2780,
1784             2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2807,
1785             2808, 2809, 2810, 2811, 2806, 2812, 2813, 2814, 2815, 2816,
1786             2817, 2819, 2820, 2821, 2822, 2823, 2824, 2818, 2825, 2826,
1787             2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836,
1788              
1789             2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846,
1790             2847, 2848, 2849, 2851, 2852, 2853, 2854, 2856, 2857, 2858,
1791             2859, 2860, 2855, 2861, 2862, 2863, 2864, 2865, 2866, 2850,
1792             2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876,
1793             2877, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886,
1794             2887, 2888, 2889, 2890, 2891, 2892, 2893, 2896, 2897, 2898,
1795             2899, 2900, 2901, 2902, 2903, 2904, 2894, 2905, 2906, 2907,
1796             2908, 2909, 2895, 2910, 2911, 2912, 2913, 2914, 2915, 2916,
1797             2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926,
1798             2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936,
1799              
1800             2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946,
1801             2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956,
1802             2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966,
1803             2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976,
1804             2977, 2978, 2979, 2980, 2981, 2982, 2984, 2985, 2986, 2987,
1805             2988, 2989, 2983, 2990, 2991, 2993, 2994, 2995, 2997, 2998,
1806             2999, 3000, 3001, 2996, 3002, 3003, 3004, 3005, 3006, 3007,
1807             3008, 2992, 3010, 3011, 3012, 3013, 3009, 3014, 3015, 3016,
1808             3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027,
1809             3028, 3029, 3030, 3031, 3032, 3033, 3017, 3034, 3035, 3036,
1810              
1811             3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046,
1812             3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056,
1813             3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066,
1814             3067, 3068, 3069, 3070, 3071, 3073, 3074, 3075, 3076, 3077,
1815             3072, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086,
1816             3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096,
1817             3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106,
1818             3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116,
1819             3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126,
1820             3127, 3128, 3129, 3130, 3132, 3133, 3134, 3135, 3136, 3137,
1821              
1822             3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147,
1823             3131, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156,
1824             3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3168,
1825             3169, 3170, 3171, 3172, 3173, 3174, 3166, 3175, 3176, 3177,
1826             3178, 3179, 3167, 3180, 3181, 3182, 3183, 3184, 3185, 3186,
1827             3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196,
1828             3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206,
1829             3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216,
1830             3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226,
1831             3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236,
1832              
1833             3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246,
1834             3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256,
1835             3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266,
1836             3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276,
1837             3277, 3278, 3279, 3281, 3282, 3283, 3284, 3285, 3286, 3287,
1838             3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297,
1839             3298, 3299, 3300, 3301, 3302, 3304, 3306, 3307, 3308, 3309,
1840             3310, 3311, 3312, 3313, 3280, 3314, 3315, 3316, 3317, 3318,
1841             3304, 3280, 3306, 3319, 3320, 3321, 3322, 3323, 3324, 3325,
1842             46, 46, 46, 46, 46, 46, 46, 46, 46, 83,
1843              
1844             83, 83, 83, 83, 83, 83, 83, 83, 118, 118,
1845             118, 118, 118, 118, 118, 118, 118, 124, 124, 124,
1846             124, 124, 124, 124, 124, 124, 130, 130, 130, 130,
1847             130, 130, 130, 130, 130, 137, 137, 137, 137, 137,
1848             137, 137, 137, 137, 140, 140, 140, 140, 140, 140,
1849             140, 140, 140, 152, 152, 152, 152, 152, 152, 152,
1850             152, 152, 154, 154, 154, 154, 154, 154, 154, 154,
1851             154, 157, 157, 157, 157, 157, 157, 157, 157, 157,
1852             166, 1284, 1283, 166, 166, 166, 175, 175, 240, 240,
1853             240, 240, 1280, 240, 240, 247, 247, 247, 247, 247,
1854              
1855             247, 247, 247, 247, 272, 272, 272, 272, 272, 272,
1856             272, 272, 272, 274, 274, 274, 274, 274, 274, 274,
1857             274, 274, 278, 278, 278, 278, 278, 278, 278, 278,
1858             278, 283, 283, 283, 283, 283, 292, 292, 171, 292,
1859             292, 292, 292, 292, 292, 191, 191, 540, 1276, 540,
1860             3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3305,
1861             3305, 3305, 3305, 3305, 3305, 3305, 3305, 3305, 1275, 1274,
1862             1273, 1272, 1271, 1270, 1269, 1268, 1267, 1266, 1265, 1264,
1863             1263, 1262, 1261, 1260, 1259, 1258, 1257, 1256, 1255, 1254,
1864             1253, 1252, 1251, 1250, 1242, 1241, 1240, 1239, 1238, 1235,
1865              
1866             1234, 1233, 1232, 1231, 1230, 1229, 1228, 1225, 1224, 1223,
1867             1222, 1217, 1216, 1215, 1214, 1213, 1212, 1211, 1210, 1209,
1868             1208, 1204, 1203, 1202, 1201, 1198, 1195, 1194, 1193, 1192,
1869             1191, 1190, 1189, 1188, 1187, 1186, 1185, 1184, 1183, 1182,
1870             1181, 1180, 1175, 1174, 1173, 1172, 1171, 1170, 1169, 1168,
1871             1167, 1166, 1165, 1164, 1161, 1160, 1159, 1158, 1157, 1156,
1872             1155, 1151, 1150, 1149, 1148, 1147, 1146, 1143, 1142, 1141,
1873             1140, 1139, 1138, 1137, 1136, 1135, 1131, 1130, 1129, 1128,
1874             1127, 1124, 1120, 1119, 1118, 1117, 1113, 1112, 1111, 1110,
1875             1109, 1108, 1107, 1106, 1105, 1104, 1103, 1102, 1101, 1100,
1876              
1877             1099, 1098, 1097, 1096, 1095, 1094, 1093, 1092, 1091, 1090,
1878             1089, 1084, 1083, 1080, 1079, 1078, 1077, 1076, 1075, 1074,
1879             1073, 1072, 1071, 1070, 1069, 1068, 1065, 1064, 1063, 1062,
1880             1059, 1058, 1057, 1056, 1055, 1049, 1048, 1047, 1044, 1043,
1881             1040, 1039, 1038, 1037, 1036, 1033, 1032, 1029, 1028, 1027,
1882             1026, 1025, 1024, 1023, 1019, 1018, 1017, 1016, 1015, 1014,
1883             1013, 1010, 1009, 1008, 1007, 1006, 1003, 1002, 1001, 993,
1884             992, 991, 990, 989, 988, 987, 986, 980, 979, 978,
1885             977, 976, 964, 963, 959, 958, 957, 956, 955, 954,
1886             953, 949, 948, 947, 946, 945, 944, 943, 942, 941,
1887              
1888             940, 939, 938, 937, 936, 935, 934, 933, 932, 931,
1889             930, 929, 928, 927, 926, 925, 924, 923, 922, 921,
1890             920, 919, 918, 917, 916, 915, 914, 913, 912, 911,
1891             910, 909, 908, 904, 903, 901, 899, 897, 896, 895,
1892             894, 893, 892, 891, 890, 889, 888, 887, 886, 885,
1893             884, 883, 882, 881, 880, 879, 878, 877, 876, 875,
1894             874, 868, 867, 856, 855, 854, 853, 845, 842, 833,
1895             832, 823, 813, 812, 811, 806, 805, 800, 799, 798,
1896             797, 796, 795, 794, 793, 792, 788, 787, 786, 783,
1897             780, 779, 778, 773, 766, 762, 759, 758, 757, 749,
1898              
1899             746, 745, 744, 743, 742, 739, 733, 732, 724, 720,
1900             719, 718, 714, 713, 712, 709, 708, 707, 706, 705,
1901             704, 695, 694, 691, 690, 689, 688, 687, 683, 682,
1902             681, 680, 677, 676, 675, 674, 665, 664, 661, 660,
1903             656, 644, 638, 630, 627, 626, 625, 618, 608, 602,
1904             601, 600, 596, 595, 594, 591, 590, 589, 585, 584,
1905             583, 580, 579, 578, 577, 576, 575, 574, 573, 572,
1906             571, 570, 569, 568, 567, 566, 565, 564, 563, 562,
1907             561, 560, 557, 556, 555, 554, 553, 552, 551, 550,
1908             549, 548, 547, 290, 545, 544, 284, 279, 275, 273,
1909              
1910             538, 537, 536, 535, 534, 530, 529, 528, 527, 526,
1911             523, 522, 254, 252, 250, 248, 241, 521, 406, 344,
1912             343, 342, 317, 316, 310, 306, 293, 290, 289, 171,
1913             288, 284, 280, 279, 275, 273, 265, 254, 252, 250,
1914             248, 241, 171, 170, 164, 160, 159, 3326, 158, 158,
1915             156, 156, 139, 139, 138, 138, 136, 136, 117, 117,
1916             84, 84, 45, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1917             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1918             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1919             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1920              
1921             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1922             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1923             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1924             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
1925             3326, 3326, 3326, 3326, 3326
1926             } ;
1927              
1928             static yyconst short int yy_chk[4146] =
1929             { 0,
1930             0, 0, 1, 2, 0, 0, 1, 2, 0, 52,
1931             50, 52, 0, 163, 67, 163, 67, 0, 67, 86,
1932             86, 86, 87, 87, 87, 0, 0, 1, 2, 94,
1933             94, 94, 95, 95, 95, 100, 100, 100, 101, 101,
1934             101, 106, 106, 106, 0, 0, 50, 1, 2, 3,
1935             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1936             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1937             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1938             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1939             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1940              
1941             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1942             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1943             3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1944             3, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1945             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1946             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1947             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1948             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1949             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1950             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1951              
1952             7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1953             7, 7, 7, 9, 9, 9, 9, 9, 9, 9,
1954             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1955             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1956             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1957             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1958             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1959             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1960             9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1961             9, 9, 9, 9, 9, 11, 11, 11, 11, 11,
1962              
1963             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1964             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1965             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1966             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1967             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1968             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1969             11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1970             11, 11, 11, 11, 11, 11, 11, 13, 13, 13,
1971             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1972             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1973              
1974             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1975             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1976             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1977             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1978             13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1979             13, 13, 13, 13, 13, 13, 13, 13, 13, 15,
1980             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1981             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1982             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1983             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1984              
1985             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1986             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1987             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1988             15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1989             15, 19, 19, 19, 20, 20, 20, 21, 21, 21,
1990             22, 22, 22, 23, 23, 23, 37, 38, 19, 39,
1991             40, 20, 190, 910, 21, 190, 57, 22, 145, 145,
1992             23, 24, 24, 24, 31, 31, 31, 32, 32, 32,
1993             33, 33, 33, 34, 34, 34, 145, 165, 24, 911,
1994             35, 35, 35, 36, 36, 36, 107, 107, 107, 340,
1995              
1996             37, 38, 57, 39, 40, 168, 79, 79, 79, 112,
1997             112, 112, 340, 57, 113, 113, 113, 912, 19, 31,
1998             19, 20, 32, 20, 21, 33, 21, 22, 34, 22,
1999             23, 188, 23, 57, 119, 119, 119, 120, 120, 120,
2000             125, 125, 125, 35, 165, 188, 36, 167, 24, 168,
2001             24, 188, 35, 257, 913, 36, 201, 33, 35, 257,
2002             34, 36, 126, 126, 126, 131, 131, 131, 201, 35,
2003             914, 169, 36, 74, 74, 74, 74, 74, 74, 220,
2004             203, 74, 203, 220, 74, 79, 132, 132, 132, 74,
2005             74, 915, 167, 74, 74, 74, 74, 74, 74, 74,
2006              
2007             74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2008             74, 74, 74, 74, 74, 74, 169, 74, 74, 141,
2009             141, 141, 74, 74, 74, 74, 74, 74, 74, 74,
2010             74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2011             74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
2012             74, 136, 142, 142, 142, 144, 144, 144, 147, 147,
2013             147, 156, 156, 156, 174, 916, 174, 187, 174, 136,
2014             304, 187, 189, 285, 352, 156, 189, 187, 287, 136,
2015             136, 136, 189, 187, 304, 136, 193, 193, 193, 352,
2016             204, 136, 195, 286, 136, 198, 195, 136, 198, 459,
2017              
2018             136, 199, 198, 195, 199, 199, 195, 459, 200, 202,
2019             195, 200, 200, 285, 199, 199, 202, 204, 287, 204,
2020             204, 200, 200, 210, 210, 210, 918, 210, 211, 210,
2021             210, 210, 211, 281, 211, 281, 211, 204, 215, 211,
2022             286, 362, 211, 212, 215, 362, 212, 212, 211, 215,
2023             212, 212, 215, 263, 212, 215, 263, 212, 238, 238,
2024             238, 212, 263, 212, 213, 213, 332, 213, 213, 214,
2025             214, 214, 213, 214, 214, 213, 919, 214, 213, 355,
2026             332, 214, 226, 216, 213, 216, 355, 216, 350, 216,
2027             231, 217, 217, 350, 226, 217, 216, 428, 226, 242,
2028              
2029             242, 242, 216, 218, 216, 217, 218, 428, 217, 354,
2030             218, 218, 218, 230, 354, 474, 231, 218, 221, 231,
2031             231, 230, 291, 230, 291, 230, 291, 474, 221, 221,
2032             221, 221, 221, 221, 221, 221, 221, 238, 401, 221,
2033             221, 221, 221, 401, 222, 224, 921, 221, 222, 221,
2034             224, 222, 222, 336, 224, 443, 336, 224, 222, 222,
2035             224, 224, 232, 224, 222, 223, 232, 243, 243, 243,
2036             223, 336, 443, 232, 223, 232, 244, 244, 244, 245,
2037             245, 245, 473, 345, 223, 349, 223, 345, 223, 349,
2038             223, 364, 223, 473, 345, 223, 223, 364, 223, 223,
2039              
2040             349, 223, 223, 223, 223, 223, 223, 225, 246, 246,
2041             246, 225, 358, 358, 225, 225, 381, 922, 225, 225,
2042             249, 249, 249, 381, 225, 225, 227, 251, 251, 251,
2043             253, 253, 253, 266, 266, 266, 227, 227, 227, 382,
2044             367, 227, 367, 227, 227, 353, 382, 227, 227, 353,
2045             227, 377, 387, 227, 228, 227, 228, 227, 426, 228,
2046             228, 426, 353, 228, 228, 377, 387, 228, 228, 923,
2047             228, 228, 228, 233, 228, 229, 229, 450, 233, 229,
2048             229, 402, 229, 229, 267, 267, 267, 410, 410, 229,
2049             357, 450, 229, 271, 271, 271, 402, 229, 357, 233,
2050              
2051             233, 357, 357, 233, 233, 276, 276, 276, 365, 233,
2052             365, 368, 365, 371, 370, 365, 365, 370, 371, 276,
2053             380, 372, 368, 368, 478, 478, 371, 372, 370, 374,
2054             374, 392, 374, 372, 380, 392, 380, 403, 380, 372,
2055             403, 398, 372, 398, 414, 435, 421, 419, 419, 392,
2056             421, 437, 422, 438, 403, 414, 403, 414, 419, 422,
2057             422, 425, 448, 435, 421, 425, 445, 445, 438, 425,
2058             449, 422, 452, 457, 453, 477, 452, 482, 463, 445,
2059             437, 453, 463, 477, 483, 486, 437, 457, 463, 488,
2060             487, 448, 492, 486, 484, 493, 437, 487, 483, 449,
2061              
2062             484, 484, 493, 437, 488, 488, 482, 488, 482, 491,
2063             491, 497, 495, 498, 498, 497, 508, 541, 499, 543,
2064             491, 492, 495, 491, 504, 482, 499, 499, 505, 504,
2065             508, 505, 504, 640, 509, 505, 509, 603, 504, 505,
2066             546, 646, 546, 640, 613, 549, 505, 678, 505, 509,
2067             549, 613, 646, 603, 603, 616, 549, 678, 682, 616,
2068             682, 616, 924, 541, 616, 543, 613, 616, 622, 622,
2069             616, 616, 616, 616, 616, 616, 633, 622, 669, 634,
2070             622, 634, 657, 666, 622, 905, 669, 633, 925, 666,
2071             633, 905, 634, 657, 633, 687, 657, 696, 687, 687,
2072              
2073             701, 716, 696, 716, 720, 721, 687, 721, 757, 752,
2074             898, 701, 759, 687, 720, 752, 752, 759, 775, 757,
2075             782, 757, 765, 765, 826, 826, 791, 828, 833, 775,
2076             808, 846, 900, 846, 853, 847, 765, 782, 791, 782,
2077             862, 808, 927, 833, 808, 833, 847, 828, 808, 853,
2078             868, 901, 920, 901, 862, 898, 868, 928, 929, 868,
2079             930, 868, 931, 868, 868, 868, 932, 933, 934, 920,
2080             935, 936, 937, 939, 941, 942, 944, 900, 945, 946,
2081             947, 948, 949, 950, 951, 952, 953, 954, 956, 957,
2082             958, 959, 962, 963, 967, 964, 965, 966, 969, 956,
2083              
2084             964, 972, 956, 966, 965, 971, 973, 974, 971, 975,
2085             969, 976, 977, 978, 969, 979, 965, 980, 981, 982,
2086             983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
2087             993, 994, 995, 996, 997, 991, 999, 996, 1000, 1001,
2088             995, 1004, 1005, 1006, 1008, 1009, 1010, 1011, 1012, 1013,
2089             1008, 1014, 1015, 1016, 1008, 1017, 1018, 1020, 1021, 1023,
2090             1024, 1025, 1026, 1024, 1027, 1028, 1029, 1024, 1030, 1031,
2091             1032, 1033, 1034, 1035, 1036, 1037, 1038, 1040, 1042, 1043,
2092             1024, 1038, 1044, 1046, 1047, 1048, 1049, 1050, 1051, 1052,
2093             1053, 1054, 1055, 1057, 1058, 1060, 1061, 1063, 1064, 1065,
2094              
2095             1058, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075,
2096             1076, 1077, 1078, 1079, 1068, 1080, 1082, 1083, 1084, 1085,
2097             1083, 1083, 1080, 1083, 1086, 1087, 1080, 1089, 1090, 1091,
2098             1092, 1093, 1080, 1080, 1080, 1083, 1094, 1095, 1096, 1097,
2099             1098, 1099, 1094, 1100, 1100, 1101, 1102, 1100, 1103, 1104,
2100             1100, 1105, 1106, 1100, 1107, 1108, 1100, 1109, 1110, 1100,
2101             1100, 1100, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118,
2102             1119, 1121, 1119, 1122, 1123, 1122, 1125, 1126, 1127, 1128,
2103             1129, 1130, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139,
2104             1140, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151,
2105              
2106             1152, 1154, 1156, 1157, 1158, 1160, 1161, 1160, 1150, 1160,
2107             1162, 1163, 1164, 1165, 1150, 1150, 1166, 1167, 1160, 1168,
2108             1169, 1170, 1171, 1160, 1172, 1174, 1176, 1177, 1178, 1179,
2109             1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189,
2110             1190, 1191, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200,
2111             1202, 1203, 1204, 1205, 1207, 1208, 1209, 1210, 1209, 1211,
2112             1209, 1212, 1214, 1215, 1202, 1216, 1217, 1218, 1219, 1209,
2113             1208, 1220, 1221, 1222, 1209, 1223, 1224, 1225, 1226, 1227,
2114             1228, 1229, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238,
2115             1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1246, 1247,
2116              
2117             1248, 1249, 1250, 1251, 1252, 1254, 1256, 1246, 1255, 1255,
2118             1257, 1249, 1248, 1258, 1255, 1259, 1260, 1261, 1263, 1264,
2119             1265, 1266, 1267, 1268, 1269, 1270, 1255, 1271, 1255, 1272,
2120             1273, 1275, 1276, 1277, 1278, 1279, 1283, 1284, 1286, 1287,
2121             1288, 1284, 1289, 1291, 1293, 1294, 1295, 1296, 1297, 1300,
2122             1301, 1302, 1304, 1305, 1308, 1284, 1309, 1310, 1313, 1320,
2123             1321, 1322, 1323, 1324, 1326, 1327, 1328, 1329, 1330, 1328,
2124             1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1341, 1342,
2125             1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1352, 1353,
2126             1354, 1355, 1356, 1358, 1359, 1352, 1352, 1360, 1361, 1362,
2127              
2128             1364, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1375,
2129             1376, 1377, 1373, 1378, 1379, 1380, 1381, 1382, 1383, 1385,
2130             1386, 1387, 1391, 1392, 1393, 1394, 1373, 1395, 1396, 1397,
2131             1398, 1379, 1379, 1399, 1400, 1401, 1402, 1403, 1404, 1405,
2132             1406, 1407, 1408, 1409, 1410, 1411, 1413, 1414, 1415, 1416,
2133             1417, 1421, 1422, 1425, 1426, 1428, 1427, 1429, 1430, 1431,
2134             1411, 1427, 1432, 1433, 1434, 1437, 1438, 1439, 1441, 1442,
2135             1443, 1444, 1448, 1449, 1450, 1453, 1454, 1455, 1456, 1457,
2136             1458, 1459, 1460, 1461, 1462, 1442, 1463, 1458, 1464, 1465,
2137             1466, 1467, 1468, 1469, 1470, 1471, 1474, 1475, 1476, 1477,
2138              
2139             1478, 1479, 1480, 1481, 1482, 1483, 1484, 1481, 1485, 1486,
2140             1481, 1488, 1487, 1489, 1488, 1482, 1487, 1490, 1491, 1492,
2141             1493, 1494, 1495, 1487, 1487, 1496, 1497, 1494, 1499, 1501,
2142             1502, 1503, 1504, 1505, 1506, 1507, 1509, 1510, 1512, 1495,
2143             1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525,
2144             1526, 1527, 1530, 1531, 1510, 1532, 1534, 1535, 1536, 1537,
2145             1538, 1539, 1540, 1537, 1541, 1542, 1543, 1544, 1546, 1547,
2146             1548, 1549, 1550, 1552, 1553, 1555, 1557, 1558, 1560, 1561,
2147             1562, 1563, 1564, 1565, 1566, 1567, 1561, 1568, 1569, 1549,
2148             1561, 1570, 1572, 1573, 1574, 1575, 1561, 1561, 1561, 1577,
2149              
2150             1581, 1584, 1577, 1585, 1588, 1589, 1590, 1591, 1592, 1593,
2151             1594, 1595, 1596, 1581, 1597, 1598, 1599, 1600, 1601, 1602,
2152             1603, 1604, 1605, 1608, 1606, 1610, 1611, 1613, 1614, 1615,
2153             1616, 1617, 1618, 1624, 1599, 1606, 1620, 1625, 1626, 1627,
2154             1629, 1630, 1632, 1610, 1633, 1634, 1620, 1635, 1637, 1620,
2155             1638, 1639, 1620, 1620, 1640, 1641, 1642, 1645, 1647, 1648,
2156             1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1640, 1657,
2157             1658, 1654, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666,
2158             1652, 1667, 1668, 1655, 1669, 1670, 1673, 1675, 1676, 1677,
2159             1678, 1679, 1680, 1681, 1682, 1684, 1685, 1686, 1687, 1689,
2160              
2161             1690, 1693, 1694, 1695, 1697, 1701, 1702, 1703, 1704, 1705,
2162             1706, 1707, 1708, 1709, 1710, 1711, 1712, 1714, 1716, 1717,
2163             1718, 1719, 1720, 1721, 1722, 1723, 1725, 1726, 1727, 1728,
2164             1729, 1733, 1734, 1735, 1738, 1740, 1741, 1742, 1740, 1743,
2165             1744, 1745, 1720, 1746, 1747, 1748, 1749, 1751, 1752, 1753,
2166             1754, 1755, 1756, 1758, 1759, 1760, 1761, 1763, 1764, 1765,
2167             1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1775, 1776,
2168             1769, 1777, 1778, 1780, 1781, 1782, 1783, 1784, 1786, 1787,
2169             1788, 1790, 1791, 1792, 1794, 1795, 1796, 1798, 1799, 1800,
2170             1801, 1803, 1804, 1805, 1806, 1807, 1808, 1810, 1814, 1815,
2171              
2172             1816, 1817, 1818, 1819, 1820, 1821, 1803, 1822, 1823, 1824,
2173             1825, 1826, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1824,
2174             1837, 1839, 1843, 1844, 1845, 1846, 1848, 1850, 1851, 1852,
2175             1854, 1857, 1858, 1861, 1862, 1863, 1864, 1865, 1867, 1868,
2176             1869, 1870, 1871, 1872, 1874, 1875, 1876, 1877, 1878, 1879,
2177             1880, 1881, 1882, 1883, 1872, 1882, 1884, 1885, 1886, 1889,
2178             1890, 1891, 1893, 1896, 1897, 1898, 1899, 1900, 1901, 1902,
2179             1903, 1904, 1905, 1906, 1907, 1909, 1910, 1911, 1912, 1914,
2180             1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927,
2181             1928, 1929, 1923, 1930, 1931, 1933, 1934, 1935, 1936, 1937,
2182              
2183             1938, 1939, 1940, 1941, 1942, 1943, 1944, 1947, 1948, 1949,
2184             1940, 1950, 1951, 1952, 1954, 1955, 1956, 1957, 1949, 1958,
2185             1959, 1962, 1963, 1964, 1965, 1966, 1957, 1967, 1970, 1971,
2186             1972, 1973, 1966, 1974, 1975, 1976, 1977, 1978, 1975, 1979,
2187             1981, 1982, 1983, 1984, 1985, 1986, 1987, 1989, 1991, 1992,
2188             1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
2189             2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
2190             2015, 2017, 2018, 2019, 2020, 2022, 2023, 2010, 2024, 2025,
2191             2026, 2028, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037,
2192             2039, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2049, 2052,
2193              
2194             2053, 2055, 2057, 2058, 2059, 2060, 2062, 2063, 2064, 2065,
2195             2066, 2067, 2068, 2069, 2071, 2072, 2073, 2074, 2076, 2074,
2196             2074, 2077, 2078, 2079, 2080, 2081, 2082, 2084, 2085, 2086,
2197             2087, 2088, 2086, 2089, 2090, 2091, 2092, 2094, 2096, 2097,
2198             2098, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108,
2199             2111, 2112, 2113, 2114, 2115, 2116, 2112, 2117, 2118, 2119,
2200             2120, 2121, 2122, 2124, 2125, 2126, 2127, 2128, 2130, 2131,
2201             2132, 2133, 2134, 2136, 2137, 2138, 2139, 2140, 2141, 2142,
2202             2143, 2144, 2146, 2147, 2151, 2152, 2153, 2154, 2155, 2156,
2203             2158, 2161, 2162, 2163, 2164, 2166, 2168, 2169, 2170, 2171,
2204              
2205             2172, 2173, 2174, 2178, 2179, 2180, 2181, 2183, 2184, 2185,
2206             2186, 2187, 2189, 2190, 2191, 2192, 2194, 2195, 2199, 2200,
2207             2201, 2202, 2203, 2206, 2209, 2210, 2211, 2212, 2213, 2216,
2208             2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226,
2209             2227, 2231, 2232, 2235, 2236, 2237, 2238, 2239, 2232, 2240,
2210             2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250,
2211             2251, 2252, 2253, 2255, 2256, 2259, 2260, 2261, 2262, 2263,
2212             2264, 2265, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274,
2213             2269, 2275, 2277, 2278, 2280, 2281, 2282, 2283, 2284, 2285,
2214             2286, 2287, 2288, 2289, 2291, 2293, 2295, 2296, 2297, 2298,
2215              
2216             2299, 2300, 2301, 2303, 2304, 2305, 2306, 2307, 2308, 2309,
2217             2311, 2312, 2313, 2315, 2318, 2320, 2321, 2322, 2323, 2324,
2218             2325, 2326, 2327, 2329, 2330, 2331, 2332, 2333, 2335, 2336,
2219             2337, 2338, 2340, 2343, 2346, 2347, 2348, 2349, 2353, 2354,
2220             2355, 2356, 2359, 2361, 2364, 2365, 2366, 2367, 2369, 2370,
2221             2371, 2372, 2374, 2375, 2376, 2378, 2379, 2380, 2381, 2382,
2222             2383, 2386, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2397,
2223             2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2409, 2410,
2224             2411, 2412, 2413, 2414, 2415, 2416, 2418, 2419, 2420, 2421,
2225             2422, 2424, 2425, 2426, 2427, 2431, 2433, 2436, 2437, 2438,
2226              
2227             2439, 2440, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449,
2228             2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2459, 2461,
2229             2462, 2463, 2464, 2466, 2467, 2468, 2469, 2470, 2471, 2472,
2230             2473, 2474, 2475, 2478, 2457, 2479, 2480, 2483, 2484, 2485,
2231             2486, 2487, 2488, 2489, 2490, 2492, 2493, 2494, 2496, 2497,
2232             2498, 2500, 2501, 2503, 2504, 2505, 2507, 2508, 2509, 2510,
2233             2511, 2512, 2513, 2514, 2515, 2516, 2509, 2517, 2519, 2520,
2234             2521, 2509, 2509, 2522, 2524, 2525, 2527, 2528, 2530, 2531,
2235             2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, 2541,
2236             2546, 2548, 2550, 2552, 2554, 2555, 2556, 2557, 2558, 2559,
2237              
2238             2561, 2565, 2566, 2568, 2570, 2571, 2572, 2573, 2574, 2575,
2239             2576, 2577, 2578, 2580, 2581, 2583, 2584, 2585, 2586, 2587,
2240             2588, 2589, 2590, 2591, 2592, 2593, 2595, 2596, 2597, 2599,
2241             2600, 2603, 2604, 2608, 2611, 2612, 2614, 2615, 2616, 2617,
2242             2618, 2619, 2620, 2621, 2622, 2623, 2625, 2627, 2619, 2628,
2243             2629, 2630, 2632, 2633, 2634, 2635, 2636, 2630, 2637, 2619,
2244             2638, 2639, 2640, 2642, 2643, 2646, 2648, 2649, 2651, 2652,
2245             2654, 2655, 2656, 2658, 2651, 2659, 2660, 2661, 2662, 2663,
2246             2664, 2665, 2666, 2667, 2668, 2669, 2670, 2664, 2672, 2673,
2247             2674, 2675, 2676, 2677, 2679, 2680, 2681, 2682, 2684, 2685,
2248              
2249             2686, 2687, 2689, 2692, 2693, 2695, 2696, 2698, 2699, 2700,
2250             2701, 2702, 2703, 2705, 2706, 2707, 2708, 2709, 2710, 2711,
2251             2713, 2714, 2708, 2715, 2718, 2719, 2720, 2721, 2722, 2703,
2252             2723, 2724, 2725, 2726, 2728, 2729, 2730, 2731, 2733, 2735,
2253             2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2746,
2254             2748, 2749, 2750, 2751, 2752, 2753, 2755, 2756, 2757, 2758,
2255             2759, 2760, 2761, 2762, 2763, 2764, 2755, 2765, 2767, 2768,
2256             2769, 2771, 2755, 2772, 2773, 2774, 2775, 2776, 2777, 2778,
2257             2779, 2780, 2781, 2782, 2783, 2787, 2788, 2789, 2790, 2791,
2258             2792, 2793, 2795, 2796, 2797, 2798, 2799, 2801, 2802, 2803,
2259              
2260             2805, 2806, 2807, 2808, 2809, 2810, 2812, 2813, 2814, 2815,
2261             2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2825, 2827,
2262             2829, 2831, 2837, 2838, 2840, 2842, 2843, 2844, 2845, 2846,
2263             2847, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2859, 2860,
2264             2861, 2863, 2864, 2865, 2866, 2868, 2869, 2870, 2871, 2873,
2265             2874, 2875, 2868, 2881, 2882, 2883, 2885, 2886, 2890, 2893,
2266             2894, 2895, 2896, 2886, 2897, 2899, 2900, 2901, 2902, 2903,
2267             2904, 2882, 2907, 2909, 2910, 2911, 2904, 2912, 2913, 2914,
2268             2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924,
2269             2925, 2926, 2927, 2928, 2929, 2932, 2914, 2933, 2934, 2936,
2270              
2271             2937, 2938, 2939, 2940, 2941, 2942, 2945, 2946, 2947, 2948,
2272             2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958,
2273             2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971,
2274             2973, 2974, 2975, 2976, 2977, 2978, 2980, 2981, 2982, 2983,
2275             2977, 2985, 2986, 2988, 2989, 2990, 2991, 2992, 2994, 2995,
2276             2996, 2997, 2998, 2999, 3000, 3001, 3002, 3004, 3005, 3006,
2277             3007, 3008, 3009, 3010, 3011, 3012, 3013, 3015, 3016, 3017,
2278             3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027,
2279             3028, 3030, 3032, 3033, 3035, 3036, 3037, 3038, 3040, 3041,
2280             3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051,
2281              
2282             3053, 3054, 3055, 3056, 3058, 3059, 3060, 3061, 3062, 3063,
2283             3045, 3064, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073,
2284             3074, 3075, 3076, 3077, 3078, 3080, 3081, 3083, 3085, 3086,
2285             3087, 3088, 3089, 3090, 3091, 3093, 3085, 3095, 3096, 3097,
2286             3098, 3099, 3085, 3102, 3103, 3105, 3107, 3108, 3109, 3110,
2287             3111, 3112, 3113, 3115, 3117, 3119, 3121, 3122, 3123, 3124,
2288             3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135,
2289             3136, 3137, 3138, 3141, 3142, 3143, 3144, 3145, 3146, 3147,
2290             3148, 3149, 3151, 3154, 3155, 3156, 3157, 3158, 3159, 3160,
2291             3161, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171,
2292              
2293             3173, 3178, 3179, 3181, 3182, 3184, 3185, 3186, 3189, 3192,
2294             3193, 3195, 3196, 3197, 3199, 3201, 3203, 3204, 3205, 3206,
2295             3207, 3208, 3209, 3212, 3214, 3215, 3217, 3218, 3220, 3221,
2296             3222, 3224, 3225, 3226, 3227, 3228, 3230, 3231, 3232, 3234,
2297             3236, 3239, 3240, 3243, 3244, 3245, 3249, 3250, 3251, 3252,
2298             3254, 3255, 3258, 3259, 3261, 3262, 3263, 3266, 3270, 3271,
2299             3272, 3273, 3274, 3275, 3277, 3279, 3280, 3281, 3282, 3285,
2300             3286, 3288, 3293, 3294, 3240, 3296, 3297, 3298, 3301, 3302,
2301             3303, 3304, 3305, 3308, 3309, 3313, 3314, 3315, 3319, 3321,
2302             3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3327, 3328,
2303              
2304             3328, 3328, 3328, 3328, 3328, 3328, 3328, 3328, 3329, 3329,
2305             3329, 3329, 3329, 3329, 3329, 3329, 3329, 3330, 3330, 3330,
2306             3330, 3330, 3330, 3330, 3330, 3330, 3331, 3331, 3331, 3331,
2307             3331, 3331, 3331, 3331, 3331, 3332, 3332, 3332, 3332, 3332,
2308             3332, 3332, 3332, 3332, 3333, 3333, 3333, 3333, 3333, 3333,
2309             3333, 3333, 3333, 3334, 3334, 3334, 3334, 3334, 3334, 3334,
2310             3334, 3334, 3335, 3335, 3335, 3335, 3335, 3335, 3335, 3335,
2311             3335, 3336, 3336, 3336, 3336, 3336, 3336, 3336, 3336, 3336,
2312             3337, 909, 908, 3337, 3337, 3337, 3338, 3338, 3339, 3339,
2313             3339, 3339, 903, 3339, 3339, 3340, 3340, 3340, 3340, 3340,
2314              
2315             3340, 3340, 3340, 3340, 3341, 3341, 3341, 3341, 3341, 3341,
2316             3341, 3341, 3341, 3342, 3342, 3342, 3342, 3342, 3342, 3342,
2317             3342, 3342, 3343, 3343, 3343, 3343, 3343, 3343, 3343, 3343,
2318             3343, 3344, 3344, 3344, 3344, 3344, 3345, 3345, 902, 3345,
2319             3345, 3345, 3345, 3345, 3345, 3346, 3346, 3347, 896, 3347,
2320             3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3349,
2321             3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 895, 894,
2322             893, 892, 891, 890, 889, 888, 887, 886, 885, 884,
2323             883, 882, 881, 880, 879, 878, 877, 876, 875, 874,
2324             873, 872, 870, 869, 867, 866, 865, 864, 863, 861,
2325              
2326             860, 859, 858, 857, 856, 855, 854, 851, 850, 849,
2327             848, 845, 844, 843, 842, 840, 839, 838, 837, 835,
2328             834, 832, 831, 830, 829, 827, 825, 824, 823, 822,
2329             821, 820, 819, 818, 817, 815, 814, 813, 812, 811,
2330             810, 809, 807, 806, 805, 804, 803, 800, 799, 798,
2331             797, 796, 795, 794, 790, 789, 788, 787, 786, 784,
2332             783, 781, 780, 779, 778, 777, 776, 774, 773, 772,
2333             771, 770, 769, 768, 767, 766, 764, 763, 762, 761,
2334             760, 758, 756, 755, 754, 753, 751, 750, 749, 748,
2335             747, 746, 745, 744, 743, 742, 741, 738, 737, 735,
2336              
2337             734, 733, 732, 731, 730, 729, 727, 726, 725, 724,
2338             722, 718, 717, 715, 714, 713, 712, 711, 710, 709,
2339             707, 706, 705, 704, 703, 702, 700, 699, 698, 697,
2340             694, 693, 691, 690, 688, 686, 685, 684, 680, 679,
2341             677, 676, 675, 674, 672, 668, 667, 665, 664, 663,
2342             662, 660, 659, 658, 656, 655, 654, 652, 651, 649,
2343             647, 645, 644, 643, 642, 641, 637, 636, 635, 632,
2344             631, 630, 628, 627, 626, 624, 623, 621, 620, 619,
2345             618, 617, 615, 614, 612, 611, 610, 609, 608, 607,
2346             605, 602, 601, 600, 599, 598, 597, 596, 595, 594,
2347              
2348             593, 591, 590, 589, 588, 587, 586, 585, 584, 582,
2349             581, 580, 578, 577, 573, 572, 571, 570, 568, 567,
2350             566, 565, 564, 563, 562, 561, 559, 558, 557, 556,
2351             555, 553, 551, 548, 547, 545, 542, 540, 535, 534,
2352             533, 532, 531, 530, 529, 528, 527, 526, 525, 524,
2353             523, 522, 521, 520, 519, 518, 516, 515, 514, 511,
2354             510, 507, 506, 503, 502, 501, 500, 496, 494, 490,
2355             489, 485, 481, 480, 479, 476, 475, 472, 471, 470,
2356             469, 468, 467, 466, 465, 464, 462, 461, 460, 458,
2357             456, 455, 454, 451, 446, 444, 442, 441, 440, 436,
2358              
2359             434, 433, 432, 431, 429, 427, 424, 423, 420, 418,
2360             417, 415, 413, 412, 411, 409, 408, 407, 406, 405,
2361             404, 400, 399, 397, 396, 395, 394, 393, 391, 390,
2362             389, 388, 386, 385, 384, 383, 379, 378, 376, 375,
2363             373, 369, 366, 363, 361, 360, 359, 356, 351, 348,
2364             347, 346, 344, 342, 341, 339, 338, 337, 335, 334,
2365             333, 331, 330, 329, 328, 327, 325, 322, 321, 320,
2366             319, 318, 315, 314, 313, 312, 311, 310, 309, 308,
2367             306, 305, 303, 302, 301, 300, 299, 298, 297, 296,
2368             295, 294, 293, 290, 289, 288, 283, 278, 274, 272,
2369              
2370             270, 269, 268, 265, 264, 262, 261, 260, 259, 258,
2371             256, 255, 254, 252, 250, 247, 240, 234, 219, 207,
2372             206, 205, 197, 196, 194, 192, 186, 173, 172, 171,
2373             170, 166, 160, 157, 155, 153, 138, 133, 127, 121,
2374             117, 84, 65, 58, 56, 49, 48, 45, 44, 43,
2375             42, 41, 30, 29, 28, 27, 26, 25, 18, 17,
2376             6, 5, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
2377             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
2378             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
2379             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
2380              
2381             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
2382             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
2383             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
2384             3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326, 3326,
2385             3326, 3326, 3326, 3326, 3326
2386             } ;
2387              
2388             static yy_state_type yy_last_accepting_state;
2389             static char *yy_last_accepting_cpos;
2390              
2391             /* The intent behind this definition is that it'll catch
2392             * any uses of REJECT which flex missed.
2393             */
2394             #define REJECT reject_used_but_not_detected
2395             static int yy_more_flag = 0;
2396             static int yy_more_len = 0;
2397             #define yymore() (yy_more_flag = 1)
2398             #define YY_MORE_ADJ yy_more_len
2399             #define YY_RESTORE_YY_MORE_OFFSET
2400             char *yytext;
2401             #line 1 "itex2MML.l"
2402             #define INITIAL 0
2403             /* itex2MML 1.5.8
2404             * itex2MML.l last modified 10/19/2018
2405             */
2406             #line 6 "itex2MML.l"
2407             #define MATH 1
2408             #define ATTRIBUTELIST 2
2409             #define BBOLD 3
2410             #define FRAKTUR 4
2411             #define CALLIGRAPHIC 5
2412             #define SCRIPT 6
2413             #define ROMAN 7
2414             #define PLAINTEXT 8
2415             #define INT1 9
2416             #define INT2 10
2417             #define INT3 11
2418             #define MATHENV 12
2419             #define SVGENV 13
2420             #define SVGEND 14
2421             #define OPTARG 15
2422             #define ARRAYOPTIONS 16
2423             #define COLOPTS 17
2424             #define TEXTOPTARG 18
2425             #define TEXTOPTARG1 19
2426             #define RAISEBOX1 20
2427             #define RAISEBOX2 21
2428              
2429             #line 10 "itex2MML.l"
2430             #include
2431              
2432             #define YYSTYPE char *
2433              
2434             #include "y.tab.h"
2435             #include "itex2MML.h"
2436              
2437             #define YY_NEVER_INTERACTIVE 1
2438             #define YY_INPUT(buffer,result,max_size) result = s_itex2MML_read (buffer, max_size)
2439              
2440             static size_t s_itex2MML_read (char * buffer, size_t max_size);
2441             void itex2MML_do_capture_eqn();
2442             void itex2MML_capture_eqn_src();
2443              
2444             #define yylval itex2MML_yylval
2445             #define itex2MML_optarg_depth 100
2446              
2447             extern char * yylval;
2448              
2449             int itex2MML_lineno = 1;
2450             int itex2MML_inoptarg[itex2MML_optarg_depth];
2451             int itex2MML_optarg_ind = 0;
2452             int itex2MML_env_start = 0;
2453              
2454             #define YY_USER_ACTION itex2MML_capture_eqn_src();
2455             # define itex2MML_eqn_bufsize 131072
2456             char itex2MML_eqn_src[itex2MML_eqn_bufsize];
2457             char * itex2MML_eqn_end = itex2MML_eqn_src;
2458              
2459             int itex2MML_rowposn = 0;
2460             int itex2MML_displaymode = 0;
2461              
2462             #line 2463 "lex.yy.c"
2463              
2464             /* Macros after this point can all be overridden by user definitions in
2465             * section 1.
2466             */
2467              
2468             #ifndef YY_SKIP_YYWRAP
2469             #ifdef __cplusplus
2470             extern "C" int yywrap YY_PROTO(( void ));
2471             #else
2472             extern int yywrap YY_PROTO(( void ));
2473             #endif
2474             #endif
2475              
2476             #ifndef YY_NO_UNPUT
2477             static void yyunput YY_PROTO(( int c, char *buf_ptr ));
2478             #endif
2479              
2480             #ifndef yytext_ptr
2481             static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
2482             #endif
2483              
2484             #ifdef YY_NEED_STRLEN
2485             static int yy_flex_strlen YY_PROTO(( yyconst char * ));
2486             #endif
2487              
2488             #ifndef YY_NO_INPUT
2489             #ifdef __cplusplus
2490             static int yyinput YY_PROTO(( void ));
2491             #else
2492             static int input YY_PROTO(( void ));
2493             #endif
2494             #endif
2495              
2496             #if YY_STACK_USED
2497             static int yy_start_stack_ptr = 0;
2498             static int yy_start_stack_depth = 0;
2499             static int *yy_start_stack = 0;
2500             #ifndef YY_NO_PUSH_STATE
2501             static void yy_push_state YY_PROTO(( int new_state ));
2502             #endif
2503             #ifndef YY_NO_POP_STATE
2504             static void yy_pop_state YY_PROTO(( void ));
2505             #endif
2506             #ifndef YY_NO_TOP_STATE
2507             static int yy_top_state YY_PROTO(( void ));
2508             #endif
2509              
2510             #else
2511             #define YY_NO_PUSH_STATE 1
2512             #define YY_NO_POP_STATE 1
2513             #define YY_NO_TOP_STATE 1
2514             #endif
2515              
2516             #ifdef YY_MALLOC_DECL
2517             YY_MALLOC_DECL
2518             #else
2519             #if __STDC__
2520             #ifndef __cplusplus
2521             #include
2522             #endif
2523             #else
2524             /* Just try to get by without declaring the routines. This will fail
2525             * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
2526             * or sizeof(void*) != sizeof(int).
2527             */
2528             #endif
2529             #endif
2530              
2531             /* Amount of stuff to slurp up with each read. */
2532             #ifndef YY_READ_BUF_SIZE
2533             #define YY_READ_BUF_SIZE 8192
2534             #endif
2535              
2536             /* Copy whatever the last rule matched to the standard output. */
2537              
2538             #ifndef ECHO
2539             /* This used to be an fputs(), but since the string might contain NUL's,
2540             * we now use fwrite().
2541             */
2542             #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
2543             #endif
2544              
2545             /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2546             * is returned in "result".
2547             */
2548             #ifndef YY_INPUT
2549             #define YY_INPUT(buf,result,max_size) \
2550             if ( yy_current_buffer->yy_is_interactive ) \
2551             { \
2552             int c = '*', n; \
2553             for ( n = 0; n < max_size && \
2554             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2555             buf[n] = (char) c; \
2556             if ( c == '\n' ) \
2557             buf[n++] = (char) c; \
2558             if ( c == EOF && ferror( yyin ) ) \
2559             YY_FATAL_ERROR( "input in flex scanner failed" ); \
2560             result = n; \
2561             } \
2562             else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
2563             && ferror( yyin ) ) \
2564             YY_FATAL_ERROR( "input in flex scanner failed" );
2565             #endif
2566              
2567             /* No semi-colon after return; correct usage is to write "yyterminate();" -
2568             * we don't want an extra ';' after the "return" because that will cause
2569             * some compilers to complain about unreachable statements.
2570             */
2571             #ifndef yyterminate
2572             #define yyterminate() return YY_NULL
2573             #endif
2574              
2575             /* Number of entries by which start-condition stack grows. */
2576             #ifndef YY_START_STACK_INCR
2577             #define YY_START_STACK_INCR 25
2578             #endif
2579              
2580             /* Report a fatal error. */
2581             #ifndef YY_FATAL_ERROR
2582             #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2583             #endif
2584              
2585             /* Default declaration of generated scanner - a define so the user can
2586             * easily add parameters.
2587             */
2588             #ifndef YY_DECL
2589             #define YY_DECL int yylex YY_PROTO(( void ))
2590             #endif
2591              
2592             /* Code executed at the beginning of each rule, after yytext and yyleng
2593             * have been set up.
2594             */
2595             #ifndef YY_USER_ACTION
2596             #define YY_USER_ACTION
2597             #endif
2598              
2599             /* Code executed at the end of each rule. */
2600             #ifndef YY_BREAK
2601             #define YY_BREAK break;
2602             #endif
2603              
2604             #define YY_RULE_SETUP \
2605             YY_USER_ACTION
2606              
2607 73           YY_DECL
2608             {
2609             register yy_state_type yy_current_state;
2610             register char *yy_cp, *yy_bp;
2611             register int yy_act;
2612              
2613             #line 43 "itex2MML.l"
2614              
2615             if (itex2MML_rowposn==1) itex2MML_rowposn=0;
2616             if (itex2MML_rowposn==2) itex2MML_rowposn=1;
2617              
2618              
2619             #line 2620 "lex.yy.c"
2620              
2621 73 100         if ( yy_init )
2622             {
2623 1           yy_init = 0;
2624              
2625             #ifdef YY_USER_INIT
2626             YY_USER_INIT;
2627             #endif
2628              
2629 1 50         if ( ! yy_start )
2630 0           yy_start = 1; /* first start state */
2631              
2632 1 50         if ( ! yyin )
2633 1           yyin = stdin;
2634              
2635 1 50         if ( ! yyout )
2636 1           yyout = stdout;
2637              
2638 1 50         if ( ! yy_current_buffer )
2639 1           yy_current_buffer =
2640 1           yy_create_buffer( yyin, YY_BUF_SIZE );
2641              
2642 1           yy_load_buffer_state();
2643             }
2644              
2645             while ( 1 ) /* loops until end-of-file is reached */
2646             {
2647 73           yy_more_len = 0;
2648 73 50         if ( yy_more_flag )
2649             {
2650 0           yy_more_len = yy_c_buf_p - yytext_ptr;
2651 0           yy_more_flag = 0;
2652             }
2653 73           yy_cp = yy_c_buf_p;
2654              
2655             /* Support of yytext. */
2656 73           *yy_cp = yy_hold_char;
2657              
2658             /* yy_bp points to the position in yy_ch_buf of the start of
2659             * the current run.
2660             */
2661 73           yy_bp = yy_cp;
2662              
2663 73           yy_current_state = yy_start;
2664             yy_match:
2665             do
2666             {
2667 131           register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2668 131 100         if ( yy_accept[yy_current_state] )
2669             {
2670 54           yy_last_accepting_state = yy_current_state;
2671 54           yy_last_accepting_cpos = yy_cp;
2672             }
2673 206 100         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2674             {
2675 75           yy_current_state = (int) yy_def[yy_current_state];
2676 75 100         if ( yy_current_state >= 3327 )
2677 45           yy_c = yy_meta[(unsigned int) yy_c];
2678             }
2679 131           yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2680 131           ++yy_cp;
2681             }
2682 131 100         while ( yy_base[yy_current_state] != 4063 );
2683              
2684             yy_find_action:
2685 79           yy_act = yy_accept[yy_current_state];
2686 79 100         if ( yy_act == 0 )
2687             { /* have to back up */
2688 30           yy_cp = yy_last_accepting_cpos;
2689 30           yy_current_state = yy_last_accepting_state;
2690 30           yy_act = yy_accept[yy_current_state];
2691             }
2692              
2693 79           YY_DO_BEFORE_ACTION;
2694              
2695              
2696             do_action: /* This label is used only to access EOF actions. */
2697              
2698              
2699 83           switch ( yy_act )
2700             { /* beginning of action switch */
2701             case 0: /* must back up */
2702             /* undo the effects of YY_DO_BEFORE_ACTION */
2703 0           *yy_cp = yy_hold_char;
2704 0           yy_cp = yy_last_accepting_cpos;
2705 0           yy_current_state = yy_last_accepting_state;
2706 0           goto yy_find_action;
2707              
2708             case 1:
2709 4           YY_RULE_SETUP
2710             #line 48 "itex2MML.l"
2711             BEGIN(MATH); itex2MML_inoptarg[0] = 0; itex2MML_rowposn=2; if (yyleng==2) { itex2MML_displaymode=1; return STARTDMATH;}; itex2MML_displaymode=0; return STARTMATH;
2712             YY_BREAK
2713             case 2:
2714             YY_RULE_SETUP
2715             #line 49 "itex2MML.l"
2716             BEGIN(MATH); itex2MML_inoptarg[0] = 0; itex2MML_rowposn=2; itex2MML_displaymode=1; return STARTDMATH;
2717             YY_BREAK
2718             case 3:
2719             YY_RULE_SETUP
2720             #line 50 "itex2MML.l"
2721             BEGIN(MATH); itex2MML_inoptarg[0] = 0; itex2MML_rowposn=2; itex2MML_displaymode=0; return STARTMATH;
2722             YY_BREAK
2723             case 4:
2724             YY_RULE_SETUP
2725             #line 51 "itex2MML.l"
2726             return 0;
2727             YY_BREAK
2728             case 5:
2729             YY_RULE_SETUP
2730             #line 52 "itex2MML.l"
2731             {itex2MML_lineno++; yylval=itex2MML_copy_string(yytext); return CHAR;}
2732             YY_BREAK
2733             case 6:
2734             YY_RULE_SETUP
2735             #line 53 "itex2MML.l"
2736             {yylval=itex2MML_copy_string(yytext); return CHAR;}
2737             YY_BREAK
2738              
2739             case 7:
2740             *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2741             yy_c_buf_p = yy_cp = yy_bp + 2;
2742             YY_DO_BEFORE_ACTION; /* set up yytext again */
2743             YY_RULE_SETUP
2744             #line 58 "itex2MML.l"
2745             {yylval=itex2MML_copy_string("$"); return MI;};
2746             YY_BREAK
2747             case 8:
2748             #line 60 "itex2MML.l"
2749             case 9:
2750             #line 61 "itex2MML.l"
2751             case 10:
2752             YY_RULE_SETUP
2753             #line 61 "itex2MML.l"
2754             {itex2MML_eqn_src[itex2MML_eqn_end-itex2MML_eqn_src-yyleng]=0; itex2MML_eqn_end=itex2MML_eqn_src; yylval=itex2MML_copy_escaped(itex2MML_eqn_src); BEGIN(INITIAL); return ENDMATH;}
2755             YY_BREAK
2756             case 11:
2757             YY_RULE_SETUP
2758             #line 63 "itex2MML.l"
2759             return SUP;
2760             YY_BREAK
2761             case 12:
2762             YY_RULE_SETUP
2763             #line 64 "itex2MML.l"
2764             return SUB;
2765             YY_BREAK
2766             case 13:
2767             YY_RULE_SETUP
2768             #line 65 "itex2MML.l"
2769             return EMPTYMROW;
2770             YY_BREAK
2771             case 14:
2772             YY_RULE_SETUP
2773             #line 66 "itex2MML.l"
2774             {itex2MML_rowposn = 2; if(itex2MML_inoptarg[itex2MML_optarg_ind] != 0) itex2MML_inoptarg[itex2MML_optarg_ind]++; return MROWOPEN;}
2775             YY_BREAK
2776             case 15:
2777             YY_RULE_SETUP
2778             #line 67 "itex2MML.l"
2779             {if(itex2MML_inoptarg[itex2MML_optarg_ind] != 0) itex2MML_inoptarg[itex2MML_optarg_ind]--; return MROWCLOSE;}
2780             YY_BREAK
2781             case 16:
2782             YY_RULE_SETUP
2783             #line 69 "itex2MML.l"
2784             itex2MML_rowposn=2; return LEFT;
2785             YY_BREAK
2786             case 17:
2787             YY_RULE_SETUP
2788             #line 70 "itex2MML.l"
2789             return RIGHT;
2790             YY_BREAK
2791             case 18:
2792             #line 73 "itex2MML.l"
2793             case 19:
2794             YY_RULE_SETUP
2795             #line 73 "itex2MML.l"
2796             {return BIG;}
2797             YY_BREAK
2798             case 20:
2799             #line 75 "itex2MML.l"
2800             case 21:
2801             YY_RULE_SETUP
2802             #line 75 "itex2MML.l"
2803             {return BBIG;}
2804             YY_BREAK
2805             case 22:
2806             #line 77 "itex2MML.l"
2807             case 23:
2808             YY_RULE_SETUP
2809             #line 77 "itex2MML.l"
2810             {return BIGG;}
2811             YY_BREAK
2812             case 24:
2813             #line 79 "itex2MML.l"
2814             case 25:
2815             YY_RULE_SETUP
2816             #line 79 "itex2MML.l"
2817             {return BBIGG;}
2818             YY_BREAK
2819             case 26:
2820             YY_RULE_SETUP
2821             #line 81 "itex2MML.l"
2822             {return BIGL;}
2823             YY_BREAK
2824             case 27:
2825             YY_RULE_SETUP
2826             #line 82 "itex2MML.l"
2827             {return BBIGL;}
2828             YY_BREAK
2829             case 28:
2830             YY_RULE_SETUP
2831             #line 83 "itex2MML.l"
2832             {return BIGGL;}
2833             YY_BREAK
2834             case 29:
2835             YY_RULE_SETUP
2836             #line 84 "itex2MML.l"
2837             {return BBIGGL;}
2838             YY_BREAK
2839             case 30:
2840             YY_RULE_SETUP
2841             #line 86 "itex2MML.l"
2842             {return RLAP;}
2843             YY_BREAK
2844             case 31:
2845             YY_RULE_SETUP
2846             #line 87 "itex2MML.l"
2847             {return LLAP;}
2848             YY_BREAK
2849             case 32:
2850             YY_RULE_SETUP
2851             #line 88 "itex2MML.l"
2852             {return CLAP;}
2853             YY_BREAK
2854             case 33:
2855             #line 90 "itex2MML.l"
2856             case 34:
2857             #line 91 "itex2MML.l"
2858             case 35:
2859             #line 92 "itex2MML.l"
2860             case 36:
2861             YY_RULE_SETUP
2862             #line 92 "itex2MML.l"
2863             {/* Ignore */ ;}
2864             YY_BREAK
2865             case 37:
2866             #line 96 "itex2MML.l"
2867             case 38:
2868             YY_RULE_SETUP
2869             #line 96 "itex2MML.l"
2870             {itex2MML_rowposn=2; return COLSEP;}
2871             YY_BREAK
2872             case 39:
2873             YY_RULE_SETUP
2874             #line 98 "itex2MML.l"
2875             {yylval=itex2MML_copy_string("&"); return MI;}
2876             YY_BREAK
2877             case 40:
2878             YY_RULE_SETUP
2879             #line 100 "itex2MML.l"
2880             {yylval=itex2MML_copy_string("%"); return MI;}
2881             YY_BREAK
2882             case 41:
2883             YY_RULE_SETUP
2884             #line 102 "itex2MML.l"
2885             itex2MML_rowposn=2; return ROWSEP;
2886             YY_BREAK
2887             case 42:
2888             YY_RULE_SETUP
2889             #line 104 "itex2MML.l"
2890             {yylval=itex2MML_copy_string(yytext); return MI;}
2891             YY_BREAK
2892             case 43:
2893             #line 107 "itex2MML.l"
2894             case 44:
2895             #line 108 "itex2MML.l"
2896             case 45:
2897             YY_RULE_SETUP
2898             #line 108 "itex2MML.l"
2899             {yylval=itex2MML_copy_string(yytext); return MN;}
2900             YY_BREAK
2901             case 46:
2902             #line 110 "itex2MML.l"
2903             case 47:
2904             YY_RULE_SETUP
2905             #line 110 "itex2MML.l"
2906             {yylval=itex2MML_copy_string("∞"); return MN;}
2907             YY_BREAK
2908             case 48:
2909             #line 113 "itex2MML.l"
2910             case 49:
2911             YY_RULE_SETUP
2912             #line 113 "itex2MML.l"
2913             {yylval=itex2MML_copy_string(yytext); return LEFTDELIM;}
2914             YY_BREAK
2915             case 50:
2916             YY_RULE_SETUP
2917             #line 115 "itex2MML.l"
2918             {yylval=itex2MML_copy_string(yytext); return RIGHTDELIM;}
2919             YY_BREAK
2920             case 51:
2921             YY_RULE_SETUP
2922             #line 116 "itex2MML.l"
2923             {if(itex2MML_inoptarg[itex2MML_optarg_ind]==1 && itex2MML_optarg_ind > 0) {itex2MML_inoptarg[itex2MML_optarg_ind]=0; itex2MML_optarg_ind--; return OPTARGCLOSE;} else {yylval=itex2MML_copy_string(yytext); return RIGHTDELIM;}}
2924             YY_BREAK
2925             case 52:
2926             #line 119 "itex2MML.l"
2927             case 53:
2928             YY_RULE_SETUP
2929             #line 119 "itex2MML.l"
2930             {yylval=itex2MML_copy_string("{"); return LEFTDELIM;}
2931             YY_BREAK
2932             case 54:
2933             #line 121 "itex2MML.l"
2934             case 55:
2935             YY_RULE_SETUP
2936             #line 121 "itex2MML.l"
2937             {yylval=itex2MML_copy_string("}"); return RIGHTDELIM;}
2938             YY_BREAK
2939             case 56:
2940             YY_RULE_SETUP
2941             #line 123 "itex2MML.l"
2942             {yylval=itex2MML_copy_string("⟦"); return LEFTDELIM;}
2943             YY_BREAK
2944             case 57:
2945             YY_RULE_SETUP
2946             #line 124 "itex2MML.l"
2947             {yylval=itex2MML_copy_string("⟧"); return RIGHTDELIM;}
2948             YY_BREAK
2949             case 58:
2950             YY_RULE_SETUP
2951             #line 126 "itex2MML.l"
2952             {yylval=itex2MML_copy_string("|"); return LEFTDELIM;}
2953             YY_BREAK
2954             case 59:
2955             YY_RULE_SETUP
2956             #line 127 "itex2MML.l"
2957             {yylval=itex2MML_copy_string("‖"); return LEFTDELIM;}
2958             YY_BREAK
2959             case 60:
2960             YY_RULE_SETUP
2961             #line 128 "itex2MML.l"
2962             {yylval=itex2MML_copy_string("|"); return RIGHTDELIM;}
2963             YY_BREAK
2964             case 61:
2965             YY_RULE_SETUP
2966             #line 129 "itex2MML.l"
2967             {yylval=itex2MML_copy_string("‖"); return RIGHTDELIM;}
2968             YY_BREAK
2969             case 62:
2970             #line 132 "itex2MML.l"
2971             case 63:
2972             YY_RULE_SETUP
2973             #line 132 "itex2MML.l"
2974             {yylval=itex2MML_copy_string("|"); return OTHERDELIM;}
2975             YY_BREAK
2976             case 64:
2977             #line 134 "itex2MML.l"
2978             case 65:
2979             YY_RULE_SETUP
2980             #line 134 "itex2MML.l"
2981             {yylval=itex2MML_copy_string("‖"); return OTHERDELIM;}
2982             YY_BREAK
2983             case 66:
2984             YY_RULE_SETUP
2985             #line 136 "itex2MML.l"
2986             {yylval=itex2MML_copy_string("∖"); return MO;}
2987             YY_BREAK
2988             case 67:
2989             YY_RULE_SETUP
2990             #line 137 "itex2MML.l"
2991             {yylval=itex2MML_copy_string("\"); return MO;}
2992             YY_BREAK
2993             case 68:
2994             YY_RULE_SETUP
2995             #line 138 "itex2MML.l"
2996             {yylval=itex2MML_copy_string("﹨"); return MOF;}
2997             YY_BREAK
2998             case 69:
2999             YY_RULE_SETUP
3000             #line 140 "itex2MML.l"
3001             {yylval=itex2MML_copy_string("⫽"); return MO;}
3002             YY_BREAK
3003             case 70:
3004             #line 143 "itex2MML.l"
3005             case 71:
3006             #line 144 "itex2MML.l"
3007             case 72:
3008             #line 145 "itex2MML.l"
3009             case 73:
3010             #line 146 "itex2MML.l"
3011             case 74:
3012             YY_RULE_SETUP
3013             #line 146 "itex2MML.l"
3014             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return LEFTDELIM;}
3015             YY_BREAK
3016             case 75:
3017             YY_RULE_SETUP
3018             #line 147 "itex2MML.l"
3019             {yylval=itex2MML_copy_string("⟪"); return LEFTDELIM;}
3020             YY_BREAK
3021             case 76:
3022             #line 150 "itex2MML.l"
3023             case 77:
3024             #line 151 "itex2MML.l"
3025             case 78:
3026             #line 152 "itex2MML.l"
3027             case 79:
3028             #line 153 "itex2MML.l"
3029             case 80:
3030             YY_RULE_SETUP
3031             #line 153 "itex2MML.l"
3032             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return RIGHTDELIM;}
3033             YY_BREAK
3034             case 81:
3035             YY_RULE_SETUP
3036             #line 154 "itex2MML.l"
3037             {yylval=itex2MML_copy_string("⟫"); return RIGHTDELIM;}
3038             YY_BREAK
3039             case 82:
3040             YY_RULE_SETUP
3041             #line 156 "itex2MML.l"
3042             {yylval=itex2MML_copy_string(yytext); return OTHERDELIM;}
3043             YY_BREAK
3044             case 83:
3045             #line 159 "itex2MML.l"
3046             case 84:
3047             #line 160 "itex2MML.l"
3048             case 85:
3049             YY_RULE_SETUP
3050             #line 160 "itex2MML.l"
3051             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return OTHERDELIM;}
3052             YY_BREAK
3053             case 86:
3054             YY_RULE_SETUP
3055             #line 162 "itex2MML.l"
3056             {yylval=itex2MML_copy_string(yytext); return PERIODDELIM;}
3057             YY_BREAK
3058             case 87:
3059             YY_RULE_SETUP
3060             #line 164 "itex2MML.l"
3061             {if (itex2MML_rowposn==1) return UNARYMINUS; else {yylval=itex2MML_copy_string("−"); return MO;}}
3062             YY_BREAK
3063             case 88:
3064             YY_RULE_SETUP
3065             #line 166 "itex2MML.l"
3066             {if (itex2MML_rowposn==1) return UNARYPLUS; else {yylval=itex2MML_copy_string("+"); return MO;}}
3067             YY_BREAK
3068             case 89:
3069             YY_RULE_SETUP
3070             #line 168 "itex2MML.l"
3071             {yylval=itex2MML_copy_string("#"); return MOL;}
3072             YY_BREAK
3073             case 90:
3074             #line 171 "itex2MML.l"
3075             case 91:
3076             #line 172 "itex2MML.l"
3077             case 92:
3078             #line 173 "itex2MML.l"
3079             case 93:
3080             #line 174 "itex2MML.l"
3081             case 94:
3082             #line 175 "itex2MML.l"
3083             case 95:
3084             #line 176 "itex2MML.l"
3085             case 96:
3086             #line 177 "itex2MML.l"
3087             case 97:
3088             #line 178 "itex2MML.l"
3089             case 98:
3090             #line 179 "itex2MML.l"
3091             case 99:
3092             YY_RULE_SETUP
3093             #line 179 "itex2MML.l"
3094             {yylval=itex2MML_copy_string(yytext); return MOL;}
3095             YY_BREAK
3096             case 100:
3097             YY_RULE_SETUP
3098             #line 181 "itex2MML.l"
3099             {yylval=itex2MML_copy_string("′"); return MOLL;}
3100             YY_BREAK
3101             case 101:
3102             YY_RULE_SETUP
3103             #line 182 "itex2MML.l"
3104             {yylval=itex2MML_copy_string("′"); return MOL;}
3105             YY_BREAK
3106             case 102:
3107             YY_RULE_SETUP
3108             #line 183 "itex2MML.l"
3109             {yylval=itex2MML_copy_string("″"); return MOL;}
3110             YY_BREAK
3111             case 103:
3112             YY_RULE_SETUP
3113             #line 184 "itex2MML.l"
3114             {yylval=itex2MML_copy_string("‴"); return MOL;}
3115             YY_BREAK
3116             case 104:
3117             YY_RULE_SETUP
3118             #line 185 "itex2MML.l"
3119             {yylval=itex2MML_copy_string("⁗"); return MOL;}
3120             YY_BREAK
3121             case 105:
3122             #line 188 "itex2MML.l"
3123             case 106:
3124             #line 189 "itex2MML.l"
3125             case 107:
3126             #line 190 "itex2MML.l"
3127             case 108:
3128             #line 191 "itex2MML.l"
3129             case 109:
3130             #line 192 "itex2MML.l"
3131             case 110:
3132             #line 193 "itex2MML.l"
3133             case 111:
3134             #line 194 "itex2MML.l"
3135             case 112:
3136             #line 195 "itex2MML.l"
3137             case 113:
3138             #line 196 "itex2MML.l"
3139             case 114:
3140             #line 197 "itex2MML.l"
3141             case 115:
3142             #line 198 "itex2MML.l"
3143             case 116:
3144             #line 199 "itex2MML.l"
3145             case 117:
3146             #line 200 "itex2MML.l"
3147             case 118:
3148             #line 201 "itex2MML.l"
3149             case 119:
3150             #line 202 "itex2MML.l"
3151             case 120:
3152             #line 203 "itex2MML.l"
3153             case 121:
3154             #line 204 "itex2MML.l"
3155             case 122:
3156             #line 205 "itex2MML.l"
3157             case 123:
3158             #line 206 "itex2MML.l"
3159             case 124:
3160             #line 207 "itex2MML.l"
3161             case 125:
3162             #line 208 "itex2MML.l"
3163             case 126:
3164             #line 209 "itex2MML.l"
3165             case 127:
3166             #line 210 "itex2MML.l"
3167             case 128:
3168             #line 211 "itex2MML.l"
3169             case 129:
3170             #line 212 "itex2MML.l"
3171             case 130:
3172             #line 213 "itex2MML.l"
3173             case 131:
3174             YY_RULE_SETUP
3175             #line 213 "itex2MML.l"
3176             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return MI;}
3177             YY_BREAK
3178             case 132:
3179             YY_RULE_SETUP
3180             #line 215 "itex2MML.l"
3181             {yylval=itex2MML_copy_string("ε"); return MI;}
3182             YY_BREAK
3183             case 133:
3184             YY_RULE_SETUP
3185             #line 216 "itex2MML.l"
3186             {yylval=itex2MML_copy_string("ϕ"); return MI;}
3187             YY_BREAK
3188             case 134:
3189             YY_RULE_SETUP
3190             #line 217 "itex2MML.l"
3191             {yylval=itex2MML_copy_string("φ"); return MI;}
3192             YY_BREAK
3193             case 135:
3194             #line 220 "itex2MML.l"
3195             case 136:
3196             #line 221 "itex2MML.l"
3197             case 137:
3198             #line 222 "itex2MML.l"
3199             case 138:
3200             #line 223 "itex2MML.l"
3201             case 139:
3202             #line 224 "itex2MML.l"
3203             case 140:
3204             #line 225 "itex2MML.l"
3205             case 141:
3206             #line 226 "itex2MML.l"
3207             case 142:
3208             #line 227 "itex2MML.l"
3209             case 143:
3210             #line 228 "itex2MML.l"
3211             case 144:
3212             #line 229 "itex2MML.l"
3213             case 145:
3214             #line 230 "itex2MML.l"
3215             case 146:
3216             #line 231 "itex2MML.l"
3217             case 147:
3218             #line 232 "itex2MML.l"
3219             case 148:
3220             #line 233 "itex2MML.l"
3221             case 149:
3222             #line 234 "itex2MML.l"
3223             case 150:
3224             #line 235 "itex2MML.l"
3225             case 151:
3226             #line 236 "itex2MML.l"
3227             case 152:
3228             #line 237 "itex2MML.l"
3229             case 153:
3230             #line 238 "itex2MML.l"
3231             case 154:
3232             #line 239 "itex2MML.l"
3233             case 155:
3234             #line 240 "itex2MML.l"
3235             case 156:
3236             YY_RULE_SETUP
3237             #line 240 "itex2MML.l"
3238             {yylval=itex2MML_copy_string(yytext+1); return MI;}
3239             YY_BREAK
3240             case 157:
3241             #line 243 "itex2MML.l"
3242             case 158:
3243             #line 244 "itex2MML.l"
3244             case 159:
3245             #line 245 "itex2MML.l"
3246             case 160:
3247             #line 246 "itex2MML.l"
3248             case 161:
3249             #line 247 "itex2MML.l"
3250             case 162:
3251             #line 248 "itex2MML.l"
3252             case 163:
3253             #line 249 "itex2MML.l"
3254             case 164:
3255             #line 250 "itex2MML.l"
3256             case 165:
3257             #line 251 "itex2MML.l"
3258             case 166:
3259             YY_RULE_SETUP
3260             #line 251 "itex2MML.l"
3261             {yylval=itex2MML_copy_string(yytext+1); return MIB;}
3262             YY_BREAK
3263             case 167:
3264             YY_RULE_SETUP
3265             #line 253 "itex2MML.l"
3266             {yylval=itex2MML_copy_string("ℴ"); return MI;}
3267             YY_BREAK
3268             case 168:
3269             YY_RULE_SETUP
3270             #line 255 "itex2MML.l"
3271             {yylval=itex2MML_copy_string("ε"); return MI;}
3272             YY_BREAK
3273             case 169:
3274             YY_RULE_SETUP
3275             #line 257 "itex2MML.l"
3276             {yylval=itex2MML_copy_string("⋅"); return MO;}
3277             YY_BREAK
3278             case 170:
3279             #line 260 "itex2MML.l"
3280             case 171:
3281             #line 261 "itex2MML.l"
3282             case 172:
3283             #line 262 "itex2MML.l"
3284             case 173:
3285             #line 263 "itex2MML.l"
3286             case 174:
3287             #line 264 "itex2MML.l"
3288             case 175:
3289             #line 265 "itex2MML.l"
3290             case 176:
3291             #line 266 "itex2MML.l"
3292             case 177:
3293             #line 267 "itex2MML.l"
3294             case 178:
3295             #line 268 "itex2MML.l"
3296             case 179:
3297             #line 269 "itex2MML.l"
3298             case 180:
3299             #line 270 "itex2MML.l"
3300             case 181:
3301             #line 271 "itex2MML.l"
3302             case 182:
3303             #line 272 "itex2MML.l"
3304             case 183:
3305             #line 273 "itex2MML.l"
3306             case 184:
3307             #line 274 "itex2MML.l"
3308             case 185:
3309             #line 275 "itex2MML.l"
3310             case 186:
3311             #line 276 "itex2MML.l"
3312             case 187:
3313             #line 277 "itex2MML.l"
3314             case 188:
3315             #line 278 "itex2MML.l"
3316             case 189:
3317             #line 279 "itex2MML.l"
3318             case 190:
3319             #line 280 "itex2MML.l"
3320             case 191:
3321             YY_RULE_SETUP
3322             #line 280 "itex2MML.l"
3323             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return MI;}
3324             YY_BREAK
3325             case 192:
3326             #line 283 "itex2MML.l"
3327             case 193:
3328             YY_RULE_SETUP
3329             #line 283 "itex2MML.l"
3330             {yylval=itex2MML_copy_string("ϒ"); return MI;}
3331             YY_BREAK
3332             case 194:
3333             #line 286 "itex2MML.l"
3334             case 195:
3335             YY_RULE_SETUP
3336             #line 286 "itex2MML.l"
3337             {yylval=itex2MML_copy_string("⇔"); return MOL;}
3338             YY_BREAK
3339             case 196:
3340             YY_RULE_SETUP
3341             #line 288 "itex2MML.l"
3342             {yylval=itex2MML_copy_string("⇔"); return MOL;}
3343             YY_BREAK
3344             case 197:
3345             #line 291 "itex2MML.l"
3346             case 198:
3347             YY_RULE_SETUP
3348             #line 291 "itex2MML.l"
3349             {yylval=itex2MML_copy_string("⇐"); return MOL;}
3350             YY_BREAK
3351             case 199:
3352             #line 294 "itex2MML.l"
3353             case 200:
3354             YY_RULE_SETUP
3355             #line 294 "itex2MML.l"
3356             {yylval=itex2MML_copy_string("⇒"); return MOL;}
3357             YY_BREAK
3358             case 201:
3359             YY_RULE_SETUP
3360             #line 296 "itex2MML.l"
3361             {yylval=itex2MML_copy_string("↩"); return MOL;}
3362             YY_BREAK
3363             case 202:
3364             #line 299 "itex2MML.l"
3365             case 203:
3366             YY_RULE_SETUP
3367             #line 299 "itex2MML.l"
3368             {yylval=itex2MML_copy_string("↪"); return MOL;}
3369             YY_BREAK
3370             case 204:
3371             YY_RULE_SETUP
3372             #line 301 "itex2MML.l"
3373             {yylval=itex2MML_copy_string("⟵"); return MOL;}
3374             YY_BREAK
3375             case 205:
3376             YY_RULE_SETUP
3377             #line 303 "itex2MML.l"
3378             {yylval=itex2MML_copy_string("⟶"); return MOL;}
3379             YY_BREAK
3380             case 206:
3381             YY_RULE_SETUP
3382             #line 305 "itex2MML.l"
3383             {yylval=itex2MML_copy_string("←"); return MOL;}
3384             YY_BREAK
3385             case 207:
3386             #line 308 "itex2MML.l"
3387             case 208:
3388             YY_RULE_SETUP
3389             #line 308 "itex2MML.l"
3390             {yylval=itex2MML_copy_string("→"); return MOL;}
3391             YY_BREAK
3392             case 209:
3393             YY_RULE_SETUP
3394             #line 310 "itex2MML.l"
3395             {yylval=itex2MML_copy_string("↔"); return MOL;}
3396             YY_BREAK
3397             case 210:
3398             #line 313 "itex2MML.l"
3399             case 211:
3400             YY_RULE_SETUP
3401             #line 313 "itex2MML.l"
3402             {yylval=itex2MML_copy_string("↦"); return MOL;}
3403             YY_BREAK
3404             case 212:
3405             #line 316 "itex2MML.l"
3406             case 213:
3407             YY_RULE_SETUP
3408             #line 316 "itex2MML.l"
3409             {yylval=itex2MML_copy_string("↗"); return MOL;}
3410             YY_BREAK
3411             case 214:
3412             #line 319 "itex2MML.l"
3413             case 215:
3414             YY_RULE_SETUP
3415             #line 319 "itex2MML.l"
3416             {yylval=itex2MML_copy_string("↖"); return MOL;}
3417             YY_BREAK
3418             case 216:
3419             #line 322 "itex2MML.l"
3420             case 217:
3421             YY_RULE_SETUP
3422             #line 322 "itex2MML.l"
3423             {yylval=itex2MML_copy_string("↘"); return MOL;}
3424             YY_BREAK
3425             case 218:
3426             #line 325 "itex2MML.l"
3427             case 219:
3428             YY_RULE_SETUP
3429             #line 325 "itex2MML.l"
3430             {yylval=itex2MML_copy_string("↙"); return MOL;}
3431             YY_BREAK
3432             case 220:
3433             #line 328 "itex2MML.l"
3434             case 221:
3435             YY_RULE_SETUP
3436             #line 328 "itex2MML.l"
3437             {yylval=itex2MML_copy_string("⇗"); return MOL;}
3438             YY_BREAK
3439             case 222:
3440             #line 331 "itex2MML.l"
3441             case 223:
3442             YY_RULE_SETUP
3443             #line 331 "itex2MML.l"
3444             {yylval=itex2MML_copy_string("⇖"); return MOL;}
3445             YY_BREAK
3446             case 224:
3447             #line 334 "itex2MML.l"
3448             case 225:
3449             YY_RULE_SETUP
3450             #line 334 "itex2MML.l"
3451             {yylval=itex2MML_copy_string("⇘"); return MOL;}
3452             YY_BREAK
3453             case 226:
3454             #line 337 "itex2MML.l"
3455             case 227:
3456             YY_RULE_SETUP
3457             #line 337 "itex2MML.l"
3458             {yylval=itex2MML_copy_string("⇙"); return MOL;}
3459             YY_BREAK
3460             case 228:
3461             YY_RULE_SETUP
3462             #line 339 "itex2MML.l"
3463             {yylval=itex2MML_copy_string("↓"); return MOL;}
3464             YY_BREAK
3465             case 229:
3466             YY_RULE_SETUP
3467             #line 341 "itex2MML.l"
3468             {yylval=itex2MML_copy_string("⇓"); return MOL;}
3469             YY_BREAK
3470             case 230:
3471             YY_RULE_SETUP
3472             #line 343 "itex2MML.l"
3473             {yylval=itex2MML_copy_string("↑"); return MOL;}
3474             YY_BREAK
3475             case 231:
3476             YY_RULE_SETUP
3477             #line 345 "itex2MML.l"
3478             {yylval=itex2MML_copy_string("⇑"); return MOL;}
3479             YY_BREAK
3480             case 232:
3481             #line 348 "itex2MML.l"
3482             case 233:
3483             #line 349 "itex2MML.l"
3484             case 234:
3485             YY_RULE_SETUP
3486             #line 349 "itex2MML.l"
3487             {yylval=itex2MML_copy_string("↕"); return MOL;}
3488             YY_BREAK
3489             case 235:
3490             YY_RULE_SETUP
3491             #line 351 "itex2MML.l"
3492             {yylval=itex2MML_copy_string("⇕"); return MOL;}
3493             YY_BREAK
3494             case 236:
3495             YY_RULE_SETUP
3496             #line 353 "itex2MML.l"
3497             {yylval=itex2MML_copy_string("⇜"); return MOL;}
3498             YY_BREAK
3499             case 237:
3500             YY_RULE_SETUP
3501             #line 354 "itex2MML.l"
3502             {yylval=itex2MML_copy_string("⇝"); return MOL;}
3503             YY_BREAK
3504             case 238:
3505             YY_RULE_SETUP
3506             #line 355 "itex2MML.l"
3507             {yylval=itex2MML_copy_string("⤎"); return MOL;}
3508             YY_BREAK
3509             case 239:
3510             YY_RULE_SETUP
3511             #line 356 "itex2MML.l"
3512             {yylval=itex2MML_copy_string("⤏"); return MOL;}
3513             YY_BREAK
3514             case 240:
3515             YY_RULE_SETUP
3516             #line 357 "itex2MML.l"
3517             {yylval=itex2MML_copy_string("⤻"); return MOL;}
3518             YY_BREAK
3519             case 241:
3520             YY_RULE_SETUP
3521             #line 358 "itex2MML.l"
3522             {yylval=itex2MML_copy_string("⟲"); return MOL;}
3523             YY_BREAK
3524             case 242:
3525             YY_RULE_SETUP
3526             #line 359 "itex2MML.l"
3527             {yylval=itex2MML_copy_string("⟳"); return MOL;}
3528             YY_BREAK
3529             case 243:
3530             #line 361 "itex2MML.l"
3531             case 244:
3532             #line 362 "itex2MML.l"
3533             case 245:
3534             #line 363 "itex2MML.l"
3535             case 246:
3536             #line 364 "itex2MML.l"
3537             case 247:
3538             #line 365 "itex2MML.l"
3539             case 248:
3540             #line 366 "itex2MML.l"
3541             case 249:
3542             #line 367 "itex2MML.l"
3543             case 250:
3544             #line 368 "itex2MML.l"
3545             case 251:
3546             #line 369 "itex2MML.l"
3547             case 252:
3548             #line 370 "itex2MML.l"
3549             case 253:
3550             #line 371 "itex2MML.l"
3551             case 254:
3552             #line 372 "itex2MML.l"
3553             case 255:
3554             #line 373 "itex2MML.l"
3555             case 256:
3556             #line 374 "itex2MML.l"
3557             case 257:
3558             #line 375 "itex2MML.l"
3559             case 258:
3560             #line 376 "itex2MML.l"
3561             case 259:
3562             #line 377 "itex2MML.l"
3563             case 260:
3564             #line 378 "itex2MML.l"
3565             case 261:
3566             #line 379 "itex2MML.l"
3567             case 262:
3568             #line 380 "itex2MML.l"
3569             case 263:
3570             #line 381 "itex2MML.l"
3571             case 264:
3572             #line 382 "itex2MML.l"
3573             case 265:
3574             #line 383 "itex2MML.l"
3575             case 266:
3576             #line 384 "itex2MML.l"
3577             case 267:
3578             #line 385 "itex2MML.l"
3579             case 268:
3580             #line 386 "itex2MML.l"
3581             case 269:
3582             #line 387 "itex2MML.l"
3583             case 270:
3584             #line 388 "itex2MML.l"
3585             case 271:
3586             #line 389 "itex2MML.l"
3587             case 272:
3588             #line 390 "itex2MML.l"
3589             case 273:
3590             #line 391 "itex2MML.l"
3591             case 274:
3592             #line 392 "itex2MML.l"
3593             case 275:
3594             #line 393 "itex2MML.l"
3595             case 276:
3596             #line 394 "itex2MML.l"
3597             case 277:
3598             #line 395 "itex2MML.l"
3599             case 278:
3600             #line 396 "itex2MML.l"
3601             case 279:
3602             YY_RULE_SETUP
3603             #line 396 "itex2MML.l"
3604             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return MOL;}
3605             YY_BREAK
3606             case 280:
3607             #line 399 "itex2MML.l"
3608             case 281:
3609             #line 400 "itex2MML.l"
3610             case 282:
3611             #line 401 "itex2MML.l"
3612             case 283:
3613             #line 402 "itex2MML.l"
3614             case 284:
3615             #line 403 "itex2MML.l"
3616             case 285:
3617             #line 404 "itex2MML.l"
3618             case 286:
3619             #line 405 "itex2MML.l"
3620             case 287:
3621             #line 406 "itex2MML.l"
3622             case 288:
3623             #line 407 "itex2MML.l"
3624             case 289:
3625             #line 408 "itex2MML.l"
3626             case 290:
3627             YY_RULE_SETUP
3628             #line 408 "itex2MML.l"
3629             {BEGIN(OPTARG); char * s1 = itex2MML_copy_string(yytext+2); yylval = itex2MML_copy3("&", s1, ";"); itex2MML_free_string(s1); return XARROW;}
3630             YY_BREAK
3631             case 291:
3632             #line 411 "itex2MML.l"
3633             case 292:
3634             YY_RULE_SETUP
3635             #line 411 "itex2MML.l"
3636             {yylval=itex2MML_copy_string("…"); return MI;}
3637             YY_BREAK
3638             case 293:
3639             YY_RULE_SETUP
3640             #line 412 "itex2MML.l"
3641             {yylval=itex2MML_copy_string("⋯"); return MI;}
3642             YY_BREAK
3643             case 294:
3644             YY_RULE_SETUP
3645             #line 413 "itex2MML.l"
3646             {yylval=itex2MML_copy_string("⋱"); return MI;}
3647             YY_BREAK
3648             case 295:
3649             YY_RULE_SETUP
3650             #line 414 "itex2MML.l"
3651             {yylval=itex2MML_copy_string("⋰"); return MI;}
3652             YY_BREAK
3653             case 296:
3654             YY_RULE_SETUP
3655             #line 415 "itex2MML.l"
3656             {yylval=itex2MML_copy_string("⋮"); return MI;}
3657             YY_BREAK
3658             case 297:
3659             YY_RULE_SETUP
3660             #line 416 "itex2MML.l"
3661             {yylval=itex2MML_copy_string(":"); return MOR;}
3662             YY_BREAK
3663             case 298:
3664             #line 419 "itex2MML.l"
3665             case 299:
3666             #line 420 "itex2MML.l"
3667             case 300:
3668             YY_RULE_SETUP
3669             #line 420 "itex2MML.l"
3670             {yylval=itex2MML_copy_string("∪"); return MOL;}
3671             YY_BREAK
3672             case 301:
3673             #line 423 "itex2MML.l"
3674             case 302:
3675             #line 424 "itex2MML.l"
3676             case 303:
3677             YY_RULE_SETUP
3678             #line 424 "itex2MML.l"
3679             {yylval=itex2MML_copy_string("⋃"); return MOB;}
3680             YY_BREAK
3681             case 304:
3682             #line 427 "itex2MML.l"
3683             case 305:
3684             YY_RULE_SETUP
3685             #line 427 "itex2MML.l"
3686             {yylval=itex2MML_copy_string("∩"); return MOL;}
3687             YY_BREAK
3688             case 306:
3689             #line 430 "itex2MML.l"
3690             case 307:
3691             YY_RULE_SETUP
3692             #line 430 "itex2MML.l"
3693             {yylval=itex2MML_copy_string("⋂"); return MOB;}
3694             YY_BREAK
3695             case 308:
3696             YY_RULE_SETUP
3697             #line 432 "itex2MML.l"
3698             {yylval=itex2MML_copy_string("∈"); return MOL;}
3699             YY_BREAK
3700             /* For some reason, Firefox does not put in the right spacing around some of these operators
3701             * unless we ask for it, explicitly.
3702             */
3703             case 309:
3704             YY_RULE_SETUP
3705             #line 437 "itex2MML.l"
3706             {yylval=itex2MML_copy_string("≔"); return MOL;}
3707             YY_BREAK
3708             case 310:
3709             YY_RULE_SETUP
3710             #line 438 "itex2MML.l"
3711             {yylval=itex2MML_copy_string("⩴"); return MOS;}
3712             YY_BREAK
3713             case 311:
3714             YY_RULE_SETUP
3715             #line 439 "itex2MML.l"
3716             {yylval=itex2MML_copy_string("∶−"); return MOS;}
3717             YY_BREAK
3718             case 312:
3719             YY_RULE_SETUP
3720             #line 440 "itex2MML.l"
3721             {yylval=itex2MML_copy_string("∷−"); return MOS;}
3722             YY_BREAK
3723             case 313:
3724             YY_RULE_SETUP
3725             #line 441 "itex2MML.l"
3726             {yylval=itex2MML_copy_string("≕"); return MOS;}
3727             YY_BREAK
3728             case 314:
3729             YY_RULE_SETUP
3730             #line 442 "itex2MML.l"
3731             {yylval=itex2MML_copy_string("=∷"); return MOS;}
3732             YY_BREAK
3733             case 315:
3734             YY_RULE_SETUP
3735             #line 443 "itex2MML.l"
3736             {yylval=itex2MML_copy_string("∹"); return MOS;}
3737             YY_BREAK
3738             case 316:
3739             YY_RULE_SETUP
3740             #line 444 "itex2MML.l"
3741             {yylval=itex2MML_copy_string("−∷"); return MOS;}
3742             YY_BREAK
3743             case 317:
3744             YY_RULE_SETUP
3745             #line 445 "itex2MML.l"
3746             {yylval=itex2MML_copy_string("∶≈"); return MOS;}
3747             YY_BREAK
3748             case 318:
3749             YY_RULE_SETUP
3750             #line 446 "itex2MML.l"
3751             {yylval=itex2MML_copy_string("∷≈"); return MOS;}
3752             YY_BREAK
3753             case 319:
3754             YY_RULE_SETUP
3755             #line 447 "itex2MML.l"
3756             {yylval=itex2MML_copy_string("∶∼"); return MOS;}
3757             YY_BREAK
3758             case 320:
3759             YY_RULE_SETUP
3760             #line 448 "itex2MML.l"
3761             {yylval=itex2MML_copy_string("∷∼"); return MOS;}
3762             YY_BREAK
3763             case 321:
3764             YY_RULE_SETUP
3765             #line 449 "itex2MML.l"
3766             {yylval=itex2MML_copy_string("∷"); return MOL;}
3767             YY_BREAK
3768             case 322:
3769             #line 452 "itex2MML.l"
3770             case 323:
3771             #line 453 "itex2MML.l"
3772             case 324:
3773             #line 454 "itex2MML.l"
3774             case 325:
3775             #line 455 "itex2MML.l"
3776             case 326:
3777             #line 456 "itex2MML.l"
3778             case 327:
3779             #line 457 "itex2MML.l"
3780             case 328:
3781             #line 458 "itex2MML.l"
3782             case 329:
3783             #line 459 "itex2MML.l"
3784             case 330:
3785             #line 460 "itex2MML.l"
3786             case 331:
3787             #line 461 "itex2MML.l"
3788             case 332:
3789             #line 462 "itex2MML.l"
3790             case 333:
3791             #line 463 "itex2MML.l"
3792             case 334:
3793             #line 464 "itex2MML.l"
3794             case 335:
3795             #line 465 "itex2MML.l"
3796             case 336:
3797             #line 466 "itex2MML.l"
3798             case 337:
3799             #line 467 "itex2MML.l"
3800             case 338:
3801             #line 468 "itex2MML.l"
3802             case 339:
3803             #line 469 "itex2MML.l"
3804             case 340:
3805             #line 470 "itex2MML.l"
3806             case 341:
3807             #line 471 "itex2MML.l"
3808             case 342:
3809             #line 472 "itex2MML.l"
3810             case 343:
3811             #line 473 "itex2MML.l"
3812             case 344:
3813             #line 474 "itex2MML.l"
3814             case 345:
3815             #line 475 "itex2MML.l"
3816             case 346:
3817             #line 476 "itex2MML.l"
3818             case 347:
3819             #line 477 "itex2MML.l"
3820             case 348:
3821             #line 478 "itex2MML.l"
3822             case 349:
3823             #line 479 "itex2MML.l"
3824             case 350:
3825             #line 480 "itex2MML.l"
3826             case 351:
3827             #line 481 "itex2MML.l"
3828             case 352:
3829             #line 482 "itex2MML.l"
3830             case 353:
3831             #line 483 "itex2MML.l"
3832             case 354:
3833             #line 484 "itex2MML.l"
3834             case 355:
3835             #line 485 "itex2MML.l"
3836             case 356:
3837             #line 486 "itex2MML.l"
3838             case 357:
3839             #line 487 "itex2MML.l"
3840             case 358:
3841             #line 488 "itex2MML.l"
3842             case 359:
3843             #line 489 "itex2MML.l"
3844             case 360:
3845             #line 490 "itex2MML.l"
3846             case 361:
3847             #line 491 "itex2MML.l"
3848             case 362:
3849             #line 492 "itex2MML.l"
3850             case 363:
3851             #line 493 "itex2MML.l"
3852             case 364:
3853             #line 494 "itex2MML.l"
3854             case 365:
3855             #line 495 "itex2MML.l"
3856             case 366:
3857             #line 496 "itex2MML.l"
3858             case 367:
3859             #line 497 "itex2MML.l"
3860             case 368:
3861             #line 498 "itex2MML.l"
3862             case 369:
3863             #line 499 "itex2MML.l"
3864             case 370:
3865             #line 500 "itex2MML.l"
3866             case 371:
3867             #line 501 "itex2MML.l"
3868             case 372:
3869             #line 502 "itex2MML.l"
3870             case 373:
3871             #line 503 "itex2MML.l"
3872             case 374:
3873             #line 504 "itex2MML.l"
3874             case 375:
3875             #line 505 "itex2MML.l"
3876             case 376:
3877             #line 506 "itex2MML.l"
3878             case 377:
3879             #line 507 "itex2MML.l"
3880             case 378:
3881             #line 508 "itex2MML.l"
3882             case 379:
3883             #line 509 "itex2MML.l"
3884             case 380:
3885             #line 510 "itex2MML.l"
3886             case 381:
3887             #line 511 "itex2MML.l"
3888             case 382:
3889             #line 512 "itex2MML.l"
3890             case 383:
3891             #line 513 "itex2MML.l"
3892             case 384:
3893             #line 514 "itex2MML.l"
3894             case 385:
3895             #line 515 "itex2MML.l"
3896             case 386:
3897             #line 516 "itex2MML.l"
3898             case 387:
3899             #line 517 "itex2MML.l"
3900             case 388:
3901             #line 518 "itex2MML.l"
3902             case 389:
3903             #line 519 "itex2MML.l"
3904             case 390:
3905             #line 520 "itex2MML.l"
3906             case 391:
3907             #line 521 "itex2MML.l"
3908             case 392:
3909             #line 522 "itex2MML.l"
3910             case 393:
3911             #line 523 "itex2MML.l"
3912             case 394:
3913             #line 524 "itex2MML.l"
3914             case 395:
3915             #line 525 "itex2MML.l"
3916             case 396:
3917             #line 526 "itex2MML.l"
3918             case 397:
3919             #line 527 "itex2MML.l"
3920             case 398:
3921             #line 528 "itex2MML.l"
3922             case 399:
3923             #line 529 "itex2MML.l"
3924             case 400:
3925             #line 530 "itex2MML.l"
3926             case 401:
3927             #line 531 "itex2MML.l"
3928             case 402:
3929             #line 532 "itex2MML.l"
3930             case 403:
3931             #line 533 "itex2MML.l"
3932             case 404:
3933             #line 534 "itex2MML.l"
3934             case 405:
3935             #line 535 "itex2MML.l"
3936             case 406:
3937             #line 536 "itex2MML.l"
3938             case 407:
3939             #line 537 "itex2MML.l"
3940             case 408:
3941             #line 538 "itex2MML.l"
3942             case 409:
3943             #line 539 "itex2MML.l"
3944             case 410:
3945             #line 540 "itex2MML.l"
3946             case 411:
3947             #line 541 "itex2MML.l"
3948             case 412:
3949             #line 542 "itex2MML.l"
3950             case 413:
3951             #line 543 "itex2MML.l"
3952             case 414:
3953             #line 544 "itex2MML.l"
3954             case 415:
3955             #line 545 "itex2MML.l"
3956             case 416:
3957             #line 546 "itex2MML.l"
3958             case 417:
3959             #line 547 "itex2MML.l"
3960             case 418:
3961             #line 548 "itex2MML.l"
3962             case 419:
3963             #line 549 "itex2MML.l"
3964             case 420:
3965             #line 550 "itex2MML.l"
3966             case 421:
3967             #line 551 "itex2MML.l"
3968             case 422:
3969             #line 552 "itex2MML.l"
3970             case 423:
3971             #line 553 "itex2MML.l"
3972             case 424:
3973             #line 554 "itex2MML.l"
3974             case 425:
3975             #line 555 "itex2MML.l"
3976             case 426:
3977             #line 556 "itex2MML.l"
3978             case 427:
3979             #line 557 "itex2MML.l"
3980             case 428:
3981             #line 558 "itex2MML.l"
3982             case 429:
3983             #line 559 "itex2MML.l"
3984             case 430:
3985             #line 560 "itex2MML.l"
3986             case 431:
3987             #line 561 "itex2MML.l"
3988             case 432:
3989             #line 562 "itex2MML.l"
3990             case 433:
3991             #line 563 "itex2MML.l"
3992             case 434:
3993             #line 564 "itex2MML.l"
3994             case 435:
3995             #line 565 "itex2MML.l"
3996             case 436:
3997             #line 566 "itex2MML.l"
3998             case 437:
3999             #line 567 "itex2MML.l"
4000             case 438:
4001             #line 568 "itex2MML.l"
4002             case 439:
4003             #line 569 "itex2MML.l"
4004             case 440:
4005             #line 570 "itex2MML.l"
4006             case 441:
4007             #line 571 "itex2MML.l"
4008             case 442:
4009             #line 572 "itex2MML.l"
4010             case 443:
4011             #line 573 "itex2MML.l"
4012             case 444:
4013             #line 574 "itex2MML.l"
4014             case 445:
4015             #line 575 "itex2MML.l"
4016             case 446:
4017             #line 576 "itex2MML.l"
4018             case 447:
4019             #line 577 "itex2MML.l"
4020             case 448:
4021             #line 578 "itex2MML.l"
4022             case 449:
4023             #line 579 "itex2MML.l"
4024             case 450:
4025             #line 580 "itex2MML.l"
4026             case 451:
4027             #line 581 "itex2MML.l"
4028             case 452:
4029             #line 582 "itex2MML.l"
4030             case 453:
4031             #line 583 "itex2MML.l"
4032             case 454:
4033             #line 584 "itex2MML.l"
4034             case 455:
4035             #line 585 "itex2MML.l"
4036             case 456:
4037             #line 586 "itex2MML.l"
4038             case 457:
4039             #line 587 "itex2MML.l"
4040             case 458:
4041             #line 588 "itex2MML.l"
4042             case 459:
4043             #line 589 "itex2MML.l"
4044             case 460:
4045             #line 590 "itex2MML.l"
4046             case 461:
4047             #line 591 "itex2MML.l"
4048             case 462:
4049             #line 592 "itex2MML.l"
4050             case 463:
4051             #line 593 "itex2MML.l"
4052             case 464:
4053             #line 594 "itex2MML.l"
4054             case 465:
4055             #line 595 "itex2MML.l"
4056             case 466:
4057             #line 596 "itex2MML.l"
4058             case 467:
4059             #line 597 "itex2MML.l"
4060             case 468:
4061             #line 598 "itex2MML.l"
4062             case 469:
4063             #line 599 "itex2MML.l"
4064             case 470:
4065             #line 600 "itex2MML.l"
4066             case 471:
4067             #line 601 "itex2MML.l"
4068             case 472:
4069             #line 602 "itex2MML.l"
4070             case 473:
4071             #line 603 "itex2MML.l"
4072             case 474:
4073             #line 604 "itex2MML.l"
4074             case 475:
4075             #line 605 "itex2MML.l"
4076             case 476:
4077             #line 606 "itex2MML.l"
4078             case 477:
4079             #line 607 "itex2MML.l"
4080             case 478:
4081             #line 608 "itex2MML.l"
4082             case 479:
4083             #line 609 "itex2MML.l"
4084             case 480:
4085             #line 610 "itex2MML.l"
4086             case 481:
4087             #line 611 "itex2MML.l"
4088             case 482:
4089             #line 612 "itex2MML.l"
4090             case 483:
4091             #line 613 "itex2MML.l"
4092             case 484:
4093             #line 614 "itex2MML.l"
4094             case 485:
4095             #line 615 "itex2MML.l"
4096             case 486:
4097             #line 616 "itex2MML.l"
4098             case 487:
4099             #line 617 "itex2MML.l"
4100             case 488:
4101             #line 618 "itex2MML.l"
4102             case 489:
4103             #line 619 "itex2MML.l"
4104             case 490:
4105             #line 620 "itex2MML.l"
4106             case 491:
4107             #line 621 "itex2MML.l"
4108             case 492:
4109             #line 622 "itex2MML.l"
4110             case 493:
4111             #line 623 "itex2MML.l"
4112             case 494:
4113             #line 624 "itex2MML.l"
4114             case 495:
4115             #line 625 "itex2MML.l"
4116             case 496:
4117             #line 626 "itex2MML.l"
4118             case 497:
4119             #line 627 "itex2MML.l"
4120             case 498:
4121             #line 628 "itex2MML.l"
4122             case 499:
4123             #line 629 "itex2MML.l"
4124             case 500:
4125             #line 630 "itex2MML.l"
4126             case 501:
4127             #line 631 "itex2MML.l"
4128             case 502:
4129             #line 632 "itex2MML.l"
4130             case 503:
4131             #line 633 "itex2MML.l"
4132             case 504:
4133             #line 634 "itex2MML.l"
4134             case 505:
4135             #line 635 "itex2MML.l"
4136             case 506:
4137             #line 636 "itex2MML.l"
4138             case 507:
4139             #line 637 "itex2MML.l"
4140             case 508:
4141             #line 638 "itex2MML.l"
4142             case 509:
4143             #line 639 "itex2MML.l"
4144             case 510:
4145             #line 640 "itex2MML.l"
4146             case 511:
4147             #line 641 "itex2MML.l"
4148             case 512:
4149             #line 642 "itex2MML.l"
4150             case 513:
4151             #line 643 "itex2MML.l"
4152             case 514:
4153             #line 644 "itex2MML.l"
4154             case 515:
4155             #line 645 "itex2MML.l"
4156             case 516:
4157             #line 646 "itex2MML.l"
4158             case 517:
4159             #line 647 "itex2MML.l"
4160             case 518:
4161             #line 648 "itex2MML.l"
4162             case 519:
4163             #line 649 "itex2MML.l"
4164             case 520:
4165             #line 650 "itex2MML.l"
4166             case 521:
4167             #line 651 "itex2MML.l"
4168             case 522:
4169             #line 652 "itex2MML.l"
4170             case 523:
4171             #line 653 "itex2MML.l"
4172             case 524:
4173             #line 654 "itex2MML.l"
4174             case 525:
4175             #line 655 "itex2MML.l"
4176             case 526:
4177             #line 656 "itex2MML.l"
4178             case 527:
4179             #line 657 "itex2MML.l"
4180             case 528:
4181             #line 658 "itex2MML.l"
4182             case 529:
4183             #line 659 "itex2MML.l"
4184             case 530:
4185             #line 660 "itex2MML.l"
4186             case 531:
4187             #line 661 "itex2MML.l"
4188             case 532:
4189             YY_RULE_SETUP
4190             #line 661 "itex2MML.l"
4191             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return MOL;}
4192             YY_BREAK
4193             case 533:
4194             #line 664 "itex2MML.l"
4195             case 534:
4196             #line 665 "itex2MML.l"
4197             case 535:
4198             #line 666 "itex2MML.l"
4199             case 536:
4200             #line 667 "itex2MML.l"
4201             case 537:
4202             #line 668 "itex2MML.l"
4203             case 538:
4204             #line 669 "itex2MML.l"
4205             case 539:
4206             #line 670 "itex2MML.l"
4207             case 540:
4208             #line 671 "itex2MML.l"
4209             case 541:
4210             #line 672 "itex2MML.l"
4211             case 542:
4212             YY_RULE_SETUP
4213             #line 672 "itex2MML.l"
4214             {yylval=itex2MML_copy2(yytext, ";"); if (yylval != itex2MML_empty_string) yylval[0]='&'; return MI;}
4215             YY_BREAK
4216             case 543:
4217             #line 675 "itex2MML.l"
4218             case 544:
4219             YY_RULE_SETUP
4220             #line 675 "itex2MML.l"
4221             {yylval=itex2MML_copy_string("⫫"); return MOL;}
4222             YY_BREAK
4223             case 545:
4224             YY_RULE_SETUP
4225             #line 676 "itex2MML.l"
4226             {yylval=itex2MML_copy_string("⊡"); return MOL;}
4227             YY_BREAK
4228             case 546:
4229             #line 678 "itex2MML.l"
4230             case 547:
4231             YY_RULE_SETUP
4232             #line 678 "itex2MML.l"
4233             {yylval=itex2MML_copy_string("□"); return MOL;}
4234             YY_BREAK
4235             case 548:
4236             #line 680 "itex2MML.l"
4237             case 549:
4238             YY_RULE_SETUP
4239             #line 680 "itex2MML.l"
4240             {yylval=itex2MML_copy_string("∅"); return MI;}
4241             YY_BREAK
4242             case 550:
4243             YY_RULE_SETUP
4244             #line 681 "itex2MML.l"
4245             {yylval=itex2MML_copy_string("∃"); return MOL;}
4246             YY_BREAK
4247             case 551:
4248             YY_RULE_SETUP
4249             #line 682 "itex2MML.l"
4250             {yylval=itex2MML_copy_string("∘"); return MOL;}
4251             YY_BREAK
4252             case 552:
4253             YY_RULE_SETUP
4254             #line 683 "itex2MML.l"
4255             {yylval=itex2MML_copy_string("⊳"); return MOL;}
4256             YY_BREAK
4257             case 553:
4258             YY_RULE_SETUP
4259             #line 684 "itex2MML.l"
4260             {yylval=itex2MML_copy_string("⊲"); return MOL;}
4261             YY_BREAK
4262             case 554:
4263             YY_RULE_SETUP
4264             #line 685 "itex2MML.l"
4265             {yylval=itex2MML_copy_string("⋘"); return MOL;}
4266             YY_BREAK
4267             case 555:
4268             YY_RULE_SETUP
4269             #line 686 "itex2MML.l"
4270             {yylval=itex2MML_copy_string("⊵"); return MOL;}
4271             YY_BREAK
4272             case 556:
4273             YY_RULE_SETUP
4274             #line 687 "itex2MML.l"
4275             {yylval=itex2MML_copy_string("⊴"); return MOL;}
4276             YY_BREAK
4277             case 557:
4278             #line 689 "itex2MML.l"
4279             case 558:
4280             YY_RULE_SETUP
4281             #line 689 "itex2MML.l"
4282             {yylval=itex2MML_copy_string("∇"); return MOL;}
4283             YY_BREAK
4284             case 559:
4285             YY_RULE_SETUP
4286             #line 690 "itex2MML.l"
4287             {yylval=itex2MML_copy_string("∢"); return MOL;}
4288             YY_BREAK
4289             case 560:
4290             YY_RULE_SETUP
4291             #line 692 "itex2MML.l"
4292             {yylval=itex2MML_copy_string("♡"); return MOL;}
4293             YY_BREAK
4294             case 561:
4295             YY_RULE_SETUP
4296             #line 693 "itex2MML.l"
4297             {yylval=itex2MML_copy_string("♢"); return MOL;}
4298             YY_BREAK
4299             case 562:
4300             YY_RULE_SETUP
4301             #line 695 "itex2MML.l"
4302             {yylval=itex2MML_copy_string("∂"); return MOL;}
4303             YY_BREAK
4304             case 563:
4305             YY_RULE_SETUP
4306             #line 697 "itex2MML.l"
4307             {yylval=itex2MML_copy_string("▪"); return MO;}
4308             YY_BREAK
4309             case 564:
4310             YY_RULE_SETUP
4311             #line 699 "itex2MML.l"
4312             {yylval=itex2MML_copy_string("mod"); return MOS;}
4313             YY_BREAK
4314             case 565:
4315             YY_RULE_SETUP
4316             #line 700 "itex2MML.l"
4317             {return PMOD;}
4318             YY_BREAK
4319             case 566:
4320             YY_RULE_SETUP
4321             #line 702 "itex2MML.l"
4322             {yylval=itex2MML_copy_string("⊥"); return MOL;}
4323             YY_BREAK
4324             case 567:
4325             YY_RULE_SETUP
4326             #line 704 "itex2MML.l"
4327             {yylval=itex2MML_copy_string("¬"); return MOL;}
4328             YY_BREAK
4329             case 568:
4330             #line 707 "itex2MML.l"
4331             case 569:
4332             YY_RULE_SETUP
4333             #line 707 "itex2MML.l"
4334             {yylval=itex2MML_copy_string("≠"); return MOL;}
4335             YY_BREAK
4336             case 570:
4337             #line 710 "itex2MML.l"
4338             case 571:
4339             YY_RULE_SETUP
4340             #line 710 "itex2MML.l"
4341             {yylval=itex2MML_copy_string("∣"); return MOS;}
4342             YY_BREAK
4343             case 572:
4344             #line 713 "itex2MML.l"
4345             case 573:
4346             YY_RULE_SETUP
4347             #line 713 "itex2MML.l"
4348             {yylval=itex2MML_copy_string("∫"); return MOL;}
4349             YY_BREAK
4350             case 574:
4351             #line 716 "itex2MML.l"
4352             case 575:
4353             YY_RULE_SETUP
4354             #line 716 "itex2MML.l"
4355             {yylval=itex2MML_copy_string("∬"); return MOL;}
4356             YY_BREAK
4357             case 576:
4358             #line 719 "itex2MML.l"
4359             case 577:
4360             YY_RULE_SETUP
4361             #line 719 "itex2MML.l"
4362             {yylval=itex2MML_copy_string("∭"); return MOL;}
4363             YY_BREAK
4364             case 578:
4365             #line 722 "itex2MML.l"
4366             case 579:
4367             YY_RULE_SETUP
4368             #line 722 "itex2MML.l"
4369             {yylval=itex2MML_copy_string("⨌"); return MOL;}
4370             YY_BREAK
4371             case 580:
4372             #line 725 "itex2MML.l"
4373             case 581:
4374             #line 726 "itex2MML.l"
4375             case 582:
4376             YY_RULE_SETUP
4377             #line 726 "itex2MML.l"
4378             {yylval=itex2MML_copy_string("∮"); return MOL;}
4379             YY_BREAK
4380             case 583:
4381             YY_RULE_SETUP
4382             #line 728 "itex2MML.l"
4383             {yylval=itex2MML_copy_string("×"); return MOL;}
4384             YY_BREAK
4385             case 584:
4386             YY_RULE_SETUP
4387             #line 729 "itex2MML.l"
4388             {yylval=itex2MML_copy_string("⋆"); return MOL;}
4389             YY_BREAK
4390             case 585:
4391             #line 731 "itex2MML.l"
4392             case 586:
4393             YY_RULE_SETUP
4394             #line 731 "itex2MML.l"
4395             {yylval=itex2MML_copy_string("⊝"); return MOL;}
4396             YY_BREAK
4397             case 587:
4398             YY_RULE_SETUP
4399             #line 733 "itex2MML.l"
4400             {yylval=itex2MML_copy_string("⊺"); return MOL;}
4401             YY_BREAK
4402             case 588:
4403             YY_RULE_SETUP
4404             #line 734 "itex2MML.l"
4405             {yylval=itex2MML_copy_string("⌢"); return MOL;}
4406             YY_BREAK
4407             case 589:
4408             YY_RULE_SETUP
4409             #line 735 "itex2MML.l"
4410             {yylval=itex2MML_copy_string("⌣"); return MOL;}
4411             YY_BREAK
4412             case 590:
4413             #line 738 "itex2MML.l"
4414             case 591:
4415             YY_RULE_SETUP
4416             #line 738 "itex2MML.l"
4417             {yylval=itex2MML_copy_string("⊟"); return MOL;}
4418             YY_BREAK
4419             case 592:
4420             #line 740 "itex2MML.l"
4421             case 593:
4422             YY_RULE_SETUP
4423             #line 740 "itex2MML.l"
4424             {yylval=itex2MML_copy_string("⊞"); return MOL;}
4425             YY_BREAK
4426             case 594:
4427             #line 742 "itex2MML.l"
4428             case 595:
4429             YY_RULE_SETUP
4430             #line 742 "itex2MML.l"
4431             {yylval=itex2MML_copy_string("⊠"); return MOL;}
4432             YY_BREAK
4433             case 596:
4434             YY_RULE_SETUP
4435             #line 744 "itex2MML.l"
4436             {yylval=itex2MML_copy_string("∑"); return MOB;}
4437             YY_BREAK
4438             case 597:
4439             #line 747 "itex2MML.l"
4440             case 598:
4441             YY_RULE_SETUP
4442             #line 747 "itex2MML.l"
4443             {yylval=itex2MML_copy_string("∏"); return MOB;}
4444             YY_BREAK
4445             case 599:
4446             #line 750 "itex2MML.l"
4447             case 600:
4448             YY_RULE_SETUP
4449             #line 750 "itex2MML.l"
4450             {yylval=itex2MML_copy_string("∐"); return MOB;}
4451             YY_BREAK
4452             case 601:
4453             YY_RULE_SETUP
4454             #line 752 "itex2MML.l"
4455             {yylval=itex2MML_copy_string("⊗"); return MOL;}
4456             YY_BREAK
4457             case 602:
4458             YY_RULE_SETUP
4459             #line 753 "itex2MML.l"
4460             {yylval=itex2MML_copy_string("⨷"); return MOL;}
4461             YY_BREAK
4462             case 603:
4463             YY_RULE_SETUP
4464             #line 754 "itex2MML.l"
4465             {yylval=itex2MML_copy_string("⨂"); return MOL;}
4466             YY_BREAK
4467             case 604:
4468             YY_RULE_SETUP
4469             #line 756 "itex2MML.l"
4470             {yylval=itex2MML_copy_string("⊖"); return MOL;}
4471             YY_BREAK
4472             case 605:
4473             YY_RULE_SETUP
4474             #line 757 "itex2MML.l"
4475             {yylval=itex2MML_copy_string("⊘"); return MOL;}
4476             YY_BREAK
4477             case 606:
4478             YY_RULE_SETUP
4479             #line 759 "itex2MML.l"
4480             {yylval=itex2MML_copy_string("⊕"); return MOL;}
4481             YY_BREAK
4482             case 607:
4483             #line 761 "itex2MML.l"
4484             case 608:
4485             YY_RULE_SETUP
4486             #line 761 "itex2MML.l"
4487             {yylval=itex2MML_copy_string("⨁"); return MOB;}
4488             YY_BREAK
4489             case 609:
4490             YY_RULE_SETUP
4491             #line 763 "itex2MML.l"
4492             {yylval=itex2MML_copy_string("⨀"); return MOB;}
4493             YY_BREAK
4494             case 610:
4495             YY_RULE_SETUP
4496             #line 764 "itex2MML.l"
4497             {yylval=itex2MML_copy_string("⨆"); return MOB;}
4498             YY_BREAK
4499             case 611:
4500             YY_RULE_SETUP
4501             #line 765 "itex2MML.l"
4502             {yylval=itex2MML_copy_string("⨅"); return MOB;}
4503             YY_BREAK
4504             case 612:
4505             YY_RULE_SETUP
4506             #line 766 "itex2MML.l"
4507             {yylval=itex2MML_copy_string("⫼"); return MOB;}
4508             YY_BREAK
4509             case 613:
4510             YY_RULE_SETUP
4511             #line 767 "itex2MML.l"
4512             {yylval=itex2MML_copy_string("⨄"); return MOB;}
4513             YY_BREAK
4514             case 614:
4515             YY_RULE_SETUP
4516             #line 769 "itex2MML.l"
4517             {yylval=itex2MML_copy_string("∧"); return MOL;}
4518             YY_BREAK
4519             case 615:
4520             #line 771 "itex2MML.l"
4521             case 616:
4522             YY_RULE_SETUP
4523             #line 771 "itex2MML.l"
4524             {yylval=itex2MML_copy_string("⋀"); return MOB;}
4525             YY_BREAK
4526             case 617:
4527             #line 774 "itex2MML.l"
4528             case 618:
4529             YY_RULE_SETUP
4530             #line 774 "itex2MML.l"
4531             {yylval=itex2MML_copy_string("⋁"); return MOB;}
4532             YY_BREAK
4533             case 619:
4534             #line 777 "itex2MML.l"
4535             case 620:
4536             YY_RULE_SETUP
4537             #line 777 "itex2MML.l"
4538             {yylval=itex2MML_copy_string("⅋"); return MOL;}
4539             YY_BREAK
4540             case 621:
4541             YY_RULE_SETUP
4542             #line 779 "itex2MML.l"
4543             {return FRAC;}
4544             YY_BREAK
4545             case 622:
4546             YY_RULE_SETUP
4547             #line 780 "itex2MML.l"
4548             {return TFRAC;}
4549             YY_BREAK
4550             case 623:
4551             YY_RULE_SETUP
4552             #line 782 "itex2MML.l"
4553             {return BINOM;}
4554             YY_BREAK
4555             case 624:
4556             YY_RULE_SETUP
4557             #line 783 "itex2MML.l"
4558             {return TBINOM;}
4559             YY_BREAK
4560             case 625:
4561             YY_RULE_SETUP
4562             #line 785 "itex2MML.l"
4563             {return TENSOR;}
4564             YY_BREAK
4565             case 626:
4566             YY_RULE_SETUP
4567             #line 787 "itex2MML.l"
4568             {return MULTI;}
4569             YY_BREAK
4570             case 627:
4571             YY_RULE_SETUP
4572             #line 789 "itex2MML.l"
4573             {return OVERBRACE;}
4574             YY_BREAK
4575             case 628:
4576             YY_RULE_SETUP
4577             #line 791 "itex2MML.l"
4578             {return UNDERBRACE;}
4579             YY_BREAK
4580             case 629:
4581             YY_RULE_SETUP
4582             #line 793 "itex2MML.l"
4583             {return UNDERLINE;}
4584             YY_BREAK
4585             case 630:
4586             YY_RULE_SETUP
4587             #line 795 "itex2MML.l"
4588             {return BAR;}
4589             YY_BREAK
4590             case 631:
4591             #line 797 "itex2MML.l"
4592             case 632:
4593             #line 798 "itex2MML.l"
4594             case 633:
4595             YY_RULE_SETUP
4596             #line 798 "itex2MML.l"
4597             {return WIDEBAR;}
4598             YY_BREAK
4599             case 634:
4600             YY_RULE_SETUP
4601             #line 800 "itex2MML.l"
4602             {return VEC;}
4603             YY_BREAK
4604             case 635:
4605             #line 802 "itex2MML.l"
4606             case 636:
4607             YY_RULE_SETUP
4608             #line 802 "itex2MML.l"
4609             {return WIDEVEC;}
4610             YY_BREAK
4611             case 637:
4612             YY_RULE_SETUP
4613             #line 803 "itex2MML.l"
4614             {return WIDELVEC;}
4615             YY_BREAK
4616             case 638:
4617             YY_RULE_SETUP
4618             #line 804 "itex2MML.l"
4619             {return WIDELRVEC;}
4620             YY_BREAK
4621             case 639:
4622             YY_RULE_SETUP
4623             #line 806 "itex2MML.l"
4624             {return WIDEUVEC;}
4625             YY_BREAK
4626             case 640:
4627             YY_RULE_SETUP
4628             #line 807 "itex2MML.l"
4629             {return WIDEULVEC;}
4630             YY_BREAK
4631             case 641:
4632             YY_RULE_SETUP
4633             #line 808 "itex2MML.l"
4634             {return WIDEULRVEC;}
4635             YY_BREAK
4636             case 642:
4637             YY_RULE_SETUP
4638             #line 810 "itex2MML.l"
4639             {return DOT;}
4640             YY_BREAK
4641             case 643:
4642             YY_RULE_SETUP
4643             #line 811 "itex2MML.l"
4644             {return DDOT;}
4645             YY_BREAK
4646             case 644:
4647             YY_RULE_SETUP
4648             #line 812 "itex2MML.l"
4649             {return DDDOT;}
4650             YY_BREAK
4651             case 645:
4652             YY_RULE_SETUP
4653             #line 813 "itex2MML.l"
4654             {return DDDDOT;}
4655             YY_BREAK
4656             case 646:
4657             YY_RULE_SETUP
4658             #line 815 "itex2MML.l"
4659             {return TILDE;}
4660             YY_BREAK
4661             case 647:
4662             YY_RULE_SETUP
4663             #line 816 "itex2MML.l"
4664             {return WIDETILDE;}
4665             YY_BREAK
4666             case 648:
4667             YY_RULE_SETUP
4668             #line 818 "itex2MML.l"
4669             {return CHECK;}
4670             YY_BREAK
4671             case 649:
4672             YY_RULE_SETUP
4673             #line 819 "itex2MML.l"
4674             {return WIDECHECK;}
4675             YY_BREAK
4676             case 650:
4677             YY_RULE_SETUP
4678             #line 821 "itex2MML.l"
4679             {return HAT;}
4680             YY_BREAK
4681             case 651:
4682             YY_RULE_SETUP
4683             #line 822 "itex2MML.l"
4684             {return WIDEHAT;}
4685             YY_BREAK
4686             case 652:
4687             YY_RULE_SETUP
4688             #line 824 "itex2MML.l"
4689             {return UNDER;}
4690             YY_BREAK
4691             case 653:
4692             #line 827 "itex2MML.l"
4693             case 654:
4694             YY_RULE_SETUP
4695             #line 827 "itex2MML.l"
4696             {return OVER;}
4697             YY_BREAK
4698             case 655:
4699             YY_RULE_SETUP
4700             #line 829 "itex2MML.l"
4701             {return TEXOVER;}
4702             YY_BREAK
4703             case 656:
4704             YY_RULE_SETUP
4705             #line 830 "itex2MML.l"
4706             {return TEXATOP;}
4707             YY_BREAK
4708             case 657:
4709             YY_RULE_SETUP
4710             #line 832 "itex2MML.l"
4711             {return UNDEROVER;}
4712             YY_BREAK
4713             case 658:
4714             YY_RULE_SETUP
4715             #line 834 "itex2MML.l"
4716             {BEGIN(OPTARG); return SQRT;}
4717             YY_BREAK
4718             case 659:
4719             YY_RULE_SETUP
4720             #line 836 "itex2MML.l"
4721             {return ROOT;}
4722             YY_BREAK
4723             case 660:
4724             YY_RULE_SETUP
4725             #line 838 "itex2MML.l"
4726             {BEGIN(INT1); return SPACE;}
4727             YY_BREAK
4728             case 661:
4729             YY_RULE_SETUP
4730             #line 840 "itex2MML.l"
4731             {BEGIN(PLAINTEXT); return TEXTBOX;}
4732             YY_BREAK
4733             case 662:
4734             YY_RULE_SETUP
4735             #line 842 "itex2MML.l"
4736             {BEGIN(PLAINTEXT); return STATLINE;}
4737             YY_BREAK
4738             case 663:
4739             YY_RULE_SETUP
4740             #line 843 "itex2MML.l"
4741             {BEGIN(PLAINTEXT); return TOOLTIP;}
4742             YY_BREAK
4743             case 664:
4744             YY_RULE_SETUP
4745             #line 845 "itex2MML.l"
4746             {return TOGGLE;}
4747             YY_BREAK
4748             case 665:
4749             YY_RULE_SETUP
4750             #line 846 "itex2MML.l"
4751             {return TOGGLESTART;}
4752             YY_BREAK
4753             case 666:
4754             YY_RULE_SETUP
4755             #line 847 "itex2MML.l"
4756             {return TOGGLEEND;}
4757             YY_BREAK
4758             case 667:
4759             YY_RULE_SETUP
4760             #line 849 "itex2MML.l"
4761             {BEGIN(RAISEBOX1); return RAISEBOX;}
4762             YY_BREAK
4763             case 668:
4764             #line 852 "itex2MML.l"
4765             case 669:
4766             YY_RULE_SETUP
4767             #line 852 "itex2MML.l"
4768             {BEGIN(ATTRIBUTELIST); return FGHIGHLIGHT;}
4769             YY_BREAK
4770             case 670:
4771             #line 855 "itex2MML.l"
4772             case 671:
4773             YY_RULE_SETUP
4774             #line 855 "itex2MML.l"
4775             {BEGIN(ATTRIBUTELIST); return BGHIGHLIGHT;}
4776             YY_BREAK
4777             case 672:
4778             YY_RULE_SETUP
4779             #line 857 "itex2MML.l"
4780             {BEGIN(ATTRIBUTELIST); return COLOR;}
4781             YY_BREAK
4782             case 673:
4783             YY_RULE_SETUP
4784             #line 858 "itex2MML.l"
4785             {BEGIN(ATTRIBUTELIST); return BGCOLOR;}
4786             YY_BREAK
4787             case 674:
4788             YY_RULE_SETUP
4789             #line 860 "itex2MML.l"
4790             {itex2MML_displaymode=1; itex2MML_rowposn=2; return DISPLAY;}
4791             YY_BREAK
4792             case 675:
4793             YY_RULE_SETUP
4794             #line 862 "itex2MML.l"
4795             {itex2MML_displaymode=0; itex2MML_rowposn=2; return TEXTSTY;}
4796             YY_BREAK
4797             case 676:
4798             YY_RULE_SETUP
4799             #line 864 "itex2MML.l"
4800             {return TEXTSIZE;}
4801             YY_BREAK
4802             case 677:
4803             YY_RULE_SETUP
4804             #line 866 "itex2MML.l"
4805             {return SCSIZE;}
4806             YY_BREAK
4807             case 678:
4808             YY_RULE_SETUP
4809             #line 868 "itex2MML.l"
4810             {return SCSCSIZE;}
4811             YY_BREAK
4812             case 679:
4813             YY_RULE_SETUP
4814             #line 870 "itex2MML.l"
4815             {return ITALICS;}
4816             YY_BREAK
4817             case 680:
4818             YY_RULE_SETUP
4819             #line 872 "itex2MML.l"
4820             {return SANS;}
4821             YY_BREAK
4822             case 681:
4823             YY_RULE_SETUP
4824             #line 873 "itex2MML.l"
4825             {return TT;}
4826             YY_BREAK
4827             case 682:
4828             #line 876 "itex2MML.l"
4829             case 683:
4830             YY_RULE_SETUP
4831             #line 876 "itex2MML.l"
4832             {return BOLD;}
4833             YY_BREAK
4834             case 684:
4835             YY_RULE_SETUP
4836             #line 878 "itex2MML.l"
4837             {BEGIN(ROMAN); return RM;}
4838             YY_BREAK
4839             case 685:
4840             YY_RULE_SETUP
4841             #line 880 "itex2MML.l"
4842             {BEGIN(BBOLD); return BB;}
4843             YY_BREAK
4844             case 686:
4845             #line 883 "itex2MML.l"
4846             case 687:
4847             YY_RULE_SETUP
4848             #line 883 "itex2MML.l"
4849             {BEGIN(FRAKTUR); return FRAK;}
4850             YY_BREAK
4851             case 688:
4852             YY_RULE_SETUP
4853             #line 885 "itex2MML.l"
4854             {return SLASHED;}
4855             YY_BREAK
4856             case 689:
4857             YY_RULE_SETUP
4858             #line 887 "itex2MML.l"
4859             {return BOXED;}
4860             YY_BREAK
4861             case 690:
4862             YY_RULE_SETUP
4863             #line 889 "itex2MML.l"
4864             {BEGIN(CALLIGRAPHIC); return CAL;}
4865             YY_BREAK
4866             case 691:
4867             YY_RULE_SETUP
4868             #line 890 "itex2MML.l"
4869             {BEGIN(SCRIPT); return SCR;}
4870             YY_BREAK
4871             case 692:
4872             YY_RULE_SETUP
4873             #line 892 "itex2MML.l"
4874             {itex2MML_env_start = 1; BEGIN(MATHENV); return BEGINENV;}
4875             YY_BREAK
4876             case 693:
4877             YY_RULE_SETUP
4878             #line 893 "itex2MML.l"
4879             {BEGIN(MATHENV); return ENDENV;}
4880             YY_BREAK
4881             case 694:
4882             YY_RULE_SETUP
4883             #line 895 "itex2MML.l"
4884             {return SUBSTACK;}
4885             YY_BREAK
4886             case 695:
4887             YY_RULE_SETUP
4888             #line 897 "itex2MML.l"
4889             {return ARRAY;}
4890             YY_BREAK
4891             case 696:
4892             YY_RULE_SETUP
4893             #line 899 "itex2MML.l"
4894             {return ARRAYOPTS;}
4895             YY_BREAK
4896             case 697:
4897             YY_RULE_SETUP
4898             #line 901 "itex2MML.l"
4899             {BEGIN(ATTRIBUTELIST); return COLALIGN;}
4900             YY_BREAK
4901             case 698:
4902             YY_RULE_SETUP
4903             #line 903 "itex2MML.l"
4904             {BEGIN(ATTRIBUTELIST); return COLLAYOUT;}
4905             YY_BREAK
4906             case 699:
4907             YY_RULE_SETUP
4908             #line 905 "itex2MML.l"
4909             {BEGIN(ATTRIBUTELIST); return ROWALIGN;}
4910             YY_BREAK
4911             case 700:
4912             YY_RULE_SETUP
4913             #line 907 "itex2MML.l"
4914             {BEGIN(ATTRIBUTELIST); return ALIGN;}
4915             YY_BREAK
4916             case 701:
4917             YY_RULE_SETUP
4918             #line 909 "itex2MML.l"
4919             {BEGIN(ATTRIBUTELIST); return EQROWS;}
4920             YY_BREAK
4921             case 702:
4922             YY_RULE_SETUP
4923             #line 911 "itex2MML.l"
4924             {BEGIN(ATTRIBUTELIST); return EQCOLS;}
4925             YY_BREAK
4926             case 703:
4927             YY_RULE_SETUP
4928             #line 913 "itex2MML.l"
4929             {BEGIN(ATTRIBUTELIST); return ROWLINES;}
4930             YY_BREAK
4931             case 704:
4932             YY_RULE_SETUP
4933             #line 915 "itex2MML.l"
4934             {BEGIN(ATTRIBUTELIST); return COLLINES;}
4935             YY_BREAK
4936             case 705:
4937             YY_RULE_SETUP
4938             #line 917 "itex2MML.l"
4939             {BEGIN(ATTRIBUTELIST); return FRAME;}
4940             YY_BREAK
4941             case 706:
4942             YY_RULE_SETUP
4943             #line 919 "itex2MML.l"
4944             {BEGIN(ATTRIBUTELIST); return PADDING;}
4945             YY_BREAK
4946             case 707:
4947             YY_RULE_SETUP
4948             #line 921 "itex2MML.l"
4949             {return ROWOPTS;}
4950             YY_BREAK
4951             case 708:
4952             YY_RULE_SETUP
4953             #line 923 "itex2MML.l"
4954             {return CELLOPTS;}
4955             YY_BREAK
4956             case 709:
4957             YY_RULE_SETUP
4958             #line 925 "itex2MML.l"
4959             {BEGIN(ATTRIBUTELIST); return ROWSPAN;}
4960             YY_BREAK
4961             case 710:
4962             YY_RULE_SETUP
4963             #line 927 "itex2MML.l"
4964             {BEGIN(ATTRIBUTELIST); return COLSPAN;}
4965             YY_BREAK
4966             case 711:
4967             #line 931 "itex2MML.l"
4968             case 712:
4969             YY_RULE_SETUP
4970             #line 931 "itex2MML.l"
4971             {return THINSPACE;}
4972             YY_BREAK
4973             case 713:
4974             #line 934 "itex2MML.l"
4975             case 714:
4976             YY_RULE_SETUP
4977             #line 934 "itex2MML.l"
4978             {return MEDSPACE;}
4979             YY_BREAK
4980             case 715:
4981             #line 937 "itex2MML.l"
4982             case 716:
4983             #line 938 "itex2MML.l"
4984             case 717:
4985             YY_RULE_SETUP
4986             #line 938 "itex2MML.l"
4987             {return THICKSPACE;}
4988             YY_BREAK
4989             case 718:
4990             YY_RULE_SETUP
4991             #line 940 "itex2MML.l"
4992             {return QUAD;}
4993             YY_BREAK
4994             case 719:
4995             YY_RULE_SETUP
4996             #line 941 "itex2MML.l"
4997             {return QQUAD;}
4998             YY_BREAK
4999             case 720:
5000             #line 944 "itex2MML.l"
5001             case 721:
5002             #line 945 "itex2MML.l"
5003             case 722:
5004             YY_RULE_SETUP
5005             #line 945 "itex2MML.l"
5006             {return NEGSPACE;}
5007             YY_BREAK
5008             case 723:
5009             YY_RULE_SETUP
5010             #line 947 "itex2MML.l"
5011             {return NEGMEDSPACE;}
5012             YY_BREAK
5013             case 724:
5014             YY_RULE_SETUP
5015             #line 949 "itex2MML.l"
5016             {return NEGTHICKSPACE;}
5017             YY_BREAK
5018             case 725:
5019             YY_RULE_SETUP
5020             #line 951 "itex2MML.l"
5021             {return PHANTOM;}
5022             YY_BREAK
5023             case 726:
5024             YY_RULE_SETUP
5025             #line 953 "itex2MML.l"
5026             {BEGIN(PLAINTEXT); return HREF;}
5027             YY_BREAK
5028             case 727:
5029             YY_RULE_SETUP
5030             #line 955 "itex2MML.l"
5031             {BEGIN(PLAINTEXT); return OPERATORNAME;}
5032             YY_BREAK
5033             case 728:
5034             YY_RULE_SETUP
5035             #line 956 "itex2MML.l"
5036             {BEGIN(PLAINTEXT); return MATHOP;}
5037             YY_BREAK
5038             case 729:
5039             YY_RULE_SETUP
5040             #line 957 "itex2MML.l"
5041             {BEGIN(PLAINTEXT); return MATHBIN;}
5042             YY_BREAK
5043             case 730:
5044             YY_RULE_SETUP
5045             #line 958 "itex2MML.l"
5046             {BEGIN(PLAINTEXT); return MATHREL;}
5047             YY_BREAK
5048             case 731:
5049             YY_RULE_SETUP
5050             #line 959 "itex2MML.l"
5051             {BEGIN(PLAINTEXT); return ITEXNUM;}
5052             YY_BREAK
5053             case 732:
5054             YY_RULE_SETUP
5055             #line 961 "itex2MML.l"
5056             ;
5057             YY_BREAK
5058             case 733:
5059             YY_RULE_SETUP
5060             #line 963 "itex2MML.l"
5061             {yylval=itex2MML_copy_string(yytext+1); return MOP;}
5062             YY_BREAK
5063             case 734:
5064             #line 966 "itex2MML.l"
5065             case 735:
5066             #line 967 "itex2MML.l"
5067             case 736:
5068             YY_RULE_SETUP
5069             #line 967 "itex2MML.l"
5070             {yylval=itex2MML_copy_string(yytext); return MI;}
5071             YY_BREAK
5072             case 737:
5073             YY_RULE_SETUP
5074             #line 969 "itex2MML.l"
5075             itex2MML_lineno++;
5076             YY_BREAK
5077             case 738:
5078             YY_RULE_SETUP
5079             #line 970 "itex2MML.l"
5080             ;
5081             YY_BREAK
5082             case 739:
5083             YY_RULE_SETUP
5084             #line 973 "itex2MML.l"
5085             {return UNKNOWNCHAR;}
5086             YY_BREAK
5087              
5088             case 740:
5089             YY_RULE_SETUP
5090             #line 976 "itex2MML.l"
5091             {BEGIN(MATH); yylval=itex2MML_copy_string(yytext); if (yylval != itex2MML_empty_string) { yylval[0]='"'; yylval[yyleng-1]='"'; } return ATTRLIST;}
5092             YY_BREAK
5093              
5094             case 741:
5095             YY_RULE_SETUP
5096             #line 979 "itex2MML.l"
5097             {if(itex2MML_optarg_ind < itex2MML_optarg_depth - 1 && itex2MML_inoptarg[itex2MML_optarg_ind] !=1 ){itex2MML_optarg_ind++; itex2MML_inoptarg[itex2MML_optarg_ind]=1;}; BEGIN(MATH); return OPTARGOPEN;}
5098             YY_BREAK
5099             case 742:
5100             YY_RULE_SETUP
5101             #line 980 "itex2MML.l"
5102             ;
5103             YY_BREAK
5104             case 743:
5105             YY_RULE_SETUP
5106             #line 981 "itex2MML.l"
5107             {itex2MML_eqn_src[itex2MML_eqn_end-itex2MML_eqn_src]=0; --itex2MML_eqn_end; BEGIN(MATH); unput(yytext[0]);}
5108             YY_BREAK
5109              
5110              
5111             case 744:
5112             YY_RULE_SETUP
5113             #line 985 "itex2MML.l"
5114             {BEGIN(RAISEBOX2); return NEG;}
5115             YY_BREAK
5116             case 745:
5117             YY_RULE_SETUP
5118             #line 986 "itex2MML.l"
5119             {BEGIN(RAISEBOX2);}
5120             YY_BREAK
5121              
5122              
5123             case 746:
5124             YY_RULE_SETUP
5125             #line 990 "itex2MML.l"
5126             {yylval=itex2MML_copy_string(yytext); if ((yyleng > 1) && (yylval != itex2MML_empty_string)) yylval[yyleng-1]='\0'; BEGIN(TEXTOPTARG1); return TEXTSTRING;}
5127             YY_BREAK
5128              
5129              
5130             case 747:
5131             YY_RULE_SETUP
5132             #line 995 "itex2MML.l"
5133             {yylval=itex2MML_copy_string(yytext+1); if ((yyleng > 1) && (yylval != itex2MML_empty_string)) yylval[yyleng-2]='\0'; BEGIN(TEXTOPTARG); return TEXTSTRING;}
5134             YY_BREAK
5135             case 748:
5136             YY_RULE_SETUP
5137             #line 996 "itex2MML.l"
5138             {itex2MML_eqn_src[itex2MML_eqn_end-itex2MML_eqn_src]=0; --itex2MML_eqn_end; BEGIN(MATH); unput(yytext[0]);}
5139             YY_BREAK
5140              
5141              
5142             case 749:
5143             YY_RULE_SETUP
5144             #line 1000 "itex2MML.l"
5145             {yylval=itex2MML_copy_string(yytext+1); if ((yyleng > 1) && (yylval != itex2MML_empty_string)) yylval[yyleng-2]='\0'; BEGIN(MATH); return TEXTSTRING;}
5146             YY_BREAK
5147             case 750:
5148             YY_RULE_SETUP
5149             #line 1001 "itex2MML.l"
5150             {itex2MML_eqn_src[itex2MML_eqn_end-itex2MML_eqn_src]=0; --itex2MML_eqn_end; BEGIN(MATH); unput(yytext[0]);}
5151             YY_BREAK
5152              
5153              
5154             case 751:
5155             YY_RULE_SETUP
5156             #line 1005 "itex2MML.l"
5157             {itex2MML_env_start = 0; BEGIN(MATH); return MATRIX;}
5158             YY_BREAK
5159             case 752:
5160             YY_RULE_SETUP
5161             #line 1006 "itex2MML.l"
5162             {itex2MML_env_start = 0; BEGIN(MATH); return PMATRIX;}
5163             YY_BREAK
5164             case 753:
5165             YY_RULE_SETUP
5166             #line 1007 "itex2MML.l"
5167             {itex2MML_env_start = 0; BEGIN(MATH); return BMATRIX;}
5168             YY_BREAK
5169             case 754:
5170             YY_RULE_SETUP
5171             #line 1008 "itex2MML.l"
5172             {itex2MML_env_start = 0; BEGIN(MATH); return BBMATRIX;}
5173             YY_BREAK
5174             case 755:
5175             YY_RULE_SETUP
5176             #line 1009 "itex2MML.l"
5177             {itex2MML_env_start = 0; BEGIN(MATH); return VMATRIX;}
5178             YY_BREAK
5179             case 756:
5180             YY_RULE_SETUP
5181             #line 1010 "itex2MML.l"
5182             {itex2MML_env_start = 0; BEGIN(MATH); return VVMATRIX;}
5183             YY_BREAK
5184             case 757:
5185             YY_RULE_SETUP
5186             #line 1011 "itex2MML.l"
5187             {itex2MML_env_start = 0; BEGIN(MATH); return SMALLMATRIX;}
5188             YY_BREAK
5189             case 758:
5190             YY_RULE_SETUP
5191             #line 1012 "itex2MML.l"
5192             {itex2MML_env_start = 0; BEGIN(MATH); return CASES;}
5193             YY_BREAK
5194             case 759:
5195             YY_RULE_SETUP
5196             #line 1013 "itex2MML.l"
5197             {itex2MML_env_start = 0; BEGIN(MATH); return ALIGNED;}
5198             YY_BREAK
5199             case 760:
5200             YY_RULE_SETUP
5201             #line 1014 "itex2MML.l"
5202             {itex2MML_env_start = 0; BEGIN(MATH); return GATHERED;}
5203             YY_BREAK
5204             case 761:
5205             YY_RULE_SETUP
5206             #line 1015 "itex2MML.l"
5207             {itex2MML_env_start = 0; BEGIN(MATH); return ALIGNED;}
5208             YY_BREAK
5209             case 762:
5210             YY_RULE_SETUP
5211             #line 1016 "itex2MML.l"
5212             {if (itex2MML_env_start == 1) BEGIN(ARRAYOPTIONS); else BEGIN(MATH); return ARRAY;}
5213             YY_BREAK
5214             case 763:
5215             YY_RULE_SETUP
5216             #line 1017 "itex2MML.l"
5217             {itex2MML_env_start = 0; BEGIN(SVGENV); return SVG;}
5218             YY_BREAK
5219              
5220              
5221             case 764:
5222             YY_RULE_SETUP
5223             #line 1021 "itex2MML.l"
5224             {yylval=itex2MML_copy_string("axis 1"); return ARRAYALIGN;}
5225             YY_BREAK
5226             case 765:
5227             YY_RULE_SETUP
5228             #line 1022 "itex2MML.l"
5229             {yylval=itex2MML_copy_string("center"); return ARRAYALIGN;}
5230             YY_BREAK
5231             case 766:
5232             YY_RULE_SETUP
5233             #line 1023 "itex2MML.l"
5234             {yylval=itex2MML_copy_string("axis -1"); return ARRAYALIGN;}
5235             YY_BREAK
5236             case 767:
5237             YY_RULE_SETUP
5238             #line 1024 "itex2MML.l"
5239             {BEGIN(COLOPTS); return ST;}
5240             YY_BREAK
5241             case 768:
5242             YY_RULE_SETUP
5243             #line 1025 "itex2MML.l"
5244             ;
5245             YY_BREAK
5246              
5247              
5248             case 769:
5249             YY_RULE_SETUP
5250             #line 1029 "itex2MML.l"
5251             {itex2MML_env_start = 0; BEGIN(MATH); return END;}
5252             YY_BREAK
5253             case 770:
5254             YY_RULE_SETUP
5255             #line 1030 "itex2MML.l"
5256             {yylval=itex2MML_copy_string("center"); return COLUMNALIGN;}
5257             YY_BREAK
5258             case 771:
5259             YY_RULE_SETUP
5260             #line 1031 "itex2MML.l"
5261             {yylval=itex2MML_copy_string("left"); return COLUMNALIGN;}
5262             YY_BREAK
5263             case 772:
5264             YY_RULE_SETUP
5265             #line 1032 "itex2MML.l"
5266             {yylval=itex2MML_copy_string("right"); return COLUMNALIGN;}
5267             YY_BREAK
5268             case 773:
5269             YY_RULE_SETUP
5270             #line 1033 "itex2MML.l"
5271             ;
5272             YY_BREAK
5273              
5274              
5275             case 774:
5276             YY_RULE_SETUP
5277             #line 1037 "itex2MML.l"
5278             {itex2MML_do_capture_eqn(); yylval=itex2MML_copy_string(yytext); yylval[yyleng-8]=0; BEGIN(SVGEND); return XMLSTRING;}
5279             YY_BREAK
5280             case 775:
5281             YY_RULE_SETUP
5282             #line 1038 "itex2MML.l"
5283             {yymore();}
5284             YY_BREAK
5285              
5286              
5287             case 776:
5288             YY_RULE_SETUP
5289             #line 1042 "itex2MML.l"
5290             {BEGIN(MATH); return ENDSVG;}
5291             YY_BREAK
5292              
5293              
5294             case 777:
5295             YY_RULE_SETUP
5296             #line 1046 "itex2MML.l"
5297             {return ST;}
5298             YY_BREAK
5299             case 778:
5300             YY_RULE_SETUP
5301             #line 1047 "itex2MML.l"
5302             {BEGIN(MATH); return END;}
5303             YY_BREAK
5304             case 779:
5305             YY_RULE_SETUP
5306             #line 1048 "itex2MML.l"
5307             {yylval=itex2MML_copy_string(yytext); return RMCHAR;}
5308             YY_BREAK
5309             case 780:
5310             YY_RULE_SETUP
5311             #line 1049 "itex2MML.l"
5312             ;
5313             YY_BREAK
5314             case 781:
5315             YY_RULE_SETUP
5316             #line 1050 "itex2MML.l"
5317             {return yytext[0];}
5318             YY_BREAK
5319              
5320              
5321             case 782:
5322             YY_RULE_SETUP
5323             #line 1054 "itex2MML.l"
5324             {return ST;}
5325             YY_BREAK
5326             case 783:
5327             YY_RULE_SETUP
5328             #line 1055 "itex2MML.l"
5329             {BEGIN(MATH); return END;}
5330             YY_BREAK
5331             case 784:
5332             YY_RULE_SETUP
5333             #line 1056 "itex2MML.l"
5334             {yylval=itex2MML_copy_string(yytext); return BBLOWERCHAR;}
5335             YY_BREAK
5336             case 785:
5337             YY_RULE_SETUP
5338             #line 1057 "itex2MML.l"
5339             {yylval=itex2MML_copy_string(yytext); return BBUPPERCHAR;}
5340             YY_BREAK
5341             case 786:
5342             YY_RULE_SETUP
5343             #line 1058 "itex2MML.l"
5344             {yylval=itex2MML_copy_string(yytext); return BBDIGIT;}
5345             YY_BREAK
5346             case 787:
5347             YY_RULE_SETUP
5348             #line 1059 "itex2MML.l"
5349             ;
5350             YY_BREAK
5351             case 788:
5352             YY_RULE_SETUP
5353             #line 1060 "itex2MML.l"
5354             {return yytext[0];}
5355             YY_BREAK
5356              
5357              
5358             case 789:
5359             YY_RULE_SETUP
5360             #line 1064 "itex2MML.l"
5361             {return ST;}
5362             YY_BREAK
5363             case 790:
5364             YY_RULE_SETUP
5365             #line 1065 "itex2MML.l"
5366             {BEGIN(MATH); return END;}
5367             YY_BREAK
5368             case 791:
5369             YY_RULE_SETUP
5370             #line 1066 "itex2MML.l"
5371             {yylval=itex2MML_copy_string(yytext); return CALCHAR;}
5372             YY_BREAK
5373             case 792:
5374             YY_RULE_SETUP
5375             #line 1067 "itex2MML.l"
5376             ;
5377             YY_BREAK
5378             case 793:
5379             YY_RULE_SETUP
5380             #line 1068 "itex2MML.l"
5381             {return yytext[0];}
5382             YY_BREAK
5383              
5384              
5385             case 794:
5386             YY_RULE_SETUP
5387             #line 1072 "itex2MML.l"
5388             {return ST;}
5389             YY_BREAK
5390             case 795:
5391             YY_RULE_SETUP
5392             #line 1073 "itex2MML.l"
5393             {BEGIN(MATH); return END;}
5394             YY_BREAK
5395             case 796:
5396             YY_RULE_SETUP
5397             #line 1074 "itex2MML.l"
5398             {yylval=itex2MML_copy_string(yytext); return CALCHAR;}
5399             YY_BREAK
5400             case 797:
5401             YY_RULE_SETUP
5402             #line 1075 "itex2MML.l"
5403             ;
5404             YY_BREAK
5405             case 798:
5406             YY_RULE_SETUP
5407             #line 1076 "itex2MML.l"
5408             {return yytext[0];}
5409             YY_BREAK
5410              
5411              
5412             case 799:
5413             YY_RULE_SETUP
5414             #line 1080 "itex2MML.l"
5415             {return ST;}
5416             YY_BREAK
5417             case 800:
5418             YY_RULE_SETUP
5419             #line 1081 "itex2MML.l"
5420             {BEGIN(MATH); return END;}
5421             YY_BREAK
5422             case 801:
5423             YY_RULE_SETUP
5424             #line 1082 "itex2MML.l"
5425             {yylval=itex2MML_copy_string(yytext); return FRAKCHAR;}
5426             YY_BREAK
5427             case 802:
5428             YY_RULE_SETUP
5429             #line 1083 "itex2MML.l"
5430             ;
5431             YY_BREAK
5432             case 803:
5433             YY_RULE_SETUP
5434             #line 1084 "itex2MML.l"
5435             {return yytext[0];}
5436             YY_BREAK
5437              
5438              
5439             case 804:
5440             YY_RULE_SETUP
5441             #line 1088 "itex2MML.l"
5442             {yylval=itex2MML_copy_string(yytext+1); if ((yyleng > 1) && (yylval != itex2MML_empty_string)) yylval[yyleng-2]='\0'; BEGIN(MATH); return TEXTSTRING;}
5443             YY_BREAK
5444              
5445              
5446             case 805:
5447             YY_RULE_SETUP
5448             #line 1092 "itex2MML.l"
5449             {return ST;}
5450             YY_BREAK
5451             case 806:
5452             YY_RULE_SETUP
5453             #line 1093 "itex2MML.l"
5454             {BEGIN(INT2); return END;}
5455             YY_BREAK
5456             case 807:
5457             YY_RULE_SETUP
5458             #line 1094 "itex2MML.l"
5459             {yylval=itex2MML_copy_string_extra(yytext, 1); if (yyleng && (yylval != itex2MML_empty_string)) { yylval[yyleng]=yylval[yyleng-1]; yylval[yyleng-1]='.'; yylval[yyleng+1]='\0'; } return INTONE;}
5460             YY_BREAK
5461             case 808:
5462             YY_RULE_SETUP
5463             #line 1095 "itex2MML.l"
5464             ;
5465             YY_BREAK
5466             case 809:
5467             YY_RULE_SETUP
5468             #line 1096 "itex2MML.l"
5469             {return yytext[0];}
5470             YY_BREAK
5471              
5472              
5473             case 810:
5474             YY_RULE_SETUP
5475             #line 1100 "itex2MML.l"
5476             {return ST;}
5477             YY_BREAK
5478             case 811:
5479             YY_RULE_SETUP
5480             #line 1101 "itex2MML.l"
5481             {BEGIN(INT3); return END;}
5482             YY_BREAK
5483             case 812:
5484             YY_RULE_SETUP
5485             #line 1102 "itex2MML.l"
5486             {yylval=itex2MML_copy_string_extra(yytext, 1); if (yyleng && (yylval != itex2MML_empty_string)) { yylval[yyleng]=yylval[yyleng-1]; yylval[yyleng-1]='.'; yylval[yyleng+1]='\0'; } return INTTWO;}
5487             YY_BREAK
5488             case 813:
5489             YY_RULE_SETUP
5490             #line 1103 "itex2MML.l"
5491             ;
5492             YY_BREAK
5493             case 814:
5494             YY_RULE_SETUP
5495             #line 1104 "itex2MML.l"
5496             {return yytext[0];}
5497             YY_BREAK
5498              
5499              
5500             case 815:
5501             YY_RULE_SETUP
5502             #line 1108 "itex2MML.l"
5503             {return ST;}
5504             YY_BREAK
5505             case 816:
5506             YY_RULE_SETUP
5507             #line 1109 "itex2MML.l"
5508             {BEGIN(MATH); return END;}
5509             YY_BREAK
5510             case 817:
5511             YY_RULE_SETUP
5512             #line 1110 "itex2MML.l"
5513             {yylval=itex2MML_copy_string_extra(yytext, 1); if (yyleng && (yylval != itex2MML_empty_string)) { yylval[yyleng]=yylval[yyleng-1]; yylval[yyleng-1]='.'; yylval[yyleng+1]='\0'; } return INTTHREE;}
5514             YY_BREAK
5515             case 818:
5516             YY_RULE_SETUP
5517             #line 1111 "itex2MML.l"
5518             ;
5519             YY_BREAK
5520             case 819:
5521             YY_RULE_SETUP
5522             #line 1112 "itex2MML.l"
5523             {return yytext[0];}
5524             YY_BREAK
5525              
5526             case 820:
5527             YY_RULE_SETUP
5528             #line 1117 "itex2MML.l"
5529             ECHO;
5530             YY_BREAK
5531             #line 5532 "lex.yy.c"
5532             case YY_STATE_EOF(INITIAL):
5533             case YY_STATE_EOF(MATH):
5534             case YY_STATE_EOF(ATTRIBUTELIST):
5535             case YY_STATE_EOF(BBOLD):
5536             case YY_STATE_EOF(FRAKTUR):
5537             case YY_STATE_EOF(CALLIGRAPHIC):
5538             case YY_STATE_EOF(SCRIPT):
5539             case YY_STATE_EOF(ROMAN):
5540             case YY_STATE_EOF(PLAINTEXT):
5541             case YY_STATE_EOF(INT1):
5542             case YY_STATE_EOF(INT2):
5543             case YY_STATE_EOF(INT3):
5544             case YY_STATE_EOF(MATHENV):
5545             case YY_STATE_EOF(SVGENV):
5546             case YY_STATE_EOF(SVGEND):
5547             case YY_STATE_EOF(OPTARG):
5548             case YY_STATE_EOF(ARRAYOPTIONS):
5549             case YY_STATE_EOF(COLOPTS):
5550             case YY_STATE_EOF(TEXTOPTARG):
5551             case YY_STATE_EOF(TEXTOPTARG1):
5552             case YY_STATE_EOF(RAISEBOX1):
5553             case YY_STATE_EOF(RAISEBOX2):
5554 4           yyterminate();
5555              
5556             case YY_END_OF_BUFFER:
5557             {
5558             /* Amount of text matched not including the EOB char. */
5559 10           int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
5560              
5561             /* Undo the effects of YY_DO_BEFORE_ACTION. */
5562 10           *yy_cp = yy_hold_char;
5563             YY_RESTORE_YY_MORE_OFFSET
5564              
5565 10 100         if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
5566             {
5567             /* We're scanning a new file or input source. It's
5568             * possible that this happened because the user
5569             * just pointed yyin at a new source and called
5570             * yylex(). If so, then we have to assure
5571             * consistency between yy_current_buffer and our
5572             * globals. Here is the right place to do so, because
5573             * this is the first action (other than possibly a
5574             * back-up) that will match for the new input source.
5575             */
5576 4           yy_n_chars = yy_current_buffer->yy_n_chars;
5577 4           yy_current_buffer->yy_input_file = yyin;
5578 4           yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
5579             }
5580              
5581             /* Note that here we test for yy_c_buf_p "<=" to the position
5582             * of the first EOB in the buffer, since yy_c_buf_p will
5583             * already have been incremented past the NUL character
5584             * (since all states make transitions on EOB to the
5585             * end-of-buffer state). Contrast this with the test
5586             * in input().
5587             */
5588 10 50         if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
5589             { /* This was really a NUL. */
5590             yy_state_type yy_next_state;
5591              
5592 0           yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
5593              
5594 0           yy_current_state = yy_get_previous_state();
5595              
5596             /* Okay, we're now positioned to make the NUL
5597             * transition. We couldn't have
5598             * yy_get_previous_state() go ahead and do it
5599             * for us because it doesn't know how to deal
5600             * with the possibility of jamming (and we don't
5601             * want to build jamming into it because then it
5602             * will run more slowly).
5603             */
5604              
5605 0           yy_next_state = yy_try_NUL_trans( yy_current_state );
5606              
5607 0           yy_bp = yytext_ptr + YY_MORE_ADJ;
5608              
5609 0 0         if ( yy_next_state )
5610             {
5611             /* Consume the NUL. */
5612 0           yy_cp = ++yy_c_buf_p;
5613 0           yy_current_state = yy_next_state;
5614 0           goto yy_match;
5615             }
5616              
5617             else
5618             {
5619 0           yy_cp = yy_c_buf_p;
5620 0           goto yy_find_action;
5621             }
5622             }
5623              
5624 10           else switch ( yy_get_next_buffer() )
5625             {
5626             case EOB_ACT_END_OF_FILE:
5627             {
5628 4           yy_did_buffer_switch_on_eof = 0;
5629              
5630             if ( yywrap() )
5631             {
5632             /* Note: because we've taken care in
5633             * yy_get_next_buffer() to have set up
5634             * yytext, we can now set up
5635             * yy_c_buf_p so that if some total
5636             * hoser (like flex itself) wants to
5637             * call the scanner after we return the
5638             * YY_NULL, it'll still work - another
5639             * YY_NULL will get returned.
5640             */
5641 4           yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
5642              
5643 4           yy_act = YY_STATE_EOF(YY_START);
5644 4           goto do_action;
5645             }
5646              
5647             else
5648             {
5649             if ( ! yy_did_buffer_switch_on_eof )
5650             YY_NEW_FILE;
5651             }
5652             break;
5653             }
5654              
5655             case EOB_ACT_CONTINUE_SCAN:
5656 4           yy_c_buf_p =
5657 4           yytext_ptr + yy_amount_of_matched_text;
5658              
5659 4           yy_current_state = yy_get_previous_state();
5660              
5661 4           yy_cp = yy_c_buf_p;
5662 4           yy_bp = yytext_ptr + YY_MORE_ADJ;
5663 4           goto yy_match;
5664              
5665             case EOB_ACT_LAST_MATCH:
5666 2           yy_c_buf_p =
5667 2           &yy_current_buffer->yy_ch_buf[yy_n_chars];
5668              
5669 2           yy_current_state = yy_get_previous_state();
5670              
5671 2           yy_cp = yy_c_buf_p;
5672 2           yy_bp = yytext_ptr + YY_MORE_ADJ;
5673 2           goto yy_find_action;
5674             }
5675 0           break;
5676             }
5677              
5678             default:
5679 0           YY_FATAL_ERROR(
5680             "fatal flex scanner internal error--no action found" );
5681             } /* end of action switch */
5682 0           } /* end of scanning one token */
5683             } /* end of yylex */
5684              
5685              
5686             /* yy_get_next_buffer - try to read in a new buffer
5687             *
5688             * Returns a code representing an action:
5689             * EOB_ACT_LAST_MATCH -
5690             * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5691             * EOB_ACT_END_OF_FILE - end of file
5692             */
5693              
5694 10           static int yy_get_next_buffer()
5695             {
5696 10           register char *dest = yy_current_buffer->yy_ch_buf;
5697 10           register char *source = yytext_ptr;
5698             register int number_to_move, i;
5699             int ret_val;
5700              
5701 10 50         if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
5702 0           YY_FATAL_ERROR(
5703             "fatal flex scanner internal error--end of buffer missed" );
5704              
5705 10 50         if ( yy_current_buffer->yy_fill_buffer == 0 )
5706             { /* Don't try to fill the buffer, so this is an EOF. */
5707 0 0         if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
5708             {
5709             /* We matched a single character, the EOB, so
5710             * treat this as a final EOF.
5711             */
5712 0           return EOB_ACT_END_OF_FILE;
5713             }
5714              
5715             else
5716             {
5717             /* We matched some text prior to the EOB, first
5718             * process it.
5719             */
5720 0           return EOB_ACT_LAST_MATCH;
5721             }
5722             }
5723              
5724             /* Try to read more data. */
5725              
5726             /* First move last chars to start of buffer. */
5727 10           number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
5728              
5729 12 100         for ( i = 0; i < number_to_move; ++i )
5730 2           *(dest++) = *(source++);
5731              
5732 10 100         if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
5733             /* don't do the read, it's not guaranteed to return an EOF,
5734             * just force an EOF
5735             */
5736 2           yy_current_buffer->yy_n_chars = yy_n_chars = 0;
5737              
5738             else
5739             {
5740 8           int num_to_read =
5741 8           yy_current_buffer->yy_buf_size - number_to_move - 1;
5742              
5743 8 50         while ( num_to_read <= 0 )
5744             { /* Not enough room in the buffer - grow it. */
5745             #ifdef YY_USES_REJECT
5746             YY_FATAL_ERROR(
5747             "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
5748             #else
5749              
5750             /* just a shorter name for the current buffer */
5751 0           YY_BUFFER_STATE b = yy_current_buffer;
5752              
5753 0           int yy_c_buf_p_offset =
5754 0           (int) (yy_c_buf_p - b->yy_ch_buf);
5755              
5756 0 0         if ( b->yy_is_our_buffer )
5757             {
5758 0           int new_size = b->yy_buf_size * 2;
5759              
5760 0 0         if ( new_size <= 0 )
5761 0           b->yy_buf_size += b->yy_buf_size / 8;
5762             else
5763 0           b->yy_buf_size *= 2;
5764              
5765 0           b->yy_ch_buf = (char *)
5766             /* Include room in for 2 EOB chars. */
5767 0           yy_flex_realloc( (void *) b->yy_ch_buf,
5768 0           b->yy_buf_size + 2 );
5769             }
5770             else
5771             /* Can't grow it, we don't own it. */
5772 0           b->yy_ch_buf = 0;
5773              
5774 0 0         if ( ! b->yy_ch_buf )
5775 0           YY_FATAL_ERROR(
5776             "fatal error - scanner input buffer overflow" );
5777              
5778 0           yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
5779              
5780 0           num_to_read = yy_current_buffer->yy_buf_size -
5781 0           number_to_move - 1;
5782             #endif
5783             }
5784              
5785 8 50         if ( num_to_read > YY_READ_BUF_SIZE )
5786 8           num_to_read = YY_READ_BUF_SIZE;
5787              
5788             /* Read in more data. */
5789 8           YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
5790             yy_n_chars, num_to_read );
5791              
5792 8           yy_current_buffer->yy_n_chars = yy_n_chars;
5793             }
5794              
5795 10 100         if ( yy_n_chars == 0 )
5796             {
5797 6 100         if ( number_to_move == YY_MORE_ADJ )
5798             {
5799 4           ret_val = EOB_ACT_END_OF_FILE;
5800 4           yyrestart( yyin );
5801             }
5802              
5803             else
5804             {
5805 2           ret_val = EOB_ACT_LAST_MATCH;
5806 6           yy_current_buffer->yy_buffer_status =
5807             YY_BUFFER_EOF_PENDING;
5808             }
5809             }
5810              
5811             else
5812 4           ret_val = EOB_ACT_CONTINUE_SCAN;
5813              
5814 10           yy_n_chars += number_to_move;
5815 10           yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
5816 10           yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
5817              
5818 10           yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
5819              
5820 10           return ret_val;
5821             }
5822              
5823              
5824             /* yy_get_previous_state - get the state just before the EOB char was reached */
5825              
5826 6           static yy_state_type yy_get_previous_state()
5827             {
5828             register yy_state_type yy_current_state;
5829             register char *yy_cp;
5830              
5831 6           yy_current_state = yy_start;
5832              
5833 8 100         for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
5834             {
5835 2 50         register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
5836 2 50         if ( yy_accept[yy_current_state] )
5837             {
5838 0           yy_last_accepting_state = yy_current_state;
5839 0           yy_last_accepting_cpos = yy_cp;
5840             }
5841 2 50         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5842             {
5843 0           yy_current_state = (int) yy_def[yy_current_state];
5844 0 0         if ( yy_current_state >= 3327 )
5845 0           yy_c = yy_meta[(unsigned int) yy_c];
5846             }
5847 2           yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5848             }
5849              
5850 6           return yy_current_state;
5851             }
5852              
5853              
5854             /* yy_try_NUL_trans - try to make a transition on the NUL character
5855             *
5856             * synopsis
5857             * next_state = yy_try_NUL_trans( current_state );
5858             */
5859              
5860             #ifdef YY_USE_PROTOS
5861 0           static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
5862             #else
5863             static yy_state_type yy_try_NUL_trans( yy_current_state )
5864             yy_state_type yy_current_state;
5865             #endif
5866             {
5867             register int yy_is_jam;
5868 0           register char *yy_cp = yy_c_buf_p;
5869              
5870 0           register YY_CHAR yy_c = 1;
5871 0 0         if ( yy_accept[yy_current_state] )
5872             {
5873 0           yy_last_accepting_state = yy_current_state;
5874 0           yy_last_accepting_cpos = yy_cp;
5875             }
5876 0 0         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5877             {
5878 0           yy_current_state = (int) yy_def[yy_current_state];
5879 0 0         if ( yy_current_state >= 3327 )
5880 0           yy_c = yy_meta[(unsigned int) yy_c];
5881             }
5882 0           yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5883 0           yy_is_jam = (yy_current_state == 3326);
5884              
5885 0 0         return yy_is_jam ? 0 : yy_current_state;
5886             }
5887              
5888              
5889             #ifndef YY_NO_UNPUT
5890             #ifdef YY_USE_PROTOS
5891 0           static void yyunput( int c, register char *yy_bp )
5892             #else
5893             static void yyunput( c, yy_bp )
5894             int c;
5895             register char *yy_bp;
5896             #endif
5897             {
5898 0           register char *yy_cp = yy_c_buf_p;
5899              
5900             /* undo effects of setting up yytext */
5901 0           *yy_cp = yy_hold_char;
5902              
5903 0 0         if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
5904             { /* need to shift things up to make room */
5905             /* +2 for EOB chars. */
5906 0           register int number_to_move = yy_n_chars + 2;
5907 0           register char *dest = &yy_current_buffer->yy_ch_buf[
5908 0           yy_current_buffer->yy_buf_size + 2];
5909 0           register char *source =
5910 0           &yy_current_buffer->yy_ch_buf[number_to_move];
5911              
5912 0 0         while ( source > yy_current_buffer->yy_ch_buf )
5913 0           *--dest = *--source;
5914              
5915 0           yy_cp += (int) (dest - source);
5916 0           yy_bp += (int) (dest - source);
5917 0           yy_current_buffer->yy_n_chars =
5918 0           yy_n_chars = yy_current_buffer->yy_buf_size;
5919              
5920 0 0         if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
5921 0           YY_FATAL_ERROR( "flex scanner push-back overflow" );
5922             }
5923              
5924 0           *--yy_cp = (char) c;
5925              
5926              
5927 0           yytext_ptr = yy_bp;
5928 0           yy_hold_char = *yy_cp;
5929 0           yy_c_buf_p = yy_cp;
5930 0           }
5931             #endif /* ifndef YY_NO_UNPUT */
5932              
5933              
5934             #ifdef __cplusplus
5935             static int yyinput()
5936             #else
5937 0           static int input()
5938             #endif
5939             {
5940             int c;
5941              
5942 0           *yy_c_buf_p = yy_hold_char;
5943              
5944 0 0         if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
5945             {
5946             /* yy_c_buf_p now points to the character we want to return.
5947             * If this occurs *before* the EOB characters, then it's a
5948             * valid NUL; if not, then we've hit the end of the buffer.
5949             */
5950 0 0         if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
5951             /* This was really a NUL. */
5952 0           *yy_c_buf_p = '\0';
5953              
5954             else
5955             { /* need more input */
5956 0           int offset = yy_c_buf_p - yytext_ptr;
5957 0           ++yy_c_buf_p;
5958              
5959 0           switch ( yy_get_next_buffer() )
5960             {
5961             case EOB_ACT_LAST_MATCH:
5962             /* This happens because yy_g_n_b()
5963             * sees that we've accumulated a
5964             * token and flags that we need to
5965             * try matching the token before
5966             * proceeding. But for input(),
5967             * there's no matching to consider.
5968             * So convert the EOB_ACT_LAST_MATCH
5969             * to EOB_ACT_END_OF_FILE.
5970             */
5971              
5972             /* Reset buffer status. */
5973 0           yyrestart( yyin );
5974              
5975             /* fall through */
5976              
5977             case EOB_ACT_END_OF_FILE:
5978             {
5979             if ( yywrap() )
5980 0           return EOF;
5981              
5982             if ( ! yy_did_buffer_switch_on_eof )
5983             YY_NEW_FILE;
5984             #ifdef __cplusplus
5985             return yyinput();
5986             #else
5987             return input();
5988             #endif
5989             }
5990              
5991             case EOB_ACT_CONTINUE_SCAN:
5992 0           yy_c_buf_p = yytext_ptr + offset;
5993 0           break;
5994             }
5995             }
5996             }
5997              
5998 0           c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
5999 0           *yy_c_buf_p = '\0'; /* preserve yytext */
6000 0           yy_hold_char = *++yy_c_buf_p;
6001              
6002              
6003 0           return c;
6004             }
6005              
6006              
6007             #ifdef YY_USE_PROTOS
6008 4           void yyrestart( FILE *input_file )
6009             #else
6010             void yyrestart( input_file )
6011             FILE *input_file;
6012             #endif
6013             {
6014 4 50         if ( ! yy_current_buffer )
6015 0           yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
6016              
6017 4           yy_init_buffer( yy_current_buffer, input_file );
6018 4           yy_load_buffer_state();
6019 4           }
6020              
6021              
6022             #ifdef YY_USE_PROTOS
6023 0           void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
6024             #else
6025             void yy_switch_to_buffer( new_buffer )
6026             YY_BUFFER_STATE new_buffer;
6027             #endif
6028             {
6029 0 0         if ( yy_current_buffer == new_buffer )
6030 0           return;
6031              
6032 0 0         if ( yy_current_buffer )
6033             {
6034             /* Flush out information for old buffer. */
6035 0           *yy_c_buf_p = yy_hold_char;
6036 0           yy_current_buffer->yy_buf_pos = yy_c_buf_p;
6037 0           yy_current_buffer->yy_n_chars = yy_n_chars;
6038             }
6039              
6040 0           yy_current_buffer = new_buffer;
6041 0           yy_load_buffer_state();
6042              
6043             /* We don't actually know whether we did this switch during
6044             * EOF (yywrap()) processing, but the only time this flag
6045             * is looked at is after yywrap() is called, so it's safe
6046             * to go ahead and always set it.
6047             */
6048 0           yy_did_buffer_switch_on_eof = 1;
6049             }
6050              
6051              
6052             #ifdef YY_USE_PROTOS
6053 12           void yy_load_buffer_state( void )
6054             #else
6055             void yy_load_buffer_state()
6056             #endif
6057             {
6058 12           yy_n_chars = yy_current_buffer->yy_n_chars;
6059 12           yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
6060 12           yyin = yy_current_buffer->yy_input_file;
6061 12           yy_hold_char = *yy_c_buf_p;
6062 12           }
6063              
6064              
6065             #ifdef YY_USE_PROTOS
6066 1           YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
6067             #else
6068             YY_BUFFER_STATE yy_create_buffer( file, size )
6069             FILE *file;
6070             int size;
6071             #endif
6072             {
6073             YY_BUFFER_STATE b;
6074              
6075 1           b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
6076 1 50         if ( ! b )
6077 0           YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
6078              
6079 1           b->yy_buf_size = size;
6080              
6081             /* yy_ch_buf has to be 2 characters longer than the size given because
6082             * we need to put in 2 end-of-buffer characters.
6083             */
6084 1           b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
6085 1 50         if ( ! b->yy_ch_buf )
6086 0           YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
6087              
6088 1           b->yy_is_our_buffer = 1;
6089              
6090 1           yy_init_buffer( b, file );
6091              
6092 1           return b;
6093             }
6094              
6095              
6096             #ifdef YY_USE_PROTOS
6097 0           void yy_delete_buffer( YY_BUFFER_STATE b )
6098             #else
6099             void yy_delete_buffer( b )
6100             YY_BUFFER_STATE b;
6101             #endif
6102             {
6103 0 0         if ( ! b )
6104 0           return;
6105              
6106 0 0         if ( b == yy_current_buffer )
6107 0           yy_current_buffer = (YY_BUFFER_STATE) 0;
6108              
6109 0 0         if ( b->yy_is_our_buffer )
6110 0           yy_flex_free( (void *) b->yy_ch_buf );
6111              
6112 0           yy_flex_free( (void *) b );
6113             }
6114              
6115              
6116             #ifndef YY_ALWAYS_INTERACTIVE
6117             #ifndef YY_NEVER_INTERACTIVE
6118             extern int isatty YY_PROTO(( int ));
6119             #endif
6120             #endif
6121              
6122             #ifdef YY_USE_PROTOS
6123 5           void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
6124             #else
6125             void yy_init_buffer( b, file )
6126             YY_BUFFER_STATE b;
6127             FILE *file;
6128             #endif
6129              
6130              
6131             {
6132 5           yy_flush_buffer( b );
6133              
6134 5           b->yy_input_file = file;
6135 5           b->yy_fill_buffer = 1;
6136              
6137             #if YY_ALWAYS_INTERACTIVE
6138             b->yy_is_interactive = 1;
6139             #else
6140             #if YY_NEVER_INTERACTIVE
6141 5           b->yy_is_interactive = 0;
6142             #else
6143             b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6144             #endif
6145             #endif
6146 5           }
6147              
6148              
6149             #ifdef YY_USE_PROTOS
6150 9           void yy_flush_buffer( YY_BUFFER_STATE b )
6151             #else
6152             void yy_flush_buffer( b )
6153             YY_BUFFER_STATE b;
6154             #endif
6155              
6156             {
6157 9 100         if ( ! b )
6158 1           return;
6159              
6160 8           b->yy_n_chars = 0;
6161              
6162             /* We always need two end-of-buffer characters. The first causes
6163             * a transition to the end-of-buffer state. The second causes
6164             * a jam in that state.
6165             */
6166 8           b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6167 8           b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6168              
6169 8           b->yy_buf_pos = &b->yy_ch_buf[0];
6170              
6171 8           b->yy_at_bol = 1;
6172 8           b->yy_buffer_status = YY_BUFFER_NEW;
6173              
6174 8 100         if ( b == yy_current_buffer )
6175 7           yy_load_buffer_state();
6176             }
6177              
6178              
6179             #ifndef YY_NO_SCAN_BUFFER
6180             #ifdef YY_USE_PROTOS
6181 0           YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
6182             #else
6183             YY_BUFFER_STATE yy_scan_buffer( base, size )
6184             char *base;
6185             yy_size_t size;
6186             #endif
6187             {
6188             YY_BUFFER_STATE b;
6189              
6190 0 0         if ( size < 2 ||
    0          
6191 0 0         base[size-2] != YY_END_OF_BUFFER_CHAR ||
6192 0           base[size-1] != YY_END_OF_BUFFER_CHAR )
6193             /* They forgot to leave room for the EOB's. */
6194 0           return 0;
6195              
6196 0           b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
6197 0 0         if ( ! b )
6198 0           YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
6199              
6200 0           b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6201 0           b->yy_buf_pos = b->yy_ch_buf = base;
6202 0           b->yy_is_our_buffer = 0;
6203 0           b->yy_input_file = 0;
6204 0           b->yy_n_chars = b->yy_buf_size;
6205 0           b->yy_is_interactive = 0;
6206 0           b->yy_at_bol = 1;
6207 0           b->yy_fill_buffer = 0;
6208 0           b->yy_buffer_status = YY_BUFFER_NEW;
6209              
6210 0           yy_switch_to_buffer( b );
6211              
6212 0           return b;
6213             }
6214             #endif
6215              
6216              
6217             #ifndef YY_NO_SCAN_STRING
6218             #ifdef YY_USE_PROTOS
6219 0           YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
6220             #else
6221             YY_BUFFER_STATE yy_scan_string( yy_str )
6222             yyconst char *yy_str;
6223             #endif
6224             {
6225             int len;
6226 0 0         for ( len = 0; yy_str[len]; ++len )
6227             ;
6228              
6229 0           return yy_scan_bytes( yy_str, len );
6230             }
6231             #endif
6232              
6233              
6234             #ifndef YY_NO_SCAN_BYTES
6235             #ifdef YY_USE_PROTOS
6236 0           YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
6237             #else
6238             YY_BUFFER_STATE yy_scan_bytes( bytes, len )
6239             yyconst char *bytes;
6240             int len;
6241             #endif
6242             {
6243             YY_BUFFER_STATE b;
6244             char *buf;
6245             yy_size_t n;
6246             int i;
6247              
6248             /* Get memory for full buffer, including space for trailing EOB's. */
6249 0           n = len + 2;
6250 0           buf = (char *) yy_flex_alloc( n );
6251 0 0         if ( ! buf )
6252 0           YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
6253              
6254 0 0         for ( i = 0; i < len; ++i )
6255 0           buf[i] = bytes[i];
6256              
6257 0           buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
6258              
6259 0           b = yy_scan_buffer( buf, n );
6260 0 0         if ( ! b )
6261 0           YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
6262              
6263             /* It's okay to grow etc. this buffer, and we should throw it
6264             * away when we're done.
6265             */
6266 0           b->yy_is_our_buffer = 1;
6267              
6268 0           return b;
6269             }
6270             #endif
6271              
6272              
6273             #ifndef YY_NO_PUSH_STATE
6274             #ifdef YY_USE_PROTOS
6275             static void yy_push_state( int new_state )
6276             #else
6277             static void yy_push_state( new_state )
6278             int new_state;
6279             #endif
6280             {
6281             if ( yy_start_stack_ptr >= yy_start_stack_depth )
6282             {
6283             yy_size_t new_size;
6284              
6285             yy_start_stack_depth += YY_START_STACK_INCR;
6286             new_size = yy_start_stack_depth * sizeof( int );
6287              
6288             if ( ! yy_start_stack )
6289             yy_start_stack = (int *) yy_flex_alloc( new_size );
6290              
6291             else
6292             yy_start_stack = (int *) yy_flex_realloc(
6293             (void *) yy_start_stack, new_size );
6294              
6295             if ( ! yy_start_stack )
6296             YY_FATAL_ERROR(
6297             "out of memory expanding start-condition stack" );
6298             }
6299              
6300             yy_start_stack[yy_start_stack_ptr++] = YY_START;
6301              
6302             BEGIN(new_state);
6303             }
6304             #endif
6305              
6306              
6307             #ifndef YY_NO_POP_STATE
6308             static void yy_pop_state()
6309             {
6310             if ( --yy_start_stack_ptr < 0 )
6311             YY_FATAL_ERROR( "start-condition stack underflow" );
6312              
6313             BEGIN(yy_start_stack[yy_start_stack_ptr]);
6314             }
6315             #endif
6316              
6317              
6318             #ifndef YY_NO_TOP_STATE
6319             static int yy_top_state()
6320             {
6321             return yy_start_stack[yy_start_stack_ptr - 1];
6322             }
6323             #endif
6324              
6325             #ifndef YY_EXIT_FAILURE
6326             #define YY_EXIT_FAILURE 2
6327             #endif
6328              
6329             #ifdef YY_USE_PROTOS
6330 0           static void yy_fatal_error( yyconst char msg[] )
6331             #else
6332             static void yy_fatal_error( msg )
6333             char msg[];
6334             #endif
6335             {
6336 0           (void) fprintf( stderr, "%s\n", msg );
6337 0           exit( YY_EXIT_FAILURE );
6338             }
6339              
6340              
6341              
6342             /* Redefine yyless() so it works in section 3 code. */
6343              
6344             #undef yyless
6345             #define yyless(n) \
6346             do \
6347             { \
6348             /* Undo effects of setting up yytext. */ \
6349             yytext[yyleng] = yy_hold_char; \
6350             yy_c_buf_p = yytext + n; \
6351             yy_hold_char = *yy_c_buf_p; \
6352             *yy_c_buf_p = '\0'; \
6353             yyleng = n; \
6354             } \
6355             while ( 0 )
6356              
6357              
6358             /* Internal utility routines. */
6359              
6360             #ifndef yytext_ptr
6361             #ifdef YY_USE_PROTOS
6362             static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
6363             #else
6364             static void yy_flex_strncpy( s1, s2, n )
6365             char *s1;
6366             yyconst char *s2;
6367             int n;
6368             #endif
6369             {
6370             register int i;
6371             for ( i = 0; i < n; ++i )
6372             s1[i] = s2[i];
6373             }
6374             #endif
6375              
6376             #ifdef YY_NEED_STRLEN
6377             #ifdef YY_USE_PROTOS
6378             static int yy_flex_strlen( yyconst char *s )
6379             #else
6380             static int yy_flex_strlen( s )
6381             yyconst char *s;
6382             #endif
6383             {
6384             register int n;
6385             for ( n = 0; s[n]; ++n )
6386             ;
6387              
6388             return n;
6389             }
6390             #endif
6391              
6392              
6393             #ifdef YY_USE_PROTOS
6394 2           static void *yy_flex_alloc( yy_size_t size )
6395             #else
6396             static void *yy_flex_alloc( size )
6397             yy_size_t size;
6398             #endif
6399             {
6400 2           return (void *) malloc( size );
6401             }
6402              
6403             #ifdef YY_USE_PROTOS
6404 0           static void *yy_flex_realloc( void *ptr, yy_size_t size )
6405             #else
6406             static void *yy_flex_realloc( ptr, size )
6407             void *ptr;
6408             yy_size_t size;
6409             #endif
6410             {
6411             /* The cast to (char *) in the following accommodates both
6412             * implementations that use char* generic pointers, and those
6413             * that use void* generic pointers. It works with the latter
6414             * because both ANSI C and C++ allow castless assignment from
6415             * any pointer type to void*, and deal with argument conversions
6416             * as though doing an assignment.
6417             */
6418 0           return (void *) realloc( (char *) ptr, size );
6419             }
6420              
6421             #ifdef YY_USE_PROTOS
6422 0           static void yy_flex_free( void *ptr )
6423             #else
6424             static void yy_flex_free( ptr )
6425             void *ptr;
6426             #endif
6427             {
6428 0           free( ptr );
6429 0           }
6430              
6431             #if YY_MAIN
6432             int main()
6433             {
6434             yylex();
6435             return 0;
6436             }
6437             #endif
6438             #line 1117 "itex2MML.l"
6439              
6440              
6441             void itex2MML_restart ()
6442             {
6443             BEGIN(INITIAL);
6444             }
6445              
6446             static const char * s_itex2MML_buffer = 0;
6447             static size_t s_itex2MML_length = 0;
6448              
6449             void itex2MML_setup (const char * buffer, size_t length)
6450             {
6451             yy_flush_buffer( YY_CURRENT_BUFFER );
6452              
6453             s_itex2MML_buffer = buffer;
6454             s_itex2MML_length = length;
6455             }
6456              
6457             void itex2MML_capture_eqn_src()
6458             {
6459             if (YY_START != INITIAL && YY_START != SVGENV)
6460             itex2MML_do_capture_eqn();
6461             }
6462              
6463             void itex2MML_do_capture_eqn()
6464             {
6465             if (itex2MML_eqn_bufsize - (itex2MML_eqn_end-itex2MML_eqn_src+yyleng) > 1)
6466             {
6467             strcpy(itex2MML_eqn_end, yytext);
6468             itex2MML_eqn_end += yyleng;
6469             }
6470             }
6471              
6472             static size_t s_itex2MML_read (char * buffer, size_t max_size)
6473             {
6474             size_t result = 0;
6475              
6476             if (max_size < s_itex2MML_length)
6477             {
6478             result = max_size;
6479              
6480             memcpy (buffer, s_itex2MML_buffer, max_size);
6481              
6482             s_itex2MML_buffer += max_size;
6483             s_itex2MML_length -= max_size;
6484             }
6485             else
6486             {
6487             result = s_itex2MML_length;
6488              
6489             memcpy (buffer, s_itex2MML_buffer, s_itex2MML_length);
6490              
6491             s_itex2MML_buffer = 0;
6492             s_itex2MML_length = 0;
6493             }
6494             return result;
6495             }