]> git.wincent.com - wikitext.git/blob - ext/wikitext_ragel.c
Change license header from GPL to BSD
[wikitext.git] / ext / wikitext_ragel.c
1
2 #line 1 "wikitext_ragel.rl"
3 // Copyright 2008-2009 Wincent Colaiuta. All rights reserved.
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are met:
7 //
8 // 1. Redistributions of source code must retain the above copyright notice,
9 //    this list of conditions and the following disclaimer.
10 // 2. Redistributions in binary form must reproduce the above copyright notice,
11 //    this list of conditions and the following disclaimer in the documentation
12 //    and/or other materials provided with the distribution.
13
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
18 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 // POSSIBILITY OF SUCH DAMAGE.
25
26 //----------------------------------------------------------------------//
27 // NOTE: wikitext_ragel.c is generated from wikitext_ragel.rl, so       //
28 //       if you make changes to the former they will be overwritten.    //
29 //       You should perform all your edits in wikitext_ragel.rl.        //
30 //----------------------------------------------------------------------//
31
32 #include "wikitext_ragel.h"
33 #include "wikitext.h"
34 #include <stdio.h>
35
36 #define EMIT(t)     do { out->type = t; out->stop = p + 1; out->column_stop += (out->stop - out->start); } while (0)
37 #define MARK()      do { mark = p; } while (0)
38 #define REWIND()    do { p = mark; } while (0)
39 #define AT_END()    (p + 1 == pe)
40 #define DISTANCE()  (p + 1 - ts)
41 #define NEXT_CHAR() (*(p + 1))
42
43
44 #line 36 "wikitext_ragel.c"
45 static const int wikitext_start = 94;
46 static const int wikitext_first_final = 94;
47 static const int wikitext_error = 0;
48
49 static const int wikitext_en_main = 94;
50
51
52 #line 468 "wikitext_ragel.rl"
53
54
55 // for now we use the scanner as a tokenizer that returns one token at a time, just like ANTLR
56 // ultimately we could look at embedding all of the transformation inside the scanner itself (combined scanner/parser)
57 // pass in the last token because that's useful for the scanner to know
58 // p data pointer (required by Ragel machine); overriden with contents of last_token if supplied
59 // pe data end pointer (required by Ragel machine)
60 void next_token(token_t *out, token_t *last_token, char *p, char *pe)
61 {
62     int last_token_type = NO_TOKEN;
63     if (last_token)
64     {
65         last_token_type     = last_token->type;
66         p = last_token->stop;
67         out->line_start     = out->line_stop    = last_token->line_stop;
68         out->column_start   = out->column_stop  = last_token->column_stop;
69     }
70     else
71     {
72         out->line_start     = 1;
73         out->column_start   = 1;
74         out->line_stop      = 1;
75         out->column_stop    = 1;
76     }
77     out->type       = NO_TOKEN;
78     out->code_point = 0;
79     out->start      = p;
80     if (p == pe)
81     {
82         // all done, have reached end of input
83         out->stop  = p;
84         out->type  = END_OF_FILE;
85         return;
86     }
87
88     char    *mark;      // for manual backtracking
89     char    *eof = pe;  // required for backtracking (longest match determination)
90     int     cs;         // current state (standard Ragel)
91     char    *ts;        // token start (scanner)
92     char    *te;        // token end (scanner)
93     int     act;        // identity of last patterned matched (scanner)
94     
95 #line 87 "wikitext_ragel.c"
96         {
97         cs = wikitext_start;
98         ts = 0;
99         te = 0;
100         act = 0;
101         }
102
103 #line 510 "wikitext_ragel.rl"
104     
105 #line 97 "wikitext_ragel.c"
106         {
107         if ( p == pe )
108                 goto _test_eof;
109         switch ( cs )
110         {
111 tr0:
112 #line 46 "wikitext_ragel.rl"
113         {
114         out->code_point = ((uint32_t)(*(p - 1)) & 0x1f) << 6 |
115             (*p & 0x3f);
116     }
117 #line 459 "wikitext_ragel.rl"
118         {te = p+1;{
119             EMIT(DEFAULT);
120             out->column_stop = out->column_start + 1;
121             {p++; cs = 94; goto _out;}
122         }}
123         goto st94;
124 tr3:
125 #line 52 "wikitext_ragel.rl"
126         {
127         out->code_point = ((uint32_t)(*(p - 2)) & 0x0f) << 12 |
128             ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
129             (*p & 0x3f);
130     }
131 #line 459 "wikitext_ragel.rl"
132         {te = p+1;{
133             EMIT(DEFAULT);
134             out->column_stop = out->column_start + 1;
135             {p++; cs = 94; goto _out;}
136         }}
137         goto st94;
138 tr6:
139 #line 59 "wikitext_ragel.rl"
140         {
141         out->code_point = ((uint32_t)(*(p - 3)) & 0x07) << 18 |
142             ((uint32_t)(*(p - 2)) & 0x3f) << 12 |
143             ((uint32_t)(*(p - 1)) & 0x3f) << 6 |
144             (*p & 0x3f);
145     }
146 #line 459 "wikitext_ragel.rl"
147         {te = p+1;{
148             EMIT(DEFAULT);
149             out->column_stop = out->column_start + 1;
150             {p++; cs = 94; goto _out;}
151         }}
152         goto st94;
153 tr7:
154 #line 366 "wikitext_ragel.rl"
155         {{p = ((te))-1;}{
156             EMIT(AMP);
157             {p++; cs = 94; goto _out;}
158         }}
159         goto st94;
160 tr10:
161 #line 354 "wikitext_ragel.rl"
162         {te = p+1;{
163             EMIT(DECIMAL_ENTITY);
164             {p++; cs = 94; goto _out;}
165         }}
166         goto st94;
167 tr12:
168 #line 348 "wikitext_ragel.rl"
169         {te = p+1;{
170             EMIT(HEX_ENTITY);
171             {p++; cs = 94; goto _out;}
172         }}
173         goto st94;
174 tr14:
175 #line 342 "wikitext_ragel.rl"
176         {te = p+1;{
177             EMIT(NAMED_ENTITY);
178             {p++; cs = 94; goto _out;}
179         }}
180         goto st94;
181 tr18:
182 #line 336 "wikitext_ragel.rl"
183         {te = p+1;{
184             EMIT(AMP_ENTITY);
185             {p++; cs = 94; goto _out;}
186         }}
187         goto st94;
188 tr22:
189 #line 330 "wikitext_ragel.rl"
190         {te = p+1;{
191             EMIT(QUOT_ENTITY);
192             {p++; cs = 94; goto _out;}
193         }}
194         goto st94;
195 tr23:
196 #line 1 "wikitext_ragel.rl"
197         {       switch( act ) {
198         case 20:
199         {{p = ((te))-1;}
200             EMIT(URI);
201             {p++; cs = 94; goto _out;}
202         }
203         break;
204         case 21:
205         {{p = ((te))-1;}
206             EMIT(MAIL);
207             {p++; cs = 94; goto _out;}
208         }
209         break;
210         case 42:
211         {{p = ((te))-1;}
212             EMIT(SPECIAL_URI_CHARS);
213             {p++; cs = 94; goto _out;}
214         }
215         break;
216         case 43:
217         {{p = ((te))-1;}
218             EMIT(ALNUM);
219             {p++; cs = 94; goto _out;}
220         }
221         break;
222         case 44:
223         {{p = ((te))-1;}
224             EMIT(PRINTABLE);
225             {p++; cs = 94; goto _out;}
226         }
227         break;
228         }
229         }
230         goto st94;
231 tr30:
232 #line 372 "wikitext_ragel.rl"
233         {{p = ((te))-1;}{
234             EMIT(LESS);
235             {p++; cs = 94; goto _out;}
236         }}
237         goto st94;
238 tr46:
239 #line 111 "wikitext_ragel.rl"
240         {te = p+1;{
241             EMIT(BLOCKQUOTE_END);
242             {p++; cs = 94; goto _out;}
243         }}
244         goto st94;
245 tr48:
246 #line 153 "wikitext_ragel.rl"
247         {te = p+1;{
248             EMIT(EM_END);
249             {p++; cs = 94; goto _out;}
250         }}
251         goto st94;
252 tr54:
253 #line 87 "wikitext_ragel.rl"
254         {te = p+1;{
255             EMIT(NO_WIKI_END);
256             {p++; cs = 94; goto _out;}
257         }}
258         goto st94;
259 tr57:
260 #line 99 "wikitext_ragel.rl"
261         {te = p+1;{
262             EMIT(PRE_END);
263             {p++; cs = 94; goto _out;}
264         }}
265         goto st94;
266 tr63:
267 #line 141 "wikitext_ragel.rl"
268         {te = p+1;{
269             EMIT(STRONG_END);
270             {p++; cs = 94; goto _out;}
271         }}
272         goto st94;
273 tr65:
274 #line 171 "wikitext_ragel.rl"
275         {te = p+1;{
276             EMIT(TT_END);
277             {p++; cs = 94; goto _out;}
278         }}
279         goto st94;
280 tr75:
281 #line 105 "wikitext_ragel.rl"
282         {te = p+1;{
283             EMIT(BLOCKQUOTE_START);
284             {p++; cs = 94; goto _out;}
285         }}
286         goto st94;
287 tr77:
288 #line 147 "wikitext_ragel.rl"
289         {te = p+1;{
290             EMIT(EM_START);
291             {p++; cs = 94; goto _out;}
292         }}
293         goto st94;
294 tr83:
295 #line 81 "wikitext_ragel.rl"
296         {te = p+1;{
297             EMIT(NO_WIKI_START);
298             {p++; cs = 94; goto _out;}
299         }}
300         goto st94;
301 tr86:
302 #line 93 "wikitext_ragel.rl"
303         {te = p+1;{
304             EMIT(PRE_START);
305             {p++; cs = 94; goto _out;}
306         }}
307         goto st94;
308 tr92:
309 #line 135 "wikitext_ragel.rl"
310         {te = p+1;{
311             EMIT(STRONG_START);
312             {p++; cs = 94; goto _out;}
313         }}
314         goto st94;
315 tr94:
316 #line 165 "wikitext_ragel.rl"
317         {te = p+1;{
318             EMIT(TT_START);
319             {p++; cs = 94; goto _out;}
320         }}
321         goto st94;
322 tr95:
323 #line 427 "wikitext_ragel.rl"
324         {{p = ((te))-1;}{
325             EMIT(ALNUM);
326             {p++; cs = 94; goto _out;}
327         }}
328         goto st94;
329 tr99:
330 #line 282 "wikitext_ragel.rl"
331         {{p = ((te))-1;}{
332             EMIT(URI);
333             {p++; cs = 94; goto _out;}
334         }}
335         goto st94;
336 tr110:
337 #line 41 "wikitext_ragel.rl"
338         {
339         out->code_point = *p & 0x7f;
340     }
341 #line 459 "wikitext_ragel.rl"
342         {te = p+1;{
343             EMIT(DEFAULT);
344             out->column_stop = out->column_start + 1;
345             {p++; cs = 94; goto _out;}
346         }}
347         goto st94;
348 tr111:
349 #line 408 "wikitext_ragel.rl"
350         {te = p+1;{
351             EMIT(CRLF);
352             out->column_stop = 1;
353             out->line_stop++;
354             {p++; cs = 94; goto _out;}
355         }}
356 #line 41 "wikitext_ragel.rl"
357         {
358         out->code_point = *p & 0x7f;
359     }
360         goto st94;
361 tr115:
362 #line 360 "wikitext_ragel.rl"
363         {te = p+1;{
364             EMIT(QUOT);
365             {p++; cs = 94; goto _out;}
366         }}
367         goto st94;
368 tr116:
369 #line 203 "wikitext_ragel.rl"
370         {te = p+1;{
371             if (out->column_start == 1              ||
372                 last_token_type == OL               ||
373                 last_token_type == UL               ||
374                 last_token_type == BLOCKQUOTE       ||
375                 last_token_type == BLOCKQUOTE_START)
376                 EMIT(OL);
377             else
378                 EMIT(PRINTABLE);
379             {p++; cs = 94; goto _out;}
380         }}
381         goto st94;
382 tr120:
383 #line 216 "wikitext_ragel.rl"
384         {te = p+1;{
385             if (out->column_start == 1              ||
386                 last_token_type == OL               ||
387                 last_token_type == UL               ||
388                 last_token_type == BLOCKQUOTE       ||
389                 last_token_type == BLOCKQUOTE_START)
390                 EMIT(UL);
391             else
392                 EMIT(PRINTABLE);
393             {p++; cs = 94; goto _out;}
394         }}
395         goto st94;
396 tr134:
397 #line 159 "wikitext_ragel.rl"
398         {te = p+1;{
399             EMIT(TT);
400             {p++; cs = 94; goto _out;}
401         }}
402         goto st94;
403 tr136:
404 #line 312 "wikitext_ragel.rl"
405         {te = p+1;{
406             EMIT(SEPARATOR);
407             {p++; cs = 94; goto _out;}
408         }}
409         goto st94;
410 tr138:
411 #line 408 "wikitext_ragel.rl"
412         {te = p;p--;{
413             EMIT(CRLF);
414             out->column_stop = 1;
415             out->line_stop++;
416             {p++; cs = 94; goto _out;}
417         }}
418         goto st94;
419 tr139:
420 #line 408 "wikitext_ragel.rl"
421         {te = p+1;{
422             EMIT(CRLF);
423             out->column_stop = 1;
424             out->line_stop++;
425             {p++; cs = 94; goto _out;}
426         }}
427         goto st94;
428 tr140:
429 #line 191 "wikitext_ragel.rl"
430         {te = p;p--;{
431             if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
432             {
433                 REWIND();
434                 EMIT(PRE);
435             }
436             else
437                 EMIT(SPACE);
438             {p++; cs = 94; goto _out;}
439         }}
440         goto st94;
441 tr142:
442 #line 421 "wikitext_ragel.rl"
443         {te = p;p--;{
444             EMIT(SPECIAL_URI_CHARS);
445             {p++; cs = 94; goto _out;}
446         }}
447         goto st94;
448 tr143:
449 #line 439 "wikitext_ragel.rl"
450         {te = p;p--;{
451             EMIT(PRINTABLE);
452             {p++; cs = 94; goto _out;}
453         }}
454         goto st94;
455 tr144:
456 #line 366 "wikitext_ragel.rl"
457         {te = p;p--;{
458             EMIT(AMP);
459             {p++; cs = 94; goto _out;}
460         }}
461         goto st94;
462 tr148:
463 #line 117 "wikitext_ragel.rl"
464         {te = p;p--;{
465             if (DISTANCE() == 5)
466                 EMIT(STRONG_EM);
467             else if (DISTANCE() == 4)
468             {
469                 p--;
470                 EMIT(STRONG_EM);
471             }
472             else if (DISTANCE() == 3)
473                 EMIT(STRONG);
474             else if (DISTANCE() == 2)
475                 EMIT(EM);
476             else
477                 EMIT(PRINTABLE);
478             {p++; cs = 94; goto _out;}
479         }}
480         goto st94;
481 tr152:
482 #line 117 "wikitext_ragel.rl"
483         {te = p+1;{
484             if (DISTANCE() == 5)
485                 EMIT(STRONG_EM);
486             else if (DISTANCE() == 4)
487             {
488                 p--;
489                 EMIT(STRONG_EM);
490             }
491             else if (DISTANCE() == 3)
492                 EMIT(STRONG);
493             else if (DISTANCE() == 2)
494                 EMIT(EM);
495             else
496                 EMIT(PRINTABLE);
497             {p++; cs = 94; goto _out;}
498         }}
499         goto st94;
500 tr154:
501 #line 288 "wikitext_ragel.rl"
502         {te = p;p--;{
503             EMIT(MAIL);
504             {p++; cs = 94; goto _out;}
505         }}
506         goto st94;
507 tr158:
508 #line 294 "wikitext_ragel.rl"
509         {te = p;p--;{
510             EMIT(PATH);
511             {p++; cs = 94; goto _out;}
512         }}
513         goto st94;
514 tr162:
515 #line 427 "wikitext_ragel.rl"
516         {te = p;p--;{
517             EMIT(ALNUM);
518             {p++; cs = 94; goto _out;}
519         }}
520         goto st94;
521 tr163:
522 #line 372 "wikitext_ragel.rl"
523         {te = p;p--;{
524             EMIT(LESS);
525             {p++; cs = 94; goto _out;}
526         }}
527         goto st94;
528 tr171:
529 #line 229 "wikitext_ragel.rl"
530         {te = p;p--;{
531             if (out->column_start == 1 || last_token_type == BLOCKQUOTE || last_token_type == BLOCKQUOTE_START)
532             {
533                 REWIND();
534                 if (DISTANCE() == 1)
535                     EMIT(H1_START);
536                 else if (DISTANCE() == 2)
537                     EMIT(H2_START);
538                 else if (DISTANCE() == 3)
539                     EMIT(H3_START);
540                 else if (DISTANCE() == 4)
541                     EMIT(H4_START);
542                 else if (DISTANCE() == 5)
543                     EMIT(H5_START);
544                 else if (DISTANCE() == 6)
545                     EMIT(H6_START);
546                 else if (DISTANCE() > 6)
547                 {
548                     p = ts + 6;
549                     EMIT(H6_START);
550                 }
551             }
552             else if (AT_END() || NEXT_CHAR() == '\n' || NEXT_CHAR() == '\r')
553             {
554                 REWIND();
555                 if (DISTANCE() == 1)
556                     EMIT(H1_END);
557                 else if (DISTANCE() == 2)
558                     EMIT(H2_END);
559                 else if (DISTANCE() == 3)
560                     EMIT(H3_END);
561                 else if (DISTANCE() == 4)
562                     EMIT(H4_END);
563                 else if (DISTANCE() == 5)
564                     EMIT(H5_END);
565                 else if (DISTANCE() == 6)
566                     EMIT(H6_END);
567                 else if (DISTANCE() > 6)
568                 {
569                     p -= 6; // will scan the H6 on the next scan
570                     EMIT(PRINTABLE);
571                 }
572             }
573             else
574             {
575                 // note that a H*_END token will never match before a BLOCKQUOTE_END
576                 REWIND();
577                 EMIT(PRINTABLE);
578             }
579             {p++; cs = 94; goto _out;}
580         }}
581         goto st94;
582 tr173:
583 #line 178 "wikitext_ragel.rl"
584         {te = p;p--;{
585             if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
586                 EMIT(BLOCKQUOTE);
587             else
588             {
589                 REWIND();
590                 EMIT(GREATER);
591             }
592             {p++; cs = 94; goto _out;}
593         }}
594         goto st94;
595 tr174:
596 #line 178 "wikitext_ragel.rl"
597         {te = p+1;{
598             if (out->column_start == 1 || last_token_type == BLOCKQUOTE)
599                 EMIT(BLOCKQUOTE);
600             else
601             {
602                 REWIND();
603                 EMIT(GREATER);
604             }
605             {p++; cs = 94; goto _out;}
606         }}
607         goto st94;
608 tr178:
609 #line 282 "wikitext_ragel.rl"
610         {te = p;p--;{
611             EMIT(URI);
612             {p++; cs = 94; goto _out;}
613         }}
614         goto st94;
615 tr192:
616 #line 318 "wikitext_ragel.rl"
617         {te = p;p--;{
618             EMIT(EXT_LINK_START);
619             {p++; cs = 94; goto _out;}
620         }}
621         goto st94;
622 tr193:
623 #line 300 "wikitext_ragel.rl"
624         {te = p+1;{
625             EMIT(LINK_START);
626             {p++; cs = 94; goto _out;}
627         }}
628         goto st94;
629 tr194:
630 #line 324 "wikitext_ragel.rl"
631         {te = p;p--;{
632             EMIT(EXT_LINK_END);
633             {p++; cs = 94; goto _out;}
634         }}
635         goto st94;
636 tr195:
637 #line 306 "wikitext_ragel.rl"
638         {te = p+1;{
639             EMIT(LINK_END);
640             {p++; cs = 94; goto _out;}
641         }}
642         goto st94;
643 tr196:
644 #line 396 "wikitext_ragel.rl"
645         {te = p;p--;{
646             EMIT(LEFT_CURLY);
647             {p++; cs = 94; goto _out;}
648         }}
649         goto st94;
650 tr197:
651 #line 384 "wikitext_ragel.rl"
652         {te = p+1;{
653             EMIT(IMG_START);
654             {p++; cs = 94; goto _out;}
655         }}
656         goto st94;
657 tr198:
658 #line 402 "wikitext_ragel.rl"
659         {te = p;p--;{
660             EMIT(RIGHT_CURLY);
661             {p++; cs = 94; goto _out;}
662         }}
663         goto st94;
664 tr199:
665 #line 390 "wikitext_ragel.rl"
666         {te = p+1;{
667             EMIT(IMG_END);
668             {p++; cs = 94; goto _out;}
669         }}
670         goto st94;
671 st94:
672 #line 1 "wikitext_ragel.rl"
673         {ts = 0;}
674         if ( ++p == pe )
675                 goto _test_eof94;
676 case 94:
677 #line 1 "wikitext_ragel.rl"
678         {ts = p;}
679 #line 671 "wikitext_ragel.c"
680         switch( (*p) ) {
681                 case 10: goto tr111;
682                 case 13: goto tr112;
683                 case 32: goto tr113;
684                 case 33: goto st97;
685                 case 34: goto tr115;
686                 case 35: goto tr116;
687                 case 38: goto tr118;
688                 case 39: goto st100;
689                 case 42: goto tr120;
690                 case 43: goto st98;
691                 case 45: goto tr121;
692                 case 46: goto tr122;
693                 case 47: goto st111;
694                 case 60: goto tr125;
695                 case 61: goto tr126;
696                 case 62: goto tr127;
697                 case 64: goto st98;
698                 case 70: goto tr128;
699                 case 72: goto tr129;
700                 case 77: goto tr130;
701                 case 83: goto tr131;
702                 case 91: goto st140;
703                 case 92: goto st98;
704                 case 93: goto st141;
705                 case 94: goto st98;
706                 case 95: goto tr121;
707                 case 96: goto tr134;
708                 case 102: goto tr128;
709                 case 104: goto tr129;
710                 case 109: goto tr130;
711                 case 115: goto tr131;
712                 case 123: goto st142;
713                 case 124: goto tr136;
714                 case 125: goto st143;
715                 case 126: goto st98;
716                 case 127: goto tr110;
717         }
718         if ( (*p) < 36 ) {
719                 if ( (*p) < -32 ) {
720                         if ( -62 <= (*p) && (*p) <= -33 )
721                                 goto st1;
722                 } else if ( (*p) > -17 ) {
723                         if ( (*p) > -12 ) {
724                                 if ( 1 <= (*p) && (*p) <= 31 )
725                                         goto tr110;
726                         } else if ( (*p) >= -16 )
727                                 goto st4;
728                 } else
729                         goto st2;
730         } else if ( (*p) > 37 ) {
731                 if ( (*p) < 48 ) {
732                         if ( 40 <= (*p) && (*p) <= 44 )
733                                 goto st97;
734                 } else if ( (*p) > 57 ) {
735                         if ( (*p) > 63 ) {
736                                 if ( 65 <= (*p) && (*p) <= 122 )
737                                         goto tr124;
738                         } else if ( (*p) >= 58 )
739                                 goto st97;
740                 } else
741                         goto tr124;
742         } else
743                 goto st98;
744         goto st0;
745 st0:
746 cs = 0;
747         goto _out;
748 st1:
749         if ( ++p == pe )
750                 goto _test_eof1;
751 case 1:
752         if ( (*p) <= -65 )
753                 goto tr0;
754         goto st0;
755 st2:
756         if ( ++p == pe )
757                 goto _test_eof2;
758 case 2:
759         if ( (*p) <= -65 )
760                 goto st3;
761         goto st0;
762 st3:
763         if ( ++p == pe )
764                 goto _test_eof3;
765 case 3:
766         if ( (*p) <= -65 )
767                 goto tr3;
768         goto st0;
769 st4:
770         if ( ++p == pe )
771                 goto _test_eof4;
772 case 4:
773         if ( (*p) <= -65 )
774                 goto st5;
775         goto st0;
776 st5:
777         if ( ++p == pe )
778                 goto _test_eof5;
779 case 5:
780         if ( (*p) <= -65 )
781                 goto st6;
782         goto st0;
783 st6:
784         if ( ++p == pe )
785                 goto _test_eof6;
786 case 6:
787         if ( (*p) <= -65 )
788                 goto tr6;
789         goto st0;
790 tr112:
791 #line 41 "wikitext_ragel.rl"
792         {
793         out->code_point = *p & 0x7f;
794     }
795         goto st95;
796 st95:
797         if ( ++p == pe )
798                 goto _test_eof95;
799 case 95:
800 #line 792 "wikitext_ragel.c"
801         if ( (*p) == 10 )
802                 goto tr139;
803         goto tr138;
804 tr113:
805 #line 36 "wikitext_ragel.rl"
806         {
807         MARK();
808     }
809         goto st96;
810 st96:
811         if ( ++p == pe )
812                 goto _test_eof96;
813 case 96:
814 #line 806 "wikitext_ragel.c"
815         if ( (*p) == 32 )
816                 goto st96;
817         goto tr140;
818 st97:
819         if ( ++p == pe )
820                 goto _test_eof97;
821 case 97:
822         switch( (*p) ) {
823                 case 33: goto st97;
824                 case 44: goto st97;
825                 case 46: goto st97;
826                 case 63: goto st97;
827         }
828         if ( (*p) > 41 ) {
829                 if ( 58 <= (*p) && (*p) <= 59 )
830                         goto st97;
831         } else if ( (*p) >= 40 )
832                 goto st97;
833         goto tr142;
834 st98:
835         if ( ++p == pe )
836                 goto _test_eof98;
837 case 98:
838         switch( (*p) ) {
839                 case 43: goto st98;
840                 case 45: goto st98;
841                 case 47: goto st98;
842                 case 64: goto st98;
843                 case 92: goto st98;
844                 case 126: goto st98;
845         }
846         if ( (*p) > 37 ) {
847                 if ( 94 <= (*p) && (*p) <= 95 )
848                         goto st98;
849         } else if ( (*p) >= 36 )
850                 goto st98;
851         goto tr143;
852 tr118:
853 #line 1 "wikitext_ragel.rl"
854         {te = p+1;}
855         goto st99;
856 st99:
857         if ( ++p == pe )
858                 goto _test_eof99;
859 case 99:
860 #line 852 "wikitext_ragel.c"
861         switch( (*p) ) {
862                 case 35: goto st7;
863                 case 97: goto st13;
864                 case 113: goto st16;
865         }
866         if ( (*p) > 90 ) {
867                 if ( 98 <= (*p) && (*p) <= 122 )
868                         goto st11;
869         } else if ( (*p) >= 65 )
870                 goto st11;
871         goto tr144;
872 st7:
873         if ( ++p == pe )
874                 goto _test_eof7;
875 case 7:
876         switch( (*p) ) {
877                 case 88: goto st9;
878                 case 120: goto st9;
879         }
880         if ( 48 <= (*p) && (*p) <= 57 )
881                 goto st8;
882         goto tr7;
883 st8:
884         if ( ++p == pe )
885                 goto _test_eof8;
886 case 8:
887         if ( (*p) == 59 )
888                 goto tr10;
889         if ( 48 <= (*p) && (*p) <= 57 )
890                 goto st8;
891         goto tr7;
892 st9:
893         if ( ++p == pe )
894                 goto _test_eof9;
895 case 9:
896         if ( (*p) < 65 ) {
897                 if ( 48 <= (*p) && (*p) <= 57 )
898                         goto st10;
899         } else if ( (*p) > 70 ) {
900                 if ( 97 <= (*p) && (*p) <= 102 )
901                         goto st10;
902         } else
903                 goto st10;
904         goto tr7;
905 st10:
906         if ( ++p == pe )
907                 goto _test_eof10;
908 case 10:
909         if ( (*p) == 59 )
910                 goto tr12;
911         if ( (*p) < 65 ) {
912                 if ( 48 <= (*p) && (*p) <= 57 )
913                         goto st10;
914         } else if ( (*p) > 70 ) {
915                 if ( 97 <= (*p) && (*p) <= 102 )
916                         goto st10;
917         } else
918                 goto st10;
919         goto tr7;
920 st11:
921         if ( ++p == pe )
922                 goto _test_eof11;
923 case 11:
924         if ( (*p) == 59 )
925                 goto tr14;
926         if ( (*p) < 65 ) {
927                 if ( 48 <= (*p) && (*p) <= 57 )
928                         goto st12;
929         } else if ( (*p) > 90 ) {
930                 if ( 97 <= (*p) && (*p) <= 122 )
931                         goto st11;
932         } else
933                 goto st11;
934         goto tr7;
935 st12:
936         if ( ++p == pe )
937                 goto _test_eof12;
938 case 12:
939         if ( (*p) == 59 )
940                 goto tr14;
941         if ( 48 <= (*p) && (*p) <= 57 )
942                 goto st12;
943         goto tr7;
944 st13:
945         if ( ++p == pe )
946                 goto _test_eof13;
947 case 13:
948         switch( (*p) ) {
949                 case 59: goto tr14;
950                 case 109: goto st14;
951         }
952         if ( (*p) < 65 ) {
953                 if ( 48 <= (*p) && (*p) <= 57 )
954                         goto st12;
955         } else if ( (*p) > 90 ) {
956                 if ( 97 <= (*p) && (*p) <= 122 )
957                         goto st11;
958         } else
959                 goto st11;
960         goto tr7;
961 st14:
962         if ( ++p == pe )
963                 goto _test_eof14;
964 case 14:
965         switch( (*p) ) {
966                 case 59: goto tr14;
967                 case 112: goto st15;
968         }
969         if ( (*p) < 65 ) {
970                 if ( 48 <= (*p) && (*p) <= 57 )
971                         goto st12;
972         } else if ( (*p) > 90 ) {
973                 if ( 97 <= (*p) && (*p) <= 122 )
974                         goto st11;
975         } else
976                 goto st11;
977         goto tr7;
978 st15:
979         if ( ++p == pe )
980                 goto _test_eof15;
981 case 15:
982         if ( (*p) == 59 )
983                 goto tr18;
984         if ( (*p) < 65 ) {
985                 if ( 48 <= (*p) && (*p) <= 57 )
986                         goto st12;
987         } else if ( (*p) > 90 ) {
988                 if ( 97 <= (*p) && (*p) <= 122 )
989                         goto st11;
990         } else
991                 goto st11;
992         goto tr7;
993 st16:
994         if ( ++p == pe )
995                 goto _test_eof16;
996 case 16:
997         switch( (*p) ) {
998                 case 59: goto tr14;
999                 case 117: goto st17;
1000         }
1001         if ( (*p) < 65 ) {
1002                 if ( 48 <= (*p) && (*p) <= 57 )
1003                         goto st12;
1004         } else if ( (*p) > 90 ) {
1005                 if ( 97 <= (*p) && (*p) <= 122 )
1006                         goto st11;
1007         } else
1008                 goto st11;
1009         goto tr7;
1010 st17:
1011         if ( ++p == pe )
1012                 goto _test_eof17;
1013 case 17:
1014         switch( (*p) ) {
1015                 case 59: goto tr14;
1016                 case 111: goto st18;
1017         }
1018         if ( (*p) < 65 ) {
1019                 if ( 48 <= (*p) && (*p) <= 57 )
1020                         goto st12;
1021         } else if ( (*p) > 90 ) {
1022                 if ( 97 <= (*p) && (*p) <= 122 )
1023                         goto st11;
1024         } else
1025                 goto st11;
1026         goto tr7;
1027 st18:
1028         if ( ++p == pe )
1029                 goto _test_eof18;
1030 case 18:
1031         switch( (*p) ) {
1032                 case 59: goto tr14;
1033                 case 116: goto st19;
1034         }
1035         if ( (*p) < 65 ) {
1036                 if ( 48 <= (*p) && (*p) <= 57 )
1037                         goto st12;
1038         } else if ( (*p) > 90 ) {
1039                 if ( 97 <= (*p) && (*p) <= 122 )
1040                         goto st11;
1041         } else
1042                 goto st11;
1043         goto tr7;
1044 st19:
1045         if ( ++p == pe )
1046                 goto _test_eof19;
1047 case 19:
1048         if ( (*p) == 59 )
1049                 goto tr22;
1050         if ( (*p) < 65 ) {
1051                 if ( 48 <= (*p) && (*p) <= 57 )
1052                         goto st12;
1053         } else if ( (*p) > 90 ) {
1054                 if ( 97 <= (*p) && (*p) <= 122 )
1055                         goto st11;
1056         } else
1057                 goto st11;
1058         goto tr7;
1059 st100:
1060         if ( ++p == pe )
1061                 goto _test_eof100;
1062 case 100:
1063         if ( (*p) == 39 )
1064                 goto st101;
1065         goto tr148;
1066 st101:
1067         if ( ++p == pe )
1068                 goto _test_eof101;
1069 case 101:
1070         if ( (*p) == 39 )
1071                 goto st102;
1072         goto tr148;
1073 st102:
1074         if ( ++p == pe )
1075                 goto _test_eof102;
1076 case 102:
1077         if ( (*p) == 39 )
1078                 goto st103;
1079         goto tr148;
1080 st103:
1081         if ( ++p == pe )
1082                 goto _test_eof103;
1083 case 103:
1084         if ( (*p) == 39 )
1085                 goto tr152;
1086         goto tr148;
1087 tr121:
1088 #line 1 "wikitext_ragel.rl"
1089         {te = p+1;}
1090 #line 439 "wikitext_ragel.rl"
1091         {act = 44;}
1092         goto st104;
1093 st104:
1094         if ( ++p == pe )
1095                 goto _test_eof104;
1096 case 104:
1097 #line 1089 "wikitext_ragel.c"
1098         switch( (*p) ) {
1099                 case 43: goto st98;
1100                 case 45: goto tr121;
1101                 case 47: goto st98;
1102                 case 64: goto tr153;
1103                 case 92: goto st98;
1104                 case 94: goto st98;
1105                 case 95: goto tr121;
1106                 case 126: goto st98;
1107         }
1108         if ( (*p) < 46 ) {
1109                 if ( 36 <= (*p) && (*p) <= 37 )
1110                         goto st98;
1111         } else if ( (*p) > 57 ) {
1112                 if ( (*p) > 90 ) {
1113                         if ( 97 <= (*p) && (*p) <= 122 )
1114                                 goto st20;
1115                 } else if ( (*p) >= 65 )
1116                         goto st20;
1117         } else
1118                 goto st20;
1119         goto tr143;
1120 st20:
1121         if ( ++p == pe )
1122                 goto _test_eof20;
1123 case 20:
1124         switch( (*p) ) {
1125                 case 64: goto st21;
1126                 case 95: goto st20;
1127         }
1128         if ( (*p) < 48 ) {
1129                 if ( 45 <= (*p) && (*p) <= 46 )
1130                         goto st20;
1131         } else if ( (*p) > 57 ) {
1132                 if ( (*p) > 90 ) {
1133                         if ( 97 <= (*p) && (*p) <= 122 )
1134                                 goto st20;
1135                 } else if ( (*p) >= 65 )
1136                         goto st20;
1137         } else
1138                 goto st20;
1139         goto tr23;
1140 st21:
1141         if ( ++p == pe )
1142                 goto _test_eof21;
1143 case 21:
1144         if ( (*p) < 65 ) {
1145                 if ( 48 <= (*p) && (*p) <= 57 )
1146                         goto st22;
1147         } else if ( (*p) > 90 ) {
1148                 if ( 97 <= (*p) && (*p) <= 122 )
1149                         goto st22;
1150         } else
1151                 goto st22;
1152         goto tr23;
1153 st22:
1154         if ( ++p == pe )
1155                 goto _test_eof22;
1156 case 22:
1157         if ( (*p) == 46 )
1158                 goto st23;
1159         if ( (*p) < 65 ) {
1160                 if ( 48 <= (*p) && (*p) <= 57 )
1161                         goto st22;
1162         } else if ( (*p) > 90 ) {
1163                 if ( 97 <= (*p) && (*p) <= 122 )
1164                         goto st22;
1165         } else
1166                 goto st22;
1167         goto tr23;
1168 st23:
1169         if ( ++p == pe )
1170                 goto _test_eof23;
1171 case 23:
1172         if ( (*p) < 65 ) {
1173                 if ( 48 <= (*p) && (*p) <= 57 )
1174                         goto st22;
1175         } else if ( (*p) > 90 ) {
1176                 if ( 97 <= (*p) && (*p) <= 122 )
1177                         goto st24;
1178         } else
1179                 goto st24;
1180         goto tr23;
1181 st24:
1182         if ( ++p == pe )
1183                 goto _test_eof24;
1184 case 24:
1185         if ( (*p) == 46 )
1186                 goto st23;
1187         if ( (*p) < 65 ) {
1188                 if ( 48 <= (*p) && (*p) <= 57 )
1189                         goto st22;
1190         } else if ( (*p) > 90 ) {
1191                 if ( 97 <= (*p) && (*p) <= 122 )
1192                         goto tr29;
1193         } else
1194                 goto tr29;
1195         goto tr23;
1196 tr29:
1197 #line 1 "wikitext_ragel.rl"
1198         {te = p+1;}
1199 #line 288 "wikitext_ragel.rl"
1200         {act = 21;}
1201         goto st105;
1202 st105:
1203         if ( ++p == pe )
1204                 goto _test_eof105;
1205 case 105:
1206 #line 1198 "wikitext_ragel.c"
1207         if ( (*p) == 46 )
1208                 goto st23;
1209         if ( (*p) < 65 ) {
1210                 if ( 48 <= (*p) && (*p) <= 57 )
1211                         goto st22;
1212         } else if ( (*p) > 90 ) {
1213                 if ( 97 <= (*p) && (*p) <= 122 )
1214                         goto tr155;
1215         } else
1216                 goto tr155;
1217         goto tr154;
1218 tr155:
1219 #line 1 "wikitext_ragel.rl"
1220         {te = p+1;}
1221 #line 288 "wikitext_ragel.rl"
1222         {act = 21;}
1223         goto st106;
1224 st106:
1225         if ( ++p == pe )
1226                 goto _test_eof106;
1227 case 106:
1228 #line 1220 "wikitext_ragel.c"
1229         if ( (*p) == 46 )
1230                 goto st23;
1231         if ( (*p) < 65 ) {
1232                 if ( 48 <= (*p) && (*p) <= 57 )
1233                         goto st22;
1234         } else if ( (*p) > 90 ) {
1235                 if ( 97 <= (*p) && (*p) <= 122 )
1236                         goto tr156;
1237         } else
1238                 goto tr156;
1239         goto tr154;
1240 tr156:
1241 #line 1 "wikitext_ragel.rl"
1242         {te = p+1;}
1243 #line 288 "wikitext_ragel.rl"
1244         {act = 21;}
1245         goto st107;
1246 st107:
1247         if ( ++p == pe )
1248                 goto _test_eof107;
1249 case 107:
1250 #line 1242 "wikitext_ragel.c"
1251         if ( (*p) == 46 )
1252                 goto st23;
1253         if ( (*p) < 65 ) {
1254                 if ( 48 <= (*p) && (*p) <= 57 )
1255                         goto st22;
1256         } else if ( (*p) > 90 ) {
1257                 if ( 97 <= (*p) && (*p) <= 122 )
1258                         goto tr157;
1259         } else
1260                 goto tr157;
1261         goto tr154;
1262 tr157:
1263 #line 1 "wikitext_ragel.rl"
1264         {te = p+1;}
1265 #line 288 "wikitext_ragel.rl"
1266         {act = 21;}
1267         goto st108;
1268 st108:
1269         if ( ++p == pe )
1270                 goto _test_eof108;
1271 case 108:
1272 #line 1264 "wikitext_ragel.c"
1273         if ( (*p) == 46 )
1274                 goto st23;
1275         if ( (*p) < 65 ) {
1276                 if ( 48 <= (*p) && (*p) <= 57 )
1277                         goto st22;
1278         } else if ( (*p) > 90 ) {
1279                 if ( 97 <= (*p) && (*p) <= 122 )
1280                         goto st22;
1281         } else
1282                 goto st22;
1283         goto tr154;
1284 tr153:
1285 #line 1 "wikitext_ragel.rl"
1286         {te = p+1;}
1287 #line 439 "wikitext_ragel.rl"
1288         {act = 44;}
1289         goto st109;
1290 st109:
1291         if ( ++p == pe )
1292                 goto _test_eof109;
1293 case 109:
1294 #line 1286 "wikitext_ragel.c"
1295         switch( (*p) ) {
1296                 case 43: goto st98;
1297                 case 45: goto st98;
1298                 case 47: goto st98;
1299                 case 64: goto st98;
1300                 case 92: goto st98;
1301                 case 126: goto st98;
1302         }
1303         if ( (*p) < 65 ) {
1304                 if ( (*p) > 37 ) {
1305                         if ( 48 <= (*p) && (*p) <= 57 )
1306                                 goto st22;
1307                 } else if ( (*p) >= 36 )
1308                         goto st98;
1309         } else if ( (*p) > 90 ) {
1310                 if ( (*p) > 95 ) {
1311                         if ( 97 <= (*p) && (*p) <= 122 )
1312                                 goto st22;
1313                 } else if ( (*p) >= 94 )
1314                         goto st98;
1315         } else
1316                 goto st22;
1317         goto tr143;
1318 tr122:
1319 #line 1 "wikitext_ragel.rl"
1320         {te = p+1;}
1321 #line 421 "wikitext_ragel.rl"
1322         {act = 42;}
1323         goto st110;
1324 st110:
1325         if ( ++p == pe )
1326                 goto _test_eof110;
1327 case 110:
1328 #line 1320 "wikitext_ragel.c"
1329         switch( (*p) ) {
1330                 case 33: goto st97;
1331                 case 44: goto st97;
1332                 case 45: goto st20;
1333                 case 46: goto tr122;
1334                 case 63: goto st97;
1335                 case 64: goto st21;
1336                 case 95: goto st20;
1337         }
1338         if ( (*p) < 58 ) {
1339                 if ( (*p) > 41 ) {
1340                         if ( 48 <= (*p) && (*p) <= 57 )
1341                                 goto st20;
1342                 } else if ( (*p) >= 40 )
1343                         goto st97;
1344         } else if ( (*p) > 59 ) {
1345                 if ( (*p) > 90 ) {
1346                         if ( 97 <= (*p) && (*p) <= 122 )
1347                                 goto st20;
1348                 } else if ( (*p) >= 65 )
1349                         goto st20;
1350         } else
1351                 goto st97;
1352         goto tr142;
1353 st111:
1354         if ( ++p == pe )
1355                 goto _test_eof111;
1356 case 111:
1357         switch( (*p) ) {
1358                 case 43: goto st98;
1359                 case 45: goto st112;
1360                 case 47: goto st98;
1361                 case 64: goto st98;
1362                 case 92: goto st98;
1363                 case 94: goto st98;
1364                 case 95: goto st112;
1365                 case 126: goto st98;
1366         }
1367         if ( (*p) < 46 ) {
1368                 if ( 36 <= (*p) && (*p) <= 37 )
1369                         goto st98;
1370         } else if ( (*p) > 57 ) {
1371                 if ( (*p) > 90 ) {
1372                         if ( 97 <= (*p) && (*p) <= 122 )
1373                                 goto st113;
1374                 } else if ( (*p) >= 65 )
1375                         goto st113;
1376         } else
1377                 goto st113;
1378         goto tr158;
1379 st112:
1380         if ( ++p == pe )
1381                 goto _test_eof112;
1382 case 112:
1383         switch( (*p) ) {
1384                 case 43: goto st98;
1385                 case 45: goto st112;
1386                 case 47: goto st111;
1387                 case 64: goto st98;
1388                 case 92: goto st98;
1389                 case 94: goto st98;
1390                 case 95: goto st112;
1391                 case 126: goto st98;
1392         }
1393         if ( (*p) < 46 ) {
1394                 if ( 36 <= (*p) && (*p) <= 37 )
1395                         goto st98;
1396         } else if ( (*p) > 57 ) {
1397                 if ( (*p) > 90 ) {
1398                         if ( 97 <= (*p) && (*p) <= 122 )
1399                                 goto st113;
1400                 } else if ( (*p) >= 65 )
1401                         goto st113;
1402         } else
1403                 goto st113;
1404         goto tr158;
1405 st113:
1406         if ( ++p == pe )
1407                 goto _test_eof113;
1408 case 113:
1409         switch( (*p) ) {
1410                 case 47: goto st114;
1411                 case 95: goto st113;
1412         }
1413         if ( (*p) < 65 ) {
1414                 if ( 45 <= (*p) && (*p) <= 57 )
1415                         goto st113;
1416         } else if ( (*p) > 90 ) {
1417                 if ( 97 <= (*p) && (*p) <= 122 )
1418                         goto st113;
1419         } else
1420                 goto st113;
1421         goto tr158;
1422 st114:
1423         if ( ++p == pe )
1424                 goto _test_eof114;
1425 case 114:
1426         if ( (*p) == 95 )
1427                 goto st113;
1428         if ( (*p) < 48 ) {
1429                 if ( 45 <= (*p) && (*p) <= 46 )
1430                         goto st113;
1431         } else if ( (*p) > 57 ) {
1432                 if ( (*p) > 90 ) {
1433                         if ( 97 <= (*p) && (*p) <= 122 )
1434                                 goto st113;
1435                 } else if ( (*p) >= 65 )
1436                         goto st113;
1437         } else
1438                 goto st113;
1439         goto tr158;
1440 tr124:
1441 #line 1 "wikitext_ragel.rl"
1442         {te = p+1;}
1443 #line 427 "wikitext_ragel.rl"
1444         {act = 43;}
1445         goto st115;
1446 st115:
1447         if ( ++p == pe )
1448                 goto _test_eof115;
1449 case 115:
1450 #line 1442 "wikitext_ragel.c"
1451         switch( (*p) ) {
1452                 case 64: goto st21;
1453                 case 95: goto st20;
1454         }
1455         if ( (*p) < 48 ) {
1456                 if ( 45 <= (*p) && (*p) <= 46 )
1457                         goto st20;
1458         } else if ( (*p) > 57 ) {
1459                 if ( (*p) > 90 ) {
1460                         if ( 97 <= (*p) && (*p) <= 122 )
1461                                 goto tr124;
1462                 } else if ( (*p) >= 65 )
1463                         goto tr124;
1464         } else
1465                 goto tr124;
1466         goto tr162;
1467 tr125:
1468 #line 1 "wikitext_ragel.rl"
1469         {te = p+1;}
1470         goto st116;
1471 st116:
1472         if ( ++p == pe )
1473                 goto _test_eof116;
1474 case 116:
1475 #line 1467 "wikitext_ragel.c"
1476         switch( (*p) ) {
1477                 case 47: goto st25;
1478                 case 66: goto st55;
1479                 case 69: goto st65;
1480                 case 78: goto st67;
1481                 case 80: goto st73;
1482                 case 83: goto st76;
1483                 case 84: goto st82;
1484                 case 98: goto st55;
1485                 case 101: goto st65;
1486                 case 110: goto st67;
1487                 case 112: goto st73;
1488                 case 115: goto st76;
1489                 case 116: goto st82;
1490         }
1491         goto tr163;
1492 st25:
1493         if ( ++p == pe )
1494                 goto _test_eof25;
1495 case 25:
1496         switch( (*p) ) {
1497                 case 66: goto st26;
1498                 case 69: goto st36;
1499                 case 78: goto st38;
1500                 case 80: goto st44;
1501                 case 83: goto st47;
1502                 case 84: goto st53;
1503                 case 98: goto st26;
1504                 case 101: goto st36;
1505                 case 110: goto st38;
1506                 case 112: goto st44;
1507                 case 115: goto st47;
1508                 case 116: goto st53;
1509         }
1510         goto tr30;
1511 st26:
1512         if ( ++p == pe )
1513                 goto _test_eof26;
1514 case 26:
1515         switch( (*p) ) {
1516                 case 76: goto st27;
1517                 case 108: goto st27;
1518         }
1519         goto tr30;
1520 st27:
1521         if ( ++p == pe )
1522                 goto _test_eof27;
1523 case 27:
1524         switch( (*p) ) {
1525                 case 79: goto st28;
1526                 case 111: goto st28;
1527         }
1528         goto tr30;
1529 st28:
1530         if ( ++p == pe )
1531                 goto _test_eof28;
1532 case 28:
1533         switch( (*p) ) {
1534                 case 67: goto st29;
1535                 case 99: goto st29;
1536         }
1537         goto tr30;
1538 st29:
1539         if ( ++p == pe )
1540                 goto _test_eof29;
1541 case 29:
1542         switch( (*p) ) {
1543                 case 75: goto st30;
1544                 case 107: goto st30;
1545         }
1546         goto tr30;
1547 st30:
1548         if ( ++p == pe )
1549                 goto _test_eof30;
1550 case 30:
1551         switch( (*p) ) {
1552                 case 81: goto st31;
1553                 case 113: goto st31;
1554         }
1555         goto tr30;
1556 st31:
1557         if ( ++p == pe )
1558                 goto _test_eof31;
1559 case 31:
1560         switch( (*p) ) {
1561                 case 85: goto st32;
1562                 case 117: goto st32;
1563         }
1564         goto tr30;
1565 st32:
1566         if ( ++p == pe )
1567                 goto _test_eof32;
1568 case 32:
1569         switch( (*p) ) {
1570                 case 79: goto st33;
1571                 case 111: goto st33;
1572         }
1573         goto tr30;
1574 st33:
1575         if ( ++p == pe )
1576                 goto _test_eof33;
1577 case 33:
1578         switch( (*p) ) {
1579                 case 84: goto st34;
1580                 case 116: goto st34;
1581         }
1582         goto tr30;
1583 st34:
1584         if ( ++p == pe )
1585                 goto _test_eof34;
1586 case 34:
1587         switch( (*p) ) {
1588                 case 69: goto st35;
1589                 case 101: goto st35;
1590         }
1591         goto tr30;
1592 st35:
1593         if ( ++p == pe )
1594                 goto _test_eof35;
1595 case 35:
1596         if ( (*p) == 62 )
1597                 goto tr46;
1598         goto tr30;
1599 st36:
1600         if ( ++p == pe )
1601                 goto _test_eof36;
1602 case 36:
1603         switch( (*p) ) {
1604                 case 77: goto st37;
1605                 case 109: goto st37;
1606         }
1607         goto tr30;
1608 st37:
1609         if ( ++p == pe )
1610                 goto _test_eof37;
1611 case 37:
1612         if ( (*p) == 62 )
1613                 goto tr48;
1614         goto tr30;
1615 st38:
1616         if ( ++p == pe )
1617                 goto _test_eof38;
1618 case 38:
1619         switch( (*p) ) {
1620                 case 79: goto st39;
1621                 case 111: goto st39;
1622         }
1623         goto tr30;
1624 st39:
1625         if ( ++p == pe )
1626                 goto _test_eof39;
1627 case 39:
1628         switch( (*p) ) {
1629                 case 87: goto st40;
1630                 case 119: goto st40;
1631         }
1632         goto tr30;
1633 st40:
1634         if ( ++p == pe )
1635                 goto _test_eof40;
1636 case 40:
1637         switch( (*p) ) {
1638                 case 73: goto st41;
1639                 case 105: goto st41;
1640         }
1641         goto tr30;
1642 st41:
1643         if ( ++p == pe )
1644                 goto _test_eof41;
1645 case 41:
1646         switch( (*p) ) {
1647                 case 75: goto st42;
1648                 case 107: goto st42;
1649         }
1650         goto tr30;
1651 st42:
1652         if ( ++p == pe )
1653                 goto _test_eof42;
1654 case 42:
1655         switch( (*p) ) {
1656                 case 73: goto st43;
1657                 case 105: goto st43;
1658         }
1659         goto tr30;
1660 st43:
1661         if ( ++p == pe )
1662                 goto _test_eof43;
1663 case 43:
1664         if ( (*p) == 62 )
1665                 goto tr54;
1666         goto tr30;
1667 st44:
1668         if ( ++p == pe )
1669                 goto _test_eof44;
1670 case 44:
1671         switch( (*p) ) {
1672                 case 82: goto st45;
1673                 case 114: goto st45;
1674         }
1675         goto tr30;
1676 st45:
1677         if ( ++p == pe )
1678                 goto _test_eof45;
1679 case 45:
1680         switch( (*p) ) {
1681                 case 69: goto st46;
1682                 case 101: goto st46;
1683         }
1684         goto tr30;
1685 st46:
1686         if ( ++p == pe )
1687                 goto _test_eof46;
1688 case 46:
1689         if ( (*p) == 62 )
1690                 goto tr57;
1691         goto tr30;
1692 st47:
1693         if ( ++p == pe )
1694                 goto _test_eof47;
1695 case 47:
1696         switch( (*p) ) {
1697                 case 84: goto st48;
1698                 case 116: goto st48;
1699         }
1700         goto tr30;
1701 st48:
1702         if ( ++p == pe )
1703                 goto _test_eof48;
1704 case 48:
1705         switch( (*p) ) {
1706                 case 82: goto st49;
1707                 case 114: goto st49;
1708         }
1709         goto tr30;
1710 st49:
1711         if ( ++p == pe )
1712                 goto _test_eof49;
1713 case 49:
1714         switch( (*p) ) {
1715                 case 79: goto st50;
1716                 case 111: goto st50;
1717         }
1718         goto tr30;
1719 st50:
1720         if ( ++p == pe )
1721                 goto _test_eof50;
1722 case 50:
1723         switch( (*p) ) {
1724                 case 78: goto st51;
1725                 case 110: goto st51;
1726         }
1727         goto tr30;
1728 st51:
1729         if ( ++p == pe )
1730                 goto _test_eof51;
1731 case 51:
1732         switch( (*p) ) {
1733                 case 71: goto st52;
1734                 case 103: goto st52;
1735         }
1736         goto tr30;
1737 st52:
1738         if ( ++p == pe )
1739                 goto _test_eof52;
1740 case 52:
1741         if ( (*p) == 62 )
1742                 goto tr63;
1743         goto tr30;
1744 st53:
1745         if ( ++p == pe )
1746                 goto _test_eof53;
1747 case 53:
1748         switch( (*p) ) {
1749                 case 84: goto st54;
1750                 case 116: goto st54;
1751         }
1752         goto tr30;
1753 st54:
1754         if ( ++p == pe )
1755                 goto _test_eof54;
1756 case 54:
1757         if ( (*p) == 62 )
1758                 goto tr65;
1759         goto tr30;
1760 st55:
1761         if ( ++p == pe )
1762                 goto _test_eof55;
1763 case 55:
1764         switch( (*p) ) {
1765                 case 76: goto st56;
1766                 case 108: goto st56;
1767         }
1768         goto tr30;
1769 st56:
1770         if ( ++p == pe )
1771                 goto _test_eof56;
1772 case 56:
1773         switch( (*p) ) {
1774                 case 79: goto st57;
1775                 case 111: goto st57;
1776         }
1777         goto tr30;
1778 st57:
1779         if ( ++p == pe )
1780                 goto _test_eof57;
1781 case 57:
1782         switch( (*p) ) {
1783                 case 67: goto st58;
1784                 case 99: goto st58;
1785         }
1786         goto tr30;
1787 st58:
1788         if ( ++p == pe )
1789                 goto _test_eof58;
1790 case 58:
1791         switch( (*p) ) {
1792                 case 75: goto st59;
1793                 case 107: goto st59;
1794         }
1795         goto tr30;
1796 st59:
1797         if ( ++p == pe )
1798                 goto _test_eof59;
1799 case 59:
1800         switch( (*p) ) {
1801                 case 81: goto st60;
1802                 case 113: goto st60;
1803         }
1804         goto tr30;
1805 st60:
1806         if ( ++p == pe )
1807                 goto _test_eof60;
1808 case 60:
1809         switch( (*p) ) {
1810                 case 85: goto st61;
1811                 case 117: goto st61;
1812         }
1813         goto tr30;
1814 st61:
1815         if ( ++p == pe )
1816                 goto _test_eof61;
1817 case 61:
1818         switch( (*p) ) {
1819                 case 79: goto st62;
1820                 case 111: goto st62;
1821         }
1822         goto tr30;
1823 st62:
1824         if ( ++p == pe )
1825                 goto _test_eof62;
1826 case 62:
1827         switch( (*p) ) {
1828                 case 84: goto st63;
1829                 case 116: goto st63;
1830         }
1831         goto tr30;
1832 st63:
1833         if ( ++p == pe )
1834                 goto _test_eof63;
1835 case 63:
1836         switch( (*p) ) {
1837                 case 69: goto st64;
1838                 case 101: goto st64;
1839         }
1840         goto tr30;
1841 st64:
1842         if ( ++p == pe )
1843                 goto _test_eof64;
1844 case 64:
1845         if ( (*p) == 62 )
1846                 goto tr75;
1847         goto tr30;
1848 st65:
1849         if ( ++p == pe )
1850                 goto _test_eof65;
1851 case 65:
1852         switch( (*p) ) {
1853                 case 77: goto st66;
1854                 case 109: goto st66;
1855         }
1856         goto tr30;
1857 st66:
1858         if ( ++p == pe )
1859                 goto _test_eof66;
1860 case 66:
1861         if ( (*p) == 62 )
1862                 goto tr77;
1863         goto tr30;
1864 st67:
1865         if ( ++p == pe )
1866                 goto _test_eof67;
1867 case 67:
1868         switch( (*p) ) {
1869                 case 79: goto st68;
1870                 case 111: goto st68;
1871         }
1872         goto tr30;
1873 st68:
1874         if ( ++p == pe )
1875                 goto _test_eof68;
1876 case 68:
1877         switch( (*p) ) {
1878                 case 87: goto st69;
1879                 case 119: goto st69;
1880         }
1881         goto tr30;
1882 st69:
1883         if ( ++p == pe )
1884                 goto _test_eof69;
1885 case 69:
1886         switch( (*p) ) {
1887                 case 73: goto st70;
1888                 case 105: goto st70;
1889         }
1890         goto tr30;
1891 st70:
1892         if ( ++p == pe )
1893                 goto _test_eof70;
1894 case 70:
1895         switch( (*p) ) {
1896                 case 75: goto st71;
1897                 case 107: goto st71;
1898         }
1899         goto tr30;
1900 st71:
1901         if ( ++p == pe )
1902                 goto _test_eof71;
1903 case 71:
1904         switch( (*p) ) {
1905                 case 73: goto st72;
1906                 case 105: goto st72;
1907         }
1908         goto tr30;
1909 st72:
1910         if ( ++p == pe )
1911                 goto _test_eof72;
1912 case 72:
1913         if ( (*p) == 62 )
1914                 goto tr83;
1915         goto tr30;
1916 st73:
1917         if ( ++p == pe )
1918                 goto _test_eof73;
1919 case 73:
1920         switch( (*p) ) {
1921                 case 82: goto st74;
1922                 case 114: goto st74;
1923         }
1924         goto tr30;
1925 st74:
1926         if ( ++p == pe )
1927                 goto _test_eof74;
1928 case 74:
1929         switch( (*p) ) {
1930                 case 69: goto st75;
1931                 case 101: goto st75;
1932         }
1933         goto tr30;
1934 st75:
1935         if ( ++p == pe )
1936                 goto _test_eof75;
1937 case 75:
1938         if ( (*p) == 62 )
1939                 goto tr86;
1940         goto tr30;
1941 st76:
1942         if ( ++p == pe )
1943                 goto _test_eof76;
1944 case 76:
1945         switch( (*p) ) {
1946                 case 84: goto st77;
1947                 case 116: goto st77;
1948         }
1949         goto tr30;
1950 st77:
1951         if ( ++p == pe )
1952                 goto _test_eof77;
1953 case 77:
1954         switch( (*p) ) {
1955                 case 82: goto st78;
1956                 case 114: goto st78;
1957         }
1958         goto tr30;
1959 st78:
1960         if ( ++p == pe )
1961                 goto _test_eof78;
1962 case 78:
1963         switch( (*p) ) {
1964                 case 79: goto st79;
1965                 case 111: goto st79;
1966         }
1967         goto tr30;
1968 st79:
1969         if ( ++p == pe )
1970                 goto _test_eof79;
1971 case 79:
1972         switch( (*p) ) {
1973                 case 78: goto st80;
1974                 case 110: goto st80;
1975         }
1976         goto tr30;
1977 st80:
1978         if ( ++p == pe )
1979                 goto _test_eof80;
1980 case 80:
1981         switch( (*p) ) {
1982                 case 71: goto st81;
1983                 case 103: goto st81;
1984         }
1985         goto tr30;
1986 st81:
1987         if ( ++p == pe )
1988                 goto _test_eof81;
1989 case 81:
1990         if ( (*p) == 62 )
1991                 goto tr92;
1992         goto tr30;
1993 st82:
1994         if ( ++p == pe )
1995                 goto _test_eof82;
1996 case 82:
1997         switch( (*p) ) {
1998                 case 84: goto st83;
1999                 case 116: goto st83;
2000         }
2001         goto tr30;
2002 st83:
2003         if ( ++p == pe )
2004                 goto _test_eof83;
2005 case 83:
2006         if ( (*p) == 62 )
2007                 goto tr94;
2008         goto tr30;
2009 tr126:
2010 #line 36 "wikitext_ragel.rl"
2011         {
2012         MARK();
2013     }
2014         goto st117;
2015 st117:
2016         if ( ++p == pe )
2017                 goto _test_eof117;
2018 case 117:
2019 #line 2011 "wikitext_ragel.c"
2020         switch( (*p) ) {
2021                 case 32: goto st118;
2022                 case 61: goto tr126;
2023         }
2024         goto tr171;
2025 st118:
2026         if ( ++p == pe )
2027                 goto _test_eof118;
2028 case 118:
2029         if ( (*p) == 32 )
2030                 goto st118;
2031         goto tr171;
2032 tr127:
2033 #line 36 "wikitext_ragel.rl"
2034         {
2035         MARK();
2036     }
2037         goto st119;
2038 st119:
2039         if ( ++p == pe )
2040                 goto _test_eof119;
2041 case 119:
2042 #line 2034 "wikitext_ragel.c"
2043         if ( (*p) == 32 )
2044                 goto tr174;
2045         goto tr173;
2046 tr128:
2047 #line 1 "wikitext_ragel.rl"
2048         {te = p+1;}
2049 #line 427 "wikitext_ragel.rl"
2050         {act = 43;}
2051         goto st120;
2052 st120:
2053         if ( ++p == pe )
2054                 goto _test_eof120;
2055 case 120:
2056 #line 2048 "wikitext_ragel.c"
2057         switch( (*p) ) {
2058                 case 64: goto st21;
2059                 case 84: goto tr175;
2060                 case 95: goto st20;
2061                 case 116: goto tr175;
2062         }
2063         if ( (*p) < 48 ) {
2064                 if ( 45 <= (*p) && (*p) <= 46 )
2065                         goto st20;
2066         } else if ( (*p) > 57 ) {
2067                 if ( (*p) > 90 ) {
2068                         if ( 97 <= (*p) && (*p) <= 122 )
2069                                 goto tr124;
2070                 } else if ( (*p) >= 65 )
2071                         goto tr124;
2072         } else
2073                 goto tr124;
2074         goto tr162;
2075 tr175:
2076 #line 1 "wikitext_ragel.rl"
2077         {te = p+1;}
2078 #line 427 "wikitext_ragel.rl"
2079         {act = 43;}
2080         goto st121;
2081 st121:
2082         if ( ++p == pe )
2083                 goto _test_eof121;
2084 case 121:
2085 #line 2077 "wikitext_ragel.c"
2086         switch( (*p) ) {
2087                 case 64: goto st21;
2088                 case 80: goto tr176;
2089                 case 95: goto st20;
2090                 case 112: goto tr176;
2091         }
2092         if ( (*p) < 48 ) {
2093                 if ( 45 <= (*p) && (*p) <= 46 )
2094                         goto st20;
2095         } else if ( (*p) > 57 ) {
2096                 if ( (*p) > 90 ) {
2097                         if ( 97 <= (*p) && (*p) <= 122 )
2098                                 goto tr124;
2099                 } else if ( (*p) >= 65 )
2100                         goto tr124;
2101         } else
2102                 goto tr124;
2103         goto tr162;
2104 tr176:
2105 #line 1 "wikitext_ragel.rl"
2106         {te = p+1;}
2107 #line 427 "wikitext_ragel.rl"
2108         {act = 43;}
2109         goto st122;
2110 st122:
2111         if ( ++p == pe )
2112                 goto _test_eof122;
2113 case 122:
2114 #line 2106 "wikitext_ragel.c"
2115         switch( (*p) ) {
2116                 case 58: goto st84;
2117                 case 64: goto st21;
2118                 case 95: goto st20;
2119         }
2120         if ( (*p) < 48 ) {
2121                 if ( 45 <= (*p) && (*p) <= 46 )
2122                         goto st20;
2123         } else if ( (*p) > 57 ) {
2124                 if ( (*p) > 90 ) {
2125                         if ( 97 <= (*p) && (*p) <= 122 )
2126                                 goto tr124;
2127                 } else if ( (*p) >= 65 )
2128                         goto tr124;
2129         } else
2130                 goto tr124;
2131         goto tr162;
2132 st84:
2133         if ( ++p == pe )
2134                 goto _test_eof84;
2135 case 84:
2136         if ( (*p) == 47 )
2137                 goto st85;
2138         goto tr95;
2139 st85:
2140         if ( ++p == pe )
2141                 goto _test_eof85;
2142 case 85:
2143         if ( (*p) == 47 )
2144                 goto st86;
2145         goto tr95;
2146 st86:
2147         if ( ++p == pe )
2148                 goto _test_eof86;
2149 case 86:
2150         switch( (*p) ) {
2151                 case 45: goto tr98;
2152                 case 61: goto tr98;
2153                 case 95: goto tr98;
2154                 case 126: goto tr98;
2155         }
2156         if ( (*p) < 47 ) {
2157                 if ( (*p) > 40 ) {
2158                         if ( 42 <= (*p) && (*p) <= 43 )
2159                                 goto tr98;
2160                 } else if ( (*p) >= 35 )
2161                         goto tr98;
2162         } else if ( (*p) > 57 ) {
2163                 if ( (*p) > 90 ) {
2164                         if ( 97 <= (*p) && (*p) <= 122 )
2165                                 goto tr98;
2166                 } else if ( (*p) >= 64 )
2167                         goto tr98;
2168         } else
2169                 goto tr98;
2170         goto tr95;
2171 tr98:
2172 #line 1 "wikitext_ragel.rl"
2173         {te = p+1;}
2174         goto st123;
2175 st123:
2176         if ( ++p == pe )
2177                 goto _test_eof123;
2178 case 123:
2179 #line 2171 "wikitext_ragel.c"
2180         switch( (*p) ) {
2181                 case 33: goto st87;
2182                 case 41: goto st87;
2183                 case 44: goto st87;
2184                 case 46: goto st87;
2185                 case 61: goto tr98;
2186                 case 63: goto st87;
2187                 case 95: goto tr98;
2188                 case 126: goto tr98;
2189         }
2190         if ( (*p) < 58 ) {
2191                 if ( 35 <= (*p) && (*p) <= 57 )
2192                         goto tr98;
2193         } else if ( (*p) > 59 ) {
2194                 if ( (*p) > 90 ) {
2195                         if ( 97 <= (*p) && (*p) <= 122 )
2196                                 goto tr98;
2197                 } else if ( (*p) >= 64 )
2198                         goto tr98;
2199         } else
2200                 goto st87;
2201         goto tr178;
2202 st87:
2203         if ( ++p == pe )
2204                 goto _test_eof87;
2205 case 87:
2206         switch( (*p) ) {
2207                 case 33: goto st87;
2208                 case 41: goto st87;
2209                 case 44: goto st87;
2210                 case 46: goto st87;
2211                 case 61: goto tr98;
2212                 case 63: goto st87;
2213                 case 95: goto tr98;
2214                 case 126: goto tr98;
2215         }
2216         if ( (*p) < 58 ) {
2217                 if ( 35 <= (*p) && (*p) <= 57 )
2218                         goto tr98;
2219         } else if ( (*p) > 59 ) {
2220                 if ( (*p) > 90 ) {
2221                         if ( 97 <= (*p) && (*p) <= 122 )
2222                                 goto tr98;
2223                 } else if ( (*p) >= 64 )
2224                         goto tr98;
2225         } else
2226                 goto st87;
2227         goto tr99;
2228 tr129:
2229 #line 1 "wikitext_ragel.rl"
2230         {te = p+1;}
2231 #line 427 "wikitext_ragel.rl"
2232         {act = 43;}
2233         goto st124;
2234 st124:
2235         if ( ++p == pe )
2236                 goto _test_eof124;
2237 case 124:
2238 #line 2230 "wikitext_ragel.c"
2239         switch( (*p) ) {
2240                 case 64: goto st21;
2241                 case 84: goto tr179;
2242                 case 95: goto st20;
2243                 case 116: goto tr179;
2244         }
2245         if ( (*p) < 48 ) {
2246                 if ( 45 <= (*p) && (*p) <= 46 )
2247                         goto st20;
2248         } else if ( (*p) > 57 ) {
2249                 if ( (*p) > 90 ) {
2250                         if ( 97 <= (*p) && (*p) <= 122 )
2251                                 goto tr124;
2252                 } else if ( (*p) >= 65 )
2253                         goto tr124;
2254         } else
2255                 goto tr124;
2256         goto tr162;
2257 tr179:
2258 #line 1 "wikitext_ragel.rl"
2259         {te = p+1;}
2260 #line 427 "wikitext_ragel.rl"
2261         {act = 43;}
2262         goto st125;
2263 st125:
2264         if ( ++p == pe )
2265                 goto _test_eof125;
2266 case 125:
2267 #line 2259 "wikitext_ragel.c"
2268         switch( (*p) ) {
2269                 case 64: goto st21;
2270                 case 84: goto tr180;
2271                 case 95: goto st20;
2272                 case 116: goto tr180;
2273         }
2274         if ( (*p) < 48 ) {
2275                 if ( 45 <= (*p) && (*p) <= 46 )
2276                         goto st20;
2277         } else if ( (*p) > 57 ) {
2278                 if ( (*p) > 90 ) {
2279                         if ( 97 <= (*p) && (*p) <= 122 )
2280                                 goto tr124;
2281                 } else if ( (*p) >= 65 )
2282                         goto tr124;
2283         } else
2284                 goto tr124;
2285         goto tr162;
2286 tr180:
2287 #line 1 "wikitext_ragel.rl"
2288         {te = p+1;}
2289 #line 427 "wikitext_ragel.rl"
2290         {act = 43;}
2291         goto st126;
2292 st126:
2293         if ( ++p == pe )
2294                 goto _test_eof126;
2295 case 126:
2296 #line 2288 "wikitext_ragel.c"
2297         switch( (*p) ) {
2298                 case 64: goto st21;
2299                 case 80: goto tr181;
2300                 case 95: goto st20;
2301                 case 112: goto tr181;
2302         }
2303         if ( (*p) < 48 ) {
2304                 if ( 45 <= (*p) && (*p) <= 46 )
2305                         goto st20;
2306         } else if ( (*p) > 57 ) {
2307                 if ( (*p) > 90 ) {
2308                         if ( 97 <= (*p) && (*p) <= 122 )
2309                                 goto tr124;
2310                 } else if ( (*p) >= 65 )
2311                         goto tr124;
2312         } else
2313                 goto tr124;
2314         goto tr162;
2315 tr181:
2316 #line 1 "wikitext_ragel.rl"
2317         {te = p+1;}
2318 #line 427 "wikitext_ragel.rl"
2319         {act = 43;}
2320         goto st127;
2321 st127:
2322         if ( ++p == pe )
2323                 goto _test_eof127;
2324 case 127:
2325 #line 2317 "wikitext_ragel.c"
2326         switch( (*p) ) {
2327                 case 58: goto st84;
2328                 case 64: goto st21;
2329                 case 83: goto tr176;
2330                 case 95: goto st20;
2331                 case 115: goto tr176;
2332         }
2333         if ( (*p) < 48 ) {
2334                 if ( 45 <= (*p) && (*p) <= 46 )
2335                         goto st20;
2336         } else if ( (*p) > 57 ) {
2337                 if ( (*p) > 90 ) {
2338                         if ( 97 <= (*p) && (*p) <= 122 )
2339                                 goto tr124;
2340                 } else if ( (*p) >= 65 )
2341                         goto tr124;
2342         } else
2343                 goto tr124;
2344         goto tr162;
2345 tr130:
2346 #line 1 "wikitext_ragel.rl"
2347         {te = p+1;}
2348 #line 427 "wikitext_ragel.rl"
2349         {act = 43;}
2350         goto st128;
2351 st128:
2352         if ( ++p == pe )
2353                 goto _test_eof128;
2354 case 128:
2355 #line 2347 "wikitext_ragel.c"
2356         switch( (*p) ) {
2357                 case 64: goto st21;
2358                 case 65: goto tr182;
2359                 case 95: goto st20;
2360                 case 97: goto tr182;
2361         }
2362         if ( (*p) < 48 ) {
2363                 if ( 45 <= (*p) && (*p) <= 46 )
2364                         goto st20;
2365         } else if ( (*p) > 57 ) {
2366                 if ( (*p) > 90 ) {
2367                         if ( 98 <= (*p) && (*p) <= 122 )
2368                                 goto tr124;
2369                 } else if ( (*p) >= 66 )
2370                         goto tr124;
2371         } else
2372                 goto tr124;
2373         goto tr162;
2374 tr182:
2375 #line 1 "wikitext_ragel.rl"
2376         {te = p+1;}
2377 #line 427 "wikitext_ragel.rl"
2378         {act = 43;}
2379         goto st129;
2380 st129:
2381         if ( ++p == pe )
2382                 goto _test_eof129;
2383 case 129:
2384 #line 2376 "wikitext_ragel.c"
2385         switch( (*p) ) {
2386                 case 64: goto st21;
2387                 case 73: goto tr183;
2388                 case 95: goto st20;
2389                 case 105: goto tr183;
2390         }
2391         if ( (*p) < 48 ) {
2392                 if ( 45 <= (*p) && (*p) <= 46 )
2393                         goto st20;
2394         } else if ( (*p) > 57 ) {
2395                 if ( (*p) > 90 ) {
2396                         if ( 97 <= (*p) && (*p) <= 122 )
2397                                 goto tr124;
2398                 } else if ( (*p) >= 65 )
2399                         goto tr124;
2400         } else
2401                 goto tr124;
2402         goto tr162;
2403 tr183:
2404 #line 1 "wikitext_ragel.rl"
2405         {te = p+1;}
2406 #line 427 "wikitext_ragel.rl"
2407         {act = 43;}
2408         goto st130;
2409 st130:
2410         if ( ++p == pe )
2411                 goto _test_eof130;
2412 case 130:
2413 #line 2405 "wikitext_ragel.c"
2414         switch( (*p) ) {
2415                 case 64: goto st21;
2416                 case 76: goto tr184;
2417                 case 95: goto st20;
2418                 case 108: goto tr184;
2419         }
2420         if ( (*p) < 48 ) {
2421                 if ( 45 <= (*p) && (*p) <= 46 )
2422                         goto st20;
2423         } else if ( (*p) > 57 ) {
2424                 if ( (*p) > 90 ) {
2425                         if ( 97 <= (*p) && (*p) <= 122 )
2426                                 goto tr124;
2427                 } else if ( (*p) >= 65 )
2428                         goto tr124;
2429         } else
2430                 goto tr124;
2431         goto tr162;
2432 tr184:
2433 #line 1 "wikitext_ragel.rl"
2434         {te = p+1;}
2435 #line 427 "wikitext_ragel.rl"
2436         {act = 43;}
2437         goto st131;
2438 st131:
2439         if ( ++p == pe )
2440                 goto _test_eof131;
2441 case 131:
2442 #line 2434 "wikitext_ragel.c"
2443         switch( (*p) ) {
2444                 case 64: goto st21;
2445                 case 84: goto tr185;
2446                 case 95: goto st20;
2447                 case 116: goto tr185;
2448         }
2449         if ( (*p) < 48 ) {
2450                 if ( 45 <= (*p) && (*p) <= 46 )
2451                         goto st20;
2452         } else if ( (*p) > 57 ) {
2453                 if ( (*p) > 90 ) {
2454                         if ( 97 <= (*p) && (*p) <= 122 )
2455                                 goto tr124;
2456                 } else if ( (*p) >= 65 )
2457                         goto tr124;
2458         } else
2459                 goto tr124;
2460         goto tr162;
2461 tr185:
2462 #line 1 "wikitext_ragel.rl"
2463         {te = p+1;}
2464 #line 427 "wikitext_ragel.rl"
2465         {act = 43;}
2466         goto st132;
2467 st132:
2468         if ( ++p == pe )
2469                 goto _test_eof132;
2470 case 132:
2471 #line 2463 "wikitext_ragel.c"
2472         switch( (*p) ) {
2473                 case 64: goto st21;
2474                 case 79: goto tr186;
2475                 case 95: goto st20;
2476                 case 111: goto tr186;
2477         }
2478         if ( (*p) < 48 ) {
2479                 if ( 45 <= (*p) && (*p) <= 46 )
2480                         goto st20;
2481         } else if ( (*p) > 57 ) {
2482                 if ( (*p) > 90 ) {
2483                         if ( 97 <= (*p) && (*p) <= 122 )
2484                                 goto tr124;
2485                 } else if ( (*p) >= 65 )
2486                         goto tr124;
2487         } else
2488                 goto tr124;
2489         goto tr162;
2490 tr186:
2491 #line 1 "wikitext_ragel.rl"
2492         {te = p+1;}
2493 #line 427 "wikitext_ragel.rl"
2494         {act = 43;}
2495         goto st133;
2496 st133:
2497         if ( ++p == pe )
2498                 goto _test_eof133;
2499 case 133:
2500 #line 2492 "wikitext_ragel.c"
2501         switch( (*p) ) {
2502                 case 58: goto st88;
2503                 case 64: goto st21;
2504                 case 95: goto st20;
2505         }
2506         if ( (*p) < 48 ) {
2507                 if ( 45 <= (*p) && (*p) <= 46 )
2508                         goto st20;
2509         } else if ( (*p) > 57 ) {
2510                 if ( (*p) > 90 ) {
2511                         if ( 97 <= (*p) && (*p) <= 122 )
2512                                 goto tr124;
2513                 } else if ( (*p) >= 65 )
2514                         goto tr124;
2515         } else
2516                 goto tr124;
2517         goto tr162;
2518 st88:
2519         if ( ++p == pe )
2520                 goto _test_eof88;
2521 case 88:
2522         if ( (*p) == 95 )
2523                 goto st89;
2524         if ( (*p) < 48 ) {
2525                 if ( 45 <= (*p) && (*p) <= 46 )
2526                         goto st89;
2527         } else if ( (*p) > 57 ) {
2528                 if ( (*p) > 90 ) {
2529                         if ( 97 <= (*p) && (*p) <= 122 )
2530                                 goto st89;
2531                 } else if ( (*p) >= 65 )
2532                         goto st89;
2533         } else
2534                 goto st89;
2535         goto tr95;
2536 st89:
2537         if ( ++p == pe )
2538                 goto _test_eof89;
2539 case 89:
2540         switch( (*p) ) {
2541                 case 64: goto st90;
2542                 case 95: goto st89;
2543         }
2544         if ( (*p) < 48 ) {
2545                 if ( 45 <= (*p) && (*p) <= 46 )
2546                         goto st89;
2547         } else if ( (*p) > 57 ) {
2548                 if ( (*p) > 90 ) {
2549                         if ( 97 <= (*p) && (*p) <= 122 )
2550                                 goto st89;
2551                 } else if ( (*p) >= 65 )
2552                         goto st89;
2553         } else
2554                 goto st89;
2555         goto tr95;
2556 st90:
2557         if ( ++p == pe )
2558                 goto _test_eof90;
2559 case 90:
2560         if ( (*p) < 65 ) {
2561                 if ( 48 <= (*p) && (*p) <= 57 )
2562                         goto st91;
2563         } else if ( (*p) > 90 ) {
2564                 if ( 97 <= (*p) && (*p) <= 122 )
2565                         goto st91;
2566         } else
2567                 goto st91;
2568         goto tr95;
2569 st91:
2570         if ( ++p == pe )
2571                 goto _test_eof91;
2572 case 91:
2573         if ( (*p) == 46 )
2574                 goto st92;
2575         if ( (*p) < 65 ) {
2576                 if ( 48 <= (*p) && (*p) <= 57 )
2577                         goto st91;
2578         } else if ( (*p) > 90 ) {
2579                 if ( 97 <= (*p) && (*p) <= 122 )
2580                         goto st91;
2581         } else
2582                 goto st91;
2583         goto tr23;
2584 st92:
2585         if ( ++p == pe )
2586                 goto _test_eof92;
2587 case 92:
2588         if ( (*p) < 65 ) {
2589                 if ( 48 <= (*p) && (*p) <= 57 )
2590                         goto st91;
2591         } else if ( (*p) > 90 ) {
2592                 if ( 97 <= (*p) && (*p) <= 122 )
2593                         goto st93;
2594         } else
2595                 goto st93;
2596         goto tr23;
2597 st93:
2598         if ( ++p == pe )
2599                 goto _test_eof93;
2600 case 93:
2601         if ( (*p) == 46 )
2602                 goto st92;
2603         if ( (*p) < 65 ) {
2604                 if ( 48 <= (*p) && (*p) <= 57 )
2605                         goto st91;
2606         } else if ( (*p) > 90 ) {
2607                 if ( 97 <= (*p) && (*p) <= 122 )
2608                         goto tr106;
2609         } else
2610                 goto tr106;
2611         goto tr23;
2612 tr106:
2613 #line 1 "wikitext_ragel.rl"
2614         {te = p+1;}
2615 #line 282 "wikitext_ragel.rl"
2616         {act = 20;}
2617         goto st134;
2618 st134:
2619         if ( ++p == pe )
2620                 goto _test_eof134;
2621 case 134:
2622 #line 2614 "wikitext_ragel.c"
2623         if ( (*p) == 46 )
2624                 goto st92;
2625         if ( (*p) < 65 ) {
2626                 if ( 48 <= (*p) && (*p) <= 57 )
2627                         goto st91;
2628         } else if ( (*p) > 90 ) {
2629                 if ( 97 <= (*p) && (*p) <= 122 )
2630                         goto tr188;
2631         } else
2632                 goto tr188;
2633         goto tr178;
2634 tr188:
2635 #line 1 "wikitext_ragel.rl"
2636         {te = p+1;}
2637 #line 282 "wikitext_ragel.rl"
2638         {act = 20;}
2639         goto st135;
2640 st135:
2641         if ( ++p == pe )
2642                 goto _test_eof135;
2643 case 135:
2644 #line 2636 "wikitext_ragel.c"
2645         if ( (*p) == 46 )
2646                 goto st92;
2647         if ( (*p) < 65 ) {
2648                 if ( 48 <= (*p) && (*p) <= 57 )
2649                         goto st91;
2650         } else if ( (*p) > 90 ) {
2651                 if ( 97 <= (*p) && (*p) <= 122 )
2652                         goto tr189;
2653         } else
2654                 goto tr189;
2655         goto tr178;
2656 tr189:
2657 #line 1 "wikitext_ragel.rl"
2658         {te = p+1;}
2659 #line 282 "wikitext_ragel.rl"
2660         {act = 20;}
2661         goto st136;
2662 st136:
2663         if ( ++p == pe )
2664                 goto _test_eof136;
2665 case 136:
2666 #line 2658 "wikitext_ragel.c"
2667         if ( (*p) == 46 )
2668                 goto st92;
2669         if ( (*p) < 65 ) {
2670                 if ( 48 <= (*p) && (*p) <= 57 )
2671                         goto st91;
2672         } else if ( (*p) > 90 ) {
2673                 if ( 97 <= (*p) && (*p) <= 122 )
2674                         goto tr190;
2675         } else
2676                 goto tr190;
2677         goto tr178;
2678 tr190:
2679 #line 1 "wikitext_ragel.rl"
2680         {te = p+1;}
2681 #line 282 "wikitext_ragel.rl"
2682         {act = 20;}
2683         goto st137;
2684 st137:
2685         if ( ++p == pe )
2686                 goto _test_eof137;
2687 case 137:
2688 #line 2680 "wikitext_ragel.c"
2689         if ( (*p) == 46 )
2690                 goto st92;
2691         if ( (*p) < 65 ) {
2692                 if ( 48 <= (*p) && (*p) <= 57 )
2693                         goto st91;
2694         } else if ( (*p) > 90 ) {
2695                 if ( 97 <= (*p) && (*p) <= 122 )
2696                         goto st91;
2697         } else
2698                 goto st91;
2699         goto tr178;
2700 tr131:
2701 #line 1 "wikitext_ragel.rl"
2702         {te = p+1;}
2703 #line 427 "wikitext_ragel.rl"
2704         {act = 43;}
2705         goto st138;
2706 st138:
2707         if ( ++p == pe )
2708                 goto _test_eof138;
2709 case 138:
2710 #line 2702 "wikitext_ragel.c"
2711         switch( (*p) ) {
2712                 case 64: goto st21;
2713                 case 86: goto tr191;
2714                 case 95: goto st20;
2715                 case 118: goto tr191;
2716         }
2717         if ( (*p) < 48 ) {
2718                 if ( 45 <= (*p) && (*p) <= 46 )
2719                         goto st20;
2720         } else if ( (*p) > 57 ) {
2721                 if ( (*p) > 90 ) {
2722                         if ( 97 <= (*p) && (*p) <= 122 )
2723                                 goto tr124;
2724                 } else if ( (*p) >= 65 )
2725                         goto tr124;
2726         } else
2727                 goto tr124;
2728         goto tr162;
2729 tr191:
2730 #line 1 "wikitext_ragel.rl"
2731         {te = p+1;}
2732 #line 427 "wikitext_ragel.rl"
2733         {act = 43;}
2734         goto st139;
2735 st139:
2736         if ( ++p == pe )
2737                 goto _test_eof139;
2738 case 139:
2739 #line 2731 "wikitext_ragel.c"
2740         switch( (*p) ) {
2741                 case 64: goto st21;
2742                 case 78: goto tr176;
2743                 case 95: goto st20;
2744                 case 110: goto tr176;
2745         }
2746         if ( (*p) < 48 ) {
2747                 if ( 45 <= (*p) && (*p) <= 46 )
2748                         goto st20;
2749         } else if ( (*p) > 57 ) {
2750                 if ( (*p) > 90 ) {
2751                         if ( 97 <= (*p) && (*p) <= 122 )
2752                                 goto tr124;
2753                 } else if ( (*p) >= 65 )
2754                         goto tr124;
2755         } else
2756                 goto tr124;
2757         goto tr162;
2758 st140:
2759         if ( ++p == pe )
2760                 goto _test_eof140;
2761 case 140:
2762         if ( (*p) == 91 )
2763                 goto tr193;
2764         goto tr192;
2765 st141:
2766         if ( ++p == pe )
2767                 goto _test_eof141;
2768 case 141:
2769         if ( (*p) == 93 )
2770                 goto tr195;
2771         goto tr194;
2772 st142:
2773         if ( ++p == pe )
2774                 goto _test_eof142;
2775 case 142:
2776         if ( (*p) == 123 )
2777                 goto tr197;
2778         goto tr196;
2779 st143:
2780         if ( ++p == pe )
2781                 goto _test_eof143;
2782 case 143:
2783         if ( (*p) == 125 )
2784                 goto tr199;
2785         goto tr198;
2786         }
2787         _test_eof94: cs = 94; goto _test_eof; 
2788         _test_eof1: cs = 1; goto _test_eof; 
2789         _test_eof2: cs = 2; goto _test_eof; 
2790         _test_eof3: cs = 3; goto _test_eof; 
2791         _test_eof4: cs = 4; goto _test_eof; 
2792         _test_eof5: cs = 5; goto _test_eof; 
2793         _test_eof6: cs = 6; goto _test_eof; 
2794         _test_eof95: cs = 95; goto _test_eof; 
2795         _test_eof96: cs = 96; goto _test_eof; 
2796         _test_eof97: cs = 97; goto _test_eof; 
2797         _test_eof98: cs = 98; goto _test_eof; 
2798         _test_eof99: cs = 99; goto _test_eof; 
2799         _test_eof7: cs = 7; goto _test_eof; 
2800         _test_eof8: cs = 8; goto _test_eof; 
2801         _test_eof9: cs = 9; goto _test_eof; 
2802         _test_eof10: cs = 10; goto _test_eof; 
2803         _test_eof11: cs = 11; goto _test_eof; 
2804         _test_eof12: cs = 12; goto _test_eof; 
2805         _test_eof13: cs = 13; goto _test_eof; 
2806         _test_eof14: cs = 14; goto _test_eof; 
2807         _test_eof15: cs = 15; goto _test_eof; 
2808         _test_eof16: cs = 16; goto _test_eof; 
2809         _test_eof17: cs = 17; goto _test_eof; 
2810         _test_eof18: cs = 18; goto _test_eof; 
2811         _test_eof19: cs = 19; goto _test_eof; 
2812         _test_eof100: cs = 100; goto _test_eof; 
2813         _test_eof101: cs = 101; goto _test_eof; 
2814         _test_eof102: cs = 102; goto _test_eof; 
2815         _test_eof103: cs = 103; goto _test_eof; 
2816         _test_eof104: cs = 104; goto _test_eof; 
2817         _test_eof20: cs = 20; goto _test_eof; 
2818         _test_eof21: cs = 21; goto _test_eof; 
2819         _test_eof22: cs = 22; goto _test_eof; 
2820         _test_eof23: cs = 23; goto _test_eof; 
2821         _test_eof24: cs = 24; goto _test_eof; 
2822         _test_eof105: cs = 105; goto _test_eof; 
2823         _test_eof106: cs = 106; goto _test_eof; 
2824         _test_eof107: cs = 107; goto _test_eof; 
2825         _test_eof108: cs = 108; goto _test_eof; 
2826         _test_eof109: cs = 109; goto _test_eof; 
2827         _test_eof110: cs = 110; goto _test_eof; 
2828         _test_eof111: cs = 111; goto _test_eof; 
2829         _test_eof112: cs = 112; goto _test_eof; 
2830         _test_eof113: cs = 113; goto _test_eof; 
2831         _test_eof114: cs = 114; goto _test_eof; 
2832         _test_eof115: cs = 115; goto _test_eof; 
2833         _test_eof116: cs = 116; goto _test_eof; 
2834         _test_eof25: cs = 25; goto _test_eof; 
2835         _test_eof26: cs = 26; goto _test_eof; 
2836         _test_eof27: cs = 27; goto _test_eof; 
2837         _test_eof28: cs = 28; goto _test_eof; 
2838         _test_eof29: cs = 29; goto _test_eof; 
2839         _test_eof30: cs = 30; goto _test_eof; 
2840         _test_eof31: cs = 31; goto _test_eof; 
2841         _test_eof32: cs = 32; goto _test_eof; 
2842         _test_eof33: cs = 33; goto _test_eof; 
2843         _test_eof34: cs = 34; goto _test_eof; 
2844         _test_eof35: cs = 35; goto _test_eof; 
2845         _test_eof36: cs = 36; goto _test_eof; 
2846         _test_eof37: cs = 37; goto _test_eof; 
2847         _test_eof38: cs = 38; goto _test_eof; 
2848         _test_eof39: cs = 39; goto _test_eof; 
2849         _test_eof40: cs = 40; goto _test_eof; 
2850         _test_eof41: cs = 41; goto _test_eof; 
2851         _test_eof42: cs = 42; goto _test_eof; 
2852         _test_eof43: cs = 43; goto _test_eof; 
2853         _test_eof44: cs = 44; goto _test_eof; 
2854         _test_eof45: cs = 45; goto _test_eof; 
2855         _test_eof46: cs = 46; goto _test_eof; 
2856         _test_eof47: cs = 47; goto _test_eof; 
2857         _test_eof48: cs = 48; goto _test_eof; 
2858         _test_eof49: cs = 49; goto _test_eof; 
2859         _test_eof50: cs = 50; goto _test_eof; 
2860         _test_eof51: cs = 51; goto _test_eof; 
2861         _test_eof52: cs = 52; goto _test_eof; 
2862         _test_eof53: cs = 53; goto _test_eof; 
2863         _test_eof54: cs = 54; goto _test_eof; 
2864         _test_eof55: cs = 55; goto _test_eof; 
2865         _test_eof56: cs = 56; goto _test_eof; 
2866         _test_eof57: cs = 57; goto _test_eof; 
2867         _test_eof58: cs = 58; goto _test_eof; 
2868         _test_eof59: cs = 59; goto _test_eof; 
2869         _test_eof60: cs = 60; goto _test_eof; 
2870         _test_eof61: cs = 61; goto _test_eof; 
2871         _test_eof62: cs = 62; goto _test_eof; 
2872         _test_eof63: cs = 63; goto _test_eof; 
2873         _test_eof64: cs = 64; goto _test_eof; 
2874         _test_eof65: cs = 65; goto _test_eof; 
2875         _test_eof66: cs = 66; goto _test_eof; 
2876         _test_eof67: cs = 67; goto _test_eof; 
2877         _test_eof68: cs = 68; goto _test_eof; 
2878         _test_eof69: cs = 69; goto _test_eof; 
2879         _test_eof70: cs = 70; goto _test_eof; 
2880         _test_eof71: cs = 71; goto _test_eof; 
2881         _test_eof72: cs = 72; goto _test_eof; 
2882         _test_eof73: cs = 73; goto _test_eof; 
2883         _test_eof74: cs = 74; goto _test_eof; 
2884         _test_eof75: cs = 75; goto _test_eof; 
2885         _test_eof76: cs = 76; goto _test_eof; 
2886         _test_eof77: cs = 77; goto _test_eof; 
2887         _test_eof78: cs = 78; goto _test_eof; 
2888         _test_eof79: cs = 79; goto _test_eof; 
2889         _test_eof80: cs = 80; goto _test_eof; 
2890         _test_eof81: cs = 81; goto _test_eof; 
2891         _test_eof82: cs = 82; goto _test_eof; 
2892         _test_eof83: cs = 83; goto _test_eof; 
2893         _test_eof117: cs = 117; goto _test_eof; 
2894         _test_eof118: cs = 118; goto _test_eof; 
2895         _test_eof119: cs = 119; goto _test_eof; 
2896         _test_eof120: cs = 120; goto _test_eof; 
2897         _test_eof121: cs = 121; goto _test_eof; 
2898         _test_eof122: cs = 122; goto _test_eof; 
2899         _test_eof84: cs = 84; goto _test_eof; 
2900         _test_eof85: cs = 85; goto _test_eof; 
2901         _test_eof86: cs = 86; goto _test_eof; 
2902         _test_eof123: cs = 123; goto _test_eof; 
2903         _test_eof87: cs = 87; goto _test_eof; 
2904         _test_eof124: cs = 124; goto _test_eof; 
2905         _test_eof125: cs = 125; goto _test_eof; 
2906         _test_eof126: cs = 126; goto _test_eof; 
2907         _test_eof127: cs = 127; goto _test_eof; 
2908         _test_eof128: cs = 128; goto _test_eof; 
2909         _test_eof129: cs = 129; goto _test_eof; 
2910         _test_eof130: cs = 130; goto _test_eof; 
2911         _test_eof131: cs = 131; goto _test_eof; 
2912         _test_eof132: cs = 132; goto _test_eof; 
2913         _test_eof133: cs = 133; goto _test_eof; 
2914         _test_eof88: cs = 88; goto _test_eof; 
2915         _test_eof89: cs = 89; goto _test_eof; 
2916         _test_eof90: cs = 90; goto _test_eof; 
2917         _test_eof91: cs = 91; goto _test_eof; 
2918         _test_eof92: cs = 92; goto _test_eof; 
2919         _test_eof93: cs = 93; goto _test_eof; 
2920         _test_eof134: cs = 134; goto _test_eof; 
2921         _test_eof135: cs = 135; goto _test_eof; 
2922         _test_eof136: cs = 136; goto _test_eof; 
2923         _test_eof137: cs = 137; goto _test_eof; 
2924         _test_eof138: cs = 138; goto _test_eof; 
2925         _test_eof139: cs = 139; goto _test_eof; 
2926         _test_eof140: cs = 140; goto _test_eof; 
2927         _test_eof141: cs = 141; goto _test_eof; 
2928         _test_eof142: cs = 142; goto _test_eof; 
2929         _test_eof143: cs = 143; goto _test_eof; 
2930
2931         _test_eof: {}
2932         if ( p == eof )
2933         {
2934         switch ( cs ) {
2935         case 95: goto tr138;
2936         case 96: goto tr140;
2937         case 97: goto tr142;
2938         case 98: goto tr143;
2939         case 99: goto tr144;
2940         case 7: goto tr7;
2941         case 8: goto tr7;
2942         case 9: goto tr7;
2943         case 10: goto tr7;
2944         case 11: goto tr7;
2945         case 12: goto tr7;
2946         case 13: goto tr7;
2947         case 14: goto tr7;
2948         case 15: goto tr7;
2949         case 16: goto tr7;
2950         case 17: goto tr7;
2951         case 18: goto tr7;
2952         case 19: goto tr7;
2953         case 100: goto tr148;
2954         case 101: goto tr148;
2955         case 102: goto tr148;
2956         case 103: goto tr148;
2957         case 104: goto tr143;
2958         case 20: goto tr23;
2959         case 21: goto tr23;
2960         case 22: goto tr23;
2961         case 23: goto tr23;
2962         case 24: goto tr23;
2963         case 105: goto tr154;
2964         case 106: goto tr154;
2965         case 107: goto tr154;
2966         case 108: goto tr154;
2967         case 109: goto tr143;
2968         case 110: goto tr142;
2969         case 111: goto tr158;
2970         case 112: goto tr158;
2971         case 113: goto tr158;
2972         case 114: goto tr158;
2973         case 115: goto tr162;
2974         case 116: goto tr163;
2975         case 25: goto tr30;
2976         case 26: goto tr30;
2977         case 27: goto tr30;
2978         case 28: goto tr30;
2979         case 29: goto tr30;
2980         case 30: goto tr30;
2981         case 31: goto tr30;
2982         case 32: goto tr30;
2983         case 33: goto tr30;
2984         case 34: goto tr30;
2985         case 35: goto tr30;
2986         case 36: goto tr30;
2987         case 37: goto tr30;
2988         case 38: goto tr30;
2989         case 39: goto tr30;
2990         case 40: goto tr30;
2991         case 41: goto tr30;
2992         case 42: goto tr30;
2993         case 43: goto tr30;
2994         case 44: goto tr30;
2995         case 45: goto tr30;
2996         case 46: goto tr30;
2997         case 47: goto tr30;
2998         case 48: goto tr30;
2999         case 49: goto tr30;
3000         case 50: goto tr30;
3001         case 51: goto tr30;
3002         case 52: goto tr30;
3003         case 53: goto tr30;
3004         case 54: goto tr30;
3005         case 55: goto tr30;
3006         case 56: goto tr30;
3007         case 57: goto tr30;
3008         case 58: goto tr30;
3009         case 59: goto tr30;
3010         case 60: goto tr30;
3011         case 61: goto tr30;
3012         case 62: goto tr30;
3013         case 63: goto tr30;
3014         case 64: goto tr30;
3015         case 65: goto tr30;
3016         case 66: goto tr30;
3017         case 67: goto tr30;
3018         case 68: goto tr30;
3019         case 69: goto tr30;
3020         case 70: goto tr30;
3021         case 71: goto tr30;
3022         case 72: goto tr30;
3023         case 73: goto tr30;
3024         case 74: goto tr30;
3025         case 75: goto tr30;
3026         case 76: goto tr30;
3027         case 77: goto tr30;
3028         case 78: goto tr30;
3029         case 79: goto tr30;
3030         case 80: goto tr30;
3031         case 81: goto tr30;
3032         case 82: goto tr30;
3033         case 83: goto tr30;
3034         case 117: goto tr171;
3035         case 118: goto tr171;
3036         case 119: goto tr173;
3037         case 120: goto tr162;
3038         case 121: goto tr162;
3039         case 122: goto tr162;
3040         case 84: goto tr95;
3041         case 85: goto tr95;
3042         case 86: goto tr95;
3043         case 123: goto tr178;
3044         case 87: goto tr99;
3045         case 124: goto tr162;
3046         case 125: goto tr162;
3047         case 126: goto tr162;
3048         case 127: goto tr162;
3049         case 128: goto tr162;
3050         case 129: goto tr162;
3051         case 130: goto tr162;
3052         case 131: goto tr162;
3053         case 132: goto tr162;
3054         case 133: goto tr162;
3055         case 88: goto tr95;
3056         case 89: goto tr95;
3057         case 90: goto tr95;
3058         case 91: goto tr23;
3059         case 92: goto tr23;
3060         case 93: goto tr23;
3061         case 134: goto tr178;
3062         case 135: goto tr178;
3063         case 136: goto tr178;
3064         case 137: goto tr178;
3065         case 138: goto tr162;
3066         case 139: goto tr162;
3067         case 140: goto tr192;
3068         case 141: goto tr194;
3069         case 142: goto tr196;
3070         case 143: goto tr198;
3071         }
3072         }
3073
3074         _out: {}
3075         }
3076
3077 #line 511 "wikitext_ragel.rl"
3078     if (cs == wikitext_error)
3079         rb_raise(eWikitextParserError, "failed before finding a token");
3080     else if (out->type == NO_TOKEN)
3081         rb_raise(eWikitextParserError, "failed to produce a token");
3082 }