xref: /PHP-7.0/ext/date/lib/parse_date.c (revision a7815e63)
1 /* Generated by re2c 0.15.3 on Tue Oct 24 13:37:28 2017 */
2 #line 1 "ext/date/lib/parse_date.re"
3 /*
4  * The MIT License (MIT)
5  *
6  * Copyright (c) 2015 Derick Rethans
7  *
8  * Permission is hereby granted, free of charge, to any person obtaining a copy
9  * of this software and associated documentation files (the "Software"), to deal
10  * in the Software without restriction, including without limitation the rights
11  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12  * copies of the Software, and to permit persons to whom the Software is
13  * furnished to do so, subject to the following conditions:
14  *
15  * The above copyright notice and this permission notice shall be included in
16  * all copies or substantial portions of the Software.
17  *
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24  * THE SOFTWARE.
25  */
26 
27 /* $Id$ */
28 
29 #include "timelib.h"
30 
31 #include <stdio.h>
32 #include <ctype.h>
33 #include <math.h>
34 #include <assert.h>
35 
36 #ifdef HAVE_STDLIB_H
37 #include <stdlib.h>
38 #endif
39 #ifdef HAVE_STRING_H
40 #include <string.h>
41 #else
42 #include <strings.h>
43 #endif
44 
45 #if defined(_MSC_VER)
46 # define strtoll(s, f, b) _atoi64(s)
47 #elif !defined(HAVE_STRTOLL)
48 # if defined(HAVE_ATOLL)
49 #  define strtoll(s, f, b) atoll(s)
50 # else
51 #  define strtoll(s, f, b) strtol(s, f, b)
52 # endif
53 #endif
54 
55 #define TIMELIB_UNSET   -99999
56 
57 #define TIMELIB_SECOND  1
58 #define TIMELIB_MINUTE  2
59 #define TIMELIB_HOUR    3
60 #define TIMELIB_DAY     4
61 #define TIMELIB_MONTH   5
62 #define TIMELIB_YEAR    6
63 #define TIMELIB_WEEKDAY 7
64 #define TIMELIB_SPECIAL 8
65 
66 #define EOI      257
67 #define TIME     258
68 #define DATE     259
69 
70 #define TIMELIB_XMLRPC_SOAP    260
71 #define TIMELIB_TIME12         261
72 #define TIMELIB_TIME24         262
73 #define TIMELIB_GNU_NOCOLON    263
74 #define TIMELIB_GNU_NOCOLON_TZ 264
75 #define TIMELIB_ISO_NOCOLON    265
76 
77 #define TIMELIB_AMERICAN       266
78 #define TIMELIB_ISO_DATE       267
79 #define TIMELIB_DATE_FULL      268
80 #define TIMELIB_DATE_TEXT      269
81 #define TIMELIB_DATE_NOCOLON   270
82 #define TIMELIB_PG_YEARDAY     271
83 #define TIMELIB_PG_TEXT        272
84 #define TIMELIB_PG_REVERSE     273
85 #define TIMELIB_CLF            274
86 #define TIMELIB_DATE_NO_DAY    275
87 #define TIMELIB_SHORTDATE_WITH_TIME 276
88 #define TIMELIB_DATE_FULL_POINTED 277
89 #define TIMELIB_TIME24_WITH_ZONE 278
90 #define TIMELIB_ISO_WEEK       279
91 #define TIMELIB_LF_DAY_OF_MONTH 280
92 #define TIMELIB_WEEK_DAY_OF_MONTH 281
93 
94 #define TIMELIB_TIMEZONE       300
95 #define TIMELIB_AGO            301
96 
97 #define TIMELIB_RELATIVE       310
98 
99 #define TIMELIB_ERROR          999
100 
101 /* Some compilers like AIX, defines uchar in sys/types.h */
102 #undef uchar
103 typedef unsigned char uchar;
104 
105 #define   BSIZE	   8192
106 
107 #define   YYCTYPE      uchar
108 #define   YYCURSOR     cursor
109 #define   YYLIMIT      s->lim
110 #define   YYMARKER     s->ptr
111 #define   YYFILL(n)    return EOI;
112 
113 #define   RET(i)       {s->cur = cursor; return i;}
114 
115 #define timelib_string_free timelib_free
116 
117 #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } }
118 #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; }
119 #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }
120 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
121 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
122 #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
123 #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
124 #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
125 
126 #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
127 #define TIMELIB_DEINIT timelib_string_free(str)
128 #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
129 
130 #define TIMELIB_PROCESS_YEAR(x, l) { \
131 	if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
132 	/*	(x) = 0; */          \
133 	} else if ((x) < 100) {  \
134 		if ((x) < 70) {      \
135 			(x) += 2000;     \
136 		} else {             \
137 			(x) += 1900;     \
138 		}                    \
139 	}                        \
140 }
141 
142 #ifdef DEBUG_PARSER
143 #define DEBUG_OUTPUT(s) printf("%s\n", s);
144 #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
145 #else
146 #define DEBUG_OUTPUT(s)
147 #define YYDEBUG(s,c)
148 #endif
149 
150 #include "timelib_structs.h"
151 
152 typedef struct timelib_elems {
153 	unsigned int   c; /* Number of elements */
154 	char         **v; /* Values */
155 } timelib_elems;
156 
157 typedef struct Scanner {
158 	int           fd;
159 	uchar        *lim, *str, *ptr, *cur, *tok, *pos;
160 	unsigned int  line, len;
161 	struct timelib_error_container *errors;
162 
163 	struct timelib_time *time;
164 	const timelib_tzdb  *tzdb;
165 } Scanner;
166 
167 typedef struct _timelib_lookup_table {
168     const char *name;
169     int         type;
170     int         value;
171 } timelib_lookup_table;
172 
173 typedef struct _timelib_relunit {
174 	const char *name;
175 	int         unit;
176 	int         multiplier;
177 } timelib_relunit;
178 
179 /* The timezone table. */
180 const static timelib_tz_lookup_table timelib_timezone_lookup[] = {
181 #include "timezonemap.h"
182 	{ NULL, 0, 0, NULL },
183 };
184 
185 const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
186 #include "fallbackmap.h"
187 	{ NULL, 0, 0, NULL },
188 };
189 
190 const static timelib_tz_lookup_table timelib_timezone_utc[] = {
191 	{ "utc", 0, 0, "UTC" },
192 };
193 
194 static timelib_relunit const timelib_relunit_lookup[] = {
195 	{ "sec",         TIMELIB_SECOND,  1 },
196 	{ "secs",        TIMELIB_SECOND,  1 },
197 	{ "second",      TIMELIB_SECOND,  1 },
198 	{ "seconds",     TIMELIB_SECOND,  1 },
199 	{ "min",         TIMELIB_MINUTE,  1 },
200 	{ "mins",        TIMELIB_MINUTE,  1 },
201 	{ "minute",      TIMELIB_MINUTE,  1 },
202 	{ "minutes",     TIMELIB_MINUTE,  1 },
203 	{ "hour",        TIMELIB_HOUR,    1 },
204 	{ "hours",       TIMELIB_HOUR,    1 },
205 	{ "day",         TIMELIB_DAY,     1 },
206 	{ "days",        TIMELIB_DAY,     1 },
207 	{ "week",        TIMELIB_DAY,     7 },
208 	{ "weeks",       TIMELIB_DAY,     7 },
209 	{ "fortnight",   TIMELIB_DAY,    14 },
210 	{ "fortnights",  TIMELIB_DAY,    14 },
211 	{ "forthnight",  TIMELIB_DAY,    14 },
212 	{ "forthnights", TIMELIB_DAY,    14 },
213 	{ "month",       TIMELIB_MONTH,   1 },
214 	{ "months",      TIMELIB_MONTH,   1 },
215 	{ "year",        TIMELIB_YEAR,    1 },
216 	{ "years",       TIMELIB_YEAR,    1 },
217 
218 	{ "monday",      TIMELIB_WEEKDAY, 1 },
219 	{ "mon",         TIMELIB_WEEKDAY, 1 },
220 	{ "tuesday",     TIMELIB_WEEKDAY, 2 },
221 	{ "tue",         TIMELIB_WEEKDAY, 2 },
222 	{ "wednesday",   TIMELIB_WEEKDAY, 3 },
223 	{ "wed",         TIMELIB_WEEKDAY, 3 },
224 	{ "thursday",    TIMELIB_WEEKDAY, 4 },
225 	{ "thu",         TIMELIB_WEEKDAY, 4 },
226 	{ "friday",      TIMELIB_WEEKDAY, 5 },
227 	{ "fri",         TIMELIB_WEEKDAY, 5 },
228 	{ "saturday",    TIMELIB_WEEKDAY, 6 },
229 	{ "sat",         TIMELIB_WEEKDAY, 6 },
230 	{ "sunday",      TIMELIB_WEEKDAY, 0 },
231 	{ "sun",         TIMELIB_WEEKDAY, 0 },
232 
233 	{ "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
234 	{ "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
235 	{ NULL,          0,          0 }
236 };
237 
238 /* The relative text table. */
239 static timelib_lookup_table const timelib_reltext_lookup[] = {
240 	{ "first",    0,  1 },
241 	{ "next",     0,  1 },
242 	{ "second",   0,  2 },
243 	{ "third",    0,  3 },
244 	{ "fourth",   0,  4 },
245 	{ "fifth",    0,  5 },
246 	{ "sixth",    0,  6 },
247 	{ "seventh",  0,  7 },
248 	{ "eight",    0,  8 },
249 	{ "eighth",   0,  8 },
250 	{ "ninth",    0,  9 },
251 	{ "tenth",    0, 10 },
252 	{ "eleventh", 0, 11 },
253 	{ "twelfth",  0, 12 },
254 	{ "last",     0, -1 },
255 	{ "previous", 0, -1 },
256 	{ "this",     1,  0 },
257 	{ NULL,       1,  0 }
258 };
259 
260 /* The month table. */
261 static timelib_lookup_table const timelib_month_lookup[] = {
262 	{ "jan",  0,  1 },
263 	{ "feb",  0,  2 },
264 	{ "mar",  0,  3 },
265 	{ "apr",  0,  4 },
266 	{ "may",  0,  5 },
267 	{ "jun",  0,  6 },
268 	{ "jul",  0,  7 },
269 	{ "aug",  0,  8 },
270 	{ "sep",  0,  9 },
271 	{ "sept", 0,  9 },
272 	{ "oct",  0, 10 },
273 	{ "nov",  0, 11 },
274 	{ "dec",  0, 12 },
275 	{ "i",    0,  1 },
276 	{ "ii",   0,  2 },
277 	{ "iii",  0,  3 },
278 	{ "iv",   0,  4 },
279 	{ "v",    0,  5 },
280 	{ "vi",   0,  6 },
281 	{ "vii",  0,  7 },
282 	{ "viii", 0,  8 },
283 	{ "ix",   0,  9 },
284 	{ "x",    0, 10 },
285 	{ "xi",   0, 11 },
286 	{ "xii",  0, 12 },
287 
288 	{ "january",   0,  1 },
289 	{ "february",  0,  2 },
290 	{ "march",     0,  3 },
291 	{ "april",     0,  4 },
292 	{ "may",       0,  5 },
293 	{ "june",      0,  6 },
294 	{ "july",      0,  7 },
295 	{ "august",    0,  8 },
296 	{ "september", 0,  9 },
297 	{ "october",   0, 10 },
298 	{ "november",  0, 11 },
299 	{ "december",  0, 12 },
300 	{  NULL,       0,  0 }
301 };
302 
303 #if 0
304 static char* timelib_ltrim(char *s)
305 {
306 	char *ptr = s;
307 	while (ptr[0] == ' ' || ptr[0] == '\t') {
308 		ptr++;
309 	}
310 	return ptr;
311 }
312 #endif
313 
314 #if 0
315 uchar *fill(Scanner *s, uchar *cursor){
316 	if(!s->eof){
317 		unsigned int cnt = s->tok - s->bot;
318 		if(cnt){
319 			memcpy(s->bot, s->tok, s->lim - s->tok);
320 			s->tok = s->bot;
321 			s->ptr -= cnt;
322 			cursor -= cnt;
323 			s->pos -= cnt;
324 			s->lim -= cnt;
325 		}
326 		if((s->top - s->lim) < BSIZE){
327 			uchar *buf = (uchar*) timelib_malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
328 			memcpy(buf, s->tok, s->lim - s->tok);
329 			s->tok = buf;
330 			s->ptr = &buf[s->ptr - s->bot];
331 			cursor = &buf[cursor - s->bot];
332 			s->pos = &buf[s->pos - s->bot];
333 			s->lim = &buf[s->lim - s->bot];
334 			s->top = &s->lim[BSIZE];
335 			timelib_free(s->bot);
336 			s->bot = buf;
337 		}
338 		if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
339 			s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
340 		}
341 		s->lim += cnt;
342 	}
343 	return cursor;
344 }
345 #endif
346 
add_warning(Scanner * s,char * error)347 static void add_warning(Scanner *s, char *error)
348 {
349 	s->errors->warning_count++;
350 	s->errors->warning_messages = timelib_realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
351 	s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0;
352 	s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0;
353 	s->errors->warning_messages[s->errors->warning_count - 1].message = timelib_strdup(error);
354 }
355 
add_error(Scanner * s,char * error)356 static void add_error(Scanner *s, char *error)
357 {
358 	s->errors->error_count++;
359 	s->errors->error_messages = timelib_realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
360 	s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0;
361 	s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0;
362 	s->errors->error_messages[s->errors->error_count - 1].message = timelib_strdup(error);
363 }
364 
add_pbf_warning(Scanner * s,char * error,char * sptr,char * cptr)365 static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr)
366 {
367 	s->errors->warning_count++;
368 	s->errors->warning_messages = timelib_realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
369 	s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr;
370 	s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr;
371 	s->errors->warning_messages[s->errors->warning_count - 1].message = timelib_strdup(error);
372 }
373 
add_pbf_error(Scanner * s,char * error,char * sptr,char * cptr)374 static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr)
375 {
376 	s->errors->error_count++;
377 	s->errors->error_messages = timelib_realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
378 	s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr;
379 	s->errors->error_messages[s->errors->error_count - 1].character = *cptr;
380 	s->errors->error_messages[s->errors->error_count - 1].message = timelib_strdup(error);
381 }
382 
timelib_meridian(char ** ptr,timelib_sll h)383 static timelib_sll timelib_meridian(char **ptr, timelib_sll h)
384 {
385 	timelib_sll retval = 0;
386 
387 	while (!strchr("AaPp", **ptr)) {
388 		++*ptr;
389 	}
390 	if (**ptr == 'a' || **ptr == 'A') {
391 		if (h == 12) {
392 			retval = -12;
393 		}
394 	} else if (h != 12) {
395 		retval = 12;
396 	}
397 	++*ptr;
398 	if (**ptr == '.') {
399 		++*ptr;
400 	}
401 	if (**ptr == 'M' || **ptr == 'm') {
402 		++*ptr;
403 	}
404 	if (**ptr == '.') {
405 		++*ptr;
406 	}
407 	return retval;
408 }
409 
timelib_meridian_with_check(char ** ptr,timelib_sll h)410 static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h)
411 {
412 	timelib_sll retval = 0;
413 
414 	while (**ptr && !strchr("AaPp", **ptr)) {
415 		++*ptr;
416 	}
417 	if(!**ptr) {
418 		return TIMELIB_UNSET;
419 	}
420 	if (**ptr == 'a' || **ptr == 'A') {
421 		if (h == 12) {
422 			retval = -12;
423 		}
424 	} else if (h != 12) {
425 		retval = 12;
426 	}
427 	++*ptr;
428 	if (**ptr == '.') {
429 		++*ptr;
430 		if (**ptr != 'm' && **ptr != 'M') {
431 			return TIMELIB_UNSET;
432 		}
433 		++*ptr;
434 		if (**ptr != '.' ) {
435 			return TIMELIB_UNSET;
436 		}
437 		++*ptr;
438 	} else if (**ptr == 'm' || **ptr == 'M') {
439 		++*ptr;
440 	} else {
441 		return TIMELIB_UNSET;
442 	}
443 	return retval;
444 }
445 
timelib_string(Scanner * s)446 static char *timelib_string(Scanner *s)
447 {
448 	char *tmp = timelib_calloc(1, s->cur - s->tok + 1);
449 	memcpy(tmp, s->tok, s->cur - s->tok);
450 
451 	return tmp;
452 }
453 
timelib_get_nr_ex(char ** ptr,int max_length,int * scanned_length)454 static timelib_sll timelib_get_nr_ex(char **ptr, int max_length, int *scanned_length)
455 {
456 	char *begin, *end, *str;
457 	timelib_sll tmp_nr = TIMELIB_UNSET;
458 	int len = 0;
459 
460 	while ((**ptr < '0') || (**ptr > '9')) {
461 		if (**ptr == '\0') {
462 			return TIMELIB_UNSET;
463 		}
464 		++*ptr;
465 	}
466 	begin = *ptr;
467 	while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
468 		++*ptr;
469 		++len;
470 	}
471 	end = *ptr;
472 	if (scanned_length) {
473 		*scanned_length = end - begin;
474 	}
475 	str = timelib_calloc(1, end - begin + 1);
476 	memcpy(str, begin, end - begin);
477 	tmp_nr = strtoll(str, NULL, 10);
478 	timelib_free(str);
479 	return tmp_nr;
480 }
481 
timelib_get_nr(char ** ptr,int max_length)482 static timelib_sll timelib_get_nr(char **ptr, int max_length)
483 {
484 	return timelib_get_nr_ex(ptr, max_length, NULL);
485 }
486 
timelib_skip_day_suffix(char ** ptr)487 static void timelib_skip_day_suffix(char **ptr)
488 {
489 	if (isspace(**ptr)) {
490 		return;
491 	}
492 	if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) {
493 		*ptr += 2;
494 	}
495 }
496 
timelib_get_frac_nr(char ** ptr,int max_length)497 static double timelib_get_frac_nr(char **ptr, int max_length)
498 {
499 	char *begin, *end, *str;
500 	double tmp_nr = TIMELIB_UNSET;
501 	int len = 0;
502 
503 	while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
504 		if (**ptr == '\0') {
505 			return TIMELIB_UNSET;
506 		}
507 		++*ptr;
508 	}
509 	begin = *ptr;
510 	while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) {
511 		++*ptr;
512 		++len;
513 	}
514 	end = *ptr;
515 	str = timelib_calloc(1, end - begin + 1);
516 	memcpy(str, begin, end - begin);
517 	if (str[0] == ':') {
518 		str[0] = '.';
519 	}
520 	tmp_nr = strtod(str, NULL);
521 	timelib_free(str);
522 	return tmp_nr;
523 }
524 
timelib_get_unsigned_nr(char ** ptr,int max_length)525 static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length)
526 {
527 	timelib_ull dir = 1;
528 
529 	while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
530 		if (**ptr == '\0') {
531 			return TIMELIB_UNSET;
532 		}
533 		++*ptr;
534 	}
535 
536 	while (**ptr == '+' || **ptr == '-')
537 	{
538 		if (**ptr == '-') {
539 			dir *= -1;
540 		}
541 		++*ptr;
542 	}
543 	return dir * timelib_get_nr(ptr, max_length);
544 }
545 
timelib_lookup_relative_text(char ** ptr,int * behavior)546 static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior)
547 {
548 	char *word;
549 	char *begin = *ptr, *end;
550 	timelib_sll  value = 0;
551 	const timelib_lookup_table *tp;
552 
553 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
554 		++*ptr;
555 	}
556 	end = *ptr;
557 	word = timelib_calloc(1, end - begin + 1);
558 	memcpy(word, begin, end - begin);
559 
560 	for (tp = timelib_reltext_lookup; tp->name; tp++) {
561 		if (strcasecmp(word, tp->name) == 0) {
562 			value = tp->value;
563 			*behavior = tp->type;
564 		}
565 	}
566 
567 	timelib_free(word);
568 	return value;
569 }
570 
timelib_get_relative_text(char ** ptr,int * behavior)571 static timelib_sll timelib_get_relative_text(char **ptr, int *behavior)
572 {
573 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
574 		++*ptr;
575 	}
576 	return timelib_lookup_relative_text(ptr, behavior);
577 }
578 
timelib_lookup_month(char ** ptr)579 static timelib_long timelib_lookup_month(char **ptr)
580 {
581 	char *word;
582 	char *begin = *ptr, *end;
583 	timelib_long  value = 0;
584 	const timelib_lookup_table *tp;
585 
586 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
587 		++*ptr;
588 	}
589 	end = *ptr;
590 	word = timelib_calloc(1, end - begin + 1);
591 	memcpy(word, begin, end - begin);
592 
593 	for (tp = timelib_month_lookup; tp->name; tp++) {
594 		if (strcasecmp(word, tp->name) == 0) {
595 			value = tp->value;
596 		}
597 	}
598 
599 	timelib_free(word);
600 	return value;
601 }
602 
timelib_get_month(char ** ptr)603 static timelib_long timelib_get_month(char **ptr)
604 {
605 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
606 		++*ptr;
607 	}
608 	return timelib_lookup_month(ptr);
609 }
610 
timelib_eat_spaces(char ** ptr)611 static void timelib_eat_spaces(char **ptr)
612 {
613 	while (**ptr == ' ' || **ptr == '\t') {
614 		++*ptr;
615 	}
616 }
617 
timelib_eat_until_separator(char ** ptr)618 static void timelib_eat_until_separator(char **ptr)
619 {
620 	++*ptr;
621 	while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
622 		++*ptr;
623 	}
624 }
625 
timelib_lookup_relunit(char ** ptr)626 static const timelib_relunit* timelib_lookup_relunit(char **ptr)
627 {
628 	char *word;
629 	char *begin = *ptr, *end;
630 	const timelib_relunit *tp, *value = NULL;
631 
632 	while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
633            **ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
634 		++*ptr;
635 	}
636 	end = *ptr;
637 	word = timelib_calloc(1, end - begin + 1);
638 	memcpy(word, begin, end - begin);
639 
640 	for (tp = timelib_relunit_lookup; tp->name; tp++) {
641 		if (strcasecmp(word, tp->name) == 0) {
642 			value = tp;
643 			break;
644 		}
645 	}
646 
647 	timelib_free(word);
648 	return value;
649 }
650 
timelib_set_relative(char ** ptr,timelib_sll amount,int behavior,Scanner * s)651 static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s)
652 {
653 	const timelib_relunit* relunit;
654 
655 	if (!(relunit = timelib_lookup_relunit(ptr))) {
656 		return;
657 	}
658 
659 	switch (relunit->unit) {
660 		case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break;
661 		case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break;
662 		case TIMELIB_HOUR:   s->time->relative.h += amount * relunit->multiplier; break;
663 		case TIMELIB_DAY:    s->time->relative.d += amount * relunit->multiplier; break;
664 		case TIMELIB_MONTH:  s->time->relative.m += amount * relunit->multiplier; break;
665 		case TIMELIB_YEAR:   s->time->relative.y += amount * relunit->multiplier; break;
666 
667 		case TIMELIB_WEEKDAY:
668 			TIMELIB_HAVE_WEEKDAY_RELATIVE();
669 			TIMELIB_UNHAVE_TIME();
670 			s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
671 			s->time->relative.weekday = relunit->multiplier;
672 			s->time->relative.weekday_behavior = behavior;
673 			break;
674 
675 		case TIMELIB_SPECIAL:
676 			TIMELIB_HAVE_SPECIAL_RELATIVE();
677 			TIMELIB_UNHAVE_TIME();
678 			s->time->relative.special.type = relunit->multiplier;
679 			s->time->relative.special.amount = amount;
680 	}
681 }
682 
abbr_search(const char * word,timelib_long gmtoffset,int isdst)683 const static timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst)
684 {
685 	int first_found = 0;
686 	const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
687 	const timelib_tz_lookup_table  *fmp;
688 
689 	if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) {
690 		return timelib_timezone_utc;
691 	}
692 
693 	for (tp = timelib_timezone_lookup; tp->name; tp++) {
694 		if (strcasecmp(word, tp->name) == 0) {
695 			if (!first_found) {
696 				first_found = 1;
697 				first_found_elem = tp;
698 				if (gmtoffset == -1) {
699 					return tp;
700 				}
701 			}
702 			if (tp->gmtoffset == gmtoffset) {
703 				return tp;
704 			}
705 		}
706 	}
707 	if (first_found) {
708 		return first_found_elem;
709 	}
710 
711 	/* Still didn't find anything, let's find the zone solely based on
712 	 * offset/isdst then */
713 	for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
714 		if ((fmp->gmtoffset * 60) == gmtoffset && fmp->type == isdst) {
715 			return fmp;
716 		}
717 	}
718 	return NULL;
719 }
720 
timelib_lookup_abbr(char ** ptr,int * dst,char ** tz_abbr,int * found)721 static timelib_long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, int *found)
722 {
723 	char *word;
724 	char *begin = *ptr, *end;
725 	timelib_long  value = 0;
726 	const timelib_tz_lookup_table *tp;
727 
728 	while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') {
729 		++*ptr;
730 	}
731 	end = *ptr;
732 	word = timelib_calloc(1, end - begin + 1);
733 	memcpy(word, begin, end - begin);
734 
735 	if ((tp = abbr_search(word, -1, 0))) {
736 		value = -tp->gmtoffset / 60;
737 		*dst = tp->type;
738 		value += tp->type * 60;
739 		*found = 1;
740 	} else {
741 		*found = 0;
742 	}
743 
744 	*tz_abbr = word;
745 	return value;
746 }
747 
timelib_parse_zone(char ** ptr,int * dst,timelib_time * t,int * tz_not_found,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_wrapper)748 timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper)
749 {
750 	timelib_tzinfo *res;
751 	timelib_long            retval = 0;
752 
753 	*tz_not_found = 0;
754 
755 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
756 		++*ptr;
757 	}
758 	if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
759 		*ptr += 3;
760 	}
761 	if (**ptr == '+') {
762 		++*ptr;
763 		t->is_localtime = 1;
764 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
765 		*tz_not_found = 0;
766 		t->dst = 0;
767 
768 		retval = -1 * timelib_parse_tz_cor(ptr);
769 	} else if (**ptr == '-') {
770 		++*ptr;
771 		t->is_localtime = 1;
772 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
773 		*tz_not_found = 0;
774 		t->dst = 0;
775 
776 		retval = timelib_parse_tz_cor(ptr);
777 	} else {
778 		int found = 0;
779 		timelib_long offset = 0;
780 		char *tz_abbr;
781 
782 		t->is_localtime = 1;
783 
784 		/* First, we lookup by abbreviation only */
785 		offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
786 		if (found) {
787 			t->zone_type = TIMELIB_ZONETYPE_ABBR;
788 			timelib_time_tz_abbr_update(t, tz_abbr);
789 		}
790 
791 		/* Otherwise, we look if we have a TimeZone identifier */
792 		if (!found || strcmp("UTC", tz_abbr) == 0) {
793 			if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) {
794 				t->tz_info = res;
795 				t->zone_type = TIMELIB_ZONETYPE_ID;
796 				found++;
797 			}
798 		}
799 		timelib_free(tz_abbr);
800 		*tz_not_found = (found == 0);
801 		retval = offset;
802 	}
803 	while (**ptr == ')') {
804 		++*ptr;
805 	}
806 	return retval;
807 }
808 
809 #define timelib_split_free(arg) {       \
810 	int i;                         \
811 	for (i = 0; i < arg.c; i++) {  \
812 		timelib_free(arg.v[i]);    \
813 	}                              \
814 	if (arg.v) {                   \
815 		timelib_free(arg.v);       \
816 	}                              \
817 }
818 
scan(Scanner * s,timelib_tz_get_wrapper tz_get_wrapper)819 static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
820 {
821 	uchar *cursor = s->cur;
822 	char *str, *ptr = NULL;
823 
824 std:
825 	s->tok = cursor;
826 	s->len = 0;
827 #line 950 "ext/date/lib/parse_date.re"
828 
829 
830 
831 #line 832 "<stdout>"
832 {
833 	YYCTYPE yych;
834 	unsigned int yyaccept = 0;
835 	static const unsigned char yybm[] = {
836 		  0,   0,   0,   0,   0,   0,   0,   0,
837 		  0, 100,   0,   0,   0,   0,   0,   0,
838 		  0,   0,   0,   0,   0,   0,   0,   0,
839 		  0,   0,   0,   0,   0,   0,   0,   0,
840 		100,   0,   0,   0,   0,   0,   0,   0,
841 		  0,   0,   0, 128,  64, 160,  96,   0,
842 		  2,   2,   2,   2,   2,   2,   2,   2,
843 		  2,   2,   0,   0,   0,   0,   0,   0,
844 		  0,   8,   8,   8,   8,   8,   8,   8,
845 		  8,   8,   8,   8,   8,   8,   8,   8,
846 		  8,   8,   8,   8,   8,   8,   8,   8,
847 		  8,   8,   8,   0,   0,   0,   0,   0,
848 		  0,  24,  24,  24,  88,  24,  24,  24,
849 		 88,  24,  24,  24,  24,  24,  88,  24,
850 		 24,  24,  88,  88,  88,  24,  24,  24,
851 		 24,  24,  24,   0,   0,   0,   0,   0,
852 		  0,   0,   0,   0,   0,   0,   0,   0,
853 		  0,   0,   0,   0,   0,   0,   0,   0,
854 		  0,   0,   0,   0,   0,   0,   0,   0,
855 		  0,   0,   0,   0,   0,   0,   0,   0,
856 		  0,   0,   0,   0,   0,   0,   0,   0,
857 		  0,   0,   0,   0,   0,   0,   0,   0,
858 		  0,   0,   0,   0,   0,   0,   0,   0,
859 		  0,   0,   0,   0,   0,   0,   0,   0,
860 		  0,   0,   0,   0,   0,   0,   0,   0,
861 		  0,   0,   0,   0,   0,   0,   0,   0,
862 		  0,   0,   0,   0,   0,   0,   0,   0,
863 		  0,   0,   0,   0,   0,   0,   0,   0,
864 		  0,   0,   0,   0,   0,   0,   0,   0,
865 		  0,   0,   0,   0,   0,   0,   0,   0,
866 		  0,   0,   0,   0,   0,   0,   0,   0,
867 		  0,   0,   0,   0,   0,   0,   0,   0,
868 	};
869 	YYDEBUG(0, *YYCURSOR);
870 	if ((YYLIMIT - YYCURSOR) < 33) YYFILL(33);
871 	yych = *YYCURSOR;
872 	switch (yych) {
873 	case 0x00:
874 	case '\n':	goto yy51;
875 	case '\t':
876 	case ' ':	goto yy48;
877 	case '(':	goto yy45;
878 	case '+':
879 	case '-':	goto yy30;
880 	case ',':
881 	case '.':	goto yy50;
882 	case '0':	goto yy25;
883 	case '1':	goto yy26;
884 	case '2':	goto yy27;
885 	case '3':	goto yy28;
886 	case '4':
887 	case '5':
888 	case '6':
889 	case '7':
890 	case '8':
891 	case '9':	goto yy29;
892 	case '@':	goto yy11;
893 	case 'A':	goto yy36;
894 	case 'B':	goto yy17;
895 	case 'C':
896 	case 'H':
897 	case 'K':
898 	case 'Q':
899 	case 'R':
900 	case 'U':
901 	case 'Z':	goto yy46;
902 	case 'D':	goto yy40;
903 	case 'E':	goto yy21;
904 	case 'F':	goto yy13;
905 	case 'G':	goto yy44;
906 	case 'I':	goto yy31;
907 	case 'J':	goto yy34;
908 	case 'L':	goto yy15;
909 	case 'M':	goto yy7;
910 	case 'N':	goto yy5;
911 	case 'O':	goto yy38;
912 	case 'P':	goto yy23;
913 	case 'S':	goto yy19;
914 	case 'T':	goto yy9;
915 	case 'V':	goto yy32;
916 	case 'W':	goto yy42;
917 	case 'X':	goto yy33;
918 	case 'Y':	goto yy2;
919 	case 'a':	goto yy37;
920 	case 'b':	goto yy18;
921 	case 'c':
922 	case 'g':
923 	case 'h':
924 	case 'i':
925 	case 'k':
926 	case 'q':
927 	case 'r':
928 	case 'u':
929 	case 'v':
930 	case 'x':
931 	case 'z':	goto yy47;
932 	case 'd':	goto yy41;
933 	case 'e':	goto yy22;
934 	case 'f':	goto yy14;
935 	case 'j':	goto yy35;
936 	case 'l':	goto yy16;
937 	case 'm':	goto yy8;
938 	case 'n':	goto yy6;
939 	case 'o':	goto yy39;
940 	case 'p':	goto yy24;
941 	case 's':	goto yy20;
942 	case 't':	goto yy10;
943 	case 'w':	goto yy43;
944 	case 'y':	goto yy4;
945 	default:	goto yy53;
946 	}
947 yy2:
948 	YYDEBUG(2, *YYCURSOR);
949 	++YYCURSOR;
950 	if ((yych = *YYCURSOR) <= 'E') {
951 		if (yych <= ')') {
952 			if (yych >= ')') goto yy139;
953 		} else {
954 			if (yych <= '@') goto yy3;
955 			if (yych <= 'D') goto yy140;
956 			goto yy1465;
957 		}
958 	} else {
959 		if (yych <= 'd') {
960 			if (yych <= 'Z') goto yy140;
961 			if (yych >= 'a') goto yy145;
962 		} else {
963 			if (yych <= 'e') goto yy1474;
964 			if (yych <= 'z') goto yy145;
965 		}
966 	}
967 yy3:
968 	YYDEBUG(3, *YYCURSOR);
969 #line 1630 "ext/date/lib/parse_date.re"
970 	{
971 		int tz_not_found;
972 		DEBUG_OUTPUT("tzcorrection | tz");
973 		TIMELIB_INIT;
974 		TIMELIB_HAVE_TZ();
975 		s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
976 		if (tz_not_found) {
977 			add_error(s, "The timezone could not be found in the database");
978 		}
979 		TIMELIB_DEINIT;
980 		return TIMELIB_TIMEZONE;
981 	}
982 #line 983 "<stdout>"
983 yy4:
984 	YYDEBUG(4, *YYCURSOR);
985 	yych = *++YYCURSOR;
986 	if (yych <= 'E') {
987 		if (yych <= ')') {
988 			if (yych <= '(') goto yy3;
989 			goto yy139;
990 		} else {
991 			if (yych <= '@') goto yy3;
992 			if (yych <= 'D') goto yy140;
993 			goto yy1465;
994 		}
995 	} else {
996 		if (yych <= 'd') {
997 			if (yych <= 'Z') goto yy140;
998 			if (yych <= '`') goto yy3;
999 			goto yy140;
1000 		} else {
1001 			if (yych <= 'e') goto yy1465;
1002 			if (yych <= 'z') goto yy140;
1003 			goto yy3;
1004 		}
1005 	}
1006 yy5:
1007 	YYDEBUG(5, *YYCURSOR);
1008 	yych = *++YYCURSOR;
1009 	if (yych <= 'O') {
1010 		if (yych <= 'D') {
1011 			if (yych == ')') goto yy139;
1012 			if (yych <= '@') goto yy3;
1013 			goto yy140;
1014 		} else {
1015 			if (yych <= 'H') {
1016 				if (yych <= 'E') goto yy1436;
1017 				goto yy140;
1018 			} else {
1019 				if (yych <= 'I') goto yy1437;
1020 				if (yych <= 'N') goto yy140;
1021 				goto yy1435;
1022 			}
1023 		}
1024 	} else {
1025 		if (yych <= 'h') {
1026 			if (yych <= '`') {
1027 				if (yych <= 'Z') goto yy140;
1028 				goto yy3;
1029 			} else {
1030 				if (yych == 'e') goto yy1452;
1031 				goto yy145;
1032 			}
1033 		} else {
1034 			if (yych <= 'n') {
1035 				if (yych <= 'i') goto yy1453;
1036 				goto yy145;
1037 			} else {
1038 				if (yych <= 'o') goto yy1451;
1039 				if (yych <= 'z') goto yy145;
1040 				goto yy3;
1041 			}
1042 		}
1043 	}
1044 yy6:
1045 	YYDEBUG(6, *YYCURSOR);
1046 	yych = *++YYCURSOR;
1047 	if (yych <= 'O') {
1048 		if (yych <= 'D') {
1049 			if (yych == ')') goto yy139;
1050 			if (yych <= '@') goto yy3;
1051 			goto yy140;
1052 		} else {
1053 			if (yych <= 'H') {
1054 				if (yych <= 'E') goto yy1436;
1055 				goto yy140;
1056 			} else {
1057 				if (yych <= 'I') goto yy1437;
1058 				if (yych <= 'N') goto yy140;
1059 				goto yy1435;
1060 			}
1061 		}
1062 	} else {
1063 		if (yych <= 'h') {
1064 			if (yych <= '`') {
1065 				if (yych <= 'Z') goto yy140;
1066 				goto yy3;
1067 			} else {
1068 				if (yych == 'e') goto yy1436;
1069 				goto yy140;
1070 			}
1071 		} else {
1072 			if (yych <= 'n') {
1073 				if (yych <= 'i') goto yy1437;
1074 				goto yy140;
1075 			} else {
1076 				if (yych <= 'o') goto yy1435;
1077 				if (yych <= 'z') goto yy140;
1078 				goto yy3;
1079 			}
1080 		}
1081 	}
1082 yy7:
1083 	YYDEBUG(7, *YYCURSOR);
1084 	yych = *++YYCURSOR;
1085 	if (yych <= 'O') {
1086 		if (yych <= 'A') {
1087 			if (yych == ')') goto yy139;
1088 			if (yych <= '@') goto yy3;
1089 			goto yy1405;
1090 		} else {
1091 			if (yych == 'I') goto yy1406;
1092 			if (yych <= 'N') goto yy140;
1093 			goto yy1407;
1094 		}
1095 	} else {
1096 		if (yych <= 'h') {
1097 			if (yych <= 'Z') goto yy140;
1098 			if (yych <= '`') goto yy3;
1099 			if (yych <= 'a') goto yy1420;
1100 			goto yy145;
1101 		} else {
1102 			if (yych <= 'n') {
1103 				if (yych <= 'i') goto yy1421;
1104 				goto yy145;
1105 			} else {
1106 				if (yych <= 'o') goto yy1422;
1107 				if (yych <= 'z') goto yy145;
1108 				goto yy3;
1109 			}
1110 		}
1111 	}
1112 yy8:
1113 	YYDEBUG(8, *YYCURSOR);
1114 	yych = *++YYCURSOR;
1115 	if (yych <= 'O') {
1116 		if (yych <= 'A') {
1117 			if (yych == ')') goto yy139;
1118 			if (yych <= '@') goto yy3;
1119 			goto yy1405;
1120 		} else {
1121 			if (yych == 'I') goto yy1406;
1122 			if (yych <= 'N') goto yy140;
1123 			goto yy1407;
1124 		}
1125 	} else {
1126 		if (yych <= 'h') {
1127 			if (yych <= 'Z') goto yy140;
1128 			if (yych <= '`') goto yy3;
1129 			if (yych <= 'a') goto yy1405;
1130 			goto yy140;
1131 		} else {
1132 			if (yych <= 'n') {
1133 				if (yych <= 'i') goto yy1406;
1134 				goto yy140;
1135 			} else {
1136 				if (yych <= 'o') goto yy1407;
1137 				if (yych <= 'z') goto yy140;
1138 				goto yy3;
1139 			}
1140 		}
1141 	}
1142 yy9:
1143 	YYDEBUG(9, *YYCURSOR);
1144 	yyaccept = 0;
1145 	yych = *(YYMARKER = ++YYCURSOR);
1146 	switch (yych) {
1147 	case ')':	goto yy139;
1148 	case '0':
1149 	case '1':	goto yy1335;
1150 	case '2':	goto yy1336;
1151 	case '3':
1152 	case '4':
1153 	case '5':
1154 	case '6':
1155 	case '7':
1156 	case '8':
1157 	case '9':	goto yy1337;
1158 	case 'A':
1159 	case 'B':
1160 	case 'C':
1161 	case 'D':
1162 	case 'F':
1163 	case 'G':
1164 	case 'I':
1165 	case 'J':
1166 	case 'K':
1167 	case 'L':
1168 	case 'M':
1169 	case 'N':
1170 	case 'P':
1171 	case 'Q':
1172 	case 'R':
1173 	case 'S':
1174 	case 'T':
1175 	case 'V':
1176 	case 'X':
1177 	case 'Y':
1178 	case 'Z':	goto yy140;
1179 	case 'E':	goto yy1330;
1180 	case 'H':	goto yy1331;
1181 	case 'O':	goto yy1332;
1182 	case 'U':	goto yy1333;
1183 	case 'W':	goto yy1334;
1184 	case 'a':
1185 	case 'b':
1186 	case 'c':
1187 	case 'd':
1188 	case 'f':
1189 	case 'g':
1190 	case 'i':
1191 	case 'j':
1192 	case 'k':
1193 	case 'l':
1194 	case 'm':
1195 	case 'n':
1196 	case 'p':
1197 	case 'q':
1198 	case 'r':
1199 	case 's':
1200 	case 't':
1201 	case 'v':
1202 	case 'x':
1203 	case 'y':
1204 	case 'z':	goto yy145;
1205 	case 'e':	goto yy1373;
1206 	case 'h':	goto yy1374;
1207 	case 'o':	goto yy1375;
1208 	case 'u':	goto yy1376;
1209 	case 'w':	goto yy1377;
1210 	default:	goto yy3;
1211 	}
1212 yy10:
1213 	YYDEBUG(10, *YYCURSOR);
1214 	yyaccept = 0;
1215 	yych = *(YYMARKER = ++YYCURSOR);
1216 	switch (yych) {
1217 	case ')':	goto yy139;
1218 	case '0':
1219 	case '1':	goto yy1335;
1220 	case '2':	goto yy1336;
1221 	case '3':
1222 	case '4':
1223 	case '5':
1224 	case '6':
1225 	case '7':
1226 	case '8':
1227 	case '9':	goto yy1337;
1228 	case 'A':
1229 	case 'B':
1230 	case 'C':
1231 	case 'D':
1232 	case 'F':
1233 	case 'G':
1234 	case 'I':
1235 	case 'J':
1236 	case 'K':
1237 	case 'L':
1238 	case 'M':
1239 	case 'N':
1240 	case 'P':
1241 	case 'Q':
1242 	case 'R':
1243 	case 'S':
1244 	case 'T':
1245 	case 'V':
1246 	case 'X':
1247 	case 'Y':
1248 	case 'Z':
1249 	case 'a':
1250 	case 'b':
1251 	case 'c':
1252 	case 'd':
1253 	case 'f':
1254 	case 'g':
1255 	case 'i':
1256 	case 'j':
1257 	case 'k':
1258 	case 'l':
1259 	case 'm':
1260 	case 'n':
1261 	case 'p':
1262 	case 'q':
1263 	case 'r':
1264 	case 's':
1265 	case 't':
1266 	case 'v':
1267 	case 'x':
1268 	case 'y':
1269 	case 'z':	goto yy140;
1270 	case 'E':
1271 	case 'e':	goto yy1330;
1272 	case 'H':
1273 	case 'h':	goto yy1331;
1274 	case 'O':
1275 	case 'o':	goto yy1332;
1276 	case 'U':
1277 	case 'u':	goto yy1333;
1278 	case 'W':
1279 	case 'w':	goto yy1334;
1280 	default:	goto yy3;
1281 	}
1282 yy11:
1283 	YYDEBUG(11, *YYCURSOR);
1284 	yyaccept = 1;
1285 	yych = *(YYMARKER = ++YYCURSOR);
1286 	if (yych == '-') goto yy1326;
1287 	if (yych <= '/') goto yy12;
1288 	if (yych <= '9') goto yy1327;
1289 yy12:
1290 	YYDEBUG(12, *YYCURSOR);
1291 #line 1725 "ext/date/lib/parse_date.re"
1292 	{
1293 		add_error(s, "Unexpected character");
1294 		goto std;
1295 	}
1296 #line 1297 "<stdout>"
1297 yy13:
1298 	YYDEBUG(13, *YYCURSOR);
1299 	yych = *++YYCURSOR;
1300 	if (yych <= 'R') {
1301 		if (yych <= 'E') {
1302 			if (yych <= ')') {
1303 				if (yych <= '(') goto yy3;
1304 				goto yy139;
1305 			} else {
1306 				if (yych <= '@') goto yy3;
1307 				if (yych <= 'D') goto yy140;
1308 				goto yy1261;
1309 			}
1310 		} else {
1311 			if (yych <= 'N') {
1312 				if (yych == 'I') goto yy1262;
1313 				goto yy140;
1314 			} else {
1315 				if (yych <= 'O') goto yy1263;
1316 				if (yych <= 'Q') goto yy140;
1317 				goto yy1264;
1318 			}
1319 		}
1320 	} else {
1321 		if (yych <= 'i') {
1322 			if (yych <= 'd') {
1323 				if (yych <= 'Z') goto yy140;
1324 				if (yych <= '`') goto yy3;
1325 				goto yy145;
1326 			} else {
1327 				if (yych <= 'e') goto yy1303;
1328 				if (yych <= 'h') goto yy145;
1329 				goto yy1304;
1330 			}
1331 		} else {
1332 			if (yych <= 'q') {
1333 				if (yych == 'o') goto yy1305;
1334 				goto yy145;
1335 			} else {
1336 				if (yych <= 'r') goto yy1306;
1337 				if (yych <= 'z') goto yy145;
1338 				goto yy3;
1339 			}
1340 		}
1341 	}
1342 yy14:
1343 	YYDEBUG(14, *YYCURSOR);
1344 	yych = *++YYCURSOR;
1345 	if (yych <= 'R') {
1346 		if (yych <= 'E') {
1347 			if (yych <= ')') {
1348 				if (yych <= '(') goto yy3;
1349 				goto yy139;
1350 			} else {
1351 				if (yych <= '@') goto yy3;
1352 				if (yych <= 'D') goto yy140;
1353 				goto yy1261;
1354 			}
1355 		} else {
1356 			if (yych <= 'N') {
1357 				if (yych == 'I') goto yy1262;
1358 				goto yy140;
1359 			} else {
1360 				if (yych <= 'O') goto yy1263;
1361 				if (yych <= 'Q') goto yy140;
1362 				goto yy1264;
1363 			}
1364 		}
1365 	} else {
1366 		if (yych <= 'i') {
1367 			if (yych <= 'd') {
1368 				if (yych <= 'Z') goto yy140;
1369 				if (yych <= '`') goto yy3;
1370 				goto yy140;
1371 			} else {
1372 				if (yych <= 'e') goto yy1261;
1373 				if (yych <= 'h') goto yy140;
1374 				goto yy1262;
1375 			}
1376 		} else {
1377 			if (yych <= 'q') {
1378 				if (yych == 'o') goto yy1263;
1379 				goto yy140;
1380 			} else {
1381 				if (yych <= 'r') goto yy1264;
1382 				if (yych <= 'z') goto yy140;
1383 				goto yy3;
1384 			}
1385 		}
1386 	}
1387 yy15:
1388 	YYDEBUG(15, *YYCURSOR);
1389 	yych = *++YYCURSOR;
1390 	if (yych <= 'A') {
1391 		if (yych == ')') goto yy139;
1392 		if (yych <= '@') goto yy3;
1393 		goto yy1247;
1394 	} else {
1395 		if (yych <= '`') {
1396 			if (yych <= 'Z') goto yy140;
1397 			goto yy3;
1398 		} else {
1399 			if (yych <= 'a') goto yy1258;
1400 			if (yych <= 'z') goto yy145;
1401 			goto yy3;
1402 		}
1403 	}
1404 yy16:
1405 	YYDEBUG(16, *YYCURSOR);
1406 	yych = *++YYCURSOR;
1407 	if (yych <= 'A') {
1408 		if (yych == ')') goto yy139;
1409 		if (yych <= '@') goto yy3;
1410 		goto yy1247;
1411 	} else {
1412 		if (yych <= '`') {
1413 			if (yych <= 'Z') goto yy140;
1414 			goto yy3;
1415 		} else {
1416 			if (yych <= 'a') goto yy1247;
1417 			if (yych <= 'z') goto yy140;
1418 			goto yy3;
1419 		}
1420 	}
1421 yy17:
1422 	YYDEBUG(17, *YYCURSOR);
1423 	yych = *++YYCURSOR;
1424 	if (yych <= 'A') {
1425 		if (yych == ')') goto yy139;
1426 		if (yych <= '@') goto yy3;
1427 		goto yy1226;
1428 	} else {
1429 		if (yych <= '`') {
1430 			if (yych <= 'Z') goto yy140;
1431 			goto yy3;
1432 		} else {
1433 			if (yych <= 'a') goto yy1244;
1434 			if (yych <= 'z') goto yy145;
1435 			goto yy3;
1436 		}
1437 	}
1438 yy18:
1439 	YYDEBUG(18, *YYCURSOR);
1440 	yych = *++YYCURSOR;
1441 	if (yych <= 'A') {
1442 		if (yych == ')') goto yy139;
1443 		if (yych <= '@') goto yy3;
1444 		goto yy1226;
1445 	} else {
1446 		if (yych <= '`') {
1447 			if (yych <= 'Z') goto yy140;
1448 			goto yy3;
1449 		} else {
1450 			if (yych <= 'a') goto yy1226;
1451 			if (yych <= 'z') goto yy140;
1452 			goto yy3;
1453 		}
1454 	}
1455 yy19:
1456 	YYDEBUG(19, *YYCURSOR);
1457 	yych = *++YYCURSOR;
1458 	if (yych <= 'U') {
1459 		if (yych <= 'D') {
1460 			if (yych <= ')') {
1461 				if (yych <= '(') goto yy3;
1462 				goto yy139;
1463 			} else {
1464 				if (yych <= '@') goto yy3;
1465 				if (yych <= 'A') goto yy1169;
1466 				goto yy140;
1467 			}
1468 		} else {
1469 			if (yych <= 'H') {
1470 				if (yych <= 'E') goto yy1168;
1471 				goto yy140;
1472 			} else {
1473 				if (yych <= 'I') goto yy1170;
1474 				if (yych <= 'T') goto yy140;
1475 				goto yy1171;
1476 			}
1477 		}
1478 	} else {
1479 		if (yych <= 'e') {
1480 			if (yych <= '`') {
1481 				if (yych <= 'Z') goto yy140;
1482 				goto yy3;
1483 			} else {
1484 				if (yych <= 'a') goto yy1198;
1485 				if (yych <= 'd') goto yy145;
1486 				goto yy1197;
1487 			}
1488 		} else {
1489 			if (yych <= 't') {
1490 				if (yych == 'i') goto yy1199;
1491 				goto yy145;
1492 			} else {
1493 				if (yych <= 'u') goto yy1200;
1494 				if (yych <= 'z') goto yy145;
1495 				goto yy3;
1496 			}
1497 		}
1498 	}
1499 yy20:
1500 	YYDEBUG(20, *YYCURSOR);
1501 	yych = *++YYCURSOR;
1502 	if (yych <= 'U') {
1503 		if (yych <= 'D') {
1504 			if (yych <= ')') {
1505 				if (yych <= '(') goto yy3;
1506 				goto yy139;
1507 			} else {
1508 				if (yych <= '@') goto yy3;
1509 				if (yych <= 'A') goto yy1169;
1510 				goto yy140;
1511 			}
1512 		} else {
1513 			if (yych <= 'H') {
1514 				if (yych <= 'E') goto yy1168;
1515 				goto yy140;
1516 			} else {
1517 				if (yych <= 'I') goto yy1170;
1518 				if (yych <= 'T') goto yy140;
1519 				goto yy1171;
1520 			}
1521 		}
1522 	} else {
1523 		if (yych <= 'e') {
1524 			if (yych <= '`') {
1525 				if (yych <= 'Z') goto yy140;
1526 				goto yy3;
1527 			} else {
1528 				if (yych <= 'a') goto yy1169;
1529 				if (yych <= 'd') goto yy140;
1530 				goto yy1168;
1531 			}
1532 		} else {
1533 			if (yych <= 't') {
1534 				if (yych == 'i') goto yy1170;
1535 				goto yy140;
1536 			} else {
1537 				if (yych <= 'u') goto yy1171;
1538 				if (yych <= 'z') goto yy140;
1539 				goto yy3;
1540 			}
1541 		}
1542 	}
1543 yy21:
1544 	YYDEBUG(21, *YYCURSOR);
1545 	yych = *++YYCURSOR;
1546 	if (yych <= 'L') {
1547 		if (yych <= '@') {
1548 			if (yych == ')') goto yy139;
1549 			goto yy3;
1550 		} else {
1551 			if (yych == 'I') goto yy1138;
1552 			if (yych <= 'K') goto yy140;
1553 			goto yy1139;
1554 		}
1555 	} else {
1556 		if (yych <= 'i') {
1557 			if (yych <= 'Z') goto yy140;
1558 			if (yych <= '`') goto yy3;
1559 			if (yych <= 'h') goto yy145;
1560 			goto yy1156;
1561 		} else {
1562 			if (yych == 'l') goto yy1157;
1563 			if (yych <= 'z') goto yy145;
1564 			goto yy3;
1565 		}
1566 	}
1567 yy22:
1568 	YYDEBUG(22, *YYCURSOR);
1569 	yych = *++YYCURSOR;
1570 	if (yych <= 'L') {
1571 		if (yych <= '@') {
1572 			if (yych == ')') goto yy139;
1573 			goto yy3;
1574 		} else {
1575 			if (yych == 'I') goto yy1138;
1576 			if (yych <= 'K') goto yy140;
1577 			goto yy1139;
1578 		}
1579 	} else {
1580 		if (yych <= 'i') {
1581 			if (yych <= 'Z') goto yy140;
1582 			if (yych <= '`') goto yy3;
1583 			if (yych <= 'h') goto yy140;
1584 			goto yy1138;
1585 		} else {
1586 			if (yych == 'l') goto yy1139;
1587 			if (yych <= 'z') goto yy140;
1588 			goto yy3;
1589 		}
1590 	}
1591 yy23:
1592 	YYDEBUG(23, *YYCURSOR);
1593 	yych = *++YYCURSOR;
1594 	if (yych <= 'R') {
1595 		if (yych <= ')') {
1596 			if (yych <= '(') goto yy3;
1597 			goto yy139;
1598 		} else {
1599 			if (yych <= '@') goto yy3;
1600 			if (yych <= 'Q') goto yy140;
1601 			goto yy1037;
1602 		}
1603 	} else {
1604 		if (yych <= 'q') {
1605 			if (yych <= 'Z') goto yy140;
1606 			if (yych <= '`') goto yy3;
1607 			goto yy145;
1608 		} else {
1609 			if (yych <= 'r') goto yy1131;
1610 			if (yych <= 'z') goto yy145;
1611 			goto yy3;
1612 		}
1613 	}
1614 yy24:
1615 	YYDEBUG(24, *YYCURSOR);
1616 	yych = *++YYCURSOR;
1617 	if (yych <= 'R') {
1618 		if (yych <= ')') {
1619 			if (yych <= '(') goto yy3;
1620 			goto yy139;
1621 		} else {
1622 			if (yych <= '@') goto yy3;
1623 			if (yych <= 'Q') goto yy140;
1624 			goto yy1037;
1625 		}
1626 	} else {
1627 		if (yych <= 'q') {
1628 			if (yych <= 'Z') goto yy140;
1629 			if (yych <= '`') goto yy3;
1630 			goto yy140;
1631 		} else {
1632 			if (yych <= 'r') goto yy1037;
1633 			if (yych <= 'z') goto yy140;
1634 			goto yy3;
1635 		}
1636 	}
1637 yy25:
1638 	YYDEBUG(25, *YYCURSOR);
1639 	yyaccept = 1;
1640 	yych = *(YYMARKER = ++YYCURSOR);
1641 	switch (yych) {
1642 	case '\t':	goto yy991;
1643 	case ' ':
1644 	case 'A':
1645 	case 'D':
1646 	case 'F':
1647 	case 'H':
1648 	case 'I':
1649 	case 'J':
1650 	case 'M':
1651 	case 'N':
1652 	case 'O':
1653 	case 'S':
1654 	case 'T':
1655 	case 'V':
1656 	case 'W':
1657 	case 'X':
1658 	case 'Y':
1659 	case 'a':
1660 	case 'd':
1661 	case 'f':
1662 	case 'h':
1663 	case 'j':
1664 	case 'm':
1665 	case 'o':
1666 	case 'w':
1667 	case 'y':	goto yy993;
1668 	case '-':	goto yy412;
1669 	case '.':	goto yy1003;
1670 	case '/':	goto yy411;
1671 	case '0':	goto yy1036;
1672 	case '1':
1673 	case '2':
1674 	case '3':
1675 	case '4':
1676 	case '5':
1677 	case '6':
1678 	case '7':
1679 	case '8':
1680 	case '9':	goto yy1035;
1681 	case ':':	goto yy1004;
1682 	case 'n':	goto yy409;
1683 	case 'r':	goto yy410;
1684 	case 's':	goto yy403;
1685 	case 't':	goto yy407;
1686 	default:	goto yy12;
1687 	}
1688 yy26:
1689 	YYDEBUG(26, *YYCURSOR);
1690 	yyaccept = 1;
1691 	yych = *(YYMARKER = ++YYCURSOR);
1692 	switch (yych) {
1693 	case '\t':	goto yy399;
1694 	case ' ':
1695 	case 'A':
1696 	case 'D':
1697 	case 'F':
1698 	case 'H':
1699 	case 'I':
1700 	case 'J':
1701 	case 'M':
1702 	case 'N':
1703 	case 'O':
1704 	case 'P':
1705 	case 'S':
1706 	case 'T':
1707 	case 'V':
1708 	case 'W':
1709 	case 'X':
1710 	case 'Y':
1711 	case 'a':
1712 	case 'd':
1713 	case 'f':
1714 	case 'h':
1715 	case 'j':
1716 	case 'm':
1717 	case 'o':
1718 	case 'p':
1719 	case 'w':
1720 	case 'y':	goto yy401;
1721 	case '-':	goto yy412;
1722 	case '.':	goto yy413;
1723 	case '/':	goto yy411;
1724 	case '0':
1725 	case '1':
1726 	case '2':	goto yy1035;
1727 	case '3':
1728 	case '4':
1729 	case '5':
1730 	case '6':
1731 	case '7':
1732 	case '8':
1733 	case '9':	goto yy1002;
1734 	case ':':	goto yy422;
1735 	case 'n':	goto yy409;
1736 	case 'r':	goto yy410;
1737 	case 's':	goto yy403;
1738 	case 't':	goto yy407;
1739 	default:	goto yy12;
1740 	}
1741 yy27:
1742 	YYDEBUG(27, *YYCURSOR);
1743 	yyaccept = 1;
1744 	yych = *(YYMARKER = ++YYCURSOR);
1745 	switch (yych) {
1746 	case '\t':	goto yy399;
1747 	case ' ':
1748 	case 'A':
1749 	case 'D':
1750 	case 'F':
1751 	case 'H':
1752 	case 'I':
1753 	case 'J':
1754 	case 'M':
1755 	case 'N':
1756 	case 'O':
1757 	case 'P':
1758 	case 'S':
1759 	case 'T':
1760 	case 'V':
1761 	case 'W':
1762 	case 'X':
1763 	case 'Y':
1764 	case 'a':
1765 	case 'd':
1766 	case 'f':
1767 	case 'h':
1768 	case 'j':
1769 	case 'm':
1770 	case 'o':
1771 	case 'p':
1772 	case 'w':
1773 	case 'y':	goto yy401;
1774 	case '-':	goto yy412;
1775 	case '.':	goto yy413;
1776 	case '/':	goto yy411;
1777 	case '0':
1778 	case '1':
1779 	case '2':
1780 	case '3':
1781 	case '4':	goto yy1002;
1782 	case '5':
1783 	case '6':
1784 	case '7':
1785 	case '8':
1786 	case '9':	goto yy989;
1787 	case ':':	goto yy422;
1788 	case 'n':	goto yy409;
1789 	case 'r':	goto yy410;
1790 	case 's':	goto yy403;
1791 	case 't':	goto yy407;
1792 	default:	goto yy12;
1793 	}
1794 yy28:
1795 	YYDEBUG(28, *YYCURSOR);
1796 	yyaccept = 1;
1797 	yych = *(YYMARKER = ++YYCURSOR);
1798 	switch (yych) {
1799 	case '\t':	goto yy399;
1800 	case ' ':
1801 	case 'A':
1802 	case 'D':
1803 	case 'F':
1804 	case 'H':
1805 	case 'I':
1806 	case 'J':
1807 	case 'M':
1808 	case 'N':
1809 	case 'O':
1810 	case 'P':
1811 	case 'S':
1812 	case 'T':
1813 	case 'V':
1814 	case 'W':
1815 	case 'X':
1816 	case 'Y':
1817 	case 'a':
1818 	case 'd':
1819 	case 'f':
1820 	case 'h':
1821 	case 'j':
1822 	case 'm':
1823 	case 'o':
1824 	case 'p':
1825 	case 'w':
1826 	case 'y':	goto yy401;
1827 	case '-':	goto yy412;
1828 	case '.':	goto yy413;
1829 	case '/':	goto yy411;
1830 	case '0':
1831 	case '1':	goto yy989;
1832 	case '2':
1833 	case '3':
1834 	case '4':
1835 	case '5':
1836 	case '6':
1837 	case '7':
1838 	case '8':
1839 	case '9':	goto yy408;
1840 	case ':':	goto yy422;
1841 	case 'n':	goto yy409;
1842 	case 'r':	goto yy410;
1843 	case 's':	goto yy403;
1844 	case 't':	goto yy407;
1845 	default:	goto yy12;
1846 	}
1847 yy29:
1848 	YYDEBUG(29, *YYCURSOR);
1849 	yyaccept = 1;
1850 	yych = *(YYMARKER = ++YYCURSOR);
1851 	switch (yych) {
1852 	case '\t':	goto yy399;
1853 	case ' ':
1854 	case 'A':
1855 	case 'D':
1856 	case 'F':
1857 	case 'H':
1858 	case 'I':
1859 	case 'J':
1860 	case 'M':
1861 	case 'N':
1862 	case 'O':
1863 	case 'P':
1864 	case 'S':
1865 	case 'T':
1866 	case 'V':
1867 	case 'W':
1868 	case 'X':
1869 	case 'Y':
1870 	case 'a':
1871 	case 'd':
1872 	case 'f':
1873 	case 'h':
1874 	case 'j':
1875 	case 'm':
1876 	case 'o':
1877 	case 'p':
1878 	case 'w':
1879 	case 'y':	goto yy401;
1880 	case '-':	goto yy412;
1881 	case '.':	goto yy413;
1882 	case '/':	goto yy411;
1883 	case '0':
1884 	case '1':
1885 	case '2':
1886 	case '3':
1887 	case '4':
1888 	case '5':
1889 	case '6':
1890 	case '7':
1891 	case '8':
1892 	case '9':	goto yy408;
1893 	case ':':	goto yy422;
1894 	case 'n':	goto yy409;
1895 	case 'r':	goto yy410;
1896 	case 's':	goto yy403;
1897 	case 't':	goto yy407;
1898 	default:	goto yy12;
1899 	}
1900 yy30:
1901 	YYDEBUG(30, *YYCURSOR);
1902 	yyaccept = 1;
1903 	yych = *(YYMARKER = ++YYCURSOR);
1904 	if (yybm[0+yych] & 4) {
1905 		goto yy57;
1906 	}
1907 	switch (yych) {
1908 	case '+':
1909 	case '-':	goto yy379;
1910 	case '0':
1911 	case '1':	goto yy376;
1912 	case '2':	goto yy377;
1913 	case '3':
1914 	case '4':
1915 	case '5':
1916 	case '6':
1917 	case '7':
1918 	case '8':
1919 	case '9':	goto yy378;
1920 	default:	goto yy12;
1921 	}
1922 yy31:
1923 	YYDEBUG(31, *YYCURSOR);
1924 	yyaccept = 0;
1925 	yych = *(YYMARKER = ++YYCURSOR);
1926 	if (yych <= '9') {
1927 		if (yych <= '(') {
1928 			if (yych <= '\t') {
1929 				if (yych <= 0x08) goto yy3;
1930 				goto yy195;
1931 			} else {
1932 				if (yych == ' ') goto yy195;
1933 				goto yy3;
1934 			}
1935 		} else {
1936 			if (yych <= ',') {
1937 				if (yych <= ')') goto yy139;
1938 				goto yy3;
1939 			} else {
1940 				if (yych == '/') goto yy3;
1941 				goto yy195;
1942 			}
1943 		}
1944 	} else {
1945 		if (yych <= 'V') {
1946 			if (yych <= 'H') {
1947 				if (yych <= '@') goto yy3;
1948 				goto yy140;
1949 			} else {
1950 				if (yych <= 'I') goto yy375;
1951 				if (yych <= 'U') goto yy140;
1952 				goto yy374;
1953 			}
1954 		} else {
1955 			if (yych <= 'Z') {
1956 				if (yych == 'X') goto yy374;
1957 				goto yy140;
1958 			} else {
1959 				if (yych <= '`') goto yy3;
1960 				if (yych <= 'z') goto yy145;
1961 				goto yy3;
1962 			}
1963 		}
1964 	}
1965 yy32:
1966 	YYDEBUG(32, *YYCURSOR);
1967 	yyaccept = 0;
1968 	yych = *(YYMARKER = ++YYCURSOR);
1969 	if (yych <= '.') {
1970 		if (yych <= ' ') {
1971 			if (yych == '\t') goto yy195;
1972 			if (yych <= 0x1F) goto yy3;
1973 			goto yy195;
1974 		} else {
1975 			if (yych == ')') goto yy139;
1976 			if (yych <= ',') goto yy3;
1977 			goto yy195;
1978 		}
1979 	} else {
1980 		if (yych <= 'H') {
1981 			if (yych <= '/') goto yy3;
1982 			if (yych <= '9') goto yy195;
1983 			if (yych <= '@') goto yy3;
1984 			goto yy140;
1985 		} else {
1986 			if (yych <= 'Z') {
1987 				if (yych <= 'I') goto yy371;
1988 				goto yy140;
1989 			} else {
1990 				if (yych <= '`') goto yy3;
1991 				if (yych <= 'z') goto yy145;
1992 				goto yy3;
1993 			}
1994 		}
1995 	}
1996 yy33:
1997 	YYDEBUG(33, *YYCURSOR);
1998 	yyaccept = 0;
1999 	yych = *(YYMARKER = ++YYCURSOR);
2000 	if (yych <= '.') {
2001 		if (yych <= ' ') {
2002 			if (yych == '\t') goto yy195;
2003 			if (yych <= 0x1F) goto yy3;
2004 			goto yy195;
2005 		} else {
2006 			if (yych == ')') goto yy139;
2007 			if (yych <= ',') goto yy3;
2008 			goto yy195;
2009 		}
2010 	} else {
2011 		if (yych <= 'H') {
2012 			if (yych <= '/') goto yy3;
2013 			if (yych <= '9') goto yy195;
2014 			if (yych <= '@') goto yy3;
2015 			goto yy140;
2016 		} else {
2017 			if (yych <= 'Z') {
2018 				if (yych <= 'I') goto yy369;
2019 				goto yy140;
2020 			} else {
2021 				if (yych <= '`') goto yy3;
2022 				if (yych <= 'z') goto yy145;
2023 				goto yy3;
2024 			}
2025 		}
2026 	}
2027 yy34:
2028 	YYDEBUG(34, *YYCURSOR);
2029 	yych = *++YYCURSOR;
2030 	if (yych <= 'U') {
2031 		if (yych <= '@') {
2032 			if (yych == ')') goto yy139;
2033 			goto yy3;
2034 		} else {
2035 			if (yych <= 'A') goto yy352;
2036 			if (yych <= 'T') goto yy140;
2037 			goto yy351;
2038 		}
2039 	} else {
2040 		if (yych <= 'a') {
2041 			if (yych <= 'Z') goto yy140;
2042 			if (yych <= '`') goto yy3;
2043 			goto yy361;
2044 		} else {
2045 			if (yych == 'u') goto yy360;
2046 			if (yych <= 'z') goto yy145;
2047 			goto yy3;
2048 		}
2049 	}
2050 yy35:
2051 	YYDEBUG(35, *YYCURSOR);
2052 	yych = *++YYCURSOR;
2053 	if (yych <= 'U') {
2054 		if (yych <= '@') {
2055 			if (yych == ')') goto yy139;
2056 			goto yy3;
2057 		} else {
2058 			if (yych <= 'A') goto yy352;
2059 			if (yych <= 'T') goto yy140;
2060 			goto yy351;
2061 		}
2062 	} else {
2063 		if (yych <= 'a') {
2064 			if (yych <= 'Z') goto yy140;
2065 			if (yych <= '`') goto yy3;
2066 			goto yy352;
2067 		} else {
2068 			if (yych == 'u') goto yy351;
2069 			if (yych <= 'z') goto yy140;
2070 			goto yy3;
2071 		}
2072 	}
2073 yy36:
2074 	YYDEBUG(36, *YYCURSOR);
2075 	yych = *++YYCURSOR;
2076 	if (yych <= 'U') {
2077 		if (yych <= 'F') {
2078 			if (yych == ')') goto yy139;
2079 			if (yych <= '@') goto yy3;
2080 			goto yy140;
2081 		} else {
2082 			if (yych <= 'O') {
2083 				if (yych <= 'G') goto yy330;
2084 				goto yy140;
2085 			} else {
2086 				if (yych <= 'P') goto yy329;
2087 				if (yych <= 'T') goto yy140;
2088 				goto yy328;
2089 			}
2090 		}
2091 	} else {
2092 		if (yych <= 'o') {
2093 			if (yych <= '`') {
2094 				if (yych <= 'Z') goto yy140;
2095 				goto yy3;
2096 			} else {
2097 				if (yych == 'g') goto yy342;
2098 				goto yy145;
2099 			}
2100 		} else {
2101 			if (yych <= 't') {
2102 				if (yych <= 'p') goto yy341;
2103 				goto yy145;
2104 			} else {
2105 				if (yych <= 'u') goto yy340;
2106 				if (yych <= 'z') goto yy145;
2107 				goto yy3;
2108 			}
2109 		}
2110 	}
2111 yy37:
2112 	YYDEBUG(37, *YYCURSOR);
2113 	yych = *++YYCURSOR;
2114 	if (yych <= 'U') {
2115 		if (yych <= 'F') {
2116 			if (yych == ')') goto yy139;
2117 			if (yych <= '@') goto yy3;
2118 			goto yy140;
2119 		} else {
2120 			if (yych <= 'O') {
2121 				if (yych <= 'G') goto yy330;
2122 				goto yy140;
2123 			} else {
2124 				if (yych <= 'P') goto yy329;
2125 				if (yych <= 'T') goto yy140;
2126 				goto yy328;
2127 			}
2128 		}
2129 	} else {
2130 		if (yych <= 'o') {
2131 			if (yych <= '`') {
2132 				if (yych <= 'Z') goto yy140;
2133 				goto yy3;
2134 			} else {
2135 				if (yych == 'g') goto yy330;
2136 				goto yy140;
2137 			}
2138 		} else {
2139 			if (yych <= 't') {
2140 				if (yych <= 'p') goto yy329;
2141 				goto yy140;
2142 			} else {
2143 				if (yych <= 'u') goto yy328;
2144 				if (yych <= 'z') goto yy140;
2145 				goto yy3;
2146 			}
2147 		}
2148 	}
2149 yy38:
2150 	YYDEBUG(38, *YYCURSOR);
2151 	yych = *++YYCURSOR;
2152 	if (yych <= 'C') {
2153 		if (yych <= ')') {
2154 			if (yych <= '(') goto yy3;
2155 			goto yy139;
2156 		} else {
2157 			if (yych <= '@') goto yy3;
2158 			if (yych <= 'B') goto yy140;
2159 			goto yy318;
2160 		}
2161 	} else {
2162 		if (yych <= 'b') {
2163 			if (yych <= 'Z') goto yy140;
2164 			if (yych <= '`') goto yy3;
2165 			goto yy145;
2166 		} else {
2167 			if (yych <= 'c') goto yy323;
2168 			if (yych <= 'z') goto yy145;
2169 			goto yy3;
2170 		}
2171 	}
2172 yy39:
2173 	YYDEBUG(39, *YYCURSOR);
2174 	yych = *++YYCURSOR;
2175 	if (yych <= 'C') {
2176 		if (yych <= ')') {
2177 			if (yych <= '(') goto yy3;
2178 			goto yy139;
2179 		} else {
2180 			if (yych <= '@') goto yy3;
2181 			if (yych <= 'B') goto yy140;
2182 			goto yy318;
2183 		}
2184 	} else {
2185 		if (yych <= 'b') {
2186 			if (yych <= 'Z') goto yy140;
2187 			if (yych <= '`') goto yy3;
2188 			goto yy140;
2189 		} else {
2190 			if (yych <= 'c') goto yy318;
2191 			if (yych <= 'z') goto yy140;
2192 			goto yy3;
2193 		}
2194 	}
2195 yy40:
2196 	YYDEBUG(40, *YYCURSOR);
2197 	yych = *++YYCURSOR;
2198 	if (yych <= 'E') {
2199 		if (yych <= ')') {
2200 			if (yych <= '(') goto yy3;
2201 			goto yy139;
2202 		} else {
2203 			if (yych <= '@') goto yy3;
2204 			if (yych <= 'D') goto yy140;
2205 			goto yy191;
2206 		}
2207 	} else {
2208 		if (yych <= 'd') {
2209 			if (yych <= 'Z') goto yy140;
2210 			if (yych <= '`') goto yy3;
2211 			goto yy145;
2212 		} else {
2213 			if (yych <= 'e') goto yy309;
2214 			if (yych <= 'z') goto yy145;
2215 			goto yy3;
2216 		}
2217 	}
2218 yy41:
2219 	YYDEBUG(41, *YYCURSOR);
2220 	yych = *++YYCURSOR;
2221 	if (yych <= 'E') {
2222 		if (yych <= ')') {
2223 			if (yych <= '(') goto yy3;
2224 			goto yy139;
2225 		} else {
2226 			if (yych <= '@') goto yy3;
2227 			if (yych <= 'D') goto yy140;
2228 			goto yy191;
2229 		}
2230 	} else {
2231 		if (yych <= 'd') {
2232 			if (yych <= 'Z') goto yy140;
2233 			if (yych <= '`') goto yy3;
2234 			goto yy140;
2235 		} else {
2236 			if (yych <= 'e') goto yy191;
2237 			if (yych <= 'z') goto yy140;
2238 			goto yy3;
2239 		}
2240 	}
2241 yy42:
2242 	YYDEBUG(42, *YYCURSOR);
2243 	yych = *++YYCURSOR;
2244 	if (yych <= 'E') {
2245 		if (yych <= ')') {
2246 			if (yych <= '(') goto yy3;
2247 			goto yy139;
2248 		} else {
2249 			if (yych <= '@') goto yy3;
2250 			if (yych <= 'D') goto yy140;
2251 			goto yy164;
2252 		}
2253 	} else {
2254 		if (yych <= 'd') {
2255 			if (yych <= 'Z') goto yy140;
2256 			if (yych <= '`') goto yy3;
2257 			goto yy145;
2258 		} else {
2259 			if (yych <= 'e') goto yy178;
2260 			if (yych <= 'z') goto yy145;
2261 			goto yy3;
2262 		}
2263 	}
2264 yy43:
2265 	YYDEBUG(43, *YYCURSOR);
2266 	yych = *++YYCURSOR;
2267 	if (yych <= 'E') {
2268 		if (yych <= ')') {
2269 			if (yych <= '(') goto yy3;
2270 			goto yy139;
2271 		} else {
2272 			if (yych <= '@') goto yy3;
2273 			if (yych <= 'D') goto yy140;
2274 			goto yy164;
2275 		}
2276 	} else {
2277 		if (yych <= 'd') {
2278 			if (yych <= 'Z') goto yy140;
2279 			if (yych <= '`') goto yy3;
2280 			goto yy140;
2281 		} else {
2282 			if (yych <= 'e') goto yy164;
2283 			if (yych <= 'z') goto yy140;
2284 			goto yy3;
2285 		}
2286 	}
2287 yy44:
2288 	YYDEBUG(44, *YYCURSOR);
2289 	yych = *++YYCURSOR;
2290 	if (yych <= 'L') {
2291 		if (yych == ')') goto yy139;
2292 		if (yych <= '@') goto yy3;
2293 		goto yy140;
2294 	} else {
2295 		if (yych <= 'Z') {
2296 			if (yych <= 'M') goto yy156;
2297 			goto yy140;
2298 		} else {
2299 			if (yych <= '`') goto yy3;
2300 			if (yych <= 'z') goto yy145;
2301 			goto yy3;
2302 		}
2303 	}
2304 yy45:
2305 	YYDEBUG(45, *YYCURSOR);
2306 	yych = *++YYCURSOR;
2307 	if (yych <= '@') goto yy12;
2308 	if (yych <= 'Z') goto yy155;
2309 	if (yych <= '`') goto yy12;
2310 	if (yych <= 'z') goto yy155;
2311 	goto yy12;
2312 yy46:
2313 	YYDEBUG(46, *YYCURSOR);
2314 	yych = *++YYCURSOR;
2315 	if (yych <= '@') {
2316 		if (yych == ')') goto yy139;
2317 		goto yy3;
2318 	} else {
2319 		if (yych <= 'Z') goto yy140;
2320 		if (yych <= '`') goto yy3;
2321 		if (yych <= 'z') goto yy145;
2322 		goto yy3;
2323 	}
2324 yy47:
2325 	YYDEBUG(47, *YYCURSOR);
2326 	yych = *++YYCURSOR;
2327 	if (yych <= '@') {
2328 		if (yych == ')') goto yy139;
2329 		goto yy3;
2330 	} else {
2331 		if (yych <= 'Z') goto yy140;
2332 		if (yych <= '`') goto yy3;
2333 		if (yych <= 'z') goto yy140;
2334 		goto yy3;
2335 	}
2336 yy48:
2337 	YYDEBUG(48, *YYCURSOR);
2338 	yyaccept = 2;
2339 	yych = *(YYMARKER = ++YYCURSOR);
2340 	if (yybm[0+yych] & 4) {
2341 		goto yy57;
2342 	}
2343 	if (yych <= '/') goto yy49;
2344 	if (yych <= '9') goto yy54;
2345 yy49:
2346 	YYDEBUG(49, *YYCURSOR);
2347 #line 1714 "ext/date/lib/parse_date.re"
2348 	{
2349 		goto std;
2350 	}
2351 #line 2352 "<stdout>"
2352 yy50:
2353 	YYDEBUG(50, *YYCURSOR);
2354 	yych = *++YYCURSOR;
2355 	goto yy49;
2356 yy51:
2357 	YYDEBUG(51, *YYCURSOR);
2358 	++YYCURSOR;
2359 	YYDEBUG(52, *YYCURSOR);
2360 #line 1719 "ext/date/lib/parse_date.re"
2361 	{
2362 		s->pos = cursor; s->line++;
2363 		goto std;
2364 	}
2365 #line 2366 "<stdout>"
2366 yy53:
2367 	YYDEBUG(53, *YYCURSOR);
2368 	yych = *++YYCURSOR;
2369 	goto yy12;
2370 yy54:
2371 	YYDEBUG(54, *YYCURSOR);
2372 	++YYCURSOR;
2373 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
2374 	yych = *YYCURSOR;
2375 	YYDEBUG(55, *YYCURSOR);
2376 	if (yybm[0+yych] & 2) {
2377 		goto yy54;
2378 	}
2379 	if (yych <= 'W') {
2380 		if (yych <= 'F') {
2381 			if (yych <= ' ') {
2382 				if (yych == '\t') goto yy59;
2383 				if (yych >= ' ') goto yy59;
2384 			} else {
2385 				if (yych == 'D') goto yy64;
2386 				if (yych >= 'F') goto yy65;
2387 			}
2388 		} else {
2389 			if (yych <= 'M') {
2390 				if (yych == 'H') goto yy63;
2391 				if (yych >= 'M') goto yy62;
2392 			} else {
2393 				if (yych <= 'S') {
2394 					if (yych >= 'S') goto yy61;
2395 				} else {
2396 					if (yych <= 'T') goto yy68;
2397 					if (yych >= 'W') goto yy67;
2398 				}
2399 			}
2400 		}
2401 	} else {
2402 		if (yych <= 'l') {
2403 			if (yych <= 'd') {
2404 				if (yych == 'Y') goto yy66;
2405 				if (yych >= 'd') goto yy64;
2406 			} else {
2407 				if (yych <= 'f') {
2408 					if (yych >= 'f') goto yy65;
2409 				} else {
2410 					if (yych == 'h') goto yy63;
2411 				}
2412 			}
2413 		} else {
2414 			if (yych <= 't') {
2415 				if (yych <= 'm') goto yy62;
2416 				if (yych <= 'r') goto yy56;
2417 				if (yych <= 's') goto yy61;
2418 				goto yy68;
2419 			} else {
2420 				if (yych <= 'w') {
2421 					if (yych >= 'w') goto yy67;
2422 				} else {
2423 					if (yych == 'y') goto yy66;
2424 				}
2425 			}
2426 		}
2427 	}
2428 yy56:
2429 	YYDEBUG(56, *YYCURSOR);
2430 	YYCURSOR = YYMARKER;
2431 	if (yyaccept <= 16) {
2432 		if (yyaccept <= 8) {
2433 			if (yyaccept <= 4) {
2434 				if (yyaccept <= 2) {
2435 					if (yyaccept <= 1) {
2436 						if (yyaccept == 0) {
2437 							goto yy3;
2438 						} else {
2439 							goto yy12;
2440 						}
2441 					} else {
2442 						goto yy49;
2443 					}
2444 				} else {
2445 					if (yyaccept == 3) {
2446 						goto yy72;
2447 					} else {
2448 						goto yy166;
2449 					}
2450 				}
2451 			} else {
2452 				if (yyaccept <= 6) {
2453 					if (yyaccept == 5) {
2454 						goto yy193;
2455 					} else {
2456 						goto yy207;
2457 					}
2458 				} else {
2459 					if (yyaccept == 7) {
2460 						goto yy221;
2461 					} else {
2462 						goto yy332;
2463 					}
2464 				}
2465 			}
2466 		} else {
2467 			if (yyaccept <= 12) {
2468 				if (yyaccept <= 10) {
2469 					if (yyaccept == 9) {
2470 						goto yy415;
2471 					} else {
2472 						goto yy430;
2473 					}
2474 				} else {
2475 					if (yyaccept == 11) {
2476 						goto yy551;
2477 					} else {
2478 						goto yy596;
2479 					}
2480 				}
2481 			} else {
2482 				if (yyaccept <= 14) {
2483 					if (yyaccept == 13) {
2484 						goto yy606;
2485 					} else {
2486 						goto yy703;
2487 					}
2488 				} else {
2489 					if (yyaccept == 15) {
2490 						goto yy723;
2491 					} else {
2492 						goto yy754;
2493 					}
2494 				}
2495 			}
2496 		}
2497 	} else {
2498 		if (yyaccept <= 24) {
2499 			if (yyaccept <= 20) {
2500 				if (yyaccept <= 18) {
2501 					if (yyaccept == 17) {
2502 						goto yy761;
2503 					} else {
2504 						goto yy788;
2505 					}
2506 				} else {
2507 					if (yyaccept == 19) {
2508 						goto yy733;
2509 					} else {
2510 						goto yy394;
2511 					}
2512 				}
2513 			} else {
2514 				if (yyaccept <= 22) {
2515 					if (yyaccept == 21) {
2516 						goto yy913;
2517 					} else {
2518 						goto yy782;
2519 					}
2520 				} else {
2521 					if (yyaccept == 23) {
2522 						goto yy1007;
2523 					} else {
2524 						goto yy1015;
2525 					}
2526 				}
2527 			}
2528 		} else {
2529 			if (yyaccept <= 28) {
2530 				if (yyaccept <= 26) {
2531 					if (yyaccept == 25) {
2532 						goto yy1057;
2533 					} else {
2534 						goto yy1081;
2535 					}
2536 				} else {
2537 					if (yyaccept == 27) {
2538 						goto yy1234;
2539 					} else {
2540 						goto yy1359;
2541 					}
2542 				}
2543 			} else {
2544 				if (yyaccept <= 30) {
2545 					if (yyaccept == 29) {
2546 						goto yy1362;
2547 					} else {
2548 						goto yy1442;
2549 					}
2550 				} else {
2551 					if (yyaccept == 31) {
2552 						goto yy1450;
2553 					} else {
2554 						goto yy1473;
2555 					}
2556 				}
2557 			}
2558 		}
2559 	}
2560 yy57:
2561 	YYDEBUG(57, *YYCURSOR);
2562 	++YYCURSOR;
2563 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
2564 	yych = *YYCURSOR;
2565 	YYDEBUG(58, *YYCURSOR);
2566 	if (yybm[0+yych] & 4) {
2567 		goto yy57;
2568 	}
2569 	if (yych <= '/') goto yy56;
2570 	if (yych <= '9') goto yy54;
2571 	goto yy56;
2572 yy59:
2573 	YYDEBUG(59, *YYCURSOR);
2574 	++YYCURSOR;
2575 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
2576 	yych = *YYCURSOR;
2577 yy60:
2578 	YYDEBUG(60, *YYCURSOR);
2579 	if (yych <= 'W') {
2580 		if (yych <= 'F') {
2581 			if (yych <= ' ') {
2582 				if (yych == '\t') goto yy59;
2583 				if (yych <= 0x1F) goto yy56;
2584 				goto yy59;
2585 			} else {
2586 				if (yych == 'D') goto yy64;
2587 				if (yych <= 'E') goto yy56;
2588 				goto yy65;
2589 			}
2590 		} else {
2591 			if (yych <= 'M') {
2592 				if (yych == 'H') goto yy63;
2593 				if (yych <= 'L') goto yy56;
2594 				goto yy62;
2595 			} else {
2596 				if (yych <= 'S') {
2597 					if (yych <= 'R') goto yy56;
2598 				} else {
2599 					if (yych <= 'T') goto yy68;
2600 					if (yych <= 'V') goto yy56;
2601 					goto yy67;
2602 				}
2603 			}
2604 		}
2605 	} else {
2606 		if (yych <= 'l') {
2607 			if (yych <= 'd') {
2608 				if (yych == 'Y') goto yy66;
2609 				if (yych <= 'c') goto yy56;
2610 				goto yy64;
2611 			} else {
2612 				if (yych <= 'f') {
2613 					if (yych <= 'e') goto yy56;
2614 					goto yy65;
2615 				} else {
2616 					if (yych == 'h') goto yy63;
2617 					goto yy56;
2618 				}
2619 			}
2620 		} else {
2621 			if (yych <= 't') {
2622 				if (yych <= 'm') goto yy62;
2623 				if (yych <= 'r') goto yy56;
2624 				if (yych >= 't') goto yy68;
2625 			} else {
2626 				if (yych <= 'w') {
2627 					if (yych <= 'v') goto yy56;
2628 					goto yy67;
2629 				} else {
2630 					if (yych == 'y') goto yy66;
2631 					goto yy56;
2632 				}
2633 			}
2634 		}
2635 	}
2636 yy61:
2637 	YYDEBUG(61, *YYCURSOR);
2638 	yych = *++YYCURSOR;
2639 	if (yych <= 'U') {
2640 		if (yych <= 'D') {
2641 			if (yych == 'A') goto yy126;
2642 			goto yy56;
2643 		} else {
2644 			if (yych <= 'E') goto yy127;
2645 			if (yych <= 'T') goto yy56;
2646 			goto yy125;
2647 		}
2648 	} else {
2649 		if (yych <= 'd') {
2650 			if (yych == 'a') goto yy126;
2651 			goto yy56;
2652 		} else {
2653 			if (yych <= 'e') goto yy127;
2654 			if (yych == 'u') goto yy125;
2655 			goto yy56;
2656 		}
2657 	}
2658 yy62:
2659 	YYDEBUG(62, *YYCURSOR);
2660 	yych = *++YYCURSOR;
2661 	if (yych <= 'O') {
2662 		if (yych == 'I') goto yy117;
2663 		if (yych <= 'N') goto yy56;
2664 		goto yy116;
2665 	} else {
2666 		if (yych <= 'i') {
2667 			if (yych <= 'h') goto yy56;
2668 			goto yy117;
2669 		} else {
2670 			if (yych == 'o') goto yy116;
2671 			goto yy56;
2672 		}
2673 	}
2674 yy63:
2675 	YYDEBUG(63, *YYCURSOR);
2676 	yych = *++YYCURSOR;
2677 	if (yych == 'O') goto yy114;
2678 	if (yych == 'o') goto yy114;
2679 	goto yy56;
2680 yy64:
2681 	YYDEBUG(64, *YYCURSOR);
2682 	yych = *++YYCURSOR;
2683 	if (yych == 'A') goto yy113;
2684 	if (yych == 'a') goto yy113;
2685 	goto yy56;
2686 yy65:
2687 	YYDEBUG(65, *YYCURSOR);
2688 	yych = *++YYCURSOR;
2689 	if (yych <= 'R') {
2690 		if (yych == 'O') goto yy98;
2691 		if (yych <= 'Q') goto yy56;
2692 		goto yy97;
2693 	} else {
2694 		if (yych <= 'o') {
2695 			if (yych <= 'n') goto yy56;
2696 			goto yy98;
2697 		} else {
2698 			if (yych == 'r') goto yy97;
2699 			goto yy56;
2700 		}
2701 	}
2702 yy66:
2703 	YYDEBUG(66, *YYCURSOR);
2704 	yych = *++YYCURSOR;
2705 	if (yych == 'E') goto yy94;
2706 	if (yych == 'e') goto yy94;
2707 	goto yy56;
2708 yy67:
2709 	YYDEBUG(67, *YYCURSOR);
2710 	yych = *++YYCURSOR;
2711 	if (yych == 'E') goto yy82;
2712 	if (yych == 'e') goto yy82;
2713 	goto yy56;
2714 yy68:
2715 	YYDEBUG(68, *YYCURSOR);
2716 	yych = *++YYCURSOR;
2717 	if (yych <= 'U') {
2718 		if (yych == 'H') goto yy69;
2719 		if (yych <= 'T') goto yy56;
2720 		goto yy70;
2721 	} else {
2722 		if (yych <= 'h') {
2723 			if (yych <= 'g') goto yy56;
2724 		} else {
2725 			if (yych == 'u') goto yy70;
2726 			goto yy56;
2727 		}
2728 	}
2729 yy69:
2730 	YYDEBUG(69, *YYCURSOR);
2731 	yych = *++YYCURSOR;
2732 	if (yych == 'U') goto yy77;
2733 	if (yych == 'u') goto yy77;
2734 	goto yy56;
2735 yy70:
2736 	YYDEBUG(70, *YYCURSOR);
2737 	yych = *++YYCURSOR;
2738 	if (yych == 'E') goto yy71;
2739 	if (yych != 'e') goto yy56;
2740 yy71:
2741 	YYDEBUG(71, *YYCURSOR);
2742 	yyaccept = 3;
2743 	yych = *(YYMARKER = ++YYCURSOR);
2744 	if (yych == 'S') goto yy73;
2745 	if (yych == 's') goto yy73;
2746 yy72:
2747 	YYDEBUG(72, *YYCURSOR);
2748 #line 1698 "ext/date/lib/parse_date.re"
2749 	{
2750 		timelib_ull i;
2751 		DEBUG_OUTPUT("relative");
2752 		TIMELIB_INIT;
2753 		TIMELIB_HAVE_RELATIVE();
2754 
2755 		while(*ptr) {
2756 			i = timelib_get_unsigned_nr((char **) &ptr, 24);
2757 			timelib_eat_spaces((char **) &ptr);
2758 			timelib_set_relative((char **) &ptr, i, 1, s);
2759 		}
2760 		TIMELIB_DEINIT;
2761 		return TIMELIB_RELATIVE;
2762 	}
2763 #line 2764 "<stdout>"
2764 yy73:
2765 	YYDEBUG(73, *YYCURSOR);
2766 	yych = *++YYCURSOR;
2767 	if (yych == 'D') goto yy74;
2768 	if (yych != 'd') goto yy56;
2769 yy74:
2770 	YYDEBUG(74, *YYCURSOR);
2771 	yych = *++YYCURSOR;
2772 	if (yych == 'A') goto yy75;
2773 	if (yych != 'a') goto yy56;
2774 yy75:
2775 	YYDEBUG(75, *YYCURSOR);
2776 	yych = *++YYCURSOR;
2777 	if (yych == 'Y') goto yy76;
2778 	if (yych != 'y') goto yy56;
2779 yy76:
2780 	YYDEBUG(76, *YYCURSOR);
2781 	yych = *++YYCURSOR;
2782 	goto yy72;
2783 yy77:
2784 	YYDEBUG(77, *YYCURSOR);
2785 	yyaccept = 3;
2786 	yych = *(YYMARKER = ++YYCURSOR);
2787 	if (yych == 'R') goto yy78;
2788 	if (yych != 'r') goto yy72;
2789 yy78:
2790 	YYDEBUG(78, *YYCURSOR);
2791 	yych = *++YYCURSOR;
2792 	if (yych == 'S') goto yy79;
2793 	if (yych != 's') goto yy56;
2794 yy79:
2795 	YYDEBUG(79, *YYCURSOR);
2796 	yych = *++YYCURSOR;
2797 	if (yych == 'D') goto yy80;
2798 	if (yych != 'd') goto yy56;
2799 yy80:
2800 	YYDEBUG(80, *YYCURSOR);
2801 	yych = *++YYCURSOR;
2802 	if (yych == 'A') goto yy81;
2803 	if (yych != 'a') goto yy56;
2804 yy81:
2805 	YYDEBUG(81, *YYCURSOR);
2806 	yych = *++YYCURSOR;
2807 	if (yych == 'Y') goto yy76;
2808 	if (yych == 'y') goto yy76;
2809 	goto yy56;
2810 yy82:
2811 	YYDEBUG(82, *YYCURSOR);
2812 	yych = *++YYCURSOR;
2813 	if (yych <= 'E') {
2814 		if (yych <= 'C') goto yy56;
2815 		if (yych <= 'D') goto yy84;
2816 	} else {
2817 		if (yych <= 'c') goto yy56;
2818 		if (yych <= 'd') goto yy84;
2819 		if (yych >= 'f') goto yy56;
2820 	}
2821 	YYDEBUG(83, *YYCURSOR);
2822 	yych = *++YYCURSOR;
2823 	if (yych == 'K') goto yy90;
2824 	if (yych == 'k') goto yy90;
2825 	goto yy56;
2826 yy84:
2827 	YYDEBUG(84, *YYCURSOR);
2828 	yyaccept = 3;
2829 	yych = *(YYMARKER = ++YYCURSOR);
2830 	if (yych == 'N') goto yy85;
2831 	if (yych != 'n') goto yy72;
2832 yy85:
2833 	YYDEBUG(85, *YYCURSOR);
2834 	yych = *++YYCURSOR;
2835 	if (yych == 'E') goto yy86;
2836 	if (yych != 'e') goto yy56;
2837 yy86:
2838 	YYDEBUG(86, *YYCURSOR);
2839 	yych = *++YYCURSOR;
2840 	if (yych == 'S') goto yy87;
2841 	if (yych != 's') goto yy56;
2842 yy87:
2843 	YYDEBUG(87, *YYCURSOR);
2844 	yych = *++YYCURSOR;
2845 	if (yych == 'D') goto yy88;
2846 	if (yych != 'd') goto yy56;
2847 yy88:
2848 	YYDEBUG(88, *YYCURSOR);
2849 	yych = *++YYCURSOR;
2850 	if (yych == 'A') goto yy89;
2851 	if (yych != 'a') goto yy56;
2852 yy89:
2853 	YYDEBUG(89, *YYCURSOR);
2854 	yych = *++YYCURSOR;
2855 	if (yych == 'Y') goto yy76;
2856 	if (yych == 'y') goto yy76;
2857 	goto yy56;
2858 yy90:
2859 	YYDEBUG(90, *YYCURSOR);
2860 	yyaccept = 3;
2861 	yych = *(YYMARKER = ++YYCURSOR);
2862 	if (yych <= 'S') {
2863 		if (yych == 'D') goto yy91;
2864 		if (yych <= 'R') goto yy72;
2865 		goto yy76;
2866 	} else {
2867 		if (yych <= 'd') {
2868 			if (yych <= 'c') goto yy72;
2869 		} else {
2870 			if (yych == 's') goto yy76;
2871 			goto yy72;
2872 		}
2873 	}
2874 yy91:
2875 	YYDEBUG(91, *YYCURSOR);
2876 	yych = *++YYCURSOR;
2877 	if (yych == 'A') goto yy92;
2878 	if (yych != 'a') goto yy56;
2879 yy92:
2880 	YYDEBUG(92, *YYCURSOR);
2881 	yych = *++YYCURSOR;
2882 	if (yych == 'Y') goto yy93;
2883 	if (yych != 'y') goto yy56;
2884 yy93:
2885 	YYDEBUG(93, *YYCURSOR);
2886 	yych = *++YYCURSOR;
2887 	if (yych == 'S') goto yy76;
2888 	if (yych == 's') goto yy76;
2889 	goto yy72;
2890 yy94:
2891 	YYDEBUG(94, *YYCURSOR);
2892 	yych = *++YYCURSOR;
2893 	if (yych == 'A') goto yy95;
2894 	if (yych != 'a') goto yy56;
2895 yy95:
2896 	YYDEBUG(95, *YYCURSOR);
2897 	yych = *++YYCURSOR;
2898 	if (yych == 'R') goto yy96;
2899 	if (yych != 'r') goto yy56;
2900 yy96:
2901 	YYDEBUG(96, *YYCURSOR);
2902 	yych = *++YYCURSOR;
2903 	if (yych == 'S') goto yy76;
2904 	if (yych == 's') goto yy76;
2905 	goto yy72;
2906 yy97:
2907 	YYDEBUG(97, *YYCURSOR);
2908 	yych = *++YYCURSOR;
2909 	if (yych == 'I') goto yy110;
2910 	if (yych == 'i') goto yy110;
2911 	goto yy56;
2912 yy98:
2913 	YYDEBUG(98, *YYCURSOR);
2914 	yych = *++YYCURSOR;
2915 	if (yych == 'R') goto yy99;
2916 	if (yych != 'r') goto yy56;
2917 yy99:
2918 	YYDEBUG(99, *YYCURSOR);
2919 	yych = *++YYCURSOR;
2920 	if (yych == 'T') goto yy100;
2921 	if (yych != 't') goto yy56;
2922 yy100:
2923 	YYDEBUG(100, *YYCURSOR);
2924 	yych = *++YYCURSOR;
2925 	if (yych <= 'N') {
2926 		if (yych == 'H') goto yy102;
2927 		if (yych <= 'M') goto yy56;
2928 	} else {
2929 		if (yych <= 'h') {
2930 			if (yych <= 'g') goto yy56;
2931 			goto yy102;
2932 		} else {
2933 			if (yych != 'n') goto yy56;
2934 		}
2935 	}
2936 	YYDEBUG(101, *YYCURSOR);
2937 	yych = *++YYCURSOR;
2938 	if (yych == 'I') goto yy107;
2939 	if (yych == 'i') goto yy107;
2940 	goto yy56;
2941 yy102:
2942 	YYDEBUG(102, *YYCURSOR);
2943 	yych = *++YYCURSOR;
2944 	if (yych == 'N') goto yy103;
2945 	if (yych != 'n') goto yy56;
2946 yy103:
2947 	YYDEBUG(103, *YYCURSOR);
2948 	yych = *++YYCURSOR;
2949 	if (yych == 'I') goto yy104;
2950 	if (yych != 'i') goto yy56;
2951 yy104:
2952 	YYDEBUG(104, *YYCURSOR);
2953 	yych = *++YYCURSOR;
2954 	if (yych == 'G') goto yy105;
2955 	if (yych != 'g') goto yy56;
2956 yy105:
2957 	YYDEBUG(105, *YYCURSOR);
2958 	yych = *++YYCURSOR;
2959 	if (yych == 'H') goto yy106;
2960 	if (yych != 'h') goto yy56;
2961 yy106:
2962 	YYDEBUG(106, *YYCURSOR);
2963 	yych = *++YYCURSOR;
2964 	if (yych == 'T') goto yy96;
2965 	if (yych == 't') goto yy96;
2966 	goto yy56;
2967 yy107:
2968 	YYDEBUG(107, *YYCURSOR);
2969 	yych = *++YYCURSOR;
2970 	if (yych == 'G') goto yy108;
2971 	if (yych != 'g') goto yy56;
2972 yy108:
2973 	YYDEBUG(108, *YYCURSOR);
2974 	yych = *++YYCURSOR;
2975 	if (yych == 'H') goto yy109;
2976 	if (yych != 'h') goto yy56;
2977 yy109:
2978 	YYDEBUG(109, *YYCURSOR);
2979 	yych = *++YYCURSOR;
2980 	if (yych == 'T') goto yy96;
2981 	if (yych == 't') goto yy96;
2982 	goto yy56;
2983 yy110:
2984 	YYDEBUG(110, *YYCURSOR);
2985 	yyaccept = 3;
2986 	yych = *(YYMARKER = ++YYCURSOR);
2987 	if (yych == 'D') goto yy111;
2988 	if (yych != 'd') goto yy72;
2989 yy111:
2990 	YYDEBUG(111, *YYCURSOR);
2991 	yych = *++YYCURSOR;
2992 	if (yych == 'A') goto yy112;
2993 	if (yych != 'a') goto yy56;
2994 yy112:
2995 	YYDEBUG(112, *YYCURSOR);
2996 	yych = *++YYCURSOR;
2997 	if (yych == 'Y') goto yy76;
2998 	if (yych == 'y') goto yy76;
2999 	goto yy56;
3000 yy113:
3001 	YYDEBUG(113, *YYCURSOR);
3002 	yych = *++YYCURSOR;
3003 	if (yych == 'Y') goto yy96;
3004 	if (yych == 'y') goto yy96;
3005 	goto yy56;
3006 yy114:
3007 	YYDEBUG(114, *YYCURSOR);
3008 	yych = *++YYCURSOR;
3009 	if (yych == 'U') goto yy115;
3010 	if (yych != 'u') goto yy56;
3011 yy115:
3012 	YYDEBUG(115, *YYCURSOR);
3013 	yych = *++YYCURSOR;
3014 	if (yych == 'R') goto yy96;
3015 	if (yych == 'r') goto yy96;
3016 	goto yy56;
3017 yy116:
3018 	YYDEBUG(116, *YYCURSOR);
3019 	yych = *++YYCURSOR;
3020 	if (yych == 'N') goto yy121;
3021 	if (yych == 'n') goto yy121;
3022 	goto yy56;
3023 yy117:
3024 	YYDEBUG(117, *YYCURSOR);
3025 	yych = *++YYCURSOR;
3026 	if (yych == 'N') goto yy118;
3027 	if (yych != 'n') goto yy56;
3028 yy118:
3029 	YYDEBUG(118, *YYCURSOR);
3030 	yyaccept = 3;
3031 	yych = *(YYMARKER = ++YYCURSOR);
3032 	if (yych <= 'U') {
3033 		if (yych == 'S') goto yy76;
3034 		if (yych <= 'T') goto yy72;
3035 	} else {
3036 		if (yych <= 's') {
3037 			if (yych <= 'r') goto yy72;
3038 			goto yy76;
3039 		} else {
3040 			if (yych != 'u') goto yy72;
3041 		}
3042 	}
3043 	YYDEBUG(119, *YYCURSOR);
3044 	yych = *++YYCURSOR;
3045 	if (yych == 'T') goto yy120;
3046 	if (yych != 't') goto yy56;
3047 yy120:
3048 	YYDEBUG(120, *YYCURSOR);
3049 	yych = *++YYCURSOR;
3050 	if (yych == 'E') goto yy96;
3051 	if (yych == 'e') goto yy96;
3052 	goto yy56;
3053 yy121:
3054 	YYDEBUG(121, *YYCURSOR);
3055 	yyaccept = 3;
3056 	yych = *(YYMARKER = ++YYCURSOR);
3057 	if (yych <= 'T') {
3058 		if (yych == 'D') goto yy122;
3059 		if (yych <= 'S') goto yy72;
3060 		goto yy123;
3061 	} else {
3062 		if (yych <= 'd') {
3063 			if (yych <= 'c') goto yy72;
3064 		} else {
3065 			if (yych == 't') goto yy123;
3066 			goto yy72;
3067 		}
3068 	}
3069 yy122:
3070 	YYDEBUG(122, *YYCURSOR);
3071 	yych = *++YYCURSOR;
3072 	if (yych == 'A') goto yy124;
3073 	if (yych == 'a') goto yy124;
3074 	goto yy56;
3075 yy123:
3076 	YYDEBUG(123, *YYCURSOR);
3077 	yych = *++YYCURSOR;
3078 	if (yych == 'H') goto yy96;
3079 	if (yych == 'h') goto yy96;
3080 	goto yy56;
3081 yy124:
3082 	YYDEBUG(124, *YYCURSOR);
3083 	yych = *++YYCURSOR;
3084 	if (yych == 'Y') goto yy76;
3085 	if (yych == 'y') goto yy76;
3086 	goto yy56;
3087 yy125:
3088 	YYDEBUG(125, *YYCURSOR);
3089 	yych = *++YYCURSOR;
3090 	if (yych == 'N') goto yy136;
3091 	if (yych == 'n') goto yy136;
3092 	goto yy56;
3093 yy126:
3094 	YYDEBUG(126, *YYCURSOR);
3095 	yych = *++YYCURSOR;
3096 	if (yych == 'T') goto yy131;
3097 	if (yych == 't') goto yy131;
3098 	goto yy56;
3099 yy127:
3100 	YYDEBUG(127, *YYCURSOR);
3101 	yych = *++YYCURSOR;
3102 	if (yych == 'C') goto yy128;
3103 	if (yych != 'c') goto yy56;
3104 yy128:
3105 	YYDEBUG(128, *YYCURSOR);
3106 	yyaccept = 3;
3107 	yych = *(YYMARKER = ++YYCURSOR);
3108 	if (yych <= 'S') {
3109 		if (yych == 'O') goto yy129;
3110 		if (yych <= 'R') goto yy72;
3111 		goto yy76;
3112 	} else {
3113 		if (yych <= 'o') {
3114 			if (yych <= 'n') goto yy72;
3115 		} else {
3116 			if (yych == 's') goto yy76;
3117 			goto yy72;
3118 		}
3119 	}
3120 yy129:
3121 	YYDEBUG(129, *YYCURSOR);
3122 	yych = *++YYCURSOR;
3123 	if (yych == 'N') goto yy130;
3124 	if (yych != 'n') goto yy56;
3125 yy130:
3126 	YYDEBUG(130, *YYCURSOR);
3127 	yych = *++YYCURSOR;
3128 	if (yych == 'D') goto yy96;
3129 	if (yych == 'd') goto yy96;
3130 	goto yy56;
3131 yy131:
3132 	YYDEBUG(131, *YYCURSOR);
3133 	yyaccept = 3;
3134 	yych = *(YYMARKER = ++YYCURSOR);
3135 	if (yych == 'U') goto yy132;
3136 	if (yych != 'u') goto yy72;
3137 yy132:
3138 	YYDEBUG(132, *YYCURSOR);
3139 	yych = *++YYCURSOR;
3140 	if (yych == 'R') goto yy133;
3141 	if (yych != 'r') goto yy56;
3142 yy133:
3143 	YYDEBUG(133, *YYCURSOR);
3144 	yych = *++YYCURSOR;
3145 	if (yych == 'D') goto yy134;
3146 	if (yych != 'd') goto yy56;
3147 yy134:
3148 	YYDEBUG(134, *YYCURSOR);
3149 	yych = *++YYCURSOR;
3150 	if (yych == 'A') goto yy135;
3151 	if (yych != 'a') goto yy56;
3152 yy135:
3153 	YYDEBUG(135, *YYCURSOR);
3154 	yych = *++YYCURSOR;
3155 	if (yych == 'Y') goto yy76;
3156 	if (yych == 'y') goto yy76;
3157 	goto yy56;
3158 yy136:
3159 	YYDEBUG(136, *YYCURSOR);
3160 	yyaccept = 3;
3161 	yych = *(YYMARKER = ++YYCURSOR);
3162 	if (yych == 'D') goto yy137;
3163 	if (yych != 'd') goto yy72;
3164 yy137:
3165 	YYDEBUG(137, *YYCURSOR);
3166 	yych = *++YYCURSOR;
3167 	if (yych == 'A') goto yy138;
3168 	if (yych != 'a') goto yy56;
3169 yy138:
3170 	YYDEBUG(138, *YYCURSOR);
3171 	yych = *++YYCURSOR;
3172 	if (yych == 'Y') goto yy76;
3173 	if (yych == 'y') goto yy76;
3174 	goto yy56;
3175 yy139:
3176 	YYDEBUG(139, *YYCURSOR);
3177 	yych = *++YYCURSOR;
3178 	goto yy3;
3179 yy140:
3180 	YYDEBUG(140, *YYCURSOR);
3181 	yych = *++YYCURSOR;
3182 	if (yych <= '@') {
3183 		if (yych == ')') goto yy139;
3184 		goto yy3;
3185 	} else {
3186 		if (yych <= 'Z') goto yy141;
3187 		if (yych <= '`') goto yy3;
3188 		if (yych >= '{') goto yy3;
3189 	}
3190 yy141:
3191 	YYDEBUG(141, *YYCURSOR);
3192 	yych = *++YYCURSOR;
3193 	if (yych <= '@') {
3194 		if (yych == ')') goto yy139;
3195 		goto yy3;
3196 	} else {
3197 		if (yych <= 'Z') goto yy142;
3198 		if (yych <= '`') goto yy3;
3199 		if (yych >= '{') goto yy3;
3200 	}
3201 yy142:
3202 	YYDEBUG(142, *YYCURSOR);
3203 	yych = *++YYCURSOR;
3204 	if (yych <= '@') {
3205 		if (yych == ')') goto yy139;
3206 		goto yy3;
3207 	} else {
3208 		if (yych <= 'Z') goto yy143;
3209 		if (yych <= '`') goto yy3;
3210 		if (yych >= '{') goto yy3;
3211 	}
3212 yy143:
3213 	YYDEBUG(143, *YYCURSOR);
3214 	yych = *++YYCURSOR;
3215 	if (yych <= '@') {
3216 		if (yych == ')') goto yy139;
3217 		goto yy3;
3218 	} else {
3219 		if (yych <= 'Z') goto yy144;
3220 		if (yych <= '`') goto yy3;
3221 		if (yych >= '{') goto yy3;
3222 	}
3223 yy144:
3224 	YYDEBUG(144, *YYCURSOR);
3225 	yych = *++YYCURSOR;
3226 	if (yych == ')') goto yy139;
3227 	goto yy3;
3228 yy145:
3229 	YYDEBUG(145, *YYCURSOR);
3230 	yyaccept = 0;
3231 	yych = *(YYMARKER = ++YYCURSOR);
3232 	if (yych <= '/') {
3233 		if (yych <= ',') {
3234 			if (yych == ')') goto yy139;
3235 			goto yy3;
3236 		} else {
3237 			if (yych == '.') goto yy3;
3238 			goto yy147;
3239 		}
3240 	} else {
3241 		if (yych <= '^') {
3242 			if (yych <= '@') goto yy3;
3243 			if (yych <= 'Z') goto yy141;
3244 			goto yy3;
3245 		} else {
3246 			if (yych <= '_') goto yy147;
3247 			if (yych <= '`') goto yy3;
3248 			if (yych >= '{') goto yy3;
3249 		}
3250 	}
3251 yy146:
3252 	YYDEBUG(146, *YYCURSOR);
3253 	yyaccept = 0;
3254 	yych = *(YYMARKER = ++YYCURSOR);
3255 	if (yych <= '/') {
3256 		if (yych <= ',') {
3257 			if (yych == ')') goto yy139;
3258 			goto yy3;
3259 		} else {
3260 			if (yych == '.') goto yy3;
3261 		}
3262 	} else {
3263 		if (yych <= '^') {
3264 			if (yych <= '@') goto yy3;
3265 			if (yych <= 'Z') goto yy142;
3266 			goto yy3;
3267 		} else {
3268 			if (yych <= '_') goto yy147;
3269 			if (yych <= '`') goto yy3;
3270 			if (yych <= 'z') goto yy150;
3271 			goto yy3;
3272 		}
3273 	}
3274 yy147:
3275 	YYDEBUG(147, *YYCURSOR);
3276 	++YYCURSOR;
3277 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3278 	yych = *YYCURSOR;
3279 	if (yybm[0+yych] & 8) {
3280 		goto yy148;
3281 	}
3282 	goto yy56;
3283 yy148:
3284 	YYDEBUG(148, *YYCURSOR);
3285 	yyaccept = 0;
3286 	YYMARKER = ++YYCURSOR;
3287 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3288 	yych = *YYCURSOR;
3289 	YYDEBUG(149, *YYCURSOR);
3290 	if (yybm[0+yych] & 8) {
3291 		goto yy148;
3292 	}
3293 	if (yych <= '.') {
3294 		if (yych == '-') goto yy147;
3295 		goto yy3;
3296 	} else {
3297 		if (yych <= '/') goto yy147;
3298 		if (yych == '_') goto yy147;
3299 		goto yy3;
3300 	}
3301 yy150:
3302 	YYDEBUG(150, *YYCURSOR);
3303 	yyaccept = 0;
3304 	yych = *(YYMARKER = ++YYCURSOR);
3305 	if (yych <= '/') {
3306 		if (yych <= ',') {
3307 			if (yych == ')') goto yy139;
3308 			goto yy3;
3309 		} else {
3310 			if (yych == '.') goto yy3;
3311 			goto yy147;
3312 		}
3313 	} else {
3314 		if (yych <= '^') {
3315 			if (yych <= '@') goto yy3;
3316 			if (yych <= 'Z') goto yy143;
3317 			goto yy3;
3318 		} else {
3319 			if (yych <= '_') goto yy147;
3320 			if (yych <= '`') goto yy3;
3321 			if (yych >= '{') goto yy3;
3322 		}
3323 	}
3324 yy151:
3325 	YYDEBUG(151, *YYCURSOR);
3326 	yyaccept = 0;
3327 	yych = *(YYMARKER = ++YYCURSOR);
3328 	if (yych <= '/') {
3329 		if (yych <= ',') {
3330 			if (yych == ')') goto yy139;
3331 			goto yy3;
3332 		} else {
3333 			if (yych == '.') goto yy3;
3334 			goto yy147;
3335 		}
3336 	} else {
3337 		if (yych <= '^') {
3338 			if (yych <= '@') goto yy3;
3339 			if (yych <= 'Z') goto yy144;
3340 			goto yy3;
3341 		} else {
3342 			if (yych <= '_') goto yy147;
3343 			if (yych <= '`') goto yy3;
3344 			if (yych >= '{') goto yy3;
3345 		}
3346 	}
3347 yy152:
3348 	YYDEBUG(152, *YYCURSOR);
3349 	yyaccept = 0;
3350 	yych = *(YYMARKER = ++YYCURSOR);
3351 	if (yybm[0+yych] & 16) {
3352 		goto yy153;
3353 	}
3354 	if (yych <= '-') {
3355 		if (yych == ')') goto yy139;
3356 		if (yych <= ',') goto yy3;
3357 		goto yy147;
3358 	} else {
3359 		if (yych <= '/') {
3360 			if (yych <= '.') goto yy3;
3361 			goto yy147;
3362 		} else {
3363 			if (yych == '_') goto yy147;
3364 			goto yy3;
3365 		}
3366 	}
3367 yy153:
3368 	YYDEBUG(153, *YYCURSOR);
3369 	++YYCURSOR;
3370 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3371 	yych = *YYCURSOR;
3372 yy154:
3373 	YYDEBUG(154, *YYCURSOR);
3374 	if (yybm[0+yych] & 16) {
3375 		goto yy153;
3376 	}
3377 	if (yych <= '.') {
3378 		if (yych == '-') goto yy147;
3379 		goto yy56;
3380 	} else {
3381 		if (yych <= '/') goto yy147;
3382 		if (yych == '_') goto yy147;
3383 		goto yy56;
3384 	}
3385 yy155:
3386 	YYDEBUG(155, *YYCURSOR);
3387 	yych = *++YYCURSOR;
3388 	if (yych <= '@') {
3389 		if (yych == ')') goto yy139;
3390 		goto yy3;
3391 	} else {
3392 		if (yych <= 'Z') goto yy140;
3393 		if (yych <= '`') goto yy3;
3394 		if (yych <= 'z') goto yy140;
3395 		goto yy3;
3396 	}
3397 yy156:
3398 	YYDEBUG(156, *YYCURSOR);
3399 	yych = *++YYCURSOR;
3400 	if (yych <= 'S') {
3401 		if (yych == ')') goto yy139;
3402 		if (yych <= '@') goto yy3;
3403 		goto yy141;
3404 	} else {
3405 		if (yych <= 'Z') {
3406 			if (yych >= 'U') goto yy141;
3407 		} else {
3408 			if (yych <= '`') goto yy3;
3409 			if (yych <= 'z') goto yy141;
3410 			goto yy3;
3411 		}
3412 	}
3413 	YYDEBUG(157, *YYCURSOR);
3414 	yyaccept = 0;
3415 	yych = *(YYMARKER = ++YYCURSOR);
3416 	if (yych <= ',') {
3417 		if (yych <= ')') {
3418 			if (yych <= '(') goto yy3;
3419 			goto yy139;
3420 		} else {
3421 			if (yych != '+') goto yy3;
3422 		}
3423 	} else {
3424 		if (yych <= 'Z') {
3425 			if (yych <= '-') goto yy158;
3426 			if (yych <= '@') goto yy3;
3427 			goto yy142;
3428 		} else {
3429 			if (yych <= '`') goto yy3;
3430 			if (yych <= 'z') goto yy142;
3431 			goto yy3;
3432 		}
3433 	}
3434 yy158:
3435 	YYDEBUG(158, *YYCURSOR);
3436 	yych = *++YYCURSOR;
3437 	if (yych <= '/') goto yy56;
3438 	if (yych <= '1') goto yy159;
3439 	if (yych <= '2') goto yy160;
3440 	if (yych <= '9') goto yy161;
3441 	goto yy56;
3442 yy159:
3443 	YYDEBUG(159, *YYCURSOR);
3444 	yych = *++YYCURSOR;
3445 	if (yych <= '/') goto yy3;
3446 	if (yych <= '9') goto yy161;
3447 	if (yych <= ':') goto yy162;
3448 	goto yy3;
3449 yy160:
3450 	YYDEBUG(160, *YYCURSOR);
3451 	yych = *++YYCURSOR;
3452 	if (yych <= '5') {
3453 		if (yych <= '/') goto yy3;
3454 		if (yych >= '5') goto yy163;
3455 	} else {
3456 		if (yych <= '9') goto yy139;
3457 		if (yych <= ':') goto yy162;
3458 		goto yy3;
3459 	}
3460 yy161:
3461 	YYDEBUG(161, *YYCURSOR);
3462 	yych = *++YYCURSOR;
3463 	if (yych <= '/') goto yy3;
3464 	if (yych <= '5') goto yy163;
3465 	if (yych <= '9') goto yy139;
3466 	if (yych >= ';') goto yy3;
3467 yy162:
3468 	YYDEBUG(162, *YYCURSOR);
3469 	yych = *++YYCURSOR;
3470 	if (yych <= '/') goto yy3;
3471 	if (yych <= '5') goto yy163;
3472 	if (yych <= '9') goto yy139;
3473 	goto yy3;
3474 yy163:
3475 	YYDEBUG(163, *YYCURSOR);
3476 	yych = *++YYCURSOR;
3477 	if (yych <= '/') goto yy3;
3478 	if (yych <= '9') goto yy139;
3479 	goto yy3;
3480 yy164:
3481 	YYDEBUG(164, *YYCURSOR);
3482 	yych = *++YYCURSOR;
3483 	if (yych <= 'E') {
3484 		if (yych <= '@') {
3485 			if (yych == ')') goto yy139;
3486 			goto yy3;
3487 		} else {
3488 			if (yych <= 'C') goto yy141;
3489 			if (yych >= 'E') goto yy167;
3490 		}
3491 	} else {
3492 		if (yych <= 'c') {
3493 			if (yych <= 'Z') goto yy141;
3494 			if (yych <= '`') goto yy3;
3495 			goto yy141;
3496 		} else {
3497 			if (yych <= 'd') goto yy165;
3498 			if (yych <= 'e') goto yy167;
3499 			if (yych <= 'z') goto yy141;
3500 			goto yy3;
3501 		}
3502 	}
3503 yy165:
3504 	YYDEBUG(165, *YYCURSOR);
3505 	++YYCURSOR;
3506 	if ((yych = *YYCURSOR) <= 'N') {
3507 		if (yych <= ')') {
3508 			if (yych >= ')') goto yy139;
3509 		} else {
3510 			if (yych <= '@') goto yy166;
3511 			if (yych <= 'M') goto yy142;
3512 			goto yy173;
3513 		}
3514 	} else {
3515 		if (yych <= 'm') {
3516 			if (yych <= 'Z') goto yy142;
3517 			if (yych >= 'a') goto yy142;
3518 		} else {
3519 			if (yych <= 'n') goto yy173;
3520 			if (yych <= 'z') goto yy142;
3521 		}
3522 	}
3523 yy166:
3524 	YYDEBUG(166, *YYCURSOR);
3525 #line 1561 "ext/date/lib/parse_date.re"
3526 	{
3527 		const timelib_relunit* relunit;
3528 		DEBUG_OUTPUT("daytext");
3529 		TIMELIB_INIT;
3530 		TIMELIB_HAVE_RELATIVE();
3531 		TIMELIB_HAVE_WEEKDAY_RELATIVE();
3532 		TIMELIB_UNHAVE_TIME();
3533 		relunit = timelib_lookup_relunit((char**) &ptr);
3534 		s->time->relative.weekday = relunit->multiplier;
3535 		if (s->time->relative.weekday_behavior != 2) {
3536 			s->time->relative.weekday_behavior = 1;
3537 		}
3538 
3539 		TIMELIB_DEINIT;
3540 		return TIMELIB_WEEKDAY;
3541 	}
3542 #line 3543 "<stdout>"
3543 yy167:
3544 	YYDEBUG(167, *YYCURSOR);
3545 	yych = *++YYCURSOR;
3546 	if (yych <= 'K') {
3547 		if (yych <= ')') {
3548 			if (yych <= '(') goto yy3;
3549 			goto yy139;
3550 		} else {
3551 			if (yych <= '@') goto yy3;
3552 			if (yych <= 'J') goto yy142;
3553 		}
3554 	} else {
3555 		if (yych <= 'j') {
3556 			if (yych <= 'Z') goto yy142;
3557 			if (yych <= '`') goto yy3;
3558 			goto yy142;
3559 		} else {
3560 			if (yych <= 'k') goto yy168;
3561 			if (yych <= 'z') goto yy142;
3562 			goto yy3;
3563 		}
3564 	}
3565 yy168:
3566 	YYDEBUG(168, *YYCURSOR);
3567 	yych = *++YYCURSOR;
3568 	if (yych <= 'D') {
3569 		if (yych <= ')') {
3570 			if (yych <= '(') goto yy3;
3571 			goto yy139;
3572 		} else {
3573 			if (yych <= '@') goto yy3;
3574 			if (yych <= 'C') goto yy143;
3575 		}
3576 	} else {
3577 		if (yych <= 'c') {
3578 			if (yych <= 'Z') goto yy143;
3579 			if (yych <= '`') goto yy3;
3580 			goto yy143;
3581 		} else {
3582 			if (yych <= 'd') goto yy169;
3583 			if (yych <= 'z') goto yy143;
3584 			goto yy3;
3585 		}
3586 	}
3587 yy169:
3588 	YYDEBUG(169, *YYCURSOR);
3589 	yych = *++YYCURSOR;
3590 	if (yych <= 'A') {
3591 		if (yych == ')') goto yy139;
3592 		if (yych <= '@') goto yy3;
3593 	} else {
3594 		if (yych <= '`') {
3595 			if (yych <= 'Z') goto yy144;
3596 			goto yy3;
3597 		} else {
3598 			if (yych <= 'a') goto yy170;
3599 			if (yych <= 'z') goto yy144;
3600 			goto yy3;
3601 		}
3602 	}
3603 yy170:
3604 	YYDEBUG(170, *YYCURSOR);
3605 	yych = *++YYCURSOR;
3606 	if (yych <= 'X') {
3607 		if (yych == ')') goto yy139;
3608 		goto yy3;
3609 	} else {
3610 		if (yych <= 'Y') goto yy171;
3611 		if (yych != 'y') goto yy3;
3612 	}
3613 yy171:
3614 	YYDEBUG(171, *YYCURSOR);
3615 	yych = *++YYCURSOR;
3616 	if (yych == 'S') goto yy172;
3617 	if (yych != 's') goto yy166;
3618 yy172:
3619 	YYDEBUG(172, *YYCURSOR);
3620 	yych = *++YYCURSOR;
3621 	goto yy166;
3622 yy173:
3623 	YYDEBUG(173, *YYCURSOR);
3624 	yych = *++YYCURSOR;
3625 	if (yych <= 'E') {
3626 		if (yych <= ')') {
3627 			if (yych <= '(') goto yy3;
3628 			goto yy139;
3629 		} else {
3630 			if (yych <= '@') goto yy3;
3631 			if (yych <= 'D') goto yy143;
3632 		}
3633 	} else {
3634 		if (yych <= 'd') {
3635 			if (yych <= 'Z') goto yy143;
3636 			if (yych <= '`') goto yy3;
3637 			goto yy143;
3638 		} else {
3639 			if (yych <= 'e') goto yy174;
3640 			if (yych <= 'z') goto yy143;
3641 			goto yy3;
3642 		}
3643 	}
3644 yy174:
3645 	YYDEBUG(174, *YYCURSOR);
3646 	yych = *++YYCURSOR;
3647 	if (yych <= 'S') {
3648 		if (yych <= ')') {
3649 			if (yych <= '(') goto yy3;
3650 			goto yy139;
3651 		} else {
3652 			if (yych <= '@') goto yy3;
3653 			if (yych <= 'R') goto yy144;
3654 		}
3655 	} else {
3656 		if (yych <= 'r') {
3657 			if (yych <= 'Z') goto yy144;
3658 			if (yych <= '`') goto yy3;
3659 			goto yy144;
3660 		} else {
3661 			if (yych <= 's') goto yy175;
3662 			if (yych <= 'z') goto yy144;
3663 			goto yy3;
3664 		}
3665 	}
3666 yy175:
3667 	YYDEBUG(175, *YYCURSOR);
3668 	yyaccept = 0;
3669 	yych = *(YYMARKER = ++YYCURSOR);
3670 	if (yych <= 'C') {
3671 		if (yych == ')') goto yy139;
3672 		goto yy3;
3673 	} else {
3674 		if (yych <= 'D') goto yy176;
3675 		if (yych != 'd') goto yy3;
3676 	}
3677 yy176:
3678 	YYDEBUG(176, *YYCURSOR);
3679 	yych = *++YYCURSOR;
3680 	if (yych == 'A') goto yy177;
3681 	if (yych != 'a') goto yy56;
3682 yy177:
3683 	YYDEBUG(177, *YYCURSOR);
3684 	yych = *++YYCURSOR;
3685 	if (yych == 'Y') goto yy172;
3686 	if (yych == 'y') goto yy172;
3687 	goto yy56;
3688 yy178:
3689 	YYDEBUG(178, *YYCURSOR);
3690 	yyaccept = 0;
3691 	yych = *(YYMARKER = ++YYCURSOR);
3692 	if (yych <= 'D') {
3693 		if (yych <= '-') {
3694 			if (yych == ')') goto yy139;
3695 			if (yych <= ',') goto yy3;
3696 			goto yy147;
3697 		} else {
3698 			if (yych <= '/') {
3699 				if (yych <= '.') goto yy3;
3700 				goto yy147;
3701 			} else {
3702 				if (yych <= '@') goto yy3;
3703 				if (yych <= 'C') goto yy141;
3704 				goto yy165;
3705 			}
3706 		}
3707 	} else {
3708 		if (yych <= '`') {
3709 			if (yych <= 'Z') {
3710 				if (yych <= 'E') goto yy167;
3711 				goto yy141;
3712 			} else {
3713 				if (yych == '_') goto yy147;
3714 				goto yy3;
3715 			}
3716 		} else {
3717 			if (yych <= 'd') {
3718 				if (yych <= 'c') goto yy146;
3719 			} else {
3720 				if (yych <= 'e') goto yy180;
3721 				if (yych <= 'z') goto yy146;
3722 				goto yy3;
3723 			}
3724 		}
3725 	}
3726 	YYDEBUG(179, *YYCURSOR);
3727 	yyaccept = 4;
3728 	yych = *(YYMARKER = ++YYCURSOR);
3729 	if (yych <= 'M') {
3730 		if (yych <= '-') {
3731 			if (yych == ')') goto yy139;
3732 			if (yych <= ',') goto yy166;
3733 			goto yy147;
3734 		} else {
3735 			if (yych == '/') goto yy147;
3736 			if (yych <= '@') goto yy166;
3737 			goto yy142;
3738 		}
3739 	} else {
3740 		if (yych <= '_') {
3741 			if (yych <= 'N') goto yy173;
3742 			if (yych <= 'Z') goto yy142;
3743 			if (yych <= '^') goto yy166;
3744 			goto yy147;
3745 		} else {
3746 			if (yych <= 'm') {
3747 				if (yych <= '`') goto yy166;
3748 				goto yy150;
3749 			} else {
3750 				if (yych <= 'n') goto yy186;
3751 				if (yych <= 'z') goto yy150;
3752 				goto yy166;
3753 			}
3754 		}
3755 	}
3756 yy180:
3757 	YYDEBUG(180, *YYCURSOR);
3758 	yyaccept = 0;
3759 	yych = *(YYMARKER = ++YYCURSOR);
3760 	if (yych <= 'J') {
3761 		if (yych <= '-') {
3762 			if (yych == ')') goto yy139;
3763 			if (yych <= ',') goto yy3;
3764 			goto yy147;
3765 		} else {
3766 			if (yych == '/') goto yy147;
3767 			if (yych <= '@') goto yy3;
3768 			goto yy142;
3769 		}
3770 	} else {
3771 		if (yych <= '_') {
3772 			if (yych <= 'K') goto yy168;
3773 			if (yych <= 'Z') goto yy142;
3774 			if (yych <= '^') goto yy3;
3775 			goto yy147;
3776 		} else {
3777 			if (yych <= 'j') {
3778 				if (yych <= '`') goto yy3;
3779 				goto yy150;
3780 			} else {
3781 				if (yych <= 'k') goto yy181;
3782 				if (yych <= 'z') goto yy150;
3783 				goto yy3;
3784 			}
3785 		}
3786 	}
3787 yy181:
3788 	YYDEBUG(181, *YYCURSOR);
3789 	yyaccept = 0;
3790 	yych = *(YYMARKER = ++YYCURSOR);
3791 	if (yych <= 'C') {
3792 		if (yych <= '-') {
3793 			if (yych == ')') goto yy139;
3794 			if (yych <= ',') goto yy3;
3795 			goto yy147;
3796 		} else {
3797 			if (yych == '/') goto yy147;
3798 			if (yych <= '@') goto yy3;
3799 			goto yy143;
3800 		}
3801 	} else {
3802 		if (yych <= '_') {
3803 			if (yych <= 'D') goto yy169;
3804 			if (yych <= 'Z') goto yy143;
3805 			if (yych <= '^') goto yy3;
3806 			goto yy147;
3807 		} else {
3808 			if (yych <= 'c') {
3809 				if (yych <= '`') goto yy3;
3810 				goto yy151;
3811 			} else {
3812 				if (yych <= 'd') goto yy182;
3813 				if (yych <= 'z') goto yy151;
3814 				goto yy3;
3815 			}
3816 		}
3817 	}
3818 yy182:
3819 	YYDEBUG(182, *YYCURSOR);
3820 	yyaccept = 0;
3821 	yych = *(YYMARKER = ++YYCURSOR);
3822 	if (yych <= '@') {
3823 		if (yych <= ',') {
3824 			if (yych == ')') goto yy139;
3825 			goto yy3;
3826 		} else {
3827 			if (yych == '.') goto yy3;
3828 			if (yych <= '/') goto yy147;
3829 			goto yy3;
3830 		}
3831 	} else {
3832 		if (yych <= '_') {
3833 			if (yych <= 'A') goto yy170;
3834 			if (yych <= 'Z') goto yy144;
3835 			if (yych <= '^') goto yy3;
3836 			goto yy147;
3837 		} else {
3838 			if (yych <= '`') goto yy3;
3839 			if (yych <= 'a') goto yy183;
3840 			if (yych <= 'z') goto yy152;
3841 			goto yy3;
3842 		}
3843 	}
3844 yy183:
3845 	YYDEBUG(183, *YYCURSOR);
3846 	yyaccept = 0;
3847 	yych = *(YYMARKER = ++YYCURSOR);
3848 	if (yych <= 'X') {
3849 		if (yych <= ',') {
3850 			if (yych == ')') goto yy139;
3851 			goto yy3;
3852 		} else {
3853 			if (yych == '.') goto yy3;
3854 			if (yych <= '/') goto yy147;
3855 			goto yy3;
3856 		}
3857 	} else {
3858 		if (yych <= '`') {
3859 			if (yych <= 'Y') goto yy171;
3860 			if (yych == '_') goto yy147;
3861 			goto yy3;
3862 		} else {
3863 			if (yych == 'y') goto yy184;
3864 			if (yych <= 'z') goto yy153;
3865 			goto yy3;
3866 		}
3867 	}
3868 yy184:
3869 	YYDEBUG(184, *YYCURSOR);
3870 	yyaccept = 4;
3871 	yych = *(YYMARKER = ++YYCURSOR);
3872 	if (yych <= 'S') {
3873 		if (yych <= '.') {
3874 			if (yych == '-') goto yy147;
3875 			goto yy166;
3876 		} else {
3877 			if (yych <= '/') goto yy147;
3878 			if (yych <= 'R') goto yy166;
3879 			goto yy172;
3880 		}
3881 	} else {
3882 		if (yych <= '`') {
3883 			if (yych == '_') goto yy147;
3884 			goto yy166;
3885 		} else {
3886 			if (yych == 's') goto yy185;
3887 			if (yych <= 'z') goto yy153;
3888 			goto yy166;
3889 		}
3890 	}
3891 yy185:
3892 	YYDEBUG(185, *YYCURSOR);
3893 	yyaccept = 4;
3894 	yych = *(YYMARKER = ++YYCURSOR);
3895 	if (yybm[0+yych] & 16) {
3896 		goto yy153;
3897 	}
3898 	if (yych <= '.') {
3899 		if (yych == '-') goto yy147;
3900 		goto yy166;
3901 	} else {
3902 		if (yych <= '/') goto yy147;
3903 		if (yych == '_') goto yy147;
3904 		goto yy166;
3905 	}
3906 yy186:
3907 	YYDEBUG(186, *YYCURSOR);
3908 	yyaccept = 0;
3909 	yych = *(YYMARKER = ++YYCURSOR);
3910 	if (yych <= 'D') {
3911 		if (yych <= '-') {
3912 			if (yych == ')') goto yy139;
3913 			if (yych <= ',') goto yy3;
3914 			goto yy147;
3915 		} else {
3916 			if (yych == '/') goto yy147;
3917 			if (yych <= '@') goto yy3;
3918 			goto yy143;
3919 		}
3920 	} else {
3921 		if (yych <= '_') {
3922 			if (yych <= 'E') goto yy174;
3923 			if (yych <= 'Z') goto yy143;
3924 			if (yych <= '^') goto yy3;
3925 			goto yy147;
3926 		} else {
3927 			if (yych <= 'd') {
3928 				if (yych <= '`') goto yy3;
3929 				goto yy151;
3930 			} else {
3931 				if (yych <= 'e') goto yy187;
3932 				if (yych <= 'z') goto yy151;
3933 				goto yy3;
3934 			}
3935 		}
3936 	}
3937 yy187:
3938 	YYDEBUG(187, *YYCURSOR);
3939 	yyaccept = 0;
3940 	yych = *(YYMARKER = ++YYCURSOR);
3941 	if (yych <= 'R') {
3942 		if (yych <= '-') {
3943 			if (yych == ')') goto yy139;
3944 			if (yych <= ',') goto yy3;
3945 			goto yy147;
3946 		} else {
3947 			if (yych == '/') goto yy147;
3948 			if (yych <= '@') goto yy3;
3949 			goto yy144;
3950 		}
3951 	} else {
3952 		if (yych <= '_') {
3953 			if (yych <= 'S') goto yy175;
3954 			if (yych <= 'Z') goto yy144;
3955 			if (yych <= '^') goto yy3;
3956 			goto yy147;
3957 		} else {
3958 			if (yych <= 'r') {
3959 				if (yych <= '`') goto yy3;
3960 				goto yy152;
3961 			} else {
3962 				if (yych <= 's') goto yy188;
3963 				if (yych <= 'z') goto yy152;
3964 				goto yy3;
3965 			}
3966 		}
3967 	}
3968 yy188:
3969 	YYDEBUG(188, *YYCURSOR);
3970 	yyaccept = 0;
3971 	yych = *(YYMARKER = ++YYCURSOR);
3972 	if (yych <= 'C') {
3973 		if (yych <= ',') {
3974 			if (yych == ')') goto yy139;
3975 			goto yy3;
3976 		} else {
3977 			if (yych == '.') goto yy3;
3978 			if (yych <= '/') goto yy147;
3979 			goto yy3;
3980 		}
3981 	} else {
3982 		if (yych <= '`') {
3983 			if (yych <= 'D') goto yy176;
3984 			if (yych == '_') goto yy147;
3985 			goto yy3;
3986 		} else {
3987 			if (yych == 'd') goto yy189;
3988 			if (yych <= 'z') goto yy153;
3989 			goto yy3;
3990 		}
3991 	}
3992 yy189:
3993 	YYDEBUG(189, *YYCURSOR);
3994 	yych = *++YYCURSOR;
3995 	if (yych == 'A') goto yy177;
3996 	if (yych != 'a') goto yy154;
3997 	YYDEBUG(190, *YYCURSOR);
3998 	yych = *++YYCURSOR;
3999 	if (yych == 'Y') goto yy172;
4000 	if (yych == 'y') goto yy185;
4001 	goto yy154;
4002 yy191:
4003 	YYDEBUG(191, *YYCURSOR);
4004 	yych = *++YYCURSOR;
4005 	if (yych <= 'C') {
4006 		if (yych <= ')') {
4007 			if (yych <= '(') goto yy3;
4008 			goto yy139;
4009 		} else {
4010 			if (yych <= '@') goto yy3;
4011 			if (yych <= 'B') goto yy141;
4012 		}
4013 	} else {
4014 		if (yych <= 'b') {
4015 			if (yych <= 'Z') goto yy141;
4016 			if (yych <= '`') goto yy3;
4017 			goto yy141;
4018 		} else {
4019 			if (yych <= 'c') goto yy192;
4020 			if (yych <= 'z') goto yy141;
4021 			goto yy3;
4022 		}
4023 	}
4024 yy192:
4025 	YYDEBUG(192, *YYCURSOR);
4026 	yyaccept = 5;
4027 	yych = *(YYMARKER = ++YYCURSOR);
4028 	if (yych <= '/') {
4029 		if (yych <= '(') {
4030 			if (yych <= '\t') {
4031 				if (yych >= '\t') goto yy195;
4032 			} else {
4033 				if (yych == ' ') goto yy195;
4034 			}
4035 		} else {
4036 			if (yych <= ',') {
4037 				if (yych <= ')') goto yy139;
4038 			} else {
4039 				if (yych <= '-') goto yy196;
4040 				if (yych <= '.') goto yy195;
4041 			}
4042 		}
4043 	} else {
4044 		if (yych <= 'Z') {
4045 			if (yych <= '@') {
4046 				if (yych <= '9') goto yy195;
4047 			} else {
4048 				if (yych == 'E') goto yy200;
4049 				goto yy142;
4050 			}
4051 		} else {
4052 			if (yych <= 'd') {
4053 				if (yych >= 'a') goto yy142;
4054 			} else {
4055 				if (yych <= 'e') goto yy200;
4056 				if (yych <= 'z') goto yy142;
4057 			}
4058 		}
4059 	}
4060 yy193:
4061 	YYDEBUG(193, *YYCURSOR);
4062 #line 1620 "ext/date/lib/parse_date.re"
4063 	{
4064 		DEBUG_OUTPUT("monthtext");
4065 		TIMELIB_INIT;
4066 		TIMELIB_HAVE_DATE();
4067 		s->time->m = timelib_lookup_month((char **) &ptr);
4068 		TIMELIB_DEINIT;
4069 		return TIMELIB_DATE_TEXT;
4070 	}
4071 #line 4072 "<stdout>"
4072 yy194:
4073 	YYDEBUG(194, *YYCURSOR);
4074 	++YYCURSOR;
4075 	if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23);
4076 	yych = *YYCURSOR;
4077 yy195:
4078 	YYDEBUG(195, *YYCURSOR);
4079 	if (yybm[0+yych] & 32) {
4080 		goto yy194;
4081 	}
4082 	if (yych <= '/') goto yy56;
4083 	if (yych <= '2') goto yy197;
4084 	if (yych <= '3') goto yy198;
4085 	if (yych <= '9') goto yy199;
4086 	goto yy56;
4087 yy196:
4088 	YYDEBUG(196, *YYCURSOR);
4089 	yych = *++YYCURSOR;
4090 	if (yych <= '/') goto yy195;
4091 	if (yych <= '0') goto yy299;
4092 	if (yych <= '2') goto yy300;
4093 	if (yych <= '3') goto yy301;
4094 	goto yy195;
4095 yy197:
4096 	YYDEBUG(197, *YYCURSOR);
4097 	yych = *++YYCURSOR;
4098 	if (yych <= '9') {
4099 		if (yych <= ' ') {
4100 			if (yych <= 0x08) {
4101 				if (yych <= 0x00) goto yy213;
4102 				goto yy56;
4103 			} else {
4104 				if (yych <= '\t') goto yy211;
4105 				if (yych <= 0x1F) goto yy56;
4106 				goto yy211;
4107 			}
4108 		} else {
4109 			if (yych <= '-') {
4110 				if (yych == ',') goto yy211;
4111 				goto yy56;
4112 			} else {
4113 				if (yych <= '.') goto yy211;
4114 				if (yych <= '/') goto yy56;
4115 				goto yy298;
4116 			}
4117 		}
4118 	} else {
4119 		if (yych <= 'm') {
4120 			if (yych <= 'd') {
4121 				if (yych <= 'c') goto yy56;
4122 				goto yy211;
4123 			} else {
4124 				if (yych == 'h') goto yy211;
4125 				goto yy56;
4126 			}
4127 		} else {
4128 			if (yych <= 'r') {
4129 				if (yych <= 'n') goto yy208;
4130 				if (yych <= 'q') goto yy56;
4131 				goto yy209;
4132 			} else {
4133 				if (yych <= 's') goto yy206;
4134 				if (yych <= 't') goto yy210;
4135 				goto yy56;
4136 			}
4137 		}
4138 	}
4139 yy198:
4140 	YYDEBUG(198, *YYCURSOR);
4141 	yych = *++YYCURSOR;
4142 	if (yych <= '1') {
4143 		if (yych <= ' ') {
4144 			if (yych <= 0x08) {
4145 				if (yych <= 0x00) goto yy213;
4146 				goto yy56;
4147 			} else {
4148 				if (yych <= '\t') goto yy211;
4149 				if (yych <= 0x1F) goto yy56;
4150 				goto yy211;
4151 			}
4152 		} else {
4153 			if (yych <= '-') {
4154 				if (yych == ',') goto yy211;
4155 				goto yy56;
4156 			} else {
4157 				if (yych <= '.') goto yy211;
4158 				if (yych <= '/') goto yy56;
4159 				goto yy298;
4160 			}
4161 		}
4162 	} else {
4163 		if (yych <= 'm') {
4164 			if (yych <= 'd') {
4165 				if (yych <= '9') goto yy205;
4166 				if (yych <= 'c') goto yy56;
4167 				goto yy211;
4168 			} else {
4169 				if (yych == 'h') goto yy211;
4170 				goto yy56;
4171 			}
4172 		} else {
4173 			if (yych <= 'r') {
4174 				if (yych <= 'n') goto yy208;
4175 				if (yych <= 'q') goto yy56;
4176 				goto yy209;
4177 			} else {
4178 				if (yych <= 's') goto yy206;
4179 				if (yych <= 't') goto yy210;
4180 				goto yy56;
4181 			}
4182 		}
4183 	}
4184 yy199:
4185 	YYDEBUG(199, *YYCURSOR);
4186 	yych = *++YYCURSOR;
4187 	if (yych <= '9') {
4188 		if (yych <= ' ') {
4189 			if (yych <= 0x08) {
4190 				if (yych <= 0x00) goto yy213;
4191 				goto yy56;
4192 			} else {
4193 				if (yych <= '\t') goto yy211;
4194 				if (yych <= 0x1F) goto yy56;
4195 				goto yy211;
4196 			}
4197 		} else {
4198 			if (yych <= '-') {
4199 				if (yych == ',') goto yy211;
4200 				goto yy56;
4201 			} else {
4202 				if (yych <= '.') goto yy211;
4203 				if (yych <= '/') goto yy56;
4204 				goto yy205;
4205 			}
4206 		}
4207 	} else {
4208 		if (yych <= 'm') {
4209 			if (yych <= 'd') {
4210 				if (yych <= 'c') goto yy56;
4211 				goto yy211;
4212 			} else {
4213 				if (yych == 'h') goto yy211;
4214 				goto yy56;
4215 			}
4216 		} else {
4217 			if (yych <= 'r') {
4218 				if (yych <= 'n') goto yy208;
4219 				if (yych <= 'q') goto yy56;
4220 				goto yy209;
4221 			} else {
4222 				if (yych <= 's') goto yy206;
4223 				if (yych <= 't') goto yy210;
4224 				goto yy56;
4225 			}
4226 		}
4227 	}
4228 yy200:
4229 	YYDEBUG(200, *YYCURSOR);
4230 	yych = *++YYCURSOR;
4231 	if (yych <= 'M') {
4232 		if (yych <= ')') {
4233 			if (yych <= '(') goto yy3;
4234 			goto yy139;
4235 		} else {
4236 			if (yych <= '@') goto yy3;
4237 			if (yych <= 'L') goto yy143;
4238 		}
4239 	} else {
4240 		if (yych <= 'l') {
4241 			if (yych <= 'Z') goto yy143;
4242 			if (yych <= '`') goto yy3;
4243 			goto yy143;
4244 		} else {
4245 			if (yych <= 'm') goto yy201;
4246 			if (yych <= 'z') goto yy143;
4247 			goto yy3;
4248 		}
4249 	}
4250 yy201:
4251 	YYDEBUG(201, *YYCURSOR);
4252 	yych = *++YYCURSOR;
4253 	if (yych <= 'B') {
4254 		if (yych <= ')') {
4255 			if (yych <= '(') goto yy3;
4256 			goto yy139;
4257 		} else {
4258 			if (yych <= '@') goto yy3;
4259 			if (yych <= 'A') goto yy144;
4260 		}
4261 	} else {
4262 		if (yych <= 'a') {
4263 			if (yych <= 'Z') goto yy144;
4264 			if (yych <= '`') goto yy3;
4265 			goto yy144;
4266 		} else {
4267 			if (yych <= 'b') goto yy202;
4268 			if (yych <= 'z') goto yy144;
4269 			goto yy3;
4270 		}
4271 	}
4272 yy202:
4273 	YYDEBUG(202, *YYCURSOR);
4274 	yyaccept = 0;
4275 	yych = *(YYMARKER = ++YYCURSOR);
4276 	if (yych <= 'D') {
4277 		if (yych == ')') goto yy139;
4278 		goto yy3;
4279 	} else {
4280 		if (yych <= 'E') goto yy203;
4281 		if (yych != 'e') goto yy3;
4282 	}
4283 yy203:
4284 	YYDEBUG(203, *YYCURSOR);
4285 	yych = *++YYCURSOR;
4286 	if (yych == 'R') goto yy204;
4287 	if (yych != 'r') goto yy56;
4288 yy204:
4289 	YYDEBUG(204, *YYCURSOR);
4290 	yyaccept = 5;
4291 	yych = *(YYMARKER = ++YYCURSOR);
4292 	if (yych <= ' ') {
4293 		if (yych == '\t') goto yy195;
4294 		if (yych <= 0x1F) goto yy193;
4295 		goto yy195;
4296 	} else {
4297 		if (yych <= '.') {
4298 			if (yych <= ',') goto yy193;
4299 			goto yy195;
4300 		} else {
4301 			if (yych <= '/') goto yy193;
4302 			if (yych <= '9') goto yy195;
4303 			goto yy193;
4304 		}
4305 	}
4306 yy205:
4307 	YYDEBUG(205, *YYCURSOR);
4308 	yych = *++YYCURSOR;
4309 	if (yych <= '/') goto yy56;
4310 	if (yych <= '9') goto yy295;
4311 	goto yy56;
4312 yy206:
4313 	YYDEBUG(206, *YYCURSOR);
4314 	yyaccept = 6;
4315 	yych = *(YYMARKER = ++YYCURSOR);
4316 	if (yych == 't') goto yy294;
4317 	goto yy212;
4318 yy207:
4319 	YYDEBUG(207, *YYCURSOR);
4320 #line 1366 "ext/date/lib/parse_date.re"
4321 	{
4322 		int length = 0;
4323 		DEBUG_OUTPUT("datetextual | datenoyear");
4324 		TIMELIB_INIT;
4325 		TIMELIB_HAVE_DATE();
4326 		s->time->m = timelib_get_month((char **) &ptr);
4327 		s->time->d = timelib_get_nr((char **) &ptr, 2);
4328 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
4329 		TIMELIB_PROCESS_YEAR(s->time->y, length);
4330 		TIMELIB_DEINIT;
4331 		return TIMELIB_DATE_TEXT;
4332 	}
4333 #line 4334 "<stdout>"
4334 yy208:
4335 	YYDEBUG(208, *YYCURSOR);
4336 	yyaccept = 6;
4337 	yych = *(YYMARKER = ++YYCURSOR);
4338 	if (yych == 'd') goto yy294;
4339 	goto yy212;
4340 yy209:
4341 	YYDEBUG(209, *YYCURSOR);
4342 	yyaccept = 6;
4343 	yych = *(YYMARKER = ++YYCURSOR);
4344 	if (yych == 'd') goto yy294;
4345 	goto yy212;
4346 yy210:
4347 	YYDEBUG(210, *YYCURSOR);
4348 	yyaccept = 6;
4349 	yych = *(YYMARKER = ++YYCURSOR);
4350 	if (yych == 'h') goto yy294;
4351 	goto yy212;
4352 yy211:
4353 	YYDEBUG(211, *YYCURSOR);
4354 	yyaccept = 6;
4355 	YYMARKER = ++YYCURSOR;
4356 	if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18);
4357 	yych = *YYCURSOR;
4358 yy212:
4359 	YYDEBUG(212, *YYCURSOR);
4360 	if (yybm[0+yych] & 64) {
4361 		goto yy211;
4362 	}
4363 	if (yych <= '2') {
4364 		if (yych <= '/') goto yy207;
4365 		if (yych <= '0') goto yy285;
4366 		if (yych <= '1') goto yy286;
4367 		goto yy287;
4368 	} else {
4369 		if (yych <= '9') goto yy288;
4370 		if (yych == 'T') goto yy214;
4371 		goto yy207;
4372 	}
4373 yy213:
4374 	YYDEBUG(213, *YYCURSOR);
4375 	yyaccept = 6;
4376 	yych = *(YYMARKER = ++YYCURSOR);
4377 	if (yych <= '9') {
4378 		if (yych <= '0') {
4379 			if (yych <= '/') goto yy207;
4380 			goto yy215;
4381 		} else {
4382 			if (yych <= '1') goto yy216;
4383 			if (yych <= '2') goto yy217;
4384 			goto yy218;
4385 		}
4386 	} else {
4387 		if (yych <= 'T') {
4388 			if (yych <= 'S') goto yy207;
4389 		} else {
4390 			if (yych != 't') goto yy207;
4391 		}
4392 	}
4393 yy214:
4394 	YYDEBUG(214, *YYCURSOR);
4395 	yych = *++YYCURSOR;
4396 	if (yych <= '/') goto yy56;
4397 	if (yych <= '1') goto yy283;
4398 	if (yych <= '2') goto yy284;
4399 	if (yych <= '9') goto yy273;
4400 	goto yy56;
4401 yy215:
4402 	YYDEBUG(215, *YYCURSOR);
4403 	yych = *++YYCURSOR;
4404 	if (yych <= '/') {
4405 		if (yych == '.') goto yy274;
4406 		goto yy56;
4407 	} else {
4408 		if (yych <= '0') goto yy273;
4409 		if (yych <= '9') goto yy218;
4410 		if (yych <= ':') goto yy274;
4411 		goto yy56;
4412 	}
4413 yy216:
4414 	YYDEBUG(216, *YYCURSOR);
4415 	yych = *++YYCURSOR;
4416 	if (yych <= '/') {
4417 		if (yych == '.') goto yy219;
4418 		goto yy56;
4419 	} else {
4420 		if (yych <= '2') goto yy218;
4421 		if (yych <= '9') goto yy273;
4422 		if (yych <= ':') goto yy219;
4423 		goto yy56;
4424 	}
4425 yy217:
4426 	YYDEBUG(217, *YYCURSOR);
4427 	yych = *++YYCURSOR;
4428 	if (yych <= '/') {
4429 		if (yych == '.') goto yy219;
4430 		goto yy56;
4431 	} else {
4432 		if (yych <= '4') goto yy273;
4433 		if (yych == ':') goto yy219;
4434 		goto yy56;
4435 	}
4436 yy218:
4437 	YYDEBUG(218, *YYCURSOR);
4438 	yych = *++YYCURSOR;
4439 	if (yych == '.') goto yy219;
4440 	if (yych != ':') goto yy56;
4441 yy219:
4442 	YYDEBUG(219, *YYCURSOR);
4443 	yych = *++YYCURSOR;
4444 	if (yych <= '/') goto yy56;
4445 	if (yych <= '5') goto yy220;
4446 	if (yych <= '9') goto yy222;
4447 	goto yy56;
4448 yy220:
4449 	YYDEBUG(220, *YYCURSOR);
4450 	yyaccept = 7;
4451 	yych = *(YYMARKER = ++YYCURSOR);
4452 	if (yych <= '/') {
4453 		if (yych == '.') goto yy223;
4454 	} else {
4455 		if (yych <= '9') goto yy266;
4456 		if (yych <= ':') goto yy223;
4457 	}
4458 yy221:
4459 	YYDEBUG(221, *YYCURSOR);
4460 #line 1668 "ext/date/lib/parse_date.re"
4461 	{
4462 		int tz_not_found;
4463 		DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
4464 		TIMELIB_INIT;
4465 		TIMELIB_HAVE_DATE();
4466 		s->time->m = timelib_get_month((char **) &ptr);
4467 		s->time->d = timelib_get_nr((char **) &ptr, 2);
4468 
4469 		TIMELIB_HAVE_TIME();
4470 		s->time->h = timelib_get_nr((char **) &ptr, 2);
4471 		s->time->i = timelib_get_nr((char **) &ptr, 2);
4472 		if (*ptr == ':') {
4473 			s->time->s = timelib_get_nr((char **) &ptr, 2);
4474 
4475 			if (*ptr == '.') {
4476 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
4477 			}
4478 		}
4479 
4480 		if (*ptr != '\0') {
4481 			s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
4482 			if (tz_not_found) {
4483 				add_error(s, "The timezone could not be found in the database");
4484 			}
4485 		}
4486 		TIMELIB_DEINIT;
4487 		return TIMELIB_SHORTDATE_WITH_TIME;
4488 	}
4489 #line 4490 "<stdout>"
4490 yy222:
4491 	YYDEBUG(222, *YYCURSOR);
4492 	yyaccept = 7;
4493 	yych = *(YYMARKER = ++YYCURSOR);
4494 	if (yych == '.') goto yy223;
4495 	if (yych != ':') goto yy221;
4496 yy223:
4497 	YYDEBUG(223, *YYCURSOR);
4498 	yych = *++YYCURSOR;
4499 	if (yych <= '/') goto yy56;
4500 	if (yych <= '5') goto yy224;
4501 	if (yych <= '6') goto yy225;
4502 	if (yych <= '9') goto yy226;
4503 	goto yy56;
4504 yy224:
4505 	YYDEBUG(224, *YYCURSOR);
4506 	yych = *++YYCURSOR;
4507 	if (yych <= '/') goto yy221;
4508 	if (yych <= '9') goto yy227;
4509 	goto yy221;
4510 yy225:
4511 	YYDEBUG(225, *YYCURSOR);
4512 	yych = *++YYCURSOR;
4513 	if (yych == '0') goto yy227;
4514 	goto yy221;
4515 yy226:
4516 	YYDEBUG(226, *YYCURSOR);
4517 	yych = *++YYCURSOR;
4518 	goto yy221;
4519 yy227:
4520 	YYDEBUG(227, *YYCURSOR);
4521 	yyaccept = 7;
4522 	yych = *(YYMARKER = ++YYCURSOR);
4523 	if (yych <= '*') {
4524 		if (yych <= 0x1F) {
4525 			if (yych == '\t') goto yy229;
4526 			goto yy221;
4527 		} else {
4528 			if (yych <= ' ') goto yy229;
4529 			if (yych == '(') goto yy229;
4530 			goto yy221;
4531 		}
4532 	} else {
4533 		if (yych <= '@') {
4534 			if (yych == ',') goto yy221;
4535 			if (yych <= '-') goto yy229;
4536 			goto yy221;
4537 		} else {
4538 			if (yych <= 'Z') goto yy229;
4539 			if (yych <= '`') goto yy221;
4540 			if (yych <= 'z') goto yy229;
4541 			goto yy221;
4542 		}
4543 	}
4544 yy228:
4545 	YYDEBUG(228, *YYCURSOR);
4546 	++YYCURSOR;
4547 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
4548 	yych = *YYCURSOR;
4549 yy229:
4550 	YYDEBUG(229, *YYCURSOR);
4551 	if (yych <= '@') {
4552 		if (yych <= '\'') {
4553 			if (yych <= '\t') {
4554 				if (yych <= 0x08) goto yy56;
4555 				goto yy228;
4556 			} else {
4557 				if (yych == ' ') goto yy228;
4558 				goto yy56;
4559 			}
4560 		} else {
4561 			if (yych <= '+') {
4562 				if (yych <= '(') goto yy232;
4563 				if (yych <= '*') goto yy56;
4564 				goto yy231;
4565 			} else {
4566 				if (yych == '-') goto yy231;
4567 				goto yy56;
4568 			}
4569 		}
4570 	} else {
4571 		if (yych <= 'Z') {
4572 			if (yych <= 'G') {
4573 				if (yych <= 'A') goto yy233;
4574 				if (yych <= 'F') goto yy234;
4575 			} else {
4576 				if (yych == 'P') goto yy233;
4577 				goto yy234;
4578 			}
4579 		} else {
4580 			if (yych <= 'o') {
4581 				if (yych <= '`') goto yy56;
4582 				if (yych <= 'a') goto yy235;
4583 				goto yy236;
4584 			} else {
4585 				if (yych <= 'p') goto yy235;
4586 				if (yych <= 'z') goto yy236;
4587 				goto yy56;
4588 			}
4589 		}
4590 	}
4591 yy230:
4592 	YYDEBUG(230, *YYCURSOR);
4593 	yych = *++YYCURSOR;
4594 	if (yych <= 'L') {
4595 		if (yych == ')') goto yy226;
4596 		if (yych <= '@') goto yy221;
4597 		goto yy237;
4598 	} else {
4599 		if (yych <= 'Z') {
4600 			if (yych <= 'M') goto yy264;
4601 			goto yy237;
4602 		} else {
4603 			if (yych <= '`') goto yy221;
4604 			if (yych <= 'z') goto yy248;
4605 			goto yy221;
4606 		}
4607 	}
4608 yy231:
4609 	YYDEBUG(231, *YYCURSOR);
4610 	yych = *++YYCURSOR;
4611 	if (yych <= '/') goto yy56;
4612 	if (yych <= '1') goto yy259;
4613 	if (yych <= '2') goto yy260;
4614 	if (yych <= '9') goto yy261;
4615 	goto yy56;
4616 yy232:
4617 	YYDEBUG(232, *YYCURSOR);
4618 	yych = *++YYCURSOR;
4619 	if (yych <= '@') goto yy56;
4620 	if (yych <= 'Z') goto yy236;
4621 	if (yych <= '`') goto yy56;
4622 	if (yych <= 'z') goto yy236;
4623 	goto yy56;
4624 yy233:
4625 	YYDEBUG(233, *YYCURSOR);
4626 	yyaccept = 7;
4627 	yych = *(YYMARKER = ++YYCURSOR);
4628 	if (yych <= 'L') {
4629 		if (yych <= '-') {
4630 			if (yych == ')') goto yy226;
4631 			goto yy221;
4632 		} else {
4633 			if (yych <= '.') goto yy242;
4634 			if (yych <= '@') goto yy221;
4635 			goto yy237;
4636 		}
4637 	} else {
4638 		if (yych <= '`') {
4639 			if (yych <= 'M') goto yy243;
4640 			if (yych <= 'Z') goto yy237;
4641 			goto yy221;
4642 		} else {
4643 			if (yych == 'm') goto yy258;
4644 			if (yych <= 'z') goto yy248;
4645 			goto yy221;
4646 		}
4647 	}
4648 yy234:
4649 	YYDEBUG(234, *YYCURSOR);
4650 	yych = *++YYCURSOR;
4651 	if (yych <= '@') {
4652 		if (yych == ')') goto yy226;
4653 		goto yy221;
4654 	} else {
4655 		if (yych <= 'Z') goto yy237;
4656 		if (yych <= '`') goto yy221;
4657 		if (yych <= 'z') goto yy248;
4658 		goto yy221;
4659 	}
4660 yy235:
4661 	YYDEBUG(235, *YYCURSOR);
4662 	yyaccept = 7;
4663 	yych = *(YYMARKER = ++YYCURSOR);
4664 	if (yych <= 'L') {
4665 		if (yych <= '-') {
4666 			if (yych == ')') goto yy226;
4667 			goto yy221;
4668 		} else {
4669 			if (yych <= '.') goto yy242;
4670 			if (yych <= '@') goto yy221;
4671 			goto yy237;
4672 		}
4673 	} else {
4674 		if (yych <= '`') {
4675 			if (yych <= 'M') goto yy243;
4676 			if (yych <= 'Z') goto yy237;
4677 			goto yy221;
4678 		} else {
4679 			if (yych == 'm') goto yy243;
4680 			if (yych <= 'z') goto yy237;
4681 			goto yy221;
4682 		}
4683 	}
4684 yy236:
4685 	YYDEBUG(236, *YYCURSOR);
4686 	yych = *++YYCURSOR;
4687 	if (yych <= '@') {
4688 		if (yych == ')') goto yy226;
4689 		goto yy221;
4690 	} else {
4691 		if (yych <= 'Z') goto yy237;
4692 		if (yych <= '`') goto yy221;
4693 		if (yych >= '{') goto yy221;
4694 	}
4695 yy237:
4696 	YYDEBUG(237, *YYCURSOR);
4697 	yych = *++YYCURSOR;
4698 	if (yych <= '@') {
4699 		if (yych == ')') goto yy226;
4700 		goto yy221;
4701 	} else {
4702 		if (yych <= 'Z') goto yy238;
4703 		if (yych <= '`') goto yy221;
4704 		if (yych >= '{') goto yy221;
4705 	}
4706 yy238:
4707 	YYDEBUG(238, *YYCURSOR);
4708 	yych = *++YYCURSOR;
4709 	if (yych <= '@') {
4710 		if (yych == ')') goto yy226;
4711 		goto yy221;
4712 	} else {
4713 		if (yych <= 'Z') goto yy239;
4714 		if (yych <= '`') goto yy221;
4715 		if (yych >= '{') goto yy221;
4716 	}
4717 yy239:
4718 	YYDEBUG(239, *YYCURSOR);
4719 	yych = *++YYCURSOR;
4720 	if (yych <= '@') {
4721 		if (yych == ')') goto yy226;
4722 		goto yy221;
4723 	} else {
4724 		if (yych <= 'Z') goto yy240;
4725 		if (yych <= '`') goto yy221;
4726 		if (yych >= '{') goto yy221;
4727 	}
4728 yy240:
4729 	YYDEBUG(240, *YYCURSOR);
4730 	yych = *++YYCURSOR;
4731 	if (yych <= '@') {
4732 		if (yych == ')') goto yy226;
4733 		goto yy221;
4734 	} else {
4735 		if (yych <= 'Z') goto yy241;
4736 		if (yych <= '`') goto yy221;
4737 		if (yych >= '{') goto yy221;
4738 	}
4739 yy241:
4740 	YYDEBUG(241, *YYCURSOR);
4741 	yych = *++YYCURSOR;
4742 	if (yych == ')') goto yy226;
4743 	goto yy221;
4744 yy242:
4745 	YYDEBUG(242, *YYCURSOR);
4746 	yych = *++YYCURSOR;
4747 	if (yych == 'M') goto yy247;
4748 	if (yych == 'm') goto yy247;
4749 	goto yy56;
4750 yy243:
4751 	YYDEBUG(243, *YYCURSOR);
4752 	yyaccept = 7;
4753 	yych = *(YYMARKER = ++YYCURSOR);
4754 	if (yych <= ')') {
4755 		if (yych <= '\t') {
4756 			if (yych <= 0x00) goto yy245;
4757 			if (yych <= 0x08) goto yy221;
4758 			goto yy245;
4759 		} else {
4760 			if (yych == ' ') goto yy245;
4761 			if (yych <= '(') goto yy221;
4762 			goto yy226;
4763 		}
4764 	} else {
4765 		if (yych <= '@') {
4766 			if (yych != '.') goto yy221;
4767 		} else {
4768 			if (yych <= 'Z') goto yy238;
4769 			if (yych <= '`') goto yy221;
4770 			if (yych <= 'z') goto yy238;
4771 			goto yy221;
4772 		}
4773 	}
4774 yy244:
4775 	YYDEBUG(244, *YYCURSOR);
4776 	yych = *++YYCURSOR;
4777 	if (yych <= '\t') {
4778 		if (yych <= 0x00) goto yy245;
4779 		if (yych <= 0x08) goto yy56;
4780 	} else {
4781 		if (yych != ' ') goto yy56;
4782 	}
4783 yy245:
4784 	YYDEBUG(245, *YYCURSOR);
4785 	++YYCURSOR;
4786 	YYDEBUG(246, *YYCURSOR);
4787 #line 1644 "ext/date/lib/parse_date.re"
4788 	{
4789 		DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
4790 		TIMELIB_INIT;
4791 		TIMELIB_HAVE_DATE();
4792 		s->time->m = timelib_get_month((char **) &ptr);
4793 		s->time->d = timelib_get_nr((char **) &ptr, 2);
4794 
4795 		TIMELIB_HAVE_TIME();
4796 		s->time->h = timelib_get_nr((char **) &ptr, 2);
4797 		s->time->i = timelib_get_nr((char **) &ptr, 2);
4798 		if (*ptr == ':' || *ptr == '.') {
4799 			s->time->s = timelib_get_nr((char **) &ptr, 2);
4800 
4801 			if (*ptr == '.') {
4802 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
4803 			}
4804 		}
4805 
4806 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
4807 		TIMELIB_DEINIT;
4808 		return TIMELIB_SHORTDATE_WITH_TIME;
4809 	}
4810 #line 4811 "<stdout>"
4811 yy247:
4812 	YYDEBUG(247, *YYCURSOR);
4813 	yych = *++YYCURSOR;
4814 	if (yych <= 0x1F) {
4815 		if (yych <= 0x00) goto yy245;
4816 		if (yych == '\t') goto yy245;
4817 		goto yy56;
4818 	} else {
4819 		if (yych <= ' ') goto yy245;
4820 		if (yych == '.') goto yy244;
4821 		goto yy56;
4822 	}
4823 yy248:
4824 	YYDEBUG(248, *YYCURSOR);
4825 	yyaccept = 7;
4826 	yych = *(YYMARKER = ++YYCURSOR);
4827 	if (yych <= '/') {
4828 		if (yych <= ',') {
4829 			if (yych == ')') goto yy226;
4830 			goto yy221;
4831 		} else {
4832 			if (yych == '.') goto yy221;
4833 			goto yy250;
4834 		}
4835 	} else {
4836 		if (yych <= '^') {
4837 			if (yych <= '@') goto yy221;
4838 			if (yych <= 'Z') goto yy238;
4839 			goto yy221;
4840 		} else {
4841 			if (yych <= '_') goto yy250;
4842 			if (yych <= '`') goto yy221;
4843 			if (yych >= '{') goto yy221;
4844 		}
4845 	}
4846 yy249:
4847 	YYDEBUG(249, *YYCURSOR);
4848 	yyaccept = 7;
4849 	yych = *(YYMARKER = ++YYCURSOR);
4850 	if (yych <= '/') {
4851 		if (yych <= ',') {
4852 			if (yych == ')') goto yy226;
4853 			goto yy221;
4854 		} else {
4855 			if (yych == '.') goto yy221;
4856 		}
4857 	} else {
4858 		if (yych <= '^') {
4859 			if (yych <= '@') goto yy221;
4860 			if (yych <= 'Z') goto yy239;
4861 			goto yy221;
4862 		} else {
4863 			if (yych <= '_') goto yy250;
4864 			if (yych <= '`') goto yy221;
4865 			if (yych <= 'z') goto yy253;
4866 			goto yy221;
4867 		}
4868 	}
4869 yy250:
4870 	YYDEBUG(250, *YYCURSOR);
4871 	++YYCURSOR;
4872 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4873 	yych = *YYCURSOR;
4874 	if (yych <= '@') goto yy56;
4875 	if (yych <= 'Z') goto yy251;
4876 	if (yych <= '`') goto yy56;
4877 	if (yych >= '{') goto yy56;
4878 yy251:
4879 	YYDEBUG(251, *YYCURSOR);
4880 	yyaccept = 7;
4881 	YYMARKER = ++YYCURSOR;
4882 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4883 	yych = *YYCURSOR;
4884 	YYDEBUG(252, *YYCURSOR);
4885 	if (yych <= '@') {
4886 		if (yych <= '-') {
4887 			if (yych <= ',') goto yy221;
4888 			goto yy250;
4889 		} else {
4890 			if (yych == '/') goto yy250;
4891 			goto yy221;
4892 		}
4893 	} else {
4894 		if (yych <= '_') {
4895 			if (yych <= 'Z') goto yy251;
4896 			if (yych <= '^') goto yy221;
4897 			goto yy250;
4898 		} else {
4899 			if (yych <= '`') goto yy221;
4900 			if (yych <= 'z') goto yy251;
4901 			goto yy221;
4902 		}
4903 	}
4904 yy253:
4905 	YYDEBUG(253, *YYCURSOR);
4906 	yyaccept = 7;
4907 	yych = *(YYMARKER = ++YYCURSOR);
4908 	if (yych <= '/') {
4909 		if (yych <= ',') {
4910 			if (yych == ')') goto yy226;
4911 			goto yy221;
4912 		} else {
4913 			if (yych == '.') goto yy221;
4914 			goto yy250;
4915 		}
4916 	} else {
4917 		if (yych <= '^') {
4918 			if (yych <= '@') goto yy221;
4919 			if (yych <= 'Z') goto yy240;
4920 			goto yy221;
4921 		} else {
4922 			if (yych <= '_') goto yy250;
4923 			if (yych <= '`') goto yy221;
4924 			if (yych >= '{') goto yy221;
4925 		}
4926 	}
4927 	YYDEBUG(254, *YYCURSOR);
4928 	yyaccept = 7;
4929 	yych = *(YYMARKER = ++YYCURSOR);
4930 	if (yych <= '/') {
4931 		if (yych <= ',') {
4932 			if (yych == ')') goto yy226;
4933 			goto yy221;
4934 		} else {
4935 			if (yych == '.') goto yy221;
4936 			goto yy250;
4937 		}
4938 	} else {
4939 		if (yych <= '^') {
4940 			if (yych <= '@') goto yy221;
4941 			if (yych <= 'Z') goto yy241;
4942 			goto yy221;
4943 		} else {
4944 			if (yych <= '_') goto yy250;
4945 			if (yych <= '`') goto yy221;
4946 			if (yych >= '{') goto yy221;
4947 		}
4948 	}
4949 	YYDEBUG(255, *YYCURSOR);
4950 	yyaccept = 7;
4951 	yych = *(YYMARKER = ++YYCURSOR);
4952 	if (yych <= '.') {
4953 		if (yych <= ')') {
4954 			if (yych <= '(') goto yy221;
4955 			goto yy226;
4956 		} else {
4957 			if (yych == '-') goto yy250;
4958 			goto yy221;
4959 		}
4960 	} else {
4961 		if (yych <= '_') {
4962 			if (yych <= '/') goto yy250;
4963 			if (yych <= '^') goto yy221;
4964 			goto yy250;
4965 		} else {
4966 			if (yych <= '`') goto yy221;
4967 			if (yych >= '{') goto yy221;
4968 		}
4969 	}
4970 yy256:
4971 	YYDEBUG(256, *YYCURSOR);
4972 	++YYCURSOR;
4973 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4974 	yych = *YYCURSOR;
4975 	YYDEBUG(257, *YYCURSOR);
4976 	if (yych <= '/') {
4977 		if (yych == '-') goto yy250;
4978 		if (yych <= '.') goto yy56;
4979 		goto yy250;
4980 	} else {
4981 		if (yych <= '_') {
4982 			if (yych <= '^') goto yy56;
4983 			goto yy250;
4984 		} else {
4985 			if (yych <= '`') goto yy56;
4986 			if (yych <= 'z') goto yy256;
4987 			goto yy56;
4988 		}
4989 	}
4990 yy258:
4991 	YYDEBUG(258, *YYCURSOR);
4992 	yyaccept = 7;
4993 	yych = *(YYMARKER = ++YYCURSOR);
4994 	if (yych <= '-') {
4995 		if (yych <= 0x1F) {
4996 			if (yych <= 0x00) goto yy245;
4997 			if (yych == '\t') goto yy245;
4998 			goto yy221;
4999 		} else {
5000 			if (yych <= '(') {
5001 				if (yych <= ' ') goto yy245;
5002 				goto yy221;
5003 			} else {
5004 				if (yych <= ')') goto yy226;
5005 				if (yych <= ',') goto yy221;
5006 				goto yy250;
5007 			}
5008 		}
5009 	} else {
5010 		if (yych <= 'Z') {
5011 			if (yych <= '.') goto yy244;
5012 			if (yych <= '/') goto yy250;
5013 			if (yych <= '@') goto yy221;
5014 			goto yy238;
5015 		} else {
5016 			if (yych <= '_') {
5017 				if (yych <= '^') goto yy221;
5018 				goto yy250;
5019 			} else {
5020 				if (yych <= '`') goto yy221;
5021 				if (yych <= 'z') goto yy249;
5022 				goto yy221;
5023 			}
5024 		}
5025 	}
5026 yy259:
5027 	YYDEBUG(259, *YYCURSOR);
5028 	yych = *++YYCURSOR;
5029 	if (yych <= '/') goto yy221;
5030 	if (yych <= '9') goto yy261;
5031 	if (yych <= ':') goto yy262;
5032 	goto yy221;
5033 yy260:
5034 	YYDEBUG(260, *YYCURSOR);
5035 	yych = *++YYCURSOR;
5036 	if (yych <= '5') {
5037 		if (yych <= '/') goto yy221;
5038 		if (yych >= '5') goto yy263;
5039 	} else {
5040 		if (yych <= '9') goto yy226;
5041 		if (yych <= ':') goto yy262;
5042 		goto yy221;
5043 	}
5044 yy261:
5045 	YYDEBUG(261, *YYCURSOR);
5046 	yych = *++YYCURSOR;
5047 	if (yych <= '/') goto yy221;
5048 	if (yych <= '5') goto yy263;
5049 	if (yych <= '9') goto yy226;
5050 	if (yych >= ';') goto yy221;
5051 yy262:
5052 	YYDEBUG(262, *YYCURSOR);
5053 	yych = *++YYCURSOR;
5054 	if (yych <= '/') goto yy221;
5055 	if (yych <= '5') goto yy263;
5056 	if (yych <= '9') goto yy226;
5057 	goto yy221;
5058 yy263:
5059 	YYDEBUG(263, *YYCURSOR);
5060 	yych = *++YYCURSOR;
5061 	if (yych <= '/') goto yy221;
5062 	if (yych <= '9') goto yy226;
5063 	goto yy221;
5064 yy264:
5065 	YYDEBUG(264, *YYCURSOR);
5066 	yych = *++YYCURSOR;
5067 	if (yych <= 'S') {
5068 		if (yych == ')') goto yy226;
5069 		if (yych <= '@') goto yy221;
5070 		goto yy238;
5071 	} else {
5072 		if (yych <= 'Z') {
5073 			if (yych >= 'U') goto yy238;
5074 		} else {
5075 			if (yych <= '`') goto yy221;
5076 			if (yych <= 'z') goto yy238;
5077 			goto yy221;
5078 		}
5079 	}
5080 	YYDEBUG(265, *YYCURSOR);
5081 	yyaccept = 7;
5082 	yych = *(YYMARKER = ++YYCURSOR);
5083 	if (yych <= ',') {
5084 		if (yych <= ')') {
5085 			if (yych <= '(') goto yy221;
5086 			goto yy226;
5087 		} else {
5088 			if (yych == '+') goto yy231;
5089 			goto yy221;
5090 		}
5091 	} else {
5092 		if (yych <= 'Z') {
5093 			if (yych <= '-') goto yy231;
5094 			if (yych <= '@') goto yy221;
5095 			goto yy239;
5096 		} else {
5097 			if (yych <= '`') goto yy221;
5098 			if (yych <= 'z') goto yy239;
5099 			goto yy221;
5100 		}
5101 	}
5102 yy266:
5103 	YYDEBUG(266, *YYCURSOR);
5104 	yyaccept = 7;
5105 	yych = *(YYMARKER = ++YYCURSOR);
5106 	if (yych <= ':') {
5107 		if (yych <= ' ') {
5108 			if (yych == '\t') goto yy267;
5109 			if (yych <= 0x1F) goto yy221;
5110 		} else {
5111 			if (yych == '.') goto yy223;
5112 			if (yych <= '9') goto yy221;
5113 			goto yy223;
5114 		}
5115 	} else {
5116 		if (yych <= 'P') {
5117 			if (yych == 'A') goto yy269;
5118 			if (yych <= 'O') goto yy221;
5119 			goto yy269;
5120 		} else {
5121 			if (yych <= 'a') {
5122 				if (yych <= '`') goto yy221;
5123 				goto yy269;
5124 			} else {
5125 				if (yych == 'p') goto yy269;
5126 				goto yy221;
5127 			}
5128 		}
5129 	}
5130 yy267:
5131 	YYDEBUG(267, *YYCURSOR);
5132 	++YYCURSOR;
5133 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
5134 	yych = *YYCURSOR;
5135 	YYDEBUG(268, *YYCURSOR);
5136 	if (yych <= 'A') {
5137 		if (yych <= 0x1F) {
5138 			if (yych == '\t') goto yy267;
5139 			goto yy56;
5140 		} else {
5141 			if (yych <= ' ') goto yy267;
5142 			if (yych <= '@') goto yy56;
5143 		}
5144 	} else {
5145 		if (yych <= '`') {
5146 			if (yych != 'P') goto yy56;
5147 		} else {
5148 			if (yych <= 'a') goto yy269;
5149 			if (yych != 'p') goto yy56;
5150 		}
5151 	}
5152 yy269:
5153 	YYDEBUG(269, *YYCURSOR);
5154 	yych = *++YYCURSOR;
5155 	if (yych <= 'L') {
5156 		if (yych != '.') goto yy56;
5157 	} else {
5158 		if (yych <= 'M') goto yy271;
5159 		if (yych == 'm') goto yy271;
5160 		goto yy56;
5161 	}
5162 	YYDEBUG(270, *YYCURSOR);
5163 	yych = *++YYCURSOR;
5164 	if (yych == 'M') goto yy271;
5165 	if (yych != 'm') goto yy56;
5166 yy271:
5167 	YYDEBUG(271, *YYCURSOR);
5168 	yych = *++YYCURSOR;
5169 	if (yych <= 0x1F) {
5170 		if (yych <= 0x00) goto yy245;
5171 		if (yych == '\t') goto yy245;
5172 		goto yy56;
5173 	} else {
5174 		if (yych <= ' ') goto yy245;
5175 		if (yych != '.') goto yy56;
5176 	}
5177 	YYDEBUG(272, *YYCURSOR);
5178 	yych = *++YYCURSOR;
5179 	if (yych <= '\t') {
5180 		if (yych <= 0x00) goto yy245;
5181 		if (yych <= 0x08) goto yy56;
5182 		goto yy245;
5183 	} else {
5184 		if (yych == ' ') goto yy245;
5185 		goto yy56;
5186 	}
5187 yy273:
5188 	YYDEBUG(273, *YYCURSOR);
5189 	yych = *++YYCURSOR;
5190 	if (yych == '.') goto yy274;
5191 	if (yych != ':') goto yy56;
5192 yy274:
5193 	YYDEBUG(274, *YYCURSOR);
5194 	yych = *++YYCURSOR;
5195 	if (yych <= '/') goto yy56;
5196 	if (yych <= '5') goto yy275;
5197 	if (yych <= '9') goto yy276;
5198 	goto yy56;
5199 yy275:
5200 	YYDEBUG(275, *YYCURSOR);
5201 	yyaccept = 7;
5202 	yych = *(YYMARKER = ++YYCURSOR);
5203 	if (yych <= '/') {
5204 		if (yych == '.') goto yy277;
5205 		goto yy221;
5206 	} else {
5207 		if (yych <= '9') goto yy276;
5208 		if (yych <= ':') goto yy277;
5209 		goto yy221;
5210 	}
5211 yy276:
5212 	YYDEBUG(276, *YYCURSOR);
5213 	yyaccept = 7;
5214 	yych = *(YYMARKER = ++YYCURSOR);
5215 	if (yych == '.') goto yy277;
5216 	if (yych != ':') goto yy221;
5217 yy277:
5218 	YYDEBUG(277, *YYCURSOR);
5219 	yych = *++YYCURSOR;
5220 	if (yych <= '/') goto yy56;
5221 	if (yych <= '5') goto yy278;
5222 	if (yych <= '6') goto yy279;
5223 	if (yych <= '9') goto yy226;
5224 	goto yy56;
5225 yy278:
5226 	YYDEBUG(278, *YYCURSOR);
5227 	yych = *++YYCURSOR;
5228 	if (yych <= '/') goto yy221;
5229 	if (yych <= '9') goto yy280;
5230 	goto yy221;
5231 yy279:
5232 	YYDEBUG(279, *YYCURSOR);
5233 	yych = *++YYCURSOR;
5234 	if (yych != '0') goto yy221;
5235 yy280:
5236 	YYDEBUG(280, *YYCURSOR);
5237 	yyaccept = 7;
5238 	yych = *(YYMARKER = ++YYCURSOR);
5239 	if (yych <= '*') {
5240 		if (yych <= 0x1F) {
5241 			if (yych == '\t') goto yy282;
5242 			goto yy221;
5243 		} else {
5244 			if (yych <= ' ') goto yy282;
5245 			if (yych == '(') goto yy282;
5246 			goto yy221;
5247 		}
5248 	} else {
5249 		if (yych <= '@') {
5250 			if (yych == ',') goto yy221;
5251 			if (yych <= '-') goto yy282;
5252 			goto yy221;
5253 		} else {
5254 			if (yych <= 'Z') goto yy282;
5255 			if (yych <= '`') goto yy221;
5256 			if (yych <= 'z') goto yy282;
5257 			goto yy221;
5258 		}
5259 	}
5260 yy281:
5261 	YYDEBUG(281, *YYCURSOR);
5262 	++YYCURSOR;
5263 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
5264 	yych = *YYCURSOR;
5265 yy282:
5266 	YYDEBUG(282, *YYCURSOR);
5267 	if (yych <= '+') {
5268 		if (yych <= ' ') {
5269 			if (yych == '\t') goto yy281;
5270 			if (yych <= 0x1F) goto yy56;
5271 			goto yy281;
5272 		} else {
5273 			if (yych == '(') goto yy232;
5274 			if (yych <= '*') goto yy56;
5275 			goto yy231;
5276 		}
5277 	} else {
5278 		if (yych <= 'F') {
5279 			if (yych == '-') goto yy231;
5280 			if (yych <= '@') goto yy56;
5281 			goto yy234;
5282 		} else {
5283 			if (yych <= 'Z') {
5284 				if (yych <= 'G') goto yy230;
5285 				goto yy234;
5286 			} else {
5287 				if (yych <= '`') goto yy56;
5288 				if (yych <= 'z') goto yy236;
5289 				goto yy56;
5290 			}
5291 		}
5292 	}
5293 yy283:
5294 	YYDEBUG(283, *YYCURSOR);
5295 	yych = *++YYCURSOR;
5296 	if (yych <= '/') {
5297 		if (yych == '.') goto yy274;
5298 		goto yy56;
5299 	} else {
5300 		if (yych <= '9') goto yy273;
5301 		if (yych <= ':') goto yy274;
5302 		goto yy56;
5303 	}
5304 yy284:
5305 	YYDEBUG(284, *YYCURSOR);
5306 	yych = *++YYCURSOR;
5307 	if (yych <= '/') {
5308 		if (yych == '.') goto yy274;
5309 		goto yy56;
5310 	} else {
5311 		if (yych <= '4') goto yy273;
5312 		if (yych == ':') goto yy274;
5313 		goto yy56;
5314 	}
5315 yy285:
5316 	YYDEBUG(285, *YYCURSOR);
5317 	yyaccept = 6;
5318 	yych = *(YYMARKER = ++YYCURSOR);
5319 	if (yych <= '/') {
5320 		if (yych == '.') goto yy274;
5321 		goto yy207;
5322 	} else {
5323 		if (yych <= '0') goto yy292;
5324 		if (yych <= '9') goto yy293;
5325 		if (yych <= ':') goto yy274;
5326 		goto yy207;
5327 	}
5328 yy286:
5329 	YYDEBUG(286, *YYCURSOR);
5330 	yyaccept = 6;
5331 	yych = *(YYMARKER = ++YYCURSOR);
5332 	if (yych <= '/') {
5333 		if (yych == '.') goto yy219;
5334 		goto yy207;
5335 	} else {
5336 		if (yych <= '2') goto yy293;
5337 		if (yych <= '9') goto yy292;
5338 		if (yych <= ':') goto yy219;
5339 		goto yy207;
5340 	}
5341 yy287:
5342 	YYDEBUG(287, *YYCURSOR);
5343 	yyaccept = 6;
5344 	yych = *(YYMARKER = ++YYCURSOR);
5345 	if (yych <= '/') {
5346 		if (yych == '.') goto yy219;
5347 		goto yy207;
5348 	} else {
5349 		if (yych <= '4') goto yy292;
5350 		if (yych <= '9') goto yy289;
5351 		if (yych <= ':') goto yy219;
5352 		goto yy207;
5353 	}
5354 yy288:
5355 	YYDEBUG(288, *YYCURSOR);
5356 	yyaccept = 6;
5357 	yych = *(YYMARKER = ++YYCURSOR);
5358 	if (yych <= '/') {
5359 		if (yych == '.') goto yy219;
5360 		goto yy207;
5361 	} else {
5362 		if (yych <= '9') goto yy289;
5363 		if (yych <= ':') goto yy219;
5364 		goto yy207;
5365 	}
5366 yy289:
5367 	YYDEBUG(289, *YYCURSOR);
5368 	yych = *++YYCURSOR;
5369 	if (yych <= '/') goto yy207;
5370 	if (yych >= ':') goto yy207;
5371 yy290:
5372 	YYDEBUG(290, *YYCURSOR);
5373 	yych = *++YYCURSOR;
5374 	if (yych <= '/') goto yy207;
5375 	if (yych >= ':') goto yy207;
5376 	YYDEBUG(291, *YYCURSOR);
5377 	yych = *++YYCURSOR;
5378 	goto yy207;
5379 yy292:
5380 	YYDEBUG(292, *YYCURSOR);
5381 	yyaccept = 6;
5382 	yych = *(YYMARKER = ++YYCURSOR);
5383 	if (yych <= '/') {
5384 		if (yych == '.') goto yy274;
5385 		goto yy207;
5386 	} else {
5387 		if (yych <= '9') goto yy290;
5388 		if (yych <= ':') goto yy274;
5389 		goto yy207;
5390 	}
5391 yy293:
5392 	YYDEBUG(293, *YYCURSOR);
5393 	yyaccept = 6;
5394 	yych = *(YYMARKER = ++YYCURSOR);
5395 	if (yych <= '/') {
5396 		if (yych == '.') goto yy219;
5397 		goto yy207;
5398 	} else {
5399 		if (yych <= '9') goto yy290;
5400 		if (yych <= ':') goto yy219;
5401 		goto yy207;
5402 	}
5403 yy294:
5404 	YYDEBUG(294, *YYCURSOR);
5405 	yyaccept = 6;
5406 	yych = *(YYMARKER = ++YYCURSOR);
5407 	if (yych <= 0x00) goto yy213;
5408 	goto yy212;
5409 yy295:
5410 	YYDEBUG(295, *YYCURSOR);
5411 	yych = *++YYCURSOR;
5412 	if (yych <= '/') goto yy56;
5413 	if (yych >= ':') goto yy56;
5414 	YYDEBUG(296, *YYCURSOR);
5415 	++YYCURSOR;
5416 	YYDEBUG(297, *YYCURSOR);
5417 #line 1338 "ext/date/lib/parse_date.re"
5418 	{
5419 		int length = 0;
5420 		DEBUG_OUTPUT("datenoday");
5421 		TIMELIB_INIT;
5422 		TIMELIB_HAVE_DATE();
5423 		s->time->m = timelib_get_month((char **) &ptr);
5424 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
5425 		s->time->d = 1;
5426 		TIMELIB_PROCESS_YEAR(s->time->y, length);
5427 		TIMELIB_DEINIT;
5428 		return TIMELIB_DATE_NO_DAY;
5429 	}
5430 #line 5431 "<stdout>"
5431 yy298:
5432 	YYDEBUG(298, *YYCURSOR);
5433 	yych = *++YYCURSOR;
5434 	if (yych <= '9') {
5435 		if (yych <= ' ') {
5436 			if (yych <= 0x08) {
5437 				if (yych <= 0x00) goto yy213;
5438 				goto yy56;
5439 			} else {
5440 				if (yych <= '\t') goto yy211;
5441 				if (yych <= 0x1F) goto yy56;
5442 				goto yy211;
5443 			}
5444 		} else {
5445 			if (yych <= '-') {
5446 				if (yych == ',') goto yy211;
5447 				goto yy56;
5448 			} else {
5449 				if (yych <= '.') goto yy211;
5450 				if (yych <= '/') goto yy56;
5451 				goto yy295;
5452 			}
5453 		}
5454 	} else {
5455 		if (yych <= 'm') {
5456 			if (yych <= 'd') {
5457 				if (yych <= 'c') goto yy56;
5458 				goto yy211;
5459 			} else {
5460 				if (yych == 'h') goto yy211;
5461 				goto yy56;
5462 			}
5463 		} else {
5464 			if (yych <= 'r') {
5465 				if (yych <= 'n') goto yy208;
5466 				if (yych <= 'q') goto yy56;
5467 				goto yy209;
5468 			} else {
5469 				if (yych <= 's') goto yy206;
5470 				if (yych <= 't') goto yy210;
5471 				goto yy56;
5472 			}
5473 		}
5474 	}
5475 yy299:
5476 	YYDEBUG(299, *YYCURSOR);
5477 	yych = *++YYCURSOR;
5478 	if (yych <= '9') {
5479 		if (yych <= ' ') {
5480 			if (yych <= 0x08) {
5481 				if (yych <= 0x00) goto yy213;
5482 				goto yy56;
5483 			} else {
5484 				if (yych <= '\t') goto yy211;
5485 				if (yych <= 0x1F) goto yy56;
5486 				goto yy211;
5487 			}
5488 		} else {
5489 			if (yych <= '-') {
5490 				if (yych == ',') goto yy211;
5491 				goto yy56;
5492 			} else {
5493 				if (yych <= '.') goto yy211;
5494 				if (yych <= '/') goto yy56;
5495 				goto yy302;
5496 			}
5497 		}
5498 	} else {
5499 		if (yych <= 'm') {
5500 			if (yych <= 'd') {
5501 				if (yych <= 'c') goto yy56;
5502 				goto yy211;
5503 			} else {
5504 				if (yych == 'h') goto yy211;
5505 				goto yy56;
5506 			}
5507 		} else {
5508 			if (yych <= 'r') {
5509 				if (yych <= 'n') goto yy208;
5510 				if (yych <= 'q') goto yy56;
5511 				goto yy209;
5512 			} else {
5513 				if (yych <= 's') goto yy206;
5514 				if (yych <= 't') goto yy210;
5515 				goto yy56;
5516 			}
5517 		}
5518 	}
5519 yy300:
5520 	YYDEBUG(300, *YYCURSOR);
5521 	yych = *++YYCURSOR;
5522 	if (yych <= '9') {
5523 		if (yych <= ' ') {
5524 			if (yych <= 0x08) {
5525 				if (yych <= 0x00) goto yy213;
5526 				goto yy56;
5527 			} else {
5528 				if (yych <= '\t') goto yy211;
5529 				if (yych <= 0x1F) goto yy56;
5530 				goto yy211;
5531 			}
5532 		} else {
5533 			if (yych <= '-') {
5534 				if (yych == ',') goto yy211;
5535 				goto yy56;
5536 			} else {
5537 				if (yych <= '.') goto yy211;
5538 				if (yych <= '/') goto yy56;
5539 				goto yy302;
5540 			}
5541 		}
5542 	} else {
5543 		if (yych <= 'm') {
5544 			if (yych <= 'd') {
5545 				if (yych <= 'c') goto yy56;
5546 				goto yy211;
5547 			} else {
5548 				if (yych == 'h') goto yy211;
5549 				goto yy56;
5550 			}
5551 		} else {
5552 			if (yych <= 'r') {
5553 				if (yych <= 'n') goto yy208;
5554 				if (yych <= 'q') goto yy56;
5555 				goto yy209;
5556 			} else {
5557 				if (yych <= 's') goto yy206;
5558 				if (yych <= 't') goto yy210;
5559 				goto yy56;
5560 			}
5561 		}
5562 	}
5563 yy301:
5564 	YYDEBUG(301, *YYCURSOR);
5565 	yych = *++YYCURSOR;
5566 	if (yych <= '1') {
5567 		if (yych <= ' ') {
5568 			if (yych <= 0x08) {
5569 				if (yych <= 0x00) goto yy213;
5570 				goto yy56;
5571 			} else {
5572 				if (yych <= '\t') goto yy211;
5573 				if (yych <= 0x1F) goto yy56;
5574 				goto yy211;
5575 			}
5576 		} else {
5577 			if (yych <= '-') {
5578 				if (yych == ',') goto yy211;
5579 				goto yy56;
5580 			} else {
5581 				if (yych <= '.') goto yy211;
5582 				if (yych <= '/') goto yy56;
5583 			}
5584 		}
5585 	} else {
5586 		if (yych <= 'm') {
5587 			if (yych <= 'd') {
5588 				if (yych <= '9') goto yy205;
5589 				if (yych <= 'c') goto yy56;
5590 				goto yy211;
5591 			} else {
5592 				if (yych == 'h') goto yy211;
5593 				goto yy56;
5594 			}
5595 		} else {
5596 			if (yych <= 'r') {
5597 				if (yych <= 'n') goto yy208;
5598 				if (yych <= 'q') goto yy56;
5599 				goto yy209;
5600 			} else {
5601 				if (yych <= 's') goto yy206;
5602 				if (yych <= 't') goto yy210;
5603 				goto yy56;
5604 			}
5605 		}
5606 	}
5607 yy302:
5608 	YYDEBUG(302, *YYCURSOR);
5609 	yych = *++YYCURSOR;
5610 	if (yych <= '9') {
5611 		if (yych <= ' ') {
5612 			if (yych <= 0x08) {
5613 				if (yych <= 0x00) goto yy213;
5614 				goto yy56;
5615 			} else {
5616 				if (yych <= '\t') goto yy211;
5617 				if (yych <= 0x1F) goto yy56;
5618 				goto yy211;
5619 			}
5620 		} else {
5621 			if (yych <= '-') {
5622 				if (yych <= '+') goto yy56;
5623 				if (yych <= ',') goto yy211;
5624 			} else {
5625 				if (yych <= '.') goto yy211;
5626 				if (yych <= '/') goto yy56;
5627 				goto yy295;
5628 			}
5629 		}
5630 	} else {
5631 		if (yych <= 'm') {
5632 			if (yych <= 'd') {
5633 				if (yych <= 'c') goto yy56;
5634 				goto yy211;
5635 			} else {
5636 				if (yych == 'h') goto yy211;
5637 				goto yy56;
5638 			}
5639 		} else {
5640 			if (yych <= 'r') {
5641 				if (yych <= 'n') goto yy208;
5642 				if (yych <= 'q') goto yy56;
5643 				goto yy209;
5644 			} else {
5645 				if (yych <= 's') goto yy206;
5646 				if (yych <= 't') goto yy210;
5647 				goto yy56;
5648 			}
5649 		}
5650 	}
5651 	YYDEBUG(303, *YYCURSOR);
5652 	yych = *++YYCURSOR;
5653 	if (yych <= '/') goto yy56;
5654 	if (yych >= ':') goto yy56;
5655 	YYDEBUG(304, *YYCURSOR);
5656 	++YYCURSOR;
5657 	if ((yych = *YYCURSOR) <= '/') goto yy305;
5658 	if (yych <= '9') goto yy306;
5659 yy305:
5660 	YYDEBUG(305, *YYCURSOR);
5661 #line 1482 "ext/date/lib/parse_date.re"
5662 	{
5663 		int length = 0;
5664 		DEBUG_OUTPUT("pgtextshort");
5665 		TIMELIB_INIT;
5666 		TIMELIB_HAVE_DATE();
5667 		s->time->m = timelib_get_month((char **) &ptr);
5668 		s->time->d = timelib_get_nr((char **) &ptr, 2);
5669 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
5670 		TIMELIB_PROCESS_YEAR(s->time->y, length);
5671 		TIMELIB_DEINIT;
5672 		return TIMELIB_PG_TEXT;
5673 	}
5674 #line 5675 "<stdout>"
5675 yy306:
5676 	YYDEBUG(306, *YYCURSOR);
5677 	yych = *++YYCURSOR;
5678 	if (yych <= '/') goto yy305;
5679 	if (yych >= ':') goto yy305;
5680 	YYDEBUG(307, *YYCURSOR);
5681 	yych = *++YYCURSOR;
5682 	if (yych <= '/') goto yy305;
5683 	if (yych >= ':') goto yy305;
5684 	YYDEBUG(308, *YYCURSOR);
5685 	yych = *++YYCURSOR;
5686 	goto yy305;
5687 yy309:
5688 	YYDEBUG(309, *YYCURSOR);
5689 	yyaccept = 0;
5690 	yych = *(YYMARKER = ++YYCURSOR);
5691 	if (yych <= 'B') {
5692 		if (yych <= '-') {
5693 			if (yych == ')') goto yy139;
5694 			if (yych <= ',') goto yy3;
5695 			goto yy147;
5696 		} else {
5697 			if (yych == '/') goto yy147;
5698 			if (yych <= '@') goto yy3;
5699 			goto yy141;
5700 		}
5701 	} else {
5702 		if (yych <= '_') {
5703 			if (yych <= 'C') goto yy192;
5704 			if (yych <= 'Z') goto yy141;
5705 			if (yych <= '^') goto yy3;
5706 			goto yy147;
5707 		} else {
5708 			if (yych <= 'b') {
5709 				if (yych <= '`') goto yy3;
5710 				goto yy146;
5711 			} else {
5712 				if (yych <= 'c') goto yy310;
5713 				if (yych <= 'z') goto yy146;
5714 				goto yy3;
5715 			}
5716 		}
5717 	}
5718 yy310:
5719 	YYDEBUG(310, *YYCURSOR);
5720 	yyaccept = 5;
5721 	yych = *(YYMARKER = ++YYCURSOR);
5722 	if (yych <= '9') {
5723 		if (yych <= '(') {
5724 			if (yych <= '\t') {
5725 				if (yych <= 0x08) goto yy193;
5726 				goto yy195;
5727 			} else {
5728 				if (yych == ' ') goto yy195;
5729 				goto yy193;
5730 			}
5731 		} else {
5732 			if (yych <= '-') {
5733 				if (yych <= ')') goto yy139;
5734 				if (yych <= ',') goto yy193;
5735 			} else {
5736 				if (yych == '/') goto yy147;
5737 				goto yy195;
5738 			}
5739 		}
5740 	} else {
5741 		if (yych <= '^') {
5742 			if (yych <= 'D') {
5743 				if (yych <= '@') goto yy193;
5744 				goto yy142;
5745 			} else {
5746 				if (yych <= 'E') goto yy200;
5747 				if (yych <= 'Z') goto yy142;
5748 				goto yy193;
5749 			}
5750 		} else {
5751 			if (yych <= 'd') {
5752 				if (yych <= '_') goto yy147;
5753 				if (yych <= '`') goto yy193;
5754 				goto yy150;
5755 			} else {
5756 				if (yych <= 'e') goto yy312;
5757 				if (yych <= 'z') goto yy150;
5758 				goto yy193;
5759 			}
5760 		}
5761 	}
5762 yy311:
5763 	YYDEBUG(311, *YYCURSOR);
5764 	yych = *++YYCURSOR;
5765 	if (yybm[0+yych] & 8) {
5766 		goto yy148;
5767 	}
5768 	if (yych <= '/') goto yy195;
5769 	if (yych <= '0') goto yy299;
5770 	if (yych <= '2') goto yy300;
5771 	if (yych <= '3') goto yy301;
5772 	goto yy195;
5773 yy312:
5774 	YYDEBUG(312, *YYCURSOR);
5775 	yyaccept = 0;
5776 	yych = *(YYMARKER = ++YYCURSOR);
5777 	if (yych <= 'L') {
5778 		if (yych <= '-') {
5779 			if (yych == ')') goto yy139;
5780 			if (yych <= ',') goto yy3;
5781 			goto yy147;
5782 		} else {
5783 			if (yych == '/') goto yy147;
5784 			if (yych <= '@') goto yy3;
5785 			goto yy143;
5786 		}
5787 	} else {
5788 		if (yych <= '_') {
5789 			if (yych <= 'M') goto yy201;
5790 			if (yych <= 'Z') goto yy143;
5791 			if (yych <= '^') goto yy3;
5792 			goto yy147;
5793 		} else {
5794 			if (yych <= 'l') {
5795 				if (yych <= '`') goto yy3;
5796 				goto yy151;
5797 			} else {
5798 				if (yych <= 'm') goto yy313;
5799 				if (yych <= 'z') goto yy151;
5800 				goto yy3;
5801 			}
5802 		}
5803 	}
5804 yy313:
5805 	YYDEBUG(313, *YYCURSOR);
5806 	yyaccept = 0;
5807 	yych = *(YYMARKER = ++YYCURSOR);
5808 	if (yych <= 'A') {
5809 		if (yych <= '-') {
5810 			if (yych == ')') goto yy139;
5811 			if (yych <= ',') goto yy3;
5812 			goto yy147;
5813 		} else {
5814 			if (yych == '/') goto yy147;
5815 			if (yych <= '@') goto yy3;
5816 			goto yy144;
5817 		}
5818 	} else {
5819 		if (yych <= '_') {
5820 			if (yych <= 'B') goto yy202;
5821 			if (yych <= 'Z') goto yy144;
5822 			if (yych <= '^') goto yy3;
5823 			goto yy147;
5824 		} else {
5825 			if (yych <= 'a') {
5826 				if (yych <= '`') goto yy3;
5827 				goto yy152;
5828 			} else {
5829 				if (yych <= 'b') goto yy314;
5830 				if (yych <= 'z') goto yy152;
5831 				goto yy3;
5832 			}
5833 		}
5834 	}
5835 yy314:
5836 	YYDEBUG(314, *YYCURSOR);
5837 	yyaccept = 0;
5838 	yych = *(YYMARKER = ++YYCURSOR);
5839 	if (yych <= 'D') {
5840 		if (yych <= ',') {
5841 			if (yych == ')') goto yy139;
5842 			goto yy3;
5843 		} else {
5844 			if (yych == '.') goto yy3;
5845 			if (yych <= '/') goto yy147;
5846 			goto yy3;
5847 		}
5848 	} else {
5849 		if (yych <= '`') {
5850 			if (yych <= 'E') goto yy203;
5851 			if (yych == '_') goto yy147;
5852 			goto yy3;
5853 		} else {
5854 			if (yych == 'e') goto yy315;
5855 			if (yych <= 'z') goto yy153;
5856 			goto yy3;
5857 		}
5858 	}
5859 yy315:
5860 	YYDEBUG(315, *YYCURSOR);
5861 	yych = *++YYCURSOR;
5862 	if (yych == 'R') goto yy204;
5863 	if (yych != 'r') goto yy154;
5864 yy316:
5865 	YYDEBUG(316, *YYCURSOR);
5866 	yyaccept = 5;
5867 	yych = *(YYMARKER = ++YYCURSOR);
5868 	if (yybm[0+yych] & 16) {
5869 		goto yy153;
5870 	}
5871 	if (yych <= '-') {
5872 		if (yych <= 0x1F) {
5873 			if (yych == '\t') goto yy195;
5874 			goto yy193;
5875 		} else {
5876 			if (yych <= ' ') goto yy195;
5877 			if (yych <= ',') goto yy193;
5878 		}
5879 	} else {
5880 		if (yych <= '9') {
5881 			if (yych == '/') goto yy147;
5882 			goto yy195;
5883 		} else {
5884 			if (yych == '_') goto yy147;
5885 			goto yy193;
5886 		}
5887 	}
5888 yy317:
5889 	YYDEBUG(317, *YYCURSOR);
5890 	yych = *++YYCURSOR;
5891 	if (yybm[0+yych] & 8) {
5892 		goto yy148;
5893 	}
5894 	goto yy195;
5895 yy318:
5896 	YYDEBUG(318, *YYCURSOR);
5897 	yych = *++YYCURSOR;
5898 	if (yych <= 'T') {
5899 		if (yych <= ')') {
5900 			if (yych <= '(') goto yy3;
5901 			goto yy139;
5902 		} else {
5903 			if (yych <= '@') goto yy3;
5904 			if (yych <= 'S') goto yy141;
5905 		}
5906 	} else {
5907 		if (yych <= 's') {
5908 			if (yych <= 'Z') goto yy141;
5909 			if (yych <= '`') goto yy3;
5910 			goto yy141;
5911 		} else {
5912 			if (yych <= 't') goto yy319;
5913 			if (yych <= 'z') goto yy141;
5914 			goto yy3;
5915 		}
5916 	}
5917 yy319:
5918 	YYDEBUG(319, *YYCURSOR);
5919 	yyaccept = 5;
5920 	yych = *(YYMARKER = ++YYCURSOR);
5921 	if (yych <= '/') {
5922 		if (yych <= '(') {
5923 			if (yych <= '\t') {
5924 				if (yych <= 0x08) goto yy193;
5925 				goto yy195;
5926 			} else {
5927 				if (yych == ' ') goto yy195;
5928 				goto yy193;
5929 			}
5930 		} else {
5931 			if (yych <= ',') {
5932 				if (yych <= ')') goto yy139;
5933 				goto yy193;
5934 			} else {
5935 				if (yych <= '-') goto yy196;
5936 				if (yych <= '.') goto yy195;
5937 				goto yy193;
5938 			}
5939 		}
5940 	} else {
5941 		if (yych <= 'Z') {
5942 			if (yych <= '@') {
5943 				if (yych <= '9') goto yy195;
5944 				goto yy193;
5945 			} else {
5946 				if (yych != 'O') goto yy142;
5947 			}
5948 		} else {
5949 			if (yych <= 'n') {
5950 				if (yych <= '`') goto yy193;
5951 				goto yy142;
5952 			} else {
5953 				if (yych <= 'o') goto yy320;
5954 				if (yych <= 'z') goto yy142;
5955 				goto yy193;
5956 			}
5957 		}
5958 	}
5959 yy320:
5960 	YYDEBUG(320, *YYCURSOR);
5961 	yych = *++YYCURSOR;
5962 	if (yych <= 'B') {
5963 		if (yych <= ')') {
5964 			if (yych <= '(') goto yy3;
5965 			goto yy139;
5966 		} else {
5967 			if (yych <= '@') goto yy3;
5968 			if (yych <= 'A') goto yy143;
5969 		}
5970 	} else {
5971 		if (yych <= 'a') {
5972 			if (yych <= 'Z') goto yy143;
5973 			if (yych <= '`') goto yy3;
5974 			goto yy143;
5975 		} else {
5976 			if (yych <= 'b') goto yy321;
5977 			if (yych <= 'z') goto yy143;
5978 			goto yy3;
5979 		}
5980 	}
5981 yy321:
5982 	YYDEBUG(321, *YYCURSOR);
5983 	yych = *++YYCURSOR;
5984 	if (yych <= 'E') {
5985 		if (yych <= ')') {
5986 			if (yych <= '(') goto yy3;
5987 			goto yy139;
5988 		} else {
5989 			if (yych <= '@') goto yy3;
5990 			if (yych <= 'D') goto yy144;
5991 		}
5992 	} else {
5993 		if (yych <= 'd') {
5994 			if (yych <= 'Z') goto yy144;
5995 			if (yych <= '`') goto yy3;
5996 			goto yy144;
5997 		} else {
5998 			if (yych <= 'e') goto yy322;
5999 			if (yych <= 'z') goto yy144;
6000 			goto yy3;
6001 		}
6002 	}
6003 yy322:
6004 	YYDEBUG(322, *YYCURSOR);
6005 	yych = *++YYCURSOR;
6006 	if (yych <= 'Q') {
6007 		if (yych == ')') goto yy139;
6008 		goto yy3;
6009 	} else {
6010 		if (yych <= 'R') goto yy204;
6011 		if (yych == 'r') goto yy204;
6012 		goto yy3;
6013 	}
6014 yy323:
6015 	YYDEBUG(323, *YYCURSOR);
6016 	yyaccept = 0;
6017 	yych = *(YYMARKER = ++YYCURSOR);
6018 	if (yych <= 'S') {
6019 		if (yych <= '-') {
6020 			if (yych == ')') goto yy139;
6021 			if (yych <= ',') goto yy3;
6022 			goto yy147;
6023 		} else {
6024 			if (yych == '/') goto yy147;
6025 			if (yych <= '@') goto yy3;
6026 			goto yy141;
6027 		}
6028 	} else {
6029 		if (yych <= '_') {
6030 			if (yych <= 'T') goto yy319;
6031 			if (yych <= 'Z') goto yy141;
6032 			if (yych <= '^') goto yy3;
6033 			goto yy147;
6034 		} else {
6035 			if (yych <= 's') {
6036 				if (yych <= '`') goto yy3;
6037 				goto yy146;
6038 			} else {
6039 				if (yych <= 't') goto yy324;
6040 				if (yych <= 'z') goto yy146;
6041 				goto yy3;
6042 			}
6043 		}
6044 	}
6045 yy324:
6046 	YYDEBUG(324, *YYCURSOR);
6047 	yyaccept = 5;
6048 	yych = *(YYMARKER = ++YYCURSOR);
6049 	if (yych <= '9') {
6050 		if (yych <= '(') {
6051 			if (yych <= '\t') {
6052 				if (yych <= 0x08) goto yy193;
6053 				goto yy195;
6054 			} else {
6055 				if (yych == ' ') goto yy195;
6056 				goto yy193;
6057 			}
6058 		} else {
6059 			if (yych <= '-') {
6060 				if (yych <= ')') goto yy139;
6061 				if (yych <= ',') goto yy193;
6062 				goto yy311;
6063 			} else {
6064 				if (yych == '/') goto yy147;
6065 				goto yy195;
6066 			}
6067 		}
6068 	} else {
6069 		if (yych <= '^') {
6070 			if (yych <= 'N') {
6071 				if (yych <= '@') goto yy193;
6072 				goto yy142;
6073 			} else {
6074 				if (yych <= 'O') goto yy320;
6075 				if (yych <= 'Z') goto yy142;
6076 				goto yy193;
6077 			}
6078 		} else {
6079 			if (yych <= 'n') {
6080 				if (yych <= '_') goto yy147;
6081 				if (yych <= '`') goto yy193;
6082 				goto yy150;
6083 			} else {
6084 				if (yych <= 'o') goto yy325;
6085 				if (yych <= 'z') goto yy150;
6086 				goto yy193;
6087 			}
6088 		}
6089 	}
6090 yy325:
6091 	YYDEBUG(325, *YYCURSOR);
6092 	yyaccept = 0;
6093 	yych = *(YYMARKER = ++YYCURSOR);
6094 	if (yych <= 'A') {
6095 		if (yych <= '-') {
6096 			if (yych == ')') goto yy139;
6097 			if (yych <= ',') goto yy3;
6098 			goto yy147;
6099 		} else {
6100 			if (yych == '/') goto yy147;
6101 			if (yych <= '@') goto yy3;
6102 			goto yy143;
6103 		}
6104 	} else {
6105 		if (yych <= '_') {
6106 			if (yych <= 'B') goto yy321;
6107 			if (yych <= 'Z') goto yy143;
6108 			if (yych <= '^') goto yy3;
6109 			goto yy147;
6110 		} else {
6111 			if (yych <= 'a') {
6112 				if (yych <= '`') goto yy3;
6113 				goto yy151;
6114 			} else {
6115 				if (yych <= 'b') goto yy326;
6116 				if (yych <= 'z') goto yy151;
6117 				goto yy3;
6118 			}
6119 		}
6120 	}
6121 yy326:
6122 	YYDEBUG(326, *YYCURSOR);
6123 	yyaccept = 0;
6124 	yych = *(YYMARKER = ++YYCURSOR);
6125 	if (yych <= 'D') {
6126 		if (yych <= '-') {
6127 			if (yych == ')') goto yy139;
6128 			if (yych <= ',') goto yy3;
6129 			goto yy147;
6130 		} else {
6131 			if (yych == '/') goto yy147;
6132 			if (yych <= '@') goto yy3;
6133 			goto yy144;
6134 		}
6135 	} else {
6136 		if (yych <= '_') {
6137 			if (yych <= 'E') goto yy322;
6138 			if (yych <= 'Z') goto yy144;
6139 			if (yych <= '^') goto yy3;
6140 			goto yy147;
6141 		} else {
6142 			if (yych <= 'd') {
6143 				if (yych <= '`') goto yy3;
6144 				goto yy152;
6145 			} else {
6146 				if (yych <= 'e') goto yy327;
6147 				if (yych <= 'z') goto yy152;
6148 				goto yy3;
6149 			}
6150 		}
6151 	}
6152 yy327:
6153 	YYDEBUG(327, *YYCURSOR);
6154 	yyaccept = 0;
6155 	yych = *(YYMARKER = ++YYCURSOR);
6156 	if (yych <= 'Q') {
6157 		if (yych <= ',') {
6158 			if (yych == ')') goto yy139;
6159 			goto yy3;
6160 		} else {
6161 			if (yych == '.') goto yy3;
6162 			if (yych <= '/') goto yy147;
6163 			goto yy3;
6164 		}
6165 	} else {
6166 		if (yych <= '`') {
6167 			if (yych <= 'R') goto yy204;
6168 			if (yych == '_') goto yy147;
6169 			goto yy3;
6170 		} else {
6171 			if (yych == 'r') goto yy316;
6172 			if (yych <= 'z') goto yy153;
6173 			goto yy3;
6174 		}
6175 	}
6176 yy328:
6177 	YYDEBUG(328, *YYCURSOR);
6178 	yych = *++YYCURSOR;
6179 	if (yych <= 'G') {
6180 		if (yych <= ')') {
6181 			if (yych <= '(') goto yy3;
6182 			goto yy139;
6183 		} else {
6184 			if (yych <= '@') goto yy3;
6185 			if (yych <= 'F') goto yy141;
6186 			goto yy336;
6187 		}
6188 	} else {
6189 		if (yych <= 'f') {
6190 			if (yych <= 'Z') goto yy141;
6191 			if (yych <= '`') goto yy3;
6192 			goto yy141;
6193 		} else {
6194 			if (yych <= 'g') goto yy336;
6195 			if (yych <= 'z') goto yy141;
6196 			goto yy3;
6197 		}
6198 	}
6199 yy329:
6200 	YYDEBUG(329, *YYCURSOR);
6201 	yych = *++YYCURSOR;
6202 	if (yych <= 'R') {
6203 		if (yych <= ')') {
6204 			if (yych <= '(') goto yy3;
6205 			goto yy139;
6206 		} else {
6207 			if (yych <= '@') goto yy3;
6208 			if (yych <= 'Q') goto yy141;
6209 			goto yy333;
6210 		}
6211 	} else {
6212 		if (yych <= 'q') {
6213 			if (yych <= 'Z') goto yy141;
6214 			if (yych <= '`') goto yy3;
6215 			goto yy141;
6216 		} else {
6217 			if (yych <= 'r') goto yy333;
6218 			if (yych <= 'z') goto yy141;
6219 			goto yy3;
6220 		}
6221 	}
6222 yy330:
6223 	YYDEBUG(330, *YYCURSOR);
6224 	yych = *++YYCURSOR;
6225 	if (yych <= 'O') {
6226 		if (yych <= ')') {
6227 			if (yych <= '(') goto yy3;
6228 			goto yy139;
6229 		} else {
6230 			if (yych <= '@') goto yy3;
6231 			if (yych <= 'N') goto yy141;
6232 		}
6233 	} else {
6234 		if (yych <= 'n') {
6235 			if (yych <= 'Z') goto yy141;
6236 			if (yych <= '`') goto yy3;
6237 			goto yy141;
6238 		} else {
6239 			if (yych <= 'o') goto yy331;
6240 			if (yych <= 'z') goto yy141;
6241 			goto yy3;
6242 		}
6243 	}
6244 yy331:
6245 	YYDEBUG(331, *YYCURSOR);
6246 	++YYCURSOR;
6247 	if ((yych = *YYCURSOR) <= '@') {
6248 		if (yych == ')') goto yy139;
6249 	} else {
6250 		if (yych <= 'Z') goto yy142;
6251 		if (yych <= '`') goto yy332;
6252 		if (yych <= 'z') goto yy142;
6253 	}
6254 yy332:
6255 	YYDEBUG(332, *YYCURSOR);
6256 #line 1540 "ext/date/lib/parse_date.re"
6257 	{
6258 		DEBUG_OUTPUT("ago");
6259 		TIMELIB_INIT;
6260 		s->time->relative.y = 0 - s->time->relative.y;
6261 		s->time->relative.m = 0 - s->time->relative.m;
6262 		s->time->relative.d = 0 - s->time->relative.d;
6263 		s->time->relative.h = 0 - s->time->relative.h;
6264 		s->time->relative.i = 0 - s->time->relative.i;
6265 		s->time->relative.s = 0 - s->time->relative.s;
6266 		s->time->relative.weekday = 0 - s->time->relative.weekday;
6267 		if (s->time->relative.weekday == 0) {
6268 			s->time->relative.weekday = -7;
6269 		}
6270 		if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
6271 			s->time->relative.special.amount = 0 - s->time->relative.special.amount;
6272 		}
6273 		TIMELIB_DEINIT;
6274 		return TIMELIB_AGO;
6275 	}
6276 #line 6277 "<stdout>"
6277 yy333:
6278 	YYDEBUG(333, *YYCURSOR);
6279 	yyaccept = 5;
6280 	yych = *(YYMARKER = ++YYCURSOR);
6281 	if (yych <= '/') {
6282 		if (yych <= '(') {
6283 			if (yych <= '\t') {
6284 				if (yych <= 0x08) goto yy193;
6285 				goto yy195;
6286 			} else {
6287 				if (yych == ' ') goto yy195;
6288 				goto yy193;
6289 			}
6290 		} else {
6291 			if (yych <= ',') {
6292 				if (yych <= ')') goto yy139;
6293 				goto yy193;
6294 			} else {
6295 				if (yych <= '-') goto yy196;
6296 				if (yych <= '.') goto yy195;
6297 				goto yy193;
6298 			}
6299 		}
6300 	} else {
6301 		if (yych <= 'Z') {
6302 			if (yych <= '@') {
6303 				if (yych <= '9') goto yy195;
6304 				goto yy193;
6305 			} else {
6306 				if (yych != 'I') goto yy142;
6307 			}
6308 		} else {
6309 			if (yych <= 'h') {
6310 				if (yych <= '`') goto yy193;
6311 				goto yy142;
6312 			} else {
6313 				if (yych <= 'i') goto yy334;
6314 				if (yych <= 'z') goto yy142;
6315 				goto yy193;
6316 			}
6317 		}
6318 	}
6319 yy334:
6320 	YYDEBUG(334, *YYCURSOR);
6321 	yych = *++YYCURSOR;
6322 	if (yych <= 'L') {
6323 		if (yych <= ')') {
6324 			if (yych <= '(') goto yy3;
6325 			goto yy139;
6326 		} else {
6327 			if (yych <= '@') goto yy3;
6328 			if (yych <= 'K') goto yy143;
6329 		}
6330 	} else {
6331 		if (yych <= 'k') {
6332 			if (yych <= 'Z') goto yy143;
6333 			if (yych <= '`') goto yy3;
6334 			goto yy143;
6335 		} else {
6336 			if (yych <= 'l') goto yy335;
6337 			if (yych <= 'z') goto yy143;
6338 			goto yy3;
6339 		}
6340 	}
6341 yy335:
6342 	YYDEBUG(335, *YYCURSOR);
6343 	yyaccept = 5;
6344 	yych = *(YYMARKER = ++YYCURSOR);
6345 	if (yych <= ',') {
6346 		if (yych <= 0x1F) {
6347 			if (yych == '\t') goto yy195;
6348 			goto yy193;
6349 		} else {
6350 			if (yych <= ' ') goto yy195;
6351 			if (yych == ')') goto yy139;
6352 			goto yy193;
6353 		}
6354 	} else {
6355 		if (yych <= '@') {
6356 			if (yych == '/') goto yy193;
6357 			if (yych <= '9') goto yy195;
6358 			goto yy193;
6359 		} else {
6360 			if (yych <= 'Z') goto yy144;
6361 			if (yych <= '`') goto yy193;
6362 			if (yych <= 'z') goto yy144;
6363 			goto yy193;
6364 		}
6365 	}
6366 yy336:
6367 	YYDEBUG(336, *YYCURSOR);
6368 	yyaccept = 5;
6369 	yych = *(YYMARKER = ++YYCURSOR);
6370 	if (yych <= '/') {
6371 		if (yych <= '(') {
6372 			if (yych <= '\t') {
6373 				if (yych <= 0x08) goto yy193;
6374 				goto yy195;
6375 			} else {
6376 				if (yych == ' ') goto yy195;
6377 				goto yy193;
6378 			}
6379 		} else {
6380 			if (yych <= ',') {
6381 				if (yych <= ')') goto yy139;
6382 				goto yy193;
6383 			} else {
6384 				if (yych <= '-') goto yy196;
6385 				if (yych <= '.') goto yy195;
6386 				goto yy193;
6387 			}
6388 		}
6389 	} else {
6390 		if (yych <= 'Z') {
6391 			if (yych <= '@') {
6392 				if (yych <= '9') goto yy195;
6393 				goto yy193;
6394 			} else {
6395 				if (yych != 'U') goto yy142;
6396 			}
6397 		} else {
6398 			if (yych <= 't') {
6399 				if (yych <= '`') goto yy193;
6400 				goto yy142;
6401 			} else {
6402 				if (yych <= 'u') goto yy337;
6403 				if (yych <= 'z') goto yy142;
6404 				goto yy193;
6405 			}
6406 		}
6407 	}
6408 yy337:
6409 	YYDEBUG(337, *YYCURSOR);
6410 	yych = *++YYCURSOR;
6411 	if (yych <= 'S') {
6412 		if (yych <= ')') {
6413 			if (yych <= '(') goto yy3;
6414 			goto yy139;
6415 		} else {
6416 			if (yych <= '@') goto yy3;
6417 			if (yych <= 'R') goto yy143;
6418 		}
6419 	} else {
6420 		if (yych <= 'r') {
6421 			if (yych <= 'Z') goto yy143;
6422 			if (yych <= '`') goto yy3;
6423 			goto yy143;
6424 		} else {
6425 			if (yych <= 's') goto yy338;
6426 			if (yych <= 'z') goto yy143;
6427 			goto yy3;
6428 		}
6429 	}
6430 yy338:
6431 	YYDEBUG(338, *YYCURSOR);
6432 	yych = *++YYCURSOR;
6433 	if (yych <= 'T') {
6434 		if (yych <= ')') {
6435 			if (yych <= '(') goto yy3;
6436 			goto yy139;
6437 		} else {
6438 			if (yych <= '@') goto yy3;
6439 			if (yych <= 'S') goto yy144;
6440 		}
6441 	} else {
6442 		if (yych <= 's') {
6443 			if (yych <= 'Z') goto yy144;
6444 			if (yych <= '`') goto yy3;
6445 			goto yy144;
6446 		} else {
6447 			if (yych <= 't') goto yy339;
6448 			if (yych <= 'z') goto yy144;
6449 			goto yy3;
6450 		}
6451 	}
6452 yy339:
6453 	YYDEBUG(339, *YYCURSOR);
6454 	yyaccept = 5;
6455 	yych = *(YYMARKER = ++YYCURSOR);
6456 	if (yych <= '(') {
6457 		if (yych <= '\t') {
6458 			if (yych <= 0x08) goto yy193;
6459 			goto yy195;
6460 		} else {
6461 			if (yych == ' ') goto yy195;
6462 			goto yy193;
6463 		}
6464 	} else {
6465 		if (yych <= '.') {
6466 			if (yych <= ')') goto yy139;
6467 			if (yych <= ',') goto yy193;
6468 			goto yy195;
6469 		} else {
6470 			if (yych <= '/') goto yy193;
6471 			if (yych <= '9') goto yy195;
6472 			goto yy193;
6473 		}
6474 	}
6475 yy340:
6476 	YYDEBUG(340, *YYCURSOR);
6477 	yyaccept = 0;
6478 	yych = *(YYMARKER = ++YYCURSOR);
6479 	if (yych <= 'F') {
6480 		if (yych <= '-') {
6481 			if (yych == ')') goto yy139;
6482 			if (yych <= ',') goto yy3;
6483 			goto yy147;
6484 		} else {
6485 			if (yych == '/') goto yy147;
6486 			if (yych <= '@') goto yy3;
6487 			goto yy141;
6488 		}
6489 	} else {
6490 		if (yych <= '_') {
6491 			if (yych <= 'G') goto yy336;
6492 			if (yych <= 'Z') goto yy141;
6493 			if (yych <= '^') goto yy3;
6494 			goto yy147;
6495 		} else {
6496 			if (yych <= 'f') {
6497 				if (yych <= '`') goto yy3;
6498 				goto yy146;
6499 			} else {
6500 				if (yych <= 'g') goto yy347;
6501 				if (yych <= 'z') goto yy146;
6502 				goto yy3;
6503 			}
6504 		}
6505 	}
6506 yy341:
6507 	YYDEBUG(341, *YYCURSOR);
6508 	yyaccept = 0;
6509 	yych = *(YYMARKER = ++YYCURSOR);
6510 	if (yych <= 'Q') {
6511 		if (yych <= '-') {
6512 			if (yych == ')') goto yy139;
6513 			if (yych <= ',') goto yy3;
6514 			goto yy147;
6515 		} else {
6516 			if (yych == '/') goto yy147;
6517 			if (yych <= '@') goto yy3;
6518 			goto yy141;
6519 		}
6520 	} else {
6521 		if (yych <= '_') {
6522 			if (yych <= 'R') goto yy333;
6523 			if (yych <= 'Z') goto yy141;
6524 			if (yych <= '^') goto yy3;
6525 			goto yy147;
6526 		} else {
6527 			if (yych <= 'q') {
6528 				if (yych <= '`') goto yy3;
6529 				goto yy146;
6530 			} else {
6531 				if (yych <= 'r') goto yy344;
6532 				if (yych <= 'z') goto yy146;
6533 				goto yy3;
6534 			}
6535 		}
6536 	}
6537 yy342:
6538 	YYDEBUG(342, *YYCURSOR);
6539 	yyaccept = 0;
6540 	yych = *(YYMARKER = ++YYCURSOR);
6541 	if (yych <= 'N') {
6542 		if (yych <= '-') {
6543 			if (yych == ')') goto yy139;
6544 			if (yych <= ',') goto yy3;
6545 			goto yy147;
6546 		} else {
6547 			if (yych == '/') goto yy147;
6548 			if (yych <= '@') goto yy3;
6549 			goto yy141;
6550 		}
6551 	} else {
6552 		if (yych <= '_') {
6553 			if (yych <= 'O') goto yy331;
6554 			if (yych <= 'Z') goto yy141;
6555 			if (yych <= '^') goto yy3;
6556 			goto yy147;
6557 		} else {
6558 			if (yych <= 'n') {
6559 				if (yych <= '`') goto yy3;
6560 				goto yy146;
6561 			} else {
6562 				if (yych <= 'o') goto yy343;
6563 				if (yych <= 'z') goto yy146;
6564 				goto yy3;
6565 			}
6566 		}
6567 	}
6568 yy343:
6569 	YYDEBUG(343, *YYCURSOR);
6570 	yyaccept = 8;
6571 	yych = *(YYMARKER = ++YYCURSOR);
6572 	if (yych <= '/') {
6573 		if (yych <= ',') {
6574 			if (yych == ')') goto yy139;
6575 			goto yy332;
6576 		} else {
6577 			if (yych == '.') goto yy332;
6578 			goto yy147;
6579 		}
6580 	} else {
6581 		if (yych <= '^') {
6582 			if (yych <= '@') goto yy332;
6583 			if (yych <= 'Z') goto yy142;
6584 			goto yy332;
6585 		} else {
6586 			if (yych <= '_') goto yy147;
6587 			if (yych <= '`') goto yy332;
6588 			if (yych <= 'z') goto yy150;
6589 			goto yy332;
6590 		}
6591 	}
6592 yy344:
6593 	YYDEBUG(344, *YYCURSOR);
6594 	yyaccept = 5;
6595 	yych = *(YYMARKER = ++YYCURSOR);
6596 	if (yych <= '9') {
6597 		if (yych <= '(') {
6598 			if (yych <= '\t') {
6599 				if (yych <= 0x08) goto yy193;
6600 				goto yy195;
6601 			} else {
6602 				if (yych == ' ') goto yy195;
6603 				goto yy193;
6604 			}
6605 		} else {
6606 			if (yych <= '-') {
6607 				if (yych <= ')') goto yy139;
6608 				if (yych <= ',') goto yy193;
6609 				goto yy311;
6610 			} else {
6611 				if (yych == '/') goto yy147;
6612 				goto yy195;
6613 			}
6614 		}
6615 	} else {
6616 		if (yych <= '^') {
6617 			if (yych <= 'H') {
6618 				if (yych <= '@') goto yy193;
6619 				goto yy142;
6620 			} else {
6621 				if (yych <= 'I') goto yy334;
6622 				if (yych <= 'Z') goto yy142;
6623 				goto yy193;
6624 			}
6625 		} else {
6626 			if (yych <= 'h') {
6627 				if (yych <= '_') goto yy147;
6628 				if (yych <= '`') goto yy193;
6629 				goto yy150;
6630 			} else {
6631 				if (yych <= 'i') goto yy345;
6632 				if (yych <= 'z') goto yy150;
6633 				goto yy193;
6634 			}
6635 		}
6636 	}
6637 yy345:
6638 	YYDEBUG(345, *YYCURSOR);
6639 	yyaccept = 0;
6640 	yych = *(YYMARKER = ++YYCURSOR);
6641 	if (yych <= 'K') {
6642 		if (yych <= '-') {
6643 			if (yych == ')') goto yy139;
6644 			if (yych <= ',') goto yy3;
6645 			goto yy147;
6646 		} else {
6647 			if (yych == '/') goto yy147;
6648 			if (yych <= '@') goto yy3;
6649 			goto yy143;
6650 		}
6651 	} else {
6652 		if (yych <= '_') {
6653 			if (yych <= 'L') goto yy335;
6654 			if (yych <= 'Z') goto yy143;
6655 			if (yych <= '^') goto yy3;
6656 			goto yy147;
6657 		} else {
6658 			if (yych <= 'k') {
6659 				if (yych <= '`') goto yy3;
6660 				goto yy151;
6661 			} else {
6662 				if (yych <= 'l') goto yy346;
6663 				if (yych <= 'z') goto yy151;
6664 				goto yy3;
6665 			}
6666 		}
6667 	}
6668 yy346:
6669 	YYDEBUG(346, *YYCURSOR);
6670 	yyaccept = 5;
6671 	yych = *(YYMARKER = ++YYCURSOR);
6672 	if (yych <= '.') {
6673 		if (yych <= ' ') {
6674 			if (yych == '\t') goto yy195;
6675 			if (yych <= 0x1F) goto yy193;
6676 			goto yy195;
6677 		} else {
6678 			if (yych <= ')') {
6679 				if (yych <= '(') goto yy193;
6680 				goto yy139;
6681 			} else {
6682 				if (yych <= ',') goto yy193;
6683 				if (yych <= '-') goto yy317;
6684 				goto yy195;
6685 			}
6686 		}
6687 	} else {
6688 		if (yych <= 'Z') {
6689 			if (yych <= '/') goto yy147;
6690 			if (yych <= '9') goto yy195;
6691 			if (yych <= '@') goto yy193;
6692 			goto yy144;
6693 		} else {
6694 			if (yych <= '_') {
6695 				if (yych <= '^') goto yy193;
6696 				goto yy147;
6697 			} else {
6698 				if (yych <= '`') goto yy193;
6699 				if (yych <= 'z') goto yy152;
6700 				goto yy193;
6701 			}
6702 		}
6703 	}
6704 yy347:
6705 	YYDEBUG(347, *YYCURSOR);
6706 	yyaccept = 5;
6707 	yych = *(YYMARKER = ++YYCURSOR);
6708 	if (yych <= '9') {
6709 		if (yych <= '(') {
6710 			if (yych <= '\t') {
6711 				if (yych <= 0x08) goto yy193;
6712 				goto yy195;
6713 			} else {
6714 				if (yych == ' ') goto yy195;
6715 				goto yy193;
6716 			}
6717 		} else {
6718 			if (yych <= '-') {
6719 				if (yych <= ')') goto yy139;
6720 				if (yych <= ',') goto yy193;
6721 				goto yy311;
6722 			} else {
6723 				if (yych == '/') goto yy147;
6724 				goto yy195;
6725 			}
6726 		}
6727 	} else {
6728 		if (yych <= '^') {
6729 			if (yych <= 'T') {
6730 				if (yych <= '@') goto yy193;
6731 				goto yy142;
6732 			} else {
6733 				if (yych <= 'U') goto yy337;
6734 				if (yych <= 'Z') goto yy142;
6735 				goto yy193;
6736 			}
6737 		} else {
6738 			if (yych <= 't') {
6739 				if (yych <= '_') goto yy147;
6740 				if (yych <= '`') goto yy193;
6741 				goto yy150;
6742 			} else {
6743 				if (yych <= 'u') goto yy348;
6744 				if (yych <= 'z') goto yy150;
6745 				goto yy193;
6746 			}
6747 		}
6748 	}
6749 yy348:
6750 	YYDEBUG(348, *YYCURSOR);
6751 	yyaccept = 0;
6752 	yych = *(YYMARKER = ++YYCURSOR);
6753 	if (yych <= 'R') {
6754 		if (yych <= '-') {
6755 			if (yych == ')') goto yy139;
6756 			if (yych <= ',') goto yy3;
6757 			goto yy147;
6758 		} else {
6759 			if (yych == '/') goto yy147;
6760 			if (yych <= '@') goto yy3;
6761 			goto yy143;
6762 		}
6763 	} else {
6764 		if (yych <= '_') {
6765 			if (yych <= 'S') goto yy338;
6766 			if (yych <= 'Z') goto yy143;
6767 			if (yych <= '^') goto yy3;
6768 			goto yy147;
6769 		} else {
6770 			if (yych <= 'r') {
6771 				if (yych <= '`') goto yy3;
6772 				goto yy151;
6773 			} else {
6774 				if (yych <= 's') goto yy349;
6775 				if (yych <= 'z') goto yy151;
6776 				goto yy3;
6777 			}
6778 		}
6779 	}
6780 yy349:
6781 	YYDEBUG(349, *YYCURSOR);
6782 	yyaccept = 0;
6783 	yych = *(YYMARKER = ++YYCURSOR);
6784 	if (yych <= 'S') {
6785 		if (yych <= '-') {
6786 			if (yych == ')') goto yy139;
6787 			if (yych <= ',') goto yy3;
6788 			goto yy147;
6789 		} else {
6790 			if (yych == '/') goto yy147;
6791 			if (yych <= '@') goto yy3;
6792 			goto yy144;
6793 		}
6794 	} else {
6795 		if (yych <= '_') {
6796 			if (yych <= 'T') goto yy339;
6797 			if (yych <= 'Z') goto yy144;
6798 			if (yych <= '^') goto yy3;
6799 			goto yy147;
6800 		} else {
6801 			if (yych <= 's') {
6802 				if (yych <= '`') goto yy3;
6803 				goto yy152;
6804 			} else {
6805 				if (yych <= 't') goto yy350;
6806 				if (yych <= 'z') goto yy152;
6807 				goto yy3;
6808 			}
6809 		}
6810 	}
6811 yy350:
6812 	YYDEBUG(350, *YYCURSOR);
6813 	yyaccept = 5;
6814 	yych = *(YYMARKER = ++YYCURSOR);
6815 	if (yybm[0+yych] & 16) {
6816 		goto yy153;
6817 	}
6818 	if (yych <= ',') {
6819 		if (yych <= 0x1F) {
6820 			if (yych == '\t') goto yy195;
6821 			goto yy193;
6822 		} else {
6823 			if (yych <= ' ') goto yy195;
6824 			if (yych == ')') goto yy139;
6825 			goto yy193;
6826 		}
6827 	} else {
6828 		if (yych <= '/') {
6829 			if (yych <= '-') goto yy317;
6830 			if (yych <= '.') goto yy195;
6831 			goto yy147;
6832 		} else {
6833 			if (yych <= '9') goto yy195;
6834 			if (yych == '_') goto yy147;
6835 			goto yy193;
6836 		}
6837 	}
6838 yy351:
6839 	YYDEBUG(351, *YYCURSOR);
6840 	yych = *++YYCURSOR;
6841 	if (yych <= 'N') {
6842 		if (yych <= '@') {
6843 			if (yych == ')') goto yy139;
6844 			goto yy3;
6845 		} else {
6846 			if (yych == 'L') goto yy358;
6847 			if (yych <= 'M') goto yy141;
6848 			goto yy357;
6849 		}
6850 	} else {
6851 		if (yych <= 'l') {
6852 			if (yych <= 'Z') goto yy141;
6853 			if (yych <= '`') goto yy3;
6854 			if (yych <= 'k') goto yy141;
6855 			goto yy358;
6856 		} else {
6857 			if (yych == 'n') goto yy357;
6858 			if (yych <= 'z') goto yy141;
6859 			goto yy3;
6860 		}
6861 	}
6862 yy352:
6863 	YYDEBUG(352, *YYCURSOR);
6864 	yych = *++YYCURSOR;
6865 	if (yych <= 'N') {
6866 		if (yych <= ')') {
6867 			if (yych <= '(') goto yy3;
6868 			goto yy139;
6869 		} else {
6870 			if (yych <= '@') goto yy3;
6871 			if (yych <= 'M') goto yy141;
6872 		}
6873 	} else {
6874 		if (yych <= 'm') {
6875 			if (yych <= 'Z') goto yy141;
6876 			if (yych <= '`') goto yy3;
6877 			goto yy141;
6878 		} else {
6879 			if (yych <= 'n') goto yy353;
6880 			if (yych <= 'z') goto yy141;
6881 			goto yy3;
6882 		}
6883 	}
6884 yy353:
6885 	YYDEBUG(353, *YYCURSOR);
6886 	yyaccept = 5;
6887 	yych = *(YYMARKER = ++YYCURSOR);
6888 	if (yych <= '/') {
6889 		if (yych <= '(') {
6890 			if (yych <= '\t') {
6891 				if (yych <= 0x08) goto yy193;
6892 				goto yy195;
6893 			} else {
6894 				if (yych == ' ') goto yy195;
6895 				goto yy193;
6896 			}
6897 		} else {
6898 			if (yych <= ',') {
6899 				if (yych <= ')') goto yy139;
6900 				goto yy193;
6901 			} else {
6902 				if (yych <= '-') goto yy196;
6903 				if (yych <= '.') goto yy195;
6904 				goto yy193;
6905 			}
6906 		}
6907 	} else {
6908 		if (yych <= 'Z') {
6909 			if (yych <= '@') {
6910 				if (yych <= '9') goto yy195;
6911 				goto yy193;
6912 			} else {
6913 				if (yych != 'U') goto yy142;
6914 			}
6915 		} else {
6916 			if (yych <= 't') {
6917 				if (yych <= '`') goto yy193;
6918 				goto yy142;
6919 			} else {
6920 				if (yych <= 'u') goto yy354;
6921 				if (yych <= 'z') goto yy142;
6922 				goto yy193;
6923 			}
6924 		}
6925 	}
6926 yy354:
6927 	YYDEBUG(354, *YYCURSOR);
6928 	yych = *++YYCURSOR;
6929 	if (yych <= 'A') {
6930 		if (yych == ')') goto yy139;
6931 		if (yych <= '@') goto yy3;
6932 	} else {
6933 		if (yych <= '`') {
6934 			if (yych <= 'Z') goto yy143;
6935 			goto yy3;
6936 		} else {
6937 			if (yych <= 'a') goto yy355;
6938 			if (yych <= 'z') goto yy143;
6939 			goto yy3;
6940 		}
6941 	}
6942 yy355:
6943 	YYDEBUG(355, *YYCURSOR);
6944 	yych = *++YYCURSOR;
6945 	if (yych <= 'R') {
6946 		if (yych <= ')') {
6947 			if (yych <= '(') goto yy3;
6948 			goto yy139;
6949 		} else {
6950 			if (yych <= '@') goto yy3;
6951 			if (yych <= 'Q') goto yy144;
6952 		}
6953 	} else {
6954 		if (yych <= 'q') {
6955 			if (yych <= 'Z') goto yy144;
6956 			if (yych <= '`') goto yy3;
6957 			goto yy144;
6958 		} else {
6959 			if (yych <= 'r') goto yy356;
6960 			if (yych <= 'z') goto yy144;
6961 			goto yy3;
6962 		}
6963 	}
6964 yy356:
6965 	YYDEBUG(356, *YYCURSOR);
6966 	yych = *++YYCURSOR;
6967 	if (yych <= 'X') {
6968 		if (yych == ')') goto yy139;
6969 		goto yy3;
6970 	} else {
6971 		if (yych <= 'Y') goto yy204;
6972 		if (yych == 'y') goto yy204;
6973 		goto yy3;
6974 	}
6975 yy357:
6976 	YYDEBUG(357, *YYCURSOR);
6977 	yyaccept = 5;
6978 	yych = *(YYMARKER = ++YYCURSOR);
6979 	if (yych <= '/') {
6980 		if (yych <= '(') {
6981 			if (yych <= '\t') {
6982 				if (yych <= 0x08) goto yy193;
6983 				goto yy195;
6984 			} else {
6985 				if (yych == ' ') goto yy195;
6986 				goto yy193;
6987 			}
6988 		} else {
6989 			if (yych <= ',') {
6990 				if (yych <= ')') goto yy139;
6991 				goto yy193;
6992 			} else {
6993 				if (yych <= '-') goto yy196;
6994 				if (yych <= '.') goto yy195;
6995 				goto yy193;
6996 			}
6997 		}
6998 	} else {
6999 		if (yych <= 'Z') {
7000 			if (yych <= '@') {
7001 				if (yych <= '9') goto yy195;
7002 				goto yy193;
7003 			} else {
7004 				if (yych == 'E') goto yy359;
7005 				goto yy142;
7006 			}
7007 		} else {
7008 			if (yych <= 'd') {
7009 				if (yych <= '`') goto yy193;
7010 				goto yy142;
7011 			} else {
7012 				if (yych <= 'e') goto yy359;
7013 				if (yych <= 'z') goto yy142;
7014 				goto yy193;
7015 			}
7016 		}
7017 	}
7018 yy358:
7019 	YYDEBUG(358, *YYCURSOR);
7020 	yyaccept = 5;
7021 	yych = *(YYMARKER = ++YYCURSOR);
7022 	if (yych <= '/') {
7023 		if (yych <= '(') {
7024 			if (yych <= '\t') {
7025 				if (yych <= 0x08) goto yy193;
7026 				goto yy195;
7027 			} else {
7028 				if (yych == ' ') goto yy195;
7029 				goto yy193;
7030 			}
7031 		} else {
7032 			if (yych <= ',') {
7033 				if (yych <= ')') goto yy139;
7034 				goto yy193;
7035 			} else {
7036 				if (yych <= '-') goto yy196;
7037 				if (yych <= '.') goto yy195;
7038 				goto yy193;
7039 			}
7040 		}
7041 	} else {
7042 		if (yych <= 'Z') {
7043 			if (yych <= '@') {
7044 				if (yych <= '9') goto yy195;
7045 				goto yy193;
7046 			} else {
7047 				if (yych != 'Y') goto yy142;
7048 			}
7049 		} else {
7050 			if (yych <= 'x') {
7051 				if (yych <= '`') goto yy193;
7052 				goto yy142;
7053 			} else {
7054 				if (yych <= 'y') goto yy359;
7055 				if (yych <= 'z') goto yy142;
7056 				goto yy193;
7057 			}
7058 		}
7059 	}
7060 yy359:
7061 	YYDEBUG(359, *YYCURSOR);
7062 	yyaccept = 5;
7063 	yych = *(YYMARKER = ++YYCURSOR);
7064 	if (yych <= ',') {
7065 		if (yych <= 0x1F) {
7066 			if (yych == '\t') goto yy195;
7067 			goto yy193;
7068 		} else {
7069 			if (yych <= ' ') goto yy195;
7070 			if (yych == ')') goto yy139;
7071 			goto yy193;
7072 		}
7073 	} else {
7074 		if (yych <= '@') {
7075 			if (yych == '/') goto yy193;
7076 			if (yych <= '9') goto yy195;
7077 			goto yy193;
7078 		} else {
7079 			if (yych <= 'Z') goto yy143;
7080 			if (yych <= '`') goto yy193;
7081 			if (yych <= 'z') goto yy143;
7082 			goto yy193;
7083 		}
7084 	}
7085 yy360:
7086 	YYDEBUG(360, *YYCURSOR);
7087 	yyaccept = 0;
7088 	yych = *(YYMARKER = ++YYCURSOR);
7089 	if (yych <= 'M') {
7090 		if (yych <= '.') {
7091 			if (yych <= ')') {
7092 				if (yych <= '(') goto yy3;
7093 				goto yy139;
7094 			} else {
7095 				if (yych == '-') goto yy147;
7096 				goto yy3;
7097 			}
7098 		} else {
7099 			if (yych <= '@') {
7100 				if (yych <= '/') goto yy147;
7101 				goto yy3;
7102 			} else {
7103 				if (yych == 'L') goto yy358;
7104 				goto yy141;
7105 			}
7106 		}
7107 	} else {
7108 		if (yych <= '`') {
7109 			if (yych <= 'Z') {
7110 				if (yych <= 'N') goto yy357;
7111 				goto yy141;
7112 			} else {
7113 				if (yych == '_') goto yy147;
7114 				goto yy3;
7115 			}
7116 		} else {
7117 			if (yych <= 'm') {
7118 				if (yych == 'l') goto yy367;
7119 				goto yy146;
7120 			} else {
7121 				if (yych <= 'n') goto yy366;
7122 				if (yych <= 'z') goto yy146;
7123 				goto yy3;
7124 			}
7125 		}
7126 	}
7127 yy361:
7128 	YYDEBUG(361, *YYCURSOR);
7129 	yyaccept = 0;
7130 	yych = *(YYMARKER = ++YYCURSOR);
7131 	if (yych <= 'M') {
7132 		if (yych <= '-') {
7133 			if (yych == ')') goto yy139;
7134 			if (yych <= ',') goto yy3;
7135 			goto yy147;
7136 		} else {
7137 			if (yych == '/') goto yy147;
7138 			if (yych <= '@') goto yy3;
7139 			goto yy141;
7140 		}
7141 	} else {
7142 		if (yych <= '_') {
7143 			if (yych <= 'N') goto yy353;
7144 			if (yych <= 'Z') goto yy141;
7145 			if (yych <= '^') goto yy3;
7146 			goto yy147;
7147 		} else {
7148 			if (yych <= 'm') {
7149 				if (yych <= '`') goto yy3;
7150 				goto yy146;
7151 			} else {
7152 				if (yych <= 'n') goto yy362;
7153 				if (yych <= 'z') goto yy146;
7154 				goto yy3;
7155 			}
7156 		}
7157 	}
7158 yy362:
7159 	YYDEBUG(362, *YYCURSOR);
7160 	yyaccept = 5;
7161 	yych = *(YYMARKER = ++YYCURSOR);
7162 	if (yych <= '9') {
7163 		if (yych <= '(') {
7164 			if (yych <= '\t') {
7165 				if (yych <= 0x08) goto yy193;
7166 				goto yy195;
7167 			} else {
7168 				if (yych == ' ') goto yy195;
7169 				goto yy193;
7170 			}
7171 		} else {
7172 			if (yych <= '-') {
7173 				if (yych <= ')') goto yy139;
7174 				if (yych <= ',') goto yy193;
7175 				goto yy311;
7176 			} else {
7177 				if (yych == '/') goto yy147;
7178 				goto yy195;
7179 			}
7180 		}
7181 	} else {
7182 		if (yych <= '^') {
7183 			if (yych <= 'T') {
7184 				if (yych <= '@') goto yy193;
7185 				goto yy142;
7186 			} else {
7187 				if (yych <= 'U') goto yy354;
7188 				if (yych <= 'Z') goto yy142;
7189 				goto yy193;
7190 			}
7191 		} else {
7192 			if (yych <= 't') {
7193 				if (yych <= '_') goto yy147;
7194 				if (yych <= '`') goto yy193;
7195 				goto yy150;
7196 			} else {
7197 				if (yych <= 'u') goto yy363;
7198 				if (yych <= 'z') goto yy150;
7199 				goto yy193;
7200 			}
7201 		}
7202 	}
7203 yy363:
7204 	YYDEBUG(363, *YYCURSOR);
7205 	yyaccept = 0;
7206 	yych = *(YYMARKER = ++YYCURSOR);
7207 	if (yych <= '@') {
7208 		if (yych <= ',') {
7209 			if (yych == ')') goto yy139;
7210 			goto yy3;
7211 		} else {
7212 			if (yych == '.') goto yy3;
7213 			if (yych <= '/') goto yy147;
7214 			goto yy3;
7215 		}
7216 	} else {
7217 		if (yych <= '_') {
7218 			if (yych <= 'A') goto yy355;
7219 			if (yych <= 'Z') goto yy143;
7220 			if (yych <= '^') goto yy3;
7221 			goto yy147;
7222 		} else {
7223 			if (yych <= '`') goto yy3;
7224 			if (yych <= 'a') goto yy364;
7225 			if (yych <= 'z') goto yy151;
7226 			goto yy3;
7227 		}
7228 	}
7229 yy364:
7230 	YYDEBUG(364, *YYCURSOR);
7231 	yyaccept = 0;
7232 	yych = *(YYMARKER = ++YYCURSOR);
7233 	if (yych <= 'Q') {
7234 		if (yych <= '-') {
7235 			if (yych == ')') goto yy139;
7236 			if (yych <= ',') goto yy3;
7237 			goto yy147;
7238 		} else {
7239 			if (yych == '/') goto yy147;
7240 			if (yych <= '@') goto yy3;
7241 			goto yy144;
7242 		}
7243 	} else {
7244 		if (yych <= '_') {
7245 			if (yych <= 'R') goto yy356;
7246 			if (yych <= 'Z') goto yy144;
7247 			if (yych <= '^') goto yy3;
7248 			goto yy147;
7249 		} else {
7250 			if (yych <= 'q') {
7251 				if (yych <= '`') goto yy3;
7252 				goto yy152;
7253 			} else {
7254 				if (yych <= 'r') goto yy365;
7255 				if (yych <= 'z') goto yy152;
7256 				goto yy3;
7257 			}
7258 		}
7259 	}
7260 yy365:
7261 	YYDEBUG(365, *YYCURSOR);
7262 	yyaccept = 0;
7263 	yych = *(YYMARKER = ++YYCURSOR);
7264 	if (yych <= 'X') {
7265 		if (yych <= ',') {
7266 			if (yych == ')') goto yy139;
7267 			goto yy3;
7268 		} else {
7269 			if (yych == '.') goto yy3;
7270 			if (yych <= '/') goto yy147;
7271 			goto yy3;
7272 		}
7273 	} else {
7274 		if (yych <= '`') {
7275 			if (yych <= 'Y') goto yy204;
7276 			if (yych == '_') goto yy147;
7277 			goto yy3;
7278 		} else {
7279 			if (yych == 'y') goto yy316;
7280 			if (yych <= 'z') goto yy153;
7281 			goto yy3;
7282 		}
7283 	}
7284 yy366:
7285 	YYDEBUG(366, *YYCURSOR);
7286 	yyaccept = 5;
7287 	yych = *(YYMARKER = ++YYCURSOR);
7288 	if (yych <= '9') {
7289 		if (yych <= '(') {
7290 			if (yych <= '\t') {
7291 				if (yych <= 0x08) goto yy193;
7292 				goto yy195;
7293 			} else {
7294 				if (yych == ' ') goto yy195;
7295 				goto yy193;
7296 			}
7297 		} else {
7298 			if (yych <= '-') {
7299 				if (yych <= ')') goto yy139;
7300 				if (yych <= ',') goto yy193;
7301 				goto yy311;
7302 			} else {
7303 				if (yych == '/') goto yy147;
7304 				goto yy195;
7305 			}
7306 		}
7307 	} else {
7308 		if (yych <= '^') {
7309 			if (yych <= 'D') {
7310 				if (yych <= '@') goto yy193;
7311 				goto yy142;
7312 			} else {
7313 				if (yych <= 'E') goto yy359;
7314 				if (yych <= 'Z') goto yy142;
7315 				goto yy193;
7316 			}
7317 		} else {
7318 			if (yych <= 'd') {
7319 				if (yych <= '_') goto yy147;
7320 				if (yych <= '`') goto yy193;
7321 				goto yy150;
7322 			} else {
7323 				if (yych <= 'e') goto yy368;
7324 				if (yych <= 'z') goto yy150;
7325 				goto yy193;
7326 			}
7327 		}
7328 	}
7329 yy367:
7330 	YYDEBUG(367, *YYCURSOR);
7331 	yyaccept = 5;
7332 	yych = *(YYMARKER = ++YYCURSOR);
7333 	if (yych <= '9') {
7334 		if (yych <= '(') {
7335 			if (yych <= '\t') {
7336 				if (yych <= 0x08) goto yy193;
7337 				goto yy195;
7338 			} else {
7339 				if (yych == ' ') goto yy195;
7340 				goto yy193;
7341 			}
7342 		} else {
7343 			if (yych <= '-') {
7344 				if (yych <= ')') goto yy139;
7345 				if (yych <= ',') goto yy193;
7346 				goto yy311;
7347 			} else {
7348 				if (yych == '/') goto yy147;
7349 				goto yy195;
7350 			}
7351 		}
7352 	} else {
7353 		if (yych <= '^') {
7354 			if (yych <= 'X') {
7355 				if (yych <= '@') goto yy193;
7356 				goto yy142;
7357 			} else {
7358 				if (yych <= 'Y') goto yy359;
7359 				if (yych <= 'Z') goto yy142;
7360 				goto yy193;
7361 			}
7362 		} else {
7363 			if (yych <= 'x') {
7364 				if (yych <= '_') goto yy147;
7365 				if (yych <= '`') goto yy193;
7366 				goto yy150;
7367 			} else {
7368 				if (yych <= 'y') goto yy368;
7369 				if (yych <= 'z') goto yy150;
7370 				goto yy193;
7371 			}
7372 		}
7373 	}
7374 yy368:
7375 	YYDEBUG(368, *YYCURSOR);
7376 	yyaccept = 5;
7377 	yych = *(YYMARKER = ++YYCURSOR);
7378 	if (yych <= '.') {
7379 		if (yych <= ' ') {
7380 			if (yych == '\t') goto yy195;
7381 			if (yych <= 0x1F) goto yy193;
7382 			goto yy195;
7383 		} else {
7384 			if (yych <= ')') {
7385 				if (yych <= '(') goto yy193;
7386 				goto yy139;
7387 			} else {
7388 				if (yych <= ',') goto yy193;
7389 				if (yych <= '-') goto yy317;
7390 				goto yy195;
7391 			}
7392 		}
7393 	} else {
7394 		if (yych <= 'Z') {
7395 			if (yych <= '/') goto yy147;
7396 			if (yych <= '9') goto yy195;
7397 			if (yych <= '@') goto yy193;
7398 			goto yy143;
7399 		} else {
7400 			if (yych <= '_') {
7401 				if (yych <= '^') goto yy193;
7402 				goto yy147;
7403 			} else {
7404 				if (yych <= '`') goto yy193;
7405 				if (yych <= 'z') goto yy151;
7406 				goto yy193;
7407 			}
7408 		}
7409 	}
7410 yy369:
7411 	YYDEBUG(369, *YYCURSOR);
7412 	yyaccept = 0;
7413 	yych = *(YYMARKER = ++YYCURSOR);
7414 	if (yych <= '.') {
7415 		if (yych <= ' ') {
7416 			if (yych == '\t') goto yy195;
7417 			if (yych <= 0x1F) goto yy3;
7418 			goto yy195;
7419 		} else {
7420 			if (yych == ')') goto yy139;
7421 			if (yych <= ',') goto yy3;
7422 			goto yy195;
7423 		}
7424 	} else {
7425 		if (yych <= 'H') {
7426 			if (yych <= '/') goto yy3;
7427 			if (yych <= '9') goto yy195;
7428 			if (yych <= '@') goto yy3;
7429 			goto yy141;
7430 		} else {
7431 			if (yych <= 'Z') {
7432 				if (yych >= 'J') goto yy141;
7433 			} else {
7434 				if (yych <= '`') goto yy3;
7435 				if (yych <= 'z') goto yy141;
7436 				goto yy3;
7437 			}
7438 		}
7439 	}
7440 yy370:
7441 	YYDEBUG(370, *YYCURSOR);
7442 	yyaccept = 0;
7443 	yych = *(YYMARKER = ++YYCURSOR);
7444 	if (yych <= ',') {
7445 		if (yych <= 0x1F) {
7446 			if (yych == '\t') goto yy195;
7447 			goto yy3;
7448 		} else {
7449 			if (yych <= ' ') goto yy195;
7450 			if (yych == ')') goto yy139;
7451 			goto yy3;
7452 		}
7453 	} else {
7454 		if (yych <= '@') {
7455 			if (yych == '/') goto yy3;
7456 			if (yych <= '9') goto yy195;
7457 			goto yy3;
7458 		} else {
7459 			if (yych <= 'Z') goto yy142;
7460 			if (yych <= '`') goto yy3;
7461 			if (yych <= 'z') goto yy142;
7462 			goto yy3;
7463 		}
7464 	}
7465 yy371:
7466 	YYDEBUG(371, *YYCURSOR);
7467 	yyaccept = 0;
7468 	yych = *(YYMARKER = ++YYCURSOR);
7469 	if (yych <= '.') {
7470 		if (yych <= ' ') {
7471 			if (yych == '\t') goto yy195;
7472 			if (yych <= 0x1F) goto yy3;
7473 			goto yy195;
7474 		} else {
7475 			if (yych == ')') goto yy139;
7476 			if (yych <= ',') goto yy3;
7477 			goto yy195;
7478 		}
7479 	} else {
7480 		if (yych <= 'H') {
7481 			if (yych <= '/') goto yy3;
7482 			if (yych <= '9') goto yy195;
7483 			if (yych <= '@') goto yy3;
7484 			goto yy141;
7485 		} else {
7486 			if (yych <= 'Z') {
7487 				if (yych >= 'J') goto yy141;
7488 			} else {
7489 				if (yych <= '`') goto yy3;
7490 				if (yych <= 'z') goto yy141;
7491 				goto yy3;
7492 			}
7493 		}
7494 	}
7495 	YYDEBUG(372, *YYCURSOR);
7496 	yyaccept = 0;
7497 	yych = *(YYMARKER = ++YYCURSOR);
7498 	if (yych <= '.') {
7499 		if (yych <= ' ') {
7500 			if (yych == '\t') goto yy195;
7501 			if (yych <= 0x1F) goto yy3;
7502 			goto yy195;
7503 		} else {
7504 			if (yych == ')') goto yy139;
7505 			if (yych <= ',') goto yy3;
7506 			goto yy195;
7507 		}
7508 	} else {
7509 		if (yych <= 'H') {
7510 			if (yych <= '/') goto yy3;
7511 			if (yych <= '9') goto yy195;
7512 			if (yych <= '@') goto yy3;
7513 			goto yy142;
7514 		} else {
7515 			if (yych <= 'Z') {
7516 				if (yych >= 'J') goto yy142;
7517 			} else {
7518 				if (yych <= '`') goto yy3;
7519 				if (yych <= 'z') goto yy142;
7520 				goto yy3;
7521 			}
7522 		}
7523 	}
7524 	YYDEBUG(373, *YYCURSOR);
7525 	yyaccept = 0;
7526 	yych = *(YYMARKER = ++YYCURSOR);
7527 	if (yych <= ',') {
7528 		if (yych <= 0x1F) {
7529 			if (yych == '\t') goto yy195;
7530 			goto yy3;
7531 		} else {
7532 			if (yych <= ' ') goto yy195;
7533 			if (yych == ')') goto yy139;
7534 			goto yy3;
7535 		}
7536 	} else {
7537 		if (yych <= '@') {
7538 			if (yych == '/') goto yy3;
7539 			if (yych <= '9') goto yy195;
7540 			goto yy3;
7541 		} else {
7542 			if (yych <= 'Z') goto yy143;
7543 			if (yych <= '`') goto yy3;
7544 			if (yych <= 'z') goto yy143;
7545 			goto yy3;
7546 		}
7547 	}
7548 yy374:
7549 	YYDEBUG(374, *YYCURSOR);
7550 	yyaccept = 0;
7551 	yych = *(YYMARKER = ++YYCURSOR);
7552 	if (yych <= ',') {
7553 		if (yych <= 0x1F) {
7554 			if (yych == '\t') goto yy195;
7555 			goto yy3;
7556 		} else {
7557 			if (yych <= ' ') goto yy195;
7558 			if (yych == ')') goto yy139;
7559 			goto yy3;
7560 		}
7561 	} else {
7562 		if (yych <= '@') {
7563 			if (yych == '/') goto yy3;
7564 			if (yych <= '9') goto yy195;
7565 			goto yy3;
7566 		} else {
7567 			if (yych <= 'Z') goto yy141;
7568 			if (yych <= '`') goto yy3;
7569 			if (yych <= 'z') goto yy141;
7570 			goto yy3;
7571 		}
7572 	}
7573 yy375:
7574 	YYDEBUG(375, *YYCURSOR);
7575 	yyaccept = 0;
7576 	yych = *(YYMARKER = ++YYCURSOR);
7577 	if (yych <= '.') {
7578 		if (yych <= ' ') {
7579 			if (yych == '\t') goto yy195;
7580 			if (yych <= 0x1F) goto yy3;
7581 			goto yy195;
7582 		} else {
7583 			if (yych == ')') goto yy139;
7584 			if (yych <= ',') goto yy3;
7585 			goto yy195;
7586 		}
7587 	} else {
7588 		if (yych <= 'H') {
7589 			if (yych <= '/') goto yy3;
7590 			if (yych <= '9') goto yy195;
7591 			if (yych <= '@') goto yy3;
7592 			goto yy141;
7593 		} else {
7594 			if (yych <= 'Z') {
7595 				if (yych <= 'I') goto yy370;
7596 				goto yy141;
7597 			} else {
7598 				if (yych <= '`') goto yy3;
7599 				if (yych <= 'z') goto yy141;
7600 				goto yy3;
7601 			}
7602 		}
7603 	}
7604 yy376:
7605 	YYDEBUG(376, *YYCURSOR);
7606 	yyaccept = 0;
7607 	yych = *(YYMARKER = ++YYCURSOR);
7608 	if (yych <= 'V') {
7609 		if (yych <= 'D') {
7610 			if (yych <= ' ') {
7611 				if (yych == '\t') goto yy60;
7612 				if (yych <= 0x1F) goto yy3;
7613 				goto yy60;
7614 			} else {
7615 				if (yych <= '9') {
7616 					if (yych <= '/') goto yy3;
7617 					goto yy396;
7618 				} else {
7619 					if (yych <= ':') goto yy162;
7620 					if (yych <= 'C') goto yy3;
7621 					goto yy60;
7622 				}
7623 			}
7624 		} else {
7625 			if (yych <= 'H') {
7626 				if (yych == 'F') goto yy60;
7627 				if (yych <= 'G') goto yy3;
7628 				goto yy60;
7629 			} else {
7630 				if (yych <= 'M') {
7631 					if (yych <= 'L') goto yy3;
7632 					goto yy60;
7633 				} else {
7634 					if (yych <= 'R') goto yy3;
7635 					if (yych <= 'T') goto yy60;
7636 					goto yy3;
7637 				}
7638 			}
7639 		}
7640 	} else {
7641 		if (yych <= 'h') {
7642 			if (yych <= 'c') {
7643 				if (yych == 'X') goto yy3;
7644 				if (yych <= 'Y') goto yy60;
7645 				goto yy3;
7646 			} else {
7647 				if (yych <= 'e') {
7648 					if (yych <= 'd') goto yy60;
7649 					goto yy3;
7650 				} else {
7651 					if (yych == 'g') goto yy3;
7652 					goto yy60;
7653 				}
7654 			}
7655 		} else {
7656 			if (yych <= 't') {
7657 				if (yych == 'm') goto yy60;
7658 				if (yych <= 'r') goto yy3;
7659 				goto yy60;
7660 			} else {
7661 				if (yych <= 'w') {
7662 					if (yych <= 'v') goto yy3;
7663 					goto yy60;
7664 				} else {
7665 					if (yych == 'y') goto yy60;
7666 					goto yy3;
7667 				}
7668 			}
7669 		}
7670 	}
7671 yy377:
7672 	YYDEBUG(377, *YYCURSOR);
7673 	yyaccept = 0;
7674 	yych = *(YYMARKER = ++YYCURSOR);
7675 	if (yych <= 'T') {
7676 		if (yych <= ':') {
7677 			if (yych <= ' ') {
7678 				if (yych == '\t') goto yy60;
7679 				if (yych <= 0x1F) goto yy3;
7680 				goto yy60;
7681 			} else {
7682 				if (yych <= '4') {
7683 					if (yych <= '/') goto yy3;
7684 					goto yy396;
7685 				} else {
7686 					if (yych <= '5') goto yy381;
7687 					if (yych <= '9') goto yy382;
7688 					goto yy162;
7689 				}
7690 			}
7691 		} else {
7692 			if (yych <= 'G') {
7693 				if (yych <= 'D') {
7694 					if (yych <= 'C') goto yy3;
7695 					goto yy60;
7696 				} else {
7697 					if (yych == 'F') goto yy60;
7698 					goto yy3;
7699 				}
7700 			} else {
7701 				if (yych <= 'L') {
7702 					if (yych <= 'H') goto yy60;
7703 					goto yy3;
7704 				} else {
7705 					if (yych <= 'M') goto yy60;
7706 					if (yych <= 'R') goto yy3;
7707 					goto yy60;
7708 				}
7709 			}
7710 		}
7711 	} else {
7712 		if (yych <= 'g') {
7713 			if (yych <= 'Y') {
7714 				if (yych == 'W') goto yy60;
7715 				if (yych <= 'X') goto yy3;
7716 				goto yy60;
7717 			} else {
7718 				if (yych <= 'd') {
7719 					if (yych <= 'c') goto yy3;
7720 					goto yy60;
7721 				} else {
7722 					if (yych == 'f') goto yy60;
7723 					goto yy3;
7724 				}
7725 			}
7726 		} else {
7727 			if (yych <= 't') {
7728 				if (yych <= 'l') {
7729 					if (yych <= 'h') goto yy60;
7730 					goto yy3;
7731 				} else {
7732 					if (yych <= 'm') goto yy60;
7733 					if (yych <= 'r') goto yy3;
7734 					goto yy60;
7735 				}
7736 			} else {
7737 				if (yych <= 'w') {
7738 					if (yych <= 'v') goto yy3;
7739 					goto yy60;
7740 				} else {
7741 					if (yych == 'y') goto yy60;
7742 					goto yy3;
7743 				}
7744 			}
7745 		}
7746 	}
7747 yy378:
7748 	YYDEBUG(378, *YYCURSOR);
7749 	yyaccept = 0;
7750 	yych = *(YYMARKER = ++YYCURSOR);
7751 	if (yych <= 'T') {
7752 		if (yych <= 'C') {
7753 			if (yych <= ' ') {
7754 				if (yych == '\t') goto yy60;
7755 				if (yych <= 0x1F) goto yy3;
7756 				goto yy60;
7757 			} else {
7758 				if (yych <= '5') {
7759 					if (yych <= '/') goto yy3;
7760 					goto yy381;
7761 				} else {
7762 					if (yych <= '9') goto yy382;
7763 					if (yych <= ':') goto yy162;
7764 					goto yy3;
7765 				}
7766 			}
7767 		} else {
7768 			if (yych <= 'G') {
7769 				if (yych == 'E') goto yy3;
7770 				if (yych <= 'F') goto yy60;
7771 				goto yy3;
7772 			} else {
7773 				if (yych <= 'L') {
7774 					if (yych <= 'H') goto yy60;
7775 					goto yy3;
7776 				} else {
7777 					if (yych <= 'M') goto yy60;
7778 					if (yych <= 'R') goto yy3;
7779 					goto yy60;
7780 				}
7781 			}
7782 		}
7783 	} else {
7784 		if (yych <= 'g') {
7785 			if (yych <= 'Y') {
7786 				if (yych == 'W') goto yy60;
7787 				if (yych <= 'X') goto yy3;
7788 				goto yy60;
7789 			} else {
7790 				if (yych <= 'd') {
7791 					if (yych <= 'c') goto yy3;
7792 					goto yy60;
7793 				} else {
7794 					if (yych == 'f') goto yy60;
7795 					goto yy3;
7796 				}
7797 			}
7798 		} else {
7799 			if (yych <= 't') {
7800 				if (yych <= 'l') {
7801 					if (yych <= 'h') goto yy60;
7802 					goto yy3;
7803 				} else {
7804 					if (yych <= 'm') goto yy60;
7805 					if (yych <= 'r') goto yy3;
7806 					goto yy60;
7807 				}
7808 			} else {
7809 				if (yych <= 'w') {
7810 					if (yych <= 'v') goto yy3;
7811 					goto yy60;
7812 				} else {
7813 					if (yych == 'y') goto yy60;
7814 					goto yy3;
7815 				}
7816 			}
7817 		}
7818 	}
7819 yy379:
7820 	YYDEBUG(379, *YYCURSOR);
7821 	++YYCURSOR;
7822 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
7823 	yych = *YYCURSOR;
7824 	YYDEBUG(380, *YYCURSOR);
7825 	if (yybm[0+yych] & 4) {
7826 		goto yy57;
7827 	}
7828 	if (yych <= ',') {
7829 		if (yych == '+') goto yy379;
7830 		goto yy56;
7831 	} else {
7832 		if (yych <= '-') goto yy379;
7833 		if (yych <= '/') goto yy56;
7834 		if (yych <= '9') goto yy54;
7835 		goto yy56;
7836 	}
7837 yy381:
7838 	YYDEBUG(381, *YYCURSOR);
7839 	yyaccept = 0;
7840 	yych = *(YYMARKER = ++YYCURSOR);
7841 	if (yych <= 'V') {
7842 		if (yych <= 'D') {
7843 			if (yych <= ' ') {
7844 				if (yych == '\t') goto yy60;
7845 				if (yych <= 0x1F) goto yy3;
7846 				goto yy60;
7847 			} else {
7848 				if (yych <= '/') goto yy3;
7849 				if (yych <= '9') goto yy395;
7850 				if (yych <= 'C') goto yy3;
7851 				goto yy60;
7852 			}
7853 		} else {
7854 			if (yych <= 'H') {
7855 				if (yych == 'F') goto yy60;
7856 				if (yych <= 'G') goto yy3;
7857 				goto yy60;
7858 			} else {
7859 				if (yych <= 'M') {
7860 					if (yych <= 'L') goto yy3;
7861 					goto yy60;
7862 				} else {
7863 					if (yych <= 'R') goto yy3;
7864 					if (yych <= 'T') goto yy60;
7865 					goto yy3;
7866 				}
7867 			}
7868 		}
7869 	} else {
7870 		if (yych <= 'h') {
7871 			if (yych <= 'c') {
7872 				if (yych == 'X') goto yy3;
7873 				if (yych <= 'Y') goto yy60;
7874 				goto yy3;
7875 			} else {
7876 				if (yych <= 'e') {
7877 					if (yych <= 'd') goto yy60;
7878 					goto yy3;
7879 				} else {
7880 					if (yych == 'g') goto yy3;
7881 					goto yy60;
7882 				}
7883 			}
7884 		} else {
7885 			if (yych <= 't') {
7886 				if (yych == 'm') goto yy60;
7887 				if (yych <= 'r') goto yy3;
7888 				goto yy60;
7889 			} else {
7890 				if (yych <= 'w') {
7891 					if (yych <= 'v') goto yy3;
7892 					goto yy60;
7893 				} else {
7894 					if (yych == 'y') goto yy60;
7895 					goto yy3;
7896 				}
7897 			}
7898 		}
7899 	}
7900 yy382:
7901 	YYDEBUG(382, *YYCURSOR);
7902 	yyaccept = 0;
7903 	yych = *(YYMARKER = ++YYCURSOR);
7904 	if (yych <= 'V') {
7905 		if (yych <= 'D') {
7906 			if (yych <= ' ') {
7907 				if (yych == '\t') goto yy60;
7908 				if (yych <= 0x1F) goto yy3;
7909 				goto yy60;
7910 			} else {
7911 				if (yych <= '/') goto yy3;
7912 				if (yych <= '9') goto yy383;
7913 				if (yych <= 'C') goto yy3;
7914 				goto yy60;
7915 			}
7916 		} else {
7917 			if (yych <= 'H') {
7918 				if (yych == 'F') goto yy60;
7919 				if (yych <= 'G') goto yy3;
7920 				goto yy60;
7921 			} else {
7922 				if (yych <= 'M') {
7923 					if (yych <= 'L') goto yy3;
7924 					goto yy60;
7925 				} else {
7926 					if (yych <= 'R') goto yy3;
7927 					if (yych <= 'T') goto yy60;
7928 					goto yy3;
7929 				}
7930 			}
7931 		}
7932 	} else {
7933 		if (yych <= 'h') {
7934 			if (yych <= 'c') {
7935 				if (yych == 'X') goto yy3;
7936 				if (yych <= 'Y') goto yy60;
7937 				goto yy3;
7938 			} else {
7939 				if (yych <= 'e') {
7940 					if (yych <= 'd') goto yy60;
7941 					goto yy3;
7942 				} else {
7943 					if (yych == 'g') goto yy3;
7944 					goto yy60;
7945 				}
7946 			}
7947 		} else {
7948 			if (yych <= 't') {
7949 				if (yych == 'm') goto yy60;
7950 				if (yych <= 'r') goto yy3;
7951 				goto yy60;
7952 			} else {
7953 				if (yych <= 'w') {
7954 					if (yych <= 'v') goto yy3;
7955 					goto yy60;
7956 				} else {
7957 					if (yych == 'y') goto yy60;
7958 					goto yy3;
7959 				}
7960 			}
7961 		}
7962 	}
7963 yy383:
7964 	YYDEBUG(383, *YYCURSOR);
7965 	yych = *++YYCURSOR;
7966 	if (yych <= '/') goto yy60;
7967 	if (yych >= ':') goto yy60;
7968 yy384:
7969 	YYDEBUG(384, *YYCURSOR);
7970 	yych = *++YYCURSOR;
7971 	if (yybm[0+yych] & 2) {
7972 		goto yy54;
7973 	}
7974 	if (yych != '-') goto yy60;
7975 yy385:
7976 	YYDEBUG(385, *YYCURSOR);
7977 	yych = *++YYCURSOR;
7978 	if (yych <= '/') goto yy56;
7979 	if (yych <= '0') goto yy386;
7980 	if (yych <= '1') goto yy387;
7981 	goto yy56;
7982 yy386:
7983 	YYDEBUG(386, *YYCURSOR);
7984 	yych = *++YYCURSOR;
7985 	if (yych <= '/') goto yy56;
7986 	if (yych <= '9') goto yy388;
7987 	goto yy56;
7988 yy387:
7989 	YYDEBUG(387, *YYCURSOR);
7990 	yych = *++YYCURSOR;
7991 	if (yych <= '/') goto yy56;
7992 	if (yych >= '3') goto yy56;
7993 yy388:
7994 	YYDEBUG(388, *YYCURSOR);
7995 	yych = *++YYCURSOR;
7996 	if (yych != '-') goto yy56;
7997 	YYDEBUG(389, *YYCURSOR);
7998 	yych = *++YYCURSOR;
7999 	if (yych <= '/') goto yy56;
8000 	if (yych <= '0') goto yy390;
8001 	if (yych <= '2') goto yy391;
8002 	if (yych <= '3') goto yy392;
8003 	goto yy56;
8004 yy390:
8005 	YYDEBUG(390, *YYCURSOR);
8006 	yych = *++YYCURSOR;
8007 	if (yych <= '/') goto yy56;
8008 	if (yych <= '9') goto yy393;
8009 	goto yy56;
8010 yy391:
8011 	YYDEBUG(391, *YYCURSOR);
8012 	yych = *++YYCURSOR;
8013 	if (yych <= '/') goto yy56;
8014 	if (yych <= '9') goto yy393;
8015 	goto yy56;
8016 yy392:
8017 	YYDEBUG(392, *YYCURSOR);
8018 	yych = *++YYCURSOR;
8019 	if (yych <= '/') goto yy56;
8020 	if (yych >= '2') goto yy56;
8021 yy393:
8022 	YYDEBUG(393, *YYCURSOR);
8023 	++YYCURSOR;
8024 yy394:
8025 	YYDEBUG(394, *YYCURSOR);
8026 #line 1243 "ext/date/lib/parse_date.re"
8027 	{
8028 		DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
8029 		TIMELIB_INIT;
8030 		TIMELIB_HAVE_DATE();
8031 		s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4);
8032 		s->time->m = timelib_get_nr((char **) &ptr, 2);
8033 		s->time->d = timelib_get_nr((char **) &ptr, 2);
8034 		TIMELIB_DEINIT;
8035 		return TIMELIB_ISO_DATE;
8036 	}
8037 #line 8038 "<stdout>"
8038 yy395:
8039 	YYDEBUG(395, *YYCURSOR);
8040 	yyaccept = 0;
8041 	yych = *(YYMARKER = ++YYCURSOR);
8042 	if (yych <= 'V') {
8043 		if (yych <= 'D') {
8044 			if (yych <= ' ') {
8045 				if (yych == '\t') goto yy60;
8046 				if (yych <= 0x1F) goto yy3;
8047 				goto yy60;
8048 			} else {
8049 				if (yych <= '/') goto yy3;
8050 				if (yych <= '9') goto yy384;
8051 				if (yych <= 'C') goto yy3;
8052 				goto yy60;
8053 			}
8054 		} else {
8055 			if (yych <= 'H') {
8056 				if (yych == 'F') goto yy60;
8057 				if (yych <= 'G') goto yy3;
8058 				goto yy60;
8059 			} else {
8060 				if (yych <= 'M') {
8061 					if (yych <= 'L') goto yy3;
8062 					goto yy60;
8063 				} else {
8064 					if (yych <= 'R') goto yy3;
8065 					if (yych <= 'T') goto yy60;
8066 					goto yy3;
8067 				}
8068 			}
8069 		}
8070 	} else {
8071 		if (yych <= 'h') {
8072 			if (yych <= 'c') {
8073 				if (yych == 'X') goto yy3;
8074 				if (yych <= 'Y') goto yy60;
8075 				goto yy3;
8076 			} else {
8077 				if (yych <= 'e') {
8078 					if (yych <= 'd') goto yy60;
8079 					goto yy3;
8080 				} else {
8081 					if (yych == 'g') goto yy3;
8082 					goto yy60;
8083 				}
8084 			}
8085 		} else {
8086 			if (yych <= 't') {
8087 				if (yych == 'm') goto yy60;
8088 				if (yych <= 'r') goto yy3;
8089 				goto yy60;
8090 			} else {
8091 				if (yych <= 'w') {
8092 					if (yych <= 'v') goto yy3;
8093 					goto yy60;
8094 				} else {
8095 					if (yych == 'y') goto yy60;
8096 					goto yy3;
8097 				}
8098 			}
8099 		}
8100 	}
8101 yy396:
8102 	YYDEBUG(396, *YYCURSOR);
8103 	yyaccept = 0;
8104 	yych = *(YYMARKER = ++YYCURSOR);
8105 	if (yych <= 'T') {
8106 		if (yych <= 'C') {
8107 			if (yych <= ' ') {
8108 				if (yych == '\t') goto yy60;
8109 				if (yych <= 0x1F) goto yy3;
8110 				goto yy60;
8111 			} else {
8112 				if (yych <= '5') {
8113 					if (yych <= '/') goto yy3;
8114 				} else {
8115 					if (yych <= '9') goto yy395;
8116 					if (yych <= ':') goto yy162;
8117 					goto yy3;
8118 				}
8119 			}
8120 		} else {
8121 			if (yych <= 'G') {
8122 				if (yych == 'E') goto yy3;
8123 				if (yych <= 'F') goto yy60;
8124 				goto yy3;
8125 			} else {
8126 				if (yych <= 'L') {
8127 					if (yych <= 'H') goto yy60;
8128 					goto yy3;
8129 				} else {
8130 					if (yych <= 'M') goto yy60;
8131 					if (yych <= 'R') goto yy3;
8132 					goto yy60;
8133 				}
8134 			}
8135 		}
8136 	} else {
8137 		if (yych <= 'g') {
8138 			if (yych <= 'Y') {
8139 				if (yych == 'W') goto yy60;
8140 				if (yych <= 'X') goto yy3;
8141 				goto yy60;
8142 			} else {
8143 				if (yych <= 'd') {
8144 					if (yych <= 'c') goto yy3;
8145 					goto yy60;
8146 				} else {
8147 					if (yych == 'f') goto yy60;
8148 					goto yy3;
8149 				}
8150 			}
8151 		} else {
8152 			if (yych <= 't') {
8153 				if (yych <= 'l') {
8154 					if (yych <= 'h') goto yy60;
8155 					goto yy3;
8156 				} else {
8157 					if (yych <= 'm') goto yy60;
8158 					if (yych <= 'r') goto yy3;
8159 					goto yy60;
8160 				}
8161 			} else {
8162 				if (yych <= 'w') {
8163 					if (yych <= 'v') goto yy3;
8164 					goto yy60;
8165 				} else {
8166 					if (yych == 'y') goto yy60;
8167 					goto yy3;
8168 				}
8169 			}
8170 		}
8171 	}
8172 	YYDEBUG(397, *YYCURSOR);
8173 	yyaccept = 0;
8174 	yych = *(YYMARKER = ++YYCURSOR);
8175 	if (yych <= 'V') {
8176 		if (yych <= 'D') {
8177 			if (yych <= ' ') {
8178 				if (yych == '\t') goto yy60;
8179 				if (yych <= 0x1F) goto yy3;
8180 				goto yy60;
8181 			} else {
8182 				if (yych <= '/') goto yy3;
8183 				if (yych <= '9') goto yy398;
8184 				if (yych <= 'C') goto yy3;
8185 				goto yy60;
8186 			}
8187 		} else {
8188 			if (yych <= 'H') {
8189 				if (yych == 'F') goto yy60;
8190 				if (yych <= 'G') goto yy3;
8191 				goto yy60;
8192 			} else {
8193 				if (yych <= 'M') {
8194 					if (yych <= 'L') goto yy3;
8195 					goto yy60;
8196 				} else {
8197 					if (yych <= 'R') goto yy3;
8198 					if (yych <= 'T') goto yy60;
8199 					goto yy3;
8200 				}
8201 			}
8202 		}
8203 	} else {
8204 		if (yych <= 'h') {
8205 			if (yych <= 'c') {
8206 				if (yych == 'X') goto yy3;
8207 				if (yych <= 'Y') goto yy60;
8208 				goto yy3;
8209 			} else {
8210 				if (yych <= 'e') {
8211 					if (yych <= 'd') goto yy60;
8212 					goto yy3;
8213 				} else {
8214 					if (yych == 'g') goto yy3;
8215 					goto yy60;
8216 				}
8217 			}
8218 		} else {
8219 			if (yych <= 't') {
8220 				if (yych == 'm') goto yy60;
8221 				if (yych <= 'r') goto yy3;
8222 				goto yy60;
8223 			} else {
8224 				if (yych <= 'w') {
8225 					if (yych <= 'v') goto yy3;
8226 					goto yy60;
8227 				} else {
8228 					if (yych == 'y') goto yy60;
8229 					goto yy3;
8230 				}
8231 			}
8232 		}
8233 	}
8234 yy398:
8235 	YYDEBUG(398, *YYCURSOR);
8236 	yyaccept = 0;
8237 	yych = *(YYMARKER = ++YYCURSOR);
8238 	if (yybm[0+yych] & 2) {
8239 		goto yy54;
8240 	}
8241 	if (yych <= 'V') {
8242 		if (yych <= 'D') {
8243 			if (yych <= ' ') {
8244 				if (yych == '\t') goto yy60;
8245 				if (yych <= 0x1F) goto yy3;
8246 				goto yy60;
8247 			} else {
8248 				if (yych == '-') goto yy385;
8249 				if (yych <= 'C') goto yy3;
8250 				goto yy60;
8251 			}
8252 		} else {
8253 			if (yych <= 'H') {
8254 				if (yych == 'F') goto yy60;
8255 				if (yych <= 'G') goto yy3;
8256 				goto yy60;
8257 			} else {
8258 				if (yych <= 'M') {
8259 					if (yych <= 'L') goto yy3;
8260 					goto yy60;
8261 				} else {
8262 					if (yych <= 'R') goto yy3;
8263 					if (yych <= 'T') goto yy60;
8264 					goto yy3;
8265 				}
8266 			}
8267 		}
8268 	} else {
8269 		if (yych <= 'h') {
8270 			if (yych <= 'c') {
8271 				if (yych == 'X') goto yy3;
8272 				if (yych <= 'Y') goto yy60;
8273 				goto yy3;
8274 			} else {
8275 				if (yych <= 'e') {
8276 					if (yych <= 'd') goto yy60;
8277 					goto yy3;
8278 				} else {
8279 					if (yych == 'g') goto yy3;
8280 					goto yy60;
8281 				}
8282 			}
8283 		} else {
8284 			if (yych <= 't') {
8285 				if (yych == 'm') goto yy60;
8286 				if (yych <= 'r') goto yy3;
8287 				goto yy60;
8288 			} else {
8289 				if (yych <= 'w') {
8290 					if (yych <= 'v') goto yy3;
8291 					goto yy60;
8292 				} else {
8293 					if (yych == 'y') goto yy60;
8294 					goto yy3;
8295 				}
8296 			}
8297 		}
8298 	}
8299 yy399:
8300 	YYDEBUG(399, *YYCURSOR);
8301 	yych = *++YYCURSOR;
8302 	if (yych <= '/') goto yy401;
8303 	if (yych <= '0') goto yy675;
8304 	if (yych <= '1') goto yy676;
8305 	if (yych <= '9') goto yy677;
8306 	goto yy401;
8307 yy400:
8308 	YYDEBUG(400, *YYCURSOR);
8309 	++YYCURSOR;
8310 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
8311 	yych = *YYCURSOR;
8312 yy401:
8313 	YYDEBUG(401, *YYCURSOR);
8314 	switch (yych) {
8315 	case '\t':
8316 	case ' ':	goto yy400;
8317 	case '-':
8318 	case '.':	goto yy516;
8319 	case 'A':
8320 	case 'a':	goto yy419;
8321 	case 'D':
8322 	case 'd':	goto yy405;
8323 	case 'F':
8324 	case 'f':	goto yy406;
8325 	case 'H':
8326 	case 'h':	goto yy63;
8327 	case 'I':	goto yy414;
8328 	case 'J':
8329 	case 'j':	goto yy418;
8330 	case 'M':
8331 	case 'm':	goto yy404;
8332 	case 'N':
8333 	case 'n':	goto yy421;
8334 	case 'O':
8335 	case 'o':	goto yy420;
8336 	case 'P':
8337 	case 'p':	goto yy423;
8338 	case 'S':
8339 	case 's':	goto yy402;
8340 	case 'T':
8341 	case 't':	goto yy68;
8342 	case 'V':	goto yy416;
8343 	case 'W':
8344 	case 'w':	goto yy67;
8345 	case 'X':	goto yy417;
8346 	case 'Y':
8347 	case 'y':	goto yy66;
8348 	default:	goto yy56;
8349 	}
8350 yy402:
8351 	YYDEBUG(402, *YYCURSOR);
8352 	yych = *++YYCURSOR;
8353 	if (yych <= 'U') {
8354 		if (yych <= 'D') {
8355 			if (yych == 'A') goto yy126;
8356 			goto yy56;
8357 		} else {
8358 			if (yych <= 'E') goto yy988;
8359 			if (yych <= 'T') goto yy56;
8360 			goto yy125;
8361 		}
8362 	} else {
8363 		if (yych <= 'd') {
8364 			if (yych == 'a') goto yy126;
8365 			goto yy56;
8366 		} else {
8367 			if (yych <= 'e') goto yy988;
8368 			if (yych == 'u') goto yy125;
8369 			goto yy56;
8370 		}
8371 	}
8372 yy403:
8373 	YYDEBUG(403, *YYCURSOR);
8374 	yych = *++YYCURSOR;
8375 	if (yych <= '`') {
8376 		if (yych <= 'D') {
8377 			if (yych == 'A') goto yy126;
8378 			goto yy56;
8379 		} else {
8380 			if (yych <= 'E') goto yy988;
8381 			if (yych == 'U') goto yy125;
8382 			goto yy56;
8383 		}
8384 	} else {
8385 		if (yych <= 'e') {
8386 			if (yych <= 'a') goto yy126;
8387 			if (yych <= 'd') goto yy56;
8388 			goto yy988;
8389 		} else {
8390 			if (yych <= 's') goto yy56;
8391 			if (yych <= 't') goto yy668;
8392 			if (yych <= 'u') goto yy125;
8393 			goto yy56;
8394 		}
8395 	}
8396 yy404:
8397 	YYDEBUG(404, *YYCURSOR);
8398 	yych = *++YYCURSOR;
8399 	if (yych <= 'O') {
8400 		if (yych <= 'H') {
8401 			if (yych == 'A') goto yy531;
8402 			goto yy56;
8403 		} else {
8404 			if (yych <= 'I') goto yy117;
8405 			if (yych <= 'N') goto yy56;
8406 			goto yy116;
8407 		}
8408 	} else {
8409 		if (yych <= 'h') {
8410 			if (yych == 'a') goto yy531;
8411 			goto yy56;
8412 		} else {
8413 			if (yych <= 'i') goto yy117;
8414 			if (yych == 'o') goto yy116;
8415 			goto yy56;
8416 		}
8417 	}
8418 yy405:
8419 	YYDEBUG(405, *YYCURSOR);
8420 	yych = *++YYCURSOR;
8421 	if (yych <= 'E') {
8422 		if (yych == 'A') goto yy113;
8423 		if (yych <= 'D') goto yy56;
8424 		goto yy518;
8425 	} else {
8426 		if (yych <= 'a') {
8427 			if (yych <= '`') goto yy56;
8428 			goto yy113;
8429 		} else {
8430 			if (yych == 'e') goto yy518;
8431 			goto yy56;
8432 		}
8433 	}
8434 yy406:
8435 	YYDEBUG(406, *YYCURSOR);
8436 	yych = *++YYCURSOR;
8437 	if (yych <= 'R') {
8438 		if (yych <= 'N') {
8439 			if (yych == 'E') goto yy534;
8440 			goto yy56;
8441 		} else {
8442 			if (yych <= 'O') goto yy98;
8443 			if (yych <= 'Q') goto yy56;
8444 			goto yy97;
8445 		}
8446 	} else {
8447 		if (yych <= 'n') {
8448 			if (yych == 'e') goto yy534;
8449 			goto yy56;
8450 		} else {
8451 			if (yych <= 'o') goto yy98;
8452 			if (yych == 'r') goto yy97;
8453 			goto yy56;
8454 		}
8455 	}
8456 yy407:
8457 	YYDEBUG(407, *YYCURSOR);
8458 	yych = *++YYCURSOR;
8459 	if (yych <= 'U') {
8460 		if (yych == 'H') goto yy69;
8461 		if (yych <= 'T') goto yy56;
8462 		goto yy70;
8463 	} else {
8464 		if (yych <= 'h') {
8465 			if (yych <= 'g') goto yy56;
8466 			goto yy987;
8467 		} else {
8468 			if (yych == 'u') goto yy70;
8469 			goto yy56;
8470 		}
8471 	}
8472 yy408:
8473 	YYDEBUG(408, *YYCURSOR);
8474 	yych = *++YYCURSOR;
8475 	if (yych == '-') goto yy681;
8476 	if (yych <= '/') goto yy60;
8477 	if (yych <= '9') goto yy680;
8478 	goto yy60;
8479 yy409:
8480 	YYDEBUG(409, *YYCURSOR);
8481 	yych = *++YYCURSOR;
8482 	if (yych <= 'c') {
8483 		if (yych == 'O') goto yy469;
8484 		goto yy56;
8485 	} else {
8486 		if (yych <= 'd') goto yy668;
8487 		if (yych == 'o') goto yy469;
8488 		goto yy56;
8489 	}
8490 yy410:
8491 	YYDEBUG(410, *YYCURSOR);
8492 	yych = *++YYCURSOR;
8493 	if (yych == 'd') goto yy668;
8494 	goto yy56;
8495 yy411:
8496 	YYDEBUG(411, *YYCURSOR);
8497 	yych = *++YYCURSOR;
8498 	switch (yych) {
8499 	case '0':
8500 	case '1':
8501 	case '2':	goto yy605;
8502 	case '3':	goto yy607;
8503 	case '4':
8504 	case '5':
8505 	case '6':
8506 	case '7':
8507 	case '8':
8508 	case '9':	goto yy608;
8509 	case 'A':
8510 	case 'a':	goto yy612;
8511 	case 'D':
8512 	case 'd':	goto yy616;
8513 	case 'F':
8514 	case 'f':	goto yy610;
8515 	case 'J':
8516 	case 'j':	goto yy609;
8517 	case 'M':
8518 	case 'm':	goto yy611;
8519 	case 'N':
8520 	case 'n':	goto yy615;
8521 	case 'O':
8522 	case 'o':	goto yy614;
8523 	case 'S':
8524 	case 's':	goto yy613;
8525 	default:	goto yy56;
8526 	}
8527 yy412:
8528 	YYDEBUG(412, *YYCURSOR);
8529 	yych = *++YYCURSOR;
8530 	switch (yych) {
8531 	case '0':	goto yy555;
8532 	case '1':	goto yy556;
8533 	case '2':
8534 	case '3':
8535 	case '4':
8536 	case '5':
8537 	case '6':
8538 	case '7':
8539 	case '8':
8540 	case '9':	goto yy557;
8541 	case 'A':
8542 	case 'a':	goto yy561;
8543 	case 'D':
8544 	case 'd':	goto yy565;
8545 	case 'F':
8546 	case 'f':	goto yy559;
8547 	case 'J':
8548 	case 'j':	goto yy558;
8549 	case 'M':
8550 	case 'm':	goto yy560;
8551 	case 'N':
8552 	case 'n':	goto yy564;
8553 	case 'O':
8554 	case 'o':	goto yy563;
8555 	case 'S':
8556 	case 's':	goto yy562;
8557 	default:	goto yy517;
8558 	}
8559 yy413:
8560 	YYDEBUG(413, *YYCURSOR);
8561 	yych = *++YYCURSOR;
8562 	if (yych <= '1') {
8563 		if (yych <= '/') goto yy517;
8564 		if (yych <= '0') goto yy507;
8565 		goto yy508;
8566 	} else {
8567 		if (yych <= '5') goto yy509;
8568 		if (yych <= '9') goto yy510;
8569 		goto yy517;
8570 	}
8571 yy414:
8572 	YYDEBUG(414, *YYCURSOR);
8573 	yyaccept = 9;
8574 	yych = *(YYMARKER = ++YYCURSOR);
8575 	if (yych <= '/') {
8576 		if (yych <= 0x1F) {
8577 			if (yych == '\t') goto yy471;
8578 		} else {
8579 			if (yych <= ' ') goto yy471;
8580 			if (yych <= ',') goto yy415;
8581 			if (yych <= '.') goto yy471;
8582 		}
8583 	} else {
8584 		if (yych <= 'U') {
8585 			if (yych <= '9') goto yy473;
8586 			if (yych == 'I') goto yy506;
8587 		} else {
8588 			if (yych == 'W') goto yy415;
8589 			if (yych <= 'X') goto yy479;
8590 		}
8591 	}
8592 yy415:
8593 	YYDEBUG(415, *YYCURSOR);
8594 #line 1380 "ext/date/lib/parse_date.re"
8595 	{
8596 		DEBUG_OUTPUT("datenoyearrev");
8597 		TIMELIB_INIT;
8598 		TIMELIB_HAVE_DATE();
8599 		s->time->d = timelib_get_nr((char **) &ptr, 2);
8600 		timelib_skip_day_suffix((char **) &ptr);
8601 		s->time->m = timelib_get_month((char **) &ptr);
8602 		TIMELIB_DEINIT;
8603 		return TIMELIB_DATE_TEXT;
8604 	}
8605 #line 8606 "<stdout>"
8606 yy416:
8607 	YYDEBUG(416, *YYCURSOR);
8608 	yyaccept = 9;
8609 	yych = *(YYMARKER = ++YYCURSOR);
8610 	if (yych <= ',') {
8611 		if (yych <= '\t') {
8612 			if (yych <= 0x08) goto yy415;
8613 			goto yy471;
8614 		} else {
8615 			if (yych == ' ') goto yy471;
8616 			goto yy415;
8617 		}
8618 	} else {
8619 		if (yych <= '9') {
8620 			if (yych <= '.') goto yy471;
8621 			if (yych <= '/') goto yy415;
8622 			goto yy473;
8623 		} else {
8624 			if (yych == 'I') goto yy504;
8625 			goto yy415;
8626 		}
8627 	}
8628 yy417:
8629 	YYDEBUG(417, *YYCURSOR);
8630 	yyaccept = 9;
8631 	yych = *(YYMARKER = ++YYCURSOR);
8632 	if (yych <= ',') {
8633 		if (yych <= '\t') {
8634 			if (yych <= 0x08) goto yy415;
8635 			goto yy471;
8636 		} else {
8637 			if (yych == ' ') goto yy471;
8638 			goto yy415;
8639 		}
8640 	} else {
8641 		if (yych <= '9') {
8642 			if (yych <= '.') goto yy471;
8643 			if (yych <= '/') goto yy415;
8644 			goto yy473;
8645 		} else {
8646 			if (yych == 'I') goto yy503;
8647 			goto yy415;
8648 		}
8649 	}
8650 yy418:
8651 	YYDEBUG(418, *YYCURSOR);
8652 	yych = *++YYCURSOR;
8653 	if (yych <= 'U') {
8654 		if (yych == 'A') goto yy496;
8655 		if (yych <= 'T') goto yy56;
8656 		goto yy495;
8657 	} else {
8658 		if (yych <= 'a') {
8659 			if (yych <= '`') goto yy56;
8660 			goto yy496;
8661 		} else {
8662 			if (yych == 'u') goto yy495;
8663 			goto yy56;
8664 		}
8665 	}
8666 yy419:
8667 	YYDEBUG(419, *YYCURSOR);
8668 	yych = *++YYCURSOR;
8669 	if (yych <= 'T') {
8670 		if (yych <= 'L') {
8671 			if (yych == '.') goto yy424;
8672 			goto yy56;
8673 		} else {
8674 			if (yych <= 'M') goto yy425;
8675 			if (yych == 'P') goto yy489;
8676 			goto yy56;
8677 		}
8678 	} else {
8679 		if (yych <= 'o') {
8680 			if (yych <= 'U') goto yy488;
8681 			if (yych == 'm') goto yy425;
8682 			goto yy56;
8683 		} else {
8684 			if (yych <= 'p') goto yy489;
8685 			if (yych == 'u') goto yy488;
8686 			goto yy56;
8687 		}
8688 	}
8689 yy420:
8690 	YYDEBUG(420, *YYCURSOR);
8691 	yych = *++YYCURSOR;
8692 	if (yych == 'C') goto yy483;
8693 	if (yych == 'c') goto yy483;
8694 	goto yy56;
8695 yy421:
8696 	YYDEBUG(421, *YYCURSOR);
8697 	yych = *++YYCURSOR;
8698 	if (yych == 'O') goto yy469;
8699 	if (yych == 'o') goto yy469;
8700 	goto yy56;
8701 yy422:
8702 	YYDEBUG(422, *YYCURSOR);
8703 	yych = *++YYCURSOR;
8704 	if (yych <= '/') goto yy56;
8705 	if (yych <= '5') goto yy429;
8706 	if (yych <= '9') goto yy431;
8707 	goto yy56;
8708 yy423:
8709 	YYDEBUG(423, *YYCURSOR);
8710 	yych = *++YYCURSOR;
8711 	if (yych <= 'L') {
8712 		if (yych != '.') goto yy56;
8713 	} else {
8714 		if (yych <= 'M') goto yy425;
8715 		if (yych == 'm') goto yy425;
8716 		goto yy56;
8717 	}
8718 yy424:
8719 	YYDEBUG(424, *YYCURSOR);
8720 	yych = *++YYCURSOR;
8721 	if (yych == 'M') goto yy425;
8722 	if (yych != 'm') goto yy56;
8723 yy425:
8724 	YYDEBUG(425, *YYCURSOR);
8725 	yych = *++YYCURSOR;
8726 	if (yych <= 0x1F) {
8727 		if (yych <= 0x00) goto yy427;
8728 		if (yych == '\t') goto yy427;
8729 		goto yy56;
8730 	} else {
8731 		if (yych <= ' ') goto yy427;
8732 		if (yych != '.') goto yy56;
8733 	}
8734 	YYDEBUG(426, *YYCURSOR);
8735 	yych = *++YYCURSOR;
8736 	if (yych <= '\t') {
8737 		if (yych <= 0x00) goto yy427;
8738 		if (yych <= 0x08) goto yy56;
8739 	} else {
8740 		if (yych != ' ') goto yy56;
8741 	}
8742 yy427:
8743 	YYDEBUG(427, *YYCURSOR);
8744 	++YYCURSOR;
8745 	YYDEBUG(428, *YYCURSOR);
8746 #line 1098 "ext/date/lib/parse_date.re"
8747 	{
8748 		DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
8749 		TIMELIB_INIT;
8750 		TIMELIB_HAVE_TIME();
8751 		s->time->h = timelib_get_nr((char **) &ptr, 2);
8752 		if (*ptr == ':' || *ptr == '.') {
8753 			s->time->i = timelib_get_nr((char **) &ptr, 2);
8754 			if (*ptr == ':' || *ptr == '.') {
8755 				s->time->s = timelib_get_nr((char **) &ptr, 2);
8756 			}
8757 		}
8758 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
8759 		TIMELIB_DEINIT;
8760 		return TIMELIB_TIME12;
8761 	}
8762 #line 8763 "<stdout>"
8763 yy429:
8764 	YYDEBUG(429, *YYCURSOR);
8765 	yyaccept = 10;
8766 	yych = *(YYMARKER = ++YYCURSOR);
8767 	if (yych <= '/') {
8768 		if (yych == '.') goto yy432;
8769 	} else {
8770 		if (yych <= '9') goto yy446;
8771 		if (yych <= ':') goto yy432;
8772 	}
8773 yy430:
8774 	YYDEBUG(430, *YYCURSOR);
8775 #line 1135 "ext/date/lib/parse_date.re"
8776 	{
8777 		int tz_not_found;
8778 		DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
8779 		TIMELIB_INIT;
8780 		TIMELIB_HAVE_TIME();
8781 		s->time->h = timelib_get_nr((char **) &ptr, 2);
8782 		s->time->i = timelib_get_nr((char **) &ptr, 2);
8783 		if (*ptr == ':' || *ptr == '.') {
8784 			s->time->s = timelib_get_nr((char **) &ptr, 2);
8785 
8786 			if (*ptr == '.') {
8787 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
8788 			}
8789 		}
8790 
8791 		if (*ptr != '\0') {
8792 			s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
8793 			if (tz_not_found) {
8794 				add_error(s, "The timezone could not be found in the database");
8795 			}
8796 		}
8797 		TIMELIB_DEINIT;
8798 		return TIMELIB_TIME24_WITH_ZONE;
8799 	}
8800 #line 8801 "<stdout>"
8801 yy431:
8802 	YYDEBUG(431, *YYCURSOR);
8803 	yyaccept = 10;
8804 	yych = *(YYMARKER = ++YYCURSOR);
8805 	if (yych == '.') goto yy432;
8806 	if (yych != ':') goto yy430;
8807 yy432:
8808 	YYDEBUG(432, *YYCURSOR);
8809 	yych = *++YYCURSOR;
8810 	if (yych <= '/') goto yy56;
8811 	if (yych <= '5') goto yy433;
8812 	if (yych <= '6') goto yy434;
8813 	if (yych <= '9') goto yy435;
8814 	goto yy56;
8815 yy433:
8816 	YYDEBUG(433, *YYCURSOR);
8817 	yyaccept = 10;
8818 	yych = *(YYMARKER = ++YYCURSOR);
8819 	if (yych == '.') goto yy436;
8820 	if (yych <= '/') goto yy430;
8821 	if (yych <= '9') goto yy439;
8822 	goto yy430;
8823 yy434:
8824 	YYDEBUG(434, *YYCURSOR);
8825 	yyaccept = 10;
8826 	yych = *(YYMARKER = ++YYCURSOR);
8827 	if (yych == '.') goto yy436;
8828 	if (yych == '0') goto yy439;
8829 	goto yy430;
8830 yy435:
8831 	YYDEBUG(435, *YYCURSOR);
8832 	yyaccept = 10;
8833 	yych = *(YYMARKER = ++YYCURSOR);
8834 	if (yych != '.') goto yy430;
8835 yy436:
8836 	YYDEBUG(436, *YYCURSOR);
8837 	yych = *++YYCURSOR;
8838 	if (yych <= '/') goto yy56;
8839 	if (yych >= ':') goto yy56;
8840 yy437:
8841 	YYDEBUG(437, *YYCURSOR);
8842 	++YYCURSOR;
8843 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
8844 	yych = *YYCURSOR;
8845 	YYDEBUG(438, *YYCURSOR);
8846 	if (yych <= '/') goto yy430;
8847 	if (yych <= '9') goto yy437;
8848 	goto yy430;
8849 yy439:
8850 	YYDEBUG(439, *YYCURSOR);
8851 	yyaccept = 10;
8852 	yych = *(YYMARKER = ++YYCURSOR);
8853 	if (yych <= '@') {
8854 		if (yych <= 0x1F) {
8855 			if (yych != '\t') goto yy430;
8856 		} else {
8857 			if (yych <= ' ') goto yy440;
8858 			if (yych == '.') goto yy436;
8859 			goto yy430;
8860 		}
8861 	} else {
8862 		if (yych <= '`') {
8863 			if (yych <= 'A') goto yy442;
8864 			if (yych == 'P') goto yy442;
8865 			goto yy430;
8866 		} else {
8867 			if (yych <= 'a') goto yy442;
8868 			if (yych == 'p') goto yy442;
8869 			goto yy430;
8870 		}
8871 	}
8872 yy440:
8873 	YYDEBUG(440, *YYCURSOR);
8874 	++YYCURSOR;
8875 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
8876 	yych = *YYCURSOR;
8877 	YYDEBUG(441, *YYCURSOR);
8878 	if (yych <= 'A') {
8879 		if (yych <= 0x1F) {
8880 			if (yych == '\t') goto yy440;
8881 			goto yy56;
8882 		} else {
8883 			if (yych <= ' ') goto yy440;
8884 			if (yych <= '@') goto yy56;
8885 		}
8886 	} else {
8887 		if (yych <= '`') {
8888 			if (yych != 'P') goto yy56;
8889 		} else {
8890 			if (yych <= 'a') goto yy442;
8891 			if (yych != 'p') goto yy56;
8892 		}
8893 	}
8894 yy442:
8895 	YYDEBUG(442, *YYCURSOR);
8896 	yych = *++YYCURSOR;
8897 	if (yych <= 'L') {
8898 		if (yych != '.') goto yy56;
8899 	} else {
8900 		if (yych <= 'M') goto yy444;
8901 		if (yych == 'm') goto yy444;
8902 		goto yy56;
8903 	}
8904 	YYDEBUG(443, *YYCURSOR);
8905 	yych = *++YYCURSOR;
8906 	if (yych == 'M') goto yy444;
8907 	if (yych != 'm') goto yy56;
8908 yy444:
8909 	YYDEBUG(444, *YYCURSOR);
8910 	yych = *++YYCURSOR;
8911 	if (yych <= 0x1F) {
8912 		if (yych <= 0x00) goto yy427;
8913 		if (yych == '\t') goto yy427;
8914 		goto yy56;
8915 	} else {
8916 		if (yych <= ' ') goto yy427;
8917 		if (yych != '.') goto yy56;
8918 	}
8919 	YYDEBUG(445, *YYCURSOR);
8920 	yych = *++YYCURSOR;
8921 	if (yych <= '\t') {
8922 		if (yych <= 0x00) goto yy427;
8923 		if (yych <= 0x08) goto yy56;
8924 		goto yy427;
8925 	} else {
8926 		if (yych == ' ') goto yy427;
8927 		goto yy56;
8928 	}
8929 yy446:
8930 	YYDEBUG(446, *YYCURSOR);
8931 	yyaccept = 10;
8932 	yych = *(YYMARKER = ++YYCURSOR);
8933 	if (yych <= ':') {
8934 		if (yych <= ' ') {
8935 			if (yych == '\t') goto yy447;
8936 			if (yych <= 0x1F) goto yy430;
8937 		} else {
8938 			if (yych == '.') goto yy432;
8939 			if (yych <= '9') goto yy430;
8940 			goto yy450;
8941 		}
8942 	} else {
8943 		if (yych <= 'P') {
8944 			if (yych == 'A') goto yy449;
8945 			if (yych <= 'O') goto yy430;
8946 			goto yy449;
8947 		} else {
8948 			if (yych <= 'a') {
8949 				if (yych <= '`') goto yy430;
8950 				goto yy449;
8951 			} else {
8952 				if (yych == 'p') goto yy449;
8953 				goto yy430;
8954 			}
8955 		}
8956 	}
8957 yy447:
8958 	YYDEBUG(447, *YYCURSOR);
8959 	++YYCURSOR;
8960 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
8961 	yych = *YYCURSOR;
8962 	YYDEBUG(448, *YYCURSOR);
8963 	if (yych <= 'A') {
8964 		if (yych <= 0x1F) {
8965 			if (yych == '\t') goto yy447;
8966 			goto yy56;
8967 		} else {
8968 			if (yych <= ' ') goto yy447;
8969 			if (yych <= '@') goto yy56;
8970 		}
8971 	} else {
8972 		if (yych <= '`') {
8973 			if (yych != 'P') goto yy56;
8974 		} else {
8975 			if (yych <= 'a') goto yy449;
8976 			if (yych != 'p') goto yy56;
8977 		}
8978 	}
8979 yy449:
8980 	YYDEBUG(449, *YYCURSOR);
8981 	yych = *++YYCURSOR;
8982 	if (yych <= 'L') {
8983 		if (yych == '.') goto yy466;
8984 		goto yy56;
8985 	} else {
8986 		if (yych <= 'M') goto yy467;
8987 		if (yych == 'm') goto yy467;
8988 		goto yy56;
8989 	}
8990 yy450:
8991 	YYDEBUG(450, *YYCURSOR);
8992 	yych = *++YYCURSOR;
8993 	if (yych <= '/') goto yy56;
8994 	if (yych <= '5') goto yy451;
8995 	if (yych <= '6') goto yy452;
8996 	if (yych <= '9') goto yy435;
8997 	goto yy56;
8998 yy451:
8999 	YYDEBUG(451, *YYCURSOR);
9000 	yyaccept = 10;
9001 	yych = *(YYMARKER = ++YYCURSOR);
9002 	if (yych == '.') goto yy436;
9003 	if (yych <= '/') goto yy430;
9004 	if (yych <= '9') goto yy453;
9005 	goto yy430;
9006 yy452:
9007 	YYDEBUG(452, *YYCURSOR);
9008 	yyaccept = 10;
9009 	yych = *(YYMARKER = ++YYCURSOR);
9010 	if (yych == '.') goto yy436;
9011 	if (yych != '0') goto yy430;
9012 yy453:
9013 	YYDEBUG(453, *YYCURSOR);
9014 	yyaccept = 10;
9015 	yych = *(YYMARKER = ++YYCURSOR);
9016 	if (yych <= ':') {
9017 		if (yych <= ' ') {
9018 			if (yych == '\t') goto yy440;
9019 			if (yych <= 0x1F) goto yy430;
9020 			goto yy440;
9021 		} else {
9022 			if (yych == '.') goto yy454;
9023 			if (yych <= '9') goto yy430;
9024 			goto yy455;
9025 		}
9026 	} else {
9027 		if (yych <= 'P') {
9028 			if (yych == 'A') goto yy442;
9029 			if (yych <= 'O') goto yy430;
9030 			goto yy442;
9031 		} else {
9032 			if (yych <= 'a') {
9033 				if (yych <= '`') goto yy430;
9034 				goto yy442;
9035 			} else {
9036 				if (yych == 'p') goto yy442;
9037 				goto yy430;
9038 			}
9039 		}
9040 	}
9041 yy454:
9042 	YYDEBUG(454, *YYCURSOR);
9043 	yych = *++YYCURSOR;
9044 	if (yych <= '/') goto yy56;
9045 	if (yych <= '9') goto yy464;
9046 	goto yy56;
9047 yy455:
9048 	YYDEBUG(455, *YYCURSOR);
9049 	yych = *++YYCURSOR;
9050 	if (yych <= '/') goto yy56;
9051 	if (yych >= ':') goto yy56;
9052 yy456:
9053 	YYDEBUG(456, *YYCURSOR);
9054 	++YYCURSOR;
9055 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
9056 	yych = *YYCURSOR;
9057 	YYDEBUG(457, *YYCURSOR);
9058 	if (yych <= 'O') {
9059 		if (yych <= '9') {
9060 			if (yych <= '/') goto yy56;
9061 			goto yy456;
9062 		} else {
9063 			if (yych != 'A') goto yy56;
9064 		}
9065 	} else {
9066 		if (yych <= 'a') {
9067 			if (yych <= 'P') goto yy458;
9068 			if (yych <= '`') goto yy56;
9069 		} else {
9070 			if (yych != 'p') goto yy56;
9071 		}
9072 	}
9073 yy458:
9074 	YYDEBUG(458, *YYCURSOR);
9075 	yych = *++YYCURSOR;
9076 	if (yych <= 'L') {
9077 		if (yych != '.') goto yy56;
9078 	} else {
9079 		if (yych <= 'M') goto yy460;
9080 		if (yych == 'm') goto yy460;
9081 		goto yy56;
9082 	}
9083 	YYDEBUG(459, *YYCURSOR);
9084 	yych = *++YYCURSOR;
9085 	if (yych == 'M') goto yy460;
9086 	if (yych != 'm') goto yy56;
9087 yy460:
9088 	YYDEBUG(460, *YYCURSOR);
9089 	yych = *++YYCURSOR;
9090 	if (yych <= 0x1F) {
9091 		if (yych <= 0x00) goto yy462;
9092 		if (yych == '\t') goto yy462;
9093 		goto yy56;
9094 	} else {
9095 		if (yych <= ' ') goto yy462;
9096 		if (yych != '.') goto yy56;
9097 	}
9098 	YYDEBUG(461, *YYCURSOR);
9099 	yych = *++YYCURSOR;
9100 	if (yych <= '\t') {
9101 		if (yych <= 0x00) goto yy462;
9102 		if (yych <= 0x08) goto yy56;
9103 	} else {
9104 		if (yych != ' ') goto yy56;
9105 	}
9106 yy462:
9107 	YYDEBUG(462, *YYCURSOR);
9108 	++YYCURSOR;
9109 	YYDEBUG(463, *YYCURSOR);
9110 #line 1115 "ext/date/lib/parse_date.re"
9111 	{
9112 		DEBUG_OUTPUT("mssqltime");
9113 		TIMELIB_INIT;
9114 		TIMELIB_HAVE_TIME();
9115 		s->time->h = timelib_get_nr((char **) &ptr, 2);
9116 		s->time->i = timelib_get_nr((char **) &ptr, 2);
9117 		if (*ptr == ':' || *ptr == '.') {
9118 			s->time->s = timelib_get_nr((char **) &ptr, 2);
9119 
9120 			if (*ptr == ':' || *ptr == '.') {
9121 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
9122 			}
9123 		}
9124 		timelib_eat_spaces((char **) &ptr);
9125 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
9126 		TIMELIB_DEINIT;
9127 		return TIMELIB_TIME24_WITH_ZONE;
9128 	}
9129 #line 9130 "<stdout>"
9130 yy464:
9131 	YYDEBUG(464, *YYCURSOR);
9132 	yyaccept = 10;
9133 	YYMARKER = ++YYCURSOR;
9134 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
9135 	yych = *YYCURSOR;
9136 	YYDEBUG(465, *YYCURSOR);
9137 	if (yych <= 'O') {
9138 		if (yych <= '9') {
9139 			if (yych <= '/') goto yy430;
9140 			goto yy464;
9141 		} else {
9142 			if (yych == 'A') goto yy458;
9143 			goto yy430;
9144 		}
9145 	} else {
9146 		if (yych <= 'a') {
9147 			if (yych <= 'P') goto yy458;
9148 			if (yych <= '`') goto yy430;
9149 			goto yy458;
9150 		} else {
9151 			if (yych == 'p') goto yy458;
9152 			goto yy430;
9153 		}
9154 	}
9155 yy466:
9156 	YYDEBUG(466, *YYCURSOR);
9157 	yych = *++YYCURSOR;
9158 	if (yych == 'M') goto yy467;
9159 	if (yych != 'm') goto yy56;
9160 yy467:
9161 	YYDEBUG(467, *YYCURSOR);
9162 	yych = *++YYCURSOR;
9163 	if (yych <= 0x1F) {
9164 		if (yych <= 0x00) goto yy427;
9165 		if (yych == '\t') goto yy427;
9166 		goto yy56;
9167 	} else {
9168 		if (yych <= ' ') goto yy427;
9169 		if (yych != '.') goto yy56;
9170 	}
9171 	YYDEBUG(468, *YYCURSOR);
9172 	yych = *++YYCURSOR;
9173 	if (yych <= '\t') {
9174 		if (yych <= 0x00) goto yy427;
9175 		if (yych <= 0x08) goto yy56;
9176 		goto yy427;
9177 	} else {
9178 		if (yych == ' ') goto yy427;
9179 		goto yy56;
9180 	}
9181 yy469:
9182 	YYDEBUG(469, *YYCURSOR);
9183 	yych = *++YYCURSOR;
9184 	if (yych == 'V') goto yy470;
9185 	if (yych != 'v') goto yy56;
9186 yy470:
9187 	YYDEBUG(470, *YYCURSOR);
9188 	yyaccept = 9;
9189 	yych = *(YYMARKER = ++YYCURSOR);
9190 	if (yych <= '.') {
9191 		if (yych <= 0x1F) {
9192 			if (yych != '\t') goto yy415;
9193 		} else {
9194 			if (yych <= ' ') goto yy471;
9195 			if (yych <= ',') goto yy415;
9196 		}
9197 	} else {
9198 		if (yych <= 'D') {
9199 			if (yych <= '/') goto yy415;
9200 			if (yych <= '9') goto yy473;
9201 			goto yy415;
9202 		} else {
9203 			if (yych <= 'E') goto yy475;
9204 			if (yych == 'e') goto yy475;
9205 			goto yy415;
9206 		}
9207 	}
9208 yy471:
9209 	YYDEBUG(471, *YYCURSOR);
9210 	++YYCURSOR;
9211 	if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
9212 	yych = *YYCURSOR;
9213 yy472:
9214 	YYDEBUG(472, *YYCURSOR);
9215 	if (yych <= ' ') {
9216 		if (yych == '\t') goto yy471;
9217 		if (yych <= 0x1F) goto yy56;
9218 		goto yy471;
9219 	} else {
9220 		if (yych <= '.') {
9221 			if (yych <= ',') goto yy56;
9222 			goto yy471;
9223 		} else {
9224 			if (yych <= '/') goto yy56;
9225 			if (yych >= ':') goto yy56;
9226 		}
9227 	}
9228 yy473:
9229 	YYDEBUG(473, *YYCURSOR);
9230 	++YYCURSOR;
9231 	if ((yych = *YYCURSOR) <= '/') goto yy474;
9232 	if (yych <= '9') goto yy480;
9233 yy474:
9234 	YYDEBUG(474, *YYCURSOR);
9235 #line 1297 "ext/date/lib/parse_date.re"
9236 	{
9237 		int length = 0;
9238 		DEBUG_OUTPUT("datefull");
9239 		TIMELIB_INIT;
9240 		TIMELIB_HAVE_DATE();
9241 		s->time->d = timelib_get_nr((char **) &ptr, 2);
9242 		timelib_skip_day_suffix((char **) &ptr);
9243 		s->time->m = timelib_get_month((char **) &ptr);
9244 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
9245 		TIMELIB_PROCESS_YEAR(s->time->y, length);
9246 		TIMELIB_DEINIT;
9247 		return TIMELIB_DATE_FULL;
9248 	}
9249 #line 9250 "<stdout>"
9250 yy475:
9251 	YYDEBUG(475, *YYCURSOR);
9252 	yych = *++YYCURSOR;
9253 	if (yych == 'M') goto yy476;
9254 	if (yych != 'm') goto yy56;
9255 yy476:
9256 	YYDEBUG(476, *YYCURSOR);
9257 	yych = *++YYCURSOR;
9258 	if (yych == 'B') goto yy477;
9259 	if (yych != 'b') goto yy56;
9260 yy477:
9261 	YYDEBUG(477, *YYCURSOR);
9262 	yych = *++YYCURSOR;
9263 	if (yych == 'E') goto yy478;
9264 	if (yych != 'e') goto yy56;
9265 yy478:
9266 	YYDEBUG(478, *YYCURSOR);
9267 	yych = *++YYCURSOR;
9268 	if (yych == 'R') goto yy479;
9269 	if (yych != 'r') goto yy56;
9270 yy479:
9271 	YYDEBUG(479, *YYCURSOR);
9272 	yyaccept = 9;
9273 	yych = *(YYMARKER = ++YYCURSOR);
9274 	if (yych <= ' ') {
9275 		if (yych == '\t') goto yy471;
9276 		if (yych <= 0x1F) goto yy415;
9277 		goto yy471;
9278 	} else {
9279 		if (yych <= '.') {
9280 			if (yych <= ',') goto yy415;
9281 			goto yy471;
9282 		} else {
9283 			if (yych <= '/') goto yy415;
9284 			if (yych <= '9') goto yy473;
9285 			goto yy415;
9286 		}
9287 	}
9288 yy480:
9289 	YYDEBUG(480, *YYCURSOR);
9290 	yych = *++YYCURSOR;
9291 	if (yych <= '/') goto yy474;
9292 	if (yych >= ':') goto yy474;
9293 yy481:
9294 	YYDEBUG(481, *YYCURSOR);
9295 	yych = *++YYCURSOR;
9296 	if (yych <= '/') goto yy474;
9297 	if (yych >= ':') goto yy474;
9298 	YYDEBUG(482, *YYCURSOR);
9299 	yych = *++YYCURSOR;
9300 	goto yy474;
9301 yy483:
9302 	YYDEBUG(483, *YYCURSOR);
9303 	yych = *++YYCURSOR;
9304 	if (yych == 'T') goto yy484;
9305 	if (yych != 't') goto yy56;
9306 yy484:
9307 	YYDEBUG(484, *YYCURSOR);
9308 	yyaccept = 9;
9309 	yych = *(YYMARKER = ++YYCURSOR);
9310 	if (yych <= '.') {
9311 		if (yych <= 0x1F) {
9312 			if (yych == '\t') goto yy471;
9313 			goto yy415;
9314 		} else {
9315 			if (yych <= ' ') goto yy471;
9316 			if (yych <= ',') goto yy415;
9317 			goto yy471;
9318 		}
9319 	} else {
9320 		if (yych <= 'N') {
9321 			if (yych <= '/') goto yy415;
9322 			if (yych <= '9') goto yy473;
9323 			goto yy415;
9324 		} else {
9325 			if (yych <= 'O') goto yy485;
9326 			if (yych != 'o') goto yy415;
9327 		}
9328 	}
9329 yy485:
9330 	YYDEBUG(485, *YYCURSOR);
9331 	yych = *++YYCURSOR;
9332 	if (yych == 'B') goto yy486;
9333 	if (yych != 'b') goto yy56;
9334 yy486:
9335 	YYDEBUG(486, *YYCURSOR);
9336 	yych = *++YYCURSOR;
9337 	if (yych == 'E') goto yy487;
9338 	if (yych != 'e') goto yy56;
9339 yy487:
9340 	YYDEBUG(487, *YYCURSOR);
9341 	yych = *++YYCURSOR;
9342 	if (yych == 'R') goto yy479;
9343 	if (yych == 'r') goto yy479;
9344 	goto yy56;
9345 yy488:
9346 	YYDEBUG(488, *YYCURSOR);
9347 	yych = *++YYCURSOR;
9348 	if (yych == 'G') goto yy492;
9349 	if (yych == 'g') goto yy492;
9350 	goto yy56;
9351 yy489:
9352 	YYDEBUG(489, *YYCURSOR);
9353 	yych = *++YYCURSOR;
9354 	if (yych == 'R') goto yy490;
9355 	if (yych != 'r') goto yy56;
9356 yy490:
9357 	YYDEBUG(490, *YYCURSOR);
9358 	yyaccept = 9;
9359 	yych = *(YYMARKER = ++YYCURSOR);
9360 	if (yych <= '.') {
9361 		if (yych <= 0x1F) {
9362 			if (yych == '\t') goto yy471;
9363 			goto yy415;
9364 		} else {
9365 			if (yych <= ' ') goto yy471;
9366 			if (yych <= ',') goto yy415;
9367 			goto yy471;
9368 		}
9369 	} else {
9370 		if (yych <= 'H') {
9371 			if (yych <= '/') goto yy415;
9372 			if (yych <= '9') goto yy473;
9373 			goto yy415;
9374 		} else {
9375 			if (yych <= 'I') goto yy491;
9376 			if (yych != 'i') goto yy415;
9377 		}
9378 	}
9379 yy491:
9380 	YYDEBUG(491, *YYCURSOR);
9381 	yych = *++YYCURSOR;
9382 	if (yych == 'L') goto yy479;
9383 	if (yych == 'l') goto yy479;
9384 	goto yy56;
9385 yy492:
9386 	YYDEBUG(492, *YYCURSOR);
9387 	yyaccept = 9;
9388 	yych = *(YYMARKER = ++YYCURSOR);
9389 	if (yych <= '.') {
9390 		if (yych <= 0x1F) {
9391 			if (yych == '\t') goto yy471;
9392 			goto yy415;
9393 		} else {
9394 			if (yych <= ' ') goto yy471;
9395 			if (yych <= ',') goto yy415;
9396 			goto yy471;
9397 		}
9398 	} else {
9399 		if (yych <= 'T') {
9400 			if (yych <= '/') goto yy415;
9401 			if (yych <= '9') goto yy473;
9402 			goto yy415;
9403 		} else {
9404 			if (yych <= 'U') goto yy493;
9405 			if (yych != 'u') goto yy415;
9406 		}
9407 	}
9408 yy493:
9409 	YYDEBUG(493, *YYCURSOR);
9410 	yych = *++YYCURSOR;
9411 	if (yych == 'S') goto yy494;
9412 	if (yych != 's') goto yy56;
9413 yy494:
9414 	YYDEBUG(494, *YYCURSOR);
9415 	yych = *++YYCURSOR;
9416 	if (yych == 'T') goto yy479;
9417 	if (yych == 't') goto yy479;
9418 	goto yy56;
9419 yy495:
9420 	YYDEBUG(495, *YYCURSOR);
9421 	yych = *++YYCURSOR;
9422 	if (yych <= 'N') {
9423 		if (yych == 'L') goto yy502;
9424 		if (yych <= 'M') goto yy56;
9425 		goto yy501;
9426 	} else {
9427 		if (yych <= 'l') {
9428 			if (yych <= 'k') goto yy56;
9429 			goto yy502;
9430 		} else {
9431 			if (yych == 'n') goto yy501;
9432 			goto yy56;
9433 		}
9434 	}
9435 yy496:
9436 	YYDEBUG(496, *YYCURSOR);
9437 	yych = *++YYCURSOR;
9438 	if (yych == 'N') goto yy497;
9439 	if (yych != 'n') goto yy56;
9440 yy497:
9441 	YYDEBUG(497, *YYCURSOR);
9442 	yyaccept = 9;
9443 	yych = *(YYMARKER = ++YYCURSOR);
9444 	if (yych <= '.') {
9445 		if (yych <= 0x1F) {
9446 			if (yych == '\t') goto yy471;
9447 			goto yy415;
9448 		} else {
9449 			if (yych <= ' ') goto yy471;
9450 			if (yych <= ',') goto yy415;
9451 			goto yy471;
9452 		}
9453 	} else {
9454 		if (yych <= 'T') {
9455 			if (yych <= '/') goto yy415;
9456 			if (yych <= '9') goto yy473;
9457 			goto yy415;
9458 		} else {
9459 			if (yych <= 'U') goto yy498;
9460 			if (yych != 'u') goto yy415;
9461 		}
9462 	}
9463 yy498:
9464 	YYDEBUG(498, *YYCURSOR);
9465 	yych = *++YYCURSOR;
9466 	if (yych == 'A') goto yy499;
9467 	if (yych != 'a') goto yy56;
9468 yy499:
9469 	YYDEBUG(499, *YYCURSOR);
9470 	yych = *++YYCURSOR;
9471 	if (yych == 'R') goto yy500;
9472 	if (yych != 'r') goto yy56;
9473 yy500:
9474 	YYDEBUG(500, *YYCURSOR);
9475 	yych = *++YYCURSOR;
9476 	if (yych == 'Y') goto yy479;
9477 	if (yych == 'y') goto yy479;
9478 	goto yy56;
9479 yy501:
9480 	YYDEBUG(501, *YYCURSOR);
9481 	yyaccept = 9;
9482 	yych = *(YYMARKER = ++YYCURSOR);
9483 	if (yych <= '.') {
9484 		if (yych <= 0x1F) {
9485 			if (yych == '\t') goto yy471;
9486 			goto yy415;
9487 		} else {
9488 			if (yych <= ' ') goto yy471;
9489 			if (yych <= ',') goto yy415;
9490 			goto yy471;
9491 		}
9492 	} else {
9493 		if (yych <= 'D') {
9494 			if (yych <= '/') goto yy415;
9495 			if (yych <= '9') goto yy473;
9496 			goto yy415;
9497 		} else {
9498 			if (yych <= 'E') goto yy479;
9499 			if (yych == 'e') goto yy479;
9500 			goto yy415;
9501 		}
9502 	}
9503 yy502:
9504 	YYDEBUG(502, *YYCURSOR);
9505 	yyaccept = 9;
9506 	yych = *(YYMARKER = ++YYCURSOR);
9507 	if (yych <= '.') {
9508 		if (yych <= 0x1F) {
9509 			if (yych == '\t') goto yy471;
9510 			goto yy415;
9511 		} else {
9512 			if (yych <= ' ') goto yy471;
9513 			if (yych <= ',') goto yy415;
9514 			goto yy471;
9515 		}
9516 	} else {
9517 		if (yych <= 'X') {
9518 			if (yych <= '/') goto yy415;
9519 			if (yych <= '9') goto yy473;
9520 			goto yy415;
9521 		} else {
9522 			if (yych <= 'Y') goto yy479;
9523 			if (yych == 'y') goto yy479;
9524 			goto yy415;
9525 		}
9526 	}
9527 yy503:
9528 	YYDEBUG(503, *YYCURSOR);
9529 	yyaccept = 9;
9530 	yych = *(YYMARKER = ++YYCURSOR);
9531 	if (yych <= ',') {
9532 		if (yych <= '\t') {
9533 			if (yych <= 0x08) goto yy415;
9534 			goto yy471;
9535 		} else {
9536 			if (yych == ' ') goto yy471;
9537 			goto yy415;
9538 		}
9539 	} else {
9540 		if (yych <= '9') {
9541 			if (yych <= '.') goto yy471;
9542 			if (yych <= '/') goto yy415;
9543 			goto yy473;
9544 		} else {
9545 			if (yych == 'I') goto yy479;
9546 			goto yy415;
9547 		}
9548 	}
9549 yy504:
9550 	YYDEBUG(504, *YYCURSOR);
9551 	yyaccept = 9;
9552 	yych = *(YYMARKER = ++YYCURSOR);
9553 	if (yych <= ',') {
9554 		if (yych <= '\t') {
9555 			if (yych <= 0x08) goto yy415;
9556 			goto yy471;
9557 		} else {
9558 			if (yych == ' ') goto yy471;
9559 			goto yy415;
9560 		}
9561 	} else {
9562 		if (yych <= '9') {
9563 			if (yych <= '.') goto yy471;
9564 			if (yych <= '/') goto yy415;
9565 			goto yy473;
9566 		} else {
9567 			if (yych != 'I') goto yy415;
9568 		}
9569 	}
9570 	YYDEBUG(505, *YYCURSOR);
9571 	yyaccept = 9;
9572 	yych = *(YYMARKER = ++YYCURSOR);
9573 	if (yych <= ',') {
9574 		if (yych <= '\t') {
9575 			if (yych <= 0x08) goto yy415;
9576 			goto yy471;
9577 		} else {
9578 			if (yych == ' ') goto yy471;
9579 			goto yy415;
9580 		}
9581 	} else {
9582 		if (yych <= '9') {
9583 			if (yych <= '.') goto yy471;
9584 			if (yych <= '/') goto yy415;
9585 			goto yy473;
9586 		} else {
9587 			if (yych == 'I') goto yy479;
9588 			goto yy415;
9589 		}
9590 	}
9591 yy506:
9592 	YYDEBUG(506, *YYCURSOR);
9593 	yyaccept = 9;
9594 	yych = *(YYMARKER = ++YYCURSOR);
9595 	if (yych <= ',') {
9596 		if (yych <= '\t') {
9597 			if (yych <= 0x08) goto yy415;
9598 			goto yy471;
9599 		} else {
9600 			if (yych == ' ') goto yy471;
9601 			goto yy415;
9602 		}
9603 	} else {
9604 		if (yych <= '9') {
9605 			if (yych <= '.') goto yy471;
9606 			if (yych <= '/') goto yy415;
9607 			goto yy473;
9608 		} else {
9609 			if (yych == 'I') goto yy479;
9610 			goto yy415;
9611 		}
9612 	}
9613 yy507:
9614 	YYDEBUG(507, *YYCURSOR);
9615 	yyaccept = 10;
9616 	yych = *(YYMARKER = ++YYCURSOR);
9617 	if (yych <= '.') {
9618 		if (yych <= ',') goto yy430;
9619 		if (yych <= '-') goto yy541;
9620 		goto yy540;
9621 	} else {
9622 		if (yych <= '/') goto yy430;
9623 		if (yych <= '9') goto yy554;
9624 		if (yych <= ':') goto yy432;
9625 		goto yy430;
9626 	}
9627 yy508:
9628 	YYDEBUG(508, *YYCURSOR);
9629 	yyaccept = 10;
9630 	yych = *(YYMARKER = ++YYCURSOR);
9631 	if (yych <= '/') {
9632 		if (yych <= ',') goto yy430;
9633 		if (yych <= '-') goto yy541;
9634 		if (yych <= '.') goto yy540;
9635 		goto yy430;
9636 	} else {
9637 		if (yych <= '2') goto yy554;
9638 		if (yych <= '9') goto yy553;
9639 		if (yych <= ':') goto yy432;
9640 		goto yy430;
9641 	}
9642 yy509:
9643 	YYDEBUG(509, *YYCURSOR);
9644 	yyaccept = 10;
9645 	yych = *(YYMARKER = ++YYCURSOR);
9646 	if (yych <= '.') {
9647 		if (yych <= ',') goto yy430;
9648 		if (yych <= '-') goto yy541;
9649 		goto yy540;
9650 	} else {
9651 		if (yych <= '/') goto yy430;
9652 		if (yych <= '9') goto yy553;
9653 		if (yych <= ':') goto yy432;
9654 		goto yy430;
9655 	}
9656 yy510:
9657 	YYDEBUG(510, *YYCURSOR);
9658 	yyaccept = 10;
9659 	yych = *(YYMARKER = ++YYCURSOR);
9660 	if (yych <= '.') {
9661 		if (yych <= ',') goto yy430;
9662 		if (yych <= '-') goto yy541;
9663 		goto yy540;
9664 	} else {
9665 		if (yych == ':') goto yy432;
9666 		goto yy430;
9667 	}
9668 yy511:
9669 	YYDEBUG(511, *YYCURSOR);
9670 	yych = *++YYCURSOR;
9671 	if (yych == 'E') goto yy534;
9672 	if (yych == 'e') goto yy534;
9673 	goto yy56;
9674 yy512:
9675 	YYDEBUG(512, *YYCURSOR);
9676 	yych = *++YYCURSOR;
9677 	if (yych == 'A') goto yy531;
9678 	if (yych == 'a') goto yy531;
9679 	goto yy56;
9680 yy513:
9681 	YYDEBUG(513, *YYCURSOR);
9682 	yych = *++YYCURSOR;
9683 	if (yych <= 'U') {
9684 		if (yych == 'P') goto yy489;
9685 		if (yych <= 'T') goto yy56;
9686 		goto yy488;
9687 	} else {
9688 		if (yych <= 'p') {
9689 			if (yych <= 'o') goto yy56;
9690 			goto yy489;
9691 		} else {
9692 			if (yych == 'u') goto yy488;
9693 			goto yy56;
9694 		}
9695 	}
9696 yy514:
9697 	YYDEBUG(514, *YYCURSOR);
9698 	yych = *++YYCURSOR;
9699 	if (yych == 'E') goto yy524;
9700 	if (yych == 'e') goto yy524;
9701 	goto yy56;
9702 yy515:
9703 	YYDEBUG(515, *YYCURSOR);
9704 	yych = *++YYCURSOR;
9705 	if (yych == 'E') goto yy518;
9706 	if (yych == 'e') goto yy518;
9707 	goto yy56;
9708 yy516:
9709 	YYDEBUG(516, *YYCURSOR);
9710 	++YYCURSOR;
9711 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
9712 	yych = *YYCURSOR;
9713 yy517:
9714 	YYDEBUG(517, *YYCURSOR);
9715 	switch (yych) {
9716 	case '\t':
9717 	case ' ':
9718 	case '-':
9719 	case '.':	goto yy516;
9720 	case 'A':
9721 	case 'a':	goto yy513;
9722 	case 'D':
9723 	case 'd':	goto yy515;
9724 	case 'F':
9725 	case 'f':	goto yy511;
9726 	case 'I':	goto yy414;
9727 	case 'J':
9728 	case 'j':	goto yy418;
9729 	case 'M':
9730 	case 'm':	goto yy512;
9731 	case 'N':
9732 	case 'n':	goto yy421;
9733 	case 'O':
9734 	case 'o':	goto yy420;
9735 	case 'S':
9736 	case 's':	goto yy514;
9737 	case 'V':	goto yy416;
9738 	case 'X':	goto yy417;
9739 	default:	goto yy56;
9740 	}
9741 yy518:
9742 	YYDEBUG(518, *YYCURSOR);
9743 	yych = *++YYCURSOR;
9744 	if (yych == 'C') goto yy519;
9745 	if (yych != 'c') goto yy56;
9746 yy519:
9747 	YYDEBUG(519, *YYCURSOR);
9748 	yyaccept = 9;
9749 	yych = *(YYMARKER = ++YYCURSOR);
9750 	if (yych <= '.') {
9751 		if (yych <= 0x1F) {
9752 			if (yych == '\t') goto yy471;
9753 			goto yy415;
9754 		} else {
9755 			if (yych <= ' ') goto yy471;
9756 			if (yych <= ',') goto yy415;
9757 			goto yy471;
9758 		}
9759 	} else {
9760 		if (yych <= 'D') {
9761 			if (yych <= '/') goto yy415;
9762 			if (yych <= '9') goto yy473;
9763 			goto yy415;
9764 		} else {
9765 			if (yych <= 'E') goto yy520;
9766 			if (yych != 'e') goto yy415;
9767 		}
9768 	}
9769 yy520:
9770 	YYDEBUG(520, *YYCURSOR);
9771 	yych = *++YYCURSOR;
9772 	if (yych == 'M') goto yy521;
9773 	if (yych != 'm') goto yy56;
9774 yy521:
9775 	YYDEBUG(521, *YYCURSOR);
9776 	yych = *++YYCURSOR;
9777 	if (yych == 'B') goto yy522;
9778 	if (yych != 'b') goto yy56;
9779 yy522:
9780 	YYDEBUG(522, *YYCURSOR);
9781 	yych = *++YYCURSOR;
9782 	if (yych == 'E') goto yy523;
9783 	if (yych != 'e') goto yy56;
9784 yy523:
9785 	YYDEBUG(523, *YYCURSOR);
9786 	yych = *++YYCURSOR;
9787 	if (yych == 'R') goto yy479;
9788 	if (yych == 'r') goto yy479;
9789 	goto yy56;
9790 yy524:
9791 	YYDEBUG(524, *YYCURSOR);
9792 	yych = *++YYCURSOR;
9793 	if (yych == 'P') goto yy525;
9794 	if (yych != 'p') goto yy56;
9795 yy525:
9796 	YYDEBUG(525, *YYCURSOR);
9797 	yyaccept = 9;
9798 	yych = *(YYMARKER = ++YYCURSOR);
9799 	if (yych <= '.') {
9800 		if (yych <= 0x1F) {
9801 			if (yych == '\t') goto yy471;
9802 			goto yy415;
9803 		} else {
9804 			if (yych <= ' ') goto yy471;
9805 			if (yych <= ',') goto yy415;
9806 			goto yy471;
9807 		}
9808 	} else {
9809 		if (yych <= 'S') {
9810 			if (yych <= '/') goto yy415;
9811 			if (yych <= '9') goto yy473;
9812 			goto yy415;
9813 		} else {
9814 			if (yych <= 'T') goto yy526;
9815 			if (yych != 't') goto yy415;
9816 		}
9817 	}
9818 yy526:
9819 	YYDEBUG(526, *YYCURSOR);
9820 	yyaccept = 9;
9821 	yych = *(YYMARKER = ++YYCURSOR);
9822 	if (yych <= '.') {
9823 		if (yych <= 0x1F) {
9824 			if (yych == '\t') goto yy471;
9825 			goto yy415;
9826 		} else {
9827 			if (yych <= ' ') goto yy471;
9828 			if (yych <= ',') goto yy415;
9829 			goto yy471;
9830 		}
9831 	} else {
9832 		if (yych <= 'D') {
9833 			if (yych <= '/') goto yy415;
9834 			if (yych <= '9') goto yy473;
9835 			goto yy415;
9836 		} else {
9837 			if (yych <= 'E') goto yy527;
9838 			if (yych != 'e') goto yy415;
9839 		}
9840 	}
9841 yy527:
9842 	YYDEBUG(527, *YYCURSOR);
9843 	yych = *++YYCURSOR;
9844 	if (yych == 'M') goto yy528;
9845 	if (yych != 'm') goto yy56;
9846 yy528:
9847 	YYDEBUG(528, *YYCURSOR);
9848 	yych = *++YYCURSOR;
9849 	if (yych == 'B') goto yy529;
9850 	if (yych != 'b') goto yy56;
9851 yy529:
9852 	YYDEBUG(529, *YYCURSOR);
9853 	yych = *++YYCURSOR;
9854 	if (yych == 'E') goto yy530;
9855 	if (yych != 'e') goto yy56;
9856 yy530:
9857 	YYDEBUG(530, *YYCURSOR);
9858 	yych = *++YYCURSOR;
9859 	if (yych == 'R') goto yy479;
9860 	if (yych == 'r') goto yy479;
9861 	goto yy56;
9862 yy531:
9863 	YYDEBUG(531, *YYCURSOR);
9864 	yych = *++YYCURSOR;
9865 	if (yych <= 'Y') {
9866 		if (yych == 'R') goto yy532;
9867 		if (yych <= 'X') goto yy56;
9868 		goto yy479;
9869 	} else {
9870 		if (yych <= 'r') {
9871 			if (yych <= 'q') goto yy56;
9872 		} else {
9873 			if (yych == 'y') goto yy479;
9874 			goto yy56;
9875 		}
9876 	}
9877 yy532:
9878 	YYDEBUG(532, *YYCURSOR);
9879 	yyaccept = 9;
9880 	yych = *(YYMARKER = ++YYCURSOR);
9881 	if (yych <= '.') {
9882 		if (yych <= 0x1F) {
9883 			if (yych == '\t') goto yy471;
9884 			goto yy415;
9885 		} else {
9886 			if (yych <= ' ') goto yy471;
9887 			if (yych <= ',') goto yy415;
9888 			goto yy471;
9889 		}
9890 	} else {
9891 		if (yych <= 'B') {
9892 			if (yych <= '/') goto yy415;
9893 			if (yych <= '9') goto yy473;
9894 			goto yy415;
9895 		} else {
9896 			if (yych <= 'C') goto yy533;
9897 			if (yych != 'c') goto yy415;
9898 		}
9899 	}
9900 yy533:
9901 	YYDEBUG(533, *YYCURSOR);
9902 	yych = *++YYCURSOR;
9903 	if (yych == 'H') goto yy479;
9904 	if (yych == 'h') goto yy479;
9905 	goto yy56;
9906 yy534:
9907 	YYDEBUG(534, *YYCURSOR);
9908 	yych = *++YYCURSOR;
9909 	if (yych == 'B') goto yy535;
9910 	if (yych != 'b') goto yy56;
9911 yy535:
9912 	YYDEBUG(535, *YYCURSOR);
9913 	yyaccept = 9;
9914 	yych = *(YYMARKER = ++YYCURSOR);
9915 	if (yych <= '.') {
9916 		if (yych <= 0x1F) {
9917 			if (yych == '\t') goto yy471;
9918 			goto yy415;
9919 		} else {
9920 			if (yych <= ' ') goto yy471;
9921 			if (yych <= ',') goto yy415;
9922 			goto yy471;
9923 		}
9924 	} else {
9925 		if (yych <= 'Q') {
9926 			if (yych <= '/') goto yy415;
9927 			if (yych <= '9') goto yy473;
9928 			goto yy415;
9929 		} else {
9930 			if (yych <= 'R') goto yy536;
9931 			if (yych != 'r') goto yy415;
9932 		}
9933 	}
9934 yy536:
9935 	YYDEBUG(536, *YYCURSOR);
9936 	yych = *++YYCURSOR;
9937 	if (yych == 'U') goto yy537;
9938 	if (yych != 'u') goto yy56;
9939 yy537:
9940 	YYDEBUG(537, *YYCURSOR);
9941 	yych = *++YYCURSOR;
9942 	if (yych == 'A') goto yy538;
9943 	if (yych != 'a') goto yy56;
9944 yy538:
9945 	YYDEBUG(538, *YYCURSOR);
9946 	yych = *++YYCURSOR;
9947 	if (yych == 'R') goto yy539;
9948 	if (yych != 'r') goto yy56;
9949 yy539:
9950 	YYDEBUG(539, *YYCURSOR);
9951 	yych = *++YYCURSOR;
9952 	if (yych == 'Y') goto yy479;
9953 	if (yych == 'y') goto yy479;
9954 	goto yy56;
9955 yy540:
9956 	YYDEBUG(540, *YYCURSOR);
9957 	yych = *++YYCURSOR;
9958 	if (yych <= '/') goto yy56;
9959 	if (yych <= '5') goto yy547;
9960 	if (yych <= '6') goto yy548;
9961 	if (yych <= '9') goto yy549;
9962 	goto yy56;
9963 yy541:
9964 	YYDEBUG(541, *YYCURSOR);
9965 	yych = *++YYCURSOR;
9966 	if (yych <= '/') goto yy56;
9967 	if (yych >= ':') goto yy56;
9968 	YYDEBUG(542, *YYCURSOR);
9969 	yych = *++YYCURSOR;
9970 	if (yych <= '/') goto yy56;
9971 	if (yych >= ':') goto yy56;
9972 yy543:
9973 	YYDEBUG(543, *YYCURSOR);
9974 	yych = *++YYCURSOR;
9975 	if (yych <= '/') goto yy56;
9976 	if (yych >= ':') goto yy56;
9977 yy544:
9978 	YYDEBUG(544, *YYCURSOR);
9979 	yych = *++YYCURSOR;
9980 	if (yych <= '/') goto yy56;
9981 	if (yych >= ':') goto yy56;
9982 	YYDEBUG(545, *YYCURSOR);
9983 	++YYCURSOR;
9984 	YYDEBUG(546, *YYCURSOR);
9985 #line 1312 "ext/date/lib/parse_date.re"
9986 	{
9987 		DEBUG_OUTPUT("pointed date YYYY");
9988 		TIMELIB_INIT;
9989 		TIMELIB_HAVE_DATE();
9990 		s->time->d = timelib_get_nr((char **) &ptr, 2);
9991 		s->time->m = timelib_get_nr((char **) &ptr, 2);
9992 		s->time->y = timelib_get_nr((char **) &ptr, 4);
9993 		TIMELIB_DEINIT;
9994 		return TIMELIB_DATE_FULL_POINTED;
9995 	}
9996 #line 9997 "<stdout>"
9997 yy547:
9998 	YYDEBUG(547, *YYCURSOR);
9999 	yyaccept = 10;
10000 	yych = *(YYMARKER = ++YYCURSOR);
10001 	if (yych == '.') goto yy436;
10002 	if (yych <= '/') goto yy430;
10003 	if (yych <= '9') goto yy552;
10004 	goto yy430;
10005 yy548:
10006 	YYDEBUG(548, *YYCURSOR);
10007 	yyaccept = 10;
10008 	yych = *(YYMARKER = ++YYCURSOR);
10009 	if (yych <= '/') {
10010 		if (yych == '.') goto yy436;
10011 		goto yy430;
10012 	} else {
10013 		if (yych <= '0') goto yy552;
10014 		if (yych <= '9') goto yy550;
10015 		goto yy430;
10016 	}
10017 yy549:
10018 	YYDEBUG(549, *YYCURSOR);
10019 	yyaccept = 10;
10020 	yych = *(YYMARKER = ++YYCURSOR);
10021 	if (yych == '.') goto yy436;
10022 	if (yych <= '/') goto yy430;
10023 	if (yych >= ':') goto yy430;
10024 yy550:
10025 	YYDEBUG(550, *YYCURSOR);
10026 	yyaccept = 11;
10027 	yych = *(YYMARKER = ++YYCURSOR);
10028 	if (yych <= '/') goto yy551;
10029 	if (yych <= '9') goto yy544;
10030 yy551:
10031 	YYDEBUG(551, *YYCURSOR);
10032 #line 1324 "ext/date/lib/parse_date.re"
10033 	{
10034 		int length = 0;
10035 		DEBUG_OUTPUT("pointed date YY");
10036 		TIMELIB_INIT;
10037 		TIMELIB_HAVE_DATE();
10038 		s->time->d = timelib_get_nr((char **) &ptr, 2);
10039 		s->time->m = timelib_get_nr((char **) &ptr, 2);
10040 		s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length);
10041 		TIMELIB_PROCESS_YEAR(s->time->y, length);
10042 		TIMELIB_DEINIT;
10043 		return TIMELIB_DATE_FULL_POINTED;
10044 	}
10045 #line 10046 "<stdout>"
10046 yy552:
10047 	YYDEBUG(552, *YYCURSOR);
10048 	yyaccept = 10;
10049 	yych = *(YYMARKER = ++YYCURSOR);
10050 	if (yych <= '9') {
10051 		if (yych <= ' ') {
10052 			if (yych == '\t') goto yy440;
10053 			if (yych <= 0x1F) goto yy430;
10054 			goto yy440;
10055 		} else {
10056 			if (yych == '.') goto yy436;
10057 			if (yych <= '/') goto yy430;
10058 			goto yy544;
10059 		}
10060 	} else {
10061 		if (yych <= 'P') {
10062 			if (yych == 'A') goto yy442;
10063 			if (yych <= 'O') goto yy430;
10064 			goto yy442;
10065 		} else {
10066 			if (yych <= 'a') {
10067 				if (yych <= '`') goto yy430;
10068 				goto yy442;
10069 			} else {
10070 				if (yych == 'p') goto yy442;
10071 				goto yy430;
10072 			}
10073 		}
10074 	}
10075 yy553:
10076 	YYDEBUG(553, *YYCURSOR);
10077 	yyaccept = 10;
10078 	yych = *(YYMARKER = ++YYCURSOR);
10079 	if (yych <= ':') {
10080 		if (yych <= ' ') {
10081 			if (yych == '\t') goto yy447;
10082 			if (yych <= 0x1F) goto yy430;
10083 			goto yy447;
10084 		} else {
10085 			if (yych == '.') goto yy432;
10086 			if (yych <= '9') goto yy430;
10087 			goto yy432;
10088 		}
10089 	} else {
10090 		if (yych <= 'P') {
10091 			if (yych == 'A') goto yy449;
10092 			if (yych <= 'O') goto yy430;
10093 			goto yy449;
10094 		} else {
10095 			if (yych <= 'a') {
10096 				if (yych <= '`') goto yy430;
10097 				goto yy449;
10098 			} else {
10099 				if (yych == 'p') goto yy449;
10100 				goto yy430;
10101 			}
10102 		}
10103 	}
10104 yy554:
10105 	YYDEBUG(554, *YYCURSOR);
10106 	yyaccept = 10;
10107 	yych = *(YYMARKER = ++YYCURSOR);
10108 	if (yych <= ':') {
10109 		if (yych <= ' ') {
10110 			if (yych == '\t') goto yy447;
10111 			if (yych <= 0x1F) goto yy430;
10112 			goto yy447;
10113 		} else {
10114 			if (yych <= '-') {
10115 				if (yych <= ',') goto yy430;
10116 				goto yy541;
10117 			} else {
10118 				if (yych <= '.') goto yy540;
10119 				if (yych <= '9') goto yy430;
10120 				goto yy432;
10121 			}
10122 		}
10123 	} else {
10124 		if (yych <= 'P') {
10125 			if (yych == 'A') goto yy449;
10126 			if (yych <= 'O') goto yy430;
10127 			goto yy449;
10128 		} else {
10129 			if (yych <= 'a') {
10130 				if (yych <= '`') goto yy430;
10131 				goto yy449;
10132 			} else {
10133 				if (yych == 'p') goto yy449;
10134 				goto yy430;
10135 			}
10136 		}
10137 	}
10138 yy555:
10139 	YYDEBUG(555, *YYCURSOR);
10140 	yych = *++YYCURSOR;
10141 	if (yych <= '.') {
10142 		if (yych <= ',') goto yy56;
10143 		if (yych <= '-') goto yy594;
10144 		goto yy541;
10145 	} else {
10146 		if (yych <= '/') goto yy56;
10147 		if (yych <= '9') goto yy557;
10148 		goto yy56;
10149 	}
10150 yy556:
10151 	YYDEBUG(556, *YYCURSOR);
10152 	yych = *++YYCURSOR;
10153 	if (yych <= '.') {
10154 		if (yych <= ',') goto yy56;
10155 		if (yych <= '-') goto yy594;
10156 		goto yy541;
10157 	} else {
10158 		if (yych <= '/') goto yy56;
10159 		if (yych >= '3') goto yy56;
10160 	}
10161 yy557:
10162 	YYDEBUG(557, *YYCURSOR);
10163 	yych = *++YYCURSOR;
10164 	if (yych <= ',') goto yy56;
10165 	if (yych <= '-') goto yy594;
10166 	if (yych <= '.') goto yy541;
10167 	goto yy56;
10168 yy558:
10169 	YYDEBUG(558, *YYCURSOR);
10170 	yych = *++YYCURSOR;
10171 	if (yych <= 'U') {
10172 		if (yych == 'A') goto yy590;
10173 		if (yych <= 'T') goto yy56;
10174 		goto yy589;
10175 	} else {
10176 		if (yych <= 'a') {
10177 			if (yych <= '`') goto yy56;
10178 			goto yy590;
10179 		} else {
10180 			if (yych == 'u') goto yy589;
10181 			goto yy56;
10182 		}
10183 	}
10184 yy559:
10185 	YYDEBUG(559, *YYCURSOR);
10186 	yych = *++YYCURSOR;
10187 	if (yych == 'E') goto yy587;
10188 	if (yych == 'e') goto yy587;
10189 	goto yy56;
10190 yy560:
10191 	YYDEBUG(560, *YYCURSOR);
10192 	yych = *++YYCURSOR;
10193 	if (yych == 'A') goto yy584;
10194 	if (yych == 'a') goto yy584;
10195 	goto yy56;
10196 yy561:
10197 	YYDEBUG(561, *YYCURSOR);
10198 	yych = *++YYCURSOR;
10199 	if (yych <= 'U') {
10200 		if (yych == 'P') goto yy581;
10201 		if (yych <= 'T') goto yy56;
10202 		goto yy580;
10203 	} else {
10204 		if (yych <= 'p') {
10205 			if (yych <= 'o') goto yy56;
10206 			goto yy581;
10207 		} else {
10208 			if (yych == 'u') goto yy580;
10209 			goto yy56;
10210 		}
10211 	}
10212 yy562:
10213 	YYDEBUG(562, *YYCURSOR);
10214 	yych = *++YYCURSOR;
10215 	if (yych == 'E') goto yy577;
10216 	if (yych == 'e') goto yy577;
10217 	goto yy56;
10218 yy563:
10219 	YYDEBUG(563, *YYCURSOR);
10220 	yych = *++YYCURSOR;
10221 	if (yych == 'C') goto yy575;
10222 	if (yych == 'c') goto yy575;
10223 	goto yy56;
10224 yy564:
10225 	YYDEBUG(564, *YYCURSOR);
10226 	yych = *++YYCURSOR;
10227 	if (yych == 'O') goto yy573;
10228 	if (yych == 'o') goto yy573;
10229 	goto yy56;
10230 yy565:
10231 	YYDEBUG(565, *YYCURSOR);
10232 	yych = *++YYCURSOR;
10233 	if (yych == 'E') goto yy566;
10234 	if (yych != 'e') goto yy56;
10235 yy566:
10236 	YYDEBUG(566, *YYCURSOR);
10237 	yych = *++YYCURSOR;
10238 	if (yych == 'C') goto yy567;
10239 	if (yych != 'c') goto yy56;
10240 yy567:
10241 	YYDEBUG(567, *YYCURSOR);
10242 	yyaccept = 9;
10243 	yych = *(YYMARKER = ++YYCURSOR);
10244 	if (yych <= '.') {
10245 		if (yych <= 0x1F) {
10246 			if (yych == '\t') goto yy471;
10247 			goto yy415;
10248 		} else {
10249 			if (yych <= ' ') goto yy471;
10250 			if (yych <= ',') goto yy415;
10251 			if (yych >= '.') goto yy471;
10252 		}
10253 	} else {
10254 		if (yych <= 'D') {
10255 			if (yych <= '/') goto yy415;
10256 			if (yych <= '9') goto yy473;
10257 			goto yy415;
10258 		} else {
10259 			if (yych <= 'E') goto yy520;
10260 			if (yych == 'e') goto yy520;
10261 			goto yy415;
10262 		}
10263 	}
10264 yy568:
10265 	YYDEBUG(568, *YYCURSOR);
10266 	yych = *++YYCURSOR;
10267 	if (yych <= '/') goto yy472;
10268 	if (yych <= '0') goto yy569;
10269 	if (yych <= '2') goto yy570;
10270 	if (yych <= '3') goto yy571;
10271 	goto yy472;
10272 yy569:
10273 	YYDEBUG(569, *YYCURSOR);
10274 	yych = *++YYCURSOR;
10275 	if (yych <= '/') goto yy474;
10276 	if (yych <= '9') goto yy572;
10277 	goto yy474;
10278 yy570:
10279 	YYDEBUG(570, *YYCURSOR);
10280 	yych = *++YYCURSOR;
10281 	if (yych <= '/') goto yy474;
10282 	if (yych <= '9') goto yy572;
10283 	goto yy474;
10284 yy571:
10285 	YYDEBUG(571, *YYCURSOR);
10286 	yych = *++YYCURSOR;
10287 	if (yych <= '/') goto yy474;
10288 	if (yych <= '1') goto yy572;
10289 	if (yych <= '9') goto yy480;
10290 	goto yy474;
10291 yy572:
10292 	YYDEBUG(572, *YYCURSOR);
10293 	yych = *++YYCURSOR;
10294 	if (yych <= '/') goto yy474;
10295 	if (yych <= '9') goto yy481;
10296 	goto yy474;
10297 yy573:
10298 	YYDEBUG(573, *YYCURSOR);
10299 	yych = *++YYCURSOR;
10300 	if (yych == 'V') goto yy574;
10301 	if (yych != 'v') goto yy56;
10302 yy574:
10303 	YYDEBUG(574, *YYCURSOR);
10304 	yyaccept = 9;
10305 	yych = *(YYMARKER = ++YYCURSOR);
10306 	if (yych <= '.') {
10307 		if (yych <= 0x1F) {
10308 			if (yych == '\t') goto yy471;
10309 			goto yy415;
10310 		} else {
10311 			if (yych <= ' ') goto yy471;
10312 			if (yych <= ',') goto yy415;
10313 			if (yych <= '-') goto yy568;
10314 			goto yy471;
10315 		}
10316 	} else {
10317 		if (yych <= 'D') {
10318 			if (yych <= '/') goto yy415;
10319 			if (yych <= '9') goto yy473;
10320 			goto yy415;
10321 		} else {
10322 			if (yych <= 'E') goto yy475;
10323 			if (yych == 'e') goto yy475;
10324 			goto yy415;
10325 		}
10326 	}
10327 yy575:
10328 	YYDEBUG(575, *YYCURSOR);
10329 	yych = *++YYCURSOR;
10330 	if (yych == 'T') goto yy576;
10331 	if (yych != 't') goto yy56;
10332 yy576:
10333 	YYDEBUG(576, *YYCURSOR);
10334 	yyaccept = 9;
10335 	yych = *(YYMARKER = ++YYCURSOR);
10336 	if (yych <= '.') {
10337 		if (yych <= 0x1F) {
10338 			if (yych == '\t') goto yy471;
10339 			goto yy415;
10340 		} else {
10341 			if (yych <= ' ') goto yy471;
10342 			if (yych <= ',') goto yy415;
10343 			if (yych <= '-') goto yy568;
10344 			goto yy471;
10345 		}
10346 	} else {
10347 		if (yych <= 'N') {
10348 			if (yych <= '/') goto yy415;
10349 			if (yych <= '9') goto yy473;
10350 			goto yy415;
10351 		} else {
10352 			if (yych <= 'O') goto yy485;
10353 			if (yych == 'o') goto yy485;
10354 			goto yy415;
10355 		}
10356 	}
10357 yy577:
10358 	YYDEBUG(577, *YYCURSOR);
10359 	yych = *++YYCURSOR;
10360 	if (yych == 'P') goto yy578;
10361 	if (yych != 'p') goto yy56;
10362 yy578:
10363 	YYDEBUG(578, *YYCURSOR);
10364 	yyaccept = 9;
10365 	yych = *(YYMARKER = ++YYCURSOR);
10366 	if (yych <= '.') {
10367 		if (yych <= 0x1F) {
10368 			if (yych == '\t') goto yy471;
10369 			goto yy415;
10370 		} else {
10371 			if (yych <= ' ') goto yy471;
10372 			if (yych <= ',') goto yy415;
10373 			if (yych <= '-') goto yy568;
10374 			goto yy471;
10375 		}
10376 	} else {
10377 		if (yych <= 'S') {
10378 			if (yych <= '/') goto yy415;
10379 			if (yych <= '9') goto yy473;
10380 			goto yy415;
10381 		} else {
10382 			if (yych <= 'T') goto yy579;
10383 			if (yych != 't') goto yy415;
10384 		}
10385 	}
10386 yy579:
10387 	YYDEBUG(579, *YYCURSOR);
10388 	yyaccept = 9;
10389 	yych = *(YYMARKER = ++YYCURSOR);
10390 	if (yych <= '.') {
10391 		if (yych <= 0x1F) {
10392 			if (yych == '\t') goto yy471;
10393 			goto yy415;
10394 		} else {
10395 			if (yych <= ' ') goto yy471;
10396 			if (yych <= ',') goto yy415;
10397 			if (yych <= '-') goto yy568;
10398 			goto yy471;
10399 		}
10400 	} else {
10401 		if (yych <= 'D') {
10402 			if (yych <= '/') goto yy415;
10403 			if (yych <= '9') goto yy473;
10404 			goto yy415;
10405 		} else {
10406 			if (yych <= 'E') goto yy527;
10407 			if (yych == 'e') goto yy527;
10408 			goto yy415;
10409 		}
10410 	}
10411 yy580:
10412 	YYDEBUG(580, *YYCURSOR);
10413 	yych = *++YYCURSOR;
10414 	if (yych == 'G') goto yy583;
10415 	if (yych == 'g') goto yy583;
10416 	goto yy56;
10417 yy581:
10418 	YYDEBUG(581, *YYCURSOR);
10419 	yych = *++YYCURSOR;
10420 	if (yych == 'R') goto yy582;
10421 	if (yych != 'r') goto yy56;
10422 yy582:
10423 	YYDEBUG(582, *YYCURSOR);
10424 	yyaccept = 9;
10425 	yych = *(YYMARKER = ++YYCURSOR);
10426 	if (yych <= '.') {
10427 		if (yych <= 0x1F) {
10428 			if (yych == '\t') goto yy471;
10429 			goto yy415;
10430 		} else {
10431 			if (yych <= ' ') goto yy471;
10432 			if (yych <= ',') goto yy415;
10433 			if (yych <= '-') goto yy568;
10434 			goto yy471;
10435 		}
10436 	} else {
10437 		if (yych <= 'H') {
10438 			if (yych <= '/') goto yy415;
10439 			if (yych <= '9') goto yy473;
10440 			goto yy415;
10441 		} else {
10442 			if (yych <= 'I') goto yy491;
10443 			if (yych == 'i') goto yy491;
10444 			goto yy415;
10445 		}
10446 	}
10447 yy583:
10448 	YYDEBUG(583, *YYCURSOR);
10449 	yyaccept = 9;
10450 	yych = *(YYMARKER = ++YYCURSOR);
10451 	if (yych <= '.') {
10452 		if (yych <= 0x1F) {
10453 			if (yych == '\t') goto yy471;
10454 			goto yy415;
10455 		} else {
10456 			if (yych <= ' ') goto yy471;
10457 			if (yych <= ',') goto yy415;
10458 			if (yych <= '-') goto yy568;
10459 			goto yy471;
10460 		}
10461 	} else {
10462 		if (yych <= 'T') {
10463 			if (yych <= '/') goto yy415;
10464 			if (yych <= '9') goto yy473;
10465 			goto yy415;
10466 		} else {
10467 			if (yych <= 'U') goto yy493;
10468 			if (yych == 'u') goto yy493;
10469 			goto yy415;
10470 		}
10471 	}
10472 yy584:
10473 	YYDEBUG(584, *YYCURSOR);
10474 	yych = *++YYCURSOR;
10475 	if (yych <= 'Y') {
10476 		if (yych == 'R') goto yy585;
10477 		if (yych <= 'X') goto yy56;
10478 		goto yy586;
10479 	} else {
10480 		if (yych <= 'r') {
10481 			if (yych <= 'q') goto yy56;
10482 		} else {
10483 			if (yych == 'y') goto yy586;
10484 			goto yy56;
10485 		}
10486 	}
10487 yy585:
10488 	YYDEBUG(585, *YYCURSOR);
10489 	yyaccept = 9;
10490 	yych = *(YYMARKER = ++YYCURSOR);
10491 	if (yych <= '.') {
10492 		if (yych <= 0x1F) {
10493 			if (yych == '\t') goto yy471;
10494 			goto yy415;
10495 		} else {
10496 			if (yych <= ' ') goto yy471;
10497 			if (yych <= ',') goto yy415;
10498 			if (yych <= '-') goto yy568;
10499 			goto yy471;
10500 		}
10501 	} else {
10502 		if (yych <= 'B') {
10503 			if (yych <= '/') goto yy415;
10504 			if (yych <= '9') goto yy473;
10505 			goto yy415;
10506 		} else {
10507 			if (yych <= 'C') goto yy533;
10508 			if (yych == 'c') goto yy533;
10509 			goto yy415;
10510 		}
10511 	}
10512 yy586:
10513 	YYDEBUG(586, *YYCURSOR);
10514 	yyaccept = 9;
10515 	yych = *(YYMARKER = ++YYCURSOR);
10516 	if (yych <= ',') {
10517 		if (yych <= '\t') {
10518 			if (yych <= 0x08) goto yy415;
10519 			goto yy471;
10520 		} else {
10521 			if (yych == ' ') goto yy471;
10522 			goto yy415;
10523 		}
10524 	} else {
10525 		if (yych <= '.') {
10526 			if (yych <= '-') goto yy568;
10527 			goto yy471;
10528 		} else {
10529 			if (yych <= '/') goto yy415;
10530 			if (yych <= '9') goto yy473;
10531 			goto yy415;
10532 		}
10533 	}
10534 yy587:
10535 	YYDEBUG(587, *YYCURSOR);
10536 	yych = *++YYCURSOR;
10537 	if (yych == 'B') goto yy588;
10538 	if (yych != 'b') goto yy56;
10539 yy588:
10540 	YYDEBUG(588, *YYCURSOR);
10541 	yyaccept = 9;
10542 	yych = *(YYMARKER = ++YYCURSOR);
10543 	if (yych <= '.') {
10544 		if (yych <= 0x1F) {
10545 			if (yych == '\t') goto yy471;
10546 			goto yy415;
10547 		} else {
10548 			if (yych <= ' ') goto yy471;
10549 			if (yych <= ',') goto yy415;
10550 			if (yych <= '-') goto yy568;
10551 			goto yy471;
10552 		}
10553 	} else {
10554 		if (yych <= 'Q') {
10555 			if (yych <= '/') goto yy415;
10556 			if (yych <= '9') goto yy473;
10557 			goto yy415;
10558 		} else {
10559 			if (yych <= 'R') goto yy536;
10560 			if (yych == 'r') goto yy536;
10561 			goto yy415;
10562 		}
10563 	}
10564 yy589:
10565 	YYDEBUG(589, *YYCURSOR);
10566 	yych = *++YYCURSOR;
10567 	if (yych <= 'N') {
10568 		if (yych == 'L') goto yy593;
10569 		if (yych <= 'M') goto yy56;
10570 		goto yy592;
10571 	} else {
10572 		if (yych <= 'l') {
10573 			if (yych <= 'k') goto yy56;
10574 			goto yy593;
10575 		} else {
10576 			if (yych == 'n') goto yy592;
10577 			goto yy56;
10578 		}
10579 	}
10580 yy590:
10581 	YYDEBUG(590, *YYCURSOR);
10582 	yych = *++YYCURSOR;
10583 	if (yych == 'N') goto yy591;
10584 	if (yych != 'n') goto yy56;
10585 yy591:
10586 	YYDEBUG(591, *YYCURSOR);
10587 	yyaccept = 9;
10588 	yych = *(YYMARKER = ++YYCURSOR);
10589 	if (yych <= '.') {
10590 		if (yych <= 0x1F) {
10591 			if (yych == '\t') goto yy471;
10592 			goto yy415;
10593 		} else {
10594 			if (yych <= ' ') goto yy471;
10595 			if (yych <= ',') goto yy415;
10596 			if (yych <= '-') goto yy568;
10597 			goto yy471;
10598 		}
10599 	} else {
10600 		if (yych <= 'T') {
10601 			if (yych <= '/') goto yy415;
10602 			if (yych <= '9') goto yy473;
10603 			goto yy415;
10604 		} else {
10605 			if (yych <= 'U') goto yy498;
10606 			if (yych == 'u') goto yy498;
10607 			goto yy415;
10608 		}
10609 	}
10610 yy592:
10611 	YYDEBUG(592, *YYCURSOR);
10612 	yyaccept = 9;
10613 	yych = *(YYMARKER = ++YYCURSOR);
10614 	if (yych <= '.') {
10615 		if (yych <= 0x1F) {
10616 			if (yych == '\t') goto yy471;
10617 			goto yy415;
10618 		} else {
10619 			if (yych <= ' ') goto yy471;
10620 			if (yych <= ',') goto yy415;
10621 			if (yych <= '-') goto yy568;
10622 			goto yy471;
10623 		}
10624 	} else {
10625 		if (yych <= 'D') {
10626 			if (yych <= '/') goto yy415;
10627 			if (yych <= '9') goto yy473;
10628 			goto yy415;
10629 		} else {
10630 			if (yych <= 'E') goto yy479;
10631 			if (yych == 'e') goto yy479;
10632 			goto yy415;
10633 		}
10634 	}
10635 yy593:
10636 	YYDEBUG(593, *YYCURSOR);
10637 	yyaccept = 9;
10638 	yych = *(YYMARKER = ++YYCURSOR);
10639 	if (yych <= '.') {
10640 		if (yych <= 0x1F) {
10641 			if (yych == '\t') goto yy471;
10642 			goto yy415;
10643 		} else {
10644 			if (yych <= ' ') goto yy471;
10645 			if (yych <= ',') goto yy415;
10646 			if (yych <= '-') goto yy568;
10647 			goto yy471;
10648 		}
10649 	} else {
10650 		if (yych <= 'X') {
10651 			if (yych <= '/') goto yy415;
10652 			if (yych <= '9') goto yy473;
10653 			goto yy415;
10654 		} else {
10655 			if (yych <= 'Y') goto yy479;
10656 			if (yych == 'y') goto yy479;
10657 			goto yy415;
10658 		}
10659 	}
10660 yy594:
10661 	YYDEBUG(594, *YYCURSOR);
10662 	yych = *++YYCURSOR;
10663 	if (yych <= '/') goto yy56;
10664 	if (yych <= '2') goto yy595;
10665 	if (yych <= '3') goto yy597;
10666 	if (yych <= '9') goto yy598;
10667 	goto yy56;
10668 yy595:
10669 	YYDEBUG(595, *YYCURSOR);
10670 	yyaccept = 12;
10671 	yych = *(YYMARKER = ++YYCURSOR);
10672 	if (yych <= 'n') {
10673 		if (yych <= '/') goto yy596;
10674 		if (yych <= '9') goto yy604;
10675 		if (yych >= 'n') goto yy600;
10676 	} else {
10677 		if (yych <= 'r') {
10678 			if (yych >= 'r') goto yy601;
10679 		} else {
10680 			if (yych <= 's') goto yy599;
10681 			if (yych <= 't') goto yy602;
10682 		}
10683 	}
10684 yy596:
10685 	YYDEBUG(596, *YYCURSOR);
10686 #line 1283 "ext/date/lib/parse_date.re"
10687 	{
10688 		int length = 0;
10689 		DEBUG_OUTPUT("gnudateshort");
10690 		TIMELIB_INIT;
10691 		TIMELIB_HAVE_DATE();
10692 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
10693 		s->time->m = timelib_get_nr((char **) &ptr, 2);
10694 		s->time->d = timelib_get_nr((char **) &ptr, 2);
10695 		TIMELIB_PROCESS_YEAR(s->time->y, length);
10696 		TIMELIB_DEINIT;
10697 		return TIMELIB_ISO_DATE;
10698 	}
10699 #line 10700 "<stdout>"
10700 yy597:
10701 	YYDEBUG(597, *YYCURSOR);
10702 	yyaccept = 12;
10703 	yych = *(YYMARKER = ++YYCURSOR);
10704 	if (yych <= 'n') {
10705 		if (yych <= '1') {
10706 			if (yych <= '/') goto yy596;
10707 			goto yy604;
10708 		} else {
10709 			if (yych <= '9') goto yy543;
10710 			if (yych <= 'm') goto yy596;
10711 			goto yy600;
10712 		}
10713 	} else {
10714 		if (yych <= 'r') {
10715 			if (yych <= 'q') goto yy596;
10716 			goto yy601;
10717 		} else {
10718 			if (yych <= 's') goto yy599;
10719 			if (yych <= 't') goto yy602;
10720 			goto yy596;
10721 		}
10722 	}
10723 yy598:
10724 	YYDEBUG(598, *YYCURSOR);
10725 	yyaccept = 12;
10726 	yych = *(YYMARKER = ++YYCURSOR);
10727 	if (yych <= 'n') {
10728 		if (yych <= '/') goto yy596;
10729 		if (yych <= '9') goto yy543;
10730 		if (yych <= 'm') goto yy596;
10731 		goto yy600;
10732 	} else {
10733 		if (yych <= 'r') {
10734 			if (yych <= 'q') goto yy596;
10735 			goto yy601;
10736 		} else {
10737 			if (yych <= 's') goto yy599;
10738 			if (yych <= 't') goto yy602;
10739 			goto yy596;
10740 		}
10741 	}
10742 yy599:
10743 	YYDEBUG(599, *YYCURSOR);
10744 	yych = *++YYCURSOR;
10745 	if (yych == 't') goto yy603;
10746 	goto yy56;
10747 yy600:
10748 	YYDEBUG(600, *YYCURSOR);
10749 	yych = *++YYCURSOR;
10750 	if (yych == 'd') goto yy603;
10751 	goto yy56;
10752 yy601:
10753 	YYDEBUG(601, *YYCURSOR);
10754 	yych = *++YYCURSOR;
10755 	if (yych == 'd') goto yy603;
10756 	goto yy56;
10757 yy602:
10758 	YYDEBUG(602, *YYCURSOR);
10759 	yych = *++YYCURSOR;
10760 	if (yych != 'h') goto yy56;
10761 yy603:
10762 	YYDEBUG(603, *YYCURSOR);
10763 	yych = *++YYCURSOR;
10764 	goto yy596;
10765 yy604:
10766 	YYDEBUG(604, *YYCURSOR);
10767 	yyaccept = 12;
10768 	yych = *(YYMARKER = ++YYCURSOR);
10769 	if (yych <= 'n') {
10770 		if (yych <= '/') goto yy596;
10771 		if (yych <= '9') goto yy544;
10772 		if (yych <= 'm') goto yy596;
10773 		goto yy600;
10774 	} else {
10775 		if (yych <= 'r') {
10776 			if (yych <= 'q') goto yy596;
10777 			goto yy601;
10778 		} else {
10779 			if (yych <= 's') goto yy599;
10780 			if (yych <= 't') goto yy602;
10781 			goto yy596;
10782 		}
10783 	}
10784 yy605:
10785 	YYDEBUG(605, *YYCURSOR);
10786 	yyaccept = 13;
10787 	yych = *(YYMARKER = ++YYCURSOR);
10788 	if (yych <= 'n') {
10789 		if (yych <= '/') {
10790 			if (yych >= '/') goto yy662;
10791 		} else {
10792 			if (yych <= '9') goto yy608;
10793 			if (yych >= 'n') goto yy659;
10794 		}
10795 	} else {
10796 		if (yych <= 'r') {
10797 			if (yych >= 'r') goto yy660;
10798 		} else {
10799 			if (yych <= 's') goto yy658;
10800 			if (yych <= 't') goto yy661;
10801 		}
10802 	}
10803 yy606:
10804 	YYDEBUG(606, *YYCURSOR);
10805 #line 1227 "ext/date/lib/parse_date.re"
10806 	{
10807 		int length = 0;
10808 		DEBUG_OUTPUT("americanshort | american");
10809 		TIMELIB_INIT;
10810 		TIMELIB_HAVE_DATE();
10811 		s->time->m = timelib_get_nr((char **) &ptr, 2);
10812 		s->time->d = timelib_get_nr((char **) &ptr, 2);
10813 		if (*ptr == '/') {
10814 			s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
10815 			TIMELIB_PROCESS_YEAR(s->time->y, length);
10816 		}
10817 		TIMELIB_DEINIT;
10818 		return TIMELIB_AMERICAN;
10819 	}
10820 #line 10821 "<stdout>"
10821 yy607:
10822 	YYDEBUG(607, *YYCURSOR);
10823 	yyaccept = 13;
10824 	yych = *(YYMARKER = ++YYCURSOR);
10825 	if (yych <= 'n') {
10826 		if (yych <= '/') {
10827 			if (yych <= '.') goto yy606;
10828 			goto yy662;
10829 		} else {
10830 			if (yych <= '1') goto yy608;
10831 			if (yych <= 'm') goto yy606;
10832 			goto yy659;
10833 		}
10834 	} else {
10835 		if (yych <= 'r') {
10836 			if (yych <= 'q') goto yy606;
10837 			goto yy660;
10838 		} else {
10839 			if (yych <= 's') goto yy658;
10840 			if (yych <= 't') goto yy661;
10841 			goto yy606;
10842 		}
10843 	}
10844 yy608:
10845 	YYDEBUG(608, *YYCURSOR);
10846 	yyaccept = 13;
10847 	yych = *(YYMARKER = ++YYCURSOR);
10848 	if (yych <= 'n') {
10849 		if (yych == '/') goto yy662;
10850 		if (yych <= 'm') goto yy606;
10851 		goto yy659;
10852 	} else {
10853 		if (yych <= 'r') {
10854 			if (yych <= 'q') goto yy606;
10855 			goto yy660;
10856 		} else {
10857 			if (yych <= 's') goto yy658;
10858 			if (yych <= 't') goto yy661;
10859 			goto yy606;
10860 		}
10861 	}
10862 yy609:
10863 	YYDEBUG(609, *YYCURSOR);
10864 	yych = *++YYCURSOR;
10865 	if (yych <= 'U') {
10866 		if (yych == 'A') goto yy657;
10867 		if (yych <= 'T') goto yy56;
10868 		goto yy656;
10869 	} else {
10870 		if (yych <= 'a') {
10871 			if (yych <= '`') goto yy56;
10872 			goto yy657;
10873 		} else {
10874 			if (yych == 'u') goto yy656;
10875 			goto yy56;
10876 		}
10877 	}
10878 yy610:
10879 	YYDEBUG(610, *YYCURSOR);
10880 	yych = *++YYCURSOR;
10881 	if (yych == 'E') goto yy655;
10882 	if (yych == 'e') goto yy655;
10883 	goto yy56;
10884 yy611:
10885 	YYDEBUG(611, *YYCURSOR);
10886 	yych = *++YYCURSOR;
10887 	if (yych == 'A') goto yy654;
10888 	if (yych == 'a') goto yy654;
10889 	goto yy56;
10890 yy612:
10891 	YYDEBUG(612, *YYCURSOR);
10892 	yych = *++YYCURSOR;
10893 	if (yych <= 'U') {
10894 		if (yych == 'P') goto yy653;
10895 		if (yych <= 'T') goto yy56;
10896 		goto yy652;
10897 	} else {
10898 		if (yych <= 'p') {
10899 			if (yych <= 'o') goto yy56;
10900 			goto yy653;
10901 		} else {
10902 			if (yych == 'u') goto yy652;
10903 			goto yy56;
10904 		}
10905 	}
10906 yy613:
10907 	YYDEBUG(613, *YYCURSOR);
10908 	yych = *++YYCURSOR;
10909 	if (yych == 'E') goto yy650;
10910 	if (yych == 'e') goto yy650;
10911 	goto yy56;
10912 yy614:
10913 	YYDEBUG(614, *YYCURSOR);
10914 	yych = *++YYCURSOR;
10915 	if (yych == 'C') goto yy649;
10916 	if (yych == 'c') goto yy649;
10917 	goto yy56;
10918 yy615:
10919 	YYDEBUG(615, *YYCURSOR);
10920 	yych = *++YYCURSOR;
10921 	if (yych == 'O') goto yy648;
10922 	if (yych == 'o') goto yy648;
10923 	goto yy56;
10924 yy616:
10925 	YYDEBUG(616, *YYCURSOR);
10926 	yych = *++YYCURSOR;
10927 	if (yych == 'E') goto yy617;
10928 	if (yych != 'e') goto yy56;
10929 yy617:
10930 	YYDEBUG(617, *YYCURSOR);
10931 	yych = *++YYCURSOR;
10932 	if (yych == 'C') goto yy618;
10933 	if (yych != 'c') goto yy56;
10934 yy618:
10935 	YYDEBUG(618, *YYCURSOR);
10936 	yych = *++YYCURSOR;
10937 	if (yych != '/') goto yy56;
10938 yy619:
10939 	YYDEBUG(619, *YYCURSOR);
10940 	yych = *++YYCURSOR;
10941 	if (yych <= '/') goto yy56;
10942 	if (yych >= ':') goto yy56;
10943 	YYDEBUG(620, *YYCURSOR);
10944 	yych = *++YYCURSOR;
10945 	if (yych <= '/') goto yy56;
10946 	if (yych >= ':') goto yy56;
10947 	YYDEBUG(621, *YYCURSOR);
10948 	yych = *++YYCURSOR;
10949 	if (yych <= '/') goto yy56;
10950 	if (yych >= ':') goto yy56;
10951 	YYDEBUG(622, *YYCURSOR);
10952 	yych = *++YYCURSOR;
10953 	if (yych <= '/') goto yy56;
10954 	if (yych >= ':') goto yy56;
10955 	YYDEBUG(623, *YYCURSOR);
10956 	yych = *++YYCURSOR;
10957 	if (yych != ':') goto yy56;
10958 	YYDEBUG(624, *YYCURSOR);
10959 	yych = *++YYCURSOR;
10960 	if (yych <= '/') goto yy56;
10961 	if (yych <= '1') goto yy625;
10962 	if (yych <= '2') goto yy626;
10963 	goto yy56;
10964 yy625:
10965 	YYDEBUG(625, *YYCURSOR);
10966 	yych = *++YYCURSOR;
10967 	if (yych <= '/') goto yy56;
10968 	if (yych <= '9') goto yy627;
10969 	goto yy56;
10970 yy626:
10971 	YYDEBUG(626, *YYCURSOR);
10972 	yych = *++YYCURSOR;
10973 	if (yych <= '/') goto yy56;
10974 	if (yych >= '5') goto yy56;
10975 yy627:
10976 	YYDEBUG(627, *YYCURSOR);
10977 	yych = *++YYCURSOR;
10978 	if (yych != ':') goto yy56;
10979 	YYDEBUG(628, *YYCURSOR);
10980 	yych = *++YYCURSOR;
10981 	if (yych <= '/') goto yy56;
10982 	if (yych >= '6') goto yy56;
10983 	YYDEBUG(629, *YYCURSOR);
10984 	yych = *++YYCURSOR;
10985 	if (yych <= '/') goto yy56;
10986 	if (yych >= ':') goto yy56;
10987 	YYDEBUG(630, *YYCURSOR);
10988 	yych = *++YYCURSOR;
10989 	if (yych != ':') goto yy56;
10990 	YYDEBUG(631, *YYCURSOR);
10991 	yych = *++YYCURSOR;
10992 	if (yych <= '/') goto yy56;
10993 	if (yych <= '5') goto yy632;
10994 	if (yych <= '6') goto yy633;
10995 	goto yy56;
10996 yy632:
10997 	YYDEBUG(632, *YYCURSOR);
10998 	yych = *++YYCURSOR;
10999 	if (yych <= '/') goto yy56;
11000 	if (yych <= '9') goto yy634;
11001 	goto yy56;
11002 yy633:
11003 	YYDEBUG(633, *YYCURSOR);
11004 	yych = *++YYCURSOR;
11005 	if (yych != '0') goto yy56;
11006 yy634:
11007 	YYDEBUG(634, *YYCURSOR);
11008 	yych = *++YYCURSOR;
11009 	if (yych == '\t') goto yy635;
11010 	if (yych != ' ') goto yy56;
11011 yy635:
11012 	YYDEBUG(635, *YYCURSOR);
11013 	++YYCURSOR;
11014 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
11015 	yych = *YYCURSOR;
11016 	YYDEBUG(636, *YYCURSOR);
11017 	if (yych <= '*') {
11018 		if (yych <= '\t') {
11019 			if (yych <= 0x08) goto yy56;
11020 			goto yy635;
11021 		} else {
11022 			if (yych == ' ') goto yy635;
11023 			goto yy56;
11024 		}
11025 	} else {
11026 		if (yych <= '-') {
11027 			if (yych == ',') goto yy56;
11028 			goto yy638;
11029 		} else {
11030 			if (yych != 'G') goto yy56;
11031 		}
11032 	}
11033 	YYDEBUG(637, *YYCURSOR);
11034 	yych = *++YYCURSOR;
11035 	if (yych == 'M') goto yy646;
11036 	goto yy56;
11037 yy638:
11038 	YYDEBUG(638, *YYCURSOR);
11039 	yych = *++YYCURSOR;
11040 	if (yych <= '/') goto yy56;
11041 	if (yych <= '1') goto yy639;
11042 	if (yych <= '2') goto yy641;
11043 	if (yych <= '9') goto yy642;
11044 	goto yy56;
11045 yy639:
11046 	YYDEBUG(639, *YYCURSOR);
11047 	++YYCURSOR;
11048 	if ((yych = *YYCURSOR) <= '/') goto yy640;
11049 	if (yych <= '9') goto yy642;
11050 	if (yych <= ':') goto yy643;
11051 yy640:
11052 	YYDEBUG(640, *YYCURSOR);
11053 #line 1510 "ext/date/lib/parse_date.re"
11054 	{
11055 		int tz_not_found;
11056 		DEBUG_OUTPUT("clf");
11057 		TIMELIB_INIT;
11058 		TIMELIB_HAVE_TIME();
11059 		TIMELIB_HAVE_DATE();
11060 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11061 		s->time->m = timelib_get_month((char **) &ptr);
11062 		s->time->y = timelib_get_nr((char **) &ptr, 4);
11063 		s->time->h = timelib_get_nr((char **) &ptr, 2);
11064 		s->time->i = timelib_get_nr((char **) &ptr, 2);
11065 		s->time->s = timelib_get_nr((char **) &ptr, 2);
11066 		s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
11067 		if (tz_not_found) {
11068 			add_error(s, "The timezone could not be found in the database");
11069 		}
11070 		TIMELIB_DEINIT;
11071 		return TIMELIB_CLF;
11072 	}
11073 #line 11074 "<stdout>"
11074 yy641:
11075 	YYDEBUG(641, *YYCURSOR);
11076 	yych = *++YYCURSOR;
11077 	if (yych <= '5') {
11078 		if (yych <= '/') goto yy640;
11079 		if (yych >= '5') goto yy644;
11080 	} else {
11081 		if (yych <= '9') goto yy645;
11082 		if (yych <= ':') goto yy643;
11083 		goto yy640;
11084 	}
11085 yy642:
11086 	YYDEBUG(642, *YYCURSOR);
11087 	yych = *++YYCURSOR;
11088 	if (yych <= '/') goto yy640;
11089 	if (yych <= '5') goto yy644;
11090 	if (yych <= '9') goto yy645;
11091 	if (yych >= ';') goto yy640;
11092 yy643:
11093 	YYDEBUG(643, *YYCURSOR);
11094 	yych = *++YYCURSOR;
11095 	if (yych <= '/') goto yy640;
11096 	if (yych <= '5') goto yy644;
11097 	if (yych <= '9') goto yy645;
11098 	goto yy640;
11099 yy644:
11100 	YYDEBUG(644, *YYCURSOR);
11101 	yych = *++YYCURSOR;
11102 	if (yych <= '/') goto yy640;
11103 	if (yych >= ':') goto yy640;
11104 yy645:
11105 	YYDEBUG(645, *YYCURSOR);
11106 	yych = *++YYCURSOR;
11107 	goto yy640;
11108 yy646:
11109 	YYDEBUG(646, *YYCURSOR);
11110 	yych = *++YYCURSOR;
11111 	if (yych != 'T') goto yy56;
11112 	YYDEBUG(647, *YYCURSOR);
11113 	yych = *++YYCURSOR;
11114 	if (yych == '+') goto yy638;
11115 	if (yych == '-') goto yy638;
11116 	goto yy56;
11117 yy648:
11118 	YYDEBUG(648, *YYCURSOR);
11119 	yych = *++YYCURSOR;
11120 	if (yych == 'V') goto yy618;
11121 	if (yych == 'v') goto yy618;
11122 	goto yy56;
11123 yy649:
11124 	YYDEBUG(649, *YYCURSOR);
11125 	yych = *++YYCURSOR;
11126 	if (yych == 'T') goto yy618;
11127 	if (yych == 't') goto yy618;
11128 	goto yy56;
11129 yy650:
11130 	YYDEBUG(650, *YYCURSOR);
11131 	yych = *++YYCURSOR;
11132 	if (yych == 'P') goto yy651;
11133 	if (yych != 'p') goto yy56;
11134 yy651:
11135 	YYDEBUG(651, *YYCURSOR);
11136 	yych = *++YYCURSOR;
11137 	if (yych <= 'S') {
11138 		if (yych == '/') goto yy619;
11139 		goto yy56;
11140 	} else {
11141 		if (yych <= 'T') goto yy618;
11142 		if (yych == 't') goto yy618;
11143 		goto yy56;
11144 	}
11145 yy652:
11146 	YYDEBUG(652, *YYCURSOR);
11147 	yych = *++YYCURSOR;
11148 	if (yych == 'G') goto yy618;
11149 	if (yych == 'g') goto yy618;
11150 	goto yy56;
11151 yy653:
11152 	YYDEBUG(653, *YYCURSOR);
11153 	yych = *++YYCURSOR;
11154 	if (yych == 'R') goto yy618;
11155 	if (yych == 'r') goto yy618;
11156 	goto yy56;
11157 yy654:
11158 	YYDEBUG(654, *YYCURSOR);
11159 	yych = *++YYCURSOR;
11160 	if (yych <= 'Y') {
11161 		if (yych == 'R') goto yy618;
11162 		if (yych <= 'X') goto yy56;
11163 		goto yy618;
11164 	} else {
11165 		if (yych <= 'r') {
11166 			if (yych <= 'q') goto yy56;
11167 			goto yy618;
11168 		} else {
11169 			if (yych == 'y') goto yy618;
11170 			goto yy56;
11171 		}
11172 	}
11173 yy655:
11174 	YYDEBUG(655, *YYCURSOR);
11175 	yych = *++YYCURSOR;
11176 	if (yych == 'B') goto yy618;
11177 	if (yych == 'b') goto yy618;
11178 	goto yy56;
11179 yy656:
11180 	YYDEBUG(656, *YYCURSOR);
11181 	yych = *++YYCURSOR;
11182 	if (yych <= 'N') {
11183 		if (yych == 'L') goto yy618;
11184 		if (yych <= 'M') goto yy56;
11185 		goto yy618;
11186 	} else {
11187 		if (yych <= 'l') {
11188 			if (yych <= 'k') goto yy56;
11189 			goto yy618;
11190 		} else {
11191 			if (yych == 'n') goto yy618;
11192 			goto yy56;
11193 		}
11194 	}
11195 yy657:
11196 	YYDEBUG(657, *YYCURSOR);
11197 	yych = *++YYCURSOR;
11198 	if (yych == 'N') goto yy618;
11199 	if (yych == 'n') goto yy618;
11200 	goto yy56;
11201 yy658:
11202 	YYDEBUG(658, *YYCURSOR);
11203 	yych = *++YYCURSOR;
11204 	if (yych == 't') goto yy667;
11205 	goto yy56;
11206 yy659:
11207 	YYDEBUG(659, *YYCURSOR);
11208 	yych = *++YYCURSOR;
11209 	if (yych == 'd') goto yy667;
11210 	goto yy56;
11211 yy660:
11212 	YYDEBUG(660, *YYCURSOR);
11213 	yych = *++YYCURSOR;
11214 	if (yych == 'd') goto yy667;
11215 	goto yy56;
11216 yy661:
11217 	YYDEBUG(661, *YYCURSOR);
11218 	yych = *++YYCURSOR;
11219 	if (yych == 'h') goto yy667;
11220 	goto yy56;
11221 yy662:
11222 	YYDEBUG(662, *YYCURSOR);
11223 	yych = *++YYCURSOR;
11224 	if (yych <= '/') goto yy56;
11225 	if (yych >= ':') goto yy56;
11226 	YYDEBUG(663, *YYCURSOR);
11227 	yych = *++YYCURSOR;
11228 	if (yych <= '/') goto yy606;
11229 	if (yych >= ':') goto yy606;
11230 	YYDEBUG(664, *YYCURSOR);
11231 	yych = *++YYCURSOR;
11232 	if (yych <= '/') goto yy606;
11233 	if (yych >= ':') goto yy606;
11234 	YYDEBUG(665, *YYCURSOR);
11235 	yych = *++YYCURSOR;
11236 	if (yych <= '/') goto yy606;
11237 	if (yych >= ':') goto yy606;
11238 	YYDEBUG(666, *YYCURSOR);
11239 	yych = *++YYCURSOR;
11240 	goto yy606;
11241 yy667:
11242 	YYDEBUG(667, *YYCURSOR);
11243 	yyaccept = 13;
11244 	yych = *(YYMARKER = ++YYCURSOR);
11245 	if (yych == '/') goto yy662;
11246 	goto yy606;
11247 yy668:
11248 	YYDEBUG(668, *YYCURSOR);
11249 	yych = *++YYCURSOR;
11250 	if (yych <= ',') {
11251 		if (yych == '\t') goto yy670;
11252 		goto yy517;
11253 	} else {
11254 		if (yych <= '-') goto yy671;
11255 		if (yych <= '.') goto yy670;
11256 		if (yych >= '0') goto yy517;
11257 	}
11258 yy669:
11259 	YYDEBUG(669, *YYCURSOR);
11260 	yych = *++YYCURSOR;
11261 	switch (yych) {
11262 	case 'A':
11263 	case 'a':	goto yy612;
11264 	case 'D':
11265 	case 'd':	goto yy616;
11266 	case 'F':
11267 	case 'f':	goto yy610;
11268 	case 'J':
11269 	case 'j':	goto yy609;
11270 	case 'M':
11271 	case 'm':	goto yy611;
11272 	case 'N':
11273 	case 'n':	goto yy615;
11274 	case 'O':
11275 	case 'o':	goto yy614;
11276 	case 'S':
11277 	case 's':	goto yy613;
11278 	default:	goto yy56;
11279 	}
11280 yy670:
11281 	YYDEBUG(670, *YYCURSOR);
11282 	yych = *++YYCURSOR;
11283 	if (yych <= '/') goto yy517;
11284 	if (yych <= '0') goto yy675;
11285 	if (yych <= '1') goto yy676;
11286 	if (yych <= '9') goto yy677;
11287 	goto yy517;
11288 yy671:
11289 	YYDEBUG(671, *YYCURSOR);
11290 	yych = *++YYCURSOR;
11291 	if (yych <= '/') goto yy517;
11292 	if (yych <= '0') goto yy672;
11293 	if (yych <= '1') goto yy673;
11294 	if (yych <= '9') goto yy674;
11295 	goto yy517;
11296 yy672:
11297 	YYDEBUG(672, *YYCURSOR);
11298 	yych = *++YYCURSOR;
11299 	if (yych <= ',') goto yy56;
11300 	if (yych <= '.') goto yy541;
11301 	if (yych <= '/') goto yy56;
11302 	if (yych <= '9') goto yy674;
11303 	goto yy56;
11304 yy673:
11305 	YYDEBUG(673, *YYCURSOR);
11306 	yych = *++YYCURSOR;
11307 	if (yych <= ',') goto yy56;
11308 	if (yych <= '.') goto yy541;
11309 	if (yych <= '/') goto yy56;
11310 	if (yych >= '3') goto yy56;
11311 yy674:
11312 	YYDEBUG(674, *YYCURSOR);
11313 	yych = *++YYCURSOR;
11314 	if (yych <= ',') goto yy56;
11315 	if (yych <= '.') goto yy541;
11316 	goto yy56;
11317 yy675:
11318 	YYDEBUG(675, *YYCURSOR);
11319 	yych = *++YYCURSOR;
11320 	if (yych <= '.') {
11321 		if (yych <= ',') goto yy56;
11322 		if (yych <= '-') goto yy541;
11323 		goto yy678;
11324 	} else {
11325 		if (yych <= '/') goto yy56;
11326 		if (yych <= '9') goto yy677;
11327 		goto yy56;
11328 	}
11329 yy676:
11330 	YYDEBUG(676, *YYCURSOR);
11331 	yych = *++YYCURSOR;
11332 	if (yych <= '.') {
11333 		if (yych <= ',') goto yy56;
11334 		if (yych <= '-') goto yy541;
11335 		goto yy678;
11336 	} else {
11337 		if (yych <= '/') goto yy56;
11338 		if (yych >= '3') goto yy56;
11339 	}
11340 yy677:
11341 	YYDEBUG(677, *YYCURSOR);
11342 	yych = *++YYCURSOR;
11343 	if (yych <= ',') goto yy56;
11344 	if (yych <= '-') goto yy541;
11345 	if (yych >= '/') goto yy56;
11346 yy678:
11347 	YYDEBUG(678, *YYCURSOR);
11348 	yych = *++YYCURSOR;
11349 	if (yych <= '/') goto yy56;
11350 	if (yych >= ':') goto yy56;
11351 	YYDEBUG(679, *YYCURSOR);
11352 	yych = *++YYCURSOR;
11353 	if (yych <= '/') goto yy56;
11354 	if (yych <= '9') goto yy550;
11355 	goto yy56;
11356 yy680:
11357 	YYDEBUG(680, *YYCURSOR);
11358 	yych = *++YYCURSOR;
11359 	if (yych == '-') goto yy724;
11360 	if (yych <= '/') goto yy60;
11361 	if (yych <= '9') goto yy722;
11362 	goto yy60;
11363 yy681:
11364 	YYDEBUG(681, *YYCURSOR);
11365 	yych = *++YYCURSOR;
11366 	switch (yych) {
11367 	case '0':	goto yy690;
11368 	case '1':	goto yy691;
11369 	case '2':
11370 	case '3':
11371 	case '4':
11372 	case '5':
11373 	case '6':
11374 	case '7':
11375 	case '8':
11376 	case '9':	goto yy692;
11377 	case 'A':
11378 	case 'a':	goto yy685;
11379 	case 'D':
11380 	case 'd':	goto yy689;
11381 	case 'F':
11382 	case 'f':	goto yy683;
11383 	case 'J':
11384 	case 'j':	goto yy682;
11385 	case 'M':
11386 	case 'm':	goto yy684;
11387 	case 'N':
11388 	case 'n':	goto yy688;
11389 	case 'O':
11390 	case 'o':	goto yy687;
11391 	case 'S':
11392 	case 's':	goto yy686;
11393 	default:	goto yy56;
11394 	}
11395 yy682:
11396 	YYDEBUG(682, *YYCURSOR);
11397 	yych = *++YYCURSOR;
11398 	if (yych <= 'U') {
11399 		if (yych == 'A') goto yy721;
11400 		if (yych <= 'T') goto yy56;
11401 		goto yy720;
11402 	} else {
11403 		if (yych <= 'a') {
11404 			if (yych <= '`') goto yy56;
11405 			goto yy721;
11406 		} else {
11407 			if (yych == 'u') goto yy720;
11408 			goto yy56;
11409 		}
11410 	}
11411 yy683:
11412 	YYDEBUG(683, *YYCURSOR);
11413 	yych = *++YYCURSOR;
11414 	if (yych == 'E') goto yy719;
11415 	if (yych == 'e') goto yy719;
11416 	goto yy56;
11417 yy684:
11418 	YYDEBUG(684, *YYCURSOR);
11419 	yych = *++YYCURSOR;
11420 	if (yych == 'A') goto yy718;
11421 	if (yych == 'a') goto yy718;
11422 	goto yy56;
11423 yy685:
11424 	YYDEBUG(685, *YYCURSOR);
11425 	yych = *++YYCURSOR;
11426 	if (yych <= 'U') {
11427 		if (yych == 'P') goto yy717;
11428 		if (yych <= 'T') goto yy56;
11429 		goto yy716;
11430 	} else {
11431 		if (yych <= 'p') {
11432 			if (yych <= 'o') goto yy56;
11433 			goto yy717;
11434 		} else {
11435 			if (yych == 'u') goto yy716;
11436 			goto yy56;
11437 		}
11438 	}
11439 yy686:
11440 	YYDEBUG(686, *YYCURSOR);
11441 	yych = *++YYCURSOR;
11442 	if (yych == 'E') goto yy714;
11443 	if (yych == 'e') goto yy714;
11444 	goto yy56;
11445 yy687:
11446 	YYDEBUG(687, *YYCURSOR);
11447 	yych = *++YYCURSOR;
11448 	if (yych == 'C') goto yy713;
11449 	if (yych == 'c') goto yy713;
11450 	goto yy56;
11451 yy688:
11452 	YYDEBUG(688, *YYCURSOR);
11453 	yych = *++YYCURSOR;
11454 	if (yych == 'O') goto yy712;
11455 	if (yych == 'o') goto yy712;
11456 	goto yy56;
11457 yy689:
11458 	YYDEBUG(689, *YYCURSOR);
11459 	yych = *++YYCURSOR;
11460 	if (yych == 'E') goto yy704;
11461 	if (yych == 'e') goto yy704;
11462 	goto yy56;
11463 yy690:
11464 	YYDEBUG(690, *YYCURSOR);
11465 	yych = *++YYCURSOR;
11466 	if (yych == '-') goto yy693;
11467 	if (yych <= '/') goto yy56;
11468 	if (yych <= '9') goto yy697;
11469 	goto yy56;
11470 yy691:
11471 	YYDEBUG(691, *YYCURSOR);
11472 	yych = *++YYCURSOR;
11473 	if (yych == '-') goto yy693;
11474 	if (yych <= '/') goto yy56;
11475 	if (yych <= '2') goto yy697;
11476 	goto yy56;
11477 yy692:
11478 	YYDEBUG(692, *YYCURSOR);
11479 	yych = *++YYCURSOR;
11480 	if (yych != '-') goto yy56;
11481 yy693:
11482 	YYDEBUG(693, *YYCURSOR);
11483 	yych = *++YYCURSOR;
11484 	if (yych <= '/') goto yy56;
11485 	if (yych <= '2') goto yy694;
11486 	if (yych <= '3') goto yy695;
11487 	if (yych <= '9') goto yy696;
11488 	goto yy56;
11489 yy694:
11490 	YYDEBUG(694, *YYCURSOR);
11491 	yyaccept = 12;
11492 	yych = *(YYMARKER = ++YYCURSOR);
11493 	if (yych <= 'n') {
11494 		if (yych <= '/') goto yy596;
11495 		if (yych <= '9') goto yy696;
11496 		if (yych <= 'm') goto yy596;
11497 		goto yy600;
11498 	} else {
11499 		if (yych <= 'r') {
11500 			if (yych <= 'q') goto yy596;
11501 			goto yy601;
11502 		} else {
11503 			if (yych <= 's') goto yy599;
11504 			if (yych <= 't') goto yy602;
11505 			goto yy596;
11506 		}
11507 	}
11508 yy695:
11509 	YYDEBUG(695, *YYCURSOR);
11510 	yyaccept = 12;
11511 	yych = *(YYMARKER = ++YYCURSOR);
11512 	if (yych <= 'n') {
11513 		if (yych <= '/') goto yy596;
11514 		if (yych <= '1') goto yy696;
11515 		if (yych <= 'm') goto yy596;
11516 		goto yy600;
11517 	} else {
11518 		if (yych <= 'r') {
11519 			if (yych <= 'q') goto yy596;
11520 			goto yy601;
11521 		} else {
11522 			if (yych <= 's') goto yy599;
11523 			if (yych <= 't') goto yy602;
11524 			goto yy596;
11525 		}
11526 	}
11527 yy696:
11528 	YYDEBUG(696, *YYCURSOR);
11529 	yyaccept = 12;
11530 	yych = *(YYMARKER = ++YYCURSOR);
11531 	if (yych <= 'q') {
11532 		if (yych == 'n') goto yy600;
11533 		goto yy596;
11534 	} else {
11535 		if (yych <= 'r') goto yy601;
11536 		if (yych <= 's') goto yy599;
11537 		if (yych <= 't') goto yy602;
11538 		goto yy596;
11539 	}
11540 yy697:
11541 	YYDEBUG(697, *YYCURSOR);
11542 	yych = *++YYCURSOR;
11543 	if (yych != '-') goto yy56;
11544 	YYDEBUG(698, *YYCURSOR);
11545 	yych = *++YYCURSOR;
11546 	if (yych <= '2') {
11547 		if (yych <= '/') goto yy56;
11548 		if (yych >= '1') goto yy700;
11549 	} else {
11550 		if (yych <= '3') goto yy701;
11551 		if (yych <= '9') goto yy696;
11552 		goto yy56;
11553 	}
11554 	YYDEBUG(699, *YYCURSOR);
11555 	yyaccept = 12;
11556 	yych = *(YYMARKER = ++YYCURSOR);
11557 	if (yych <= 'n') {
11558 		if (yych <= '/') goto yy596;
11559 		if (yych <= '9') goto yy702;
11560 		if (yych <= 'm') goto yy596;
11561 		goto yy600;
11562 	} else {
11563 		if (yych <= 'r') {
11564 			if (yych <= 'q') goto yy596;
11565 			goto yy601;
11566 		} else {
11567 			if (yych <= 's') goto yy599;
11568 			if (yych <= 't') goto yy602;
11569 			goto yy596;
11570 		}
11571 	}
11572 yy700:
11573 	YYDEBUG(700, *YYCURSOR);
11574 	yyaccept = 12;
11575 	yych = *(YYMARKER = ++YYCURSOR);
11576 	if (yych <= 'n') {
11577 		if (yych <= '/') goto yy596;
11578 		if (yych <= '9') goto yy702;
11579 		if (yych <= 'm') goto yy596;
11580 		goto yy600;
11581 	} else {
11582 		if (yych <= 'r') {
11583 			if (yych <= 'q') goto yy596;
11584 			goto yy601;
11585 		} else {
11586 			if (yych <= 's') goto yy599;
11587 			if (yych <= 't') goto yy602;
11588 			goto yy596;
11589 		}
11590 	}
11591 yy701:
11592 	YYDEBUG(701, *YYCURSOR);
11593 	yyaccept = 12;
11594 	yych = *(YYMARKER = ++YYCURSOR);
11595 	if (yych <= 'n') {
11596 		if (yych <= '/') goto yy596;
11597 		if (yych <= '1') goto yy702;
11598 		if (yych <= 'm') goto yy596;
11599 		goto yy600;
11600 	} else {
11601 		if (yych <= 'r') {
11602 			if (yych <= 'q') goto yy596;
11603 			goto yy601;
11604 		} else {
11605 			if (yych <= 's') goto yy599;
11606 			if (yych <= 't') goto yy602;
11607 			goto yy596;
11608 		}
11609 	}
11610 yy702:
11611 	YYDEBUG(702, *YYCURSOR);
11612 	yyaccept = 14;
11613 	yych = *(YYMARKER = ++YYCURSOR);
11614 	if (yych <= 'q') {
11615 		if (yych == 'n') goto yy600;
11616 	} else {
11617 		if (yych <= 'r') goto yy601;
11618 		if (yych <= 's') goto yy599;
11619 		if (yych <= 't') goto yy602;
11620 	}
11621 yy703:
11622 	YYDEBUG(703, *YYCURSOR);
11623 #line 1255 "ext/date/lib/parse_date.re"
11624 	{
11625 		int length = 0;
11626 		DEBUG_OUTPUT("iso8601date2");
11627 		TIMELIB_INIT;
11628 		TIMELIB_HAVE_DATE();
11629 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
11630 		s->time->m = timelib_get_nr((char **) &ptr, 2);
11631 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11632 		TIMELIB_PROCESS_YEAR(s->time->y, length);
11633 		TIMELIB_DEINIT;
11634 		return TIMELIB_ISO_DATE;
11635 	}
11636 #line 11637 "<stdout>"
11637 yy704:
11638 	YYDEBUG(704, *YYCURSOR);
11639 	yych = *++YYCURSOR;
11640 	if (yych == 'C') goto yy705;
11641 	if (yych != 'c') goto yy56;
11642 yy705:
11643 	YYDEBUG(705, *YYCURSOR);
11644 	yych = *++YYCURSOR;
11645 	if (yych != '-') goto yy56;
11646 yy706:
11647 	YYDEBUG(706, *YYCURSOR);
11648 	yych = *++YYCURSOR;
11649 	if (yych <= '/') goto yy56;
11650 	if (yych <= '0') goto yy707;
11651 	if (yych <= '2') goto yy708;
11652 	if (yych <= '3') goto yy709;
11653 	goto yy56;
11654 yy707:
11655 	YYDEBUG(707, *YYCURSOR);
11656 	yych = *++YYCURSOR;
11657 	if (yych <= '/') goto yy56;
11658 	if (yych <= '9') goto yy710;
11659 	goto yy56;
11660 yy708:
11661 	YYDEBUG(708, *YYCURSOR);
11662 	yych = *++YYCURSOR;
11663 	if (yych <= '/') goto yy56;
11664 	if (yych <= '9') goto yy710;
11665 	goto yy56;
11666 yy709:
11667 	YYDEBUG(709, *YYCURSOR);
11668 	yych = *++YYCURSOR;
11669 	if (yych <= '/') goto yy56;
11670 	if (yych >= '2') goto yy56;
11671 yy710:
11672 	YYDEBUG(710, *YYCURSOR);
11673 	++YYCURSOR;
11674 	YYDEBUG(711, *YYCURSOR);
11675 #line 1496 "ext/date/lib/parse_date.re"
11676 	{
11677 		int length = 0;
11678 		DEBUG_OUTPUT("pgtextreverse");
11679 		TIMELIB_INIT;
11680 		TIMELIB_HAVE_DATE();
11681 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
11682 		s->time->m = timelib_get_month((char **) &ptr);
11683 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11684 		TIMELIB_PROCESS_YEAR(s->time->y, length);
11685 		TIMELIB_DEINIT;
11686 		return TIMELIB_PG_TEXT;
11687 	}
11688 #line 11689 "<stdout>"
11689 yy712:
11690 	YYDEBUG(712, *YYCURSOR);
11691 	yych = *++YYCURSOR;
11692 	if (yych == 'V') goto yy705;
11693 	if (yych == 'v') goto yy705;
11694 	goto yy56;
11695 yy713:
11696 	YYDEBUG(713, *YYCURSOR);
11697 	yych = *++YYCURSOR;
11698 	if (yych == 'T') goto yy705;
11699 	if (yych == 't') goto yy705;
11700 	goto yy56;
11701 yy714:
11702 	YYDEBUG(714, *YYCURSOR);
11703 	yych = *++YYCURSOR;
11704 	if (yych == 'P') goto yy715;
11705 	if (yych != 'p') goto yy56;
11706 yy715:
11707 	YYDEBUG(715, *YYCURSOR);
11708 	yych = *++YYCURSOR;
11709 	if (yych <= 'S') {
11710 		if (yych == '-') goto yy706;
11711 		goto yy56;
11712 	} else {
11713 		if (yych <= 'T') goto yy705;
11714 		if (yych == 't') goto yy705;
11715 		goto yy56;
11716 	}
11717 yy716:
11718 	YYDEBUG(716, *YYCURSOR);
11719 	yych = *++YYCURSOR;
11720 	if (yych == 'G') goto yy705;
11721 	if (yych == 'g') goto yy705;
11722 	goto yy56;
11723 yy717:
11724 	YYDEBUG(717, *YYCURSOR);
11725 	yych = *++YYCURSOR;
11726 	if (yych == 'R') goto yy705;
11727 	if (yych == 'r') goto yy705;
11728 	goto yy56;
11729 yy718:
11730 	YYDEBUG(718, *YYCURSOR);
11731 	yych = *++YYCURSOR;
11732 	if (yych <= 'Y') {
11733 		if (yych == 'R') goto yy705;
11734 		if (yych <= 'X') goto yy56;
11735 		goto yy705;
11736 	} else {
11737 		if (yych <= 'r') {
11738 			if (yych <= 'q') goto yy56;
11739 			goto yy705;
11740 		} else {
11741 			if (yych == 'y') goto yy705;
11742 			goto yy56;
11743 		}
11744 	}
11745 yy719:
11746 	YYDEBUG(719, *YYCURSOR);
11747 	yych = *++YYCURSOR;
11748 	if (yych == 'B') goto yy705;
11749 	if (yych == 'b') goto yy705;
11750 	goto yy56;
11751 yy720:
11752 	YYDEBUG(720, *YYCURSOR);
11753 	yych = *++YYCURSOR;
11754 	if (yych <= 'N') {
11755 		if (yych == 'L') goto yy705;
11756 		if (yych <= 'M') goto yy56;
11757 		goto yy705;
11758 	} else {
11759 		if (yych <= 'l') {
11760 			if (yych <= 'k') goto yy56;
11761 			goto yy705;
11762 		} else {
11763 			if (yych == 'n') goto yy705;
11764 			goto yy56;
11765 		}
11766 	}
11767 yy721:
11768 	YYDEBUG(721, *YYCURSOR);
11769 	yych = *++YYCURSOR;
11770 	if (yych == 'N') goto yy705;
11771 	if (yych == 'n') goto yy705;
11772 	goto yy56;
11773 yy722:
11774 	YYDEBUG(722, *YYCURSOR);
11775 	yyaccept = 15;
11776 	yych = *(YYMARKER = ++YYCURSOR);
11777 	switch (yych) {
11778 	case '\t':
11779 	case ' ':
11780 	case 'A':
11781 	case 'D':
11782 	case 'F':
11783 	case 'H':
11784 	case 'I':
11785 	case 'J':
11786 	case 'M':
11787 	case 'N':
11788 	case 'O':
11789 	case 'S':
11790 	case 'T':
11791 	case 'V':
11792 	case 'X':
11793 	case 'Y':
11794 	case 'a':
11795 	case 'd':
11796 	case 'f':
11797 	case 'h':
11798 	case 'j':
11799 	case 'm':
11800 	case 'n':
11801 	case 'o':
11802 	case 's':
11803 	case 't':
11804 	case 'w':
11805 	case 'y':	goto yy730;
11806 	case '-':	goto yy727;
11807 	case '.':	goto yy731;
11808 	case '/':	goto yy728;
11809 	case '0':	goto yy744;
11810 	case '1':	goto yy745;
11811 	case '2':	goto yy747;
11812 	case '3':	goto yy748;
11813 	case '4':
11814 	case '5':
11815 	case '6':
11816 	case '7':
11817 	case '8':
11818 	case '9':	goto yy54;
11819 	case ':':	goto yy746;
11820 	case 'W':	goto yy749;
11821 	default:	goto yy723;
11822 	}
11823 yy723:
11824 	YYDEBUG(723, *YYCURSOR);
11825 #line 1531 "ext/date/lib/parse_date.re"
11826 	{
11827 		DEBUG_OUTPUT("year4");
11828 		TIMELIB_INIT;
11829 		s->time->y = timelib_get_nr((char **) &ptr, 4);
11830 		TIMELIB_DEINIT;
11831 		return TIMELIB_CLF;
11832 	}
11833 #line 11834 "<stdout>"
11834 yy724:
11835 	YYDEBUG(724, *YYCURSOR);
11836 	yych = *++YYCURSOR;
11837 	switch (yych) {
11838 	case '0':	goto yy725;
11839 	case '1':	goto yy726;
11840 	case '2':
11841 	case '3':
11842 	case '4':
11843 	case '5':
11844 	case '6':
11845 	case '7':
11846 	case '8':
11847 	case '9':	goto yy692;
11848 	case 'A':
11849 	case 'a':	goto yy685;
11850 	case 'D':
11851 	case 'd':	goto yy689;
11852 	case 'F':
11853 	case 'f':	goto yy683;
11854 	case 'J':
11855 	case 'j':	goto yy682;
11856 	case 'M':
11857 	case 'm':	goto yy684;
11858 	case 'N':
11859 	case 'n':	goto yy688;
11860 	case 'O':
11861 	case 'o':	goto yy687;
11862 	case 'S':
11863 	case 's':	goto yy686;
11864 	default:	goto yy56;
11865 	}
11866 yy725:
11867 	YYDEBUG(725, *YYCURSOR);
11868 	yych = *++YYCURSOR;
11869 	if (yych == '-') goto yy693;
11870 	if (yych <= '/') goto yy56;
11871 	if (yych <= '9') goto yy692;
11872 	goto yy56;
11873 yy726:
11874 	YYDEBUG(726, *YYCURSOR);
11875 	yych = *++YYCURSOR;
11876 	if (yych == '-') goto yy693;
11877 	if (yych <= '/') goto yy56;
11878 	if (yych <= '2') goto yy692;
11879 	goto yy56;
11880 yy727:
11881 	YYDEBUG(727, *YYCURSOR);
11882 	yych = *++YYCURSOR;
11883 	switch (yych) {
11884 	case '0':	goto yy912;
11885 	case '1':	goto yy914;
11886 	case '2':
11887 	case '3':
11888 	case '4':
11889 	case '5':
11890 	case '6':
11891 	case '7':
11892 	case '8':
11893 	case '9':	goto yy915;
11894 	case 'A':
11895 	case 'a':	goto yy906;
11896 	case 'D':
11897 	case 'd':	goto yy910;
11898 	case 'F':
11899 	case 'f':	goto yy904;
11900 	case 'J':
11901 	case 'j':	goto yy903;
11902 	case 'M':
11903 	case 'm':	goto yy905;
11904 	case 'N':
11905 	case 'n':	goto yy909;
11906 	case 'O':
11907 	case 'o':	goto yy908;
11908 	case 'S':
11909 	case 's':	goto yy907;
11910 	case 'W':	goto yy911;
11911 	default:	goto yy878;
11912 	}
11913 yy728:
11914 	YYDEBUG(728, *YYCURSOR);
11915 	yych = *++YYCURSOR;
11916 	if (yych <= '/') goto yy56;
11917 	if (yych <= '0') goto yy886;
11918 	if (yych <= '1') goto yy887;
11919 	if (yych <= '9') goto yy888;
11920 	goto yy56;
11921 yy729:
11922 	YYDEBUG(729, *YYCURSOR);
11923 	++YYCURSOR;
11924 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
11925 	yych = *YYCURSOR;
11926 yy730:
11927 	YYDEBUG(730, *YYCURSOR);
11928 	switch (yych) {
11929 	case '\t':
11930 	case ' ':	goto yy729;
11931 	case '-':
11932 	case '.':	goto yy877;
11933 	case 'A':
11934 	case 'a':	goto yy739;
11935 	case 'D':
11936 	case 'd':	goto yy743;
11937 	case 'F':
11938 	case 'f':	goto yy737;
11939 	case 'H':
11940 	case 'h':	goto yy63;
11941 	case 'I':	goto yy732;
11942 	case 'J':
11943 	case 'j':	goto yy736;
11944 	case 'M':
11945 	case 'm':	goto yy738;
11946 	case 'N':
11947 	case 'n':	goto yy742;
11948 	case 'O':
11949 	case 'o':	goto yy741;
11950 	case 'S':
11951 	case 's':	goto yy740;
11952 	case 'T':
11953 	case 't':	goto yy68;
11954 	case 'V':	goto yy734;
11955 	case 'W':
11956 	case 'w':	goto yy67;
11957 	case 'X':	goto yy735;
11958 	case 'Y':
11959 	case 'y':	goto yy66;
11960 	default:	goto yy56;
11961 	}
11962 yy731:
11963 	YYDEBUG(731, *YYCURSOR);
11964 	yych = *++YYCURSOR;
11965 	if (yych <= '/') goto yy878;
11966 	if (yych <= '0') goto yy870;
11967 	if (yych <= '2') goto yy871;
11968 	if (yych <= '3') goto yy872;
11969 	goto yy878;
11970 yy732:
11971 	YYDEBUG(732, *YYCURSOR);
11972 	++YYCURSOR;
11973 	if ((yych = *YYCURSOR) <= 'U') {
11974 		if (yych == 'I') goto yy869;
11975 	} else {
11976 		if (yych == 'W') goto yy733;
11977 		if (yych <= 'X') goto yy823;
11978 	}
11979 yy733:
11980 	YYDEBUG(733, *YYCURSOR);
11981 #line 1352 "ext/date/lib/parse_date.re"
11982 	{
11983 		int length = 0;
11984 		DEBUG_OUTPUT("datenodayrev");
11985 		TIMELIB_INIT;
11986 		TIMELIB_HAVE_DATE();
11987 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
11988 		s->time->m = timelib_get_month((char **) &ptr);
11989 		s->time->d = 1;
11990 		TIMELIB_PROCESS_YEAR(s->time->y, length);
11991 		TIMELIB_DEINIT;
11992 		return TIMELIB_DATE_NO_DAY;
11993 	}
11994 #line 11995 "<stdout>"
11995 yy734:
11996 	YYDEBUG(734, *YYCURSOR);
11997 	yych = *++YYCURSOR;
11998 	if (yych == 'I') goto yy867;
11999 	goto yy733;
12000 yy735:
12001 	YYDEBUG(735, *YYCURSOR);
12002 	yych = *++YYCURSOR;
12003 	if (yych == 'I') goto yy866;
12004 	goto yy733;
12005 yy736:
12006 	YYDEBUG(736, *YYCURSOR);
12007 	yych = *++YYCURSOR;
12008 	if (yych <= 'U') {
12009 		if (yych == 'A') goto yy859;
12010 		if (yych <= 'T') goto yy56;
12011 		goto yy858;
12012 	} else {
12013 		if (yych <= 'a') {
12014 			if (yych <= '`') goto yy56;
12015 			goto yy859;
12016 		} else {
12017 			if (yych == 'u') goto yy858;
12018 			goto yy56;
12019 		}
12020 	}
12021 yy737:
12022 	YYDEBUG(737, *YYCURSOR);
12023 	yych = *++YYCURSOR;
12024 	if (yych <= 'R') {
12025 		if (yych <= 'N') {
12026 			if (yych == 'E') goto yy852;
12027 			goto yy56;
12028 		} else {
12029 			if (yych <= 'O') goto yy98;
12030 			if (yych <= 'Q') goto yy56;
12031 			goto yy97;
12032 		}
12033 	} else {
12034 		if (yych <= 'n') {
12035 			if (yych == 'e') goto yy852;
12036 			goto yy56;
12037 		} else {
12038 			if (yych <= 'o') goto yy98;
12039 			if (yych == 'r') goto yy97;
12040 			goto yy56;
12041 		}
12042 	}
12043 yy738:
12044 	YYDEBUG(738, *YYCURSOR);
12045 	yych = *++YYCURSOR;
12046 	if (yych <= 'O') {
12047 		if (yych <= 'H') {
12048 			if (yych == 'A') goto yy849;
12049 			goto yy56;
12050 		} else {
12051 			if (yych <= 'I') goto yy117;
12052 			if (yych <= 'N') goto yy56;
12053 			goto yy116;
12054 		}
12055 	} else {
12056 		if (yych <= 'h') {
12057 			if (yych == 'a') goto yy849;
12058 			goto yy56;
12059 		} else {
12060 			if (yych <= 'i') goto yy117;
12061 			if (yych == 'o') goto yy116;
12062 			goto yy56;
12063 		}
12064 	}
12065 yy739:
12066 	YYDEBUG(739, *YYCURSOR);
12067 	yych = *++YYCURSOR;
12068 	if (yych <= 'U') {
12069 		if (yych == 'P') goto yy843;
12070 		if (yych <= 'T') goto yy56;
12071 		goto yy842;
12072 	} else {
12073 		if (yych <= 'p') {
12074 			if (yych <= 'o') goto yy56;
12075 			goto yy843;
12076 		} else {
12077 			if (yych == 'u') goto yy842;
12078 			goto yy56;
12079 		}
12080 	}
12081 yy740:
12082 	YYDEBUG(740, *YYCURSOR);
12083 	yych = *++YYCURSOR;
12084 	if (yych <= 'U') {
12085 		if (yych <= 'D') {
12086 			if (yych == 'A') goto yy126;
12087 			goto yy56;
12088 		} else {
12089 			if (yych <= 'E') goto yy835;
12090 			if (yych <= 'T') goto yy56;
12091 			goto yy125;
12092 		}
12093 	} else {
12094 		if (yych <= 'd') {
12095 			if (yych == 'a') goto yy126;
12096 			goto yy56;
12097 		} else {
12098 			if (yych <= 'e') goto yy835;
12099 			if (yych == 'u') goto yy125;
12100 			goto yy56;
12101 		}
12102 	}
12103 yy741:
12104 	YYDEBUG(741, *YYCURSOR);
12105 	yych = *++YYCURSOR;
12106 	if (yych == 'C') goto yy830;
12107 	if (yych == 'c') goto yy830;
12108 	goto yy56;
12109 yy742:
12110 	YYDEBUG(742, *YYCURSOR);
12111 	yych = *++YYCURSOR;
12112 	if (yych == 'O') goto yy824;
12113 	if (yych == 'o') goto yy824;
12114 	goto yy56;
12115 yy743:
12116 	YYDEBUG(743, *YYCURSOR);
12117 	yych = *++YYCURSOR;
12118 	if (yych <= 'E') {
12119 		if (yych == 'A') goto yy113;
12120 		if (yych <= 'D') goto yy56;
12121 		goto yy817;
12122 	} else {
12123 		if (yych <= 'a') {
12124 			if (yych <= '`') goto yy56;
12125 			goto yy113;
12126 		} else {
12127 			if (yych == 'e') goto yy817;
12128 			goto yy56;
12129 		}
12130 	}
12131 yy744:
12132 	YYDEBUG(744, *YYCURSOR);
12133 	yych = *++YYCURSOR;
12134 	if (yych <= '/') goto yy60;
12135 	if (yych <= '0') goto yy814;
12136 	if (yych <= '9') goto yy815;
12137 	goto yy60;
12138 yy745:
12139 	YYDEBUG(745, *YYCURSOR);
12140 	yych = *++YYCURSOR;
12141 	if (yych <= '/') goto yy60;
12142 	if (yych <= '2') goto yy783;
12143 	if (yych <= '9') goto yy762;
12144 	goto yy60;
12145 yy746:
12146 	YYDEBUG(746, *YYCURSOR);
12147 	yych = *++YYCURSOR;
12148 	if (yych <= '/') goto yy56;
12149 	if (yych <= '0') goto yy763;
12150 	if (yych <= '1') goto yy764;
12151 	goto yy56;
12152 yy747:
12153 	YYDEBUG(747, *YYCURSOR);
12154 	yych = *++YYCURSOR;
12155 	if (yych <= '/') goto yy60;
12156 	if (yych <= '9') goto yy762;
12157 	goto yy60;
12158 yy748:
12159 	YYDEBUG(748, *YYCURSOR);
12160 	yych = *++YYCURSOR;
12161 	if (yych <= '/') goto yy60;
12162 	if (yych <= '5') goto yy758;
12163 	if (yych <= '6') goto yy759;
12164 	if (yych <= '9') goto yy54;
12165 	goto yy60;
12166 yy749:
12167 	YYDEBUG(749, *YYCURSOR);
12168 	yych = *++YYCURSOR;
12169 	if (yych <= '5') {
12170 		if (yych <= '/') goto yy56;
12171 		if (yych <= '0') goto yy750;
12172 		if (yych <= '4') goto yy751;
12173 		goto yy752;
12174 	} else {
12175 		if (yych <= 'E') {
12176 			if (yych <= 'D') goto yy56;
12177 			goto yy82;
12178 		} else {
12179 			if (yych == 'e') goto yy82;
12180 			goto yy56;
12181 		}
12182 	}
12183 yy750:
12184 	YYDEBUG(750, *YYCURSOR);
12185 	yych = *++YYCURSOR;
12186 	if (yych <= '0') goto yy56;
12187 	if (yych <= '9') goto yy753;
12188 	goto yy56;
12189 yy751:
12190 	YYDEBUG(751, *YYCURSOR);
12191 	yych = *++YYCURSOR;
12192 	if (yych <= '/') goto yy56;
12193 	if (yych <= '9') goto yy753;
12194 	goto yy56;
12195 yy752:
12196 	YYDEBUG(752, *YYCURSOR);
12197 	yych = *++YYCURSOR;
12198 	if (yych <= '/') goto yy56;
12199 	if (yych >= '4') goto yy56;
12200 yy753:
12201 	YYDEBUG(753, *YYCURSOR);
12202 	yyaccept = 16;
12203 	yych = *(YYMARKER = ++YYCURSOR);
12204 	if (yych == '-') goto yy755;
12205 	if (yych <= '/') goto yy754;
12206 	if (yych <= '7') goto yy756;
12207 yy754:
12208 	YYDEBUG(754, *YYCURSOR);
12209 #line 1463 "ext/date/lib/parse_date.re"
12210 	{
12211 		timelib_sll w, d;
12212 		DEBUG_OUTPUT("isoweek");
12213 		TIMELIB_INIT;
12214 		TIMELIB_HAVE_DATE();
12215 		TIMELIB_HAVE_RELATIVE();
12216 
12217 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12218 		w = timelib_get_nr((char **) &ptr, 2);
12219 		d = 1;
12220 		s->time->m = 1;
12221 		s->time->d = 1;
12222 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
12223 
12224 		TIMELIB_DEINIT;
12225 		return TIMELIB_ISO_WEEK;
12226 	}
12227 #line 12228 "<stdout>"
12228 yy755:
12229 	YYDEBUG(755, *YYCURSOR);
12230 	yych = *++YYCURSOR;
12231 	if (yych <= '/') goto yy56;
12232 	if (yych >= '8') goto yy56;
12233 yy756:
12234 	YYDEBUG(756, *YYCURSOR);
12235 	++YYCURSOR;
12236 	YYDEBUG(757, *YYCURSOR);
12237 #line 1444 "ext/date/lib/parse_date.re"
12238 	{
12239 		timelib_sll w, d;
12240 		DEBUG_OUTPUT("isoweekday");
12241 		TIMELIB_INIT;
12242 		TIMELIB_HAVE_DATE();
12243 		TIMELIB_HAVE_RELATIVE();
12244 
12245 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12246 		w = timelib_get_nr((char **) &ptr, 2);
12247 		d = timelib_get_nr((char **) &ptr, 1);
12248 		s->time->m = 1;
12249 		s->time->d = 1;
12250 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
12251 
12252 		TIMELIB_DEINIT;
12253 		return TIMELIB_ISO_WEEK;
12254 	}
12255 #line 12256 "<stdout>"
12256 yy758:
12257 	YYDEBUG(758, *YYCURSOR);
12258 	yych = *++YYCURSOR;
12259 	if (yych <= '/') goto yy60;
12260 	if (yych <= '9') goto yy760;
12261 	goto yy60;
12262 yy759:
12263 	YYDEBUG(759, *YYCURSOR);
12264 	yych = *++YYCURSOR;
12265 	if (yych <= '/') goto yy60;
12266 	if (yych <= '6') goto yy760;
12267 	if (yych <= '9') goto yy54;
12268 	goto yy60;
12269 yy760:
12270 	YYDEBUG(760, *YYCURSOR);
12271 	yyaccept = 17;
12272 	yych = *(YYMARKER = ++YYCURSOR);
12273 	if (yybm[0+yych] & 2) {
12274 		goto yy54;
12275 	}
12276 	if (yych <= 'W') {
12277 		if (yych <= 'F') {
12278 			if (yych <= ' ') {
12279 				if (yych == '\t') goto yy60;
12280 				if (yych >= ' ') goto yy60;
12281 			} else {
12282 				if (yych == 'D') goto yy60;
12283 				if (yych >= 'F') goto yy60;
12284 			}
12285 		} else {
12286 			if (yych <= 'M') {
12287 				if (yych == 'H') goto yy60;
12288 				if (yych >= 'M') goto yy60;
12289 			} else {
12290 				if (yych <= 'R') goto yy761;
12291 				if (yych <= 'T') goto yy60;
12292 				if (yych >= 'W') goto yy60;
12293 			}
12294 		}
12295 	} else {
12296 		if (yych <= 'h') {
12297 			if (yych <= 'd') {
12298 				if (yych == 'Y') goto yy60;
12299 				if (yych >= 'd') goto yy60;
12300 			} else {
12301 				if (yych == 'f') goto yy60;
12302 				if (yych >= 'h') goto yy60;
12303 			}
12304 		} else {
12305 			if (yych <= 't') {
12306 				if (yych == 'm') goto yy60;
12307 				if (yych >= 's') goto yy60;
12308 			} else {
12309 				if (yych <= 'w') {
12310 					if (yych >= 'w') goto yy60;
12311 				} else {
12312 					if (yych == 'y') goto yy60;
12313 				}
12314 			}
12315 		}
12316 	}
12317 yy761:
12318 	YYDEBUG(761, *YYCURSOR);
12319 #line 1430 "ext/date/lib/parse_date.re"
12320 	{
12321 		int length = 0;
12322 		DEBUG_OUTPUT("pgydotd");
12323 		TIMELIB_INIT;
12324 		TIMELIB_HAVE_DATE();
12325 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
12326 		s->time->d = timelib_get_nr((char **) &ptr, 3);
12327 		s->time->m = 1;
12328 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12329 		TIMELIB_DEINIT;
12330 		return TIMELIB_PG_YEARDAY;
12331 	}
12332 #line 12333 "<stdout>"
12333 yy762:
12334 	YYDEBUG(762, *YYCURSOR);
12335 	yych = *++YYCURSOR;
12336 	if (yych <= '/') goto yy60;
12337 	if (yych <= '9') goto yy760;
12338 	goto yy60;
12339 yy763:
12340 	YYDEBUG(763, *YYCURSOR);
12341 	yych = *++YYCURSOR;
12342 	if (yych <= '/') goto yy56;
12343 	if (yych <= '9') goto yy765;
12344 	goto yy56;
12345 yy764:
12346 	YYDEBUG(764, *YYCURSOR);
12347 	yych = *++YYCURSOR;
12348 	if (yych <= '/') goto yy56;
12349 	if (yych >= '3') goto yy56;
12350 yy765:
12351 	YYDEBUG(765, *YYCURSOR);
12352 	yych = *++YYCURSOR;
12353 	if (yych != ':') goto yy56;
12354 	YYDEBUG(766, *YYCURSOR);
12355 	yych = *++YYCURSOR;
12356 	if (yych <= '/') goto yy56;
12357 	if (yych <= '0') goto yy767;
12358 	if (yych <= '2') goto yy768;
12359 	if (yych <= '3') goto yy769;
12360 	goto yy56;
12361 yy767:
12362 	YYDEBUG(767, *YYCURSOR);
12363 	yych = *++YYCURSOR;
12364 	if (yych <= '/') goto yy56;
12365 	if (yych <= '9') goto yy770;
12366 	goto yy56;
12367 yy768:
12368 	YYDEBUG(768, *YYCURSOR);
12369 	yych = *++YYCURSOR;
12370 	if (yych <= '/') goto yy56;
12371 	if (yych <= '9') goto yy770;
12372 	goto yy56;
12373 yy769:
12374 	YYDEBUG(769, *YYCURSOR);
12375 	yych = *++YYCURSOR;
12376 	if (yych <= '/') goto yy56;
12377 	if (yych >= '2') goto yy56;
12378 yy770:
12379 	YYDEBUG(770, *YYCURSOR);
12380 	yych = *++YYCURSOR;
12381 	if (yych != ' ') goto yy56;
12382 	YYDEBUG(771, *YYCURSOR);
12383 	yych = *++YYCURSOR;
12384 	if (yych <= '/') goto yy56;
12385 	if (yych <= '1') goto yy772;
12386 	if (yych <= '2') goto yy773;
12387 	goto yy56;
12388 yy772:
12389 	YYDEBUG(772, *YYCURSOR);
12390 	yych = *++YYCURSOR;
12391 	if (yych <= '/') goto yy56;
12392 	if (yych <= '9') goto yy774;
12393 	goto yy56;
12394 yy773:
12395 	YYDEBUG(773, *YYCURSOR);
12396 	yych = *++YYCURSOR;
12397 	if (yych <= '/') goto yy56;
12398 	if (yych >= '5') goto yy56;
12399 yy774:
12400 	YYDEBUG(774, *YYCURSOR);
12401 	yych = *++YYCURSOR;
12402 	if (yych != ':') goto yy56;
12403 	YYDEBUG(775, *YYCURSOR);
12404 	yych = *++YYCURSOR;
12405 	if (yych <= '/') goto yy56;
12406 	if (yych >= '6') goto yy56;
12407 	YYDEBUG(776, *YYCURSOR);
12408 	yych = *++YYCURSOR;
12409 	if (yych <= '/') goto yy56;
12410 	if (yych >= ':') goto yy56;
12411 	YYDEBUG(777, *YYCURSOR);
12412 	yych = *++YYCURSOR;
12413 	if (yych != ':') goto yy56;
12414 	YYDEBUG(778, *YYCURSOR);
12415 	yych = *++YYCURSOR;
12416 	if (yych <= '/') goto yy56;
12417 	if (yych <= '5') goto yy779;
12418 	if (yych <= '6') goto yy780;
12419 	goto yy56;
12420 yy779:
12421 	YYDEBUG(779, *YYCURSOR);
12422 	yych = *++YYCURSOR;
12423 	if (yych <= '/') goto yy56;
12424 	if (yych <= '9') goto yy781;
12425 	goto yy56;
12426 yy780:
12427 	YYDEBUG(780, *YYCURSOR);
12428 	yych = *++YYCURSOR;
12429 	if (yych != '0') goto yy56;
12430 yy781:
12431 	YYDEBUG(781, *YYCURSOR);
12432 	++YYCURSOR;
12433 yy782:
12434 	YYDEBUG(782, *YYCURSOR);
12435 #line 1404 "ext/date/lib/parse_date.re"
12436 	{
12437 		int tz_not_found;
12438 		DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
12439 		TIMELIB_INIT;
12440 		TIMELIB_HAVE_TIME();
12441 		TIMELIB_HAVE_DATE();
12442 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12443 		s->time->m = timelib_get_nr((char **) &ptr, 2);
12444 		s->time->d = timelib_get_nr((char **) &ptr, 2);
12445 		s->time->h = timelib_get_nr((char **) &ptr, 2);
12446 		s->time->i = timelib_get_nr((char **) &ptr, 2);
12447 		s->time->s = timelib_get_nr((char **) &ptr, 2);
12448 		if (*ptr == '.') {
12449 			s->time->f = timelib_get_frac_nr((char **) &ptr, 9);
12450 			if (*ptr) { /* timezone is optional */
12451 				s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
12452 				if (tz_not_found) {
12453 					add_error(s, "The timezone could not be found in the database");
12454 				}
12455 			}
12456 		}
12457 		TIMELIB_DEINIT;
12458 		return TIMELIB_XMLRPC_SOAP;
12459 	}
12460 #line 12461 "<stdout>"
12461 yy783:
12462 	YYDEBUG(783, *YYCURSOR);
12463 	yych = *++YYCURSOR;
12464 	if (yych <= '2') {
12465 		if (yych <= '/') goto yy60;
12466 		if (yych >= '1') goto yy785;
12467 	} else {
12468 		if (yych <= '3') goto yy786;
12469 		if (yych <= '9') goto yy760;
12470 		goto yy60;
12471 	}
12472 yy784:
12473 	YYDEBUG(784, *YYCURSOR);
12474 	yyaccept = 17;
12475 	yych = *(YYMARKER = ++YYCURSOR);
12476 	if (yych <= 'V') {
12477 		if (yych <= 'D') {
12478 			if (yych <= ' ') {
12479 				if (yych == '\t') goto yy60;
12480 				if (yych <= 0x1F) goto yy761;
12481 				goto yy60;
12482 			} else {
12483 				if (yych <= '/') goto yy761;
12484 				if (yych <= '9') goto yy787;
12485 				if (yych <= 'C') goto yy761;
12486 				goto yy60;
12487 			}
12488 		} else {
12489 			if (yych <= 'H') {
12490 				if (yych == 'F') goto yy60;
12491 				if (yych <= 'G') goto yy761;
12492 				goto yy60;
12493 			} else {
12494 				if (yych <= 'M') {
12495 					if (yych <= 'L') goto yy761;
12496 					goto yy60;
12497 				} else {
12498 					if (yych <= 'R') goto yy761;
12499 					if (yych <= 'T') goto yy60;
12500 					goto yy761;
12501 				}
12502 			}
12503 		}
12504 	} else {
12505 		if (yych <= 'h') {
12506 			if (yych <= 'c') {
12507 				if (yych == 'X') goto yy761;
12508 				if (yych <= 'Y') goto yy60;
12509 				goto yy761;
12510 			} else {
12511 				if (yych <= 'e') {
12512 					if (yych <= 'd') goto yy60;
12513 					goto yy761;
12514 				} else {
12515 					if (yych == 'g') goto yy761;
12516 					goto yy60;
12517 				}
12518 			}
12519 		} else {
12520 			if (yych <= 't') {
12521 				if (yych == 'm') goto yy60;
12522 				if (yych <= 'r') goto yy761;
12523 				goto yy60;
12524 			} else {
12525 				if (yych <= 'w') {
12526 					if (yych <= 'v') goto yy761;
12527 					goto yy60;
12528 				} else {
12529 					if (yych == 'y') goto yy60;
12530 					goto yy761;
12531 				}
12532 			}
12533 		}
12534 	}
12535 yy785:
12536 	YYDEBUG(785, *YYCURSOR);
12537 	yyaccept = 17;
12538 	yych = *(YYMARKER = ++YYCURSOR);
12539 	if (yych <= 'V') {
12540 		if (yych <= 'D') {
12541 			if (yych <= ' ') {
12542 				if (yych == '\t') goto yy60;
12543 				if (yych <= 0x1F) goto yy761;
12544 				goto yy60;
12545 			} else {
12546 				if (yych <= '/') goto yy761;
12547 				if (yych <= '9') goto yy787;
12548 				if (yych <= 'C') goto yy761;
12549 				goto yy60;
12550 			}
12551 		} else {
12552 			if (yych <= 'H') {
12553 				if (yych == 'F') goto yy60;
12554 				if (yych <= 'G') goto yy761;
12555 				goto yy60;
12556 			} else {
12557 				if (yych <= 'M') {
12558 					if (yych <= 'L') goto yy761;
12559 					goto yy60;
12560 				} else {
12561 					if (yych <= 'R') goto yy761;
12562 					if (yych <= 'T') goto yy60;
12563 					goto yy761;
12564 				}
12565 			}
12566 		}
12567 	} else {
12568 		if (yych <= 'h') {
12569 			if (yych <= 'c') {
12570 				if (yych == 'X') goto yy761;
12571 				if (yych <= 'Y') goto yy60;
12572 				goto yy761;
12573 			} else {
12574 				if (yych <= 'e') {
12575 					if (yych <= 'd') goto yy60;
12576 					goto yy761;
12577 				} else {
12578 					if (yych == 'g') goto yy761;
12579 					goto yy60;
12580 				}
12581 			}
12582 		} else {
12583 			if (yych <= 't') {
12584 				if (yych == 'm') goto yy60;
12585 				if (yych <= 'r') goto yy761;
12586 				goto yy60;
12587 			} else {
12588 				if (yych <= 'w') {
12589 					if (yych <= 'v') goto yy761;
12590 					goto yy60;
12591 				} else {
12592 					if (yych == 'y') goto yy60;
12593 					goto yy761;
12594 				}
12595 			}
12596 		}
12597 	}
12598 yy786:
12599 	YYDEBUG(786, *YYCURSOR);
12600 	yyaccept = 17;
12601 	yych = *(YYMARKER = ++YYCURSOR);
12602 	if (yych <= 'V') {
12603 		if (yych <= 'D') {
12604 			if (yych <= ' ') {
12605 				if (yych == '\t') goto yy60;
12606 				if (yych <= 0x1F) goto yy761;
12607 				goto yy60;
12608 			} else {
12609 				if (yych <= '1') {
12610 					if (yych <= '/') goto yy761;
12611 				} else {
12612 					if (yych <= '9') goto yy54;
12613 					if (yych <= 'C') goto yy761;
12614 					goto yy60;
12615 				}
12616 			}
12617 		} else {
12618 			if (yych <= 'H') {
12619 				if (yych == 'F') goto yy60;
12620 				if (yych <= 'G') goto yy761;
12621 				goto yy60;
12622 			} else {
12623 				if (yych <= 'M') {
12624 					if (yych <= 'L') goto yy761;
12625 					goto yy60;
12626 				} else {
12627 					if (yych <= 'R') goto yy761;
12628 					if (yych <= 'T') goto yy60;
12629 					goto yy761;
12630 				}
12631 			}
12632 		}
12633 	} else {
12634 		if (yych <= 'h') {
12635 			if (yych <= 'c') {
12636 				if (yych == 'X') goto yy761;
12637 				if (yych <= 'Y') goto yy60;
12638 				goto yy761;
12639 			} else {
12640 				if (yych <= 'e') {
12641 					if (yych <= 'd') goto yy60;
12642 					goto yy761;
12643 				} else {
12644 					if (yych == 'g') goto yy761;
12645 					goto yy60;
12646 				}
12647 			}
12648 		} else {
12649 			if (yych <= 't') {
12650 				if (yych == 'm') goto yy60;
12651 				if (yych <= 'r') goto yy761;
12652 				goto yy60;
12653 			} else {
12654 				if (yych <= 'w') {
12655 					if (yych <= 'v') goto yy761;
12656 					goto yy60;
12657 				} else {
12658 					if (yych == 'y') goto yy60;
12659 					goto yy761;
12660 				}
12661 			}
12662 		}
12663 	}
12664 yy787:
12665 	YYDEBUG(787, *YYCURSOR);
12666 	yyaccept = 18;
12667 	yych = *(YYMARKER = ++YYCURSOR);
12668 	if (yybm[0+yych] & 2) {
12669 		goto yy54;
12670 	}
12671 	if (yych <= 'W') {
12672 		if (yych <= 'F') {
12673 			if (yych <= ' ') {
12674 				if (yych == '\t') goto yy59;
12675 				if (yych >= ' ') goto yy59;
12676 			} else {
12677 				if (yych == 'D') goto yy64;
12678 				if (yych >= 'F') goto yy65;
12679 			}
12680 		} else {
12681 			if (yych <= 'M') {
12682 				if (yych == 'H') goto yy63;
12683 				if (yych >= 'M') goto yy62;
12684 			} else {
12685 				if (yych <= 'S') {
12686 					if (yych >= 'S') goto yy61;
12687 				} else {
12688 					if (yych <= 'T') goto yy789;
12689 					if (yych >= 'W') goto yy67;
12690 				}
12691 			}
12692 		}
12693 	} else {
12694 		if (yych <= 'l') {
12695 			if (yych <= 'd') {
12696 				if (yych == 'Y') goto yy66;
12697 				if (yych >= 'd') goto yy64;
12698 			} else {
12699 				if (yych <= 'f') {
12700 					if (yych >= 'f') goto yy65;
12701 				} else {
12702 					if (yych == 'h') goto yy63;
12703 				}
12704 			}
12705 		} else {
12706 			if (yych <= 't') {
12707 				if (yych <= 'm') goto yy62;
12708 				if (yych <= 'r') goto yy788;
12709 				if (yych <= 's') goto yy61;
12710 				goto yy790;
12711 			} else {
12712 				if (yych <= 'w') {
12713 					if (yych >= 'w') goto yy67;
12714 				} else {
12715 					if (yych == 'y') goto yy66;
12716 				}
12717 			}
12718 		}
12719 	}
12720 yy788:
12721 	YYDEBUG(788, *YYCURSOR);
12722 #line 1392 "ext/date/lib/parse_date.re"
12723 	{
12724 		DEBUG_OUTPUT("datenocolon");
12725 		TIMELIB_INIT;
12726 		TIMELIB_HAVE_DATE();
12727 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12728 		s->time->m = timelib_get_nr((char **) &ptr, 2);
12729 		s->time->d = timelib_get_nr((char **) &ptr, 2);
12730 		TIMELIB_DEINIT;
12731 		return TIMELIB_DATE_NOCOLON;
12732 	}
12733 #line 12734 "<stdout>"
12734 yy789:
12735 	YYDEBUG(789, *YYCURSOR);
12736 	yych = *++YYCURSOR;
12737 	if (yych <= 'H') {
12738 		if (yych <= '2') {
12739 			if (yych <= '/') goto yy56;
12740 			if (yych <= '1') goto yy804;
12741 			goto yy805;
12742 		} else {
12743 			if (yych <= '9') goto yy806;
12744 			if (yych <= 'G') goto yy56;
12745 			goto yy69;
12746 		}
12747 	} else {
12748 		if (yych <= 'g') {
12749 			if (yych == 'U') goto yy70;
12750 			goto yy56;
12751 		} else {
12752 			if (yych <= 'h') goto yy69;
12753 			if (yych == 'u') goto yy70;
12754 			goto yy56;
12755 		}
12756 	}
12757 yy790:
12758 	YYDEBUG(790, *YYCURSOR);
12759 	yych = *++YYCURSOR;
12760 	if (yych <= 'H') {
12761 		if (yych <= '2') {
12762 			if (yych <= '/') goto yy56;
12763 			if (yych >= '2') goto yy792;
12764 		} else {
12765 			if (yych <= '9') goto yy793;
12766 			if (yych <= 'G') goto yy56;
12767 			goto yy69;
12768 		}
12769 	} else {
12770 		if (yych <= 'g') {
12771 			if (yych == 'U') goto yy70;
12772 			goto yy56;
12773 		} else {
12774 			if (yych <= 'h') goto yy69;
12775 			if (yych == 'u') goto yy70;
12776 			goto yy56;
12777 		}
12778 	}
12779 	YYDEBUG(791, *YYCURSOR);
12780 	yych = *++YYCURSOR;
12781 	if (yych <= '/') goto yy56;
12782 	if (yych <= '5') goto yy798;
12783 	if (yych <= '9') goto yy793;
12784 	goto yy56;
12785 yy792:
12786 	YYDEBUG(792, *YYCURSOR);
12787 	yych = *++YYCURSOR;
12788 	if (yych <= '/') goto yy56;
12789 	if (yych <= '4') goto yy798;
12790 	if (yych <= '5') goto yy794;
12791 	goto yy56;
12792 yy793:
12793 	YYDEBUG(793, *YYCURSOR);
12794 	yych = *++YYCURSOR;
12795 	if (yych <= '/') goto yy56;
12796 	if (yych >= '6') goto yy56;
12797 yy794:
12798 	YYDEBUG(794, *YYCURSOR);
12799 	yych = *++YYCURSOR;
12800 	if (yych <= '/') goto yy56;
12801 	if (yych >= ':') goto yy56;
12802 yy795:
12803 	YYDEBUG(795, *YYCURSOR);
12804 	yych = *++YYCURSOR;
12805 	if (yych <= '/') goto yy56;
12806 	if (yych <= '5') goto yy796;
12807 	if (yych <= '6') goto yy797;
12808 	goto yy56;
12809 yy796:
12810 	YYDEBUG(796, *YYCURSOR);
12811 	yych = *++YYCURSOR;
12812 	if (yych <= '/') goto yy56;
12813 	if (yych <= '9') goto yy781;
12814 	goto yy56;
12815 yy797:
12816 	YYDEBUG(797, *YYCURSOR);
12817 	yych = *++YYCURSOR;
12818 	if (yych == '0') goto yy781;
12819 	goto yy56;
12820 yy798:
12821 	YYDEBUG(798, *YYCURSOR);
12822 	yych = *++YYCURSOR;
12823 	if (yych <= '/') goto yy56;
12824 	if (yych <= '5') goto yy799;
12825 	if (yych <= '9') goto yy795;
12826 	goto yy56;
12827 yy799:
12828 	YYDEBUG(799, *YYCURSOR);
12829 	yych = *++YYCURSOR;
12830 	if (yych <= '/') goto yy56;
12831 	if (yych <= '5') goto yy800;
12832 	if (yych <= '6') goto yy801;
12833 	if (yych <= '9') goto yy795;
12834 	goto yy56;
12835 yy800:
12836 	YYDEBUG(800, *YYCURSOR);
12837 	yych = *++YYCURSOR;
12838 	if (yych <= '/') goto yy56;
12839 	if (yych <= '5') goto yy802;
12840 	if (yych <= '6') goto yy803;
12841 	if (yych <= '9') goto yy781;
12842 	goto yy56;
12843 yy801:
12844 	YYDEBUG(801, *YYCURSOR);
12845 	yych = *++YYCURSOR;
12846 	if (yych <= '/') goto yy56;
12847 	if (yych <= '0') goto yy802;
12848 	if (yych <= '5') goto yy796;
12849 	if (yych <= '6') goto yy797;
12850 	goto yy56;
12851 yy802:
12852 	YYDEBUG(802, *YYCURSOR);
12853 	yych = *++YYCURSOR;
12854 	if (yych <= '/') goto yy782;
12855 	if (yych <= '9') goto yy781;
12856 	goto yy782;
12857 yy803:
12858 	YYDEBUG(803, *YYCURSOR);
12859 	yych = *++YYCURSOR;
12860 	if (yych == '0') goto yy781;
12861 	goto yy782;
12862 yy804:
12863 	YYDEBUG(804, *YYCURSOR);
12864 	yych = *++YYCURSOR;
12865 	if (yych <= '/') goto yy56;
12866 	if (yych <= '5') goto yy813;
12867 	if (yych <= '9') goto yy806;
12868 	if (yych <= ':') goto yy807;
12869 	goto yy56;
12870 yy805:
12871 	YYDEBUG(805, *YYCURSOR);
12872 	yych = *++YYCURSOR;
12873 	if (yych <= '5') {
12874 		if (yych <= '/') goto yy56;
12875 		if (yych <= '4') goto yy813;
12876 		goto yy794;
12877 	} else {
12878 		if (yych == ':') goto yy807;
12879 		goto yy56;
12880 	}
12881 yy806:
12882 	YYDEBUG(806, *YYCURSOR);
12883 	yych = *++YYCURSOR;
12884 	if (yych <= '/') goto yy56;
12885 	if (yych <= '5') goto yy794;
12886 	if (yych != ':') goto yy56;
12887 yy807:
12888 	YYDEBUG(807, *YYCURSOR);
12889 	yych = *++YYCURSOR;
12890 	if (yych <= '/') goto yy56;
12891 	if (yych >= '6') goto yy56;
12892 	YYDEBUG(808, *YYCURSOR);
12893 	yych = *++YYCURSOR;
12894 	if (yych <= '/') goto yy56;
12895 	if (yych >= ':') goto yy56;
12896 	YYDEBUG(809, *YYCURSOR);
12897 	yych = *++YYCURSOR;
12898 	if (yych != ':') goto yy56;
12899 	YYDEBUG(810, *YYCURSOR);
12900 	yych = *++YYCURSOR;
12901 	if (yych <= '/') goto yy56;
12902 	if (yych <= '5') goto yy811;
12903 	if (yych <= '6') goto yy812;
12904 	goto yy56;
12905 yy811:
12906 	YYDEBUG(811, *YYCURSOR);
12907 	yych = *++YYCURSOR;
12908 	if (yych <= '/') goto yy56;
12909 	if (yych <= '9') goto yy781;
12910 	goto yy56;
12911 yy812:
12912 	YYDEBUG(812, *YYCURSOR);
12913 	yych = *++YYCURSOR;
12914 	if (yych == '0') goto yy781;
12915 	goto yy56;
12916 yy813:
12917 	YYDEBUG(813, *YYCURSOR);
12918 	yych = *++YYCURSOR;
12919 	if (yych <= '/') goto yy56;
12920 	if (yych <= '5') goto yy799;
12921 	if (yych <= '9') goto yy795;
12922 	if (yych <= ':') goto yy807;
12923 	goto yy56;
12924 yy814:
12925 	YYDEBUG(814, *YYCURSOR);
12926 	yych = *++YYCURSOR;
12927 	if (yych <= '2') {
12928 		if (yych <= '/') goto yy60;
12929 		if (yych <= '0') goto yy816;
12930 		goto yy785;
12931 	} else {
12932 		if (yych <= '3') goto yy786;
12933 		if (yych <= '9') goto yy760;
12934 		goto yy60;
12935 	}
12936 yy815:
12937 	YYDEBUG(815, *YYCURSOR);
12938 	yych = *++YYCURSOR;
12939 	if (yych <= '2') {
12940 		if (yych <= '/') goto yy60;
12941 		if (yych <= '0') goto yy784;
12942 		goto yy785;
12943 	} else {
12944 		if (yych <= '3') goto yy786;
12945 		if (yych <= '9') goto yy760;
12946 		goto yy60;
12947 	}
12948 yy816:
12949 	YYDEBUG(816, *YYCURSOR);
12950 	yych = *++YYCURSOR;
12951 	if (yych <= '/') goto yy60;
12952 	if (yych <= '9') goto yy787;
12953 	goto yy60;
12954 yy817:
12955 	YYDEBUG(817, *YYCURSOR);
12956 	yych = *++YYCURSOR;
12957 	if (yych == 'C') goto yy818;
12958 	if (yych != 'c') goto yy56;
12959 yy818:
12960 	YYDEBUG(818, *YYCURSOR);
12961 	yyaccept = 19;
12962 	yych = *(YYMARKER = ++YYCURSOR);
12963 	if (yych == 'E') goto yy819;
12964 	if (yych != 'e') goto yy733;
12965 yy819:
12966 	YYDEBUG(819, *YYCURSOR);
12967 	yych = *++YYCURSOR;
12968 	if (yych == 'M') goto yy820;
12969 	if (yych != 'm') goto yy56;
12970 yy820:
12971 	YYDEBUG(820, *YYCURSOR);
12972 	yych = *++YYCURSOR;
12973 	if (yych == 'B') goto yy821;
12974 	if (yych != 'b') goto yy56;
12975 yy821:
12976 	YYDEBUG(821, *YYCURSOR);
12977 	yych = *++YYCURSOR;
12978 	if (yych == 'E') goto yy822;
12979 	if (yych != 'e') goto yy56;
12980 yy822:
12981 	YYDEBUG(822, *YYCURSOR);
12982 	yych = *++YYCURSOR;
12983 	if (yych == 'R') goto yy823;
12984 	if (yych != 'r') goto yy56;
12985 yy823:
12986 	YYDEBUG(823, *YYCURSOR);
12987 	yych = *++YYCURSOR;
12988 	goto yy733;
12989 yy824:
12990 	YYDEBUG(824, *YYCURSOR);
12991 	yych = *++YYCURSOR;
12992 	if (yych == 'V') goto yy825;
12993 	if (yych != 'v') goto yy56;
12994 yy825:
12995 	YYDEBUG(825, *YYCURSOR);
12996 	yyaccept = 19;
12997 	yych = *(YYMARKER = ++YYCURSOR);
12998 	if (yych == 'E') goto yy826;
12999 	if (yych != 'e') goto yy733;
13000 yy826:
13001 	YYDEBUG(826, *YYCURSOR);
13002 	yych = *++YYCURSOR;
13003 	if (yych == 'M') goto yy827;
13004 	if (yych != 'm') goto yy56;
13005 yy827:
13006 	YYDEBUG(827, *YYCURSOR);
13007 	yych = *++YYCURSOR;
13008 	if (yych == 'B') goto yy828;
13009 	if (yych != 'b') goto yy56;
13010 yy828:
13011 	YYDEBUG(828, *YYCURSOR);
13012 	yych = *++YYCURSOR;
13013 	if (yych == 'E') goto yy829;
13014 	if (yych != 'e') goto yy56;
13015 yy829:
13016 	YYDEBUG(829, *YYCURSOR);
13017 	yych = *++YYCURSOR;
13018 	if (yych == 'R') goto yy823;
13019 	if (yych == 'r') goto yy823;
13020 	goto yy56;
13021 yy830:
13022 	YYDEBUG(830, *YYCURSOR);
13023 	yych = *++YYCURSOR;
13024 	if (yych == 'T') goto yy831;
13025 	if (yych != 't') goto yy56;
13026 yy831:
13027 	YYDEBUG(831, *YYCURSOR);
13028 	yyaccept = 19;
13029 	yych = *(YYMARKER = ++YYCURSOR);
13030 	if (yych == 'O') goto yy832;
13031 	if (yych != 'o') goto yy733;
13032 yy832:
13033 	YYDEBUG(832, *YYCURSOR);
13034 	yych = *++YYCURSOR;
13035 	if (yych == 'B') goto yy833;
13036 	if (yych != 'b') goto yy56;
13037 yy833:
13038 	YYDEBUG(833, *YYCURSOR);
13039 	yych = *++YYCURSOR;
13040 	if (yych == 'E') goto yy834;
13041 	if (yych != 'e') goto yy56;
13042 yy834:
13043 	YYDEBUG(834, *YYCURSOR);
13044 	yych = *++YYCURSOR;
13045 	if (yych == 'R') goto yy823;
13046 	if (yych == 'r') goto yy823;
13047 	goto yy56;
13048 yy835:
13049 	YYDEBUG(835, *YYCURSOR);
13050 	yych = *++YYCURSOR;
13051 	if (yych <= 'P') {
13052 		if (yych == 'C') goto yy128;
13053 		if (yych <= 'O') goto yy56;
13054 	} else {
13055 		if (yych <= 'c') {
13056 			if (yych <= 'b') goto yy56;
13057 			goto yy128;
13058 		} else {
13059 			if (yych != 'p') goto yy56;
13060 		}
13061 	}
13062 yy836:
13063 	YYDEBUG(836, *YYCURSOR);
13064 	yych = *++YYCURSOR;
13065 	if (yych == 'T') goto yy837;
13066 	if (yych != 't') goto yy733;
13067 yy837:
13068 	YYDEBUG(837, *YYCURSOR);
13069 	yyaccept = 19;
13070 	yych = *(YYMARKER = ++YYCURSOR);
13071 	if (yych == 'E') goto yy838;
13072 	if (yych != 'e') goto yy733;
13073 yy838:
13074 	YYDEBUG(838, *YYCURSOR);
13075 	yych = *++YYCURSOR;
13076 	if (yych == 'M') goto yy839;
13077 	if (yych != 'm') goto yy56;
13078 yy839:
13079 	YYDEBUG(839, *YYCURSOR);
13080 	yych = *++YYCURSOR;
13081 	if (yych == 'B') goto yy840;
13082 	if (yych != 'b') goto yy56;
13083 yy840:
13084 	YYDEBUG(840, *YYCURSOR);
13085 	yych = *++YYCURSOR;
13086 	if (yych == 'E') goto yy841;
13087 	if (yych != 'e') goto yy56;
13088 yy841:
13089 	YYDEBUG(841, *YYCURSOR);
13090 	yych = *++YYCURSOR;
13091 	if (yych == 'R') goto yy823;
13092 	if (yych == 'r') goto yy823;
13093 	goto yy56;
13094 yy842:
13095 	YYDEBUG(842, *YYCURSOR);
13096 	yych = *++YYCURSOR;
13097 	if (yych == 'G') goto yy846;
13098 	if (yych == 'g') goto yy846;
13099 	goto yy56;
13100 yy843:
13101 	YYDEBUG(843, *YYCURSOR);
13102 	yych = *++YYCURSOR;
13103 	if (yych == 'R') goto yy844;
13104 	if (yych != 'r') goto yy56;
13105 yy844:
13106 	YYDEBUG(844, *YYCURSOR);
13107 	yyaccept = 19;
13108 	yych = *(YYMARKER = ++YYCURSOR);
13109 	if (yych == 'I') goto yy845;
13110 	if (yych != 'i') goto yy733;
13111 yy845:
13112 	YYDEBUG(845, *YYCURSOR);
13113 	yych = *++YYCURSOR;
13114 	if (yych == 'L') goto yy823;
13115 	if (yych == 'l') goto yy823;
13116 	goto yy56;
13117 yy846:
13118 	YYDEBUG(846, *YYCURSOR);
13119 	yyaccept = 19;
13120 	yych = *(YYMARKER = ++YYCURSOR);
13121 	if (yych == 'U') goto yy847;
13122 	if (yych != 'u') goto yy733;
13123 yy847:
13124 	YYDEBUG(847, *YYCURSOR);
13125 	yych = *++YYCURSOR;
13126 	if (yych == 'S') goto yy848;
13127 	if (yych != 's') goto yy56;
13128 yy848:
13129 	YYDEBUG(848, *YYCURSOR);
13130 	yych = *++YYCURSOR;
13131 	if (yych == 'T') goto yy823;
13132 	if (yych == 't') goto yy823;
13133 	goto yy56;
13134 yy849:
13135 	YYDEBUG(849, *YYCURSOR);
13136 	yych = *++YYCURSOR;
13137 	if (yych <= 'Y') {
13138 		if (yych == 'R') goto yy850;
13139 		if (yych <= 'X') goto yy56;
13140 		goto yy823;
13141 	} else {
13142 		if (yych <= 'r') {
13143 			if (yych <= 'q') goto yy56;
13144 		} else {
13145 			if (yych == 'y') goto yy823;
13146 			goto yy56;
13147 		}
13148 	}
13149 yy850:
13150 	YYDEBUG(850, *YYCURSOR);
13151 	yyaccept = 19;
13152 	yych = *(YYMARKER = ++YYCURSOR);
13153 	if (yych == 'C') goto yy851;
13154 	if (yych != 'c') goto yy733;
13155 yy851:
13156 	YYDEBUG(851, *YYCURSOR);
13157 	yych = *++YYCURSOR;
13158 	if (yych == 'H') goto yy823;
13159 	if (yych == 'h') goto yy823;
13160 	goto yy56;
13161 yy852:
13162 	YYDEBUG(852, *YYCURSOR);
13163 	yych = *++YYCURSOR;
13164 	if (yych == 'B') goto yy853;
13165 	if (yych != 'b') goto yy56;
13166 yy853:
13167 	YYDEBUG(853, *YYCURSOR);
13168 	yyaccept = 19;
13169 	yych = *(YYMARKER = ++YYCURSOR);
13170 	if (yych == 'R') goto yy854;
13171 	if (yych != 'r') goto yy733;
13172 yy854:
13173 	YYDEBUG(854, *YYCURSOR);
13174 	yych = *++YYCURSOR;
13175 	if (yych == 'U') goto yy855;
13176 	if (yych != 'u') goto yy56;
13177 yy855:
13178 	YYDEBUG(855, *YYCURSOR);
13179 	yych = *++YYCURSOR;
13180 	if (yych == 'A') goto yy856;
13181 	if (yych != 'a') goto yy56;
13182 yy856:
13183 	YYDEBUG(856, *YYCURSOR);
13184 	yych = *++YYCURSOR;
13185 	if (yych == 'R') goto yy857;
13186 	if (yych != 'r') goto yy56;
13187 yy857:
13188 	YYDEBUG(857, *YYCURSOR);
13189 	yych = *++YYCURSOR;
13190 	if (yych == 'Y') goto yy823;
13191 	if (yych == 'y') goto yy823;
13192 	goto yy56;
13193 yy858:
13194 	YYDEBUG(858, *YYCURSOR);
13195 	yych = *++YYCURSOR;
13196 	if (yych <= 'N') {
13197 		if (yych == 'L') goto yy865;
13198 		if (yych <= 'M') goto yy56;
13199 		goto yy864;
13200 	} else {
13201 		if (yych <= 'l') {
13202 			if (yych <= 'k') goto yy56;
13203 			goto yy865;
13204 		} else {
13205 			if (yych == 'n') goto yy864;
13206 			goto yy56;
13207 		}
13208 	}
13209 yy859:
13210 	YYDEBUG(859, *YYCURSOR);
13211 	yych = *++YYCURSOR;
13212 	if (yych == 'N') goto yy860;
13213 	if (yych != 'n') goto yy56;
13214 yy860:
13215 	YYDEBUG(860, *YYCURSOR);
13216 	yyaccept = 19;
13217 	yych = *(YYMARKER = ++YYCURSOR);
13218 	if (yych == 'U') goto yy861;
13219 	if (yych != 'u') goto yy733;
13220 yy861:
13221 	YYDEBUG(861, *YYCURSOR);
13222 	yych = *++YYCURSOR;
13223 	if (yych == 'A') goto yy862;
13224 	if (yych != 'a') goto yy56;
13225 yy862:
13226 	YYDEBUG(862, *YYCURSOR);
13227 	yych = *++YYCURSOR;
13228 	if (yych == 'R') goto yy863;
13229 	if (yych != 'r') goto yy56;
13230 yy863:
13231 	YYDEBUG(863, *YYCURSOR);
13232 	yych = *++YYCURSOR;
13233 	if (yych == 'Y') goto yy823;
13234 	if (yych == 'y') goto yy823;
13235 	goto yy56;
13236 yy864:
13237 	YYDEBUG(864, *YYCURSOR);
13238 	yych = *++YYCURSOR;
13239 	if (yych == 'E') goto yy823;
13240 	if (yych == 'e') goto yy823;
13241 	goto yy733;
13242 yy865:
13243 	YYDEBUG(865, *YYCURSOR);
13244 	yych = *++YYCURSOR;
13245 	if (yych == 'Y') goto yy823;
13246 	if (yych == 'y') goto yy823;
13247 	goto yy733;
13248 yy866:
13249 	YYDEBUG(866, *YYCURSOR);
13250 	yych = *++YYCURSOR;
13251 	if (yych == 'I') goto yy823;
13252 	goto yy733;
13253 yy867:
13254 	YYDEBUG(867, *YYCURSOR);
13255 	yych = *++YYCURSOR;
13256 	if (yych != 'I') goto yy733;
13257 	YYDEBUG(868, *YYCURSOR);
13258 	yych = *++YYCURSOR;
13259 	if (yych == 'I') goto yy823;
13260 	goto yy733;
13261 yy869:
13262 	YYDEBUG(869, *YYCURSOR);
13263 	yych = *++YYCURSOR;
13264 	if (yych == 'I') goto yy823;
13265 	goto yy733;
13266 yy870:
13267 	YYDEBUG(870, *YYCURSOR);
13268 	yych = *++YYCURSOR;
13269 	if (yych <= '/') goto yy56;
13270 	if (yych <= '0') goto yy885;
13271 	if (yych <= '9') goto yy884;
13272 	goto yy56;
13273 yy871:
13274 	YYDEBUG(871, *YYCURSOR);
13275 	yych = *++YYCURSOR;
13276 	if (yych <= '/') goto yy56;
13277 	if (yych <= '9') goto yy883;
13278 	goto yy56;
13279 yy872:
13280 	YYDEBUG(872, *YYCURSOR);
13281 	yych = *++YYCURSOR;
13282 	if (yych <= '/') goto yy56;
13283 	if (yych <= '5') goto yy881;
13284 	if (yych <= '6') goto yy880;
13285 	goto yy56;
13286 yy873:
13287 	YYDEBUG(873, *YYCURSOR);
13288 	yych = *++YYCURSOR;
13289 	if (yych == 'E') goto yy852;
13290 	if (yych == 'e') goto yy852;
13291 	goto yy56;
13292 yy874:
13293 	YYDEBUG(874, *YYCURSOR);
13294 	yych = *++YYCURSOR;
13295 	if (yych == 'A') goto yy849;
13296 	if (yych == 'a') goto yy849;
13297 	goto yy56;
13298 yy875:
13299 	YYDEBUG(875, *YYCURSOR);
13300 	yych = *++YYCURSOR;
13301 	if (yych == 'E') goto yy879;
13302 	if (yych == 'e') goto yy879;
13303 	goto yy56;
13304 yy876:
13305 	YYDEBUG(876, *YYCURSOR);
13306 	yych = *++YYCURSOR;
13307 	if (yych == 'E') goto yy817;
13308 	if (yych == 'e') goto yy817;
13309 	goto yy56;
13310 yy877:
13311 	YYDEBUG(877, *YYCURSOR);
13312 	++YYCURSOR;
13313 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
13314 	yych = *YYCURSOR;
13315 yy878:
13316 	YYDEBUG(878, *YYCURSOR);
13317 	switch (yych) {
13318 	case '\t':
13319 	case ' ':
13320 	case '-':
13321 	case '.':	goto yy877;
13322 	case 'A':
13323 	case 'a':	goto yy739;
13324 	case 'D':
13325 	case 'd':	goto yy876;
13326 	case 'F':
13327 	case 'f':	goto yy873;
13328 	case 'I':	goto yy732;
13329 	case 'J':
13330 	case 'j':	goto yy736;
13331 	case 'M':
13332 	case 'm':	goto yy874;
13333 	case 'N':
13334 	case 'n':	goto yy742;
13335 	case 'O':
13336 	case 'o':	goto yy741;
13337 	case 'S':
13338 	case 's':	goto yy875;
13339 	case 'V':	goto yy734;
13340 	case 'X':	goto yy735;
13341 	default:	goto yy56;
13342 	}
13343 yy879:
13344 	YYDEBUG(879, *YYCURSOR);
13345 	yych = *++YYCURSOR;
13346 	if (yych == 'P') goto yy836;
13347 	if (yych == 'p') goto yy836;
13348 	goto yy56;
13349 yy880:
13350 	YYDEBUG(880, *YYCURSOR);
13351 	yych = *++YYCURSOR;
13352 	if (yych <= '/') goto yy56;
13353 	if (yych <= '6') goto yy882;
13354 	goto yy56;
13355 yy881:
13356 	YYDEBUG(881, *YYCURSOR);
13357 	yych = *++YYCURSOR;
13358 	if (yych <= '/') goto yy56;
13359 	if (yych >= ':') goto yy56;
13360 yy882:
13361 	YYDEBUG(882, *YYCURSOR);
13362 	yych = *++YYCURSOR;
13363 	goto yy761;
13364 yy883:
13365 	YYDEBUG(883, *YYCURSOR);
13366 	yych = *++YYCURSOR;
13367 	if (yych <= '/') goto yy56;
13368 	if (yych <= '9') goto yy882;
13369 	goto yy56;
13370 yy884:
13371 	YYDEBUG(884, *YYCURSOR);
13372 	yych = *++YYCURSOR;
13373 	if (yych <= '/') goto yy56;
13374 	if (yych <= '9') goto yy882;
13375 	goto yy56;
13376 yy885:
13377 	YYDEBUG(885, *YYCURSOR);
13378 	yych = *++YYCURSOR;
13379 	if (yych <= '0') goto yy56;
13380 	if (yych <= '9') goto yy882;
13381 	goto yy56;
13382 yy886:
13383 	YYDEBUG(886, *YYCURSOR);
13384 	yych = *++YYCURSOR;
13385 	if (yych <= '.') goto yy56;
13386 	if (yych <= '/') goto yy889;
13387 	if (yych <= '9') goto yy897;
13388 	goto yy56;
13389 yy887:
13390 	YYDEBUG(887, *YYCURSOR);
13391 	yych = *++YYCURSOR;
13392 	if (yych <= '.') goto yy56;
13393 	if (yych <= '/') goto yy889;
13394 	if (yych <= '2') goto yy897;
13395 	goto yy56;
13396 yy888:
13397 	YYDEBUG(888, *YYCURSOR);
13398 	yych = *++YYCURSOR;
13399 	if (yych != '/') goto yy56;
13400 yy889:
13401 	YYDEBUG(889, *YYCURSOR);
13402 	yych = *++YYCURSOR;
13403 	if (yych <= '/') goto yy56;
13404 	if (yych <= '2') goto yy890;
13405 	if (yych <= '3') goto yy891;
13406 	if (yych <= '9') goto yy892;
13407 	goto yy56;
13408 yy890:
13409 	YYDEBUG(890, *YYCURSOR);
13410 	yyaccept = 20;
13411 	yych = *(YYMARKER = ++YYCURSOR);
13412 	if (yych <= 'n') {
13413 		if (yych <= '/') goto yy394;
13414 		if (yych <= '9') goto yy892;
13415 		if (yych <= 'm') goto yy394;
13416 		goto yy894;
13417 	} else {
13418 		if (yych <= 'r') {
13419 			if (yych <= 'q') goto yy394;
13420 			goto yy895;
13421 		} else {
13422 			if (yych <= 's') goto yy893;
13423 			if (yych <= 't') goto yy896;
13424 			goto yy394;
13425 		}
13426 	}
13427 yy891:
13428 	YYDEBUG(891, *YYCURSOR);
13429 	yyaccept = 20;
13430 	yych = *(YYMARKER = ++YYCURSOR);
13431 	if (yych <= 'n') {
13432 		if (yych <= '/') goto yy394;
13433 		if (yych <= '1') goto yy892;
13434 		if (yych <= 'm') goto yy394;
13435 		goto yy894;
13436 	} else {
13437 		if (yych <= 'r') {
13438 			if (yych <= 'q') goto yy394;
13439 			goto yy895;
13440 		} else {
13441 			if (yych <= 's') goto yy893;
13442 			if (yych <= 't') goto yy896;
13443 			goto yy394;
13444 		}
13445 	}
13446 yy892:
13447 	YYDEBUG(892, *YYCURSOR);
13448 	yyaccept = 20;
13449 	yych = *(YYMARKER = ++YYCURSOR);
13450 	if (yych <= 'q') {
13451 		if (yych == 'n') goto yy894;
13452 		goto yy394;
13453 	} else {
13454 		if (yych <= 'r') goto yy895;
13455 		if (yych <= 's') goto yy893;
13456 		if (yych <= 't') goto yy896;
13457 		goto yy394;
13458 	}
13459 yy893:
13460 	YYDEBUG(893, *YYCURSOR);
13461 	yych = *++YYCURSOR;
13462 	if (yych == 't') goto yy393;
13463 	goto yy56;
13464 yy894:
13465 	YYDEBUG(894, *YYCURSOR);
13466 	yych = *++YYCURSOR;
13467 	if (yych == 'd') goto yy393;
13468 	goto yy56;
13469 yy895:
13470 	YYDEBUG(895, *YYCURSOR);
13471 	yych = *++YYCURSOR;
13472 	if (yych == 'd') goto yy393;
13473 	goto yy56;
13474 yy896:
13475 	YYDEBUG(896, *YYCURSOR);
13476 	yych = *++YYCURSOR;
13477 	if (yych == 'h') goto yy393;
13478 	goto yy56;
13479 yy897:
13480 	YYDEBUG(897, *YYCURSOR);
13481 	yych = *++YYCURSOR;
13482 	if (yych != '/') goto yy56;
13483 	YYDEBUG(898, *YYCURSOR);
13484 	yych = *++YYCURSOR;
13485 	if (yych <= '2') {
13486 		if (yych <= '/') goto yy56;
13487 		if (yych >= '1') goto yy900;
13488 	} else {
13489 		if (yych <= '3') goto yy901;
13490 		if (yych <= '9') goto yy892;
13491 		goto yy56;
13492 	}
13493 	YYDEBUG(899, *YYCURSOR);
13494 	yyaccept = 20;
13495 	yych = *(YYMARKER = ++YYCURSOR);
13496 	if (yych <= 'n') {
13497 		if (yych <= '/') goto yy394;
13498 		if (yych <= '9') goto yy902;
13499 		if (yych <= 'm') goto yy394;
13500 		goto yy894;
13501 	} else {
13502 		if (yych <= 'r') {
13503 			if (yych <= 'q') goto yy394;
13504 			goto yy895;
13505 		} else {
13506 			if (yych <= 's') goto yy893;
13507 			if (yych <= 't') goto yy896;
13508 			goto yy394;
13509 		}
13510 	}
13511 yy900:
13512 	YYDEBUG(900, *YYCURSOR);
13513 	yyaccept = 20;
13514 	yych = *(YYMARKER = ++YYCURSOR);
13515 	if (yych <= 'n') {
13516 		if (yych <= '/') goto yy394;
13517 		if (yych <= '9') goto yy902;
13518 		if (yych <= 'm') goto yy394;
13519 		goto yy894;
13520 	} else {
13521 		if (yych <= 'r') {
13522 			if (yych <= 'q') goto yy394;
13523 			goto yy895;
13524 		} else {
13525 			if (yych <= 's') goto yy893;
13526 			if (yych <= 't') goto yy896;
13527 			goto yy394;
13528 		}
13529 	}
13530 yy901:
13531 	YYDEBUG(901, *YYCURSOR);
13532 	yyaccept = 20;
13533 	yych = *(YYMARKER = ++YYCURSOR);
13534 	if (yych <= 'n') {
13535 		if (yych <= '/') goto yy394;
13536 		if (yych <= '1') goto yy902;
13537 		if (yych <= 'm') goto yy394;
13538 		goto yy894;
13539 	} else {
13540 		if (yych <= 'r') {
13541 			if (yych <= 'q') goto yy394;
13542 			goto yy895;
13543 		} else {
13544 			if (yych <= 's') goto yy893;
13545 			if (yych <= 't') goto yy896;
13546 			goto yy394;
13547 		}
13548 	}
13549 yy902:
13550 	YYDEBUG(902, *YYCURSOR);
13551 	yyaccept = 20;
13552 	yych = *(YYMARKER = ++YYCURSOR);
13553 	if (yych <= 'n') {
13554 		if (yych == '/') goto yy393;
13555 		if (yych <= 'm') goto yy394;
13556 		goto yy894;
13557 	} else {
13558 		if (yych <= 'r') {
13559 			if (yych <= 'q') goto yy394;
13560 			goto yy895;
13561 		} else {
13562 			if (yych <= 's') goto yy893;
13563 			if (yych <= 't') goto yy896;
13564 			goto yy394;
13565 		}
13566 	}
13567 yy903:
13568 	YYDEBUG(903, *YYCURSOR);
13569 	yych = *++YYCURSOR;
13570 	if (yych <= 'U') {
13571 		if (yych == 'A') goto yy983;
13572 		if (yych <= 'T') goto yy56;
13573 		goto yy982;
13574 	} else {
13575 		if (yych <= 'a') {
13576 			if (yych <= '`') goto yy56;
13577 			goto yy983;
13578 		} else {
13579 			if (yych == 'u') goto yy982;
13580 			goto yy56;
13581 		}
13582 	}
13583 yy904:
13584 	YYDEBUG(904, *YYCURSOR);
13585 	yych = *++YYCURSOR;
13586 	if (yych == 'E') goto yy980;
13587 	if (yych == 'e') goto yy980;
13588 	goto yy56;
13589 yy905:
13590 	YYDEBUG(905, *YYCURSOR);
13591 	yych = *++YYCURSOR;
13592 	if (yych == 'A') goto yy977;
13593 	if (yych == 'a') goto yy977;
13594 	goto yy56;
13595 yy906:
13596 	YYDEBUG(906, *YYCURSOR);
13597 	yych = *++YYCURSOR;
13598 	if (yych <= 'U') {
13599 		if (yych == 'P') goto yy974;
13600 		if (yych <= 'T') goto yy56;
13601 		goto yy973;
13602 	} else {
13603 		if (yych <= 'p') {
13604 			if (yych <= 'o') goto yy56;
13605 			goto yy974;
13606 		} else {
13607 			if (yych == 'u') goto yy973;
13608 			goto yy56;
13609 		}
13610 	}
13611 yy907:
13612 	YYDEBUG(907, *YYCURSOR);
13613 	yych = *++YYCURSOR;
13614 	if (yych == 'E') goto yy970;
13615 	if (yych == 'e') goto yy970;
13616 	goto yy56;
13617 yy908:
13618 	YYDEBUG(908, *YYCURSOR);
13619 	yych = *++YYCURSOR;
13620 	if (yych == 'C') goto yy968;
13621 	if (yych == 'c') goto yy968;
13622 	goto yy56;
13623 yy909:
13624 	YYDEBUG(909, *YYCURSOR);
13625 	yych = *++YYCURSOR;
13626 	if (yych == 'O') goto yy966;
13627 	if (yych == 'o') goto yy966;
13628 	goto yy56;
13629 yy910:
13630 	YYDEBUG(910, *YYCURSOR);
13631 	yych = *++YYCURSOR;
13632 	if (yych == 'E') goto yy964;
13633 	if (yych == 'e') goto yy964;
13634 	goto yy56;
13635 yy911:
13636 	YYDEBUG(911, *YYCURSOR);
13637 	yych = *++YYCURSOR;
13638 	if (yych <= '/') goto yy56;
13639 	if (yych <= '0') goto yy750;
13640 	if (yych <= '4') goto yy751;
13641 	if (yych <= '5') goto yy752;
13642 	goto yy56;
13643 yy912:
13644 	YYDEBUG(912, *YYCURSOR);
13645 	yyaccept = 21;
13646 	yych = *(YYMARKER = ++YYCURSOR);
13647 	if (yych == '-') goto yy916;
13648 	if (yych <= '/') goto yy913;
13649 	if (yych <= '9') goto yy935;
13650 yy913:
13651 	YYDEBUG(913, *YYCURSOR);
13652 #line 1269 "ext/date/lib/parse_date.re"
13653 	{
13654 		int length = 0;
13655 		DEBUG_OUTPUT("gnudateshorter");
13656 		TIMELIB_INIT;
13657 		TIMELIB_HAVE_DATE();
13658 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
13659 		s->time->m = timelib_get_nr((char **) &ptr, 2);
13660 		s->time->d = 1;
13661 		TIMELIB_PROCESS_YEAR(s->time->y, length);
13662 		TIMELIB_DEINIT;
13663 		return TIMELIB_ISO_DATE;
13664 	}
13665 #line 13666 "<stdout>"
13666 yy914:
13667 	YYDEBUG(914, *YYCURSOR);
13668 	yyaccept = 21;
13669 	yych = *(YYMARKER = ++YYCURSOR);
13670 	if (yych == '-') goto yy916;
13671 	if (yych <= '/') goto yy913;
13672 	if (yych <= '2') goto yy935;
13673 	goto yy913;
13674 yy915:
13675 	YYDEBUG(915, *YYCURSOR);
13676 	yyaccept = 21;
13677 	yych = *(YYMARKER = ++YYCURSOR);
13678 	if (yych != '-') goto yy913;
13679 yy916:
13680 	YYDEBUG(916, *YYCURSOR);
13681 	yych = *++YYCURSOR;
13682 	if (yych <= '/') goto yy56;
13683 	if (yych <= '2') goto yy917;
13684 	if (yych <= '3') goto yy918;
13685 	if (yych <= '9') goto yy919;
13686 	goto yy56;
13687 yy917:
13688 	YYDEBUG(917, *YYCURSOR);
13689 	yyaccept = 12;
13690 	yych = *(YYMARKER = ++YYCURSOR);
13691 	if (yych <= 'm') {
13692 		if (yych <= '9') {
13693 			if (yych <= '/') goto yy596;
13694 			goto yy919;
13695 		} else {
13696 			if (yych == 'T') goto yy924;
13697 			goto yy596;
13698 		}
13699 	} else {
13700 		if (yych <= 'r') {
13701 			if (yych <= 'n') goto yy921;
13702 			if (yych <= 'q') goto yy596;
13703 			goto yy922;
13704 		} else {
13705 			if (yych <= 's') goto yy920;
13706 			if (yych <= 't') goto yy923;
13707 			goto yy596;
13708 		}
13709 	}
13710 yy918:
13711 	YYDEBUG(918, *YYCURSOR);
13712 	yyaccept = 12;
13713 	yych = *(YYMARKER = ++YYCURSOR);
13714 	if (yych <= 'm') {
13715 		if (yych <= '1') {
13716 			if (yych <= '/') goto yy596;
13717 		} else {
13718 			if (yych == 'T') goto yy924;
13719 			goto yy596;
13720 		}
13721 	} else {
13722 		if (yych <= 'r') {
13723 			if (yych <= 'n') goto yy921;
13724 			if (yych <= 'q') goto yy596;
13725 			goto yy922;
13726 		} else {
13727 			if (yych <= 's') goto yy920;
13728 			if (yych <= 't') goto yy923;
13729 			goto yy596;
13730 		}
13731 	}
13732 yy919:
13733 	YYDEBUG(919, *YYCURSOR);
13734 	yyaccept = 12;
13735 	yych = *(YYMARKER = ++YYCURSOR);
13736 	if (yych <= 'n') {
13737 		if (yych == 'T') goto yy924;
13738 		if (yych <= 'm') goto yy596;
13739 		goto yy921;
13740 	} else {
13741 		if (yych <= 'r') {
13742 			if (yych <= 'q') goto yy596;
13743 			goto yy922;
13744 		} else {
13745 			if (yych <= 's') goto yy920;
13746 			if (yych <= 't') goto yy923;
13747 			goto yy596;
13748 		}
13749 	}
13750 yy920:
13751 	YYDEBUG(920, *YYCURSOR);
13752 	yych = *++YYCURSOR;
13753 	if (yych == 't') goto yy934;
13754 	goto yy56;
13755 yy921:
13756 	YYDEBUG(921, *YYCURSOR);
13757 	yych = *++YYCURSOR;
13758 	if (yych == 'd') goto yy934;
13759 	goto yy56;
13760 yy922:
13761 	YYDEBUG(922, *YYCURSOR);
13762 	yych = *++YYCURSOR;
13763 	if (yych == 'd') goto yy934;
13764 	goto yy56;
13765 yy923:
13766 	YYDEBUG(923, *YYCURSOR);
13767 	yych = *++YYCURSOR;
13768 	if (yych == 'h') goto yy934;
13769 	goto yy56;
13770 yy924:
13771 	YYDEBUG(924, *YYCURSOR);
13772 	yych = *++YYCURSOR;
13773 	if (yych <= '/') goto yy56;
13774 	if (yych <= '1') goto yy925;
13775 	if (yych <= '2') goto yy926;
13776 	if (yych <= '9') goto yy927;
13777 	goto yy56;
13778 yy925:
13779 	YYDEBUG(925, *YYCURSOR);
13780 	yych = *++YYCURSOR;
13781 	if (yych <= '/') goto yy56;
13782 	if (yych <= '9') goto yy927;
13783 	if (yych <= ':') goto yy928;
13784 	goto yy56;
13785 yy926:
13786 	YYDEBUG(926, *YYCURSOR);
13787 	yych = *++YYCURSOR;
13788 	if (yych <= '/') goto yy56;
13789 	if (yych <= '4') goto yy927;
13790 	if (yych == ':') goto yy928;
13791 	goto yy56;
13792 yy927:
13793 	YYDEBUG(927, *YYCURSOR);
13794 	yych = *++YYCURSOR;
13795 	if (yych != ':') goto yy56;
13796 yy928:
13797 	YYDEBUG(928, *YYCURSOR);
13798 	yych = *++YYCURSOR;
13799 	if (yych <= '/') goto yy56;
13800 	if (yych <= '5') goto yy929;
13801 	if (yych <= '9') goto yy930;
13802 	goto yy56;
13803 yy929:
13804 	YYDEBUG(929, *YYCURSOR);
13805 	yych = *++YYCURSOR;
13806 	if (yych <= '/') goto yy56;
13807 	if (yych <= '9') goto yy930;
13808 	if (yych <= ':') goto yy931;
13809 	goto yy56;
13810 yy930:
13811 	YYDEBUG(930, *YYCURSOR);
13812 	yych = *++YYCURSOR;
13813 	if (yych != ':') goto yy56;
13814 yy931:
13815 	YYDEBUG(931, *YYCURSOR);
13816 	yych = *++YYCURSOR;
13817 	if (yych <= '/') goto yy56;
13818 	if (yych <= '5') goto yy932;
13819 	if (yych <= '6') goto yy933;
13820 	if (yych <= '9') goto yy781;
13821 	goto yy56;
13822 yy932:
13823 	YYDEBUG(932, *YYCURSOR);
13824 	yych = *++YYCURSOR;
13825 	if (yych <= '/') goto yy782;
13826 	if (yych <= '9') goto yy781;
13827 	goto yy782;
13828 yy933:
13829 	YYDEBUG(933, *YYCURSOR);
13830 	yych = *++YYCURSOR;
13831 	if (yych == '0') goto yy781;
13832 	goto yy782;
13833 yy934:
13834 	YYDEBUG(934, *YYCURSOR);
13835 	yyaccept = 12;
13836 	yych = *(YYMARKER = ++YYCURSOR);
13837 	if (yych == 'T') goto yy924;
13838 	goto yy596;
13839 yy935:
13840 	YYDEBUG(935, *YYCURSOR);
13841 	yyaccept = 21;
13842 	yych = *(YYMARKER = ++YYCURSOR);
13843 	if (yych != '-') goto yy913;
13844 	YYDEBUG(936, *YYCURSOR);
13845 	yych = *++YYCURSOR;
13846 	if (yych <= '2') {
13847 		if (yych <= '/') goto yy56;
13848 		if (yych >= '1') goto yy938;
13849 	} else {
13850 		if (yych <= '3') goto yy939;
13851 		if (yych <= '9') goto yy919;
13852 		goto yy56;
13853 	}
13854 	YYDEBUG(937, *YYCURSOR);
13855 	yyaccept = 12;
13856 	yych = *(YYMARKER = ++YYCURSOR);
13857 	if (yych <= 'm') {
13858 		if (yych <= '9') {
13859 			if (yych <= '/') goto yy596;
13860 			goto yy940;
13861 		} else {
13862 			if (yych == 'T') goto yy924;
13863 			goto yy596;
13864 		}
13865 	} else {
13866 		if (yych <= 'r') {
13867 			if (yych <= 'n') goto yy921;
13868 			if (yych <= 'q') goto yy596;
13869 			goto yy922;
13870 		} else {
13871 			if (yych <= 's') goto yy920;
13872 			if (yych <= 't') goto yy923;
13873 			goto yy596;
13874 		}
13875 	}
13876 yy938:
13877 	YYDEBUG(938, *YYCURSOR);
13878 	yyaccept = 12;
13879 	yych = *(YYMARKER = ++YYCURSOR);
13880 	if (yych <= 'm') {
13881 		if (yych <= '9') {
13882 			if (yych <= '/') goto yy596;
13883 			goto yy940;
13884 		} else {
13885 			if (yych == 'T') goto yy924;
13886 			goto yy596;
13887 		}
13888 	} else {
13889 		if (yych <= 'r') {
13890 			if (yych <= 'n') goto yy921;
13891 			if (yych <= 'q') goto yy596;
13892 			goto yy922;
13893 		} else {
13894 			if (yych <= 's') goto yy920;
13895 			if (yych <= 't') goto yy923;
13896 			goto yy596;
13897 		}
13898 	}
13899 yy939:
13900 	YYDEBUG(939, *YYCURSOR);
13901 	yyaccept = 12;
13902 	yych = *(YYMARKER = ++YYCURSOR);
13903 	if (yych <= 'm') {
13904 		if (yych <= '1') {
13905 			if (yych <= '/') goto yy596;
13906 		} else {
13907 			if (yych == 'T') goto yy924;
13908 			goto yy596;
13909 		}
13910 	} else {
13911 		if (yych <= 'r') {
13912 			if (yych <= 'n') goto yy921;
13913 			if (yych <= 'q') goto yy596;
13914 			goto yy922;
13915 		} else {
13916 			if (yych <= 's') goto yy920;
13917 			if (yych <= 't') goto yy923;
13918 			goto yy596;
13919 		}
13920 	}
13921 yy940:
13922 	YYDEBUG(940, *YYCURSOR);
13923 	yyaccept = 20;
13924 	yych = *(YYMARKER = ++YYCURSOR);
13925 	if (yych <= 'n') {
13926 		if (yych == 'T') goto yy941;
13927 		if (yych <= 'm') goto yy394;
13928 		goto yy921;
13929 	} else {
13930 		if (yych <= 'r') {
13931 			if (yych <= 'q') goto yy394;
13932 			goto yy922;
13933 		} else {
13934 			if (yych <= 's') goto yy920;
13935 			if (yych <= 't') goto yy923;
13936 			goto yy394;
13937 		}
13938 	}
13939 yy941:
13940 	YYDEBUG(941, *YYCURSOR);
13941 	yych = *++YYCURSOR;
13942 	if (yych <= '/') goto yy56;
13943 	if (yych <= '1') goto yy942;
13944 	if (yych <= '2') goto yy943;
13945 	if (yych <= '9') goto yy927;
13946 	goto yy56;
13947 yy942:
13948 	YYDEBUG(942, *YYCURSOR);
13949 	yych = *++YYCURSOR;
13950 	if (yych <= '/') goto yy56;
13951 	if (yych <= '9') goto yy944;
13952 	if (yych <= ':') goto yy928;
13953 	goto yy56;
13954 yy943:
13955 	YYDEBUG(943, *YYCURSOR);
13956 	yych = *++YYCURSOR;
13957 	if (yych <= '/') goto yy56;
13958 	if (yych <= '4') goto yy944;
13959 	if (yych == ':') goto yy928;
13960 	goto yy56;
13961 yy944:
13962 	YYDEBUG(944, *YYCURSOR);
13963 	yych = *++YYCURSOR;
13964 	if (yych != ':') goto yy56;
13965 	YYDEBUG(945, *YYCURSOR);
13966 	yych = *++YYCURSOR;
13967 	if (yych <= '/') goto yy56;
13968 	if (yych <= '5') goto yy946;
13969 	if (yych <= '9') goto yy930;
13970 	goto yy56;
13971 yy946:
13972 	YYDEBUG(946, *YYCURSOR);
13973 	yych = *++YYCURSOR;
13974 	if (yych <= '/') goto yy56;
13975 	if (yych <= '9') goto yy947;
13976 	if (yych <= ':') goto yy931;
13977 	goto yy56;
13978 yy947:
13979 	YYDEBUG(947, *YYCURSOR);
13980 	yych = *++YYCURSOR;
13981 	if (yych != ':') goto yy56;
13982 	YYDEBUG(948, *YYCURSOR);
13983 	yych = *++YYCURSOR;
13984 	if (yych <= '/') goto yy56;
13985 	if (yych <= '5') goto yy949;
13986 	if (yych <= '6') goto yy950;
13987 	if (yych <= '9') goto yy781;
13988 	goto yy56;
13989 yy949:
13990 	YYDEBUG(949, *YYCURSOR);
13991 	yych = *++YYCURSOR;
13992 	if (yych <= '/') goto yy782;
13993 	if (yych <= '9') goto yy951;
13994 	goto yy782;
13995 yy950:
13996 	YYDEBUG(950, *YYCURSOR);
13997 	yych = *++YYCURSOR;
13998 	if (yych != '0') goto yy782;
13999 yy951:
14000 	YYDEBUG(951, *YYCURSOR);
14001 	yyaccept = 22;
14002 	yych = *(YYMARKER = ++YYCURSOR);
14003 	if (yych != '.') goto yy782;
14004 	YYDEBUG(952, *YYCURSOR);
14005 	yych = *++YYCURSOR;
14006 	if (yych <= '/') goto yy56;
14007 	if (yych >= ':') goto yy56;
14008 yy953:
14009 	YYDEBUG(953, *YYCURSOR);
14010 	yyaccept = 22;
14011 	YYMARKER = ++YYCURSOR;
14012 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
14013 	yych = *YYCURSOR;
14014 	YYDEBUG(954, *YYCURSOR);
14015 	if (yych <= '-') {
14016 		if (yych == '+') goto yy956;
14017 		if (yych <= ',') goto yy782;
14018 		goto yy956;
14019 	} else {
14020 		if (yych <= '9') {
14021 			if (yych <= '/') goto yy782;
14022 			goto yy953;
14023 		} else {
14024 			if (yych != 'G') goto yy782;
14025 		}
14026 	}
14027 	YYDEBUG(955, *YYCURSOR);
14028 	yych = *++YYCURSOR;
14029 	if (yych == 'M') goto yy962;
14030 	goto yy56;
14031 yy956:
14032 	YYDEBUG(956, *YYCURSOR);
14033 	yych = *++YYCURSOR;
14034 	if (yych <= '/') goto yy56;
14035 	if (yych <= '1') goto yy957;
14036 	if (yych <= '2') goto yy958;
14037 	if (yych <= '9') goto yy959;
14038 	goto yy56;
14039 yy957:
14040 	YYDEBUG(957, *YYCURSOR);
14041 	yych = *++YYCURSOR;
14042 	if (yych <= '/') goto yy782;
14043 	if (yych <= '9') goto yy959;
14044 	if (yych <= ':') goto yy960;
14045 	goto yy782;
14046 yy958:
14047 	YYDEBUG(958, *YYCURSOR);
14048 	yych = *++YYCURSOR;
14049 	if (yych <= '5') {
14050 		if (yych <= '/') goto yy782;
14051 		if (yych >= '5') goto yy961;
14052 	} else {
14053 		if (yych <= '9') goto yy781;
14054 		if (yych <= ':') goto yy960;
14055 		goto yy782;
14056 	}
14057 yy959:
14058 	YYDEBUG(959, *YYCURSOR);
14059 	yych = *++YYCURSOR;
14060 	if (yych <= '/') goto yy782;
14061 	if (yych <= '5') goto yy961;
14062 	if (yych <= '9') goto yy781;
14063 	if (yych >= ';') goto yy782;
14064 yy960:
14065 	YYDEBUG(960, *YYCURSOR);
14066 	yych = *++YYCURSOR;
14067 	if (yych <= '/') goto yy782;
14068 	if (yych <= '5') goto yy961;
14069 	if (yych <= '9') goto yy781;
14070 	goto yy782;
14071 yy961:
14072 	YYDEBUG(961, *YYCURSOR);
14073 	yych = *++YYCURSOR;
14074 	if (yych <= '/') goto yy782;
14075 	if (yych <= '9') goto yy781;
14076 	goto yy782;
14077 yy962:
14078 	YYDEBUG(962, *YYCURSOR);
14079 	yych = *++YYCURSOR;
14080 	if (yych != 'T') goto yy56;
14081 	YYDEBUG(963, *YYCURSOR);
14082 	yych = *++YYCURSOR;
14083 	if (yych == '+') goto yy956;
14084 	if (yych == '-') goto yy956;
14085 	goto yy56;
14086 yy964:
14087 	YYDEBUG(964, *YYCURSOR);
14088 	yych = *++YYCURSOR;
14089 	if (yych == 'C') goto yy965;
14090 	if (yych != 'c') goto yy56;
14091 yy965:
14092 	YYDEBUG(965, *YYCURSOR);
14093 	yyaccept = 19;
14094 	yych = *(YYMARKER = ++YYCURSOR);
14095 	if (yych <= 'D') {
14096 		if (yych == '-') goto yy706;
14097 		goto yy733;
14098 	} else {
14099 		if (yych <= 'E') goto yy819;
14100 		if (yych == 'e') goto yy819;
14101 		goto yy733;
14102 	}
14103 yy966:
14104 	YYDEBUG(966, *YYCURSOR);
14105 	yych = *++YYCURSOR;
14106 	if (yych == 'V') goto yy967;
14107 	if (yych != 'v') goto yy56;
14108 yy967:
14109 	YYDEBUG(967, *YYCURSOR);
14110 	yyaccept = 19;
14111 	yych = *(YYMARKER = ++YYCURSOR);
14112 	if (yych <= 'D') {
14113 		if (yych == '-') goto yy706;
14114 		goto yy733;
14115 	} else {
14116 		if (yych <= 'E') goto yy826;
14117 		if (yych == 'e') goto yy826;
14118 		goto yy733;
14119 	}
14120 yy968:
14121 	YYDEBUG(968, *YYCURSOR);
14122 	yych = *++YYCURSOR;
14123 	if (yych == 'T') goto yy969;
14124 	if (yych != 't') goto yy56;
14125 yy969:
14126 	YYDEBUG(969, *YYCURSOR);
14127 	yyaccept = 19;
14128 	yych = *(YYMARKER = ++YYCURSOR);
14129 	if (yych <= 'N') {
14130 		if (yych == '-') goto yy706;
14131 		goto yy733;
14132 	} else {
14133 		if (yych <= 'O') goto yy832;
14134 		if (yych == 'o') goto yy832;
14135 		goto yy733;
14136 	}
14137 yy970:
14138 	YYDEBUG(970, *YYCURSOR);
14139 	yych = *++YYCURSOR;
14140 	if (yych == 'P') goto yy971;
14141 	if (yych != 'p') goto yy56;
14142 yy971:
14143 	YYDEBUG(971, *YYCURSOR);
14144 	yyaccept = 19;
14145 	yych = *(YYMARKER = ++YYCURSOR);
14146 	if (yych <= 'S') {
14147 		if (yych == '-') goto yy706;
14148 		goto yy733;
14149 	} else {
14150 		if (yych <= 'T') goto yy972;
14151 		if (yych != 't') goto yy733;
14152 	}
14153 yy972:
14154 	YYDEBUG(972, *YYCURSOR);
14155 	yyaccept = 19;
14156 	yych = *(YYMARKER = ++YYCURSOR);
14157 	if (yych <= 'D') {
14158 		if (yych == '-') goto yy706;
14159 		goto yy733;
14160 	} else {
14161 		if (yych <= 'E') goto yy838;
14162 		if (yych == 'e') goto yy838;
14163 		goto yy733;
14164 	}
14165 yy973:
14166 	YYDEBUG(973, *YYCURSOR);
14167 	yych = *++YYCURSOR;
14168 	if (yych == 'G') goto yy976;
14169 	if (yych == 'g') goto yy976;
14170 	goto yy56;
14171 yy974:
14172 	YYDEBUG(974, *YYCURSOR);
14173 	yych = *++YYCURSOR;
14174 	if (yych == 'R') goto yy975;
14175 	if (yych != 'r') goto yy56;
14176 yy975:
14177 	YYDEBUG(975, *YYCURSOR);
14178 	yyaccept = 19;
14179 	yych = *(YYMARKER = ++YYCURSOR);
14180 	if (yych <= 'H') {
14181 		if (yych == '-') goto yy706;
14182 		goto yy733;
14183 	} else {
14184 		if (yych <= 'I') goto yy845;
14185 		if (yych == 'i') goto yy845;
14186 		goto yy733;
14187 	}
14188 yy976:
14189 	YYDEBUG(976, *YYCURSOR);
14190 	yyaccept = 19;
14191 	yych = *(YYMARKER = ++YYCURSOR);
14192 	if (yych <= 'T') {
14193 		if (yych == '-') goto yy706;
14194 		goto yy733;
14195 	} else {
14196 		if (yych <= 'U') goto yy847;
14197 		if (yych == 'u') goto yy847;
14198 		goto yy733;
14199 	}
14200 yy977:
14201 	YYDEBUG(977, *YYCURSOR);
14202 	yych = *++YYCURSOR;
14203 	if (yych <= 'Y') {
14204 		if (yych == 'R') goto yy978;
14205 		if (yych <= 'X') goto yy56;
14206 		goto yy979;
14207 	} else {
14208 		if (yych <= 'r') {
14209 			if (yych <= 'q') goto yy56;
14210 		} else {
14211 			if (yych == 'y') goto yy979;
14212 			goto yy56;
14213 		}
14214 	}
14215 yy978:
14216 	YYDEBUG(978, *YYCURSOR);
14217 	yyaccept = 19;
14218 	yych = *(YYMARKER = ++YYCURSOR);
14219 	if (yych <= 'B') {
14220 		if (yych == '-') goto yy706;
14221 		goto yy733;
14222 	} else {
14223 		if (yych <= 'C') goto yy851;
14224 		if (yych == 'c') goto yy851;
14225 		goto yy733;
14226 	}
14227 yy979:
14228 	YYDEBUG(979, *YYCURSOR);
14229 	yyaccept = 19;
14230 	yych = *(YYMARKER = ++YYCURSOR);
14231 	if (yych == '-') goto yy706;
14232 	goto yy733;
14233 yy980:
14234 	YYDEBUG(980, *YYCURSOR);
14235 	yych = *++YYCURSOR;
14236 	if (yych == 'B') goto yy981;
14237 	if (yych != 'b') goto yy56;
14238 yy981:
14239 	YYDEBUG(981, *YYCURSOR);
14240 	yyaccept = 19;
14241 	yych = *(YYMARKER = ++YYCURSOR);
14242 	if (yych <= 'Q') {
14243 		if (yych == '-') goto yy706;
14244 		goto yy733;
14245 	} else {
14246 		if (yych <= 'R') goto yy854;
14247 		if (yych == 'r') goto yy854;
14248 		goto yy733;
14249 	}
14250 yy982:
14251 	YYDEBUG(982, *YYCURSOR);
14252 	yych = *++YYCURSOR;
14253 	if (yych <= 'N') {
14254 		if (yych == 'L') goto yy986;
14255 		if (yych <= 'M') goto yy56;
14256 		goto yy985;
14257 	} else {
14258 		if (yych <= 'l') {
14259 			if (yych <= 'k') goto yy56;
14260 			goto yy986;
14261 		} else {
14262 			if (yych == 'n') goto yy985;
14263 			goto yy56;
14264 		}
14265 	}
14266 yy983:
14267 	YYDEBUG(983, *YYCURSOR);
14268 	yych = *++YYCURSOR;
14269 	if (yych == 'N') goto yy984;
14270 	if (yych != 'n') goto yy56;
14271 yy984:
14272 	YYDEBUG(984, *YYCURSOR);
14273 	yyaccept = 19;
14274 	yych = *(YYMARKER = ++YYCURSOR);
14275 	if (yych <= 'T') {
14276 		if (yych == '-') goto yy706;
14277 		goto yy733;
14278 	} else {
14279 		if (yych <= 'U') goto yy861;
14280 		if (yych == 'u') goto yy861;
14281 		goto yy733;
14282 	}
14283 yy985:
14284 	YYDEBUG(985, *YYCURSOR);
14285 	yyaccept = 19;
14286 	yych = *(YYMARKER = ++YYCURSOR);
14287 	if (yych <= 'D') {
14288 		if (yych == '-') goto yy706;
14289 		goto yy733;
14290 	} else {
14291 		if (yych <= 'E') goto yy823;
14292 		if (yych == 'e') goto yy823;
14293 		goto yy733;
14294 	}
14295 yy986:
14296 	YYDEBUG(986, *YYCURSOR);
14297 	yyaccept = 19;
14298 	yych = *(YYMARKER = ++YYCURSOR);
14299 	if (yych <= 'X') {
14300 		if (yych == '-') goto yy706;
14301 		goto yy733;
14302 	} else {
14303 		if (yych <= 'Y') goto yy823;
14304 		if (yych == 'y') goto yy823;
14305 		goto yy733;
14306 	}
14307 yy987:
14308 	YYDEBUG(987, *YYCURSOR);
14309 	yych = *++YYCURSOR;
14310 	if (yych <= '.') {
14311 		if (yych <= '\t') {
14312 			if (yych <= 0x08) goto yy517;
14313 			goto yy670;
14314 		} else {
14315 			if (yych <= ',') goto yy517;
14316 			if (yych <= '-') goto yy671;
14317 			goto yy670;
14318 		}
14319 	} else {
14320 		if (yych <= 'U') {
14321 			if (yych <= '/') goto yy669;
14322 			if (yych <= 'T') goto yy517;
14323 			goto yy77;
14324 		} else {
14325 			if (yych == 'u') goto yy77;
14326 			goto yy517;
14327 		}
14328 	}
14329 yy988:
14330 	YYDEBUG(988, *YYCURSOR);
14331 	yych = *++YYCURSOR;
14332 	if (yych <= 'P') {
14333 		if (yych == 'C') goto yy128;
14334 		if (yych <= 'O') goto yy56;
14335 		goto yy525;
14336 	} else {
14337 		if (yych <= 'c') {
14338 			if (yych <= 'b') goto yy56;
14339 			goto yy128;
14340 		} else {
14341 			if (yych == 'p') goto yy525;
14342 			goto yy56;
14343 		}
14344 	}
14345 yy989:
14346 	YYDEBUG(989, *YYCURSOR);
14347 	yych = *++YYCURSOR;
14348 	if (yych <= '9') {
14349 		if (yych <= ',') {
14350 			if (yych == '\t') goto yy991;
14351 			goto yy993;
14352 		} else {
14353 			if (yych <= '-') goto yy990;
14354 			if (yych <= '.') goto yy670;
14355 			if (yych <= '/') goto yy669;
14356 			goto yy680;
14357 		}
14358 	} else {
14359 		if (yych <= 'q') {
14360 			if (yych == 'n') goto yy409;
14361 			goto yy993;
14362 		} else {
14363 			if (yych <= 'r') goto yy410;
14364 			if (yych <= 's') goto yy403;
14365 			if (yych <= 't') goto yy407;
14366 			goto yy993;
14367 		}
14368 	}
14369 yy990:
14370 	YYDEBUG(990, *YYCURSOR);
14371 	yych = *++YYCURSOR;
14372 	switch (yych) {
14373 	case '0':	goto yy994;
14374 	case '1':	goto yy995;
14375 	case '2':
14376 	case '3':
14377 	case '4':
14378 	case '5':
14379 	case '6':
14380 	case '7':
14381 	case '8':
14382 	case '9':	goto yy557;
14383 	case 'A':
14384 	case 'a':	goto yy561;
14385 	case 'D':
14386 	case 'd':	goto yy565;
14387 	case 'F':
14388 	case 'f':	goto yy559;
14389 	case 'J':
14390 	case 'j':	goto yy558;
14391 	case 'M':
14392 	case 'm':	goto yy560;
14393 	case 'N':
14394 	case 'n':	goto yy564;
14395 	case 'O':
14396 	case 'o':	goto yy563;
14397 	case 'S':
14398 	case 's':	goto yy562;
14399 	default:	goto yy517;
14400 	}
14401 yy991:
14402 	YYDEBUG(991, *YYCURSOR);
14403 	yych = *++YYCURSOR;
14404 	if (yych <= '/') goto yy993;
14405 	if (yych <= '0') goto yy675;
14406 	if (yych <= '1') goto yy676;
14407 	if (yych <= '9') goto yy677;
14408 	goto yy993;
14409 yy992:
14410 	YYDEBUG(992, *YYCURSOR);
14411 	++YYCURSOR;
14412 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
14413 	yych = *YYCURSOR;
14414 yy993:
14415 	YYDEBUG(993, *YYCURSOR);
14416 	switch (yych) {
14417 	case '\t':
14418 	case ' ':	goto yy992;
14419 	case '-':
14420 	case '.':	goto yy516;
14421 	case 'A':
14422 	case 'a':	goto yy513;
14423 	case 'D':
14424 	case 'd':	goto yy405;
14425 	case 'F':
14426 	case 'f':	goto yy406;
14427 	case 'H':
14428 	case 'h':	goto yy63;
14429 	case 'I':	goto yy414;
14430 	case 'J':
14431 	case 'j':	goto yy418;
14432 	case 'M':
14433 	case 'm':	goto yy404;
14434 	case 'N':
14435 	case 'n':	goto yy421;
14436 	case 'O':
14437 	case 'o':	goto yy420;
14438 	case 'S':
14439 	case 's':	goto yy402;
14440 	case 'T':
14441 	case 't':	goto yy68;
14442 	case 'V':	goto yy416;
14443 	case 'W':
14444 	case 'w':	goto yy67;
14445 	case 'X':	goto yy417;
14446 	case 'Y':
14447 	case 'y':	goto yy66;
14448 	default:	goto yy56;
14449 	}
14450 yy994:
14451 	YYDEBUG(994, *YYCURSOR);
14452 	yych = *++YYCURSOR;
14453 	if (yych <= '.') {
14454 		if (yych <= ',') goto yy56;
14455 		if (yych <= '-') goto yy594;
14456 		goto yy541;
14457 	} else {
14458 		if (yych <= '/') goto yy56;
14459 		if (yych <= '9') goto yy996;
14460 		goto yy56;
14461 	}
14462 yy995:
14463 	YYDEBUG(995, *YYCURSOR);
14464 	yych = *++YYCURSOR;
14465 	if (yych <= '.') {
14466 		if (yych <= ',') goto yy56;
14467 		if (yych <= '-') goto yy594;
14468 		goto yy541;
14469 	} else {
14470 		if (yych <= '/') goto yy56;
14471 		if (yych >= '3') goto yy56;
14472 	}
14473 yy996:
14474 	YYDEBUG(996, *YYCURSOR);
14475 	yych = *++YYCURSOR;
14476 	if (yych <= ',') goto yy56;
14477 	if (yych <= '-') goto yy997;
14478 	if (yych <= '.') goto yy541;
14479 	goto yy56;
14480 yy997:
14481 	YYDEBUG(997, *YYCURSOR);
14482 	yych = *++YYCURSOR;
14483 	if (yych <= '2') {
14484 		if (yych <= '/') goto yy56;
14485 		if (yych >= '1') goto yy999;
14486 	} else {
14487 		if (yych <= '3') goto yy1000;
14488 		if (yych <= '9') goto yy598;
14489 		goto yy56;
14490 	}
14491 	YYDEBUG(998, *YYCURSOR);
14492 	yyaccept = 12;
14493 	yych = *(YYMARKER = ++YYCURSOR);
14494 	if (yych <= 'n') {
14495 		if (yych <= '/') goto yy596;
14496 		if (yych <= '9') goto yy1001;
14497 		if (yych <= 'm') goto yy596;
14498 		goto yy600;
14499 	} else {
14500 		if (yych <= 'r') {
14501 			if (yych <= 'q') goto yy596;
14502 			goto yy601;
14503 		} else {
14504 			if (yych <= 's') goto yy599;
14505 			if (yych <= 't') goto yy602;
14506 			goto yy596;
14507 		}
14508 	}
14509 yy999:
14510 	YYDEBUG(999, *YYCURSOR);
14511 	yyaccept = 12;
14512 	yych = *(YYMARKER = ++YYCURSOR);
14513 	if (yych <= 'n') {
14514 		if (yych <= '/') goto yy596;
14515 		if (yych <= '9') goto yy1001;
14516 		if (yych <= 'm') goto yy596;
14517 		goto yy600;
14518 	} else {
14519 		if (yych <= 'r') {
14520 			if (yych <= 'q') goto yy596;
14521 			goto yy601;
14522 		} else {
14523 			if (yych <= 's') goto yy599;
14524 			if (yych <= 't') goto yy602;
14525 			goto yy596;
14526 		}
14527 	}
14528 yy1000:
14529 	YYDEBUG(1000, *YYCURSOR);
14530 	yyaccept = 12;
14531 	yych = *(YYMARKER = ++YYCURSOR);
14532 	if (yych <= 'n') {
14533 		if (yych <= '1') {
14534 			if (yych <= '/') goto yy596;
14535 		} else {
14536 			if (yych <= '9') goto yy543;
14537 			if (yych <= 'm') goto yy596;
14538 			goto yy600;
14539 		}
14540 	} else {
14541 		if (yych <= 'r') {
14542 			if (yych <= 'q') goto yy596;
14543 			goto yy601;
14544 		} else {
14545 			if (yych <= 's') goto yy599;
14546 			if (yych <= 't') goto yy602;
14547 			goto yy596;
14548 		}
14549 	}
14550 yy1001:
14551 	YYDEBUG(1001, *YYCURSOR);
14552 	yyaccept = 14;
14553 	yych = *(YYMARKER = ++YYCURSOR);
14554 	if (yych <= 'n') {
14555 		if (yych <= '/') goto yy703;
14556 		if (yych <= '9') goto yy544;
14557 		if (yych <= 'm') goto yy703;
14558 		goto yy600;
14559 	} else {
14560 		if (yych <= 'r') {
14561 			if (yych <= 'q') goto yy703;
14562 			goto yy601;
14563 		} else {
14564 			if (yych <= 's') goto yy599;
14565 			if (yych <= 't') goto yy602;
14566 			goto yy703;
14567 		}
14568 	}
14569 yy1002:
14570 	YYDEBUG(1002, *YYCURSOR);
14571 	yych = *++YYCURSOR;
14572 	if (yych <= '9') {
14573 		if (yych <= '-') {
14574 			if (yych == '\t') goto yy991;
14575 			if (yych <= ',') goto yy993;
14576 			goto yy990;
14577 		} else {
14578 			if (yych <= '.') goto yy1003;
14579 			if (yych <= '/') goto yy669;
14580 			if (yych <= '5') goto yy1005;
14581 			goto yy680;
14582 		}
14583 	} else {
14584 		if (yych <= 'q') {
14585 			if (yych <= ':') goto yy1004;
14586 			if (yych == 'n') goto yy409;
14587 			goto yy993;
14588 		} else {
14589 			if (yych <= 'r') goto yy410;
14590 			if (yych <= 's') goto yy403;
14591 			if (yych <= 't') goto yy407;
14592 			goto yy993;
14593 		}
14594 	}
14595 yy1003:
14596 	YYDEBUG(1003, *YYCURSOR);
14597 	yych = *++YYCURSOR;
14598 	if (yych <= '1') {
14599 		if (yych <= '/') goto yy517;
14600 		if (yych <= '0') goto yy1027;
14601 		goto yy1028;
14602 	} else {
14603 		if (yych <= '5') goto yy1029;
14604 		if (yych <= '9') goto yy1030;
14605 		goto yy517;
14606 	}
14607 yy1004:
14608 	YYDEBUG(1004, *YYCURSOR);
14609 	yych = *++YYCURSOR;
14610 	if (yych <= '/') goto yy56;
14611 	if (yych <= '5') goto yy1022;
14612 	if (yych <= '9') goto yy1023;
14613 	goto yy56;
14614 yy1005:
14615 	YYDEBUG(1005, *YYCURSOR);
14616 	yych = *++YYCURSOR;
14617 	if (yych == '-') goto yy724;
14618 	if (yych <= '/') goto yy60;
14619 	if (yych >= ':') goto yy60;
14620 	YYDEBUG(1006, *YYCURSOR);
14621 	yyaccept = 23;
14622 	yych = *(YYMARKER = ++YYCURSOR);
14623 	switch (yych) {
14624 	case '\t':
14625 	case ' ':
14626 	case 'A':
14627 	case 'D':
14628 	case 'F':
14629 	case 'H':
14630 	case 'I':
14631 	case 'J':
14632 	case 'M':
14633 	case 'N':
14634 	case 'O':
14635 	case 'S':
14636 	case 'T':
14637 	case 'V':
14638 	case 'X':
14639 	case 'Y':
14640 	case 'a':
14641 	case 'd':
14642 	case 'f':
14643 	case 'h':
14644 	case 'j':
14645 	case 'm':
14646 	case 'n':
14647 	case 'o':
14648 	case 's':
14649 	case 't':
14650 	case 'w':
14651 	case 'y':	goto yy730;
14652 	case '-':	goto yy727;
14653 	case '.':	goto yy731;
14654 	case '/':	goto yy728;
14655 	case '0':	goto yy1008;
14656 	case '1':	goto yy1009;
14657 	case '2':	goto yy1010;
14658 	case '3':	goto yy1011;
14659 	case '4':
14660 	case '5':	goto yy1012;
14661 	case '6':	goto yy1013;
14662 	case '7':
14663 	case '8':
14664 	case '9':	goto yy54;
14665 	case ':':	goto yy746;
14666 	case 'W':	goto yy749;
14667 	default:	goto yy1007;
14668 	}
14669 yy1007:
14670 	YYDEBUG(1007, *YYCURSOR);
14671 #line 1161 "ext/date/lib/parse_date.re"
14672 	{
14673 		DEBUG_OUTPUT("gnunocolon");
14674 		TIMELIB_INIT;
14675 		switch (s->time->have_time) {
14676 			case 0:
14677 				s->time->h = timelib_get_nr((char **) &ptr, 2);
14678 				s->time->i = timelib_get_nr((char **) &ptr, 2);
14679 				s->time->s = 0;
14680 				break;
14681 			case 1:
14682 				s->time->y = timelib_get_nr((char **) &ptr, 4);
14683 				break;
14684 			default:
14685 				TIMELIB_DEINIT;
14686 				add_error(s, "Double time specification");
14687 				return TIMELIB_ERROR;
14688 		}
14689 		s->time->have_time++;
14690 		TIMELIB_DEINIT;
14691 		return TIMELIB_GNU_NOCOLON;
14692 	}
14693 #line 14694 "<stdout>"
14694 yy1008:
14695 	YYDEBUG(1008, *YYCURSOR);
14696 	yych = *++YYCURSOR;
14697 	if (yych <= '/') goto yy60;
14698 	if (yych <= '0') goto yy1020;
14699 	if (yych <= '9') goto yy1021;
14700 	goto yy60;
14701 yy1009:
14702 	YYDEBUG(1009, *YYCURSOR);
14703 	yych = *++YYCURSOR;
14704 	if (yych <= '/') goto yy60;
14705 	if (yych <= '2') goto yy1019;
14706 	if (yych <= '9') goto yy1018;
14707 	goto yy60;
14708 yy1010:
14709 	YYDEBUG(1010, *YYCURSOR);
14710 	yych = *++YYCURSOR;
14711 	if (yych <= '/') goto yy60;
14712 	if (yych <= '9') goto yy1018;
14713 	goto yy60;
14714 yy1011:
14715 	YYDEBUG(1011, *YYCURSOR);
14716 	yych = *++YYCURSOR;
14717 	if (yych <= '/') goto yy60;
14718 	if (yych <= '5') goto yy1016;
14719 	if (yych <= '6') goto yy1017;
14720 	if (yych <= '9') goto yy1014;
14721 	goto yy60;
14722 yy1012:
14723 	YYDEBUG(1012, *YYCURSOR);
14724 	yych = *++YYCURSOR;
14725 	if (yych <= '/') goto yy60;
14726 	if (yych <= '9') goto yy1014;
14727 	goto yy60;
14728 yy1013:
14729 	YYDEBUG(1013, *YYCURSOR);
14730 	yych = *++YYCURSOR;
14731 	if (yych <= '/') goto yy60;
14732 	if (yych <= '0') goto yy1014;
14733 	if (yych <= '9') goto yy54;
14734 	goto yy60;
14735 yy1014:
14736 	YYDEBUG(1014, *YYCURSOR);
14737 	yyaccept = 24;
14738 	yych = *(YYMARKER = ++YYCURSOR);
14739 	if (yybm[0+yych] & 2) {
14740 		goto yy54;
14741 	}
14742 	if (yych <= 'W') {
14743 		if (yych <= 'F') {
14744 			if (yych <= ' ') {
14745 				if (yych == '\t') goto yy60;
14746 				if (yych >= ' ') goto yy60;
14747 			} else {
14748 				if (yych == 'D') goto yy60;
14749 				if (yych >= 'F') goto yy60;
14750 			}
14751 		} else {
14752 			if (yych <= 'M') {
14753 				if (yych == 'H') goto yy60;
14754 				if (yych >= 'M') goto yy60;
14755 			} else {
14756 				if (yych <= 'R') goto yy1015;
14757 				if (yych <= 'T') goto yy60;
14758 				if (yych >= 'W') goto yy60;
14759 			}
14760 		}
14761 	} else {
14762 		if (yych <= 'h') {
14763 			if (yych <= 'd') {
14764 				if (yych == 'Y') goto yy60;
14765 				if (yych >= 'd') goto yy60;
14766 			} else {
14767 				if (yych == 'f') goto yy60;
14768 				if (yych >= 'h') goto yy60;
14769 			}
14770 		} else {
14771 			if (yych <= 't') {
14772 				if (yych == 'm') goto yy60;
14773 				if (yych >= 's') goto yy60;
14774 			} else {
14775 				if (yych <= 'w') {
14776 					if (yych >= 'w') goto yy60;
14777 				} else {
14778 					if (yych == 'y') goto yy60;
14779 				}
14780 			}
14781 		}
14782 	}
14783 yy1015:
14784 	YYDEBUG(1015, *YYCURSOR);
14785 #line 1207 "ext/date/lib/parse_date.re"
14786 	{
14787 		int tz_not_found;
14788 		DEBUG_OUTPUT("iso8601nocolon");
14789 		TIMELIB_INIT;
14790 		TIMELIB_HAVE_TIME();
14791 		s->time->h = timelib_get_nr((char **) &ptr, 2);
14792 		s->time->i = timelib_get_nr((char **) &ptr, 2);
14793 		s->time->s = timelib_get_nr((char **) &ptr, 2);
14794 
14795 		if (*ptr != '\0') {
14796 			s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
14797 			if (tz_not_found) {
14798 				add_error(s, "The timezone could not be found in the database");
14799 			}
14800 		}
14801 		TIMELIB_DEINIT;
14802 		return TIMELIB_ISO_NOCOLON;
14803 	}
14804 #line 14805 "<stdout>"
14805 yy1016:
14806 	YYDEBUG(1016, *YYCURSOR);
14807 	yyaccept = 24;
14808 	yych = *(YYMARKER = ++YYCURSOR);
14809 	if (yych <= 'V') {
14810 		if (yych <= 'D') {
14811 			if (yych <= ' ') {
14812 				if (yych == '\t') goto yy60;
14813 				if (yych <= 0x1F) goto yy1015;
14814 				goto yy60;
14815 			} else {
14816 				if (yych <= '/') goto yy1015;
14817 				if (yych <= '9') goto yy760;
14818 				if (yych <= 'C') goto yy1015;
14819 				goto yy60;
14820 			}
14821 		} else {
14822 			if (yych <= 'H') {
14823 				if (yych == 'F') goto yy60;
14824 				if (yych <= 'G') goto yy1015;
14825 				goto yy60;
14826 			} else {
14827 				if (yych <= 'M') {
14828 					if (yych <= 'L') goto yy1015;
14829 					goto yy60;
14830 				} else {
14831 					if (yych <= 'R') goto yy1015;
14832 					if (yych <= 'T') goto yy60;
14833 					goto yy1015;
14834 				}
14835 			}
14836 		}
14837 	} else {
14838 		if (yych <= 'h') {
14839 			if (yych <= 'c') {
14840 				if (yych == 'X') goto yy1015;
14841 				if (yych <= 'Y') goto yy60;
14842 				goto yy1015;
14843 			} else {
14844 				if (yych <= 'e') {
14845 					if (yych <= 'd') goto yy60;
14846 					goto yy1015;
14847 				} else {
14848 					if (yych == 'g') goto yy1015;
14849 					goto yy60;
14850 				}
14851 			}
14852 		} else {
14853 			if (yych <= 't') {
14854 				if (yych == 'm') goto yy60;
14855 				if (yych <= 'r') goto yy1015;
14856 				goto yy60;
14857 			} else {
14858 				if (yych <= 'w') {
14859 					if (yych <= 'v') goto yy1015;
14860 					goto yy60;
14861 				} else {
14862 					if (yych == 'y') goto yy60;
14863 					goto yy1015;
14864 				}
14865 			}
14866 		}
14867 	}
14868 yy1017:
14869 	YYDEBUG(1017, *YYCURSOR);
14870 	yyaccept = 24;
14871 	yych = *(YYMARKER = ++YYCURSOR);
14872 	if (yych <= 'V') {
14873 		if (yych <= 'D') {
14874 			if (yych <= ' ') {
14875 				if (yych == '\t') goto yy60;
14876 				if (yych <= 0x1F) goto yy1015;
14877 				goto yy60;
14878 			} else {
14879 				if (yych <= '6') {
14880 					if (yych <= '/') goto yy1015;
14881 					goto yy760;
14882 				} else {
14883 					if (yych <= '9') goto yy54;
14884 					if (yych <= 'C') goto yy1015;
14885 					goto yy60;
14886 				}
14887 			}
14888 		} else {
14889 			if (yych <= 'H') {
14890 				if (yych == 'F') goto yy60;
14891 				if (yych <= 'G') goto yy1015;
14892 				goto yy60;
14893 			} else {
14894 				if (yych <= 'M') {
14895 					if (yych <= 'L') goto yy1015;
14896 					goto yy60;
14897 				} else {
14898 					if (yych <= 'R') goto yy1015;
14899 					if (yych <= 'T') goto yy60;
14900 					goto yy1015;
14901 				}
14902 			}
14903 		}
14904 	} else {
14905 		if (yych <= 'h') {
14906 			if (yych <= 'c') {
14907 				if (yych == 'X') goto yy1015;
14908 				if (yych <= 'Y') goto yy60;
14909 				goto yy1015;
14910 			} else {
14911 				if (yych <= 'e') {
14912 					if (yych <= 'd') goto yy60;
14913 					goto yy1015;
14914 				} else {
14915 					if (yych == 'g') goto yy1015;
14916 					goto yy60;
14917 				}
14918 			}
14919 		} else {
14920 			if (yych <= 't') {
14921 				if (yych == 'm') goto yy60;
14922 				if (yych <= 'r') goto yy1015;
14923 				goto yy60;
14924 			} else {
14925 				if (yych <= 'w') {
14926 					if (yych <= 'v') goto yy1015;
14927 					goto yy60;
14928 				} else {
14929 					if (yych == 'y') goto yy60;
14930 					goto yy1015;
14931 				}
14932 			}
14933 		}
14934 	}
14935 yy1018:
14936 	YYDEBUG(1018, *YYCURSOR);
14937 	yyaccept = 24;
14938 	yych = *(YYMARKER = ++YYCURSOR);
14939 	if (yych <= 'V') {
14940 		if (yych <= 'D') {
14941 			if (yych <= ' ') {
14942 				if (yych == '\t') goto yy60;
14943 				if (yych <= 0x1F) goto yy1015;
14944 				goto yy60;
14945 			} else {
14946 				if (yych <= '/') goto yy1015;
14947 				if (yych <= '9') goto yy760;
14948 				if (yych <= 'C') goto yy1015;
14949 				goto yy60;
14950 			}
14951 		} else {
14952 			if (yych <= 'H') {
14953 				if (yych == 'F') goto yy60;
14954 				if (yych <= 'G') goto yy1015;
14955 				goto yy60;
14956 			} else {
14957 				if (yych <= 'M') {
14958 					if (yych <= 'L') goto yy1015;
14959 					goto yy60;
14960 				} else {
14961 					if (yych <= 'R') goto yy1015;
14962 					if (yych <= 'T') goto yy60;
14963 					goto yy1015;
14964 				}
14965 			}
14966 		}
14967 	} else {
14968 		if (yych <= 'h') {
14969 			if (yych <= 'c') {
14970 				if (yych == 'X') goto yy1015;
14971 				if (yych <= 'Y') goto yy60;
14972 				goto yy1015;
14973 			} else {
14974 				if (yych <= 'e') {
14975 					if (yych <= 'd') goto yy60;
14976 					goto yy1015;
14977 				} else {
14978 					if (yych == 'g') goto yy1015;
14979 					goto yy60;
14980 				}
14981 			}
14982 		} else {
14983 			if (yych <= 't') {
14984 				if (yych == 'm') goto yy60;
14985 				if (yych <= 'r') goto yy1015;
14986 				goto yy60;
14987 			} else {
14988 				if (yych <= 'w') {
14989 					if (yych <= 'v') goto yy1015;
14990 					goto yy60;
14991 				} else {
14992 					if (yych == 'y') goto yy60;
14993 					goto yy1015;
14994 				}
14995 			}
14996 		}
14997 	}
14998 yy1019:
14999 	YYDEBUG(1019, *YYCURSOR);
15000 	yyaccept = 24;
15001 	yych = *(YYMARKER = ++YYCURSOR);
15002 	if (yych <= 'T') {
15003 		if (yych <= '9') {
15004 			if (yych <= ' ') {
15005 				if (yych == '\t') goto yy60;
15006 				if (yych <= 0x1F) goto yy1015;
15007 				goto yy60;
15008 			} else {
15009 				if (yych <= '0') {
15010 					if (yych <= '/') goto yy1015;
15011 					goto yy784;
15012 				} else {
15013 					if (yych <= '2') goto yy785;
15014 					if (yych <= '3') goto yy786;
15015 					goto yy760;
15016 				}
15017 			}
15018 		} else {
15019 			if (yych <= 'G') {
15020 				if (yych <= 'D') {
15021 					if (yych <= 'C') goto yy1015;
15022 					goto yy60;
15023 				} else {
15024 					if (yych == 'F') goto yy60;
15025 					goto yy1015;
15026 				}
15027 			} else {
15028 				if (yych <= 'L') {
15029 					if (yych <= 'H') goto yy60;
15030 					goto yy1015;
15031 				} else {
15032 					if (yych <= 'M') goto yy60;
15033 					if (yych <= 'R') goto yy1015;
15034 					goto yy60;
15035 				}
15036 			}
15037 		}
15038 	} else {
15039 		if (yych <= 'g') {
15040 			if (yych <= 'Y') {
15041 				if (yych == 'W') goto yy60;
15042 				if (yych <= 'X') goto yy1015;
15043 				goto yy60;
15044 			} else {
15045 				if (yych <= 'd') {
15046 					if (yych <= 'c') goto yy1015;
15047 					goto yy60;
15048 				} else {
15049 					if (yych == 'f') goto yy60;
15050 					goto yy1015;
15051 				}
15052 			}
15053 		} else {
15054 			if (yych <= 't') {
15055 				if (yych <= 'l') {
15056 					if (yych <= 'h') goto yy60;
15057 					goto yy1015;
15058 				} else {
15059 					if (yych <= 'm') goto yy60;
15060 					if (yych <= 'r') goto yy1015;
15061 					goto yy60;
15062 				}
15063 			} else {
15064 				if (yych <= 'w') {
15065 					if (yych <= 'v') goto yy1015;
15066 					goto yy60;
15067 				} else {
15068 					if (yych == 'y') goto yy60;
15069 					goto yy1015;
15070 				}
15071 			}
15072 		}
15073 	}
15074 yy1020:
15075 	YYDEBUG(1020, *YYCURSOR);
15076 	yyaccept = 24;
15077 	yych = *(YYMARKER = ++YYCURSOR);
15078 	if (yych <= 'T') {
15079 		if (yych <= '9') {
15080 			if (yych <= ' ') {
15081 				if (yych == '\t') goto yy60;
15082 				if (yych <= 0x1F) goto yy1015;
15083 				goto yy60;
15084 			} else {
15085 				if (yych <= '0') {
15086 					if (yych <= '/') goto yy1015;
15087 					goto yy816;
15088 				} else {
15089 					if (yych <= '2') goto yy785;
15090 					if (yych <= '3') goto yy786;
15091 					goto yy760;
15092 				}
15093 			}
15094 		} else {
15095 			if (yych <= 'G') {
15096 				if (yych <= 'D') {
15097 					if (yych <= 'C') goto yy1015;
15098 					goto yy60;
15099 				} else {
15100 					if (yych == 'F') goto yy60;
15101 					goto yy1015;
15102 				}
15103 			} else {
15104 				if (yych <= 'L') {
15105 					if (yych <= 'H') goto yy60;
15106 					goto yy1015;
15107 				} else {
15108 					if (yych <= 'M') goto yy60;
15109 					if (yych <= 'R') goto yy1015;
15110 					goto yy60;
15111 				}
15112 			}
15113 		}
15114 	} else {
15115 		if (yych <= 'g') {
15116 			if (yych <= 'Y') {
15117 				if (yych == 'W') goto yy60;
15118 				if (yych <= 'X') goto yy1015;
15119 				goto yy60;
15120 			} else {
15121 				if (yych <= 'd') {
15122 					if (yych <= 'c') goto yy1015;
15123 					goto yy60;
15124 				} else {
15125 					if (yych == 'f') goto yy60;
15126 					goto yy1015;
15127 				}
15128 			}
15129 		} else {
15130 			if (yych <= 't') {
15131 				if (yych <= 'l') {
15132 					if (yych <= 'h') goto yy60;
15133 					goto yy1015;
15134 				} else {
15135 					if (yych <= 'm') goto yy60;
15136 					if (yych <= 'r') goto yy1015;
15137 					goto yy60;
15138 				}
15139 			} else {
15140 				if (yych <= 'w') {
15141 					if (yych <= 'v') goto yy1015;
15142 					goto yy60;
15143 				} else {
15144 					if (yych == 'y') goto yy60;
15145 					goto yy1015;
15146 				}
15147 			}
15148 		}
15149 	}
15150 yy1021:
15151 	YYDEBUG(1021, *YYCURSOR);
15152 	yyaccept = 24;
15153 	yych = *(YYMARKER = ++YYCURSOR);
15154 	if (yych <= 'T') {
15155 		if (yych <= '9') {
15156 			if (yych <= ' ') {
15157 				if (yych == '\t') goto yy60;
15158 				if (yych <= 0x1F) goto yy1015;
15159 				goto yy60;
15160 			} else {
15161 				if (yych <= '0') {
15162 					if (yych <= '/') goto yy1015;
15163 					goto yy784;
15164 				} else {
15165 					if (yych <= '2') goto yy785;
15166 					if (yych <= '3') goto yy786;
15167 					goto yy760;
15168 				}
15169 			}
15170 		} else {
15171 			if (yych <= 'G') {
15172 				if (yych <= 'D') {
15173 					if (yych <= 'C') goto yy1015;
15174 					goto yy60;
15175 				} else {
15176 					if (yych == 'F') goto yy60;
15177 					goto yy1015;
15178 				}
15179 			} else {
15180 				if (yych <= 'L') {
15181 					if (yych <= 'H') goto yy60;
15182 					goto yy1015;
15183 				} else {
15184 					if (yych <= 'M') goto yy60;
15185 					if (yych <= 'R') goto yy1015;
15186 					goto yy60;
15187 				}
15188 			}
15189 		}
15190 	} else {
15191 		if (yych <= 'g') {
15192 			if (yych <= 'Y') {
15193 				if (yych == 'W') goto yy60;
15194 				if (yych <= 'X') goto yy1015;
15195 				goto yy60;
15196 			} else {
15197 				if (yych <= 'd') {
15198 					if (yych <= 'c') goto yy1015;
15199 					goto yy60;
15200 				} else {
15201 					if (yych == 'f') goto yy60;
15202 					goto yy1015;
15203 				}
15204 			}
15205 		} else {
15206 			if (yych <= 't') {
15207 				if (yych <= 'l') {
15208 					if (yych <= 'h') goto yy60;
15209 					goto yy1015;
15210 				} else {
15211 					if (yych <= 'm') goto yy60;
15212 					if (yych <= 'r') goto yy1015;
15213 					goto yy60;
15214 				}
15215 			} else {
15216 				if (yych <= 'w') {
15217 					if (yych <= 'v') goto yy1015;
15218 					goto yy60;
15219 				} else {
15220 					if (yych == 'y') goto yy60;
15221 					goto yy1015;
15222 				}
15223 			}
15224 		}
15225 	}
15226 yy1022:
15227 	YYDEBUG(1022, *YYCURSOR);
15228 	yyaccept = 10;
15229 	yych = *(YYMARKER = ++YYCURSOR);
15230 	if (yych <= '/') {
15231 		if (yych == '.') goto yy1024;
15232 		goto yy430;
15233 	} else {
15234 		if (yych <= '9') goto yy1023;
15235 		if (yych <= ':') goto yy1024;
15236 		goto yy430;
15237 	}
15238 yy1023:
15239 	YYDEBUG(1023, *YYCURSOR);
15240 	yyaccept = 10;
15241 	yych = *(YYMARKER = ++YYCURSOR);
15242 	if (yych == '.') goto yy1024;
15243 	if (yych != ':') goto yy430;
15244 yy1024:
15245 	YYDEBUG(1024, *YYCURSOR);
15246 	yych = *++YYCURSOR;
15247 	if (yych <= '/') goto yy56;
15248 	if (yych <= '5') goto yy1025;
15249 	if (yych <= '6') goto yy1026;
15250 	if (yych <= '9') goto yy435;
15251 	goto yy56;
15252 yy1025:
15253 	YYDEBUG(1025, *YYCURSOR);
15254 	yyaccept = 10;
15255 	yych = *(YYMARKER = ++YYCURSOR);
15256 	if (yych == '.') goto yy436;
15257 	if (yych <= '/') goto yy430;
15258 	if (yych <= '9') goto yy435;
15259 	goto yy430;
15260 yy1026:
15261 	YYDEBUG(1026, *YYCURSOR);
15262 	yyaccept = 10;
15263 	yych = *(YYMARKER = ++YYCURSOR);
15264 	if (yych == '.') goto yy436;
15265 	if (yych == '0') goto yy435;
15266 	goto yy430;
15267 yy1027:
15268 	YYDEBUG(1027, *YYCURSOR);
15269 	yyaccept = 10;
15270 	yych = *(YYMARKER = ++YYCURSOR);
15271 	if (yych <= '.') {
15272 		if (yych <= ',') goto yy430;
15273 		if (yych <= '-') goto yy541;
15274 		goto yy1031;
15275 	} else {
15276 		if (yych <= '/') goto yy430;
15277 		if (yych <= '9') goto yy1030;
15278 		if (yych <= ':') goto yy1024;
15279 		goto yy430;
15280 	}
15281 yy1028:
15282 	YYDEBUG(1028, *YYCURSOR);
15283 	yyaccept = 10;
15284 	yych = *(YYMARKER = ++YYCURSOR);
15285 	if (yych <= '/') {
15286 		if (yych <= ',') goto yy430;
15287 		if (yych <= '-') goto yy541;
15288 		if (yych <= '.') goto yy1031;
15289 		goto yy430;
15290 	} else {
15291 		if (yych <= '2') goto yy1030;
15292 		if (yych <= '9') goto yy1023;
15293 		if (yych <= ':') goto yy1024;
15294 		goto yy430;
15295 	}
15296 yy1029:
15297 	YYDEBUG(1029, *YYCURSOR);
15298 	yyaccept = 10;
15299 	yych = *(YYMARKER = ++YYCURSOR);
15300 	if (yych <= '.') {
15301 		if (yych <= ',') goto yy430;
15302 		if (yych <= '-') goto yy541;
15303 		goto yy1031;
15304 	} else {
15305 		if (yych <= '/') goto yy430;
15306 		if (yych <= '9') goto yy1023;
15307 		if (yych <= ':') goto yy1024;
15308 		goto yy430;
15309 	}
15310 yy1030:
15311 	YYDEBUG(1030, *YYCURSOR);
15312 	yyaccept = 10;
15313 	yych = *(YYMARKER = ++YYCURSOR);
15314 	if (yych <= '.') {
15315 		if (yych <= ',') goto yy430;
15316 		if (yych <= '-') goto yy541;
15317 	} else {
15318 		if (yych == ':') goto yy1024;
15319 		goto yy430;
15320 	}
15321 yy1031:
15322 	YYDEBUG(1031, *YYCURSOR);
15323 	yych = *++YYCURSOR;
15324 	if (yych <= '/') goto yy56;
15325 	if (yych <= '5') goto yy1032;
15326 	if (yych <= '6') goto yy1033;
15327 	if (yych <= '9') goto yy549;
15328 	goto yy56;
15329 yy1032:
15330 	YYDEBUG(1032, *YYCURSOR);
15331 	yyaccept = 10;
15332 	yych = *(YYMARKER = ++YYCURSOR);
15333 	if (yych == '.') goto yy436;
15334 	if (yych <= '/') goto yy430;
15335 	if (yych <= '9') goto yy1034;
15336 	goto yy430;
15337 yy1033:
15338 	YYDEBUG(1033, *YYCURSOR);
15339 	yyaccept = 10;
15340 	yych = *(YYMARKER = ++YYCURSOR);
15341 	if (yych <= '/') {
15342 		if (yych == '.') goto yy436;
15343 		goto yy430;
15344 	} else {
15345 		if (yych <= '0') goto yy1034;
15346 		if (yych <= '9') goto yy550;
15347 		goto yy430;
15348 	}
15349 yy1034:
15350 	YYDEBUG(1034, *YYCURSOR);
15351 	yyaccept = 10;
15352 	yych = *(YYMARKER = ++YYCURSOR);
15353 	if (yych == '.') goto yy436;
15354 	if (yych <= '/') goto yy430;
15355 	if (yych <= '9') goto yy544;
15356 	goto yy430;
15357 yy1035:
15358 	YYDEBUG(1035, *YYCURSOR);
15359 	yych = *++YYCURSOR;
15360 	if (yych <= '9') {
15361 		if (yych <= '-') {
15362 			if (yych == '\t') goto yy399;
15363 			if (yych <= ',') goto yy401;
15364 			goto yy990;
15365 		} else {
15366 			if (yych <= '.') goto yy413;
15367 			if (yych <= '/') goto yy411;
15368 			if (yych <= '5') goto yy1005;
15369 			goto yy680;
15370 		}
15371 	} else {
15372 		if (yych <= 'q') {
15373 			if (yych <= ':') goto yy422;
15374 			if (yych == 'n') goto yy409;
15375 			goto yy401;
15376 		} else {
15377 			if (yych <= 'r') goto yy410;
15378 			if (yych <= 's') goto yy403;
15379 			if (yych <= 't') goto yy407;
15380 			goto yy401;
15381 		}
15382 	}
15383 yy1036:
15384 	YYDEBUG(1036, *YYCURSOR);
15385 	yych = *++YYCURSOR;
15386 	if (yych <= '9') {
15387 		if (yych <= '-') {
15388 			if (yych == '\t') goto yy991;
15389 			if (yych <= ',') goto yy993;
15390 			goto yy990;
15391 		} else {
15392 			if (yych <= '.') goto yy1003;
15393 			if (yych <= '/') goto yy411;
15394 			if (yych <= '5') goto yy1005;
15395 			goto yy680;
15396 		}
15397 	} else {
15398 		if (yych <= 'q') {
15399 			if (yych <= ':') goto yy1004;
15400 			if (yych == 'n') goto yy409;
15401 			goto yy993;
15402 		} else {
15403 			if (yych <= 'r') goto yy410;
15404 			if (yych <= 's') goto yy403;
15405 			if (yych <= 't') goto yy407;
15406 			goto yy993;
15407 		}
15408 	}
15409 yy1037:
15410 	YYDEBUG(1037, *YYCURSOR);
15411 	yych = *++YYCURSOR;
15412 	if (yych <= 'E') {
15413 		if (yych <= ')') {
15414 			if (yych <= '(') goto yy3;
15415 			goto yy139;
15416 		} else {
15417 			if (yych <= '@') goto yy3;
15418 			if (yych <= 'D') goto yy141;
15419 		}
15420 	} else {
15421 		if (yych <= 'd') {
15422 			if (yych <= 'Z') goto yy141;
15423 			if (yych <= '`') goto yy3;
15424 			goto yy141;
15425 		} else {
15426 			if (yych <= 'e') goto yy1038;
15427 			if (yych <= 'z') goto yy141;
15428 			goto yy3;
15429 		}
15430 	}
15431 yy1038:
15432 	YYDEBUG(1038, *YYCURSOR);
15433 	yych = *++YYCURSOR;
15434 	if (yych <= 'V') {
15435 		if (yych <= ')') {
15436 			if (yych <= '(') goto yy3;
15437 			goto yy139;
15438 		} else {
15439 			if (yych <= '@') goto yy3;
15440 			if (yych <= 'U') goto yy142;
15441 		}
15442 	} else {
15443 		if (yych <= 'u') {
15444 			if (yych <= 'Z') goto yy142;
15445 			if (yych <= '`') goto yy3;
15446 			goto yy142;
15447 		} else {
15448 			if (yych <= 'v') goto yy1039;
15449 			if (yych <= 'z') goto yy142;
15450 			goto yy3;
15451 		}
15452 	}
15453 yy1039:
15454 	YYDEBUG(1039, *YYCURSOR);
15455 	yych = *++YYCURSOR;
15456 	if (yych <= 'I') {
15457 		if (yych <= ')') {
15458 			if (yych <= '(') goto yy3;
15459 			goto yy139;
15460 		} else {
15461 			if (yych <= '@') goto yy3;
15462 			if (yych <= 'H') goto yy143;
15463 		}
15464 	} else {
15465 		if (yych <= 'h') {
15466 			if (yych <= 'Z') goto yy143;
15467 			if (yych <= '`') goto yy3;
15468 			goto yy143;
15469 		} else {
15470 			if (yych <= 'i') goto yy1040;
15471 			if (yych <= 'z') goto yy143;
15472 			goto yy3;
15473 		}
15474 	}
15475 yy1040:
15476 	YYDEBUG(1040, *YYCURSOR);
15477 	yych = *++YYCURSOR;
15478 	if (yych <= 'O') {
15479 		if (yych <= ')') {
15480 			if (yych <= '(') goto yy3;
15481 			goto yy139;
15482 		} else {
15483 			if (yych <= '@') goto yy3;
15484 			if (yych <= 'N') goto yy144;
15485 		}
15486 	} else {
15487 		if (yych <= 'n') {
15488 			if (yych <= 'Z') goto yy144;
15489 			if (yych <= '`') goto yy3;
15490 			goto yy144;
15491 		} else {
15492 			if (yych <= 'o') goto yy1041;
15493 			if (yych <= 'z') goto yy144;
15494 			goto yy3;
15495 		}
15496 	}
15497 yy1041:
15498 	YYDEBUG(1041, *YYCURSOR);
15499 	yyaccept = 0;
15500 	yych = *(YYMARKER = ++YYCURSOR);
15501 	if (yych <= 'T') {
15502 		if (yych == ')') goto yy139;
15503 		goto yy3;
15504 	} else {
15505 		if (yych <= 'U') goto yy1042;
15506 		if (yych != 'u') goto yy3;
15507 	}
15508 yy1042:
15509 	YYDEBUG(1042, *YYCURSOR);
15510 	yych = *++YYCURSOR;
15511 	if (yych == 'S') goto yy1043;
15512 	if (yych != 's') goto yy56;
15513 yy1043:
15514 	YYDEBUG(1043, *YYCURSOR);
15515 	yych = *++YYCURSOR;
15516 	if (yych == '\t') goto yy1044;
15517 	if (yych != ' ') goto yy56;
15518 yy1044:
15519 	YYDEBUG(1044, *YYCURSOR);
15520 	++YYCURSOR;
15521 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
15522 	yych = *YYCURSOR;
15523 yy1045:
15524 	YYDEBUG(1045, *YYCURSOR);
15525 	if (yych <= 'W') {
15526 		if (yych <= 'F') {
15527 			if (yych <= ' ') {
15528 				if (yych == '\t') goto yy1044;
15529 				if (yych <= 0x1F) goto yy56;
15530 				goto yy1044;
15531 			} else {
15532 				if (yych == 'D') goto yy1049;
15533 				if (yych <= 'E') goto yy56;
15534 				goto yy1050;
15535 			}
15536 		} else {
15537 			if (yych <= 'M') {
15538 				if (yych == 'H') goto yy1048;
15539 				if (yych <= 'L') goto yy56;
15540 				goto yy1047;
15541 			} else {
15542 				if (yych <= 'S') {
15543 					if (yych <= 'R') goto yy56;
15544 				} else {
15545 					if (yych <= 'T') goto yy1053;
15546 					if (yych <= 'V') goto yy56;
15547 					goto yy1052;
15548 				}
15549 			}
15550 		}
15551 	} else {
15552 		if (yych <= 'l') {
15553 			if (yych <= 'd') {
15554 				if (yych == 'Y') goto yy1051;
15555 				if (yych <= 'c') goto yy56;
15556 				goto yy1049;
15557 			} else {
15558 				if (yych <= 'f') {
15559 					if (yych <= 'e') goto yy56;
15560 					goto yy1050;
15561 				} else {
15562 					if (yych == 'h') goto yy1048;
15563 					goto yy56;
15564 				}
15565 			}
15566 		} else {
15567 			if (yych <= 't') {
15568 				if (yych <= 'm') goto yy1047;
15569 				if (yych <= 'r') goto yy56;
15570 				if (yych >= 't') goto yy1053;
15571 			} else {
15572 				if (yych <= 'w') {
15573 					if (yych <= 'v') goto yy56;
15574 					goto yy1052;
15575 				} else {
15576 					if (yych == 'y') goto yy1051;
15577 					goto yy56;
15578 				}
15579 			}
15580 		}
15581 	}
15582 yy1046:
15583 	YYDEBUG(1046, *YYCURSOR);
15584 	yych = *++YYCURSOR;
15585 	if (yych <= 'U') {
15586 		if (yych <= 'D') {
15587 			if (yych == 'A') goto yy1118;
15588 			goto yy56;
15589 		} else {
15590 			if (yych <= 'E') goto yy1119;
15591 			if (yych <= 'T') goto yy56;
15592 			goto yy1117;
15593 		}
15594 	} else {
15595 		if (yych <= 'd') {
15596 			if (yych == 'a') goto yy1118;
15597 			goto yy56;
15598 		} else {
15599 			if (yych <= 'e') goto yy1119;
15600 			if (yych == 'u') goto yy1117;
15601 			goto yy56;
15602 		}
15603 	}
15604 yy1047:
15605 	YYDEBUG(1047, *YYCURSOR);
15606 	yych = *++YYCURSOR;
15607 	if (yych <= 'O') {
15608 		if (yych == 'I') goto yy1109;
15609 		if (yych <= 'N') goto yy56;
15610 		goto yy1108;
15611 	} else {
15612 		if (yych <= 'i') {
15613 			if (yych <= 'h') goto yy56;
15614 			goto yy1109;
15615 		} else {
15616 			if (yych == 'o') goto yy1108;
15617 			goto yy56;
15618 		}
15619 	}
15620 yy1048:
15621 	YYDEBUG(1048, *YYCURSOR);
15622 	yych = *++YYCURSOR;
15623 	if (yych == 'O') goto yy1106;
15624 	if (yych == 'o') goto yy1106;
15625 	goto yy56;
15626 yy1049:
15627 	YYDEBUG(1049, *YYCURSOR);
15628 	yych = *++YYCURSOR;
15629 	if (yych == 'A') goto yy1105;
15630 	if (yych == 'a') goto yy1105;
15631 	goto yy56;
15632 yy1050:
15633 	YYDEBUG(1050, *YYCURSOR);
15634 	yych = *++YYCURSOR;
15635 	if (yych <= 'R') {
15636 		if (yych == 'O') goto yy1090;
15637 		if (yych <= 'Q') goto yy56;
15638 		goto yy1089;
15639 	} else {
15640 		if (yych <= 'o') {
15641 			if (yych <= 'n') goto yy56;
15642 			goto yy1090;
15643 		} else {
15644 			if (yych == 'r') goto yy1089;
15645 			goto yy56;
15646 		}
15647 	}
15648 yy1051:
15649 	YYDEBUG(1051, *YYCURSOR);
15650 	yych = *++YYCURSOR;
15651 	if (yych == 'E') goto yy1086;
15652 	if (yych == 'e') goto yy1086;
15653 	goto yy56;
15654 yy1052:
15655 	YYDEBUG(1052, *YYCURSOR);
15656 	yych = *++YYCURSOR;
15657 	if (yych == 'E') goto yy1072;
15658 	if (yych == 'e') goto yy1072;
15659 	goto yy56;
15660 yy1053:
15661 	YYDEBUG(1053, *YYCURSOR);
15662 	yych = *++YYCURSOR;
15663 	if (yych <= 'U') {
15664 		if (yych == 'H') goto yy1054;
15665 		if (yych <= 'T') goto yy56;
15666 		goto yy1055;
15667 	} else {
15668 		if (yych <= 'h') {
15669 			if (yych <= 'g') goto yy56;
15670 		} else {
15671 			if (yych == 'u') goto yy1055;
15672 			goto yy56;
15673 		}
15674 	}
15675 yy1054:
15676 	YYDEBUG(1054, *YYCURSOR);
15677 	yych = *++YYCURSOR;
15678 	if (yych == 'U') goto yy1067;
15679 	if (yych == 'u') goto yy1067;
15680 	goto yy56;
15681 yy1055:
15682 	YYDEBUG(1055, *YYCURSOR);
15683 	yych = *++YYCURSOR;
15684 	if (yych == 'E') goto yy1056;
15685 	if (yych != 'e') goto yy56;
15686 yy1056:
15687 	YYDEBUG(1056, *YYCURSOR);
15688 	yyaccept = 25;
15689 	yych = *(YYMARKER = ++YYCURSOR);
15690 	if (yych <= ' ') {
15691 		if (yych == '\t') goto yy1058;
15692 		if (yych >= ' ') goto yy1058;
15693 	} else {
15694 		if (yych <= 'S') {
15695 			if (yych >= 'S') goto yy1060;
15696 		} else {
15697 			if (yych == 's') goto yy1060;
15698 		}
15699 	}
15700 yy1057:
15701 	YYDEBUG(1057, *YYCURSOR);
15702 #line 1603 "ext/date/lib/parse_date.re"
15703 	{
15704 		timelib_sll i;
15705 		int         behavior = 0;
15706 		DEBUG_OUTPUT("relativetext");
15707 		TIMELIB_INIT;
15708 		TIMELIB_HAVE_RELATIVE();
15709 
15710 		while(*ptr) {
15711 			i = timelib_get_relative_text((char **) &ptr, &behavior);
15712 			timelib_eat_spaces((char **) &ptr);
15713 			timelib_set_relative((char **) &ptr, i, behavior, s);
15714 		}
15715 		TIMELIB_DEINIT;
15716 		return TIMELIB_RELATIVE;
15717 	}
15718 #line 15719 "<stdout>"
15719 yy1058:
15720 	YYDEBUG(1058, *YYCURSOR);
15721 	++YYCURSOR;
15722 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
15723 	yych = *YYCURSOR;
15724 	YYDEBUG(1059, *YYCURSOR);
15725 	if (yych <= ' ') {
15726 		if (yych == '\t') goto yy1058;
15727 		if (yych <= 0x1F) goto yy56;
15728 		goto yy1058;
15729 	} else {
15730 		if (yych <= 'O') {
15731 			if (yych <= 'N') goto yy56;
15732 			goto yy1064;
15733 		} else {
15734 			if (yych == 'o') goto yy1064;
15735 			goto yy56;
15736 		}
15737 	}
15738 yy1060:
15739 	YYDEBUG(1060, *YYCURSOR);
15740 	yych = *++YYCURSOR;
15741 	if (yych == 'D') goto yy1061;
15742 	if (yych != 'd') goto yy56;
15743 yy1061:
15744 	YYDEBUG(1061, *YYCURSOR);
15745 	yych = *++YYCURSOR;
15746 	if (yych == 'A') goto yy1062;
15747 	if (yych != 'a') goto yy56;
15748 yy1062:
15749 	YYDEBUG(1062, *YYCURSOR);
15750 	yych = *++YYCURSOR;
15751 	if (yych == 'Y') goto yy1063;
15752 	if (yych != 'y') goto yy56;
15753 yy1063:
15754 	YYDEBUG(1063, *YYCURSOR);
15755 	yyaccept = 25;
15756 	yych = *(YYMARKER = ++YYCURSOR);
15757 	if (yych == '\t') goto yy1058;
15758 	if (yych == ' ') goto yy1058;
15759 	goto yy1057;
15760 yy1064:
15761 	YYDEBUG(1064, *YYCURSOR);
15762 	yych = *++YYCURSOR;
15763 	if (yych == 'F') goto yy1065;
15764 	if (yych != 'f') goto yy56;
15765 yy1065:
15766 	YYDEBUG(1065, *YYCURSOR);
15767 	++YYCURSOR;
15768 	YYDEBUG(1066, *YYCURSOR);
15769 #line 1076 "ext/date/lib/parse_date.re"
15770 	{
15771 		timelib_sll i;
15772 		int         behavior = 0;
15773 		DEBUG_OUTPUT("weekdayof");
15774 		TIMELIB_INIT;
15775 		TIMELIB_HAVE_RELATIVE();
15776 		TIMELIB_HAVE_SPECIAL_RELATIVE();
15777 
15778 		i = timelib_get_relative_text((char **) &ptr, &behavior);
15779 		timelib_eat_spaces((char **) &ptr);
15780 		if (i > 0) { /* first, second... etc */
15781 			s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
15782 			timelib_set_relative((char **) &ptr, i, 1, s);
15783 		} else { /* last */
15784 			s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
15785 			timelib_set_relative((char **) &ptr, i, behavior, s);
15786 		}
15787 		TIMELIB_DEINIT;
15788 		return TIMELIB_WEEK_DAY_OF_MONTH;
15789 	}
15790 #line 15791 "<stdout>"
15791 yy1067:
15792 	YYDEBUG(1067, *YYCURSOR);
15793 	yyaccept = 25;
15794 	yych = *(YYMARKER = ++YYCURSOR);
15795 	if (yych <= ' ') {
15796 		if (yych == '\t') goto yy1058;
15797 		if (yych <= 0x1F) goto yy1057;
15798 		goto yy1058;
15799 	} else {
15800 		if (yych <= 'R') {
15801 			if (yych <= 'Q') goto yy1057;
15802 		} else {
15803 			if (yych != 'r') goto yy1057;
15804 		}
15805 	}
15806 	YYDEBUG(1068, *YYCURSOR);
15807 	yych = *++YYCURSOR;
15808 	if (yych == 'S') goto yy1069;
15809 	if (yych != 's') goto yy56;
15810 yy1069:
15811 	YYDEBUG(1069, *YYCURSOR);
15812 	yych = *++YYCURSOR;
15813 	if (yych == 'D') goto yy1070;
15814 	if (yych != 'd') goto yy56;
15815 yy1070:
15816 	YYDEBUG(1070, *YYCURSOR);
15817 	yych = *++YYCURSOR;
15818 	if (yych == 'A') goto yy1071;
15819 	if (yych != 'a') goto yy56;
15820 yy1071:
15821 	YYDEBUG(1071, *YYCURSOR);
15822 	yych = *++YYCURSOR;
15823 	if (yych == 'Y') goto yy1063;
15824 	if (yych == 'y') goto yy1063;
15825 	goto yy56;
15826 yy1072:
15827 	YYDEBUG(1072, *YYCURSOR);
15828 	yych = *++YYCURSOR;
15829 	if (yych <= 'E') {
15830 		if (yych <= 'C') goto yy56;
15831 		if (yych <= 'D') goto yy1074;
15832 	} else {
15833 		if (yych <= 'c') goto yy56;
15834 		if (yych <= 'd') goto yy1074;
15835 		if (yych >= 'f') goto yy56;
15836 	}
15837 	YYDEBUG(1073, *YYCURSOR);
15838 	yych = *++YYCURSOR;
15839 	if (yych == 'K') goto yy1080;
15840 	if (yych == 'k') goto yy1080;
15841 	goto yy56;
15842 yy1074:
15843 	YYDEBUG(1074, *YYCURSOR);
15844 	yyaccept = 25;
15845 	yych = *(YYMARKER = ++YYCURSOR);
15846 	if (yych <= ' ') {
15847 		if (yych == '\t') goto yy1058;
15848 		if (yych <= 0x1F) goto yy1057;
15849 		goto yy1058;
15850 	} else {
15851 		if (yych <= 'N') {
15852 			if (yych <= 'M') goto yy1057;
15853 		} else {
15854 			if (yych != 'n') goto yy1057;
15855 		}
15856 	}
15857 	YYDEBUG(1075, *YYCURSOR);
15858 	yych = *++YYCURSOR;
15859 	if (yych == 'E') goto yy1076;
15860 	if (yych != 'e') goto yy56;
15861 yy1076:
15862 	YYDEBUG(1076, *YYCURSOR);
15863 	yych = *++YYCURSOR;
15864 	if (yych == 'S') goto yy1077;
15865 	if (yych != 's') goto yy56;
15866 yy1077:
15867 	YYDEBUG(1077, *YYCURSOR);
15868 	yych = *++YYCURSOR;
15869 	if (yych == 'D') goto yy1078;
15870 	if (yych != 'd') goto yy56;
15871 yy1078:
15872 	YYDEBUG(1078, *YYCURSOR);
15873 	yych = *++YYCURSOR;
15874 	if (yych == 'A') goto yy1079;
15875 	if (yych != 'a') goto yy56;
15876 yy1079:
15877 	YYDEBUG(1079, *YYCURSOR);
15878 	yych = *++YYCURSOR;
15879 	if (yych == 'Y') goto yy1063;
15880 	if (yych == 'y') goto yy1063;
15881 	goto yy56;
15882 yy1080:
15883 	YYDEBUG(1080, *YYCURSOR);
15884 	yyaccept = 26;
15885 	yych = *(YYMARKER = ++YYCURSOR);
15886 	if (yych <= 'S') {
15887 		if (yych == 'D') goto yy1083;
15888 		if (yych >= 'S') goto yy1082;
15889 	} else {
15890 		if (yych <= 'd') {
15891 			if (yych >= 'd') goto yy1083;
15892 		} else {
15893 			if (yych == 's') goto yy1082;
15894 		}
15895 	}
15896 yy1081:
15897 	YYDEBUG(1081, *YYCURSOR);
15898 #line 1579 "ext/date/lib/parse_date.re"
15899 	{
15900 		timelib_sll i;
15901 		int         behavior = 0;
15902 		DEBUG_OUTPUT("relativetextweek");
15903 		TIMELIB_INIT;
15904 		TIMELIB_HAVE_RELATIVE();
15905 
15906 		while(*ptr) {
15907 			i = timelib_get_relative_text((char **) &ptr, &behavior);
15908 			timelib_eat_spaces((char **) &ptr);
15909 			timelib_set_relative((char **) &ptr, i, behavior, s);
15910 			s->time->relative.weekday_behavior = 2;
15911 
15912 			/* to handle the format weekday + last/this/next week */
15913 			if (s->time->relative.have_weekday_relative == 0) {
15914 				TIMELIB_HAVE_WEEKDAY_RELATIVE();
15915 				s->time->relative.weekday = 1;
15916 			}
15917 		}
15918 		TIMELIB_DEINIT;
15919 		return TIMELIB_RELATIVE;
15920 	}
15921 #line 15922 "<stdout>"
15922 yy1082:
15923 	YYDEBUG(1082, *YYCURSOR);
15924 	yych = *++YYCURSOR;
15925 	goto yy1057;
15926 yy1083:
15927 	YYDEBUG(1083, *YYCURSOR);
15928 	yych = *++YYCURSOR;
15929 	if (yych == 'A') goto yy1084;
15930 	if (yych != 'a') goto yy56;
15931 yy1084:
15932 	YYDEBUG(1084, *YYCURSOR);
15933 	yych = *++YYCURSOR;
15934 	if (yych == 'Y') goto yy1085;
15935 	if (yych != 'y') goto yy56;
15936 yy1085:
15937 	YYDEBUG(1085, *YYCURSOR);
15938 	yych = *++YYCURSOR;
15939 	if (yych == 'S') goto yy1082;
15940 	if (yych == 's') goto yy1082;
15941 	goto yy1057;
15942 yy1086:
15943 	YYDEBUG(1086, *YYCURSOR);
15944 	yych = *++YYCURSOR;
15945 	if (yych == 'A') goto yy1087;
15946 	if (yych != 'a') goto yy56;
15947 yy1087:
15948 	YYDEBUG(1087, *YYCURSOR);
15949 	yych = *++YYCURSOR;
15950 	if (yych == 'R') goto yy1088;
15951 	if (yych != 'r') goto yy56;
15952 yy1088:
15953 	YYDEBUG(1088, *YYCURSOR);
15954 	yych = *++YYCURSOR;
15955 	if (yych == 'S') goto yy1082;
15956 	if (yych == 's') goto yy1082;
15957 	goto yy1057;
15958 yy1089:
15959 	YYDEBUG(1089, *YYCURSOR);
15960 	yych = *++YYCURSOR;
15961 	if (yych == 'I') goto yy1102;
15962 	if (yych == 'i') goto yy1102;
15963 	goto yy56;
15964 yy1090:
15965 	YYDEBUG(1090, *YYCURSOR);
15966 	yych = *++YYCURSOR;
15967 	if (yych == 'R') goto yy1091;
15968 	if (yych != 'r') goto yy56;
15969 yy1091:
15970 	YYDEBUG(1091, *YYCURSOR);
15971 	yych = *++YYCURSOR;
15972 	if (yych == 'T') goto yy1092;
15973 	if (yych != 't') goto yy56;
15974 yy1092:
15975 	YYDEBUG(1092, *YYCURSOR);
15976 	yych = *++YYCURSOR;
15977 	if (yych <= 'N') {
15978 		if (yych == 'H') goto yy1094;
15979 		if (yych <= 'M') goto yy56;
15980 	} else {
15981 		if (yych <= 'h') {
15982 			if (yych <= 'g') goto yy56;
15983 			goto yy1094;
15984 		} else {
15985 			if (yych != 'n') goto yy56;
15986 		}
15987 	}
15988 	YYDEBUG(1093, *YYCURSOR);
15989 	yych = *++YYCURSOR;
15990 	if (yych == 'I') goto yy1099;
15991 	if (yych == 'i') goto yy1099;
15992 	goto yy56;
15993 yy1094:
15994 	YYDEBUG(1094, *YYCURSOR);
15995 	yych = *++YYCURSOR;
15996 	if (yych == 'N') goto yy1095;
15997 	if (yych != 'n') goto yy56;
15998 yy1095:
15999 	YYDEBUG(1095, *YYCURSOR);
16000 	yych = *++YYCURSOR;
16001 	if (yych == 'I') goto yy1096;
16002 	if (yych != 'i') goto yy56;
16003 yy1096:
16004 	YYDEBUG(1096, *YYCURSOR);
16005 	yych = *++YYCURSOR;
16006 	if (yych == 'G') goto yy1097;
16007 	if (yych != 'g') goto yy56;
16008 yy1097:
16009 	YYDEBUG(1097, *YYCURSOR);
16010 	yych = *++YYCURSOR;
16011 	if (yych == 'H') goto yy1098;
16012 	if (yych != 'h') goto yy56;
16013 yy1098:
16014 	YYDEBUG(1098, *YYCURSOR);
16015 	yych = *++YYCURSOR;
16016 	if (yych == 'T') goto yy1088;
16017 	if (yych == 't') goto yy1088;
16018 	goto yy56;
16019 yy1099:
16020 	YYDEBUG(1099, *YYCURSOR);
16021 	yych = *++YYCURSOR;
16022 	if (yych == 'G') goto yy1100;
16023 	if (yych != 'g') goto yy56;
16024 yy1100:
16025 	YYDEBUG(1100, *YYCURSOR);
16026 	yych = *++YYCURSOR;
16027 	if (yych == 'H') goto yy1101;
16028 	if (yych != 'h') goto yy56;
16029 yy1101:
16030 	YYDEBUG(1101, *YYCURSOR);
16031 	yych = *++YYCURSOR;
16032 	if (yych == 'T') goto yy1088;
16033 	if (yych == 't') goto yy1088;
16034 	goto yy56;
16035 yy1102:
16036 	YYDEBUG(1102, *YYCURSOR);
16037 	yyaccept = 25;
16038 	yych = *(YYMARKER = ++YYCURSOR);
16039 	if (yych <= ' ') {
16040 		if (yych == '\t') goto yy1058;
16041 		if (yych <= 0x1F) goto yy1057;
16042 		goto yy1058;
16043 	} else {
16044 		if (yych <= 'D') {
16045 			if (yych <= 'C') goto yy1057;
16046 		} else {
16047 			if (yych != 'd') goto yy1057;
16048 		}
16049 	}
16050 	YYDEBUG(1103, *YYCURSOR);
16051 	yych = *++YYCURSOR;
16052 	if (yych == 'A') goto yy1104;
16053 	if (yych != 'a') goto yy56;
16054 yy1104:
16055 	YYDEBUG(1104, *YYCURSOR);
16056 	yych = *++YYCURSOR;
16057 	if (yych == 'Y') goto yy1063;
16058 	if (yych == 'y') goto yy1063;
16059 	goto yy56;
16060 yy1105:
16061 	YYDEBUG(1105, *YYCURSOR);
16062 	yych = *++YYCURSOR;
16063 	if (yych == 'Y') goto yy1088;
16064 	if (yych == 'y') goto yy1088;
16065 	goto yy56;
16066 yy1106:
16067 	YYDEBUG(1106, *YYCURSOR);
16068 	yych = *++YYCURSOR;
16069 	if (yych == 'U') goto yy1107;
16070 	if (yych != 'u') goto yy56;
16071 yy1107:
16072 	YYDEBUG(1107, *YYCURSOR);
16073 	yych = *++YYCURSOR;
16074 	if (yych == 'R') goto yy1088;
16075 	if (yych == 'r') goto yy1088;
16076 	goto yy56;
16077 yy1108:
16078 	YYDEBUG(1108, *YYCURSOR);
16079 	yych = *++YYCURSOR;
16080 	if (yych == 'N') goto yy1113;
16081 	if (yych == 'n') goto yy1113;
16082 	goto yy56;
16083 yy1109:
16084 	YYDEBUG(1109, *YYCURSOR);
16085 	yych = *++YYCURSOR;
16086 	if (yych == 'N') goto yy1110;
16087 	if (yych != 'n') goto yy56;
16088 yy1110:
16089 	YYDEBUG(1110, *YYCURSOR);
16090 	yyaccept = 25;
16091 	yych = *(YYMARKER = ++YYCURSOR);
16092 	if (yych <= 'U') {
16093 		if (yych == 'S') goto yy1082;
16094 		if (yych <= 'T') goto yy1057;
16095 	} else {
16096 		if (yych <= 's') {
16097 			if (yych <= 'r') goto yy1057;
16098 			goto yy1082;
16099 		} else {
16100 			if (yych != 'u') goto yy1057;
16101 		}
16102 	}
16103 	YYDEBUG(1111, *YYCURSOR);
16104 	yych = *++YYCURSOR;
16105 	if (yych == 'T') goto yy1112;
16106 	if (yych != 't') goto yy56;
16107 yy1112:
16108 	YYDEBUG(1112, *YYCURSOR);
16109 	yych = *++YYCURSOR;
16110 	if (yych == 'E') goto yy1088;
16111 	if (yych == 'e') goto yy1088;
16112 	goto yy56;
16113 yy1113:
16114 	YYDEBUG(1113, *YYCURSOR);
16115 	yyaccept = 25;
16116 	yych = *(YYMARKER = ++YYCURSOR);
16117 	if (yych <= 'D') {
16118 		if (yych <= 0x1F) {
16119 			if (yych == '\t') goto yy1058;
16120 			goto yy1057;
16121 		} else {
16122 			if (yych <= ' ') goto yy1058;
16123 			if (yych <= 'C') goto yy1057;
16124 		}
16125 	} else {
16126 		if (yych <= 'c') {
16127 			if (yych == 'T') goto yy1115;
16128 			goto yy1057;
16129 		} else {
16130 			if (yych <= 'd') goto yy1114;
16131 			if (yych == 't') goto yy1115;
16132 			goto yy1057;
16133 		}
16134 	}
16135 yy1114:
16136 	YYDEBUG(1114, *YYCURSOR);
16137 	yych = *++YYCURSOR;
16138 	if (yych == 'A') goto yy1116;
16139 	if (yych == 'a') goto yy1116;
16140 	goto yy56;
16141 yy1115:
16142 	YYDEBUG(1115, *YYCURSOR);
16143 	yych = *++YYCURSOR;
16144 	if (yych == 'H') goto yy1088;
16145 	if (yych == 'h') goto yy1088;
16146 	goto yy56;
16147 yy1116:
16148 	YYDEBUG(1116, *YYCURSOR);
16149 	yych = *++YYCURSOR;
16150 	if (yych == 'Y') goto yy1063;
16151 	if (yych == 'y') goto yy1063;
16152 	goto yy56;
16153 yy1117:
16154 	YYDEBUG(1117, *YYCURSOR);
16155 	yych = *++YYCURSOR;
16156 	if (yych == 'N') goto yy1128;
16157 	if (yych == 'n') goto yy1128;
16158 	goto yy56;
16159 yy1118:
16160 	YYDEBUG(1118, *YYCURSOR);
16161 	yych = *++YYCURSOR;
16162 	if (yych == 'T') goto yy1123;
16163 	if (yych == 't') goto yy1123;
16164 	goto yy56;
16165 yy1119:
16166 	YYDEBUG(1119, *YYCURSOR);
16167 	yych = *++YYCURSOR;
16168 	if (yych == 'C') goto yy1120;
16169 	if (yych != 'c') goto yy56;
16170 yy1120:
16171 	YYDEBUG(1120, *YYCURSOR);
16172 	yyaccept = 25;
16173 	yych = *(YYMARKER = ++YYCURSOR);
16174 	if (yych <= 'S') {
16175 		if (yych == 'O') goto yy1121;
16176 		if (yych <= 'R') goto yy1057;
16177 		goto yy1082;
16178 	} else {
16179 		if (yych <= 'o') {
16180 			if (yych <= 'n') goto yy1057;
16181 		} else {
16182 			if (yych == 's') goto yy1082;
16183 			goto yy1057;
16184 		}
16185 	}
16186 yy1121:
16187 	YYDEBUG(1121, *YYCURSOR);
16188 	yych = *++YYCURSOR;
16189 	if (yych == 'N') goto yy1122;
16190 	if (yych != 'n') goto yy56;
16191 yy1122:
16192 	YYDEBUG(1122, *YYCURSOR);
16193 	yych = *++YYCURSOR;
16194 	if (yych == 'D') goto yy1088;
16195 	if (yych == 'd') goto yy1088;
16196 	goto yy56;
16197 yy1123:
16198 	YYDEBUG(1123, *YYCURSOR);
16199 	yyaccept = 25;
16200 	yych = *(YYMARKER = ++YYCURSOR);
16201 	if (yych <= ' ') {
16202 		if (yych == '\t') goto yy1058;
16203 		if (yych <= 0x1F) goto yy1057;
16204 		goto yy1058;
16205 	} else {
16206 		if (yych <= 'U') {
16207 			if (yych <= 'T') goto yy1057;
16208 		} else {
16209 			if (yych != 'u') goto yy1057;
16210 		}
16211 	}
16212 	YYDEBUG(1124, *YYCURSOR);
16213 	yych = *++YYCURSOR;
16214 	if (yych == 'R') goto yy1125;
16215 	if (yych != 'r') goto yy56;
16216 yy1125:
16217 	YYDEBUG(1125, *YYCURSOR);
16218 	yych = *++YYCURSOR;
16219 	if (yych == 'D') goto yy1126;
16220 	if (yych != 'd') goto yy56;
16221 yy1126:
16222 	YYDEBUG(1126, *YYCURSOR);
16223 	yych = *++YYCURSOR;
16224 	if (yych == 'A') goto yy1127;
16225 	if (yych != 'a') goto yy56;
16226 yy1127:
16227 	YYDEBUG(1127, *YYCURSOR);
16228 	yych = *++YYCURSOR;
16229 	if (yych == 'Y') goto yy1063;
16230 	if (yych == 'y') goto yy1063;
16231 	goto yy56;
16232 yy1128:
16233 	YYDEBUG(1128, *YYCURSOR);
16234 	yyaccept = 25;
16235 	yych = *(YYMARKER = ++YYCURSOR);
16236 	if (yych <= ' ') {
16237 		if (yych == '\t') goto yy1058;
16238 		if (yych <= 0x1F) goto yy1057;
16239 		goto yy1058;
16240 	} else {
16241 		if (yych <= 'D') {
16242 			if (yych <= 'C') goto yy1057;
16243 		} else {
16244 			if (yych != 'd') goto yy1057;
16245 		}
16246 	}
16247 	YYDEBUG(1129, *YYCURSOR);
16248 	yych = *++YYCURSOR;
16249 	if (yych == 'A') goto yy1130;
16250 	if (yych != 'a') goto yy56;
16251 yy1130:
16252 	YYDEBUG(1130, *YYCURSOR);
16253 	yych = *++YYCURSOR;
16254 	if (yych == 'Y') goto yy1063;
16255 	if (yych == 'y') goto yy1063;
16256 	goto yy56;
16257 yy1131:
16258 	YYDEBUG(1131, *YYCURSOR);
16259 	yyaccept = 0;
16260 	yych = *(YYMARKER = ++YYCURSOR);
16261 	if (yych <= 'D') {
16262 		if (yych <= '-') {
16263 			if (yych == ')') goto yy139;
16264 			if (yych <= ',') goto yy3;
16265 			goto yy147;
16266 		} else {
16267 			if (yych == '/') goto yy147;
16268 			if (yych <= '@') goto yy3;
16269 			goto yy141;
16270 		}
16271 	} else {
16272 		if (yych <= '_') {
16273 			if (yych <= 'E') goto yy1038;
16274 			if (yych <= 'Z') goto yy141;
16275 			if (yych <= '^') goto yy3;
16276 			goto yy147;
16277 		} else {
16278 			if (yych <= 'd') {
16279 				if (yych <= '`') goto yy3;
16280 				goto yy146;
16281 			} else {
16282 				if (yych <= 'e') goto yy1132;
16283 				if (yych <= 'z') goto yy146;
16284 				goto yy3;
16285 			}
16286 		}
16287 	}
16288 yy1132:
16289 	YYDEBUG(1132, *YYCURSOR);
16290 	yyaccept = 0;
16291 	yych = *(YYMARKER = ++YYCURSOR);
16292 	if (yych <= 'U') {
16293 		if (yych <= '-') {
16294 			if (yych == ')') goto yy139;
16295 			if (yych <= ',') goto yy3;
16296 			goto yy147;
16297 		} else {
16298 			if (yych == '/') goto yy147;
16299 			if (yych <= '@') goto yy3;
16300 			goto yy142;
16301 		}
16302 	} else {
16303 		if (yych <= '_') {
16304 			if (yych <= 'V') goto yy1039;
16305 			if (yych <= 'Z') goto yy142;
16306 			if (yych <= '^') goto yy3;
16307 			goto yy147;
16308 		} else {
16309 			if (yych <= 'u') {
16310 				if (yych <= '`') goto yy3;
16311 				goto yy150;
16312 			} else {
16313 				if (yych <= 'v') goto yy1133;
16314 				if (yych <= 'z') goto yy150;
16315 				goto yy3;
16316 			}
16317 		}
16318 	}
16319 yy1133:
16320 	YYDEBUG(1133, *YYCURSOR);
16321 	yyaccept = 0;
16322 	yych = *(YYMARKER = ++YYCURSOR);
16323 	if (yych <= 'H') {
16324 		if (yych <= '-') {
16325 			if (yych == ')') goto yy139;
16326 			if (yych <= ',') goto yy3;
16327 			goto yy147;
16328 		} else {
16329 			if (yych == '/') goto yy147;
16330 			if (yych <= '@') goto yy3;
16331 			goto yy143;
16332 		}
16333 	} else {
16334 		if (yych <= '_') {
16335 			if (yych <= 'I') goto yy1040;
16336 			if (yych <= 'Z') goto yy143;
16337 			if (yych <= '^') goto yy3;
16338 			goto yy147;
16339 		} else {
16340 			if (yych <= 'h') {
16341 				if (yych <= '`') goto yy3;
16342 				goto yy151;
16343 			} else {
16344 				if (yych <= 'i') goto yy1134;
16345 				if (yych <= 'z') goto yy151;
16346 				goto yy3;
16347 			}
16348 		}
16349 	}
16350 yy1134:
16351 	YYDEBUG(1134, *YYCURSOR);
16352 	yyaccept = 0;
16353 	yych = *(YYMARKER = ++YYCURSOR);
16354 	if (yych <= 'N') {
16355 		if (yych <= '-') {
16356 			if (yych == ')') goto yy139;
16357 			if (yych <= ',') goto yy3;
16358 			goto yy147;
16359 		} else {
16360 			if (yych == '/') goto yy147;
16361 			if (yych <= '@') goto yy3;
16362 			goto yy144;
16363 		}
16364 	} else {
16365 		if (yych <= '_') {
16366 			if (yych <= 'O') goto yy1041;
16367 			if (yych <= 'Z') goto yy144;
16368 			if (yych <= '^') goto yy3;
16369 			goto yy147;
16370 		} else {
16371 			if (yych <= 'n') {
16372 				if (yych <= '`') goto yy3;
16373 				goto yy152;
16374 			} else {
16375 				if (yych <= 'o') goto yy1135;
16376 				if (yych <= 'z') goto yy152;
16377 				goto yy3;
16378 			}
16379 		}
16380 	}
16381 yy1135:
16382 	YYDEBUG(1135, *YYCURSOR);
16383 	yyaccept = 0;
16384 	yych = *(YYMARKER = ++YYCURSOR);
16385 	if (yych <= 'T') {
16386 		if (yych <= ',') {
16387 			if (yych == ')') goto yy139;
16388 			goto yy3;
16389 		} else {
16390 			if (yych == '.') goto yy3;
16391 			if (yych <= '/') goto yy147;
16392 			goto yy3;
16393 		}
16394 	} else {
16395 		if (yych <= '`') {
16396 			if (yych <= 'U') goto yy1042;
16397 			if (yych == '_') goto yy147;
16398 			goto yy3;
16399 		} else {
16400 			if (yych == 'u') goto yy1136;
16401 			if (yych <= 'z') goto yy153;
16402 			goto yy3;
16403 		}
16404 	}
16405 yy1136:
16406 	YYDEBUG(1136, *YYCURSOR);
16407 	yych = *++YYCURSOR;
16408 	if (yych == 'S') goto yy1043;
16409 	if (yych != 's') goto yy154;
16410 	YYDEBUG(1137, *YYCURSOR);
16411 	yych = *++YYCURSOR;
16412 	if (yybm[0+yych] & 16) {
16413 		goto yy153;
16414 	}
16415 	if (yych <= ',') {
16416 		if (yych <= '\t') {
16417 			if (yych <= 0x08) goto yy56;
16418 			goto yy1044;
16419 		} else {
16420 			if (yych == ' ') goto yy1044;
16421 			goto yy56;
16422 		}
16423 	} else {
16424 		if (yych <= '/') {
16425 			if (yych == '.') goto yy56;
16426 			goto yy147;
16427 		} else {
16428 			if (yych == '_') goto yy147;
16429 			goto yy56;
16430 		}
16431 	}
16432 yy1138:
16433 	YYDEBUG(1138, *YYCURSOR);
16434 	yych = *++YYCURSOR;
16435 	if (yych <= 'G') {
16436 		if (yych <= ')') {
16437 			if (yych <= '(') goto yy3;
16438 			goto yy139;
16439 		} else {
16440 			if (yych <= '@') goto yy3;
16441 			if (yych <= 'F') goto yy141;
16442 			goto yy1152;
16443 		}
16444 	} else {
16445 		if (yych <= 'f') {
16446 			if (yych <= 'Z') goto yy141;
16447 			if (yych <= '`') goto yy3;
16448 			goto yy141;
16449 		} else {
16450 			if (yych <= 'g') goto yy1152;
16451 			if (yych <= 'z') goto yy141;
16452 			goto yy3;
16453 		}
16454 	}
16455 yy1139:
16456 	YYDEBUG(1139, *YYCURSOR);
16457 	yych = *++YYCURSOR;
16458 	if (yych <= 'E') {
16459 		if (yych <= ')') {
16460 			if (yych <= '(') goto yy3;
16461 			goto yy139;
16462 		} else {
16463 			if (yych <= '@') goto yy3;
16464 			if (yych <= 'D') goto yy141;
16465 		}
16466 	} else {
16467 		if (yych <= 'd') {
16468 			if (yych <= 'Z') goto yy141;
16469 			if (yych <= '`') goto yy3;
16470 			goto yy141;
16471 		} else {
16472 			if (yych <= 'e') goto yy1140;
16473 			if (yych <= 'z') goto yy141;
16474 			goto yy3;
16475 		}
16476 	}
16477 yy1140:
16478 	YYDEBUG(1140, *YYCURSOR);
16479 	yych = *++YYCURSOR;
16480 	if (yych <= 'V') {
16481 		if (yych <= ')') {
16482 			if (yych <= '(') goto yy3;
16483 			goto yy139;
16484 		} else {
16485 			if (yych <= '@') goto yy3;
16486 			if (yych <= 'U') goto yy142;
16487 		}
16488 	} else {
16489 		if (yych <= 'u') {
16490 			if (yych <= 'Z') goto yy142;
16491 			if (yych <= '`') goto yy3;
16492 			goto yy142;
16493 		} else {
16494 			if (yych <= 'v') goto yy1141;
16495 			if (yych <= 'z') goto yy142;
16496 			goto yy3;
16497 		}
16498 	}
16499 yy1141:
16500 	YYDEBUG(1141, *YYCURSOR);
16501 	yych = *++YYCURSOR;
16502 	if (yych <= 'E') {
16503 		if (yych <= ')') {
16504 			if (yych <= '(') goto yy3;
16505 			goto yy139;
16506 		} else {
16507 			if (yych <= '@') goto yy3;
16508 			if (yych <= 'D') goto yy143;
16509 		}
16510 	} else {
16511 		if (yych <= 'd') {
16512 			if (yych <= 'Z') goto yy143;
16513 			if (yych <= '`') goto yy3;
16514 			goto yy143;
16515 		} else {
16516 			if (yych <= 'e') goto yy1142;
16517 			if (yych <= 'z') goto yy143;
16518 			goto yy3;
16519 		}
16520 	}
16521 yy1142:
16522 	YYDEBUG(1142, *YYCURSOR);
16523 	yych = *++YYCURSOR;
16524 	if (yych <= 'N') {
16525 		if (yych <= ')') {
16526 			if (yych <= '(') goto yy3;
16527 			goto yy139;
16528 		} else {
16529 			if (yych <= '@') goto yy3;
16530 			if (yych <= 'M') goto yy144;
16531 		}
16532 	} else {
16533 		if (yych <= 'm') {
16534 			if (yych <= 'Z') goto yy144;
16535 			if (yych <= '`') goto yy3;
16536 			goto yy144;
16537 		} else {
16538 			if (yych <= 'n') goto yy1143;
16539 			if (yych <= 'z') goto yy144;
16540 			goto yy3;
16541 		}
16542 	}
16543 yy1143:
16544 	YYDEBUG(1143, *YYCURSOR);
16545 	yyaccept = 0;
16546 	yych = *(YYMARKER = ++YYCURSOR);
16547 	if (yych <= 'S') {
16548 		if (yych == ')') goto yy139;
16549 		goto yy3;
16550 	} else {
16551 		if (yych <= 'T') goto yy1144;
16552 		if (yych != 't') goto yy3;
16553 	}
16554 yy1144:
16555 	YYDEBUG(1144, *YYCURSOR);
16556 	yych = *++YYCURSOR;
16557 	if (yych == 'H') goto yy1145;
16558 	if (yych != 'h') goto yy56;
16559 yy1145:
16560 	YYDEBUG(1145, *YYCURSOR);
16561 	yych = *++YYCURSOR;
16562 	if (yych == '\t') goto yy1146;
16563 	if (yych != ' ') goto yy56;
16564 yy1146:
16565 	YYDEBUG(1146, *YYCURSOR);
16566 	++YYCURSOR;
16567 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
16568 	yych = *YYCURSOR;
16569 yy1147:
16570 	YYDEBUG(1147, *YYCURSOR);
16571 	if (yych <= 'W') {
16572 		if (yych <= 'F') {
16573 			if (yych <= ' ') {
16574 				if (yych == '\t') goto yy1146;
16575 				if (yych <= 0x1F) goto yy56;
16576 				goto yy1146;
16577 			} else {
16578 				if (yych == 'D') goto yy1049;
16579 				if (yych <= 'E') goto yy56;
16580 				goto yy1050;
16581 			}
16582 		} else {
16583 			if (yych <= 'M') {
16584 				if (yych == 'H') goto yy1048;
16585 				if (yych <= 'L') goto yy56;
16586 				goto yy1047;
16587 			} else {
16588 				if (yych <= 'S') {
16589 					if (yych <= 'R') goto yy56;
16590 					goto yy1046;
16591 				} else {
16592 					if (yych <= 'T') goto yy1053;
16593 					if (yych <= 'V') goto yy56;
16594 				}
16595 			}
16596 		}
16597 	} else {
16598 		if (yych <= 'l') {
16599 			if (yych <= 'd') {
16600 				if (yych == 'Y') goto yy1051;
16601 				if (yych <= 'c') goto yy56;
16602 				goto yy1049;
16603 			} else {
16604 				if (yych <= 'f') {
16605 					if (yych <= 'e') goto yy56;
16606 					goto yy1050;
16607 				} else {
16608 					if (yych == 'h') goto yy1048;
16609 					goto yy56;
16610 				}
16611 			}
16612 		} else {
16613 			if (yych <= 't') {
16614 				if (yych <= 'm') goto yy1047;
16615 				if (yych <= 'r') goto yy56;
16616 				if (yych <= 's') goto yy1046;
16617 				goto yy1053;
16618 			} else {
16619 				if (yych <= 'w') {
16620 					if (yych <= 'v') goto yy56;
16621 				} else {
16622 					if (yych == 'y') goto yy1051;
16623 					goto yy56;
16624 				}
16625 			}
16626 		}
16627 	}
16628 	YYDEBUG(1148, *YYCURSOR);
16629 	yych = *++YYCURSOR;
16630 	if (yych == 'E') goto yy1149;
16631 	if (yych != 'e') goto yy56;
16632 yy1149:
16633 	YYDEBUG(1149, *YYCURSOR);
16634 	yych = *++YYCURSOR;
16635 	if (yych <= 'E') {
16636 		if (yych <= 'C') goto yy56;
16637 		if (yych <= 'D') goto yy1074;
16638 	} else {
16639 		if (yych <= 'c') goto yy56;
16640 		if (yych <= 'd') goto yy1074;
16641 		if (yych >= 'f') goto yy56;
16642 	}
16643 	YYDEBUG(1150, *YYCURSOR);
16644 	yych = *++YYCURSOR;
16645 	if (yych == 'K') goto yy1151;
16646 	if (yych != 'k') goto yy56;
16647 yy1151:
16648 	YYDEBUG(1151, *YYCURSOR);
16649 	yych = *++YYCURSOR;
16650 	if (yych <= 'S') {
16651 		if (yych == 'D') goto yy1083;
16652 		if (yych <= 'R') goto yy56;
16653 		goto yy1082;
16654 	} else {
16655 		if (yych <= 'd') {
16656 			if (yych <= 'c') goto yy56;
16657 			goto yy1083;
16658 		} else {
16659 			if (yych == 's') goto yy1082;
16660 			goto yy56;
16661 		}
16662 	}
16663 yy1152:
16664 	YYDEBUG(1152, *YYCURSOR);
16665 	yych = *++YYCURSOR;
16666 	if (yych <= 'H') {
16667 		if (yych <= ')') {
16668 			if (yych <= '(') goto yy3;
16669 			goto yy139;
16670 		} else {
16671 			if (yych <= '@') goto yy3;
16672 			if (yych <= 'G') goto yy142;
16673 		}
16674 	} else {
16675 		if (yych <= 'g') {
16676 			if (yych <= 'Z') goto yy142;
16677 			if (yych <= '`') goto yy3;
16678 			goto yy142;
16679 		} else {
16680 			if (yych <= 'h') goto yy1153;
16681 			if (yych <= 'z') goto yy142;
16682 			goto yy3;
16683 		}
16684 	}
16685 yy1153:
16686 	YYDEBUG(1153, *YYCURSOR);
16687 	yych = *++YYCURSOR;
16688 	if (yych <= 'T') {
16689 		if (yych <= ')') {
16690 			if (yych <= '(') goto yy3;
16691 			goto yy139;
16692 		} else {
16693 			if (yych <= '@') goto yy3;
16694 			if (yych <= 'S') goto yy143;
16695 		}
16696 	} else {
16697 		if (yych <= 's') {
16698 			if (yych <= 'Z') goto yy143;
16699 			if (yych <= '`') goto yy3;
16700 			goto yy143;
16701 		} else {
16702 			if (yych <= 't') goto yy1154;
16703 			if (yych <= 'z') goto yy143;
16704 			goto yy3;
16705 		}
16706 	}
16707 yy1154:
16708 	YYDEBUG(1154, *YYCURSOR);
16709 	yyaccept = 0;
16710 	yych = *(YYMARKER = ++YYCURSOR);
16711 	if (yych <= '@') {
16712 		if (yych <= 0x1F) {
16713 			if (yych == '\t') goto yy1146;
16714 			goto yy3;
16715 		} else {
16716 			if (yych <= ' ') goto yy1146;
16717 			if (yych == ')') goto yy139;
16718 			goto yy3;
16719 		}
16720 	} else {
16721 		if (yych <= '`') {
16722 			if (yych == 'H') goto yy1155;
16723 			if (yych <= 'Z') goto yy144;
16724 			goto yy3;
16725 		} else {
16726 			if (yych == 'h') goto yy1155;
16727 			if (yych <= 'z') goto yy144;
16728 			goto yy3;
16729 		}
16730 	}
16731 yy1155:
16732 	YYDEBUG(1155, *YYCURSOR);
16733 	yyaccept = 0;
16734 	yych = *(YYMARKER = ++YYCURSOR);
16735 	if (yych <= 0x1F) {
16736 		if (yych == '\t') goto yy1146;
16737 		goto yy3;
16738 	} else {
16739 		if (yych <= ' ') goto yy1146;
16740 		if (yych == ')') goto yy139;
16741 		goto yy3;
16742 	}
16743 yy1156:
16744 	YYDEBUG(1156, *YYCURSOR);
16745 	yyaccept = 0;
16746 	yych = *(YYMARKER = ++YYCURSOR);
16747 	if (yych <= 'F') {
16748 		if (yych <= '-') {
16749 			if (yych == ')') goto yy139;
16750 			if (yych <= ',') goto yy3;
16751 			goto yy147;
16752 		} else {
16753 			if (yych == '/') goto yy147;
16754 			if (yych <= '@') goto yy3;
16755 			goto yy141;
16756 		}
16757 	} else {
16758 		if (yych <= '_') {
16759 			if (yych <= 'G') goto yy1152;
16760 			if (yych <= 'Z') goto yy141;
16761 			if (yych <= '^') goto yy3;
16762 			goto yy147;
16763 		} else {
16764 			if (yych <= 'f') {
16765 				if (yych <= '`') goto yy3;
16766 				goto yy146;
16767 			} else {
16768 				if (yych <= 'g') goto yy1164;
16769 				if (yych <= 'z') goto yy146;
16770 				goto yy3;
16771 			}
16772 		}
16773 	}
16774 yy1157:
16775 	YYDEBUG(1157, *YYCURSOR);
16776 	yyaccept = 0;
16777 	yych = *(YYMARKER = ++YYCURSOR);
16778 	if (yych <= 'D') {
16779 		if (yych <= '-') {
16780 			if (yych == ')') goto yy139;
16781 			if (yych <= ',') goto yy3;
16782 			goto yy147;
16783 		} else {
16784 			if (yych == '/') goto yy147;
16785 			if (yych <= '@') goto yy3;
16786 			goto yy141;
16787 		}
16788 	} else {
16789 		if (yych <= '_') {
16790 			if (yych <= 'E') goto yy1140;
16791 			if (yych <= 'Z') goto yy141;
16792 			if (yych <= '^') goto yy3;
16793 			goto yy147;
16794 		} else {
16795 			if (yych <= 'd') {
16796 				if (yych <= '`') goto yy3;
16797 				goto yy146;
16798 			} else {
16799 				if (yych <= 'e') goto yy1158;
16800 				if (yych <= 'z') goto yy146;
16801 				goto yy3;
16802 			}
16803 		}
16804 	}
16805 yy1158:
16806 	YYDEBUG(1158, *YYCURSOR);
16807 	yyaccept = 0;
16808 	yych = *(YYMARKER = ++YYCURSOR);
16809 	if (yych <= 'U') {
16810 		if (yych <= '-') {
16811 			if (yych == ')') goto yy139;
16812 			if (yych <= ',') goto yy3;
16813 			goto yy147;
16814 		} else {
16815 			if (yych == '/') goto yy147;
16816 			if (yych <= '@') goto yy3;
16817 			goto yy142;
16818 		}
16819 	} else {
16820 		if (yych <= '_') {
16821 			if (yych <= 'V') goto yy1141;
16822 			if (yych <= 'Z') goto yy142;
16823 			if (yych <= '^') goto yy3;
16824 			goto yy147;
16825 		} else {
16826 			if (yych <= 'u') {
16827 				if (yych <= '`') goto yy3;
16828 				goto yy150;
16829 			} else {
16830 				if (yych <= 'v') goto yy1159;
16831 				if (yych <= 'z') goto yy150;
16832 				goto yy3;
16833 			}
16834 		}
16835 	}
16836 yy1159:
16837 	YYDEBUG(1159, *YYCURSOR);
16838 	yyaccept = 0;
16839 	yych = *(YYMARKER = ++YYCURSOR);
16840 	if (yych <= 'D') {
16841 		if (yych <= '-') {
16842 			if (yych == ')') goto yy139;
16843 			if (yych <= ',') goto yy3;
16844 			goto yy147;
16845 		} else {
16846 			if (yych == '/') goto yy147;
16847 			if (yych <= '@') goto yy3;
16848 			goto yy143;
16849 		}
16850 	} else {
16851 		if (yych <= '_') {
16852 			if (yych <= 'E') goto yy1142;
16853 			if (yych <= 'Z') goto yy143;
16854 			if (yych <= '^') goto yy3;
16855 			goto yy147;
16856 		} else {
16857 			if (yych <= 'd') {
16858 				if (yych <= '`') goto yy3;
16859 				goto yy151;
16860 			} else {
16861 				if (yych <= 'e') goto yy1160;
16862 				if (yych <= 'z') goto yy151;
16863 				goto yy3;
16864 			}
16865 		}
16866 	}
16867 yy1160:
16868 	YYDEBUG(1160, *YYCURSOR);
16869 	yyaccept = 0;
16870 	yych = *(YYMARKER = ++YYCURSOR);
16871 	if (yych <= 'M') {
16872 		if (yych <= '-') {
16873 			if (yych == ')') goto yy139;
16874 			if (yych <= ',') goto yy3;
16875 			goto yy147;
16876 		} else {
16877 			if (yych == '/') goto yy147;
16878 			if (yych <= '@') goto yy3;
16879 			goto yy144;
16880 		}
16881 	} else {
16882 		if (yych <= '_') {
16883 			if (yych <= 'N') goto yy1143;
16884 			if (yych <= 'Z') goto yy144;
16885 			if (yych <= '^') goto yy3;
16886 			goto yy147;
16887 		} else {
16888 			if (yych <= 'm') {
16889 				if (yych <= '`') goto yy3;
16890 				goto yy152;
16891 			} else {
16892 				if (yych <= 'n') goto yy1161;
16893 				if (yych <= 'z') goto yy152;
16894 				goto yy3;
16895 			}
16896 		}
16897 	}
16898 yy1161:
16899 	YYDEBUG(1161, *YYCURSOR);
16900 	yyaccept = 0;
16901 	yych = *(YYMARKER = ++YYCURSOR);
16902 	if (yych <= 'S') {
16903 		if (yych <= ',') {
16904 			if (yych == ')') goto yy139;
16905 			goto yy3;
16906 		} else {
16907 			if (yych == '.') goto yy3;
16908 			if (yych <= '/') goto yy147;
16909 			goto yy3;
16910 		}
16911 	} else {
16912 		if (yych <= '`') {
16913 			if (yych <= 'T') goto yy1144;
16914 			if (yych == '_') goto yy147;
16915 			goto yy3;
16916 		} else {
16917 			if (yych == 't') goto yy1162;
16918 			if (yych <= 'z') goto yy153;
16919 			goto yy3;
16920 		}
16921 	}
16922 yy1162:
16923 	YYDEBUG(1162, *YYCURSOR);
16924 	yych = *++YYCURSOR;
16925 	if (yych == 'H') goto yy1145;
16926 	if (yych != 'h') goto yy154;
16927 yy1163:
16928 	YYDEBUG(1163, *YYCURSOR);
16929 	yych = *++YYCURSOR;
16930 	if (yybm[0+yych] & 16) {
16931 		goto yy153;
16932 	}
16933 	if (yych <= ',') {
16934 		if (yych <= '\t') {
16935 			if (yych <= 0x08) goto yy56;
16936 			goto yy1146;
16937 		} else {
16938 			if (yych == ' ') goto yy1146;
16939 			goto yy56;
16940 		}
16941 	} else {
16942 		if (yych <= '/') {
16943 			if (yych == '.') goto yy56;
16944 			goto yy147;
16945 		} else {
16946 			if (yych == '_') goto yy147;
16947 			goto yy56;
16948 		}
16949 	}
16950 yy1164:
16951 	YYDEBUG(1164, *YYCURSOR);
16952 	yyaccept = 0;
16953 	yych = *(YYMARKER = ++YYCURSOR);
16954 	if (yych <= 'G') {
16955 		if (yych <= '-') {
16956 			if (yych == ')') goto yy139;
16957 			if (yych <= ',') goto yy3;
16958 			goto yy147;
16959 		} else {
16960 			if (yych == '/') goto yy147;
16961 			if (yych <= '@') goto yy3;
16962 			goto yy142;
16963 		}
16964 	} else {
16965 		if (yych <= '_') {
16966 			if (yych <= 'H') goto yy1153;
16967 			if (yych <= 'Z') goto yy142;
16968 			if (yych <= '^') goto yy3;
16969 			goto yy147;
16970 		} else {
16971 			if (yych <= 'g') {
16972 				if (yych <= '`') goto yy3;
16973 				goto yy150;
16974 			} else {
16975 				if (yych <= 'h') goto yy1165;
16976 				if (yych <= 'z') goto yy150;
16977 				goto yy3;
16978 			}
16979 		}
16980 	}
16981 yy1165:
16982 	YYDEBUG(1165, *YYCURSOR);
16983 	yyaccept = 0;
16984 	yych = *(YYMARKER = ++YYCURSOR);
16985 	if (yych <= 'S') {
16986 		if (yych <= '-') {
16987 			if (yych == ')') goto yy139;
16988 			if (yych <= ',') goto yy3;
16989 			goto yy147;
16990 		} else {
16991 			if (yych == '/') goto yy147;
16992 			if (yych <= '@') goto yy3;
16993 			goto yy143;
16994 		}
16995 	} else {
16996 		if (yych <= '_') {
16997 			if (yych <= 'T') goto yy1154;
16998 			if (yych <= 'Z') goto yy143;
16999 			if (yych <= '^') goto yy3;
17000 			goto yy147;
17001 		} else {
17002 			if (yych <= 's') {
17003 				if (yych <= '`') goto yy3;
17004 				goto yy151;
17005 			} else {
17006 				if (yych <= 't') goto yy1166;
17007 				if (yych <= 'z') goto yy151;
17008 				goto yy3;
17009 			}
17010 		}
17011 	}
17012 yy1166:
17013 	YYDEBUG(1166, *YYCURSOR);
17014 	yyaccept = 0;
17015 	yych = *(YYMARKER = ++YYCURSOR);
17016 	if (yych <= '/') {
17017 		if (yych <= '(') {
17018 			if (yych <= '\t') {
17019 				if (yych <= 0x08) goto yy3;
17020 				goto yy1146;
17021 			} else {
17022 				if (yych == ' ') goto yy1146;
17023 				goto yy3;
17024 			}
17025 		} else {
17026 			if (yych <= ',') {
17027 				if (yych <= ')') goto yy139;
17028 				goto yy3;
17029 			} else {
17030 				if (yych == '.') goto yy3;
17031 				goto yy147;
17032 			}
17033 		}
17034 	} else {
17035 		if (yych <= '^') {
17036 			if (yych <= 'G') {
17037 				if (yych <= '@') goto yy3;
17038 				goto yy144;
17039 			} else {
17040 				if (yych <= 'H') goto yy1155;
17041 				if (yych <= 'Z') goto yy144;
17042 				goto yy3;
17043 			}
17044 		} else {
17045 			if (yych <= 'g') {
17046 				if (yych <= '_') goto yy147;
17047 				if (yych <= '`') goto yy3;
17048 				goto yy152;
17049 			} else {
17050 				if (yych <= 'h') goto yy1167;
17051 				if (yych <= 'z') goto yy152;
17052 				goto yy3;
17053 			}
17054 		}
17055 	}
17056 yy1167:
17057 	YYDEBUG(1167, *YYCURSOR);
17058 	yyaccept = 0;
17059 	yych = *(YYMARKER = ++YYCURSOR);
17060 	if (yybm[0+yych] & 16) {
17061 		goto yy153;
17062 	}
17063 	if (yych <= ')') {
17064 		if (yych <= 0x1F) {
17065 			if (yych == '\t') goto yy1146;
17066 			goto yy3;
17067 		} else {
17068 			if (yych <= ' ') goto yy1146;
17069 			if (yych <= '(') goto yy3;
17070 			goto yy139;
17071 		}
17072 	} else {
17073 		if (yych <= '.') {
17074 			if (yych == '-') goto yy147;
17075 			goto yy3;
17076 		} else {
17077 			if (yych <= '/') goto yy147;
17078 			if (yych == '_') goto yy147;
17079 			goto yy3;
17080 		}
17081 	}
17082 yy1168:
17083 	YYDEBUG(1168, *YYCURSOR);
17084 	yych = *++YYCURSOR;
17085 	if (yych <= 'V') {
17086 		if (yych <= 'B') {
17087 			if (yych == ')') goto yy139;
17088 			if (yych <= '@') goto yy3;
17089 			goto yy141;
17090 		} else {
17091 			if (yych <= 'O') {
17092 				if (yych <= 'C') goto yy1184;
17093 				goto yy141;
17094 			} else {
17095 				if (yych <= 'P') goto yy1186;
17096 				if (yych <= 'U') goto yy141;
17097 				goto yy1185;
17098 			}
17099 		}
17100 	} else {
17101 		if (yych <= 'o') {
17102 			if (yych <= '`') {
17103 				if (yych <= 'Z') goto yy141;
17104 				goto yy3;
17105 			} else {
17106 				if (yych == 'c') goto yy1184;
17107 				goto yy141;
17108 			}
17109 		} else {
17110 			if (yych <= 'u') {
17111 				if (yych <= 'p') goto yy1186;
17112 				goto yy141;
17113 			} else {
17114 				if (yych <= 'v') goto yy1185;
17115 				if (yych <= 'z') goto yy141;
17116 				goto yy3;
17117 			}
17118 		}
17119 	}
17120 yy1169:
17121 	YYDEBUG(1169, *YYCURSOR);
17122 	yych = *++YYCURSOR;
17123 	if (yych <= 'T') {
17124 		if (yych <= ')') {
17125 			if (yych <= '(') goto yy3;
17126 			goto yy139;
17127 		} else {
17128 			if (yych <= '@') goto yy3;
17129 			if (yych <= 'S') goto yy141;
17130 			goto yy1179;
17131 		}
17132 	} else {
17133 		if (yych <= 's') {
17134 			if (yych <= 'Z') goto yy141;
17135 			if (yych <= '`') goto yy3;
17136 			goto yy141;
17137 		} else {
17138 			if (yych <= 't') goto yy1179;
17139 			if (yych <= 'z') goto yy141;
17140 			goto yy3;
17141 		}
17142 	}
17143 yy1170:
17144 	YYDEBUG(1170, *YYCURSOR);
17145 	yych = *++YYCURSOR;
17146 	if (yych <= 'X') {
17147 		if (yych <= ')') {
17148 			if (yych <= '(') goto yy3;
17149 			goto yy139;
17150 		} else {
17151 			if (yych <= '@') goto yy3;
17152 			if (yych <= 'W') goto yy141;
17153 			goto yy1176;
17154 		}
17155 	} else {
17156 		if (yych <= 'w') {
17157 			if (yych <= 'Z') goto yy141;
17158 			if (yych <= '`') goto yy3;
17159 			goto yy141;
17160 		} else {
17161 			if (yych <= 'x') goto yy1176;
17162 			if (yych <= 'z') goto yy141;
17163 			goto yy3;
17164 		}
17165 	}
17166 yy1171:
17167 	YYDEBUG(1171, *YYCURSOR);
17168 	yych = *++YYCURSOR;
17169 	if (yych <= 'N') {
17170 		if (yych <= ')') {
17171 			if (yych <= '(') goto yy3;
17172 			goto yy139;
17173 		} else {
17174 			if (yych <= '@') goto yy3;
17175 			if (yych <= 'M') goto yy141;
17176 		}
17177 	} else {
17178 		if (yych <= 'm') {
17179 			if (yych <= 'Z') goto yy141;
17180 			if (yych <= '`') goto yy3;
17181 			goto yy141;
17182 		} else {
17183 			if (yych <= 'n') goto yy1172;
17184 			if (yych <= 'z') goto yy141;
17185 			goto yy3;
17186 		}
17187 	}
17188 yy1172:
17189 	YYDEBUG(1172, *YYCURSOR);
17190 	yych = *++YYCURSOR;
17191 	if (yych <= 'D') {
17192 		if (yych <= ')') {
17193 			if (yych <= '(') goto yy166;
17194 			goto yy139;
17195 		} else {
17196 			if (yych <= '@') goto yy166;
17197 			if (yych <= 'C') goto yy142;
17198 		}
17199 	} else {
17200 		if (yych <= 'c') {
17201 			if (yych <= 'Z') goto yy142;
17202 			if (yych <= '`') goto yy166;
17203 			goto yy142;
17204 		} else {
17205 			if (yych <= 'd') goto yy1173;
17206 			if (yych <= 'z') goto yy142;
17207 			goto yy166;
17208 		}
17209 	}
17210 yy1173:
17211 	YYDEBUG(1173, *YYCURSOR);
17212 	yych = *++YYCURSOR;
17213 	if (yych <= 'A') {
17214 		if (yych == ')') goto yy139;
17215 		if (yych <= '@') goto yy3;
17216 	} else {
17217 		if (yych <= '`') {
17218 			if (yych <= 'Z') goto yy143;
17219 			goto yy3;
17220 		} else {
17221 			if (yych <= 'a') goto yy1174;
17222 			if (yych <= 'z') goto yy143;
17223 			goto yy3;
17224 		}
17225 	}
17226 yy1174:
17227 	YYDEBUG(1174, *YYCURSOR);
17228 	yych = *++YYCURSOR;
17229 	if (yych <= 'Y') {
17230 		if (yych <= ')') {
17231 			if (yych <= '(') goto yy3;
17232 			goto yy139;
17233 		} else {
17234 			if (yych <= '@') goto yy3;
17235 			if (yych <= 'X') goto yy144;
17236 		}
17237 	} else {
17238 		if (yych <= 'x') {
17239 			if (yych <= 'Z') goto yy144;
17240 			if (yych <= '`') goto yy3;
17241 			goto yy144;
17242 		} else {
17243 			if (yych <= 'y') goto yy1175;
17244 			if (yych <= 'z') goto yy144;
17245 			goto yy3;
17246 		}
17247 	}
17248 yy1175:
17249 	YYDEBUG(1175, *YYCURSOR);
17250 	yych = *++YYCURSOR;
17251 	if (yych == ')') goto yy139;
17252 	goto yy166;
17253 yy1176:
17254 	YYDEBUG(1176, *YYCURSOR);
17255 	yych = *++YYCURSOR;
17256 	if (yych <= 'T') {
17257 		if (yych <= ')') {
17258 			if (yych <= '(') goto yy3;
17259 			goto yy139;
17260 		} else {
17261 			if (yych <= '@') goto yy3;
17262 			if (yych <= 'S') goto yy142;
17263 		}
17264 	} else {
17265 		if (yych <= 's') {
17266 			if (yych <= 'Z') goto yy142;
17267 			if (yych <= '`') goto yy3;
17268 			goto yy142;
17269 		} else {
17270 			if (yych <= 't') goto yy1177;
17271 			if (yych <= 'z') goto yy142;
17272 			goto yy3;
17273 		}
17274 	}
17275 yy1177:
17276 	YYDEBUG(1177, *YYCURSOR);
17277 	yych = *++YYCURSOR;
17278 	if (yych <= 'H') {
17279 		if (yych <= ')') {
17280 			if (yych <= '(') goto yy3;
17281 			goto yy139;
17282 		} else {
17283 			if (yych <= '@') goto yy3;
17284 			if (yych <= 'G') goto yy143;
17285 		}
17286 	} else {
17287 		if (yych <= 'g') {
17288 			if (yych <= 'Z') goto yy143;
17289 			if (yych <= '`') goto yy3;
17290 			goto yy143;
17291 		} else {
17292 			if (yych <= 'h') goto yy1178;
17293 			if (yych <= 'z') goto yy143;
17294 			goto yy3;
17295 		}
17296 	}
17297 yy1178:
17298 	YYDEBUG(1178, *YYCURSOR);
17299 	yyaccept = 0;
17300 	yych = *(YYMARKER = ++YYCURSOR);
17301 	if (yych <= '(') {
17302 		if (yych <= '\t') {
17303 			if (yych <= 0x08) goto yy3;
17304 			goto yy1146;
17305 		} else {
17306 			if (yych == ' ') goto yy1146;
17307 			goto yy3;
17308 		}
17309 	} else {
17310 		if (yych <= 'Z') {
17311 			if (yych <= ')') goto yy139;
17312 			if (yych <= '@') goto yy3;
17313 			goto yy144;
17314 		} else {
17315 			if (yych <= '`') goto yy3;
17316 			if (yych <= 'z') goto yy144;
17317 			goto yy3;
17318 		}
17319 	}
17320 yy1179:
17321 	YYDEBUG(1179, *YYCURSOR);
17322 	yych = *++YYCURSOR;
17323 	if (yych <= 'U') {
17324 		if (yych <= ')') {
17325 			if (yych <= '(') goto yy166;
17326 			goto yy139;
17327 		} else {
17328 			if (yych <= '@') goto yy166;
17329 			if (yych <= 'T') goto yy142;
17330 		}
17331 	} else {
17332 		if (yych <= 't') {
17333 			if (yych <= 'Z') goto yy142;
17334 			if (yych <= '`') goto yy166;
17335 			goto yy142;
17336 		} else {
17337 			if (yych <= 'u') goto yy1180;
17338 			if (yych <= 'z') goto yy142;
17339 			goto yy166;
17340 		}
17341 	}
17342 yy1180:
17343 	YYDEBUG(1180, *YYCURSOR);
17344 	yych = *++YYCURSOR;
17345 	if (yych <= 'R') {
17346 		if (yych <= ')') {
17347 			if (yych <= '(') goto yy3;
17348 			goto yy139;
17349 		} else {
17350 			if (yych <= '@') goto yy3;
17351 			if (yych <= 'Q') goto yy143;
17352 		}
17353 	} else {
17354 		if (yych <= 'q') {
17355 			if (yych <= 'Z') goto yy143;
17356 			if (yych <= '`') goto yy3;
17357 			goto yy143;
17358 		} else {
17359 			if (yych <= 'r') goto yy1181;
17360 			if (yych <= 'z') goto yy143;
17361 			goto yy3;
17362 		}
17363 	}
17364 yy1181:
17365 	YYDEBUG(1181, *YYCURSOR);
17366 	yych = *++YYCURSOR;
17367 	if (yych <= 'D') {
17368 		if (yych <= ')') {
17369 			if (yych <= '(') goto yy3;
17370 			goto yy139;
17371 		} else {
17372 			if (yych <= '@') goto yy3;
17373 			if (yych <= 'C') goto yy144;
17374 		}
17375 	} else {
17376 		if (yych <= 'c') {
17377 			if (yych <= 'Z') goto yy144;
17378 			if (yych <= '`') goto yy3;
17379 			goto yy144;
17380 		} else {
17381 			if (yych <= 'd') goto yy1182;
17382 			if (yych <= 'z') goto yy144;
17383 			goto yy3;
17384 		}
17385 	}
17386 yy1182:
17387 	YYDEBUG(1182, *YYCURSOR);
17388 	yyaccept = 0;
17389 	yych = *(YYMARKER = ++YYCURSOR);
17390 	if (yych <= '@') {
17391 		if (yych == ')') goto yy139;
17392 		goto yy3;
17393 	} else {
17394 		if (yych <= 'A') goto yy1183;
17395 		if (yych != 'a') goto yy3;
17396 	}
17397 yy1183:
17398 	YYDEBUG(1183, *YYCURSOR);
17399 	yych = *++YYCURSOR;
17400 	if (yych == 'Y') goto yy172;
17401 	if (yych == 'y') goto yy172;
17402 	goto yy56;
17403 yy1184:
17404 	YYDEBUG(1184, *YYCURSOR);
17405 	yych = *++YYCURSOR;
17406 	if (yych <= 'O') {
17407 		if (yych <= ')') {
17408 			if (yych <= '(') goto yy3;
17409 			goto yy139;
17410 		} else {
17411 			if (yych <= '@') goto yy3;
17412 			if (yych <= 'N') goto yy142;
17413 			goto yy1195;
17414 		}
17415 	} else {
17416 		if (yych <= 'n') {
17417 			if (yych <= 'Z') goto yy142;
17418 			if (yych <= '`') goto yy3;
17419 			goto yy142;
17420 		} else {
17421 			if (yych <= 'o') goto yy1195;
17422 			if (yych <= 'z') goto yy142;
17423 			goto yy3;
17424 		}
17425 	}
17426 yy1185:
17427 	YYDEBUG(1185, *YYCURSOR);
17428 	yych = *++YYCURSOR;
17429 	if (yych <= 'E') {
17430 		if (yych <= ')') {
17431 			if (yych <= '(') goto yy3;
17432 			goto yy139;
17433 		} else {
17434 			if (yych <= '@') goto yy3;
17435 			if (yych <= 'D') goto yy142;
17436 			goto yy1192;
17437 		}
17438 	} else {
17439 		if (yych <= 'd') {
17440 			if (yych <= 'Z') goto yy142;
17441 			if (yych <= '`') goto yy3;
17442 			goto yy142;
17443 		} else {
17444 			if (yych <= 'e') goto yy1192;
17445 			if (yych <= 'z') goto yy142;
17446 			goto yy3;
17447 		}
17448 	}
17449 yy1186:
17450 	YYDEBUG(1186, *YYCURSOR);
17451 	yyaccept = 5;
17452 	yych = *(YYMARKER = ++YYCURSOR);
17453 	if (yych <= '/') {
17454 		if (yych <= '(') {
17455 			if (yych <= '\t') {
17456 				if (yych <= 0x08) goto yy193;
17457 				goto yy195;
17458 			} else {
17459 				if (yych == ' ') goto yy195;
17460 				goto yy193;
17461 			}
17462 		} else {
17463 			if (yych <= ',') {
17464 				if (yych <= ')') goto yy139;
17465 				goto yy193;
17466 			} else {
17467 				if (yych <= '-') goto yy196;
17468 				if (yych <= '.') goto yy195;
17469 				goto yy193;
17470 			}
17471 		}
17472 	} else {
17473 		if (yych <= 'Z') {
17474 			if (yych <= '@') {
17475 				if (yych <= '9') goto yy195;
17476 				goto yy193;
17477 			} else {
17478 				if (yych != 'T') goto yy142;
17479 			}
17480 		} else {
17481 			if (yych <= 's') {
17482 				if (yych <= '`') goto yy193;
17483 				goto yy142;
17484 			} else {
17485 				if (yych <= 't') goto yy1187;
17486 				if (yych <= 'z') goto yy142;
17487 				goto yy193;
17488 			}
17489 		}
17490 	}
17491 yy1187:
17492 	YYDEBUG(1187, *YYCURSOR);
17493 	yyaccept = 5;
17494 	yych = *(YYMARKER = ++YYCURSOR);
17495 	if (yych <= '/') {
17496 		if (yych <= '(') {
17497 			if (yych <= '\t') {
17498 				if (yych <= 0x08) goto yy193;
17499 				goto yy195;
17500 			} else {
17501 				if (yych == ' ') goto yy195;
17502 				goto yy193;
17503 			}
17504 		} else {
17505 			if (yych <= ',') {
17506 				if (yych <= ')') goto yy139;
17507 				goto yy193;
17508 			} else {
17509 				if (yych <= '-') goto yy196;
17510 				if (yych <= '.') goto yy195;
17511 				goto yy193;
17512 			}
17513 		}
17514 	} else {
17515 		if (yych <= 'Z') {
17516 			if (yych <= '@') {
17517 				if (yych <= '9') goto yy195;
17518 				goto yy193;
17519 			} else {
17520 				if (yych != 'E') goto yy143;
17521 			}
17522 		} else {
17523 			if (yych <= 'd') {
17524 				if (yych <= '`') goto yy193;
17525 				goto yy143;
17526 			} else {
17527 				if (yych <= 'e') goto yy1188;
17528 				if (yych <= 'z') goto yy143;
17529 				goto yy193;
17530 			}
17531 		}
17532 	}
17533 yy1188:
17534 	YYDEBUG(1188, *YYCURSOR);
17535 	yych = *++YYCURSOR;
17536 	if (yych <= 'M') {
17537 		if (yych <= ')') {
17538 			if (yych <= '(') goto yy3;
17539 			goto yy139;
17540 		} else {
17541 			if (yych <= '@') goto yy3;
17542 			if (yych <= 'L') goto yy144;
17543 		}
17544 	} else {
17545 		if (yych <= 'l') {
17546 			if (yych <= 'Z') goto yy144;
17547 			if (yych <= '`') goto yy3;
17548 			goto yy144;
17549 		} else {
17550 			if (yych <= 'm') goto yy1189;
17551 			if (yych <= 'z') goto yy144;
17552 			goto yy3;
17553 		}
17554 	}
17555 yy1189:
17556 	YYDEBUG(1189, *YYCURSOR);
17557 	yyaccept = 0;
17558 	yych = *(YYMARKER = ++YYCURSOR);
17559 	if (yych <= 'A') {
17560 		if (yych == ')') goto yy139;
17561 		goto yy3;
17562 	} else {
17563 		if (yych <= 'B') goto yy1190;
17564 		if (yych != 'b') goto yy3;
17565 	}
17566 yy1190:
17567 	YYDEBUG(1190, *YYCURSOR);
17568 	yych = *++YYCURSOR;
17569 	if (yych == 'E') goto yy1191;
17570 	if (yych != 'e') goto yy56;
17571 yy1191:
17572 	YYDEBUG(1191, *YYCURSOR);
17573 	yych = *++YYCURSOR;
17574 	if (yych == 'R') goto yy204;
17575 	if (yych == 'r') goto yy204;
17576 	goto yy56;
17577 yy1192:
17578 	YYDEBUG(1192, *YYCURSOR);
17579 	yych = *++YYCURSOR;
17580 	if (yych <= 'N') {
17581 		if (yych <= ')') {
17582 			if (yych <= '(') goto yy3;
17583 			goto yy139;
17584 		} else {
17585 			if (yych <= '@') goto yy3;
17586 			if (yych <= 'M') goto yy143;
17587 		}
17588 	} else {
17589 		if (yych <= 'm') {
17590 			if (yych <= 'Z') goto yy143;
17591 			if (yych <= '`') goto yy3;
17592 			goto yy143;
17593 		} else {
17594 			if (yych <= 'n') goto yy1193;
17595 			if (yych <= 'z') goto yy143;
17596 			goto yy3;
17597 		}
17598 	}
17599 yy1193:
17600 	YYDEBUG(1193, *YYCURSOR);
17601 	yych = *++YYCURSOR;
17602 	if (yych <= 'T') {
17603 		if (yych <= ')') {
17604 			if (yych <= '(') goto yy3;
17605 			goto yy139;
17606 		} else {
17607 			if (yych <= '@') goto yy3;
17608 			if (yych <= 'S') goto yy144;
17609 		}
17610 	} else {
17611 		if (yych <= 's') {
17612 			if (yych <= 'Z') goto yy144;
17613 			if (yych <= '`') goto yy3;
17614 			goto yy144;
17615 		} else {
17616 			if (yych <= 't') goto yy1194;
17617 			if (yych <= 'z') goto yy144;
17618 			goto yy3;
17619 		}
17620 	}
17621 yy1194:
17622 	YYDEBUG(1194, *YYCURSOR);
17623 	yyaccept = 0;
17624 	yych = *(YYMARKER = ++YYCURSOR);
17625 	if (yych <= 'G') {
17626 		if (yych == ')') goto yy139;
17627 		goto yy3;
17628 	} else {
17629 		if (yych <= 'H') goto yy1145;
17630 		if (yych == 'h') goto yy1145;
17631 		goto yy3;
17632 	}
17633 yy1195:
17634 	YYDEBUG(1195, *YYCURSOR);
17635 	yych = *++YYCURSOR;
17636 	if (yych <= 'N') {
17637 		if (yych <= ')') {
17638 			if (yych <= '(') goto yy3;
17639 			goto yy139;
17640 		} else {
17641 			if (yych <= '@') goto yy3;
17642 			if (yych <= 'M') goto yy143;
17643 		}
17644 	} else {
17645 		if (yych <= 'm') {
17646 			if (yych <= 'Z') goto yy143;
17647 			if (yych <= '`') goto yy3;
17648 			goto yy143;
17649 		} else {
17650 			if (yych <= 'n') goto yy1196;
17651 			if (yych <= 'z') goto yy143;
17652 			goto yy3;
17653 		}
17654 	}
17655 yy1196:
17656 	YYDEBUG(1196, *YYCURSOR);
17657 	yych = *++YYCURSOR;
17658 	if (yych <= 'D') {
17659 		if (yych <= ')') {
17660 			if (yych <= '(') goto yy3;
17661 			goto yy139;
17662 		} else {
17663 			if (yych <= '@') goto yy3;
17664 			if (yych <= 'C') goto yy144;
17665 			goto yy1155;
17666 		}
17667 	} else {
17668 		if (yych <= 'c') {
17669 			if (yych <= 'Z') goto yy144;
17670 			if (yych <= '`') goto yy3;
17671 			goto yy144;
17672 		} else {
17673 			if (yych <= 'd') goto yy1155;
17674 			if (yych <= 'z') goto yy144;
17675 			goto yy3;
17676 		}
17677 	}
17678 yy1197:
17679 	YYDEBUG(1197, *YYCURSOR);
17680 	yyaccept = 0;
17681 	yych = *(YYMARKER = ++YYCURSOR);
17682 	if (yych <= 'U') {
17683 		if (yych <= '/') {
17684 			if (yych <= ',') {
17685 				if (yych == ')') goto yy139;
17686 				goto yy3;
17687 			} else {
17688 				if (yych == '.') goto yy3;
17689 				goto yy147;
17690 			}
17691 		} else {
17692 			if (yych <= 'C') {
17693 				if (yych <= '@') goto yy3;
17694 				if (yych <= 'B') goto yy141;
17695 				goto yy1184;
17696 			} else {
17697 				if (yych == 'P') goto yy1186;
17698 				goto yy141;
17699 			}
17700 		}
17701 	} else {
17702 		if (yych <= 'b') {
17703 			if (yych <= '^') {
17704 				if (yych <= 'V') goto yy1185;
17705 				if (yych <= 'Z') goto yy141;
17706 				goto yy3;
17707 			} else {
17708 				if (yych <= '_') goto yy147;
17709 				if (yych <= '`') goto yy3;
17710 				goto yy146;
17711 			}
17712 		} else {
17713 			if (yych <= 'p') {
17714 				if (yych <= 'c') goto yy1213;
17715 				if (yych <= 'o') goto yy146;
17716 				goto yy1215;
17717 			} else {
17718 				if (yych == 'v') goto yy1214;
17719 				if (yych <= 'z') goto yy146;
17720 				goto yy3;
17721 			}
17722 		}
17723 	}
17724 yy1198:
17725 	YYDEBUG(1198, *YYCURSOR);
17726 	yyaccept = 0;
17727 	yych = *(YYMARKER = ++YYCURSOR);
17728 	if (yych <= 'S') {
17729 		if (yych <= '-') {
17730 			if (yych == ')') goto yy139;
17731 			if (yych <= ',') goto yy3;
17732 			goto yy147;
17733 		} else {
17734 			if (yych == '/') goto yy147;
17735 			if (yych <= '@') goto yy3;
17736 			goto yy141;
17737 		}
17738 	} else {
17739 		if (yych <= '_') {
17740 			if (yych <= 'T') goto yy1179;
17741 			if (yych <= 'Z') goto yy141;
17742 			if (yych <= '^') goto yy3;
17743 			goto yy147;
17744 		} else {
17745 			if (yych <= 's') {
17746 				if (yych <= '`') goto yy3;
17747 				goto yy146;
17748 			} else {
17749 				if (yych <= 't') goto yy1208;
17750 				if (yych <= 'z') goto yy146;
17751 				goto yy3;
17752 			}
17753 		}
17754 	}
17755 yy1199:
17756 	YYDEBUG(1199, *YYCURSOR);
17757 	yyaccept = 0;
17758 	yych = *(YYMARKER = ++YYCURSOR);
17759 	if (yych <= 'W') {
17760 		if (yych <= '-') {
17761 			if (yych == ')') goto yy139;
17762 			if (yych <= ',') goto yy3;
17763 			goto yy147;
17764 		} else {
17765 			if (yych == '/') goto yy147;
17766 			if (yych <= '@') goto yy3;
17767 			goto yy141;
17768 		}
17769 	} else {
17770 		if (yych <= '_') {
17771 			if (yych <= 'X') goto yy1176;
17772 			if (yych <= 'Z') goto yy141;
17773 			if (yych <= '^') goto yy3;
17774 			goto yy147;
17775 		} else {
17776 			if (yych <= 'w') {
17777 				if (yych <= '`') goto yy3;
17778 				goto yy146;
17779 			} else {
17780 				if (yych <= 'x') goto yy1205;
17781 				if (yych <= 'z') goto yy146;
17782 				goto yy3;
17783 			}
17784 		}
17785 	}
17786 yy1200:
17787 	YYDEBUG(1200, *YYCURSOR);
17788 	yyaccept = 0;
17789 	yych = *(YYMARKER = ++YYCURSOR);
17790 	if (yych <= 'M') {
17791 		if (yych <= '-') {
17792 			if (yych == ')') goto yy139;
17793 			if (yych <= ',') goto yy3;
17794 			goto yy147;
17795 		} else {
17796 			if (yych == '/') goto yy147;
17797 			if (yych <= '@') goto yy3;
17798 			goto yy141;
17799 		}
17800 	} else {
17801 		if (yych <= '_') {
17802 			if (yych <= 'N') goto yy1172;
17803 			if (yych <= 'Z') goto yy141;
17804 			if (yych <= '^') goto yy3;
17805 			goto yy147;
17806 		} else {
17807 			if (yych <= 'm') {
17808 				if (yych <= '`') goto yy3;
17809 				goto yy146;
17810 			} else {
17811 				if (yych <= 'n') goto yy1201;
17812 				if (yych <= 'z') goto yy146;
17813 				goto yy3;
17814 			}
17815 		}
17816 	}
17817 yy1201:
17818 	YYDEBUG(1201, *YYCURSOR);
17819 	yyaccept = 4;
17820 	yych = *(YYMARKER = ++YYCURSOR);
17821 	if (yych <= 'C') {
17822 		if (yych <= '-') {
17823 			if (yych == ')') goto yy139;
17824 			if (yych <= ',') goto yy166;
17825 			goto yy147;
17826 		} else {
17827 			if (yych == '/') goto yy147;
17828 			if (yych <= '@') goto yy166;
17829 			goto yy142;
17830 		}
17831 	} else {
17832 		if (yych <= '_') {
17833 			if (yych <= 'D') goto yy1173;
17834 			if (yych <= 'Z') goto yy142;
17835 			if (yych <= '^') goto yy166;
17836 			goto yy147;
17837 		} else {
17838 			if (yych <= 'c') {
17839 				if (yych <= '`') goto yy166;
17840 				goto yy150;
17841 			} else {
17842 				if (yych <= 'd') goto yy1202;
17843 				if (yych <= 'z') goto yy150;
17844 				goto yy166;
17845 			}
17846 		}
17847 	}
17848 yy1202:
17849 	YYDEBUG(1202, *YYCURSOR);
17850 	yyaccept = 0;
17851 	yych = *(YYMARKER = ++YYCURSOR);
17852 	if (yych <= '@') {
17853 		if (yych <= ',') {
17854 			if (yych == ')') goto yy139;
17855 			goto yy3;
17856 		} else {
17857 			if (yych == '.') goto yy3;
17858 			if (yych <= '/') goto yy147;
17859 			goto yy3;
17860 		}
17861 	} else {
17862 		if (yych <= '_') {
17863 			if (yych <= 'A') goto yy1174;
17864 			if (yych <= 'Z') goto yy143;
17865 			if (yych <= '^') goto yy3;
17866 			goto yy147;
17867 		} else {
17868 			if (yych <= '`') goto yy3;
17869 			if (yych <= 'a') goto yy1203;
17870 			if (yych <= 'z') goto yy151;
17871 			goto yy3;
17872 		}
17873 	}
17874 yy1203:
17875 	YYDEBUG(1203, *YYCURSOR);
17876 	yyaccept = 0;
17877 	yych = *(YYMARKER = ++YYCURSOR);
17878 	if (yych <= 'X') {
17879 		if (yych <= '-') {
17880 			if (yych == ')') goto yy139;
17881 			if (yych <= ',') goto yy3;
17882 			goto yy147;
17883 		} else {
17884 			if (yych == '/') goto yy147;
17885 			if (yych <= '@') goto yy3;
17886 			goto yy144;
17887 		}
17888 	} else {
17889 		if (yych <= '_') {
17890 			if (yych <= 'Y') goto yy1175;
17891 			if (yych <= 'Z') goto yy144;
17892 			if (yych <= '^') goto yy3;
17893 			goto yy147;
17894 		} else {
17895 			if (yych <= 'x') {
17896 				if (yych <= '`') goto yy3;
17897 				goto yy152;
17898 			} else {
17899 				if (yych <= 'y') goto yy1204;
17900 				if (yych <= 'z') goto yy152;
17901 				goto yy3;
17902 			}
17903 		}
17904 	}
17905 yy1204:
17906 	YYDEBUG(1204, *YYCURSOR);
17907 	yyaccept = 4;
17908 	yych = *(YYMARKER = ++YYCURSOR);
17909 	if (yybm[0+yych] & 16) {
17910 		goto yy153;
17911 	}
17912 	if (yych <= '-') {
17913 		if (yych == ')') goto yy139;
17914 		if (yych <= ',') goto yy166;
17915 		goto yy147;
17916 	} else {
17917 		if (yych <= '/') {
17918 			if (yych <= '.') goto yy166;
17919 			goto yy147;
17920 		} else {
17921 			if (yych == '_') goto yy147;
17922 			goto yy166;
17923 		}
17924 	}
17925 yy1205:
17926 	YYDEBUG(1205, *YYCURSOR);
17927 	yyaccept = 0;
17928 	yych = *(YYMARKER = ++YYCURSOR);
17929 	if (yych <= 'S') {
17930 		if (yych <= '-') {
17931 			if (yych == ')') goto yy139;
17932 			if (yych <= ',') goto yy3;
17933 			goto yy147;
17934 		} else {
17935 			if (yych == '/') goto yy147;
17936 			if (yych <= '@') goto yy3;
17937 			goto yy142;
17938 		}
17939 	} else {
17940 		if (yych <= '_') {
17941 			if (yych <= 'T') goto yy1177;
17942 			if (yych <= 'Z') goto yy142;
17943 			if (yych <= '^') goto yy3;
17944 			goto yy147;
17945 		} else {
17946 			if (yych <= 's') {
17947 				if (yych <= '`') goto yy3;
17948 				goto yy150;
17949 			} else {
17950 				if (yych <= 't') goto yy1206;
17951 				if (yych <= 'z') goto yy150;
17952 				goto yy3;
17953 			}
17954 		}
17955 	}
17956 yy1206:
17957 	YYDEBUG(1206, *YYCURSOR);
17958 	yyaccept = 0;
17959 	yych = *(YYMARKER = ++YYCURSOR);
17960 	if (yych <= 'G') {
17961 		if (yych <= '-') {
17962 			if (yych == ')') goto yy139;
17963 			if (yych <= ',') goto yy3;
17964 			goto yy147;
17965 		} else {
17966 			if (yych == '/') goto yy147;
17967 			if (yych <= '@') goto yy3;
17968 			goto yy143;
17969 		}
17970 	} else {
17971 		if (yych <= '_') {
17972 			if (yych <= 'H') goto yy1178;
17973 			if (yych <= 'Z') goto yy143;
17974 			if (yych <= '^') goto yy3;
17975 			goto yy147;
17976 		} else {
17977 			if (yych <= 'g') {
17978 				if (yych <= '`') goto yy3;
17979 				goto yy151;
17980 			} else {
17981 				if (yych <= 'h') goto yy1207;
17982 				if (yych <= 'z') goto yy151;
17983 				goto yy3;
17984 			}
17985 		}
17986 	}
17987 yy1207:
17988 	YYDEBUG(1207, *YYCURSOR);
17989 	yyaccept = 0;
17990 	yych = *(YYMARKER = ++YYCURSOR);
17991 	if (yych <= '-') {
17992 		if (yych <= ' ') {
17993 			if (yych == '\t') goto yy1146;
17994 			if (yych <= 0x1F) goto yy3;
17995 			goto yy1146;
17996 		} else {
17997 			if (yych == ')') goto yy139;
17998 			if (yych <= ',') goto yy3;
17999 			goto yy147;
18000 		}
18001 	} else {
18002 		if (yych <= 'Z') {
18003 			if (yych == '/') goto yy147;
18004 			if (yych <= '@') goto yy3;
18005 			goto yy144;
18006 		} else {
18007 			if (yych <= '_') {
18008 				if (yych <= '^') goto yy3;
18009 				goto yy147;
18010 			} else {
18011 				if (yych <= '`') goto yy3;
18012 				if (yych <= 'z') goto yy152;
18013 				goto yy3;
18014 			}
18015 		}
18016 	}
18017 yy1208:
18018 	YYDEBUG(1208, *YYCURSOR);
18019 	yyaccept = 4;
18020 	yych = *(YYMARKER = ++YYCURSOR);
18021 	if (yych <= 'T') {
18022 		if (yych <= '-') {
18023 			if (yych == ')') goto yy139;
18024 			if (yych <= ',') goto yy166;
18025 			goto yy147;
18026 		} else {
18027 			if (yych == '/') goto yy147;
18028 			if (yych <= '@') goto yy166;
18029 			goto yy142;
18030 		}
18031 	} else {
18032 		if (yych <= '_') {
18033 			if (yych <= 'U') goto yy1180;
18034 			if (yych <= 'Z') goto yy142;
18035 			if (yych <= '^') goto yy166;
18036 			goto yy147;
18037 		} else {
18038 			if (yych <= 't') {
18039 				if (yych <= '`') goto yy166;
18040 				goto yy150;
18041 			} else {
18042 				if (yych <= 'u') goto yy1209;
18043 				if (yych <= 'z') goto yy150;
18044 				goto yy166;
18045 			}
18046 		}
18047 	}
18048 yy1209:
18049 	YYDEBUG(1209, *YYCURSOR);
18050 	yyaccept = 0;
18051 	yych = *(YYMARKER = ++YYCURSOR);
18052 	if (yych <= 'Q') {
18053 		if (yych <= '-') {
18054 			if (yych == ')') goto yy139;
18055 			if (yych <= ',') goto yy3;
18056 			goto yy147;
18057 		} else {
18058 			if (yych == '/') goto yy147;
18059 			if (yych <= '@') goto yy3;
18060 			goto yy143;
18061 		}
18062 	} else {
18063 		if (yych <= '_') {
18064 			if (yych <= 'R') goto yy1181;
18065 			if (yych <= 'Z') goto yy143;
18066 			if (yych <= '^') goto yy3;
18067 			goto yy147;
18068 		} else {
18069 			if (yych <= 'q') {
18070 				if (yych <= '`') goto yy3;
18071 				goto yy151;
18072 			} else {
18073 				if (yych <= 'r') goto yy1210;
18074 				if (yych <= 'z') goto yy151;
18075 				goto yy3;
18076 			}
18077 		}
18078 	}
18079 yy1210:
18080 	YYDEBUG(1210, *YYCURSOR);
18081 	yyaccept = 0;
18082 	yych = *(YYMARKER = ++YYCURSOR);
18083 	if (yych <= 'C') {
18084 		if (yych <= '-') {
18085 			if (yych == ')') goto yy139;
18086 			if (yych <= ',') goto yy3;
18087 			goto yy147;
18088 		} else {
18089 			if (yych == '/') goto yy147;
18090 			if (yych <= '@') goto yy3;
18091 			goto yy144;
18092 		}
18093 	} else {
18094 		if (yych <= '_') {
18095 			if (yych <= 'D') goto yy1182;
18096 			if (yych <= 'Z') goto yy144;
18097 			if (yych <= '^') goto yy3;
18098 			goto yy147;
18099 		} else {
18100 			if (yych <= 'c') {
18101 				if (yych <= '`') goto yy3;
18102 				goto yy152;
18103 			} else {
18104 				if (yych <= 'd') goto yy1211;
18105 				if (yych <= 'z') goto yy152;
18106 				goto yy3;
18107 			}
18108 		}
18109 	}
18110 yy1211:
18111 	YYDEBUG(1211, *YYCURSOR);
18112 	yyaccept = 0;
18113 	yych = *(YYMARKER = ++YYCURSOR);
18114 	if (yych <= '@') {
18115 		if (yych <= ',') {
18116 			if (yych == ')') goto yy139;
18117 			goto yy3;
18118 		} else {
18119 			if (yych == '.') goto yy3;
18120 			if (yych <= '/') goto yy147;
18121 			goto yy3;
18122 		}
18123 	} else {
18124 		if (yych <= '_') {
18125 			if (yych <= 'A') goto yy1183;
18126 			if (yych <= '^') goto yy3;
18127 			goto yy147;
18128 		} else {
18129 			if (yych <= '`') goto yy3;
18130 			if (yych <= 'a') goto yy1212;
18131 			if (yych <= 'z') goto yy153;
18132 			goto yy3;
18133 		}
18134 	}
18135 yy1212:
18136 	YYDEBUG(1212, *YYCURSOR);
18137 	yych = *++YYCURSOR;
18138 	if (yych == 'Y') goto yy172;
18139 	if (yych == 'y') goto yy185;
18140 	goto yy154;
18141 yy1213:
18142 	YYDEBUG(1213, *YYCURSOR);
18143 	yyaccept = 0;
18144 	yych = *(YYMARKER = ++YYCURSOR);
18145 	if (yych <= 'N') {
18146 		if (yych <= '-') {
18147 			if (yych == ')') goto yy139;
18148 			if (yych <= ',') goto yy3;
18149 			goto yy147;
18150 		} else {
18151 			if (yych == '/') goto yy147;
18152 			if (yych <= '@') goto yy3;
18153 			goto yy142;
18154 		}
18155 	} else {
18156 		if (yych <= '_') {
18157 			if (yych <= 'O') goto yy1195;
18158 			if (yych <= 'Z') goto yy142;
18159 			if (yych <= '^') goto yy3;
18160 			goto yy147;
18161 		} else {
18162 			if (yych <= 'n') {
18163 				if (yych <= '`') goto yy3;
18164 				goto yy150;
18165 			} else {
18166 				if (yych <= 'o') goto yy1224;
18167 				if (yych <= 'z') goto yy150;
18168 				goto yy3;
18169 			}
18170 		}
18171 	}
18172 yy1214:
18173 	YYDEBUG(1214, *YYCURSOR);
18174 	yyaccept = 0;
18175 	yych = *(YYMARKER = ++YYCURSOR);
18176 	if (yych <= 'D') {
18177 		if (yych <= '-') {
18178 			if (yych == ')') goto yy139;
18179 			if (yych <= ',') goto yy3;
18180 			goto yy147;
18181 		} else {
18182 			if (yych == '/') goto yy147;
18183 			if (yych <= '@') goto yy3;
18184 			goto yy142;
18185 		}
18186 	} else {
18187 		if (yych <= '_') {
18188 			if (yych <= 'E') goto yy1192;
18189 			if (yych <= 'Z') goto yy142;
18190 			if (yych <= '^') goto yy3;
18191 			goto yy147;
18192 		} else {
18193 			if (yych <= 'd') {
18194 				if (yych <= '`') goto yy3;
18195 				goto yy150;
18196 			} else {
18197 				if (yych <= 'e') goto yy1221;
18198 				if (yych <= 'z') goto yy150;
18199 				goto yy3;
18200 			}
18201 		}
18202 	}
18203 yy1215:
18204 	YYDEBUG(1215, *YYCURSOR);
18205 	yyaccept = 5;
18206 	yych = *(YYMARKER = ++YYCURSOR);
18207 	if (yych <= '9') {
18208 		if (yych <= '(') {
18209 			if (yych <= '\t') {
18210 				if (yych <= 0x08) goto yy193;
18211 				goto yy195;
18212 			} else {
18213 				if (yych == ' ') goto yy195;
18214 				goto yy193;
18215 			}
18216 		} else {
18217 			if (yych <= '-') {
18218 				if (yych <= ')') goto yy139;
18219 				if (yych <= ',') goto yy193;
18220 				goto yy311;
18221 			} else {
18222 				if (yych == '/') goto yy147;
18223 				goto yy195;
18224 			}
18225 		}
18226 	} else {
18227 		if (yych <= '^') {
18228 			if (yych <= 'S') {
18229 				if (yych <= '@') goto yy193;
18230 				goto yy142;
18231 			} else {
18232 				if (yych <= 'T') goto yy1187;
18233 				if (yych <= 'Z') goto yy142;
18234 				goto yy193;
18235 			}
18236 		} else {
18237 			if (yych <= 's') {
18238 				if (yych <= '_') goto yy147;
18239 				if (yych <= '`') goto yy193;
18240 				goto yy150;
18241 			} else {
18242 				if (yych <= 't') goto yy1216;
18243 				if (yych <= 'z') goto yy150;
18244 				goto yy193;
18245 			}
18246 		}
18247 	}
18248 yy1216:
18249 	YYDEBUG(1216, *YYCURSOR);
18250 	yyaccept = 5;
18251 	yych = *(YYMARKER = ++YYCURSOR);
18252 	if (yych <= '9') {
18253 		if (yych <= '(') {
18254 			if (yych <= '\t') {
18255 				if (yych <= 0x08) goto yy193;
18256 				goto yy195;
18257 			} else {
18258 				if (yych == ' ') goto yy195;
18259 				goto yy193;
18260 			}
18261 		} else {
18262 			if (yych <= '-') {
18263 				if (yych <= ')') goto yy139;
18264 				if (yych <= ',') goto yy193;
18265 				goto yy311;
18266 			} else {
18267 				if (yych == '/') goto yy147;
18268 				goto yy195;
18269 			}
18270 		}
18271 	} else {
18272 		if (yych <= '^') {
18273 			if (yych <= 'D') {
18274 				if (yych <= '@') goto yy193;
18275 				goto yy143;
18276 			} else {
18277 				if (yych <= 'E') goto yy1188;
18278 				if (yych <= 'Z') goto yy143;
18279 				goto yy193;
18280 			}
18281 		} else {
18282 			if (yych <= 'd') {
18283 				if (yych <= '_') goto yy147;
18284 				if (yych <= '`') goto yy193;
18285 				goto yy151;
18286 			} else {
18287 				if (yych <= 'e') goto yy1217;
18288 				if (yych <= 'z') goto yy151;
18289 				goto yy193;
18290 			}
18291 		}
18292 	}
18293 yy1217:
18294 	YYDEBUG(1217, *YYCURSOR);
18295 	yyaccept = 0;
18296 	yych = *(YYMARKER = ++YYCURSOR);
18297 	if (yych <= 'L') {
18298 		if (yych <= '-') {
18299 			if (yych == ')') goto yy139;
18300 			if (yych <= ',') goto yy3;
18301 			goto yy147;
18302 		} else {
18303 			if (yych == '/') goto yy147;
18304 			if (yych <= '@') goto yy3;
18305 			goto yy144;
18306 		}
18307 	} else {
18308 		if (yych <= '_') {
18309 			if (yych <= 'M') goto yy1189;
18310 			if (yych <= 'Z') goto yy144;
18311 			if (yych <= '^') goto yy3;
18312 			goto yy147;
18313 		} else {
18314 			if (yych <= 'l') {
18315 				if (yych <= '`') goto yy3;
18316 				goto yy152;
18317 			} else {
18318 				if (yych <= 'm') goto yy1218;
18319 				if (yych <= 'z') goto yy152;
18320 				goto yy3;
18321 			}
18322 		}
18323 	}
18324 yy1218:
18325 	YYDEBUG(1218, *YYCURSOR);
18326 	yyaccept = 0;
18327 	yych = *(YYMARKER = ++YYCURSOR);
18328 	if (yych <= 'A') {
18329 		if (yych <= ',') {
18330 			if (yych == ')') goto yy139;
18331 			goto yy3;
18332 		} else {
18333 			if (yych == '.') goto yy3;
18334 			if (yych <= '/') goto yy147;
18335 			goto yy3;
18336 		}
18337 	} else {
18338 		if (yych <= '`') {
18339 			if (yych <= 'B') goto yy1190;
18340 			if (yych == '_') goto yy147;
18341 			goto yy3;
18342 		} else {
18343 			if (yych == 'b') goto yy1219;
18344 			if (yych <= 'z') goto yy153;
18345 			goto yy3;
18346 		}
18347 	}
18348 yy1219:
18349 	YYDEBUG(1219, *YYCURSOR);
18350 	yych = *++YYCURSOR;
18351 	if (yych == 'E') goto yy1191;
18352 	if (yych != 'e') goto yy154;
18353 	YYDEBUG(1220, *YYCURSOR);
18354 	yych = *++YYCURSOR;
18355 	if (yych == 'R') goto yy204;
18356 	if (yych == 'r') goto yy316;
18357 	goto yy154;
18358 yy1221:
18359 	YYDEBUG(1221, *YYCURSOR);
18360 	yyaccept = 0;
18361 	yych = *(YYMARKER = ++YYCURSOR);
18362 	if (yych <= 'M') {
18363 		if (yych <= '-') {
18364 			if (yych == ')') goto yy139;
18365 			if (yych <= ',') goto yy3;
18366 			goto yy147;
18367 		} else {
18368 			if (yych == '/') goto yy147;
18369 			if (yych <= '@') goto yy3;
18370 			goto yy143;
18371 		}
18372 	} else {
18373 		if (yych <= '_') {
18374 			if (yych <= 'N') goto yy1193;
18375 			if (yych <= 'Z') goto yy143;
18376 			if (yych <= '^') goto yy3;
18377 			goto yy147;
18378 		} else {
18379 			if (yych <= 'm') {
18380 				if (yych <= '`') goto yy3;
18381 				goto yy151;
18382 			} else {
18383 				if (yych <= 'n') goto yy1222;
18384 				if (yych <= 'z') goto yy151;
18385 				goto yy3;
18386 			}
18387 		}
18388 	}
18389 yy1222:
18390 	YYDEBUG(1222, *YYCURSOR);
18391 	yyaccept = 0;
18392 	yych = *(YYMARKER = ++YYCURSOR);
18393 	if (yych <= 'S') {
18394 		if (yych <= '-') {
18395 			if (yych == ')') goto yy139;
18396 			if (yych <= ',') goto yy3;
18397 			goto yy147;
18398 		} else {
18399 			if (yych == '/') goto yy147;
18400 			if (yych <= '@') goto yy3;
18401 			goto yy144;
18402 		}
18403 	} else {
18404 		if (yych <= '_') {
18405 			if (yych <= 'T') goto yy1194;
18406 			if (yych <= 'Z') goto yy144;
18407 			if (yych <= '^') goto yy3;
18408 			goto yy147;
18409 		} else {
18410 			if (yych <= 's') {
18411 				if (yych <= '`') goto yy3;
18412 				goto yy152;
18413 			} else {
18414 				if (yych <= 't') goto yy1223;
18415 				if (yych <= 'z') goto yy152;
18416 				goto yy3;
18417 			}
18418 		}
18419 	}
18420 yy1223:
18421 	YYDEBUG(1223, *YYCURSOR);
18422 	yyaccept = 0;
18423 	yych = *(YYMARKER = ++YYCURSOR);
18424 	if (yych <= 'G') {
18425 		if (yych <= ',') {
18426 			if (yych == ')') goto yy139;
18427 			goto yy3;
18428 		} else {
18429 			if (yych == '.') goto yy3;
18430 			if (yych <= '/') goto yy147;
18431 			goto yy3;
18432 		}
18433 	} else {
18434 		if (yych <= '`') {
18435 			if (yych <= 'H') goto yy1145;
18436 			if (yych == '_') goto yy147;
18437 			goto yy3;
18438 		} else {
18439 			if (yych == 'h') goto yy1163;
18440 			if (yych <= 'z') goto yy153;
18441 			goto yy3;
18442 		}
18443 	}
18444 yy1224:
18445 	YYDEBUG(1224, *YYCURSOR);
18446 	yyaccept = 0;
18447 	yych = *(YYMARKER = ++YYCURSOR);
18448 	if (yych <= 'M') {
18449 		if (yych <= '-') {
18450 			if (yych == ')') goto yy139;
18451 			if (yych <= ',') goto yy3;
18452 			goto yy147;
18453 		} else {
18454 			if (yych == '/') goto yy147;
18455 			if (yych <= '@') goto yy3;
18456 			goto yy143;
18457 		}
18458 	} else {
18459 		if (yych <= '_') {
18460 			if (yych <= 'N') goto yy1196;
18461 			if (yych <= 'Z') goto yy143;
18462 			if (yych <= '^') goto yy3;
18463 			goto yy147;
18464 		} else {
18465 			if (yych <= 'm') {
18466 				if (yych <= '`') goto yy3;
18467 				goto yy151;
18468 			} else {
18469 				if (yych <= 'n') goto yy1225;
18470 				if (yych <= 'z') goto yy151;
18471 				goto yy3;
18472 			}
18473 		}
18474 	}
18475 yy1225:
18476 	YYDEBUG(1225, *YYCURSOR);
18477 	yyaccept = 0;
18478 	yych = *(YYMARKER = ++YYCURSOR);
18479 	if (yych <= 'C') {
18480 		if (yych <= '-') {
18481 			if (yych == ')') goto yy139;
18482 			if (yych <= ',') goto yy3;
18483 			goto yy147;
18484 		} else {
18485 			if (yych == '/') goto yy147;
18486 			if (yych <= '@') goto yy3;
18487 			goto yy144;
18488 		}
18489 	} else {
18490 		if (yych <= '_') {
18491 			if (yych <= 'D') goto yy1155;
18492 			if (yych <= 'Z') goto yy144;
18493 			if (yych <= '^') goto yy3;
18494 			goto yy147;
18495 		} else {
18496 			if (yych <= 'c') {
18497 				if (yych <= '`') goto yy3;
18498 				goto yy152;
18499 			} else {
18500 				if (yych <= 'd') goto yy1167;
18501 				if (yych <= 'z') goto yy152;
18502 				goto yy3;
18503 			}
18504 		}
18505 	}
18506 yy1226:
18507 	YYDEBUG(1226, *YYCURSOR);
18508 	yych = *++YYCURSOR;
18509 	if (yych <= 'C') {
18510 		if (yych <= ')') {
18511 			if (yych <= '(') goto yy3;
18512 			goto yy139;
18513 		} else {
18514 			if (yych <= '@') goto yy3;
18515 			if (yych <= 'B') goto yy141;
18516 		}
18517 	} else {
18518 		if (yych <= 'b') {
18519 			if (yych <= 'Z') goto yy141;
18520 			if (yych <= '`') goto yy3;
18521 			goto yy141;
18522 		} else {
18523 			if (yych <= 'c') goto yy1227;
18524 			if (yych <= 'z') goto yy141;
18525 			goto yy3;
18526 		}
18527 	}
18528 yy1227:
18529 	YYDEBUG(1227, *YYCURSOR);
18530 	yych = *++YYCURSOR;
18531 	if (yych <= 'K') {
18532 		if (yych <= ')') {
18533 			if (yych <= '(') goto yy3;
18534 			goto yy139;
18535 		} else {
18536 			if (yych <= '@') goto yy3;
18537 			if (yych <= 'J') goto yy142;
18538 		}
18539 	} else {
18540 		if (yych <= 'j') {
18541 			if (yych <= 'Z') goto yy142;
18542 			if (yych <= '`') goto yy3;
18543 			goto yy142;
18544 		} else {
18545 			if (yych <= 'k') goto yy1228;
18546 			if (yych <= 'z') goto yy142;
18547 			goto yy3;
18548 		}
18549 	}
18550 yy1228:
18551 	YYDEBUG(1228, *YYCURSOR);
18552 	yyaccept = 0;
18553 	yych = *(YYMARKER = ++YYCURSOR);
18554 	if (yych <= ')') {
18555 		if (yych == ' ') goto yy1229;
18556 		if (yych <= '(') goto yy3;
18557 		goto yy139;
18558 	} else {
18559 		if (yych <= 'Z') {
18560 			if (yych <= '@') goto yy3;
18561 			goto yy143;
18562 		} else {
18563 			if (yych <= '`') goto yy3;
18564 			if (yych <= 'z') goto yy143;
18565 			goto yy3;
18566 		}
18567 	}
18568 yy1229:
18569 	YYDEBUG(1229, *YYCURSOR);
18570 	yych = *++YYCURSOR;
18571 	if (yych == 'O') goto yy1230;
18572 	if (yych != 'o') goto yy56;
18573 yy1230:
18574 	YYDEBUG(1230, *YYCURSOR);
18575 	yych = *++YYCURSOR;
18576 	if (yych == 'F') goto yy1231;
18577 	if (yych != 'f') goto yy56;
18578 yy1231:
18579 	YYDEBUG(1231, *YYCURSOR);
18580 	yych = *++YYCURSOR;
18581 	if (yych != ' ') goto yy56;
18582 	YYDEBUG(1232, *YYCURSOR);
18583 	yych = *++YYCURSOR;
18584 	if (yych <= '/') goto yy56;
18585 	if (yych <= '1') goto yy1233;
18586 	if (yych <= '2') goto yy1235;
18587 	if (yych <= '9') goto yy1236;
18588 	goto yy56;
18589 yy1233:
18590 	YYDEBUG(1233, *YYCURSOR);
18591 	yyaccept = 27;
18592 	yych = *(YYMARKER = ++YYCURSOR);
18593 	if (yych <= '@') {
18594 		if (yych <= 0x1F) {
18595 			if (yych == '\t') goto yy1237;
18596 		} else {
18597 			if (yych <= ' ') goto yy1237;
18598 			if (yych <= '/') goto yy1234;
18599 			if (yych <= '9') goto yy1236;
18600 		}
18601 	} else {
18602 		if (yych <= '`') {
18603 			if (yych <= 'A') goto yy1239;
18604 			if (yych == 'P') goto yy1239;
18605 		} else {
18606 			if (yych <= 'a') goto yy1239;
18607 			if (yych == 'p') goto yy1239;
18608 		}
18609 	}
18610 yy1234:
18611 	YYDEBUG(1234, *YYCURSOR);
18612 #line 1053 "ext/date/lib/parse_date.re"
18613 	{
18614 		DEBUG_OUTPUT("backof | frontof");
18615 		TIMELIB_INIT;
18616 		TIMELIB_UNHAVE_TIME();
18617 		TIMELIB_HAVE_TIME();
18618 
18619 		if (*ptr == 'b') {
18620 			s->time->h = timelib_get_nr((char **) &ptr, 2);
18621 			s->time->i = 15;
18622 		} else {
18623 			s->time->h = timelib_get_nr((char **) &ptr, 2) - 1;
18624 			s->time->i = 45;
18625 		}
18626 		if (*ptr != '\0' ) {
18627 			timelib_eat_spaces((char **) &ptr);
18628 			s->time->h += timelib_meridian((char **) &ptr, s->time->h);
18629 		}
18630 
18631 		TIMELIB_DEINIT;
18632 		return TIMELIB_LF_DAY_OF_MONTH;
18633 	}
18634 #line 18635 "<stdout>"
18635 yy1235:
18636 	YYDEBUG(1235, *YYCURSOR);
18637 	yyaccept = 27;
18638 	yych = *(YYMARKER = ++YYCURSOR);
18639 	if (yych <= '@') {
18640 		if (yych <= 0x1F) {
18641 			if (yych == '\t') goto yy1237;
18642 			goto yy1234;
18643 		} else {
18644 			if (yych <= ' ') goto yy1237;
18645 			if (yych <= '/') goto yy1234;
18646 			if (yych >= '5') goto yy1234;
18647 		}
18648 	} else {
18649 		if (yych <= '`') {
18650 			if (yych <= 'A') goto yy1239;
18651 			if (yych == 'P') goto yy1239;
18652 			goto yy1234;
18653 		} else {
18654 			if (yych <= 'a') goto yy1239;
18655 			if (yych == 'p') goto yy1239;
18656 			goto yy1234;
18657 		}
18658 	}
18659 yy1236:
18660 	YYDEBUG(1236, *YYCURSOR);
18661 	yyaccept = 27;
18662 	yych = *(YYMARKER = ++YYCURSOR);
18663 	if (yych <= 'A') {
18664 		if (yych <= 0x1F) {
18665 			if (yych != '\t') goto yy1234;
18666 		} else {
18667 			if (yych <= ' ') goto yy1237;
18668 			if (yych <= '@') goto yy1234;
18669 			goto yy1239;
18670 		}
18671 	} else {
18672 		if (yych <= '`') {
18673 			if (yych == 'P') goto yy1239;
18674 			goto yy1234;
18675 		} else {
18676 			if (yych <= 'a') goto yy1239;
18677 			if (yych == 'p') goto yy1239;
18678 			goto yy1234;
18679 		}
18680 	}
18681 yy1237:
18682 	YYDEBUG(1237, *YYCURSOR);
18683 	++YYCURSOR;
18684 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
18685 	yych = *YYCURSOR;
18686 	YYDEBUG(1238, *YYCURSOR);
18687 	if (yych <= 'A') {
18688 		if (yych <= 0x1F) {
18689 			if (yych == '\t') goto yy1237;
18690 			goto yy56;
18691 		} else {
18692 			if (yych <= ' ') goto yy1237;
18693 			if (yych <= '@') goto yy56;
18694 		}
18695 	} else {
18696 		if (yych <= '`') {
18697 			if (yych != 'P') goto yy56;
18698 		} else {
18699 			if (yych <= 'a') goto yy1239;
18700 			if (yych != 'p') goto yy56;
18701 		}
18702 	}
18703 yy1239:
18704 	YYDEBUG(1239, *YYCURSOR);
18705 	yych = *++YYCURSOR;
18706 	if (yych <= 'L') {
18707 		if (yych != '.') goto yy56;
18708 	} else {
18709 		if (yych <= 'M') goto yy1241;
18710 		if (yych == 'm') goto yy1241;
18711 		goto yy56;
18712 	}
18713 	YYDEBUG(1240, *YYCURSOR);
18714 	yych = *++YYCURSOR;
18715 	if (yych == 'M') goto yy1241;
18716 	if (yych != 'm') goto yy56;
18717 yy1241:
18718 	YYDEBUG(1241, *YYCURSOR);
18719 	yych = *++YYCURSOR;
18720 	if (yych <= 0x1F) {
18721 		if (yych <= 0x00) goto yy1243;
18722 		if (yych == '\t') goto yy1243;
18723 		goto yy56;
18724 	} else {
18725 		if (yych <= ' ') goto yy1243;
18726 		if (yych != '.') goto yy56;
18727 	}
18728 	YYDEBUG(1242, *YYCURSOR);
18729 	yych = *++YYCURSOR;
18730 	if (yych <= '\t') {
18731 		if (yych <= 0x00) goto yy1243;
18732 		if (yych <= 0x08) goto yy56;
18733 	} else {
18734 		if (yych != ' ') goto yy56;
18735 	}
18736 yy1243:
18737 	YYDEBUG(1243, *YYCURSOR);
18738 	yych = *++YYCURSOR;
18739 	goto yy1234;
18740 yy1244:
18741 	YYDEBUG(1244, *YYCURSOR);
18742 	yyaccept = 0;
18743 	yych = *(YYMARKER = ++YYCURSOR);
18744 	if (yych <= 'B') {
18745 		if (yych <= '-') {
18746 			if (yych == ')') goto yy139;
18747 			if (yych <= ',') goto yy3;
18748 			goto yy147;
18749 		} else {
18750 			if (yych == '/') goto yy147;
18751 			if (yych <= '@') goto yy3;
18752 			goto yy141;
18753 		}
18754 	} else {
18755 		if (yych <= '_') {
18756 			if (yych <= 'C') goto yy1227;
18757 			if (yych <= 'Z') goto yy141;
18758 			if (yych <= '^') goto yy3;
18759 			goto yy147;
18760 		} else {
18761 			if (yych <= 'b') {
18762 				if (yych <= '`') goto yy3;
18763 				goto yy146;
18764 			} else {
18765 				if (yych <= 'c') goto yy1245;
18766 				if (yych <= 'z') goto yy146;
18767 				goto yy3;
18768 			}
18769 		}
18770 	}
18771 yy1245:
18772 	YYDEBUG(1245, *YYCURSOR);
18773 	yyaccept = 0;
18774 	yych = *(YYMARKER = ++YYCURSOR);
18775 	if (yych <= 'J') {
18776 		if (yych <= '-') {
18777 			if (yych == ')') goto yy139;
18778 			if (yych <= ',') goto yy3;
18779 			goto yy147;
18780 		} else {
18781 			if (yych == '/') goto yy147;
18782 			if (yych <= '@') goto yy3;
18783 			goto yy142;
18784 		}
18785 	} else {
18786 		if (yych <= '_') {
18787 			if (yych <= 'K') goto yy1228;
18788 			if (yych <= 'Z') goto yy142;
18789 			if (yych <= '^') goto yy3;
18790 			goto yy147;
18791 		} else {
18792 			if (yych <= 'j') {
18793 				if (yych <= '`') goto yy3;
18794 				goto yy150;
18795 			} else {
18796 				if (yych <= 'k') goto yy1246;
18797 				if (yych <= 'z') goto yy150;
18798 				goto yy3;
18799 			}
18800 		}
18801 	}
18802 yy1246:
18803 	YYDEBUG(1246, *YYCURSOR);
18804 	yyaccept = 0;
18805 	yych = *(YYMARKER = ++YYCURSOR);
18806 	if (yych <= '.') {
18807 		if (yych <= '(') {
18808 			if (yych == ' ') goto yy1229;
18809 			goto yy3;
18810 		} else {
18811 			if (yych <= ')') goto yy139;
18812 			if (yych == '-') goto yy147;
18813 			goto yy3;
18814 		}
18815 	} else {
18816 		if (yych <= '^') {
18817 			if (yych <= '/') goto yy147;
18818 			if (yych <= '@') goto yy3;
18819 			if (yych <= 'Z') goto yy143;
18820 			goto yy3;
18821 		} else {
18822 			if (yych <= '_') goto yy147;
18823 			if (yych <= '`') goto yy3;
18824 			if (yych <= 'z') goto yy151;
18825 			goto yy3;
18826 		}
18827 	}
18828 yy1247:
18829 	YYDEBUG(1247, *YYCURSOR);
18830 	yych = *++YYCURSOR;
18831 	if (yych <= 'S') {
18832 		if (yych <= ')') {
18833 			if (yych <= '(') goto yy3;
18834 			goto yy139;
18835 		} else {
18836 			if (yych <= '@') goto yy3;
18837 			if (yych <= 'R') goto yy141;
18838 		}
18839 	} else {
18840 		if (yych <= 'r') {
18841 			if (yych <= 'Z') goto yy141;
18842 			if (yych <= '`') goto yy3;
18843 			goto yy141;
18844 		} else {
18845 			if (yych <= 's') goto yy1248;
18846 			if (yych <= 'z') goto yy141;
18847 			goto yy3;
18848 		}
18849 	}
18850 yy1248:
18851 	YYDEBUG(1248, *YYCURSOR);
18852 	yych = *++YYCURSOR;
18853 	if (yych <= 'T') {
18854 		if (yych <= ')') {
18855 			if (yych <= '(') goto yy3;
18856 			goto yy139;
18857 		} else {
18858 			if (yych <= '@') goto yy3;
18859 			if (yych <= 'S') goto yy142;
18860 		}
18861 	} else {
18862 		if (yych <= 's') {
18863 			if (yych <= 'Z') goto yy142;
18864 			if (yych <= '`') goto yy3;
18865 			goto yy142;
18866 		} else {
18867 			if (yych <= 't') goto yy1249;
18868 			if (yych <= 'z') goto yy142;
18869 			goto yy3;
18870 		}
18871 	}
18872 yy1249:
18873 	YYDEBUG(1249, *YYCURSOR);
18874 	yyaccept = 0;
18875 	yych = *(YYMARKER = ++YYCURSOR);
18876 	if (yych <= '(') {
18877 		if (yych <= '\t') {
18878 			if (yych <= 0x08) goto yy3;
18879 			goto yy1044;
18880 		} else {
18881 			if (yych != ' ') goto yy3;
18882 		}
18883 	} else {
18884 		if (yych <= 'Z') {
18885 			if (yych <= ')') goto yy139;
18886 			if (yych <= '@') goto yy3;
18887 			goto yy143;
18888 		} else {
18889 			if (yych <= '`') goto yy3;
18890 			if (yych <= 'z') goto yy143;
18891 			goto yy3;
18892 		}
18893 	}
18894 yy1250:
18895 	YYDEBUG(1250, *YYCURSOR);
18896 	yych = *++YYCURSOR;
18897 	if (yych == 'D') goto yy1251;
18898 	if (yych != 'd') goto yy1045;
18899 yy1251:
18900 	YYDEBUG(1251, *YYCURSOR);
18901 	yych = *++YYCURSOR;
18902 	if (yych == 'A') goto yy1252;
18903 	if (yych != 'a') goto yy56;
18904 yy1252:
18905 	YYDEBUG(1252, *YYCURSOR);
18906 	yych = *++YYCURSOR;
18907 	if (yych == 'Y') goto yy1253;
18908 	if (yych != 'y') goto yy56;
18909 yy1253:
18910 	YYDEBUG(1253, *YYCURSOR);
18911 	yyaccept = 25;
18912 	yych = *(YYMARKER = ++YYCURSOR);
18913 	if (yych <= 'R') {
18914 		if (yych != ' ') goto yy1057;
18915 	} else {
18916 		if (yych <= 'S') goto yy1082;
18917 		if (yych == 's') goto yy1082;
18918 		goto yy1057;
18919 	}
18920 	YYDEBUG(1254, *YYCURSOR);
18921 	yych = *++YYCURSOR;
18922 	if (yych == 'O') goto yy1255;
18923 	if (yych != 'o') goto yy56;
18924 yy1255:
18925 	YYDEBUG(1255, *YYCURSOR);
18926 	yych = *++YYCURSOR;
18927 	if (yych == 'F') goto yy1256;
18928 	if (yych != 'f') goto yy56;
18929 yy1256:
18930 	YYDEBUG(1256, *YYCURSOR);
18931 	++YYCURSOR;
18932 	YYDEBUG(1257, *YYCURSOR);
18933 #line 1036 "ext/date/lib/parse_date.re"
18934 	{
18935 		DEBUG_OUTPUT("firstdayof | lastdayof");
18936 		TIMELIB_INIT;
18937 		TIMELIB_HAVE_RELATIVE();
18938 
18939 		/* skip "last day of" or "first day of" */
18940 		if (*ptr == 'l' || *ptr == 'L') {
18941 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
18942 		} else {
18943 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
18944 		}
18945 
18946 		TIMELIB_DEINIT;
18947 		return TIMELIB_LF_DAY_OF_MONTH;
18948 	}
18949 #line 18950 "<stdout>"
18950 yy1258:
18951 	YYDEBUG(1258, *YYCURSOR);
18952 	yyaccept = 0;
18953 	yych = *(YYMARKER = ++YYCURSOR);
18954 	if (yych <= 'R') {
18955 		if (yych <= '-') {
18956 			if (yych == ')') goto yy139;
18957 			if (yych <= ',') goto yy3;
18958 			goto yy147;
18959 		} else {
18960 			if (yych == '/') goto yy147;
18961 			if (yych <= '@') goto yy3;
18962 			goto yy141;
18963 		}
18964 	} else {
18965 		if (yych <= '_') {
18966 			if (yych <= 'S') goto yy1248;
18967 			if (yych <= 'Z') goto yy141;
18968 			if (yych <= '^') goto yy3;
18969 			goto yy147;
18970 		} else {
18971 			if (yych <= 'r') {
18972 				if (yych <= '`') goto yy3;
18973 				goto yy146;
18974 			} else {
18975 				if (yych <= 's') goto yy1259;
18976 				if (yych <= 'z') goto yy146;
18977 				goto yy3;
18978 			}
18979 		}
18980 	}
18981 yy1259:
18982 	YYDEBUG(1259, *YYCURSOR);
18983 	yyaccept = 0;
18984 	yych = *(YYMARKER = ++YYCURSOR);
18985 	if (yych <= 'S') {
18986 		if (yych <= '-') {
18987 			if (yych == ')') goto yy139;
18988 			if (yych <= ',') goto yy3;
18989 			goto yy147;
18990 		} else {
18991 			if (yych == '/') goto yy147;
18992 			if (yych <= '@') goto yy3;
18993 			goto yy142;
18994 		}
18995 	} else {
18996 		if (yych <= '_') {
18997 			if (yych <= 'T') goto yy1249;
18998 			if (yych <= 'Z') goto yy142;
18999 			if (yych <= '^') goto yy3;
19000 			goto yy147;
19001 		} else {
19002 			if (yych <= 's') {
19003 				if (yych <= '`') goto yy3;
19004 				goto yy150;
19005 			} else {
19006 				if (yych <= 't') goto yy1260;
19007 				if (yych <= 'z') goto yy150;
19008 				goto yy3;
19009 			}
19010 		}
19011 	}
19012 yy1260:
19013 	YYDEBUG(1260, *YYCURSOR);
19014 	yyaccept = 0;
19015 	yych = *(YYMARKER = ++YYCURSOR);
19016 	if (yych <= '-') {
19017 		if (yych <= ' ') {
19018 			if (yych == '\t') goto yy1044;
19019 			if (yych <= 0x1F) goto yy3;
19020 			goto yy1250;
19021 		} else {
19022 			if (yych == ')') goto yy139;
19023 			if (yych <= ',') goto yy3;
19024 			goto yy147;
19025 		}
19026 	} else {
19027 		if (yych <= 'Z') {
19028 			if (yych == '/') goto yy147;
19029 			if (yych <= '@') goto yy3;
19030 			goto yy143;
19031 		} else {
19032 			if (yych <= '_') {
19033 				if (yych <= '^') goto yy3;
19034 				goto yy147;
19035 			} else {
19036 				if (yych <= '`') goto yy3;
19037 				if (yych <= 'z') goto yy151;
19038 				goto yy3;
19039 			}
19040 		}
19041 	}
19042 yy1261:
19043 	YYDEBUG(1261, *YYCURSOR);
19044 	yych = *++YYCURSOR;
19045 	if (yych <= 'B') {
19046 		if (yych <= ')') {
19047 			if (yych <= '(') goto yy3;
19048 			goto yy139;
19049 		} else {
19050 			if (yych <= '@') goto yy3;
19051 			if (yych <= 'A') goto yy141;
19052 			goto yy1298;
19053 		}
19054 	} else {
19055 		if (yych <= 'a') {
19056 			if (yych <= 'Z') goto yy141;
19057 			if (yych <= '`') goto yy3;
19058 			goto yy141;
19059 		} else {
19060 			if (yych <= 'b') goto yy1298;
19061 			if (yych <= 'z') goto yy141;
19062 			goto yy3;
19063 		}
19064 	}
19065 yy1262:
19066 	YYDEBUG(1262, *YYCURSOR);
19067 	yych = *++YYCURSOR;
19068 	if (yych <= 'R') {
19069 		if (yych <= '@') {
19070 			if (yych == ')') goto yy139;
19071 			goto yy3;
19072 		} else {
19073 			if (yych == 'F') goto yy1288;
19074 			if (yych <= 'Q') goto yy141;
19075 			goto yy1287;
19076 		}
19077 	} else {
19078 		if (yych <= 'f') {
19079 			if (yych <= 'Z') goto yy141;
19080 			if (yych <= '`') goto yy3;
19081 			if (yych <= 'e') goto yy141;
19082 			goto yy1288;
19083 		} else {
19084 			if (yych == 'r') goto yy1287;
19085 			if (yych <= 'z') goto yy141;
19086 			goto yy3;
19087 		}
19088 	}
19089 yy1263:
19090 	YYDEBUG(1263, *YYCURSOR);
19091 	yych = *++YYCURSOR;
19092 	if (yych <= 'U') {
19093 		if (yych <= ')') {
19094 			if (yych <= '(') goto yy3;
19095 			goto yy139;
19096 		} else {
19097 			if (yych <= '@') goto yy3;
19098 			if (yych <= 'T') goto yy141;
19099 			goto yy1284;
19100 		}
19101 	} else {
19102 		if (yych <= 't') {
19103 			if (yych <= 'Z') goto yy141;
19104 			if (yych <= '`') goto yy3;
19105 			goto yy141;
19106 		} else {
19107 			if (yych <= 'u') goto yy1284;
19108 			if (yych <= 'z') goto yy141;
19109 			goto yy3;
19110 		}
19111 	}
19112 yy1264:
19113 	YYDEBUG(1264, *YYCURSOR);
19114 	yych = *++YYCURSOR;
19115 	if (yych <= 'O') {
19116 		if (yych <= '@') {
19117 			if (yych == ')') goto yy139;
19118 			goto yy3;
19119 		} else {
19120 			if (yych == 'I') goto yy1266;
19121 			if (yych <= 'N') goto yy141;
19122 		}
19123 	} else {
19124 		if (yych <= 'i') {
19125 			if (yych <= 'Z') goto yy141;
19126 			if (yych <= '`') goto yy3;
19127 			if (yych <= 'h') goto yy141;
19128 			goto yy1266;
19129 		} else {
19130 			if (yych == 'o') goto yy1265;
19131 			if (yych <= 'z') goto yy141;
19132 			goto yy3;
19133 		}
19134 	}
19135 yy1265:
19136 	YYDEBUG(1265, *YYCURSOR);
19137 	yych = *++YYCURSOR;
19138 	if (yych <= 'N') {
19139 		if (yych <= ')') {
19140 			if (yych <= '(') goto yy3;
19141 			goto yy139;
19142 		} else {
19143 			if (yych <= '@') goto yy3;
19144 			if (yych <= 'M') goto yy142;
19145 			goto yy1269;
19146 		}
19147 	} else {
19148 		if (yych <= 'm') {
19149 			if (yych <= 'Z') goto yy142;
19150 			if (yych <= '`') goto yy3;
19151 			goto yy142;
19152 		} else {
19153 			if (yych <= 'n') goto yy1269;
19154 			if (yych <= 'z') goto yy142;
19155 			goto yy3;
19156 		}
19157 	}
19158 yy1266:
19159 	YYDEBUG(1266, *YYCURSOR);
19160 	yych = *++YYCURSOR;
19161 	if (yych <= 'D') {
19162 		if (yych <= ')') {
19163 			if (yych <= '(') goto yy166;
19164 			goto yy139;
19165 		} else {
19166 			if (yych <= '@') goto yy166;
19167 			if (yych <= 'C') goto yy142;
19168 		}
19169 	} else {
19170 		if (yych <= 'c') {
19171 			if (yych <= 'Z') goto yy142;
19172 			if (yych <= '`') goto yy166;
19173 			goto yy142;
19174 		} else {
19175 			if (yych <= 'd') goto yy1267;
19176 			if (yych <= 'z') goto yy142;
19177 			goto yy166;
19178 		}
19179 	}
19180 yy1267:
19181 	YYDEBUG(1267, *YYCURSOR);
19182 	yych = *++YYCURSOR;
19183 	if (yych <= 'A') {
19184 		if (yych == ')') goto yy139;
19185 		if (yych <= '@') goto yy3;
19186 	} else {
19187 		if (yych <= '`') {
19188 			if (yych <= 'Z') goto yy143;
19189 			goto yy3;
19190 		} else {
19191 			if (yych <= 'a') goto yy1268;
19192 			if (yych <= 'z') goto yy143;
19193 			goto yy3;
19194 		}
19195 	}
19196 yy1268:
19197 	YYDEBUG(1268, *YYCURSOR);
19198 	yych = *++YYCURSOR;
19199 	if (yych <= 'Y') {
19200 		if (yych <= ')') {
19201 			if (yych <= '(') goto yy3;
19202 			goto yy139;
19203 		} else {
19204 			if (yych <= '@') goto yy3;
19205 			if (yych <= 'X') goto yy144;
19206 			goto yy1175;
19207 		}
19208 	} else {
19209 		if (yych <= 'x') {
19210 			if (yych <= 'Z') goto yy144;
19211 			if (yych <= '`') goto yy3;
19212 			goto yy144;
19213 		} else {
19214 			if (yych <= 'y') goto yy1175;
19215 			if (yych <= 'z') goto yy144;
19216 			goto yy3;
19217 		}
19218 	}
19219 yy1269:
19220 	YYDEBUG(1269, *YYCURSOR);
19221 	yych = *++YYCURSOR;
19222 	if (yych <= 'T') {
19223 		if (yych <= ')') {
19224 			if (yych <= '(') goto yy3;
19225 			goto yy139;
19226 		} else {
19227 			if (yych <= '@') goto yy3;
19228 			if (yych <= 'S') goto yy143;
19229 		}
19230 	} else {
19231 		if (yych <= 's') {
19232 			if (yych <= 'Z') goto yy143;
19233 			if (yych <= '`') goto yy3;
19234 			goto yy143;
19235 		} else {
19236 			if (yych <= 't') goto yy1270;
19237 			if (yych <= 'z') goto yy143;
19238 			goto yy3;
19239 		}
19240 	}
19241 yy1270:
19242 	YYDEBUG(1270, *YYCURSOR);
19243 	yyaccept = 0;
19244 	yych = *(YYMARKER = ++YYCURSOR);
19245 	if (yych <= ')') {
19246 		if (yych == ' ') goto yy1271;
19247 		if (yych <= '(') goto yy3;
19248 		goto yy139;
19249 	} else {
19250 		if (yych <= 'Z') {
19251 			if (yych <= '@') goto yy3;
19252 			goto yy144;
19253 		} else {
19254 			if (yych <= '`') goto yy3;
19255 			if (yych <= 'z') goto yy144;
19256 			goto yy3;
19257 		}
19258 	}
19259 yy1271:
19260 	YYDEBUG(1271, *YYCURSOR);
19261 	yych = *++YYCURSOR;
19262 	if (yych == 'O') goto yy1272;
19263 	if (yych != 'o') goto yy56;
19264 yy1272:
19265 	YYDEBUG(1272, *YYCURSOR);
19266 	yych = *++YYCURSOR;
19267 	if (yych == 'F') goto yy1273;
19268 	if (yych != 'f') goto yy56;
19269 yy1273:
19270 	YYDEBUG(1273, *YYCURSOR);
19271 	yych = *++YYCURSOR;
19272 	if (yych != ' ') goto yy56;
19273 	YYDEBUG(1274, *YYCURSOR);
19274 	yych = *++YYCURSOR;
19275 	if (yych <= '/') goto yy56;
19276 	if (yych <= '1') goto yy1275;
19277 	if (yych <= '2') goto yy1276;
19278 	if (yych <= '9') goto yy1277;
19279 	goto yy56;
19280 yy1275:
19281 	YYDEBUG(1275, *YYCURSOR);
19282 	yyaccept = 27;
19283 	yych = *(YYMARKER = ++YYCURSOR);
19284 	if (yych <= '@') {
19285 		if (yych <= 0x1F) {
19286 			if (yych == '\t') goto yy1278;
19287 			goto yy1234;
19288 		} else {
19289 			if (yych <= ' ') goto yy1278;
19290 			if (yych <= '/') goto yy1234;
19291 			if (yych <= '9') goto yy1277;
19292 			goto yy1234;
19293 		}
19294 	} else {
19295 		if (yych <= '`') {
19296 			if (yych <= 'A') goto yy1280;
19297 			if (yych == 'P') goto yy1280;
19298 			goto yy1234;
19299 		} else {
19300 			if (yych <= 'a') goto yy1280;
19301 			if (yych == 'p') goto yy1280;
19302 			goto yy1234;
19303 		}
19304 	}
19305 yy1276:
19306 	YYDEBUG(1276, *YYCURSOR);
19307 	yyaccept = 27;
19308 	yych = *(YYMARKER = ++YYCURSOR);
19309 	if (yych <= '@') {
19310 		if (yych <= 0x1F) {
19311 			if (yych == '\t') goto yy1278;
19312 			goto yy1234;
19313 		} else {
19314 			if (yych <= ' ') goto yy1278;
19315 			if (yych <= '/') goto yy1234;
19316 			if (yych >= '5') goto yy1234;
19317 		}
19318 	} else {
19319 		if (yych <= '`') {
19320 			if (yych <= 'A') goto yy1280;
19321 			if (yych == 'P') goto yy1280;
19322 			goto yy1234;
19323 		} else {
19324 			if (yych <= 'a') goto yy1280;
19325 			if (yych == 'p') goto yy1280;
19326 			goto yy1234;
19327 		}
19328 	}
19329 yy1277:
19330 	YYDEBUG(1277, *YYCURSOR);
19331 	yyaccept = 27;
19332 	yych = *(YYMARKER = ++YYCURSOR);
19333 	if (yych <= 'A') {
19334 		if (yych <= 0x1F) {
19335 			if (yych != '\t') goto yy1234;
19336 		} else {
19337 			if (yych <= ' ') goto yy1278;
19338 			if (yych <= '@') goto yy1234;
19339 			goto yy1280;
19340 		}
19341 	} else {
19342 		if (yych <= '`') {
19343 			if (yych == 'P') goto yy1280;
19344 			goto yy1234;
19345 		} else {
19346 			if (yych <= 'a') goto yy1280;
19347 			if (yych == 'p') goto yy1280;
19348 			goto yy1234;
19349 		}
19350 	}
19351 yy1278:
19352 	YYDEBUG(1278, *YYCURSOR);
19353 	++YYCURSOR;
19354 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
19355 	yych = *YYCURSOR;
19356 	YYDEBUG(1279, *YYCURSOR);
19357 	if (yych <= 'A') {
19358 		if (yych <= 0x1F) {
19359 			if (yych == '\t') goto yy1278;
19360 			goto yy56;
19361 		} else {
19362 			if (yych <= ' ') goto yy1278;
19363 			if (yych <= '@') goto yy56;
19364 		}
19365 	} else {
19366 		if (yych <= '`') {
19367 			if (yych != 'P') goto yy56;
19368 		} else {
19369 			if (yych <= 'a') goto yy1280;
19370 			if (yych != 'p') goto yy56;
19371 		}
19372 	}
19373 yy1280:
19374 	YYDEBUG(1280, *YYCURSOR);
19375 	yych = *++YYCURSOR;
19376 	if (yych <= 'L') {
19377 		if (yych != '.') goto yy56;
19378 	} else {
19379 		if (yych <= 'M') goto yy1282;
19380 		if (yych == 'm') goto yy1282;
19381 		goto yy56;
19382 	}
19383 	YYDEBUG(1281, *YYCURSOR);
19384 	yych = *++YYCURSOR;
19385 	if (yych == 'M') goto yy1282;
19386 	if (yych != 'm') goto yy56;
19387 yy1282:
19388 	YYDEBUG(1282, *YYCURSOR);
19389 	yych = *++YYCURSOR;
19390 	if (yych <= 0x1F) {
19391 		if (yych <= 0x00) goto yy1243;
19392 		if (yych == '\t') goto yy1243;
19393 		goto yy56;
19394 	} else {
19395 		if (yych <= ' ') goto yy1243;
19396 		if (yych != '.') goto yy56;
19397 	}
19398 	YYDEBUG(1283, *YYCURSOR);
19399 	yych = *++YYCURSOR;
19400 	if (yych <= '\t') {
19401 		if (yych <= 0x00) goto yy1243;
19402 		if (yych <= 0x08) goto yy56;
19403 		goto yy1243;
19404 	} else {
19405 		if (yych == ' ') goto yy1243;
19406 		goto yy56;
19407 	}
19408 yy1284:
19409 	YYDEBUG(1284, *YYCURSOR);
19410 	yych = *++YYCURSOR;
19411 	if (yych <= 'R') {
19412 		if (yych <= ')') {
19413 			if (yych <= '(') goto yy3;
19414 			goto yy139;
19415 		} else {
19416 			if (yych <= '@') goto yy3;
19417 			if (yych <= 'Q') goto yy142;
19418 		}
19419 	} else {
19420 		if (yych <= 'q') {
19421 			if (yych <= 'Z') goto yy142;
19422 			if (yych <= '`') goto yy3;
19423 			goto yy142;
19424 		} else {
19425 			if (yych <= 'r') goto yy1285;
19426 			if (yych <= 'z') goto yy142;
19427 			goto yy3;
19428 		}
19429 	}
19430 yy1285:
19431 	YYDEBUG(1285, *YYCURSOR);
19432 	yych = *++YYCURSOR;
19433 	if (yych <= 'T') {
19434 		if (yych <= ')') {
19435 			if (yych <= '(') goto yy3;
19436 			goto yy139;
19437 		} else {
19438 			if (yych <= '@') goto yy3;
19439 			if (yych <= 'S') goto yy143;
19440 		}
19441 	} else {
19442 		if (yych <= 's') {
19443 			if (yych <= 'Z') goto yy143;
19444 			if (yych <= '`') goto yy3;
19445 			goto yy143;
19446 		} else {
19447 			if (yych <= 't') goto yy1286;
19448 			if (yych <= 'z') goto yy143;
19449 			goto yy3;
19450 		}
19451 	}
19452 yy1286:
19453 	YYDEBUG(1286, *YYCURSOR);
19454 	yych = *++YYCURSOR;
19455 	if (yych <= 'H') {
19456 		if (yych <= ')') {
19457 			if (yych <= '(') goto yy3;
19458 			goto yy139;
19459 		} else {
19460 			if (yych <= '@') goto yy3;
19461 			if (yych <= 'G') goto yy144;
19462 			goto yy1155;
19463 		}
19464 	} else {
19465 		if (yych <= 'g') {
19466 			if (yych <= 'Z') goto yy144;
19467 			if (yych <= '`') goto yy3;
19468 			goto yy144;
19469 		} else {
19470 			if (yych <= 'h') goto yy1155;
19471 			if (yych <= 'z') goto yy144;
19472 			goto yy3;
19473 		}
19474 	}
19475 yy1287:
19476 	YYDEBUG(1287, *YYCURSOR);
19477 	yych = *++YYCURSOR;
19478 	if (yych <= 'S') {
19479 		if (yych <= ')') {
19480 			if (yych <= '(') goto yy3;
19481 			goto yy139;
19482 		} else {
19483 			if (yych <= '@') goto yy3;
19484 			if (yych <= 'R') goto yy142;
19485 			goto yy1290;
19486 		}
19487 	} else {
19488 		if (yych <= 'r') {
19489 			if (yych <= 'Z') goto yy142;
19490 			if (yych <= '`') goto yy3;
19491 			goto yy142;
19492 		} else {
19493 			if (yych <= 's') goto yy1290;
19494 			if (yych <= 'z') goto yy142;
19495 			goto yy3;
19496 		}
19497 	}
19498 yy1288:
19499 	YYDEBUG(1288, *YYCURSOR);
19500 	yych = *++YYCURSOR;
19501 	if (yych <= 'T') {
19502 		if (yych <= ')') {
19503 			if (yych <= '(') goto yy3;
19504 			goto yy139;
19505 		} else {
19506 			if (yych <= '@') goto yy3;
19507 			if (yych <= 'S') goto yy142;
19508 		}
19509 	} else {
19510 		if (yych <= 's') {
19511 			if (yych <= 'Z') goto yy142;
19512 			if (yych <= '`') goto yy3;
19513 			goto yy142;
19514 		} else {
19515 			if (yych <= 't') goto yy1289;
19516 			if (yych <= 'z') goto yy142;
19517 			goto yy3;
19518 		}
19519 	}
19520 yy1289:
19521 	YYDEBUG(1289, *YYCURSOR);
19522 	yych = *++YYCURSOR;
19523 	if (yych <= 'H') {
19524 		if (yych <= ')') {
19525 			if (yych <= '(') goto yy3;
19526 			goto yy139;
19527 		} else {
19528 			if (yych <= '@') goto yy3;
19529 			if (yych <= 'G') goto yy143;
19530 			goto yy1178;
19531 		}
19532 	} else {
19533 		if (yych <= 'g') {
19534 			if (yych <= 'Z') goto yy143;
19535 			if (yych <= '`') goto yy3;
19536 			goto yy143;
19537 		} else {
19538 			if (yych <= 'h') goto yy1178;
19539 			if (yych <= 'z') goto yy143;
19540 			goto yy3;
19541 		}
19542 	}
19543 yy1290:
19544 	YYDEBUG(1290, *YYCURSOR);
19545 	yych = *++YYCURSOR;
19546 	if (yych <= 'T') {
19547 		if (yych <= ')') {
19548 			if (yych <= '(') goto yy3;
19549 			goto yy139;
19550 		} else {
19551 			if (yych <= '@') goto yy3;
19552 			if (yych <= 'S') goto yy143;
19553 		}
19554 	} else {
19555 		if (yych <= 's') {
19556 			if (yych <= 'Z') goto yy143;
19557 			if (yych <= '`') goto yy3;
19558 			goto yy143;
19559 		} else {
19560 			if (yych <= 't') goto yy1291;
19561 			if (yych <= 'z') goto yy143;
19562 			goto yy3;
19563 		}
19564 	}
19565 yy1291:
19566 	YYDEBUG(1291, *YYCURSOR);
19567 	yyaccept = 0;
19568 	yych = *(YYMARKER = ++YYCURSOR);
19569 	if (yych <= '(') {
19570 		if (yych <= '\t') {
19571 			if (yych <= 0x08) goto yy3;
19572 			goto yy1146;
19573 		} else {
19574 			if (yych != ' ') goto yy3;
19575 		}
19576 	} else {
19577 		if (yych <= 'Z') {
19578 			if (yych <= ')') goto yy139;
19579 			if (yych <= '@') goto yy3;
19580 			goto yy144;
19581 		} else {
19582 			if (yych <= '`') goto yy3;
19583 			if (yych <= 'z') goto yy144;
19584 			goto yy3;
19585 		}
19586 	}
19587 yy1292:
19588 	YYDEBUG(1292, *YYCURSOR);
19589 	yych = *++YYCURSOR;
19590 	if (yych == 'D') goto yy1293;
19591 	if (yych != 'd') goto yy1147;
19592 yy1293:
19593 	YYDEBUG(1293, *YYCURSOR);
19594 	yych = *++YYCURSOR;
19595 	if (yych == 'A') goto yy1294;
19596 	if (yych != 'a') goto yy56;
19597 yy1294:
19598 	YYDEBUG(1294, *YYCURSOR);
19599 	yych = *++YYCURSOR;
19600 	if (yych == 'Y') goto yy1295;
19601 	if (yych != 'y') goto yy56;
19602 yy1295:
19603 	YYDEBUG(1295, *YYCURSOR);
19604 	yyaccept = 25;
19605 	yych = *(YYMARKER = ++YYCURSOR);
19606 	if (yych <= 'R') {
19607 		if (yych != ' ') goto yy1057;
19608 	} else {
19609 		if (yych <= 'S') goto yy1082;
19610 		if (yych == 's') goto yy1082;
19611 		goto yy1057;
19612 	}
19613 	YYDEBUG(1296, *YYCURSOR);
19614 	yych = *++YYCURSOR;
19615 	if (yych == 'O') goto yy1297;
19616 	if (yych != 'o') goto yy56;
19617 yy1297:
19618 	YYDEBUG(1297, *YYCURSOR);
19619 	yych = *++YYCURSOR;
19620 	if (yych == 'F') goto yy1256;
19621 	if (yych == 'f') goto yy1256;
19622 	goto yy56;
19623 yy1298:
19624 	YYDEBUG(1298, *YYCURSOR);
19625 	yyaccept = 5;
19626 	yych = *(YYMARKER = ++YYCURSOR);
19627 	if (yych <= '/') {
19628 		if (yych <= '(') {
19629 			if (yych <= '\t') {
19630 				if (yych <= 0x08) goto yy193;
19631 				goto yy195;
19632 			} else {
19633 				if (yych == ' ') goto yy195;
19634 				goto yy193;
19635 			}
19636 		} else {
19637 			if (yych <= ',') {
19638 				if (yych <= ')') goto yy139;
19639 				goto yy193;
19640 			} else {
19641 				if (yych <= '-') goto yy196;
19642 				if (yych <= '.') goto yy195;
19643 				goto yy193;
19644 			}
19645 		}
19646 	} else {
19647 		if (yych <= 'Z') {
19648 			if (yych <= '@') {
19649 				if (yych <= '9') goto yy195;
19650 				goto yy193;
19651 			} else {
19652 				if (yych != 'R') goto yy142;
19653 			}
19654 		} else {
19655 			if (yych <= 'q') {
19656 				if (yych <= '`') goto yy193;
19657 				goto yy142;
19658 			} else {
19659 				if (yych <= 'r') goto yy1299;
19660 				if (yych <= 'z') goto yy142;
19661 				goto yy193;
19662 			}
19663 		}
19664 	}
19665 yy1299:
19666 	YYDEBUG(1299, *YYCURSOR);
19667 	yych = *++YYCURSOR;
19668 	if (yych <= 'U') {
19669 		if (yych <= ')') {
19670 			if (yych <= '(') goto yy3;
19671 			goto yy139;
19672 		} else {
19673 			if (yych <= '@') goto yy3;
19674 			if (yych <= 'T') goto yy143;
19675 		}
19676 	} else {
19677 		if (yych <= 't') {
19678 			if (yych <= 'Z') goto yy143;
19679 			if (yych <= '`') goto yy3;
19680 			goto yy143;
19681 		} else {
19682 			if (yych <= 'u') goto yy1300;
19683 			if (yych <= 'z') goto yy143;
19684 			goto yy3;
19685 		}
19686 	}
19687 yy1300:
19688 	YYDEBUG(1300, *YYCURSOR);
19689 	yych = *++YYCURSOR;
19690 	if (yych <= 'A') {
19691 		if (yych == ')') goto yy139;
19692 		if (yych <= '@') goto yy3;
19693 	} else {
19694 		if (yych <= '`') {
19695 			if (yych <= 'Z') goto yy144;
19696 			goto yy3;
19697 		} else {
19698 			if (yych <= 'a') goto yy1301;
19699 			if (yych <= 'z') goto yy144;
19700 			goto yy3;
19701 		}
19702 	}
19703 yy1301:
19704 	YYDEBUG(1301, *YYCURSOR);
19705 	yyaccept = 0;
19706 	yych = *(YYMARKER = ++YYCURSOR);
19707 	if (yych <= 'Q') {
19708 		if (yych == ')') goto yy139;
19709 		goto yy3;
19710 	} else {
19711 		if (yych <= 'R') goto yy1302;
19712 		if (yych != 'r') goto yy3;
19713 	}
19714 yy1302:
19715 	YYDEBUG(1302, *YYCURSOR);
19716 	yych = *++YYCURSOR;
19717 	if (yych == 'Y') goto yy204;
19718 	if (yych == 'y') goto yy204;
19719 	goto yy56;
19720 yy1303:
19721 	YYDEBUG(1303, *YYCURSOR);
19722 	yyaccept = 0;
19723 	yych = *(YYMARKER = ++YYCURSOR);
19724 	if (yych <= 'A') {
19725 		if (yych <= '-') {
19726 			if (yych == ')') goto yy139;
19727 			if (yych <= ',') goto yy3;
19728 			goto yy147;
19729 		} else {
19730 			if (yych == '/') goto yy147;
19731 			if (yych <= '@') goto yy3;
19732 			goto yy141;
19733 		}
19734 	} else {
19735 		if (yych <= '_') {
19736 			if (yych <= 'B') goto yy1298;
19737 			if (yych <= 'Z') goto yy141;
19738 			if (yych <= '^') goto yy3;
19739 			goto yy147;
19740 		} else {
19741 			if (yych <= 'a') {
19742 				if (yych <= '`') goto yy3;
19743 				goto yy146;
19744 			} else {
19745 				if (yych <= 'b') goto yy1321;
19746 				if (yych <= 'z') goto yy146;
19747 				goto yy3;
19748 			}
19749 		}
19750 	}
19751 yy1304:
19752 	YYDEBUG(1304, *YYCURSOR);
19753 	yyaccept = 0;
19754 	yych = *(YYMARKER = ++YYCURSOR);
19755 	if (yych <= 'Q') {
19756 		if (yych <= '.') {
19757 			if (yych <= ')') {
19758 				if (yych <= '(') goto yy3;
19759 				goto yy139;
19760 			} else {
19761 				if (yych == '-') goto yy147;
19762 				goto yy3;
19763 			}
19764 		} else {
19765 			if (yych <= '@') {
19766 				if (yych <= '/') goto yy147;
19767 				goto yy3;
19768 			} else {
19769 				if (yych == 'F') goto yy1288;
19770 				goto yy141;
19771 			}
19772 		}
19773 	} else {
19774 		if (yych <= '`') {
19775 			if (yych <= 'Z') {
19776 				if (yych <= 'R') goto yy1287;
19777 				goto yy141;
19778 			} else {
19779 				if (yych == '_') goto yy147;
19780 				goto yy3;
19781 			}
19782 		} else {
19783 			if (yych <= 'q') {
19784 				if (yych == 'f') goto yy1317;
19785 				goto yy146;
19786 			} else {
19787 				if (yych <= 'r') goto yy1316;
19788 				if (yych <= 'z') goto yy146;
19789 				goto yy3;
19790 			}
19791 		}
19792 	}
19793 yy1305:
19794 	YYDEBUG(1305, *YYCURSOR);
19795 	yyaccept = 0;
19796 	yych = *(YYMARKER = ++YYCURSOR);
19797 	if (yych <= 'T') {
19798 		if (yych <= '-') {
19799 			if (yych == ')') goto yy139;
19800 			if (yych <= ',') goto yy3;
19801 			goto yy147;
19802 		} else {
19803 			if (yych == '/') goto yy147;
19804 			if (yych <= '@') goto yy3;
19805 			goto yy141;
19806 		}
19807 	} else {
19808 		if (yych <= '_') {
19809 			if (yych <= 'U') goto yy1284;
19810 			if (yych <= 'Z') goto yy141;
19811 			if (yych <= '^') goto yy3;
19812 			goto yy147;
19813 		} else {
19814 			if (yych <= 't') {
19815 				if (yych <= '`') goto yy3;
19816 				goto yy146;
19817 			} else {
19818 				if (yych <= 'u') goto yy1313;
19819 				if (yych <= 'z') goto yy146;
19820 				goto yy3;
19821 			}
19822 		}
19823 	}
19824 yy1306:
19825 	YYDEBUG(1306, *YYCURSOR);
19826 	yyaccept = 0;
19827 	yych = *(YYMARKER = ++YYCURSOR);
19828 	if (yych <= 'N') {
19829 		if (yych <= '.') {
19830 			if (yych <= ')') {
19831 				if (yych <= '(') goto yy3;
19832 				goto yy139;
19833 			} else {
19834 				if (yych == '-') goto yy147;
19835 				goto yy3;
19836 			}
19837 		} else {
19838 			if (yych <= '@') {
19839 				if (yych <= '/') goto yy147;
19840 				goto yy3;
19841 			} else {
19842 				if (yych == 'I') goto yy1266;
19843 				goto yy141;
19844 			}
19845 		}
19846 	} else {
19847 		if (yych <= '`') {
19848 			if (yych <= 'Z') {
19849 				if (yych <= 'O') goto yy1265;
19850 				goto yy141;
19851 			} else {
19852 				if (yych == '_') goto yy147;
19853 				goto yy3;
19854 			}
19855 		} else {
19856 			if (yych <= 'n') {
19857 				if (yych == 'i') goto yy1308;
19858 				goto yy146;
19859 			} else {
19860 				if (yych <= 'o') goto yy1307;
19861 				if (yych <= 'z') goto yy146;
19862 				goto yy3;
19863 			}
19864 		}
19865 	}
19866 yy1307:
19867 	YYDEBUG(1307, *YYCURSOR);
19868 	yyaccept = 0;
19869 	yych = *(YYMARKER = ++YYCURSOR);
19870 	if (yych <= 'M') {
19871 		if (yych <= '-') {
19872 			if (yych == ')') goto yy139;
19873 			if (yych <= ',') goto yy3;
19874 			goto yy147;
19875 		} else {
19876 			if (yych == '/') goto yy147;
19877 			if (yych <= '@') goto yy3;
19878 			goto yy142;
19879 		}
19880 	} else {
19881 		if (yych <= '_') {
19882 			if (yych <= 'N') goto yy1269;
19883 			if (yych <= 'Z') goto yy142;
19884 			if (yych <= '^') goto yy3;
19885 			goto yy147;
19886 		} else {
19887 			if (yych <= 'm') {
19888 				if (yych <= '`') goto yy3;
19889 				goto yy150;
19890 			} else {
19891 				if (yych <= 'n') goto yy1311;
19892 				if (yych <= 'z') goto yy150;
19893 				goto yy3;
19894 			}
19895 		}
19896 	}
19897 yy1308:
19898 	YYDEBUG(1308, *YYCURSOR);
19899 	yyaccept = 4;
19900 	yych = *(YYMARKER = ++YYCURSOR);
19901 	if (yych <= 'C') {
19902 		if (yych <= '-') {
19903 			if (yych == ')') goto yy139;
19904 			if (yych <= ',') goto yy166;
19905 			goto yy147;
19906 		} else {
19907 			if (yych == '/') goto yy147;
19908 			if (yych <= '@') goto yy166;
19909 			goto yy142;
19910 		}
19911 	} else {
19912 		if (yych <= '_') {
19913 			if (yych <= 'D') goto yy1267;
19914 			if (yych <= 'Z') goto yy142;
19915 			if (yych <= '^') goto yy166;
19916 			goto yy147;
19917 		} else {
19918 			if (yych <= 'c') {
19919 				if (yych <= '`') goto yy166;
19920 				goto yy150;
19921 			} else {
19922 				if (yych <= 'd') goto yy1309;
19923 				if (yych <= 'z') goto yy150;
19924 				goto yy166;
19925 			}
19926 		}
19927 	}
19928 yy1309:
19929 	YYDEBUG(1309, *YYCURSOR);
19930 	yyaccept = 0;
19931 	yych = *(YYMARKER = ++YYCURSOR);
19932 	if (yych <= '@') {
19933 		if (yych <= ',') {
19934 			if (yych == ')') goto yy139;
19935 			goto yy3;
19936 		} else {
19937 			if (yych == '.') goto yy3;
19938 			if (yych <= '/') goto yy147;
19939 			goto yy3;
19940 		}
19941 	} else {
19942 		if (yych <= '_') {
19943 			if (yych <= 'A') goto yy1268;
19944 			if (yych <= 'Z') goto yy143;
19945 			if (yych <= '^') goto yy3;
19946 			goto yy147;
19947 		} else {
19948 			if (yych <= '`') goto yy3;
19949 			if (yych <= 'a') goto yy1310;
19950 			if (yych <= 'z') goto yy151;
19951 			goto yy3;
19952 		}
19953 	}
19954 yy1310:
19955 	YYDEBUG(1310, *YYCURSOR);
19956 	yyaccept = 0;
19957 	yych = *(YYMARKER = ++YYCURSOR);
19958 	if (yych <= 'X') {
19959 		if (yych <= '-') {
19960 			if (yych == ')') goto yy139;
19961 			if (yych <= ',') goto yy3;
19962 			goto yy147;
19963 		} else {
19964 			if (yych == '/') goto yy147;
19965 			if (yych <= '@') goto yy3;
19966 			goto yy144;
19967 		}
19968 	} else {
19969 		if (yych <= '_') {
19970 			if (yych <= 'Y') goto yy1175;
19971 			if (yych <= 'Z') goto yy144;
19972 			if (yych <= '^') goto yy3;
19973 			goto yy147;
19974 		} else {
19975 			if (yych <= 'x') {
19976 				if (yych <= '`') goto yy3;
19977 				goto yy152;
19978 			} else {
19979 				if (yych <= 'y') goto yy1204;
19980 				if (yych <= 'z') goto yy152;
19981 				goto yy3;
19982 			}
19983 		}
19984 	}
19985 yy1311:
19986 	YYDEBUG(1311, *YYCURSOR);
19987 	yyaccept = 0;
19988 	yych = *(YYMARKER = ++YYCURSOR);
19989 	if (yych <= 'S') {
19990 		if (yych <= '-') {
19991 			if (yych == ')') goto yy139;
19992 			if (yych <= ',') goto yy3;
19993 			goto yy147;
19994 		} else {
19995 			if (yych == '/') goto yy147;
19996 			if (yych <= '@') goto yy3;
19997 			goto yy143;
19998 		}
19999 	} else {
20000 		if (yych <= '_') {
20001 			if (yych <= 'T') goto yy1270;
20002 			if (yych <= 'Z') goto yy143;
20003 			if (yych <= '^') goto yy3;
20004 			goto yy147;
20005 		} else {
20006 			if (yych <= 's') {
20007 				if (yych <= '`') goto yy3;
20008 				goto yy151;
20009 			} else {
20010 				if (yych <= 't') goto yy1312;
20011 				if (yych <= 'z') goto yy151;
20012 				goto yy3;
20013 			}
20014 		}
20015 	}
20016 yy1312:
20017 	YYDEBUG(1312, *YYCURSOR);
20018 	yyaccept = 0;
20019 	yych = *(YYMARKER = ++YYCURSOR);
20020 	if (yych <= '.') {
20021 		if (yych <= '(') {
20022 			if (yych == ' ') goto yy1271;
20023 			goto yy3;
20024 		} else {
20025 			if (yych <= ')') goto yy139;
20026 			if (yych == '-') goto yy147;
20027 			goto yy3;
20028 		}
20029 	} else {
20030 		if (yych <= '^') {
20031 			if (yych <= '/') goto yy147;
20032 			if (yych <= '@') goto yy3;
20033 			if (yych <= 'Z') goto yy144;
20034 			goto yy3;
20035 		} else {
20036 			if (yych <= '_') goto yy147;
20037 			if (yych <= '`') goto yy3;
20038 			if (yych <= 'z') goto yy152;
20039 			goto yy3;
20040 		}
20041 	}
20042 yy1313:
20043 	YYDEBUG(1313, *YYCURSOR);
20044 	yyaccept = 0;
20045 	yych = *(YYMARKER = ++YYCURSOR);
20046 	if (yych <= 'Q') {
20047 		if (yych <= '-') {
20048 			if (yych == ')') goto yy139;
20049 			if (yych <= ',') goto yy3;
20050 			goto yy147;
20051 		} else {
20052 			if (yych == '/') goto yy147;
20053 			if (yych <= '@') goto yy3;
20054 			goto yy142;
20055 		}
20056 	} else {
20057 		if (yych <= '_') {
20058 			if (yych <= 'R') goto yy1285;
20059 			if (yych <= 'Z') goto yy142;
20060 			if (yych <= '^') goto yy3;
20061 			goto yy147;
20062 		} else {
20063 			if (yych <= 'q') {
20064 				if (yych <= '`') goto yy3;
20065 				goto yy150;
20066 			} else {
20067 				if (yych <= 'r') goto yy1314;
20068 				if (yych <= 'z') goto yy150;
20069 				goto yy3;
20070 			}
20071 		}
20072 	}
20073 yy1314:
20074 	YYDEBUG(1314, *YYCURSOR);
20075 	yyaccept = 0;
20076 	yych = *(YYMARKER = ++YYCURSOR);
20077 	if (yych <= 'S') {
20078 		if (yych <= '-') {
20079 			if (yych == ')') goto yy139;
20080 			if (yych <= ',') goto yy3;
20081 			goto yy147;
20082 		} else {
20083 			if (yych == '/') goto yy147;
20084 			if (yych <= '@') goto yy3;
20085 			goto yy143;
20086 		}
20087 	} else {
20088 		if (yych <= '_') {
20089 			if (yych <= 'T') goto yy1286;
20090 			if (yych <= 'Z') goto yy143;
20091 			if (yych <= '^') goto yy3;
20092 			goto yy147;
20093 		} else {
20094 			if (yych <= 's') {
20095 				if (yych <= '`') goto yy3;
20096 				goto yy151;
20097 			} else {
20098 				if (yych <= 't') goto yy1315;
20099 				if (yych <= 'z') goto yy151;
20100 				goto yy3;
20101 			}
20102 		}
20103 	}
20104 yy1315:
20105 	YYDEBUG(1315, *YYCURSOR);
20106 	yyaccept = 0;
20107 	yych = *(YYMARKER = ++YYCURSOR);
20108 	if (yych <= 'G') {
20109 		if (yych <= '-') {
20110 			if (yych == ')') goto yy139;
20111 			if (yych <= ',') goto yy3;
20112 			goto yy147;
20113 		} else {
20114 			if (yych == '/') goto yy147;
20115 			if (yych <= '@') goto yy3;
20116 			goto yy144;
20117 		}
20118 	} else {
20119 		if (yych <= '_') {
20120 			if (yych <= 'H') goto yy1155;
20121 			if (yych <= 'Z') goto yy144;
20122 			if (yych <= '^') goto yy3;
20123 			goto yy147;
20124 		} else {
20125 			if (yych <= 'g') {
20126 				if (yych <= '`') goto yy3;
20127 				goto yy152;
20128 			} else {
20129 				if (yych <= 'h') goto yy1167;
20130 				if (yych <= 'z') goto yy152;
20131 				goto yy3;
20132 			}
20133 		}
20134 	}
20135 yy1316:
20136 	YYDEBUG(1316, *YYCURSOR);
20137 	yyaccept = 0;
20138 	yych = *(YYMARKER = ++YYCURSOR);
20139 	if (yych <= 'R') {
20140 		if (yych <= '-') {
20141 			if (yych == ')') goto yy139;
20142 			if (yych <= ',') goto yy3;
20143 			goto yy147;
20144 		} else {
20145 			if (yych == '/') goto yy147;
20146 			if (yych <= '@') goto yy3;
20147 			goto yy142;
20148 		}
20149 	} else {
20150 		if (yych <= '_') {
20151 			if (yych <= 'S') goto yy1290;
20152 			if (yych <= 'Z') goto yy142;
20153 			if (yych <= '^') goto yy3;
20154 			goto yy147;
20155 		} else {
20156 			if (yych <= 'r') {
20157 				if (yych <= '`') goto yy3;
20158 				goto yy150;
20159 			} else {
20160 				if (yych <= 's') goto yy1319;
20161 				if (yych <= 'z') goto yy150;
20162 				goto yy3;
20163 			}
20164 		}
20165 	}
20166 yy1317:
20167 	YYDEBUG(1317, *YYCURSOR);
20168 	yyaccept = 0;
20169 	yych = *(YYMARKER = ++YYCURSOR);
20170 	if (yych <= 'S') {
20171 		if (yych <= '-') {
20172 			if (yych == ')') goto yy139;
20173 			if (yych <= ',') goto yy3;
20174 			goto yy147;
20175 		} else {
20176 			if (yych == '/') goto yy147;
20177 			if (yych <= '@') goto yy3;
20178 			goto yy142;
20179 		}
20180 	} else {
20181 		if (yych <= '_') {
20182 			if (yych <= 'T') goto yy1289;
20183 			if (yych <= 'Z') goto yy142;
20184 			if (yych <= '^') goto yy3;
20185 			goto yy147;
20186 		} else {
20187 			if (yych <= 's') {
20188 				if (yych <= '`') goto yy3;
20189 				goto yy150;
20190 			} else {
20191 				if (yych <= 't') goto yy1318;
20192 				if (yych <= 'z') goto yy150;
20193 				goto yy3;
20194 			}
20195 		}
20196 	}
20197 yy1318:
20198 	YYDEBUG(1318, *YYCURSOR);
20199 	yyaccept = 0;
20200 	yych = *(YYMARKER = ++YYCURSOR);
20201 	if (yych <= 'G') {
20202 		if (yych <= '-') {
20203 			if (yych == ')') goto yy139;
20204 			if (yych <= ',') goto yy3;
20205 			goto yy147;
20206 		} else {
20207 			if (yych == '/') goto yy147;
20208 			if (yych <= '@') goto yy3;
20209 			goto yy143;
20210 		}
20211 	} else {
20212 		if (yych <= '_') {
20213 			if (yych <= 'H') goto yy1178;
20214 			if (yych <= 'Z') goto yy143;
20215 			if (yych <= '^') goto yy3;
20216 			goto yy147;
20217 		} else {
20218 			if (yych <= 'g') {
20219 				if (yych <= '`') goto yy3;
20220 				goto yy151;
20221 			} else {
20222 				if (yych <= 'h') goto yy1207;
20223 				if (yych <= 'z') goto yy151;
20224 				goto yy3;
20225 			}
20226 		}
20227 	}
20228 yy1319:
20229 	YYDEBUG(1319, *YYCURSOR);
20230 	yyaccept = 0;
20231 	yych = *(YYMARKER = ++YYCURSOR);
20232 	if (yych <= 'S') {
20233 		if (yych <= '-') {
20234 			if (yych == ')') goto yy139;
20235 			if (yych <= ',') goto yy3;
20236 			goto yy147;
20237 		} else {
20238 			if (yych == '/') goto yy147;
20239 			if (yych <= '@') goto yy3;
20240 			goto yy143;
20241 		}
20242 	} else {
20243 		if (yych <= '_') {
20244 			if (yych <= 'T') goto yy1291;
20245 			if (yych <= 'Z') goto yy143;
20246 			if (yych <= '^') goto yy3;
20247 			goto yy147;
20248 		} else {
20249 			if (yych <= 's') {
20250 				if (yych <= '`') goto yy3;
20251 				goto yy151;
20252 			} else {
20253 				if (yych <= 't') goto yy1320;
20254 				if (yych <= 'z') goto yy151;
20255 				goto yy3;
20256 			}
20257 		}
20258 	}
20259 yy1320:
20260 	YYDEBUG(1320, *YYCURSOR);
20261 	yyaccept = 0;
20262 	yych = *(YYMARKER = ++YYCURSOR);
20263 	if (yych <= '-') {
20264 		if (yych <= ' ') {
20265 			if (yych == '\t') goto yy1146;
20266 			if (yych <= 0x1F) goto yy3;
20267 			goto yy1292;
20268 		} else {
20269 			if (yych == ')') goto yy139;
20270 			if (yych <= ',') goto yy3;
20271 			goto yy147;
20272 		}
20273 	} else {
20274 		if (yych <= 'Z') {
20275 			if (yych == '/') goto yy147;
20276 			if (yych <= '@') goto yy3;
20277 			goto yy144;
20278 		} else {
20279 			if (yych <= '_') {
20280 				if (yych <= '^') goto yy3;
20281 				goto yy147;
20282 			} else {
20283 				if (yych <= '`') goto yy3;
20284 				if (yych <= 'z') goto yy152;
20285 				goto yy3;
20286 			}
20287 		}
20288 	}
20289 yy1321:
20290 	YYDEBUG(1321, *YYCURSOR);
20291 	yyaccept = 5;
20292 	yych = *(YYMARKER = ++YYCURSOR);
20293 	if (yych <= '9') {
20294 		if (yych <= '(') {
20295 			if (yych <= '\t') {
20296 				if (yych <= 0x08) goto yy193;
20297 				goto yy195;
20298 			} else {
20299 				if (yych == ' ') goto yy195;
20300 				goto yy193;
20301 			}
20302 		} else {
20303 			if (yych <= '-') {
20304 				if (yych <= ')') goto yy139;
20305 				if (yych <= ',') goto yy193;
20306 				goto yy311;
20307 			} else {
20308 				if (yych == '/') goto yy147;
20309 				goto yy195;
20310 			}
20311 		}
20312 	} else {
20313 		if (yych <= '^') {
20314 			if (yych <= 'Q') {
20315 				if (yych <= '@') goto yy193;
20316 				goto yy142;
20317 			} else {
20318 				if (yych <= 'R') goto yy1299;
20319 				if (yych <= 'Z') goto yy142;
20320 				goto yy193;
20321 			}
20322 		} else {
20323 			if (yych <= 'q') {
20324 				if (yych <= '_') goto yy147;
20325 				if (yych <= '`') goto yy193;
20326 				goto yy150;
20327 			} else {
20328 				if (yych <= 'r') goto yy1322;
20329 				if (yych <= 'z') goto yy150;
20330 				goto yy193;
20331 			}
20332 		}
20333 	}
20334 yy1322:
20335 	YYDEBUG(1322, *YYCURSOR);
20336 	yyaccept = 0;
20337 	yych = *(YYMARKER = ++YYCURSOR);
20338 	if (yych <= 'T') {
20339 		if (yych <= '-') {
20340 			if (yych == ')') goto yy139;
20341 			if (yych <= ',') goto yy3;
20342 			goto yy147;
20343 		} else {
20344 			if (yych == '/') goto yy147;
20345 			if (yych <= '@') goto yy3;
20346 			goto yy143;
20347 		}
20348 	} else {
20349 		if (yych <= '_') {
20350 			if (yych <= 'U') goto yy1300;
20351 			if (yych <= 'Z') goto yy143;
20352 			if (yych <= '^') goto yy3;
20353 			goto yy147;
20354 		} else {
20355 			if (yych <= 't') {
20356 				if (yych <= '`') goto yy3;
20357 				goto yy151;
20358 			} else {
20359 				if (yych <= 'u') goto yy1323;
20360 				if (yych <= 'z') goto yy151;
20361 				goto yy3;
20362 			}
20363 		}
20364 	}
20365 yy1323:
20366 	YYDEBUG(1323, *YYCURSOR);
20367 	yyaccept = 0;
20368 	yych = *(YYMARKER = ++YYCURSOR);
20369 	if (yych <= '@') {
20370 		if (yych <= ',') {
20371 			if (yych == ')') goto yy139;
20372 			goto yy3;
20373 		} else {
20374 			if (yych == '.') goto yy3;
20375 			if (yych <= '/') goto yy147;
20376 			goto yy3;
20377 		}
20378 	} else {
20379 		if (yych <= '_') {
20380 			if (yych <= 'A') goto yy1301;
20381 			if (yych <= 'Z') goto yy144;
20382 			if (yych <= '^') goto yy3;
20383 			goto yy147;
20384 		} else {
20385 			if (yych <= '`') goto yy3;
20386 			if (yych <= 'a') goto yy1324;
20387 			if (yych <= 'z') goto yy152;
20388 			goto yy3;
20389 		}
20390 	}
20391 yy1324:
20392 	YYDEBUG(1324, *YYCURSOR);
20393 	yyaccept = 0;
20394 	yych = *(YYMARKER = ++YYCURSOR);
20395 	if (yych <= 'Q') {
20396 		if (yych <= ',') {
20397 			if (yych == ')') goto yy139;
20398 			goto yy3;
20399 		} else {
20400 			if (yych == '.') goto yy3;
20401 			if (yych <= '/') goto yy147;
20402 			goto yy3;
20403 		}
20404 	} else {
20405 		if (yych <= '`') {
20406 			if (yych <= 'R') goto yy1302;
20407 			if (yych == '_') goto yy147;
20408 			goto yy3;
20409 		} else {
20410 			if (yych == 'r') goto yy1325;
20411 			if (yych <= 'z') goto yy153;
20412 			goto yy3;
20413 		}
20414 	}
20415 yy1325:
20416 	YYDEBUG(1325, *YYCURSOR);
20417 	yych = *++YYCURSOR;
20418 	if (yych == 'Y') goto yy204;
20419 	if (yych == 'y') goto yy316;
20420 	goto yy154;
20421 yy1326:
20422 	YYDEBUG(1326, *YYCURSOR);
20423 	yych = *++YYCURSOR;
20424 	if (yych <= '/') goto yy56;
20425 	if (yych >= ':') goto yy56;
20426 yy1327:
20427 	YYDEBUG(1327, *YYCURSOR);
20428 	++YYCURSOR;
20429 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
20430 	yych = *YYCURSOR;
20431 	YYDEBUG(1328, *YYCURSOR);
20432 	if (yych <= '/') goto yy1329;
20433 	if (yych <= '9') goto yy1327;
20434 yy1329:
20435 	YYDEBUG(1329, *YYCURSOR);
20436 #line 1010 "ext/date/lib/parse_date.re"
20437 	{
20438 		timelib_ull i;
20439 
20440 		TIMELIB_INIT;
20441 		TIMELIB_HAVE_RELATIVE();
20442 		TIMELIB_UNHAVE_DATE();
20443 		TIMELIB_UNHAVE_TIME();
20444 		TIMELIB_HAVE_TZ();
20445 
20446 		i = timelib_get_unsigned_nr((char **) &ptr, 24);
20447 		s->time->y = 1970;
20448 		s->time->m = 1;
20449 		s->time->d = 1;
20450 		s->time->h = s->time->i = s->time->s = 0;
20451 		s->time->f = 0.0;
20452 		s->time->relative.s += i;
20453 		s->time->is_localtime = 1;
20454 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
20455 		s->time->z = 0;
20456 		s->time->dst = 0;
20457 
20458 		TIMELIB_DEINIT;
20459 		return TIMELIB_RELATIVE;
20460 	}
20461 #line 20462 "<stdout>"
20462 yy1330:
20463 	YYDEBUG(1330, *YYCURSOR);
20464 	yych = *++YYCURSOR;
20465 	if (yych <= 'N') {
20466 		if (yych <= ')') {
20467 			if (yych <= '(') goto yy3;
20468 			goto yy139;
20469 		} else {
20470 			if (yych <= '@') goto yy3;
20471 			if (yych <= 'M') goto yy141;
20472 			goto yy1371;
20473 		}
20474 	} else {
20475 		if (yych <= 'm') {
20476 			if (yych <= 'Z') goto yy141;
20477 			if (yych <= '`') goto yy3;
20478 			goto yy141;
20479 		} else {
20480 			if (yych <= 'n') goto yy1371;
20481 			if (yych <= 'z') goto yy141;
20482 			goto yy3;
20483 		}
20484 	}
20485 yy1331:
20486 	YYDEBUG(1331, *YYCURSOR);
20487 	yych = *++YYCURSOR;
20488 	if (yych <= 'U') {
20489 		if (yych <= '@') {
20490 			if (yych == ')') goto yy139;
20491 			goto yy3;
20492 		} else {
20493 			if (yych == 'I') goto yy1363;
20494 			if (yych <= 'T') goto yy141;
20495 			goto yy1364;
20496 		}
20497 	} else {
20498 		if (yych <= 'i') {
20499 			if (yych <= 'Z') goto yy141;
20500 			if (yych <= '`') goto yy3;
20501 			if (yych <= 'h') goto yy141;
20502 			goto yy1363;
20503 		} else {
20504 			if (yych == 'u') goto yy1364;
20505 			if (yych <= 'z') goto yy141;
20506 			goto yy3;
20507 		}
20508 	}
20509 yy1332:
20510 	YYDEBUG(1332, *YYCURSOR);
20511 	yych = *++YYCURSOR;
20512 	if (yych <= 'M') {
20513 		if (yych <= '@') {
20514 			if (yych == ')') goto yy139;
20515 			goto yy3;
20516 		} else {
20517 			if (yych == 'D') goto yy1352;
20518 			if (yych <= 'L') goto yy141;
20519 			goto yy1353;
20520 		}
20521 	} else {
20522 		if (yych <= 'd') {
20523 			if (yych <= 'Z') goto yy141;
20524 			if (yych <= '`') goto yy3;
20525 			if (yych <= 'c') goto yy141;
20526 			goto yy1352;
20527 		} else {
20528 			if (yych == 'm') goto yy1353;
20529 			if (yych <= 'z') goto yy141;
20530 			goto yy3;
20531 		}
20532 	}
20533 yy1333:
20534 	YYDEBUG(1333, *YYCURSOR);
20535 	yych = *++YYCURSOR;
20536 	if (yych <= 'E') {
20537 		if (yych <= ')') {
20538 			if (yych <= '(') goto yy3;
20539 			goto yy139;
20540 		} else {
20541 			if (yych <= '@') goto yy3;
20542 			if (yych <= 'D') goto yy141;
20543 			goto yy1348;
20544 		}
20545 	} else {
20546 		if (yych <= 'd') {
20547 			if (yych <= 'Z') goto yy141;
20548 			if (yych <= '`') goto yy3;
20549 			goto yy141;
20550 		} else {
20551 			if (yych <= 'e') goto yy1348;
20552 			if (yych <= 'z') goto yy141;
20553 			goto yy3;
20554 		}
20555 	}
20556 yy1334:
20557 	YYDEBUG(1334, *YYCURSOR);
20558 	yych = *++YYCURSOR;
20559 	if (yych <= 'E') {
20560 		if (yych <= ')') {
20561 			if (yych <= '(') goto yy3;
20562 			goto yy139;
20563 		} else {
20564 			if (yych <= '@') goto yy3;
20565 			if (yych <= 'D') goto yy141;
20566 			goto yy1344;
20567 		}
20568 	} else {
20569 		if (yych <= 'd') {
20570 			if (yych <= 'Z') goto yy141;
20571 			if (yych <= '`') goto yy3;
20572 			goto yy141;
20573 		} else {
20574 			if (yych <= 'e') goto yy1344;
20575 			if (yych <= 'z') goto yy141;
20576 			goto yy3;
20577 		}
20578 	}
20579 yy1335:
20580 	YYDEBUG(1335, *YYCURSOR);
20581 	yych = *++YYCURSOR;
20582 	if (yych <= '/') {
20583 		if (yych == '.') goto yy1004;
20584 		goto yy56;
20585 	} else {
20586 		if (yych <= '9') goto yy1338;
20587 		if (yych <= ':') goto yy1004;
20588 		goto yy56;
20589 	}
20590 yy1336:
20591 	YYDEBUG(1336, *YYCURSOR);
20592 	yych = *++YYCURSOR;
20593 	if (yych <= '/') {
20594 		if (yych == '.') goto yy1004;
20595 		goto yy56;
20596 	} else {
20597 		if (yych <= '4') goto yy1338;
20598 		if (yych == ':') goto yy1004;
20599 		goto yy56;
20600 	}
20601 yy1337:
20602 	YYDEBUG(1337, *YYCURSOR);
20603 	yych = *++YYCURSOR;
20604 	if (yych == '.') goto yy1004;
20605 	if (yych == ':') goto yy1004;
20606 	goto yy56;
20607 yy1338:
20608 	YYDEBUG(1338, *YYCURSOR);
20609 	yych = *++YYCURSOR;
20610 	if (yych <= '/') {
20611 		if (yych == '.') goto yy1004;
20612 		goto yy56;
20613 	} else {
20614 		if (yych <= '5') goto yy1339;
20615 		if (yych == ':') goto yy1004;
20616 		goto yy56;
20617 	}
20618 yy1339:
20619 	YYDEBUG(1339, *YYCURSOR);
20620 	yych = *++YYCURSOR;
20621 	if (yych <= '/') goto yy56;
20622 	if (yych >= ':') goto yy56;
20623 	YYDEBUG(1340, *YYCURSOR);
20624 	yyaccept = 23;
20625 	yych = *(YYMARKER = ++YYCURSOR);
20626 	if (yych <= '/') goto yy1007;
20627 	if (yych <= '5') goto yy1341;
20628 	if (yych <= '6') goto yy1342;
20629 	goto yy1007;
20630 yy1341:
20631 	YYDEBUG(1341, *YYCURSOR);
20632 	yych = *++YYCURSOR;
20633 	if (yych <= '/') goto yy56;
20634 	if (yych <= '9') goto yy1343;
20635 	goto yy56;
20636 yy1342:
20637 	YYDEBUG(1342, *YYCURSOR);
20638 	yych = *++YYCURSOR;
20639 	if (yych != '0') goto yy56;
20640 yy1343:
20641 	YYDEBUG(1343, *YYCURSOR);
20642 	yych = *++YYCURSOR;
20643 	goto yy1015;
20644 yy1344:
20645 	YYDEBUG(1344, *YYCURSOR);
20646 	yych = *++YYCURSOR;
20647 	if (yych <= 'L') {
20648 		if (yych <= ')') {
20649 			if (yych <= '(') goto yy3;
20650 			goto yy139;
20651 		} else {
20652 			if (yych <= '@') goto yy3;
20653 			if (yych <= 'K') goto yy142;
20654 		}
20655 	} else {
20656 		if (yych <= 'k') {
20657 			if (yych <= 'Z') goto yy142;
20658 			if (yych <= '`') goto yy3;
20659 			goto yy142;
20660 		} else {
20661 			if (yych <= 'l') goto yy1345;
20662 			if (yych <= 'z') goto yy142;
20663 			goto yy3;
20664 		}
20665 	}
20666 yy1345:
20667 	YYDEBUG(1345, *YYCURSOR);
20668 	yych = *++YYCURSOR;
20669 	if (yych <= 'F') {
20670 		if (yych <= ')') {
20671 			if (yych <= '(') goto yy3;
20672 			goto yy139;
20673 		} else {
20674 			if (yych <= '@') goto yy3;
20675 			if (yych <= 'E') goto yy143;
20676 		}
20677 	} else {
20678 		if (yych <= 'e') {
20679 			if (yych <= 'Z') goto yy143;
20680 			if (yych <= '`') goto yy3;
20681 			goto yy143;
20682 		} else {
20683 			if (yych <= 'f') goto yy1346;
20684 			if (yych <= 'z') goto yy143;
20685 			goto yy3;
20686 		}
20687 	}
20688 yy1346:
20689 	YYDEBUG(1346, *YYCURSOR);
20690 	yych = *++YYCURSOR;
20691 	if (yych <= 'T') {
20692 		if (yych <= ')') {
20693 			if (yych <= '(') goto yy3;
20694 			goto yy139;
20695 		} else {
20696 			if (yych <= '@') goto yy3;
20697 			if (yych <= 'S') goto yy144;
20698 		}
20699 	} else {
20700 		if (yych <= 's') {
20701 			if (yych <= 'Z') goto yy144;
20702 			if (yych <= '`') goto yy3;
20703 			goto yy144;
20704 		} else {
20705 			if (yych <= 't') goto yy1347;
20706 			if (yych <= 'z') goto yy144;
20707 			goto yy3;
20708 		}
20709 	}
20710 yy1347:
20711 	YYDEBUG(1347, *YYCURSOR);
20712 	yyaccept = 0;
20713 	yych = *(YYMARKER = ++YYCURSOR);
20714 	if (yych <= 'G') {
20715 		if (yych == ')') goto yy139;
20716 		goto yy3;
20717 	} else {
20718 		if (yych <= 'H') goto yy1145;
20719 		if (yych == 'h') goto yy1145;
20720 		goto yy3;
20721 	}
20722 yy1348:
20723 	YYDEBUG(1348, *YYCURSOR);
20724 	yych = *++YYCURSOR;
20725 	if (yych <= 'S') {
20726 		if (yych <= ')') {
20727 			if (yych <= '(') goto yy166;
20728 			goto yy139;
20729 		} else {
20730 			if (yych <= '@') goto yy166;
20731 			if (yych <= 'R') goto yy142;
20732 		}
20733 	} else {
20734 		if (yych <= 'r') {
20735 			if (yych <= 'Z') goto yy142;
20736 			if (yych <= '`') goto yy166;
20737 			goto yy142;
20738 		} else {
20739 			if (yych <= 's') goto yy1349;
20740 			if (yych <= 'z') goto yy142;
20741 			goto yy166;
20742 		}
20743 	}
20744 yy1349:
20745 	YYDEBUG(1349, *YYCURSOR);
20746 	yych = *++YYCURSOR;
20747 	if (yych <= 'D') {
20748 		if (yych <= ')') {
20749 			if (yych <= '(') goto yy3;
20750 			goto yy139;
20751 		} else {
20752 			if (yych <= '@') goto yy3;
20753 			if (yych <= 'C') goto yy143;
20754 		}
20755 	} else {
20756 		if (yych <= 'c') {
20757 			if (yych <= 'Z') goto yy143;
20758 			if (yych <= '`') goto yy3;
20759 			goto yy143;
20760 		} else {
20761 			if (yych <= 'd') goto yy1350;
20762 			if (yych <= 'z') goto yy143;
20763 			goto yy3;
20764 		}
20765 	}
20766 yy1350:
20767 	YYDEBUG(1350, *YYCURSOR);
20768 	yych = *++YYCURSOR;
20769 	if (yych <= 'A') {
20770 		if (yych == ')') goto yy139;
20771 		if (yych <= '@') goto yy3;
20772 	} else {
20773 		if (yych <= '`') {
20774 			if (yych <= 'Z') goto yy144;
20775 			goto yy3;
20776 		} else {
20777 			if (yych <= 'a') goto yy1351;
20778 			if (yych <= 'z') goto yy144;
20779 			goto yy3;
20780 		}
20781 	}
20782 yy1351:
20783 	YYDEBUG(1351, *YYCURSOR);
20784 	yych = *++YYCURSOR;
20785 	if (yych <= 'X') {
20786 		if (yych == ')') goto yy139;
20787 		goto yy3;
20788 	} else {
20789 		if (yych <= 'Y') goto yy172;
20790 		if (yych == 'y') goto yy172;
20791 		goto yy3;
20792 	}
20793 yy1352:
20794 	YYDEBUG(1352, *YYCURSOR);
20795 	yych = *++YYCURSOR;
20796 	if (yych <= 'A') {
20797 		if (yych == ')') goto yy139;
20798 		if (yych <= '@') goto yy3;
20799 		goto yy1360;
20800 	} else {
20801 		if (yych <= '`') {
20802 			if (yych <= 'Z') goto yy142;
20803 			goto yy3;
20804 		} else {
20805 			if (yych <= 'a') goto yy1360;
20806 			if (yych <= 'z') goto yy142;
20807 			goto yy3;
20808 		}
20809 	}
20810 yy1353:
20811 	YYDEBUG(1353, *YYCURSOR);
20812 	yych = *++YYCURSOR;
20813 	if (yych <= 'O') {
20814 		if (yych <= ')') {
20815 			if (yych <= '(') goto yy3;
20816 			goto yy139;
20817 		} else {
20818 			if (yych <= '@') goto yy3;
20819 			if (yych <= 'N') goto yy142;
20820 		}
20821 	} else {
20822 		if (yych <= 'n') {
20823 			if (yych <= 'Z') goto yy142;
20824 			if (yych <= '`') goto yy3;
20825 			goto yy142;
20826 		} else {
20827 			if (yych <= 'o') goto yy1354;
20828 			if (yych <= 'z') goto yy142;
20829 			goto yy3;
20830 		}
20831 	}
20832 yy1354:
20833 	YYDEBUG(1354, *YYCURSOR);
20834 	yych = *++YYCURSOR;
20835 	if (yych <= 'R') {
20836 		if (yych <= ')') {
20837 			if (yych <= '(') goto yy3;
20838 			goto yy139;
20839 		} else {
20840 			if (yych <= '@') goto yy3;
20841 			if (yych <= 'Q') goto yy143;
20842 		}
20843 	} else {
20844 		if (yych <= 'q') {
20845 			if (yych <= 'Z') goto yy143;
20846 			if (yych <= '`') goto yy3;
20847 			goto yy143;
20848 		} else {
20849 			if (yych <= 'r') goto yy1355;
20850 			if (yych <= 'z') goto yy143;
20851 			goto yy3;
20852 		}
20853 	}
20854 yy1355:
20855 	YYDEBUG(1355, *YYCURSOR);
20856 	yych = *++YYCURSOR;
20857 	if (yych <= 'R') {
20858 		if (yych <= ')') {
20859 			if (yych <= '(') goto yy3;
20860 			goto yy139;
20861 		} else {
20862 			if (yych <= '@') goto yy3;
20863 			if (yych <= 'Q') goto yy144;
20864 		}
20865 	} else {
20866 		if (yych <= 'q') {
20867 			if (yych <= 'Z') goto yy144;
20868 			if (yych <= '`') goto yy3;
20869 			goto yy144;
20870 		} else {
20871 			if (yych <= 'r') goto yy1356;
20872 			if (yych <= 'z') goto yy144;
20873 			goto yy3;
20874 		}
20875 	}
20876 yy1356:
20877 	YYDEBUG(1356, *YYCURSOR);
20878 	yyaccept = 0;
20879 	yych = *(YYMARKER = ++YYCURSOR);
20880 	if (yych <= 'N') {
20881 		if (yych == ')') goto yy139;
20882 		goto yy3;
20883 	} else {
20884 		if (yych <= 'O') goto yy1357;
20885 		if (yych != 'o') goto yy3;
20886 	}
20887 yy1357:
20888 	YYDEBUG(1357, *YYCURSOR);
20889 	yych = *++YYCURSOR;
20890 	if (yych == 'W') goto yy1358;
20891 	if (yych != 'w') goto yy56;
20892 yy1358:
20893 	YYDEBUG(1358, *YYCURSOR);
20894 	++YYCURSOR;
20895 yy1359:
20896 	YYDEBUG(1359, *YYCURSOR);
20897 #line 998 "ext/date/lib/parse_date.re"
20898 	{
20899 		DEBUG_OUTPUT("tomorrow");
20900 		TIMELIB_INIT;
20901 		TIMELIB_HAVE_RELATIVE();
20902 		TIMELIB_UNHAVE_TIME();
20903 
20904 		s->time->relative.d = 1;
20905 		TIMELIB_DEINIT;
20906 		return TIMELIB_RELATIVE;
20907 	}
20908 #line 20909 "<stdout>"
20909 yy1360:
20910 	YYDEBUG(1360, *YYCURSOR);
20911 	yych = *++YYCURSOR;
20912 	if (yych <= 'Y') {
20913 		if (yych <= ')') {
20914 			if (yych <= '(') goto yy3;
20915 			goto yy139;
20916 		} else {
20917 			if (yych <= '@') goto yy3;
20918 			if (yych <= 'X') goto yy143;
20919 		}
20920 	} else {
20921 		if (yych <= 'x') {
20922 			if (yych <= 'Z') goto yy143;
20923 			if (yych <= '`') goto yy3;
20924 			goto yy143;
20925 		} else {
20926 			if (yych <= 'y') goto yy1361;
20927 			if (yych <= 'z') goto yy143;
20928 			goto yy3;
20929 		}
20930 	}
20931 yy1361:
20932 	YYDEBUG(1361, *YYCURSOR);
20933 	++YYCURSOR;
20934 	if ((yych = *YYCURSOR) <= '@') {
20935 		if (yych == ')') goto yy139;
20936 	} else {
20937 		if (yych <= 'Z') goto yy144;
20938 		if (yych <= '`') goto yy1362;
20939 		if (yych <= 'z') goto yy144;
20940 	}
20941 yy1362:
20942 	YYDEBUG(1362, *YYCURSOR);
20943 #line 988 "ext/date/lib/parse_date.re"
20944 	{
20945 		DEBUG_OUTPUT("midnight | today");
20946 		TIMELIB_INIT;
20947 		TIMELIB_UNHAVE_TIME();
20948 
20949 		TIMELIB_DEINIT;
20950 		return TIMELIB_RELATIVE;
20951 	}
20952 #line 20953 "<stdout>"
20953 yy1363:
20954 	YYDEBUG(1363, *YYCURSOR);
20955 	yych = *++YYCURSOR;
20956 	if (yych <= 'S') {
20957 		if (yych <= '@') {
20958 			if (yych == ')') goto yy139;
20959 			goto yy3;
20960 		} else {
20961 			if (yych <= 'Q') goto yy142;
20962 			if (yych <= 'R') goto yy1369;
20963 			goto yy1370;
20964 		}
20965 	} else {
20966 		if (yych <= 'q') {
20967 			if (yych <= 'Z') goto yy142;
20968 			if (yych <= '`') goto yy3;
20969 			goto yy142;
20970 		} else {
20971 			if (yych <= 'r') goto yy1369;
20972 			if (yych <= 's') goto yy1370;
20973 			if (yych <= 'z') goto yy142;
20974 			goto yy3;
20975 		}
20976 	}
20977 yy1364:
20978 	YYDEBUG(1364, *YYCURSOR);
20979 	yych = *++YYCURSOR;
20980 	if (yych <= 'R') {
20981 		if (yych <= ')') {
20982 			if (yych <= '(') goto yy166;
20983 			goto yy139;
20984 		} else {
20985 			if (yych <= '@') goto yy166;
20986 			if (yych <= 'Q') goto yy142;
20987 		}
20988 	} else {
20989 		if (yych <= 'q') {
20990 			if (yych <= 'Z') goto yy142;
20991 			if (yych <= '`') goto yy166;
20992 			goto yy142;
20993 		} else {
20994 			if (yych <= 'r') goto yy1365;
20995 			if (yych <= 'z') goto yy142;
20996 			goto yy166;
20997 		}
20998 	}
20999 yy1365:
21000 	YYDEBUG(1365, *YYCURSOR);
21001 	yych = *++YYCURSOR;
21002 	if (yych <= 'S') {
21003 		if (yych <= ')') {
21004 			if (yych <= '(') goto yy3;
21005 			goto yy139;
21006 		} else {
21007 			if (yych <= '@') goto yy3;
21008 			if (yych <= 'R') goto yy143;
21009 		}
21010 	} else {
21011 		if (yych <= 'r') {
21012 			if (yych <= 'Z') goto yy143;
21013 			if (yych <= '`') goto yy3;
21014 			goto yy143;
21015 		} else {
21016 			if (yych <= 's') goto yy1366;
21017 			if (yych <= 'z') goto yy143;
21018 			goto yy3;
21019 		}
21020 	}
21021 yy1366:
21022 	YYDEBUG(1366, *YYCURSOR);
21023 	yych = *++YYCURSOR;
21024 	if (yych <= 'D') {
21025 		if (yych <= ')') {
21026 			if (yych <= '(') goto yy3;
21027 			goto yy139;
21028 		} else {
21029 			if (yych <= '@') goto yy3;
21030 			if (yych <= 'C') goto yy144;
21031 		}
21032 	} else {
21033 		if (yych <= 'c') {
21034 			if (yych <= 'Z') goto yy144;
21035 			if (yych <= '`') goto yy3;
21036 			goto yy144;
21037 		} else {
21038 			if (yych <= 'd') goto yy1367;
21039 			if (yych <= 'z') goto yy144;
21040 			goto yy3;
21041 		}
21042 	}
21043 yy1367:
21044 	YYDEBUG(1367, *YYCURSOR);
21045 	yyaccept = 0;
21046 	yych = *(YYMARKER = ++YYCURSOR);
21047 	if (yych <= '@') {
21048 		if (yych == ')') goto yy139;
21049 		goto yy3;
21050 	} else {
21051 		if (yych <= 'A') goto yy1368;
21052 		if (yych != 'a') goto yy3;
21053 	}
21054 yy1368:
21055 	YYDEBUG(1368, *YYCURSOR);
21056 	yych = *++YYCURSOR;
21057 	if (yych == 'Y') goto yy172;
21058 	if (yych == 'y') goto yy172;
21059 	goto yy56;
21060 yy1369:
21061 	YYDEBUG(1369, *YYCURSOR);
21062 	yych = *++YYCURSOR;
21063 	if (yych <= 'D') {
21064 		if (yych <= ')') {
21065 			if (yych <= '(') goto yy3;
21066 			goto yy139;
21067 		} else {
21068 			if (yych <= '@') goto yy3;
21069 			if (yych <= 'C') goto yy143;
21070 			goto yy1178;
21071 		}
21072 	} else {
21073 		if (yych <= 'c') {
21074 			if (yych <= 'Z') goto yy143;
21075 			if (yych <= '`') goto yy3;
21076 			goto yy143;
21077 		} else {
21078 			if (yych <= 'd') goto yy1178;
21079 			if (yych <= 'z') goto yy143;
21080 			goto yy3;
21081 		}
21082 	}
21083 yy1370:
21084 	YYDEBUG(1370, *YYCURSOR);
21085 	yyaccept = 0;
21086 	yych = *(YYMARKER = ++YYCURSOR);
21087 	if (yych <= '(') {
21088 		if (yych <= '\t') {
21089 			if (yych <= 0x08) goto yy3;
21090 			goto yy1044;
21091 		} else {
21092 			if (yych == ' ') goto yy1044;
21093 			goto yy3;
21094 		}
21095 	} else {
21096 		if (yych <= 'Z') {
21097 			if (yych <= ')') goto yy139;
21098 			if (yych <= '@') goto yy3;
21099 			goto yy143;
21100 		} else {
21101 			if (yych <= '`') goto yy3;
21102 			if (yych <= 'z') goto yy143;
21103 			goto yy3;
21104 		}
21105 	}
21106 yy1371:
21107 	YYDEBUG(1371, *YYCURSOR);
21108 	yych = *++YYCURSOR;
21109 	if (yych <= 'T') {
21110 		if (yych <= ')') {
21111 			if (yych <= '(') goto yy3;
21112 			goto yy139;
21113 		} else {
21114 			if (yych <= '@') goto yy3;
21115 			if (yych <= 'S') goto yy142;
21116 		}
21117 	} else {
21118 		if (yych <= 's') {
21119 			if (yych <= 'Z') goto yy142;
21120 			if (yych <= '`') goto yy3;
21121 			goto yy142;
21122 		} else {
21123 			if (yych <= 't') goto yy1372;
21124 			if (yych <= 'z') goto yy142;
21125 			goto yy3;
21126 		}
21127 	}
21128 yy1372:
21129 	YYDEBUG(1372, *YYCURSOR);
21130 	yych = *++YYCURSOR;
21131 	if (yych <= 'H') {
21132 		if (yych <= ')') {
21133 			if (yych <= '(') goto yy3;
21134 			goto yy139;
21135 		} else {
21136 			if (yych <= '@') goto yy3;
21137 			if (yych <= 'G') goto yy143;
21138 			goto yy1178;
21139 		}
21140 	} else {
21141 		if (yych <= 'g') {
21142 			if (yych <= 'Z') goto yy143;
21143 			if (yych <= '`') goto yy3;
21144 			goto yy143;
21145 		} else {
21146 			if (yych <= 'h') goto yy1178;
21147 			if (yych <= 'z') goto yy143;
21148 			goto yy3;
21149 		}
21150 	}
21151 yy1373:
21152 	YYDEBUG(1373, *YYCURSOR);
21153 	yyaccept = 0;
21154 	yych = *(YYMARKER = ++YYCURSOR);
21155 	if (yych <= 'M') {
21156 		if (yych <= '-') {
21157 			if (yych == ')') goto yy139;
21158 			if (yych <= ',') goto yy3;
21159 			goto yy147;
21160 		} else {
21161 			if (yych == '/') goto yy147;
21162 			if (yych <= '@') goto yy3;
21163 			goto yy141;
21164 		}
21165 	} else {
21166 		if (yych <= '_') {
21167 			if (yych <= 'N') goto yy1371;
21168 			if (yych <= 'Z') goto yy141;
21169 			if (yych <= '^') goto yy3;
21170 			goto yy147;
21171 		} else {
21172 			if (yych <= 'm') {
21173 				if (yych <= '`') goto yy3;
21174 				goto yy146;
21175 			} else {
21176 				if (yych <= 'n') goto yy1403;
21177 				if (yych <= 'z') goto yy146;
21178 				goto yy3;
21179 			}
21180 		}
21181 	}
21182 yy1374:
21183 	YYDEBUG(1374, *YYCURSOR);
21184 	yyaccept = 0;
21185 	yych = *(YYMARKER = ++YYCURSOR);
21186 	if (yych <= 'T') {
21187 		if (yych <= '.') {
21188 			if (yych <= ')') {
21189 				if (yych <= '(') goto yy3;
21190 				goto yy139;
21191 			} else {
21192 				if (yych == '-') goto yy147;
21193 				goto yy3;
21194 			}
21195 		} else {
21196 			if (yych <= '@') {
21197 				if (yych <= '/') goto yy147;
21198 				goto yy3;
21199 			} else {
21200 				if (yych == 'I') goto yy1363;
21201 				goto yy141;
21202 			}
21203 		}
21204 	} else {
21205 		if (yych <= '`') {
21206 			if (yych <= 'Z') {
21207 				if (yych <= 'U') goto yy1364;
21208 				goto yy141;
21209 			} else {
21210 				if (yych == '_') goto yy147;
21211 				goto yy3;
21212 			}
21213 		} else {
21214 			if (yych <= 't') {
21215 				if (yych == 'i') goto yy1395;
21216 				goto yy146;
21217 			} else {
21218 				if (yych <= 'u') goto yy1396;
21219 				if (yych <= 'z') goto yy146;
21220 				goto yy3;
21221 			}
21222 		}
21223 	}
21224 yy1375:
21225 	YYDEBUG(1375, *YYCURSOR);
21226 	yyaccept = 0;
21227 	yych = *(YYMARKER = ++YYCURSOR);
21228 	if (yych <= 'L') {
21229 		if (yych <= '.') {
21230 			if (yych <= ')') {
21231 				if (yych <= '(') goto yy3;
21232 				goto yy139;
21233 			} else {
21234 				if (yych == '-') goto yy147;
21235 				goto yy3;
21236 			}
21237 		} else {
21238 			if (yych <= '@') {
21239 				if (yych <= '/') goto yy147;
21240 				goto yy3;
21241 			} else {
21242 				if (yych == 'D') goto yy1352;
21243 				goto yy141;
21244 			}
21245 		}
21246 	} else {
21247 		if (yych <= '`') {
21248 			if (yych <= 'Z') {
21249 				if (yych <= 'M') goto yy1353;
21250 				goto yy141;
21251 			} else {
21252 				if (yych == '_') goto yy147;
21253 				goto yy3;
21254 			}
21255 		} else {
21256 			if (yych <= 'l') {
21257 				if (yych == 'd') goto yy1386;
21258 				goto yy146;
21259 			} else {
21260 				if (yych <= 'm') goto yy1387;
21261 				if (yych <= 'z') goto yy146;
21262 				goto yy3;
21263 			}
21264 		}
21265 	}
21266 yy1376:
21267 	YYDEBUG(1376, *YYCURSOR);
21268 	yyaccept = 0;
21269 	yych = *(YYMARKER = ++YYCURSOR);
21270 	if (yych <= 'D') {
21271 		if (yych <= '-') {
21272 			if (yych == ')') goto yy139;
21273 			if (yych <= ',') goto yy3;
21274 			goto yy147;
21275 		} else {
21276 			if (yych == '/') goto yy147;
21277 			if (yych <= '@') goto yy3;
21278 			goto yy141;
21279 		}
21280 	} else {
21281 		if (yych <= '_') {
21282 			if (yych <= 'E') goto yy1348;
21283 			if (yych <= 'Z') goto yy141;
21284 			if (yych <= '^') goto yy3;
21285 			goto yy147;
21286 		} else {
21287 			if (yych <= 'd') {
21288 				if (yych <= '`') goto yy3;
21289 				goto yy146;
21290 			} else {
21291 				if (yych <= 'e') goto yy1382;
21292 				if (yych <= 'z') goto yy146;
21293 				goto yy3;
21294 			}
21295 		}
21296 	}
21297 yy1377:
21298 	YYDEBUG(1377, *YYCURSOR);
21299 	yyaccept = 0;
21300 	yych = *(YYMARKER = ++YYCURSOR);
21301 	if (yych <= 'D') {
21302 		if (yych <= '-') {
21303 			if (yych == ')') goto yy139;
21304 			if (yych <= ',') goto yy3;
21305 			goto yy147;
21306 		} else {
21307 			if (yych == '/') goto yy147;
21308 			if (yych <= '@') goto yy3;
21309 			goto yy141;
21310 		}
21311 	} else {
21312 		if (yych <= '_') {
21313 			if (yych <= 'E') goto yy1344;
21314 			if (yych <= 'Z') goto yy141;
21315 			if (yych <= '^') goto yy3;
21316 			goto yy147;
21317 		} else {
21318 			if (yych <= 'd') {
21319 				if (yych <= '`') goto yy3;
21320 				goto yy146;
21321 			} else {
21322 				if (yych <= 'e') goto yy1378;
21323 				if (yych <= 'z') goto yy146;
21324 				goto yy3;
21325 			}
21326 		}
21327 	}
21328 yy1378:
21329 	YYDEBUG(1378, *YYCURSOR);
21330 	yyaccept = 0;
21331 	yych = *(YYMARKER = ++YYCURSOR);
21332 	if (yych <= 'K') {
21333 		if (yych <= '-') {
21334 			if (yych == ')') goto yy139;
21335 			if (yych <= ',') goto yy3;
21336 			goto yy147;
21337 		} else {
21338 			if (yych == '/') goto yy147;
21339 			if (yych <= '@') goto yy3;
21340 			goto yy142;
21341 		}
21342 	} else {
21343 		if (yych <= '_') {
21344 			if (yych <= 'L') goto yy1345;
21345 			if (yych <= 'Z') goto yy142;
21346 			if (yych <= '^') goto yy3;
21347 			goto yy147;
21348 		} else {
21349 			if (yych <= 'k') {
21350 				if (yych <= '`') goto yy3;
21351 				goto yy150;
21352 			} else {
21353 				if (yych <= 'l') goto yy1379;
21354 				if (yych <= 'z') goto yy150;
21355 				goto yy3;
21356 			}
21357 		}
21358 	}
21359 yy1379:
21360 	YYDEBUG(1379, *YYCURSOR);
21361 	yyaccept = 0;
21362 	yych = *(YYMARKER = ++YYCURSOR);
21363 	if (yych <= 'E') {
21364 		if (yych <= '-') {
21365 			if (yych == ')') goto yy139;
21366 			if (yych <= ',') goto yy3;
21367 			goto yy147;
21368 		} else {
21369 			if (yych == '/') goto yy147;
21370 			if (yych <= '@') goto yy3;
21371 			goto yy143;
21372 		}
21373 	} else {
21374 		if (yych <= '_') {
21375 			if (yych <= 'F') goto yy1346;
21376 			if (yych <= 'Z') goto yy143;
21377 			if (yych <= '^') goto yy3;
21378 			goto yy147;
21379 		} else {
21380 			if (yych <= 'e') {
21381 				if (yych <= '`') goto yy3;
21382 				goto yy151;
21383 			} else {
21384 				if (yych <= 'f') goto yy1380;
21385 				if (yych <= 'z') goto yy151;
21386 				goto yy3;
21387 			}
21388 		}
21389 	}
21390 yy1380:
21391 	YYDEBUG(1380, *YYCURSOR);
21392 	yyaccept = 0;
21393 	yych = *(YYMARKER = ++YYCURSOR);
21394 	if (yych <= 'S') {
21395 		if (yych <= '-') {
21396 			if (yych == ')') goto yy139;
21397 			if (yych <= ',') goto yy3;
21398 			goto yy147;
21399 		} else {
21400 			if (yych == '/') goto yy147;
21401 			if (yych <= '@') goto yy3;
21402 			goto yy144;
21403 		}
21404 	} else {
21405 		if (yych <= '_') {
21406 			if (yych <= 'T') goto yy1347;
21407 			if (yych <= 'Z') goto yy144;
21408 			if (yych <= '^') goto yy3;
21409 			goto yy147;
21410 		} else {
21411 			if (yych <= 's') {
21412 				if (yych <= '`') goto yy3;
21413 				goto yy152;
21414 			} else {
21415 				if (yych <= 't') goto yy1381;
21416 				if (yych <= 'z') goto yy152;
21417 				goto yy3;
21418 			}
21419 		}
21420 	}
21421 yy1381:
21422 	YYDEBUG(1381, *YYCURSOR);
21423 	yyaccept = 0;
21424 	yych = *(YYMARKER = ++YYCURSOR);
21425 	if (yych <= 'G') {
21426 		if (yych <= ',') {
21427 			if (yych == ')') goto yy139;
21428 			goto yy3;
21429 		} else {
21430 			if (yych == '.') goto yy3;
21431 			if (yych <= '/') goto yy147;
21432 			goto yy3;
21433 		}
21434 	} else {
21435 		if (yych <= '`') {
21436 			if (yych <= 'H') goto yy1145;
21437 			if (yych == '_') goto yy147;
21438 			goto yy3;
21439 		} else {
21440 			if (yych == 'h') goto yy1163;
21441 			if (yych <= 'z') goto yy153;
21442 			goto yy3;
21443 		}
21444 	}
21445 yy1382:
21446 	YYDEBUG(1382, *YYCURSOR);
21447 	yyaccept = 4;
21448 	yych = *(YYMARKER = ++YYCURSOR);
21449 	if (yych <= 'R') {
21450 		if (yych <= '-') {
21451 			if (yych == ')') goto yy139;
21452 			if (yych <= ',') goto yy166;
21453 			goto yy147;
21454 		} else {
21455 			if (yych == '/') goto yy147;
21456 			if (yych <= '@') goto yy166;
21457 			goto yy142;
21458 		}
21459 	} else {
21460 		if (yych <= '_') {
21461 			if (yych <= 'S') goto yy1349;
21462 			if (yych <= 'Z') goto yy142;
21463 			if (yych <= '^') goto yy166;
21464 			goto yy147;
21465 		} else {
21466 			if (yych <= 'r') {
21467 				if (yych <= '`') goto yy166;
21468 				goto yy150;
21469 			} else {
21470 				if (yych <= 's') goto yy1383;
21471 				if (yych <= 'z') goto yy150;
21472 				goto yy166;
21473 			}
21474 		}
21475 	}
21476 yy1383:
21477 	YYDEBUG(1383, *YYCURSOR);
21478 	yyaccept = 0;
21479 	yych = *(YYMARKER = ++YYCURSOR);
21480 	if (yych <= 'C') {
21481 		if (yych <= '-') {
21482 			if (yych == ')') goto yy139;
21483 			if (yych <= ',') goto yy3;
21484 			goto yy147;
21485 		} else {
21486 			if (yych == '/') goto yy147;
21487 			if (yych <= '@') goto yy3;
21488 			goto yy143;
21489 		}
21490 	} else {
21491 		if (yych <= '_') {
21492 			if (yych <= 'D') goto yy1350;
21493 			if (yych <= 'Z') goto yy143;
21494 			if (yych <= '^') goto yy3;
21495 			goto yy147;
21496 		} else {
21497 			if (yych <= 'c') {
21498 				if (yych <= '`') goto yy3;
21499 				goto yy151;
21500 			} else {
21501 				if (yych <= 'd') goto yy1384;
21502 				if (yych <= 'z') goto yy151;
21503 				goto yy3;
21504 			}
21505 		}
21506 	}
21507 yy1384:
21508 	YYDEBUG(1384, *YYCURSOR);
21509 	yyaccept = 0;
21510 	yych = *(YYMARKER = ++YYCURSOR);
21511 	if (yych <= '@') {
21512 		if (yych <= ',') {
21513 			if (yych == ')') goto yy139;
21514 			goto yy3;
21515 		} else {
21516 			if (yych == '.') goto yy3;
21517 			if (yych <= '/') goto yy147;
21518 			goto yy3;
21519 		}
21520 	} else {
21521 		if (yych <= '_') {
21522 			if (yych <= 'A') goto yy1351;
21523 			if (yych <= 'Z') goto yy144;
21524 			if (yych <= '^') goto yy3;
21525 			goto yy147;
21526 		} else {
21527 			if (yych <= '`') goto yy3;
21528 			if (yych <= 'a') goto yy1385;
21529 			if (yych <= 'z') goto yy152;
21530 			goto yy3;
21531 		}
21532 	}
21533 yy1385:
21534 	YYDEBUG(1385, *YYCURSOR);
21535 	yyaccept = 0;
21536 	yych = *(YYMARKER = ++YYCURSOR);
21537 	if (yych <= 'X') {
21538 		if (yych <= ',') {
21539 			if (yych == ')') goto yy139;
21540 			goto yy3;
21541 		} else {
21542 			if (yych == '.') goto yy3;
21543 			if (yych <= '/') goto yy147;
21544 			goto yy3;
21545 		}
21546 	} else {
21547 		if (yych <= '`') {
21548 			if (yych <= 'Y') goto yy172;
21549 			if (yych == '_') goto yy147;
21550 			goto yy3;
21551 		} else {
21552 			if (yych == 'y') goto yy185;
21553 			if (yych <= 'z') goto yy153;
21554 			goto yy3;
21555 		}
21556 	}
21557 yy1386:
21558 	YYDEBUG(1386, *YYCURSOR);
21559 	yyaccept = 0;
21560 	yych = *(YYMARKER = ++YYCURSOR);
21561 	if (yych <= '@') {
21562 		if (yych <= ',') {
21563 			if (yych == ')') goto yy139;
21564 			goto yy3;
21565 		} else {
21566 			if (yych == '.') goto yy3;
21567 			if (yych <= '/') goto yy147;
21568 			goto yy3;
21569 		}
21570 	} else {
21571 		if (yych <= '_') {
21572 			if (yych <= 'A') goto yy1360;
21573 			if (yych <= 'Z') goto yy142;
21574 			if (yych <= '^') goto yy3;
21575 			goto yy147;
21576 		} else {
21577 			if (yych <= '`') goto yy3;
21578 			if (yych <= 'a') goto yy1393;
21579 			if (yych <= 'z') goto yy150;
21580 			goto yy3;
21581 		}
21582 	}
21583 yy1387:
21584 	YYDEBUG(1387, *YYCURSOR);
21585 	yyaccept = 0;
21586 	yych = *(YYMARKER = ++YYCURSOR);
21587 	if (yych <= 'N') {
21588 		if (yych <= '-') {
21589 			if (yych == ')') goto yy139;
21590 			if (yych <= ',') goto yy3;
21591 			goto yy147;
21592 		} else {
21593 			if (yych == '/') goto yy147;
21594 			if (yych <= '@') goto yy3;
21595 			goto yy142;
21596 		}
21597 	} else {
21598 		if (yych <= '_') {
21599 			if (yych <= 'O') goto yy1354;
21600 			if (yych <= 'Z') goto yy142;
21601 			if (yych <= '^') goto yy3;
21602 			goto yy147;
21603 		} else {
21604 			if (yych <= 'n') {
21605 				if (yych <= '`') goto yy3;
21606 				goto yy150;
21607 			} else {
21608 				if (yych <= 'o') goto yy1388;
21609 				if (yych <= 'z') goto yy150;
21610 				goto yy3;
21611 			}
21612 		}
21613 	}
21614 yy1388:
21615 	YYDEBUG(1388, *YYCURSOR);
21616 	yyaccept = 0;
21617 	yych = *(YYMARKER = ++YYCURSOR);
21618 	if (yych <= 'Q') {
21619 		if (yych <= '-') {
21620 			if (yych == ')') goto yy139;
21621 			if (yych <= ',') goto yy3;
21622 			goto yy147;
21623 		} else {
21624 			if (yych == '/') goto yy147;
21625 			if (yych <= '@') goto yy3;
21626 			goto yy143;
21627 		}
21628 	} else {
21629 		if (yych <= '_') {
21630 			if (yych <= 'R') goto yy1355;
21631 			if (yych <= 'Z') goto yy143;
21632 			if (yych <= '^') goto yy3;
21633 			goto yy147;
21634 		} else {
21635 			if (yych <= 'q') {
21636 				if (yych <= '`') goto yy3;
21637 				goto yy151;
21638 			} else {
21639 				if (yych <= 'r') goto yy1389;
21640 				if (yych <= 'z') goto yy151;
21641 				goto yy3;
21642 			}
21643 		}
21644 	}
21645 yy1389:
21646 	YYDEBUG(1389, *YYCURSOR);
21647 	yyaccept = 0;
21648 	yych = *(YYMARKER = ++YYCURSOR);
21649 	if (yych <= 'Q') {
21650 		if (yych <= '-') {
21651 			if (yych == ')') goto yy139;
21652 			if (yych <= ',') goto yy3;
21653 			goto yy147;
21654 		} else {
21655 			if (yych == '/') goto yy147;
21656 			if (yych <= '@') goto yy3;
21657 			goto yy144;
21658 		}
21659 	} else {
21660 		if (yych <= '_') {
21661 			if (yych <= 'R') goto yy1356;
21662 			if (yych <= 'Z') goto yy144;
21663 			if (yych <= '^') goto yy3;
21664 			goto yy147;
21665 		} else {
21666 			if (yych <= 'q') {
21667 				if (yych <= '`') goto yy3;
21668 				goto yy152;
21669 			} else {
21670 				if (yych <= 'r') goto yy1390;
21671 				if (yych <= 'z') goto yy152;
21672 				goto yy3;
21673 			}
21674 		}
21675 	}
21676 yy1390:
21677 	YYDEBUG(1390, *YYCURSOR);
21678 	yyaccept = 0;
21679 	yych = *(YYMARKER = ++YYCURSOR);
21680 	if (yych <= 'N') {
21681 		if (yych <= ',') {
21682 			if (yych == ')') goto yy139;
21683 			goto yy3;
21684 		} else {
21685 			if (yych == '.') goto yy3;
21686 			if (yych <= '/') goto yy147;
21687 			goto yy3;
21688 		}
21689 	} else {
21690 		if (yych <= '`') {
21691 			if (yych <= 'O') goto yy1357;
21692 			if (yych == '_') goto yy147;
21693 			goto yy3;
21694 		} else {
21695 			if (yych == 'o') goto yy1391;
21696 			if (yych <= 'z') goto yy153;
21697 			goto yy3;
21698 		}
21699 	}
21700 yy1391:
21701 	YYDEBUG(1391, *YYCURSOR);
21702 	yych = *++YYCURSOR;
21703 	if (yych == 'W') goto yy1358;
21704 	if (yych != 'w') goto yy154;
21705 	YYDEBUG(1392, *YYCURSOR);
21706 	yyaccept = 28;
21707 	yych = *(YYMARKER = ++YYCURSOR);
21708 	if (yybm[0+yych] & 16) {
21709 		goto yy153;
21710 	}
21711 	if (yych <= '.') {
21712 		if (yych == '-') goto yy147;
21713 		goto yy1359;
21714 	} else {
21715 		if (yych <= '/') goto yy147;
21716 		if (yych == '_') goto yy147;
21717 		goto yy1359;
21718 	}
21719 yy1393:
21720 	YYDEBUG(1393, *YYCURSOR);
21721 	yyaccept = 0;
21722 	yych = *(YYMARKER = ++YYCURSOR);
21723 	if (yych <= 'X') {
21724 		if (yych <= '-') {
21725 			if (yych == ')') goto yy139;
21726 			if (yych <= ',') goto yy3;
21727 			goto yy147;
21728 		} else {
21729 			if (yych == '/') goto yy147;
21730 			if (yych <= '@') goto yy3;
21731 			goto yy143;
21732 		}
21733 	} else {
21734 		if (yych <= '_') {
21735 			if (yych <= 'Y') goto yy1361;
21736 			if (yych <= 'Z') goto yy143;
21737 			if (yych <= '^') goto yy3;
21738 			goto yy147;
21739 		} else {
21740 			if (yych <= 'x') {
21741 				if (yych <= '`') goto yy3;
21742 				goto yy151;
21743 			} else {
21744 				if (yych <= 'y') goto yy1394;
21745 				if (yych <= 'z') goto yy151;
21746 				goto yy3;
21747 			}
21748 		}
21749 	}
21750 yy1394:
21751 	YYDEBUG(1394, *YYCURSOR);
21752 	yyaccept = 29;
21753 	yych = *(YYMARKER = ++YYCURSOR);
21754 	if (yych <= '/') {
21755 		if (yych <= ',') {
21756 			if (yych == ')') goto yy139;
21757 			goto yy1362;
21758 		} else {
21759 			if (yych == '.') goto yy1362;
21760 			goto yy147;
21761 		}
21762 	} else {
21763 		if (yych <= '^') {
21764 			if (yych <= '@') goto yy1362;
21765 			if (yych <= 'Z') goto yy144;
21766 			goto yy1362;
21767 		} else {
21768 			if (yych <= '_') goto yy147;
21769 			if (yych <= '`') goto yy1362;
21770 			if (yych <= 'z') goto yy152;
21771 			goto yy1362;
21772 		}
21773 	}
21774 yy1395:
21775 	YYDEBUG(1395, *YYCURSOR);
21776 	yyaccept = 0;
21777 	yych = *(YYMARKER = ++YYCURSOR);
21778 	if (yych <= 'R') {
21779 		if (yych <= '-') {
21780 			if (yych == ')') goto yy139;
21781 			if (yych <= ',') goto yy3;
21782 			goto yy147;
21783 		} else {
21784 			if (yych <= '/') {
21785 				if (yych <= '.') goto yy3;
21786 				goto yy147;
21787 			} else {
21788 				if (yych <= '@') goto yy3;
21789 				if (yych <= 'Q') goto yy142;
21790 				goto yy1369;
21791 			}
21792 		}
21793 	} else {
21794 		if (yych <= '`') {
21795 			if (yych <= 'Z') {
21796 				if (yych <= 'S') goto yy1370;
21797 				goto yy142;
21798 			} else {
21799 				if (yych == '_') goto yy147;
21800 				goto yy3;
21801 			}
21802 		} else {
21803 			if (yych <= 'r') {
21804 				if (yych <= 'q') goto yy150;
21805 				goto yy1401;
21806 			} else {
21807 				if (yych <= 's') goto yy1402;
21808 				if (yych <= 'z') goto yy150;
21809 				goto yy3;
21810 			}
21811 		}
21812 	}
21813 yy1396:
21814 	YYDEBUG(1396, *YYCURSOR);
21815 	yyaccept = 4;
21816 	yych = *(YYMARKER = ++YYCURSOR);
21817 	if (yych <= 'Q') {
21818 		if (yych <= '-') {
21819 			if (yych == ')') goto yy139;
21820 			if (yych <= ',') goto yy166;
21821 			goto yy147;
21822 		} else {
21823 			if (yych == '/') goto yy147;
21824 			if (yych <= '@') goto yy166;
21825 			goto yy142;
21826 		}
21827 	} else {
21828 		if (yych <= '_') {
21829 			if (yych <= 'R') goto yy1365;
21830 			if (yych <= 'Z') goto yy142;
21831 			if (yych <= '^') goto yy166;
21832 			goto yy147;
21833 		} else {
21834 			if (yych <= 'q') {
21835 				if (yych <= '`') goto yy166;
21836 				goto yy150;
21837 			} else {
21838 				if (yych <= 'r') goto yy1397;
21839 				if (yych <= 'z') goto yy150;
21840 				goto yy166;
21841 			}
21842 		}
21843 	}
21844 yy1397:
21845 	YYDEBUG(1397, *YYCURSOR);
21846 	yyaccept = 0;
21847 	yych = *(YYMARKER = ++YYCURSOR);
21848 	if (yych <= 'R') {
21849 		if (yych <= '-') {
21850 			if (yych == ')') goto yy139;
21851 			if (yych <= ',') goto yy3;
21852 			goto yy147;
21853 		} else {
21854 			if (yych == '/') goto yy147;
21855 			if (yych <= '@') goto yy3;
21856 			goto yy143;
21857 		}
21858 	} else {
21859 		if (yych <= '_') {
21860 			if (yych <= 'S') goto yy1366;
21861 			if (yych <= 'Z') goto yy143;
21862 			if (yych <= '^') goto yy3;
21863 			goto yy147;
21864 		} else {
21865 			if (yych <= 'r') {
21866 				if (yych <= '`') goto yy3;
21867 				goto yy151;
21868 			} else {
21869 				if (yych <= 's') goto yy1398;
21870 				if (yych <= 'z') goto yy151;
21871 				goto yy3;
21872 			}
21873 		}
21874 	}
21875 yy1398:
21876 	YYDEBUG(1398, *YYCURSOR);
21877 	yyaccept = 0;
21878 	yych = *(YYMARKER = ++YYCURSOR);
21879 	if (yych <= 'C') {
21880 		if (yych <= '-') {
21881 			if (yych == ')') goto yy139;
21882 			if (yych <= ',') goto yy3;
21883 			goto yy147;
21884 		} else {
21885 			if (yych == '/') goto yy147;
21886 			if (yych <= '@') goto yy3;
21887 			goto yy144;
21888 		}
21889 	} else {
21890 		if (yych <= '_') {
21891 			if (yych <= 'D') goto yy1367;
21892 			if (yych <= 'Z') goto yy144;
21893 			if (yych <= '^') goto yy3;
21894 			goto yy147;
21895 		} else {
21896 			if (yych <= 'c') {
21897 				if (yych <= '`') goto yy3;
21898 				goto yy152;
21899 			} else {
21900 				if (yych <= 'd') goto yy1399;
21901 				if (yych <= 'z') goto yy152;
21902 				goto yy3;
21903 			}
21904 		}
21905 	}
21906 yy1399:
21907 	YYDEBUG(1399, *YYCURSOR);
21908 	yyaccept = 0;
21909 	yych = *(YYMARKER = ++YYCURSOR);
21910 	if (yych <= '@') {
21911 		if (yych <= ',') {
21912 			if (yych == ')') goto yy139;
21913 			goto yy3;
21914 		} else {
21915 			if (yych == '.') goto yy3;
21916 			if (yych <= '/') goto yy147;
21917 			goto yy3;
21918 		}
21919 	} else {
21920 		if (yych <= '_') {
21921 			if (yych <= 'A') goto yy1368;
21922 			if (yych <= '^') goto yy3;
21923 			goto yy147;
21924 		} else {
21925 			if (yych <= '`') goto yy3;
21926 			if (yych <= 'a') goto yy1400;
21927 			if (yych <= 'z') goto yy153;
21928 			goto yy3;
21929 		}
21930 	}
21931 yy1400:
21932 	YYDEBUG(1400, *YYCURSOR);
21933 	yych = *++YYCURSOR;
21934 	if (yych == 'Y') goto yy172;
21935 	if (yych == 'y') goto yy185;
21936 	goto yy154;
21937 yy1401:
21938 	YYDEBUG(1401, *YYCURSOR);
21939 	yyaccept = 0;
21940 	yych = *(YYMARKER = ++YYCURSOR);
21941 	if (yych <= 'C') {
21942 		if (yych <= '-') {
21943 			if (yych == ')') goto yy139;
21944 			if (yych <= ',') goto yy3;
21945 			goto yy147;
21946 		} else {
21947 			if (yych == '/') goto yy147;
21948 			if (yych <= '@') goto yy3;
21949 			goto yy143;
21950 		}
21951 	} else {
21952 		if (yych <= '_') {
21953 			if (yych <= 'D') goto yy1178;
21954 			if (yych <= 'Z') goto yy143;
21955 			if (yych <= '^') goto yy3;
21956 			goto yy147;
21957 		} else {
21958 			if (yych <= 'c') {
21959 				if (yych <= '`') goto yy3;
21960 				goto yy151;
21961 			} else {
21962 				if (yych <= 'd') goto yy1207;
21963 				if (yych <= 'z') goto yy151;
21964 				goto yy3;
21965 			}
21966 		}
21967 	}
21968 yy1402:
21969 	YYDEBUG(1402, *YYCURSOR);
21970 	yyaccept = 0;
21971 	yych = *(YYMARKER = ++YYCURSOR);
21972 	if (yych <= '-') {
21973 		if (yych <= ' ') {
21974 			if (yych == '\t') goto yy1044;
21975 			if (yych <= 0x1F) goto yy3;
21976 			goto yy1044;
21977 		} else {
21978 			if (yych == ')') goto yy139;
21979 			if (yych <= ',') goto yy3;
21980 			goto yy147;
21981 		}
21982 	} else {
21983 		if (yych <= 'Z') {
21984 			if (yych == '/') goto yy147;
21985 			if (yych <= '@') goto yy3;
21986 			goto yy143;
21987 		} else {
21988 			if (yych <= '_') {
21989 				if (yych <= '^') goto yy3;
21990 				goto yy147;
21991 			} else {
21992 				if (yych <= '`') goto yy3;
21993 				if (yych <= 'z') goto yy151;
21994 				goto yy3;
21995 			}
21996 		}
21997 	}
21998 yy1403:
21999 	YYDEBUG(1403, *YYCURSOR);
22000 	yyaccept = 0;
22001 	yych = *(YYMARKER = ++YYCURSOR);
22002 	if (yych <= 'S') {
22003 		if (yych <= '-') {
22004 			if (yych == ')') goto yy139;
22005 			if (yych <= ',') goto yy3;
22006 			goto yy147;
22007 		} else {
22008 			if (yych == '/') goto yy147;
22009 			if (yych <= '@') goto yy3;
22010 			goto yy142;
22011 		}
22012 	} else {
22013 		if (yych <= '_') {
22014 			if (yych <= 'T') goto yy1372;
22015 			if (yych <= 'Z') goto yy142;
22016 			if (yych <= '^') goto yy3;
22017 			goto yy147;
22018 		} else {
22019 			if (yych <= 's') {
22020 				if (yych <= '`') goto yy3;
22021 				goto yy150;
22022 			} else {
22023 				if (yych <= 't') goto yy1404;
22024 				if (yych <= 'z') goto yy150;
22025 				goto yy3;
22026 			}
22027 		}
22028 	}
22029 yy1404:
22030 	YYDEBUG(1404, *YYCURSOR);
22031 	yyaccept = 0;
22032 	yych = *(YYMARKER = ++YYCURSOR);
22033 	if (yych <= 'G') {
22034 		if (yych <= '-') {
22035 			if (yych == ')') goto yy139;
22036 			if (yych <= ',') goto yy3;
22037 			goto yy147;
22038 		} else {
22039 			if (yych == '/') goto yy147;
22040 			if (yych <= '@') goto yy3;
22041 			goto yy143;
22042 		}
22043 	} else {
22044 		if (yych <= '_') {
22045 			if (yych <= 'H') goto yy1178;
22046 			if (yych <= 'Z') goto yy143;
22047 			if (yych <= '^') goto yy3;
22048 			goto yy147;
22049 		} else {
22050 			if (yych <= 'g') {
22051 				if (yych <= '`') goto yy3;
22052 				goto yy151;
22053 			} else {
22054 				if (yych <= 'h') goto yy1207;
22055 				if (yych <= 'z') goto yy151;
22056 				goto yy3;
22057 			}
22058 		}
22059 	}
22060 yy1405:
22061 	YYDEBUG(1405, *YYCURSOR);
22062 	yych = *++YYCURSOR;
22063 	if (yych <= 'Y') {
22064 		if (yych <= '@') {
22065 			if (yych == ')') goto yy139;
22066 			goto yy3;
22067 		} else {
22068 			if (yych == 'R') goto yy1417;
22069 			if (yych <= 'X') goto yy141;
22070 			goto yy1418;
22071 		}
22072 	} else {
22073 		if (yych <= 'r') {
22074 			if (yych <= 'Z') goto yy141;
22075 			if (yych <= '`') goto yy3;
22076 			if (yych <= 'q') goto yy141;
22077 			goto yy1417;
22078 		} else {
22079 			if (yych == 'y') goto yy1418;
22080 			if (yych <= 'z') goto yy141;
22081 			goto yy3;
22082 		}
22083 	}
22084 yy1406:
22085 	YYDEBUG(1406, *YYCURSOR);
22086 	yych = *++YYCURSOR;
22087 	if (yych <= 'D') {
22088 		if (yych <= ')') {
22089 			if (yych <= '(') goto yy3;
22090 			goto yy139;
22091 		} else {
22092 			if (yych <= '@') goto yy3;
22093 			if (yych <= 'C') goto yy141;
22094 			goto yy1411;
22095 		}
22096 	} else {
22097 		if (yych <= 'c') {
22098 			if (yych <= 'Z') goto yy141;
22099 			if (yych <= '`') goto yy3;
22100 			goto yy141;
22101 		} else {
22102 			if (yych <= 'd') goto yy1411;
22103 			if (yych <= 'z') goto yy141;
22104 			goto yy3;
22105 		}
22106 	}
22107 yy1407:
22108 	YYDEBUG(1407, *YYCURSOR);
22109 	yych = *++YYCURSOR;
22110 	if (yych <= 'N') {
22111 		if (yych <= ')') {
22112 			if (yych <= '(') goto yy3;
22113 			goto yy139;
22114 		} else {
22115 			if (yych <= '@') goto yy3;
22116 			if (yych <= 'M') goto yy141;
22117 		}
22118 	} else {
22119 		if (yych <= 'm') {
22120 			if (yych <= 'Z') goto yy141;
22121 			if (yych <= '`') goto yy3;
22122 			goto yy141;
22123 		} else {
22124 			if (yych <= 'n') goto yy1408;
22125 			if (yych <= 'z') goto yy141;
22126 			goto yy3;
22127 		}
22128 	}
22129 yy1408:
22130 	YYDEBUG(1408, *YYCURSOR);
22131 	yych = *++YYCURSOR;
22132 	if (yych <= 'D') {
22133 		if (yych <= ')') {
22134 			if (yych <= '(') goto yy166;
22135 			goto yy139;
22136 		} else {
22137 			if (yych <= '@') goto yy166;
22138 			if (yych <= 'C') goto yy142;
22139 		}
22140 	} else {
22141 		if (yych <= 'c') {
22142 			if (yych <= 'Z') goto yy142;
22143 			if (yych <= '`') goto yy166;
22144 			goto yy142;
22145 		} else {
22146 			if (yych <= 'd') goto yy1409;
22147 			if (yych <= 'z') goto yy142;
22148 			goto yy166;
22149 		}
22150 	}
22151 yy1409:
22152 	YYDEBUG(1409, *YYCURSOR);
22153 	yych = *++YYCURSOR;
22154 	if (yych <= 'A') {
22155 		if (yych == ')') goto yy139;
22156 		if (yych <= '@') goto yy3;
22157 	} else {
22158 		if (yych <= '`') {
22159 			if (yych <= 'Z') goto yy143;
22160 			goto yy3;
22161 		} else {
22162 			if (yych <= 'a') goto yy1410;
22163 			if (yych <= 'z') goto yy143;
22164 			goto yy3;
22165 		}
22166 	}
22167 yy1410:
22168 	YYDEBUG(1410, *YYCURSOR);
22169 	yych = *++YYCURSOR;
22170 	if (yych <= 'Y') {
22171 		if (yych <= ')') {
22172 			if (yych <= '(') goto yy3;
22173 			goto yy139;
22174 		} else {
22175 			if (yych <= '@') goto yy3;
22176 			if (yych <= 'X') goto yy144;
22177 			goto yy1175;
22178 		}
22179 	} else {
22180 		if (yych <= 'x') {
22181 			if (yych <= 'Z') goto yy144;
22182 			if (yych <= '`') goto yy3;
22183 			goto yy144;
22184 		} else {
22185 			if (yych <= 'y') goto yy1175;
22186 			if (yych <= 'z') goto yy144;
22187 			goto yy3;
22188 		}
22189 	}
22190 yy1411:
22191 	YYDEBUG(1411, *YYCURSOR);
22192 	yych = *++YYCURSOR;
22193 	if (yych <= 'N') {
22194 		if (yych <= ')') {
22195 			if (yych <= '(') goto yy3;
22196 			goto yy139;
22197 		} else {
22198 			if (yych <= '@') goto yy3;
22199 			if (yych <= 'M') goto yy142;
22200 		}
22201 	} else {
22202 		if (yych <= 'm') {
22203 			if (yych <= 'Z') goto yy142;
22204 			if (yych <= '`') goto yy3;
22205 			goto yy142;
22206 		} else {
22207 			if (yych <= 'n') goto yy1412;
22208 			if (yych <= 'z') goto yy142;
22209 			goto yy3;
22210 		}
22211 	}
22212 yy1412:
22213 	YYDEBUG(1412, *YYCURSOR);
22214 	yych = *++YYCURSOR;
22215 	if (yych <= 'I') {
22216 		if (yych <= ')') {
22217 			if (yych <= '(') goto yy3;
22218 			goto yy139;
22219 		} else {
22220 			if (yych <= '@') goto yy3;
22221 			if (yych <= 'H') goto yy143;
22222 		}
22223 	} else {
22224 		if (yych <= 'h') {
22225 			if (yych <= 'Z') goto yy143;
22226 			if (yych <= '`') goto yy3;
22227 			goto yy143;
22228 		} else {
22229 			if (yych <= 'i') goto yy1413;
22230 			if (yych <= 'z') goto yy143;
22231 			goto yy3;
22232 		}
22233 	}
22234 yy1413:
22235 	YYDEBUG(1413, *YYCURSOR);
22236 	yych = *++YYCURSOR;
22237 	if (yych <= 'G') {
22238 		if (yych <= ')') {
22239 			if (yych <= '(') goto yy3;
22240 			goto yy139;
22241 		} else {
22242 			if (yych <= '@') goto yy3;
22243 			if (yych <= 'F') goto yy144;
22244 		}
22245 	} else {
22246 		if (yych <= 'f') {
22247 			if (yych <= 'Z') goto yy144;
22248 			if (yych <= '`') goto yy3;
22249 			goto yy144;
22250 		} else {
22251 			if (yych <= 'g') goto yy1414;
22252 			if (yych <= 'z') goto yy144;
22253 			goto yy3;
22254 		}
22255 	}
22256 yy1414:
22257 	YYDEBUG(1414, *YYCURSOR);
22258 	yyaccept = 0;
22259 	yych = *(YYMARKER = ++YYCURSOR);
22260 	if (yych <= 'G') {
22261 		if (yych == ')') goto yy139;
22262 		goto yy3;
22263 	} else {
22264 		if (yych <= 'H') goto yy1415;
22265 		if (yych != 'h') goto yy3;
22266 	}
22267 yy1415:
22268 	YYDEBUG(1415, *YYCURSOR);
22269 	yych = *++YYCURSOR;
22270 	if (yych == 'T') goto yy1416;
22271 	if (yych != 't') goto yy56;
22272 yy1416:
22273 	YYDEBUG(1416, *YYCURSOR);
22274 	yych = *++YYCURSOR;
22275 	goto yy1362;
22276 yy1417:
22277 	YYDEBUG(1417, *YYCURSOR);
22278 	yyaccept = 5;
22279 	yych = *(YYMARKER = ++YYCURSOR);
22280 	if (yych <= '/') {
22281 		if (yych <= '(') {
22282 			if (yych <= '\t') {
22283 				if (yych <= 0x08) goto yy193;
22284 				goto yy195;
22285 			} else {
22286 				if (yych == ' ') goto yy195;
22287 				goto yy193;
22288 			}
22289 		} else {
22290 			if (yych <= ',') {
22291 				if (yych <= ')') goto yy139;
22292 				goto yy193;
22293 			} else {
22294 				if (yych <= '-') goto yy196;
22295 				if (yych <= '.') goto yy195;
22296 				goto yy193;
22297 			}
22298 		}
22299 	} else {
22300 		if (yych <= 'Z') {
22301 			if (yych <= '@') {
22302 				if (yych <= '9') goto yy195;
22303 				goto yy193;
22304 			} else {
22305 				if (yych == 'C') goto yy1419;
22306 				goto yy142;
22307 			}
22308 		} else {
22309 			if (yych <= 'b') {
22310 				if (yych <= '`') goto yy193;
22311 				goto yy142;
22312 			} else {
22313 				if (yych <= 'c') goto yy1419;
22314 				if (yych <= 'z') goto yy142;
22315 				goto yy193;
22316 			}
22317 		}
22318 	}
22319 yy1418:
22320 	YYDEBUG(1418, *YYCURSOR);
22321 	yyaccept = 5;
22322 	yych = *(YYMARKER = ++YYCURSOR);
22323 	if (yych <= '-') {
22324 		if (yych <= ' ') {
22325 			if (yych == '\t') goto yy195;
22326 			if (yych <= 0x1F) goto yy193;
22327 			goto yy195;
22328 		} else {
22329 			if (yych == ')') goto yy139;
22330 			if (yych <= ',') goto yy193;
22331 			goto yy196;
22332 		}
22333 	} else {
22334 		if (yych <= '@') {
22335 			if (yych == '/') goto yy193;
22336 			if (yych <= '9') goto yy195;
22337 			goto yy193;
22338 		} else {
22339 			if (yych <= 'Z') goto yy142;
22340 			if (yych <= '`') goto yy193;
22341 			if (yych <= 'z') goto yy142;
22342 			goto yy193;
22343 		}
22344 	}
22345 yy1419:
22346 	YYDEBUG(1419, *YYCURSOR);
22347 	yych = *++YYCURSOR;
22348 	if (yych <= 'H') {
22349 		if (yych <= ')') {
22350 			if (yych <= '(') goto yy3;
22351 			goto yy139;
22352 		} else {
22353 			if (yych <= '@') goto yy3;
22354 			if (yych <= 'G') goto yy143;
22355 			goto yy335;
22356 		}
22357 	} else {
22358 		if (yych <= 'g') {
22359 			if (yych <= 'Z') goto yy143;
22360 			if (yych <= '`') goto yy3;
22361 			goto yy143;
22362 		} else {
22363 			if (yych <= 'h') goto yy335;
22364 			if (yych <= 'z') goto yy143;
22365 			goto yy3;
22366 		}
22367 	}
22368 yy1420:
22369 	YYDEBUG(1420, *YYCURSOR);
22370 	yyaccept = 0;
22371 	yych = *(YYMARKER = ++YYCURSOR);
22372 	if (yych <= 'X') {
22373 		if (yych <= '.') {
22374 			if (yych <= ')') {
22375 				if (yych <= '(') goto yy3;
22376 				goto yy139;
22377 			} else {
22378 				if (yych == '-') goto yy147;
22379 				goto yy3;
22380 			}
22381 		} else {
22382 			if (yych <= '@') {
22383 				if (yych <= '/') goto yy147;
22384 				goto yy3;
22385 			} else {
22386 				if (yych == 'R') goto yy1417;
22387 				goto yy141;
22388 			}
22389 		}
22390 	} else {
22391 		if (yych <= '`') {
22392 			if (yych <= 'Z') {
22393 				if (yych <= 'Y') goto yy1418;
22394 				goto yy141;
22395 			} else {
22396 				if (yych == '_') goto yy147;
22397 				goto yy3;
22398 			}
22399 		} else {
22400 			if (yych <= 'x') {
22401 				if (yych == 'r') goto yy1432;
22402 				goto yy146;
22403 			} else {
22404 				if (yych <= 'y') goto yy1433;
22405 				if (yych <= 'z') goto yy146;
22406 				goto yy3;
22407 			}
22408 		}
22409 	}
22410 yy1421:
22411 	YYDEBUG(1421, *YYCURSOR);
22412 	yyaccept = 0;
22413 	yych = *(YYMARKER = ++YYCURSOR);
22414 	if (yych <= 'C') {
22415 		if (yych <= '-') {
22416 			if (yych == ')') goto yy139;
22417 			if (yych <= ',') goto yy3;
22418 			goto yy147;
22419 		} else {
22420 			if (yych == '/') goto yy147;
22421 			if (yych <= '@') goto yy3;
22422 			goto yy141;
22423 		}
22424 	} else {
22425 		if (yych <= '_') {
22426 			if (yych <= 'D') goto yy1411;
22427 			if (yych <= 'Z') goto yy141;
22428 			if (yych <= '^') goto yy3;
22429 			goto yy147;
22430 		} else {
22431 			if (yych <= 'c') {
22432 				if (yych <= '`') goto yy3;
22433 				goto yy146;
22434 			} else {
22435 				if (yych <= 'd') goto yy1426;
22436 				if (yych <= 'z') goto yy146;
22437 				goto yy3;
22438 			}
22439 		}
22440 	}
22441 yy1422:
22442 	YYDEBUG(1422, *YYCURSOR);
22443 	yyaccept = 0;
22444 	yych = *(YYMARKER = ++YYCURSOR);
22445 	if (yych <= 'M') {
22446 		if (yych <= '-') {
22447 			if (yych == ')') goto yy139;
22448 			if (yych <= ',') goto yy3;
22449 			goto yy147;
22450 		} else {
22451 			if (yych == '/') goto yy147;
22452 			if (yych <= '@') goto yy3;
22453 			goto yy141;
22454 		}
22455 	} else {
22456 		if (yych <= '_') {
22457 			if (yych <= 'N') goto yy1408;
22458 			if (yych <= 'Z') goto yy141;
22459 			if (yych <= '^') goto yy3;
22460 			goto yy147;
22461 		} else {
22462 			if (yych <= 'm') {
22463 				if (yych <= '`') goto yy3;
22464 				goto yy146;
22465 			} else {
22466 				if (yych <= 'n') goto yy1423;
22467 				if (yych <= 'z') goto yy146;
22468 				goto yy3;
22469 			}
22470 		}
22471 	}
22472 yy1423:
22473 	YYDEBUG(1423, *YYCURSOR);
22474 	yyaccept = 4;
22475 	yych = *(YYMARKER = ++YYCURSOR);
22476 	if (yych <= 'C') {
22477 		if (yych <= '-') {
22478 			if (yych == ')') goto yy139;
22479 			if (yych <= ',') goto yy166;
22480 			goto yy147;
22481 		} else {
22482 			if (yych == '/') goto yy147;
22483 			if (yych <= '@') goto yy166;
22484 			goto yy142;
22485 		}
22486 	} else {
22487 		if (yych <= '_') {
22488 			if (yych <= 'D') goto yy1409;
22489 			if (yych <= 'Z') goto yy142;
22490 			if (yych <= '^') goto yy166;
22491 			goto yy147;
22492 		} else {
22493 			if (yych <= 'c') {
22494 				if (yych <= '`') goto yy166;
22495 				goto yy150;
22496 			} else {
22497 				if (yych <= 'd') goto yy1424;
22498 				if (yych <= 'z') goto yy150;
22499 				goto yy166;
22500 			}
22501 		}
22502 	}
22503 yy1424:
22504 	YYDEBUG(1424, *YYCURSOR);
22505 	yyaccept = 0;
22506 	yych = *(YYMARKER = ++YYCURSOR);
22507 	if (yych <= '@') {
22508 		if (yych <= ',') {
22509 			if (yych == ')') goto yy139;
22510 			goto yy3;
22511 		} else {
22512 			if (yych == '.') goto yy3;
22513 			if (yych <= '/') goto yy147;
22514 			goto yy3;
22515 		}
22516 	} else {
22517 		if (yych <= '_') {
22518 			if (yych <= 'A') goto yy1410;
22519 			if (yych <= 'Z') goto yy143;
22520 			if (yych <= '^') goto yy3;
22521 			goto yy147;
22522 		} else {
22523 			if (yych <= '`') goto yy3;
22524 			if (yych <= 'a') goto yy1425;
22525 			if (yych <= 'z') goto yy151;
22526 			goto yy3;
22527 		}
22528 	}
22529 yy1425:
22530 	YYDEBUG(1425, *YYCURSOR);
22531 	yyaccept = 0;
22532 	yych = *(YYMARKER = ++YYCURSOR);
22533 	if (yych <= 'X') {
22534 		if (yych <= '-') {
22535 			if (yych == ')') goto yy139;
22536 			if (yych <= ',') goto yy3;
22537 			goto yy147;
22538 		} else {
22539 			if (yych == '/') goto yy147;
22540 			if (yych <= '@') goto yy3;
22541 			goto yy144;
22542 		}
22543 	} else {
22544 		if (yych <= '_') {
22545 			if (yych <= 'Y') goto yy1175;
22546 			if (yych <= 'Z') goto yy144;
22547 			if (yych <= '^') goto yy3;
22548 			goto yy147;
22549 		} else {
22550 			if (yych <= 'x') {
22551 				if (yych <= '`') goto yy3;
22552 				goto yy152;
22553 			} else {
22554 				if (yych <= 'y') goto yy1204;
22555 				if (yych <= 'z') goto yy152;
22556 				goto yy3;
22557 			}
22558 		}
22559 	}
22560 yy1426:
22561 	YYDEBUG(1426, *YYCURSOR);
22562 	yyaccept = 0;
22563 	yych = *(YYMARKER = ++YYCURSOR);
22564 	if (yych <= 'M') {
22565 		if (yych <= '-') {
22566 			if (yych == ')') goto yy139;
22567 			if (yych <= ',') goto yy3;
22568 			goto yy147;
22569 		} else {
22570 			if (yych == '/') goto yy147;
22571 			if (yych <= '@') goto yy3;
22572 			goto yy142;
22573 		}
22574 	} else {
22575 		if (yych <= '_') {
22576 			if (yych <= 'N') goto yy1412;
22577 			if (yych <= 'Z') goto yy142;
22578 			if (yych <= '^') goto yy3;
22579 			goto yy147;
22580 		} else {
22581 			if (yych <= 'm') {
22582 				if (yych <= '`') goto yy3;
22583 				goto yy150;
22584 			} else {
22585 				if (yych <= 'n') goto yy1427;
22586 				if (yych <= 'z') goto yy150;
22587 				goto yy3;
22588 			}
22589 		}
22590 	}
22591 yy1427:
22592 	YYDEBUG(1427, *YYCURSOR);
22593 	yyaccept = 0;
22594 	yych = *(YYMARKER = ++YYCURSOR);
22595 	if (yych <= 'H') {
22596 		if (yych <= '-') {
22597 			if (yych == ')') goto yy139;
22598 			if (yych <= ',') goto yy3;
22599 			goto yy147;
22600 		} else {
22601 			if (yych == '/') goto yy147;
22602 			if (yych <= '@') goto yy3;
22603 			goto yy143;
22604 		}
22605 	} else {
22606 		if (yych <= '_') {
22607 			if (yych <= 'I') goto yy1413;
22608 			if (yych <= 'Z') goto yy143;
22609 			if (yych <= '^') goto yy3;
22610 			goto yy147;
22611 		} else {
22612 			if (yych <= 'h') {
22613 				if (yych <= '`') goto yy3;
22614 				goto yy151;
22615 			} else {
22616 				if (yych <= 'i') goto yy1428;
22617 				if (yych <= 'z') goto yy151;
22618 				goto yy3;
22619 			}
22620 		}
22621 	}
22622 yy1428:
22623 	YYDEBUG(1428, *YYCURSOR);
22624 	yyaccept = 0;
22625 	yych = *(YYMARKER = ++YYCURSOR);
22626 	if (yych <= 'F') {
22627 		if (yych <= '-') {
22628 			if (yych == ')') goto yy139;
22629 			if (yych <= ',') goto yy3;
22630 			goto yy147;
22631 		} else {
22632 			if (yych == '/') goto yy147;
22633 			if (yych <= '@') goto yy3;
22634 			goto yy144;
22635 		}
22636 	} else {
22637 		if (yych <= '_') {
22638 			if (yych <= 'G') goto yy1414;
22639 			if (yych <= 'Z') goto yy144;
22640 			if (yych <= '^') goto yy3;
22641 			goto yy147;
22642 		} else {
22643 			if (yych <= 'f') {
22644 				if (yych <= '`') goto yy3;
22645 				goto yy152;
22646 			} else {
22647 				if (yych <= 'g') goto yy1429;
22648 				if (yych <= 'z') goto yy152;
22649 				goto yy3;
22650 			}
22651 		}
22652 	}
22653 yy1429:
22654 	YYDEBUG(1429, *YYCURSOR);
22655 	yyaccept = 0;
22656 	yych = *(YYMARKER = ++YYCURSOR);
22657 	if (yych <= 'G') {
22658 		if (yych <= ',') {
22659 			if (yych == ')') goto yy139;
22660 			goto yy3;
22661 		} else {
22662 			if (yych == '.') goto yy3;
22663 			if (yych <= '/') goto yy147;
22664 			goto yy3;
22665 		}
22666 	} else {
22667 		if (yych <= '`') {
22668 			if (yych <= 'H') goto yy1415;
22669 			if (yych == '_') goto yy147;
22670 			goto yy3;
22671 		} else {
22672 			if (yych == 'h') goto yy1430;
22673 			if (yych <= 'z') goto yy153;
22674 			goto yy3;
22675 		}
22676 	}
22677 yy1430:
22678 	YYDEBUG(1430, *YYCURSOR);
22679 	yych = *++YYCURSOR;
22680 	if (yych == 'T') goto yy1416;
22681 	if (yych != 't') goto yy154;
22682 	YYDEBUG(1431, *YYCURSOR);
22683 	yyaccept = 29;
22684 	yych = *(YYMARKER = ++YYCURSOR);
22685 	if (yybm[0+yych] & 16) {
22686 		goto yy153;
22687 	}
22688 	if (yych <= '.') {
22689 		if (yych == '-') goto yy147;
22690 		goto yy1362;
22691 	} else {
22692 		if (yych <= '/') goto yy147;
22693 		if (yych == '_') goto yy147;
22694 		goto yy1362;
22695 	}
22696 yy1432:
22697 	YYDEBUG(1432, *YYCURSOR);
22698 	yyaccept = 5;
22699 	yych = *(YYMARKER = ++YYCURSOR);
22700 	if (yych <= '9') {
22701 		if (yych <= '(') {
22702 			if (yych <= '\t') {
22703 				if (yych <= 0x08) goto yy193;
22704 				goto yy195;
22705 			} else {
22706 				if (yych == ' ') goto yy195;
22707 				goto yy193;
22708 			}
22709 		} else {
22710 			if (yych <= '-') {
22711 				if (yych <= ')') goto yy139;
22712 				if (yych <= ',') goto yy193;
22713 				goto yy311;
22714 			} else {
22715 				if (yych == '/') goto yy147;
22716 				goto yy195;
22717 			}
22718 		}
22719 	} else {
22720 		if (yych <= '^') {
22721 			if (yych <= 'B') {
22722 				if (yych <= '@') goto yy193;
22723 				goto yy142;
22724 			} else {
22725 				if (yych <= 'C') goto yy1419;
22726 				if (yych <= 'Z') goto yy142;
22727 				goto yy193;
22728 			}
22729 		} else {
22730 			if (yych <= 'b') {
22731 				if (yych <= '_') goto yy147;
22732 				if (yych <= '`') goto yy193;
22733 				goto yy150;
22734 			} else {
22735 				if (yych <= 'c') goto yy1434;
22736 				if (yych <= 'z') goto yy150;
22737 				goto yy193;
22738 			}
22739 		}
22740 	}
22741 yy1433:
22742 	YYDEBUG(1433, *YYCURSOR);
22743 	yyaccept = 5;
22744 	yych = *(YYMARKER = ++YYCURSOR);
22745 	if (yych <= '.') {
22746 		if (yych <= ' ') {
22747 			if (yych == '\t') goto yy195;
22748 			if (yych <= 0x1F) goto yy193;
22749 			goto yy195;
22750 		} else {
22751 			if (yych <= ')') {
22752 				if (yych <= '(') goto yy193;
22753 				goto yy139;
22754 			} else {
22755 				if (yych <= ',') goto yy193;
22756 				if (yych <= '-') goto yy311;
22757 				goto yy195;
22758 			}
22759 		}
22760 	} else {
22761 		if (yych <= 'Z') {
22762 			if (yych <= '/') goto yy147;
22763 			if (yych <= '9') goto yy195;
22764 			if (yych <= '@') goto yy193;
22765 			goto yy142;
22766 		} else {
22767 			if (yych <= '_') {
22768 				if (yych <= '^') goto yy193;
22769 				goto yy147;
22770 			} else {
22771 				if (yych <= '`') goto yy193;
22772 				if (yych <= 'z') goto yy150;
22773 				goto yy193;
22774 			}
22775 		}
22776 	}
22777 yy1434:
22778 	YYDEBUG(1434, *YYCURSOR);
22779 	yyaccept = 0;
22780 	yych = *(YYMARKER = ++YYCURSOR);
22781 	if (yych <= 'G') {
22782 		if (yych <= '-') {
22783 			if (yych == ')') goto yy139;
22784 			if (yych <= ',') goto yy3;
22785 			goto yy147;
22786 		} else {
22787 			if (yych == '/') goto yy147;
22788 			if (yych <= '@') goto yy3;
22789 			goto yy143;
22790 		}
22791 	} else {
22792 		if (yych <= '_') {
22793 			if (yych <= 'H') goto yy335;
22794 			if (yych <= 'Z') goto yy143;
22795 			if (yych <= '^') goto yy3;
22796 			goto yy147;
22797 		} else {
22798 			if (yych <= 'g') {
22799 				if (yych <= '`') goto yy3;
22800 				goto yy151;
22801 			} else {
22802 				if (yych <= 'h') goto yy346;
22803 				if (yych <= 'z') goto yy151;
22804 				goto yy3;
22805 			}
22806 		}
22807 	}
22808 yy1435:
22809 	YYDEBUG(1435, *YYCURSOR);
22810 	yych = *++YYCURSOR;
22811 	if (yych <= 'W') {
22812 		if (yych <= 'N') {
22813 			if (yych == ')') goto yy139;
22814 			if (yych <= '@') goto yy3;
22815 			goto yy141;
22816 		} else {
22817 			if (yych <= 'O') goto yy1443;
22818 			if (yych <= 'U') goto yy141;
22819 			if (yych <= 'V') goto yy1444;
22820 			goto yy1441;
22821 		}
22822 	} else {
22823 		if (yych <= 'o') {
22824 			if (yych <= 'Z') goto yy141;
22825 			if (yych <= '`') goto yy3;
22826 			if (yych <= 'n') goto yy141;
22827 			goto yy1443;
22828 		} else {
22829 			if (yych <= 'v') {
22830 				if (yych <= 'u') goto yy141;
22831 				goto yy1444;
22832 			} else {
22833 				if (yych <= 'w') goto yy1441;
22834 				if (yych <= 'z') goto yy141;
22835 				goto yy3;
22836 			}
22837 		}
22838 	}
22839 yy1436:
22840 	YYDEBUG(1436, *YYCURSOR);
22841 	yych = *++YYCURSOR;
22842 	if (yych <= 'X') {
22843 		if (yych <= ')') {
22844 			if (yych <= '(') goto yy3;
22845 			goto yy139;
22846 		} else {
22847 			if (yych <= '@') goto yy3;
22848 			if (yych <= 'W') goto yy141;
22849 			goto yy1440;
22850 		}
22851 	} else {
22852 		if (yych <= 'w') {
22853 			if (yych <= 'Z') goto yy141;
22854 			if (yych <= '`') goto yy3;
22855 			goto yy141;
22856 		} else {
22857 			if (yych <= 'x') goto yy1440;
22858 			if (yych <= 'z') goto yy141;
22859 			goto yy3;
22860 		}
22861 	}
22862 yy1437:
22863 	YYDEBUG(1437, *YYCURSOR);
22864 	yych = *++YYCURSOR;
22865 	if (yych <= 'N') {
22866 		if (yych <= ')') {
22867 			if (yych <= '(') goto yy3;
22868 			goto yy139;
22869 		} else {
22870 			if (yych <= '@') goto yy3;
22871 			if (yych <= 'M') goto yy141;
22872 		}
22873 	} else {
22874 		if (yych <= 'm') {
22875 			if (yych <= 'Z') goto yy141;
22876 			if (yych <= '`') goto yy3;
22877 			goto yy141;
22878 		} else {
22879 			if (yych <= 'n') goto yy1438;
22880 			if (yych <= 'z') goto yy141;
22881 			goto yy3;
22882 		}
22883 	}
22884 yy1438:
22885 	YYDEBUG(1438, *YYCURSOR);
22886 	yych = *++YYCURSOR;
22887 	if (yych <= 'T') {
22888 		if (yych <= ')') {
22889 			if (yych <= '(') goto yy3;
22890 			goto yy139;
22891 		} else {
22892 			if (yych <= '@') goto yy3;
22893 			if (yych <= 'S') goto yy142;
22894 		}
22895 	} else {
22896 		if (yych <= 's') {
22897 			if (yych <= 'Z') goto yy142;
22898 			if (yych <= '`') goto yy3;
22899 			goto yy142;
22900 		} else {
22901 			if (yych <= 't') goto yy1439;
22902 			if (yych <= 'z') goto yy142;
22903 			goto yy3;
22904 		}
22905 	}
22906 yy1439:
22907 	YYDEBUG(1439, *YYCURSOR);
22908 	yych = *++YYCURSOR;
22909 	if (yych <= 'H') {
22910 		if (yych <= ')') {
22911 			if (yych <= '(') goto yy3;
22912 			goto yy139;
22913 		} else {
22914 			if (yych <= '@') goto yy3;
22915 			if (yych <= 'G') goto yy143;
22916 			goto yy1178;
22917 		}
22918 	} else {
22919 		if (yych <= 'g') {
22920 			if (yych <= 'Z') goto yy143;
22921 			if (yych <= '`') goto yy3;
22922 			goto yy143;
22923 		} else {
22924 			if (yych <= 'h') goto yy1178;
22925 			if (yych <= 'z') goto yy143;
22926 			goto yy3;
22927 		}
22928 	}
22929 yy1440:
22930 	YYDEBUG(1440, *YYCURSOR);
22931 	yych = *++YYCURSOR;
22932 	if (yych <= 'T') {
22933 		if (yych <= ')') {
22934 			if (yych <= '(') goto yy3;
22935 			goto yy139;
22936 		} else {
22937 			if (yych <= '@') goto yy3;
22938 			if (yych <= 'S') goto yy142;
22939 			goto yy1370;
22940 		}
22941 	} else {
22942 		if (yych <= 's') {
22943 			if (yych <= 'Z') goto yy142;
22944 			if (yych <= '`') goto yy3;
22945 			goto yy142;
22946 		} else {
22947 			if (yych <= 't') goto yy1370;
22948 			if (yych <= 'z') goto yy142;
22949 			goto yy3;
22950 		}
22951 	}
22952 yy1441:
22953 	YYDEBUG(1441, *YYCURSOR);
22954 	++YYCURSOR;
22955 	if ((yych = *YYCURSOR) <= '@') {
22956 		if (yych == ')') goto yy139;
22957 	} else {
22958 		if (yych <= 'Z') goto yy142;
22959 		if (yych <= '`') goto yy1442;
22960 		if (yych <= 'z') goto yy142;
22961 	}
22962 yy1442:
22963 	YYDEBUG(1442, *YYCURSOR);
22964 #line 967 "ext/date/lib/parse_date.re"
22965 	{
22966 		DEBUG_OUTPUT("now");
22967 		TIMELIB_INIT;
22968 
22969 		TIMELIB_DEINIT;
22970 		return TIMELIB_RELATIVE;
22971 	}
22972 #line 22973 "<stdout>"
22973 yy1443:
22974 	YYDEBUG(1443, *YYCURSOR);
22975 	yych = *++YYCURSOR;
22976 	if (yych <= 'N') {
22977 		if (yych <= ')') {
22978 			if (yych <= '(') goto yy3;
22979 			goto yy139;
22980 		} else {
22981 			if (yych <= '@') goto yy3;
22982 			if (yych <= 'M') goto yy142;
22983 			goto yy1449;
22984 		}
22985 	} else {
22986 		if (yych <= 'm') {
22987 			if (yych <= 'Z') goto yy142;
22988 			if (yych <= '`') goto yy3;
22989 			goto yy142;
22990 		} else {
22991 			if (yych <= 'n') goto yy1449;
22992 			if (yych <= 'z') goto yy142;
22993 			goto yy3;
22994 		}
22995 	}
22996 yy1444:
22997 	YYDEBUG(1444, *YYCURSOR);
22998 	yyaccept = 5;
22999 	yych = *(YYMARKER = ++YYCURSOR);
23000 	if (yych <= '/') {
23001 		if (yych <= '(') {
23002 			if (yych <= '\t') {
23003 				if (yych <= 0x08) goto yy193;
23004 				goto yy195;
23005 			} else {
23006 				if (yych == ' ') goto yy195;
23007 				goto yy193;
23008 			}
23009 		} else {
23010 			if (yych <= ',') {
23011 				if (yych <= ')') goto yy139;
23012 				goto yy193;
23013 			} else {
23014 				if (yych <= '-') goto yy196;
23015 				if (yych <= '.') goto yy195;
23016 				goto yy193;
23017 			}
23018 		}
23019 	} else {
23020 		if (yych <= 'Z') {
23021 			if (yych <= '@') {
23022 				if (yych <= '9') goto yy195;
23023 				goto yy193;
23024 			} else {
23025 				if (yych != 'E') goto yy142;
23026 			}
23027 		} else {
23028 			if (yych <= 'd') {
23029 				if (yych <= '`') goto yy193;
23030 				goto yy142;
23031 			} else {
23032 				if (yych <= 'e') goto yy1445;
23033 				if (yych <= 'z') goto yy142;
23034 				goto yy193;
23035 			}
23036 		}
23037 	}
23038 yy1445:
23039 	YYDEBUG(1445, *YYCURSOR);
23040 	yych = *++YYCURSOR;
23041 	if (yych <= 'M') {
23042 		if (yych <= ')') {
23043 			if (yych <= '(') goto yy3;
23044 			goto yy139;
23045 		} else {
23046 			if (yych <= '@') goto yy3;
23047 			if (yych <= 'L') goto yy143;
23048 		}
23049 	} else {
23050 		if (yych <= 'l') {
23051 			if (yych <= 'Z') goto yy143;
23052 			if (yych <= '`') goto yy3;
23053 			goto yy143;
23054 		} else {
23055 			if (yych <= 'm') goto yy1446;
23056 			if (yych <= 'z') goto yy143;
23057 			goto yy3;
23058 		}
23059 	}
23060 yy1446:
23061 	YYDEBUG(1446, *YYCURSOR);
23062 	yych = *++YYCURSOR;
23063 	if (yych <= 'B') {
23064 		if (yych <= ')') {
23065 			if (yych <= '(') goto yy3;
23066 			goto yy139;
23067 		} else {
23068 			if (yych <= '@') goto yy3;
23069 			if (yych <= 'A') goto yy144;
23070 		}
23071 	} else {
23072 		if (yych <= 'a') {
23073 			if (yych <= 'Z') goto yy144;
23074 			if (yych <= '`') goto yy3;
23075 			goto yy144;
23076 		} else {
23077 			if (yych <= 'b') goto yy1447;
23078 			if (yych <= 'z') goto yy144;
23079 			goto yy3;
23080 		}
23081 	}
23082 yy1447:
23083 	YYDEBUG(1447, *YYCURSOR);
23084 	yyaccept = 0;
23085 	yych = *(YYMARKER = ++YYCURSOR);
23086 	if (yych <= 'D') {
23087 		if (yych == ')') goto yy139;
23088 		goto yy3;
23089 	} else {
23090 		if (yych <= 'E') goto yy1448;
23091 		if (yych != 'e') goto yy3;
23092 	}
23093 yy1448:
23094 	YYDEBUG(1448, *YYCURSOR);
23095 	yych = *++YYCURSOR;
23096 	if (yych == 'R') goto yy204;
23097 	if (yych == 'r') goto yy204;
23098 	goto yy56;
23099 yy1449:
23100 	YYDEBUG(1449, *YYCURSOR);
23101 	++YYCURSOR;
23102 	if ((yych = *YYCURSOR) <= '@') {
23103 		if (yych == ')') goto yy139;
23104 	} else {
23105 		if (yych <= 'Z') goto yy143;
23106 		if (yych <= '`') goto yy1450;
23107 		if (yych <= 'z') goto yy143;
23108 	}
23109 yy1450:
23110 	YYDEBUG(1450, *YYCURSOR);
23111 #line 976 "ext/date/lib/parse_date.re"
23112 	{
23113 		DEBUG_OUTPUT("noon");
23114 		TIMELIB_INIT;
23115 		TIMELIB_UNHAVE_TIME();
23116 		TIMELIB_HAVE_TIME();
23117 		s->time->h = 12;
23118 
23119 		TIMELIB_DEINIT;
23120 		return TIMELIB_RELATIVE;
23121 	}
23122 #line 23123 "<stdout>"
23123 yy1451:
23124 	YYDEBUG(1451, *YYCURSOR);
23125 	yyaccept = 0;
23126 	yych = *(YYMARKER = ++YYCURSOR);
23127 	if (yych <= 'V') {
23128 		if (yych <= '.') {
23129 			if (yych <= ')') {
23130 				if (yych <= '(') goto yy3;
23131 				goto yy139;
23132 			} else {
23133 				if (yych == '-') goto yy147;
23134 				goto yy3;
23135 			}
23136 		} else {
23137 			if (yych <= 'N') {
23138 				if (yych <= '/') goto yy147;
23139 				if (yych <= '@') goto yy3;
23140 				goto yy141;
23141 			} else {
23142 				if (yych <= 'O') goto yy1443;
23143 				if (yych <= 'U') goto yy141;
23144 				goto yy1444;
23145 			}
23146 		}
23147 	} else {
23148 		if (yych <= 'n') {
23149 			if (yych <= '^') {
23150 				if (yych <= 'W') goto yy1441;
23151 				if (yych <= 'Z') goto yy141;
23152 				goto yy3;
23153 			} else {
23154 				if (yych <= '_') goto yy147;
23155 				if (yych <= '`') goto yy3;
23156 				goto yy146;
23157 			}
23158 		} else {
23159 			if (yych <= 'v') {
23160 				if (yych <= 'o') goto yy1458;
23161 				if (yych <= 'u') goto yy146;
23162 				goto yy1459;
23163 			} else {
23164 				if (yych <= 'w') goto yy1457;
23165 				if (yych <= 'z') goto yy146;
23166 				goto yy3;
23167 			}
23168 		}
23169 	}
23170 yy1452:
23171 	YYDEBUG(1452, *YYCURSOR);
23172 	yyaccept = 0;
23173 	yych = *(YYMARKER = ++YYCURSOR);
23174 	if (yych <= 'W') {
23175 		if (yych <= '-') {
23176 			if (yych == ')') goto yy139;
23177 			if (yych <= ',') goto yy3;
23178 			goto yy147;
23179 		} else {
23180 			if (yych == '/') goto yy147;
23181 			if (yych <= '@') goto yy3;
23182 			goto yy141;
23183 		}
23184 	} else {
23185 		if (yych <= '_') {
23186 			if (yych <= 'X') goto yy1440;
23187 			if (yych <= 'Z') goto yy141;
23188 			if (yych <= '^') goto yy3;
23189 			goto yy147;
23190 		} else {
23191 			if (yych <= 'w') {
23192 				if (yych <= '`') goto yy3;
23193 				goto yy146;
23194 			} else {
23195 				if (yych <= 'x') goto yy1456;
23196 				if (yych <= 'z') goto yy146;
23197 				goto yy3;
23198 			}
23199 		}
23200 	}
23201 yy1453:
23202 	YYDEBUG(1453, *YYCURSOR);
23203 	yyaccept = 0;
23204 	yych = *(YYMARKER = ++YYCURSOR);
23205 	if (yych <= 'M') {
23206 		if (yych <= '-') {
23207 			if (yych == ')') goto yy139;
23208 			if (yych <= ',') goto yy3;
23209 			goto yy147;
23210 		} else {
23211 			if (yych == '/') goto yy147;
23212 			if (yych <= '@') goto yy3;
23213 			goto yy141;
23214 		}
23215 	} else {
23216 		if (yych <= '_') {
23217 			if (yych <= 'N') goto yy1438;
23218 			if (yych <= 'Z') goto yy141;
23219 			if (yych <= '^') goto yy3;
23220 			goto yy147;
23221 		} else {
23222 			if (yych <= 'm') {
23223 				if (yych <= '`') goto yy3;
23224 				goto yy146;
23225 			} else {
23226 				if (yych <= 'n') goto yy1454;
23227 				if (yych <= 'z') goto yy146;
23228 				goto yy3;
23229 			}
23230 		}
23231 	}
23232 yy1454:
23233 	YYDEBUG(1454, *YYCURSOR);
23234 	yyaccept = 0;
23235 	yych = *(YYMARKER = ++YYCURSOR);
23236 	if (yych <= 'S') {
23237 		if (yych <= '-') {
23238 			if (yych == ')') goto yy139;
23239 			if (yych <= ',') goto yy3;
23240 			goto yy147;
23241 		} else {
23242 			if (yych == '/') goto yy147;
23243 			if (yych <= '@') goto yy3;
23244 			goto yy142;
23245 		}
23246 	} else {
23247 		if (yych <= '_') {
23248 			if (yych <= 'T') goto yy1439;
23249 			if (yych <= 'Z') goto yy142;
23250 			if (yych <= '^') goto yy3;
23251 			goto yy147;
23252 		} else {
23253 			if (yych <= 's') {
23254 				if (yych <= '`') goto yy3;
23255 				goto yy150;
23256 			} else {
23257 				if (yych <= 't') goto yy1455;
23258 				if (yych <= 'z') goto yy150;
23259 				goto yy3;
23260 			}
23261 		}
23262 	}
23263 yy1455:
23264 	YYDEBUG(1455, *YYCURSOR);
23265 	yyaccept = 0;
23266 	yych = *(YYMARKER = ++YYCURSOR);
23267 	if (yych <= 'G') {
23268 		if (yych <= '-') {
23269 			if (yych == ')') goto yy139;
23270 			if (yych <= ',') goto yy3;
23271 			goto yy147;
23272 		} else {
23273 			if (yych == '/') goto yy147;
23274 			if (yych <= '@') goto yy3;
23275 			goto yy143;
23276 		}
23277 	} else {
23278 		if (yych <= '_') {
23279 			if (yych <= 'H') goto yy1178;
23280 			if (yych <= 'Z') goto yy143;
23281 			if (yych <= '^') goto yy3;
23282 			goto yy147;
23283 		} else {
23284 			if (yych <= 'g') {
23285 				if (yych <= '`') goto yy3;
23286 				goto yy151;
23287 			} else {
23288 				if (yych <= 'h') goto yy1207;
23289 				if (yych <= 'z') goto yy151;
23290 				goto yy3;
23291 			}
23292 		}
23293 	}
23294 yy1456:
23295 	YYDEBUG(1456, *YYCURSOR);
23296 	yyaccept = 0;
23297 	yych = *(YYMARKER = ++YYCURSOR);
23298 	if (yych <= 'S') {
23299 		if (yych <= '-') {
23300 			if (yych == ')') goto yy139;
23301 			if (yych <= ',') goto yy3;
23302 			goto yy147;
23303 		} else {
23304 			if (yych == '/') goto yy147;
23305 			if (yych <= '@') goto yy3;
23306 			goto yy142;
23307 		}
23308 	} else {
23309 		if (yych <= '_') {
23310 			if (yych <= 'T') goto yy1370;
23311 			if (yych <= 'Z') goto yy142;
23312 			if (yych <= '^') goto yy3;
23313 			goto yy147;
23314 		} else {
23315 			if (yych <= 's') {
23316 				if (yych <= '`') goto yy3;
23317 				goto yy150;
23318 			} else {
23319 				if (yych <= 't') goto yy1402;
23320 				if (yych <= 'z') goto yy150;
23321 				goto yy3;
23322 			}
23323 		}
23324 	}
23325 yy1457:
23326 	YYDEBUG(1457, *YYCURSOR);
23327 	yyaccept = 30;
23328 	yych = *(YYMARKER = ++YYCURSOR);
23329 	if (yych <= '/') {
23330 		if (yych <= ',') {
23331 			if (yych == ')') goto yy139;
23332 			goto yy1442;
23333 		} else {
23334 			if (yych == '.') goto yy1442;
23335 			goto yy147;
23336 		}
23337 	} else {
23338 		if (yych <= '^') {
23339 			if (yych <= '@') goto yy1442;
23340 			if (yych <= 'Z') goto yy142;
23341 			goto yy1442;
23342 		} else {
23343 			if (yych <= '_') goto yy147;
23344 			if (yych <= '`') goto yy1442;
23345 			if (yych <= 'z') goto yy150;
23346 			goto yy1442;
23347 		}
23348 	}
23349 yy1458:
23350 	YYDEBUG(1458, *YYCURSOR);
23351 	yyaccept = 0;
23352 	yych = *(YYMARKER = ++YYCURSOR);
23353 	if (yych <= 'M') {
23354 		if (yych <= '-') {
23355 			if (yych == ')') goto yy139;
23356 			if (yych <= ',') goto yy3;
23357 			goto yy147;
23358 		} else {
23359 			if (yych == '/') goto yy147;
23360 			if (yych <= '@') goto yy3;
23361 			goto yy142;
23362 		}
23363 	} else {
23364 		if (yych <= '_') {
23365 			if (yych <= 'N') goto yy1449;
23366 			if (yych <= 'Z') goto yy142;
23367 			if (yych <= '^') goto yy3;
23368 			goto yy147;
23369 		} else {
23370 			if (yych <= 'm') {
23371 				if (yych <= '`') goto yy3;
23372 				goto yy150;
23373 			} else {
23374 				if (yych <= 'n') goto yy1464;
23375 				if (yych <= 'z') goto yy150;
23376 				goto yy3;
23377 			}
23378 		}
23379 	}
23380 yy1459:
23381 	YYDEBUG(1459, *YYCURSOR);
23382 	yyaccept = 5;
23383 	yych = *(YYMARKER = ++YYCURSOR);
23384 	if (yych <= '9') {
23385 		if (yych <= '(') {
23386 			if (yych <= '\t') {
23387 				if (yych <= 0x08) goto yy193;
23388 				goto yy195;
23389 			} else {
23390 				if (yych == ' ') goto yy195;
23391 				goto yy193;
23392 			}
23393 		} else {
23394 			if (yych <= '-') {
23395 				if (yych <= ')') goto yy139;
23396 				if (yych <= ',') goto yy193;
23397 				goto yy311;
23398 			} else {
23399 				if (yych == '/') goto yy147;
23400 				goto yy195;
23401 			}
23402 		}
23403 	} else {
23404 		if (yych <= '^') {
23405 			if (yych <= 'D') {
23406 				if (yych <= '@') goto yy193;
23407 				goto yy142;
23408 			} else {
23409 				if (yych <= 'E') goto yy1445;
23410 				if (yych <= 'Z') goto yy142;
23411 				goto yy193;
23412 			}
23413 		} else {
23414 			if (yych <= 'd') {
23415 				if (yych <= '_') goto yy147;
23416 				if (yych <= '`') goto yy193;
23417 				goto yy150;
23418 			} else {
23419 				if (yych <= 'e') goto yy1460;
23420 				if (yych <= 'z') goto yy150;
23421 				goto yy193;
23422 			}
23423 		}
23424 	}
23425 yy1460:
23426 	YYDEBUG(1460, *YYCURSOR);
23427 	yyaccept = 0;
23428 	yych = *(YYMARKER = ++YYCURSOR);
23429 	if (yych <= 'L') {
23430 		if (yych <= '-') {
23431 			if (yych == ')') goto yy139;
23432 			if (yych <= ',') goto yy3;
23433 			goto yy147;
23434 		} else {
23435 			if (yych == '/') goto yy147;
23436 			if (yych <= '@') goto yy3;
23437 			goto yy143;
23438 		}
23439 	} else {
23440 		if (yych <= '_') {
23441 			if (yych <= 'M') goto yy1446;
23442 			if (yych <= 'Z') goto yy143;
23443 			if (yych <= '^') goto yy3;
23444 			goto yy147;
23445 		} else {
23446 			if (yych <= 'l') {
23447 				if (yych <= '`') goto yy3;
23448 				goto yy151;
23449 			} else {
23450 				if (yych <= 'm') goto yy1461;
23451 				if (yych <= 'z') goto yy151;
23452 				goto yy3;
23453 			}
23454 		}
23455 	}
23456 yy1461:
23457 	YYDEBUG(1461, *YYCURSOR);
23458 	yyaccept = 0;
23459 	yych = *(YYMARKER = ++YYCURSOR);
23460 	if (yych <= 'A') {
23461 		if (yych <= '-') {
23462 			if (yych == ')') goto yy139;
23463 			if (yych <= ',') goto yy3;
23464 			goto yy147;
23465 		} else {
23466 			if (yych == '/') goto yy147;
23467 			if (yych <= '@') goto yy3;
23468 			goto yy144;
23469 		}
23470 	} else {
23471 		if (yych <= '_') {
23472 			if (yych <= 'B') goto yy1447;
23473 			if (yych <= 'Z') goto yy144;
23474 			if (yych <= '^') goto yy3;
23475 			goto yy147;
23476 		} else {
23477 			if (yych <= 'a') {
23478 				if (yych <= '`') goto yy3;
23479 				goto yy152;
23480 			} else {
23481 				if (yych <= 'b') goto yy1462;
23482 				if (yych <= 'z') goto yy152;
23483 				goto yy3;
23484 			}
23485 		}
23486 	}
23487 yy1462:
23488 	YYDEBUG(1462, *YYCURSOR);
23489 	yyaccept = 0;
23490 	yych = *(YYMARKER = ++YYCURSOR);
23491 	if (yych <= 'D') {
23492 		if (yych <= ',') {
23493 			if (yych == ')') goto yy139;
23494 			goto yy3;
23495 		} else {
23496 			if (yych == '.') goto yy3;
23497 			if (yych <= '/') goto yy147;
23498 			goto yy3;
23499 		}
23500 	} else {
23501 		if (yych <= '`') {
23502 			if (yych <= 'E') goto yy1448;
23503 			if (yych == '_') goto yy147;
23504 			goto yy3;
23505 		} else {
23506 			if (yych == 'e') goto yy1463;
23507 			if (yych <= 'z') goto yy153;
23508 			goto yy3;
23509 		}
23510 	}
23511 yy1463:
23512 	YYDEBUG(1463, *YYCURSOR);
23513 	yych = *++YYCURSOR;
23514 	if (yych == 'R') goto yy204;
23515 	if (yych == 'r') goto yy316;
23516 	goto yy154;
23517 yy1464:
23518 	YYDEBUG(1464, *YYCURSOR);
23519 	yyaccept = 31;
23520 	yych = *(YYMARKER = ++YYCURSOR);
23521 	if (yych <= '/') {
23522 		if (yych <= ',') {
23523 			if (yych == ')') goto yy139;
23524 			goto yy1450;
23525 		} else {
23526 			if (yych == '.') goto yy1450;
23527 			goto yy147;
23528 		}
23529 	} else {
23530 		if (yych <= '^') {
23531 			if (yych <= '@') goto yy1450;
23532 			if (yych <= 'Z') goto yy143;
23533 			goto yy1450;
23534 		} else {
23535 			if (yych <= '_') goto yy147;
23536 			if (yych <= '`') goto yy1450;
23537 			if (yych <= 'z') goto yy151;
23538 			goto yy1450;
23539 		}
23540 	}
23541 yy1465:
23542 	YYDEBUG(1465, *YYCURSOR);
23543 	yych = *++YYCURSOR;
23544 	if (yych <= 'S') {
23545 		if (yych <= ')') {
23546 			if (yych <= '(') goto yy3;
23547 			goto yy139;
23548 		} else {
23549 			if (yych <= '@') goto yy3;
23550 			if (yych <= 'R') goto yy141;
23551 		}
23552 	} else {
23553 		if (yych <= 'r') {
23554 			if (yych <= 'Z') goto yy141;
23555 			if (yych <= '`') goto yy3;
23556 			goto yy141;
23557 		} else {
23558 			if (yych <= 's') goto yy1466;
23559 			if (yych <= 'z') goto yy141;
23560 			goto yy3;
23561 		}
23562 	}
23563 yy1466:
23564 	YYDEBUG(1466, *YYCURSOR);
23565 	yych = *++YYCURSOR;
23566 	if (yych <= 'T') {
23567 		if (yych <= ')') {
23568 			if (yych <= '(') goto yy3;
23569 			goto yy139;
23570 		} else {
23571 			if (yych <= '@') goto yy3;
23572 			if (yych <= 'S') goto yy142;
23573 		}
23574 	} else {
23575 		if (yych <= 's') {
23576 			if (yych <= 'Z') goto yy142;
23577 			if (yych <= '`') goto yy3;
23578 			goto yy142;
23579 		} else {
23580 			if (yych <= 't') goto yy1467;
23581 			if (yych <= 'z') goto yy142;
23582 			goto yy3;
23583 		}
23584 	}
23585 yy1467:
23586 	YYDEBUG(1467, *YYCURSOR);
23587 	yych = *++YYCURSOR;
23588 	if (yych <= 'E') {
23589 		if (yych <= ')') {
23590 			if (yych <= '(') goto yy3;
23591 			goto yy139;
23592 		} else {
23593 			if (yych <= '@') goto yy3;
23594 			if (yych <= 'D') goto yy143;
23595 		}
23596 	} else {
23597 		if (yych <= 'd') {
23598 			if (yych <= 'Z') goto yy143;
23599 			if (yych <= '`') goto yy3;
23600 			goto yy143;
23601 		} else {
23602 			if (yych <= 'e') goto yy1468;
23603 			if (yych <= 'z') goto yy143;
23604 			goto yy3;
23605 		}
23606 	}
23607 yy1468:
23608 	YYDEBUG(1468, *YYCURSOR);
23609 	yych = *++YYCURSOR;
23610 	if (yych <= 'R') {
23611 		if (yych <= ')') {
23612 			if (yych <= '(') goto yy3;
23613 			goto yy139;
23614 		} else {
23615 			if (yych <= '@') goto yy3;
23616 			if (yych <= 'Q') goto yy144;
23617 		}
23618 	} else {
23619 		if (yych <= 'q') {
23620 			if (yych <= 'Z') goto yy144;
23621 			if (yych <= '`') goto yy3;
23622 			goto yy144;
23623 		} else {
23624 			if (yych <= 'r') goto yy1469;
23625 			if (yych <= 'z') goto yy144;
23626 			goto yy3;
23627 		}
23628 	}
23629 yy1469:
23630 	YYDEBUG(1469, *YYCURSOR);
23631 	yyaccept = 0;
23632 	yych = *(YYMARKER = ++YYCURSOR);
23633 	if (yych <= 'C') {
23634 		if (yych == ')') goto yy139;
23635 		goto yy3;
23636 	} else {
23637 		if (yych <= 'D') goto yy1470;
23638 		if (yych != 'd') goto yy3;
23639 	}
23640 yy1470:
23641 	YYDEBUG(1470, *YYCURSOR);
23642 	yych = *++YYCURSOR;
23643 	if (yych == 'A') goto yy1471;
23644 	if (yych != 'a') goto yy56;
23645 yy1471:
23646 	YYDEBUG(1471, *YYCURSOR);
23647 	yych = *++YYCURSOR;
23648 	if (yych == 'Y') goto yy1472;
23649 	if (yych != 'y') goto yy56;
23650 yy1472:
23651 	YYDEBUG(1472, *YYCURSOR);
23652 	++YYCURSOR;
23653 yy1473:
23654 	YYDEBUG(1473, *YYCURSOR);
23655 #line 955 "ext/date/lib/parse_date.re"
23656 	{
23657 		DEBUG_OUTPUT("yesterday");
23658 		TIMELIB_INIT;
23659 		TIMELIB_HAVE_RELATIVE();
23660 		TIMELIB_UNHAVE_TIME();
23661 
23662 		s->time->relative.d = -1;
23663 		TIMELIB_DEINIT;
23664 		return TIMELIB_RELATIVE;
23665 	}
23666 #line 23667 "<stdout>"
23667 yy1474:
23668 	YYDEBUG(1474, *YYCURSOR);
23669 	yyaccept = 0;
23670 	yych = *(YYMARKER = ++YYCURSOR);
23671 	if (yych <= 'R') {
23672 		if (yych <= '-') {
23673 			if (yych == ')') goto yy139;
23674 			if (yych <= ',') goto yy3;
23675 			goto yy147;
23676 		} else {
23677 			if (yych == '/') goto yy147;
23678 			if (yych <= '@') goto yy3;
23679 			goto yy141;
23680 		}
23681 	} else {
23682 		if (yych <= '_') {
23683 			if (yych <= 'S') goto yy1466;
23684 			if (yych <= 'Z') goto yy141;
23685 			if (yych <= '^') goto yy3;
23686 			goto yy147;
23687 		} else {
23688 			if (yych <= 'r') {
23689 				if (yych <= '`') goto yy3;
23690 				goto yy146;
23691 			} else {
23692 				if (yych <= 's') goto yy1475;
23693 				if (yych <= 'z') goto yy146;
23694 				goto yy3;
23695 			}
23696 		}
23697 	}
23698 yy1475:
23699 	YYDEBUG(1475, *YYCURSOR);
23700 	yyaccept = 0;
23701 	yych = *(YYMARKER = ++YYCURSOR);
23702 	if (yych <= 'S') {
23703 		if (yych <= '-') {
23704 			if (yych == ')') goto yy139;
23705 			if (yych <= ',') goto yy3;
23706 			goto yy147;
23707 		} else {
23708 			if (yych == '/') goto yy147;
23709 			if (yych <= '@') goto yy3;
23710 			goto yy142;
23711 		}
23712 	} else {
23713 		if (yych <= '_') {
23714 			if (yych <= 'T') goto yy1467;
23715 			if (yych <= 'Z') goto yy142;
23716 			if (yych <= '^') goto yy3;
23717 			goto yy147;
23718 		} else {
23719 			if (yych <= 's') {
23720 				if (yych <= '`') goto yy3;
23721 				goto yy150;
23722 			} else {
23723 				if (yych <= 't') goto yy1476;
23724 				if (yych <= 'z') goto yy150;
23725 				goto yy3;
23726 			}
23727 		}
23728 	}
23729 yy1476:
23730 	YYDEBUG(1476, *YYCURSOR);
23731 	yyaccept = 0;
23732 	yych = *(YYMARKER = ++YYCURSOR);
23733 	if (yych <= 'D') {
23734 		if (yych <= '-') {
23735 			if (yych == ')') goto yy139;
23736 			if (yych <= ',') goto yy3;
23737 			goto yy147;
23738 		} else {
23739 			if (yych == '/') goto yy147;
23740 			if (yych <= '@') goto yy3;
23741 			goto yy143;
23742 		}
23743 	} else {
23744 		if (yych <= '_') {
23745 			if (yych <= 'E') goto yy1468;
23746 			if (yych <= 'Z') goto yy143;
23747 			if (yych <= '^') goto yy3;
23748 			goto yy147;
23749 		} else {
23750 			if (yych <= 'd') {
23751 				if (yych <= '`') goto yy3;
23752 				goto yy151;
23753 			} else {
23754 				if (yych <= 'e') goto yy1477;
23755 				if (yych <= 'z') goto yy151;
23756 				goto yy3;
23757 			}
23758 		}
23759 	}
23760 yy1477:
23761 	YYDEBUG(1477, *YYCURSOR);
23762 	yyaccept = 0;
23763 	yych = *(YYMARKER = ++YYCURSOR);
23764 	if (yych <= 'Q') {
23765 		if (yych <= '-') {
23766 			if (yych == ')') goto yy139;
23767 			if (yych <= ',') goto yy3;
23768 			goto yy147;
23769 		} else {
23770 			if (yych == '/') goto yy147;
23771 			if (yych <= '@') goto yy3;
23772 			goto yy144;
23773 		}
23774 	} else {
23775 		if (yych <= '_') {
23776 			if (yych <= 'R') goto yy1469;
23777 			if (yych <= 'Z') goto yy144;
23778 			if (yych <= '^') goto yy3;
23779 			goto yy147;
23780 		} else {
23781 			if (yych <= 'q') {
23782 				if (yych <= '`') goto yy3;
23783 				goto yy152;
23784 			} else {
23785 				if (yych <= 'r') goto yy1478;
23786 				if (yych <= 'z') goto yy152;
23787 				goto yy3;
23788 			}
23789 		}
23790 	}
23791 yy1478:
23792 	YYDEBUG(1478, *YYCURSOR);
23793 	yyaccept = 0;
23794 	yych = *(YYMARKER = ++YYCURSOR);
23795 	if (yych <= 'C') {
23796 		if (yych <= ',') {
23797 			if (yych == ')') goto yy139;
23798 			goto yy3;
23799 		} else {
23800 			if (yych == '.') goto yy3;
23801 			if (yych <= '/') goto yy147;
23802 			goto yy3;
23803 		}
23804 	} else {
23805 		if (yych <= '`') {
23806 			if (yych <= 'D') goto yy1470;
23807 			if (yych == '_') goto yy147;
23808 			goto yy3;
23809 		} else {
23810 			if (yych == 'd') goto yy1479;
23811 			if (yych <= 'z') goto yy153;
23812 			goto yy3;
23813 		}
23814 	}
23815 yy1479:
23816 	YYDEBUG(1479, *YYCURSOR);
23817 	yych = *++YYCURSOR;
23818 	if (yych == 'A') goto yy1471;
23819 	if (yych != 'a') goto yy154;
23820 	YYDEBUG(1480, *YYCURSOR);
23821 	yych = *++YYCURSOR;
23822 	if (yych == 'Y') goto yy1472;
23823 	if (yych != 'y') goto yy154;
23824 	YYDEBUG(1481, *YYCURSOR);
23825 	yyaccept = 32;
23826 	yych = *(YYMARKER = ++YYCURSOR);
23827 	if (yybm[0+yych] & 16) {
23828 		goto yy153;
23829 	}
23830 	if (yych <= '.') {
23831 		if (yych == '-') goto yy147;
23832 		goto yy1473;
23833 	} else {
23834 		if (yych <= '/') goto yy147;
23835 		if (yych == '_') goto yy147;
23836 		goto yy1473;
23837 	}
23838 }
23839 #line 1729 "ext/date/lib/parse_date.re"
23840 
23841 }
23842 
23843 #define YYMAXFILL 33
23844 
timelib_strtotime(char * s,size_t len,struct timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)23845 timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
23846 {
23847 	Scanner in;
23848 	int t;
23849 	char *e = s + len - 1;
23850 
23851 	memset(&in, 0, sizeof(in));
23852 	in.errors = timelib_malloc(sizeof(struct timelib_error_container));
23853 	in.errors->warning_count = 0;
23854 	in.errors->warning_messages = NULL;
23855 	in.errors->error_count = 0;
23856 	in.errors->error_messages = NULL;
23857 
23858 	if (len > 0) {
23859 		while (isspace(*s) && s < e) {
23860 			s++;
23861 		}
23862 		while (isspace(*e) && e > s) {
23863 			e--;
23864 		}
23865 	}
23866 	if (e - s < 0) {
23867 		in.time = timelib_time_ctor();
23868 		add_error(&in, "Empty string");
23869 		if (errors) {
23870 			*errors = in.errors;
23871 		} else {
23872 			timelib_error_container_dtor(in.errors);
23873 		}
23874 		in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->dst = in.time->z = TIMELIB_UNSET;
23875 		in.time->is_localtime = in.time->zone_type = 0;
23876 		return in.time;
23877 	}
23878 	e++;
23879 
23880 	in.str = timelib_malloc((e - s) + YYMAXFILL);
23881 	memset(in.str, 0, (e - s) + YYMAXFILL);
23882 	memcpy(in.str, s, (e - s));
23883 	in.lim = in.str + (e - s) + YYMAXFILL;
23884 	in.cur = in.str;
23885 	in.time = timelib_time_ctor();
23886 	in.time->y = TIMELIB_UNSET;
23887 	in.time->d = TIMELIB_UNSET;
23888 	in.time->m = TIMELIB_UNSET;
23889 	in.time->h = TIMELIB_UNSET;
23890 	in.time->i = TIMELIB_UNSET;
23891 	in.time->s = TIMELIB_UNSET;
23892 	in.time->f = TIMELIB_UNSET;
23893 	in.time->z = TIMELIB_UNSET;
23894 	in.time->dst = TIMELIB_UNSET;
23895 	in.tzdb = tzdb;
23896 	in.time->is_localtime = 0;
23897 	in.time->zone_type = 0;
23898 	in.time->relative.days = TIMELIB_UNSET;
23899 
23900 	do {
23901 		t = scan(&in, tz_get_wrapper);
23902 #ifdef DEBUG_PARSER
23903 		printf("%d\n", t);
23904 #endif
23905 	} while(t != EOI);
23906 
23907 	/* do funky checking whether the parsed time was valid time */
23908 	if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
23909 		add_warning(&in, "The parsed time was invalid");
23910 	}
23911 	/* do funky checking whether the parsed date was valid date */
23912 	if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
23913 		add_warning(&in, "The parsed date was invalid");
23914 	}
23915 
23916 	timelib_free(in.str);
23917 	if (errors) {
23918 		*errors = in.errors;
23919 	} else {
23920 		timelib_error_container_dtor(in.errors);
23921 	}
23922 	return in.time;
23923 }
23924 
23925 #define TIMELIB_CHECK_NUMBER                                           \
23926 		if (strchr("0123456789", *ptr) == NULL)                        \
23927 		{                                                              \
23928 			add_pbf_error(s, "Unexpected data found.", string, begin); \
23929 		}
23930 #define TIMELIB_CHECK_SIGNED_NUMBER                                    \
23931 		if (strchr("-0123456789", *ptr) == NULL)                       \
23932 		{                                                              \
23933 			add_pbf_error(s, "Unexpected data found.", string, begin); \
23934 		}
23935 
timelib_time_reset_fields(timelib_time * time)23936 static void timelib_time_reset_fields(timelib_time *time)
23937 {
23938 	assert(time != NULL);
23939 
23940 	time->y = 1970;
23941 	time->m = 1;
23942 	time->d = 1;
23943 	time->h = time->i = time->s = 0;
23944 	time->f = 0.0;
23945 	time->tz_info = NULL;
23946 }
23947 
timelib_time_reset_unset_fields(timelib_time * time)23948 static void timelib_time_reset_unset_fields(timelib_time *time)
23949 {
23950 	assert(time != NULL);
23951 
23952 	if (time->y == TIMELIB_UNSET ) time->y = 1970;
23953 	if (time->m == TIMELIB_UNSET ) time->m = 1;
23954 	if (time->d == TIMELIB_UNSET ) time->d = 1;
23955 	if (time->h == TIMELIB_UNSET ) time->h = 0;
23956 	if (time->i == TIMELIB_UNSET ) time->i = 0;
23957 	if (time->s == TIMELIB_UNSET ) time->s = 0;
23958 	if (time->f == TIMELIB_UNSET ) time->f = 0.0;
23959 }
23960 
timelib_parse_from_format(char * format,char * string,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)23961 timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
23962 {
23963 	char       *fptr = format;
23964 	char       *ptr = string;
23965 	char       *begin;
23966 	timelib_sll tmp;
23967 	Scanner in;
23968 	Scanner *s = &in;
23969 	int allow_extra = 0;
23970 
23971 	memset(&in, 0, sizeof(in));
23972 	in.errors = timelib_malloc(sizeof(struct timelib_error_container));
23973 	in.errors->warning_count = 0;
23974 	in.errors->warning_messages = NULL;
23975 	in.errors->error_count = 0;
23976 	in.errors->error_messages = NULL;
23977 
23978 	in.time = timelib_time_ctor();
23979 	in.time->y = TIMELIB_UNSET;
23980 	in.time->d = TIMELIB_UNSET;
23981 	in.time->m = TIMELIB_UNSET;
23982 	in.time->h = TIMELIB_UNSET;
23983 	in.time->i = TIMELIB_UNSET;
23984 	in.time->s = TIMELIB_UNSET;
23985 	in.time->f = TIMELIB_UNSET;
23986 	in.time->z = TIMELIB_UNSET;
23987 	in.time->dst = TIMELIB_UNSET;
23988 	in.tzdb = tzdb;
23989 	in.time->is_localtime = 0;
23990 	in.time->zone_type = 0;
23991 
23992 	/* Loop over the format string */
23993 	while (*fptr && *ptr) {
23994 		begin = ptr;
23995 		switch (*fptr) {
23996 			case 'D': /* three letter day */
23997 			case 'l': /* full day */
23998 				{
23999 					const timelib_relunit* tmprel = 0;
24000 
24001 					tmprel = timelib_lookup_relunit((char **) &ptr);
24002 					if (!tmprel) {
24003 						add_pbf_error(s, "A textual day could not be found", string, begin);
24004 						break;
24005 					} else {
24006 						in.time->have_relative = 1;
24007 						in.time->relative.have_weekday_relative = 1;
24008 						in.time->relative.weekday = tmprel->multiplier;
24009 						in.time->relative.weekday_behavior = 1;
24010 					}
24011 				}
24012 				break;
24013 			case 'd': /* two digit day, with leading zero */
24014 			case 'j': /* two digit day, without leading zero */
24015 				TIMELIB_CHECK_NUMBER;
24016 				if ((s->time->d = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24017 					add_pbf_error(s, "A two digit day could not be found", string, begin);
24018 				}
24019 				break;
24020 			case 'S': /* day suffix, ignored, nor checked */
24021 				timelib_skip_day_suffix((char **) &ptr);
24022 				break;
24023 			case 'z': /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
24024 				TIMELIB_CHECK_NUMBER;
24025 				if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) {
24026 					add_pbf_error(s, "A three digit day-of-year could not be found", string, begin);
24027 				} else {
24028 					s->time->m = 1;
24029 					s->time->d = tmp + 1;
24030 					timelib_do_normalize(s->time);
24031 				}
24032 				break;
24033 
24034 			case 'm': /* two digit month, with leading zero */
24035 			case 'n': /* two digit month, without leading zero */
24036 				TIMELIB_CHECK_NUMBER;
24037 				if ((s->time->m = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24038 					add_pbf_error(s, "A two digit month could not be found", string, begin);
24039 				}
24040 				break;
24041 			case 'M': /* three letter month */
24042 			case 'F': /* full month */
24043 				tmp = timelib_lookup_month((char **) &ptr);
24044 				if (!tmp) {
24045 					add_pbf_error(s, "A textual month could not be found", string, begin);
24046 				} else {
24047 					s->time->m = tmp;
24048 				}
24049 				break;
24050 			case 'y': /* two digit year */
24051 				{
24052 					int length = 0;
24053 					TIMELIB_CHECK_NUMBER;
24054 					if ((s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length)) == TIMELIB_UNSET) {
24055 						add_pbf_error(s, "A two digit year could not be found", string, begin);
24056 					}
24057 					TIMELIB_PROCESS_YEAR(s->time->y, length);
24058 				}
24059 				break;
24060 			case 'Y': /* four digit year */
24061 				TIMELIB_CHECK_NUMBER;
24062 				if ((s->time->y = timelib_get_nr((char **) &ptr, 4)) == TIMELIB_UNSET) {
24063 					add_pbf_error(s, "A four digit year could not be found", string, begin);
24064 				}
24065 				break;
24066 			case 'g': /* two digit hour, with leading zero */
24067 			case 'h': /* two digit hour, without leading zero */
24068 				TIMELIB_CHECK_NUMBER;
24069 				if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24070 					add_pbf_error(s, "A two digit hour could not be found", string, begin);
24071 				}
24072 				if (s->time->h > 12) {
24073 					add_pbf_error(s, "Hour can not be higher than 12", string, begin);
24074 				}
24075 				break;
24076 			case 'G': /* two digit hour, with leading zero */
24077 			case 'H': /* two digit hour, without leading zero */
24078 				TIMELIB_CHECK_NUMBER;
24079 				if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24080 					add_pbf_error(s, "A two digit hour could not be found", string, begin);
24081 				}
24082 				break;
24083 			case 'a': /* am/pm/a.m./p.m. */
24084 			case 'A': /* AM/PM/A.M./P.M. */
24085 				if (s->time->h == TIMELIB_UNSET) {
24086 					add_pbf_error(s, "Meridian can only come after an hour has been found", string, begin);
24087 				} else if ((tmp = timelib_meridian_with_check((char **) &ptr, s->time->h)) == TIMELIB_UNSET) {
24088 					add_pbf_error(s, "A meridian could not be found", string, begin);
24089 				} else {
24090 					s->time->h += tmp;
24091 				}
24092 				break;
24093 			case 'i': /* two digit minute, with leading zero */
24094 				{
24095 					int length;
24096 					timelib_sll min;
24097 
24098 					TIMELIB_CHECK_NUMBER;
24099 					min = timelib_get_nr_ex((char **) &ptr, 2, &length);
24100 					if (min == TIMELIB_UNSET || length != 2) {
24101 						add_pbf_error(s, "A two digit minute could not be found", string, begin);
24102 					} else {
24103 						s->time->i = min;
24104 					}
24105 				}
24106 				break;
24107 			case 's': /* two digit second, with leading zero */
24108 				{
24109 					int length;
24110 					timelib_sll sec;
24111 
24112 					TIMELIB_CHECK_NUMBER;
24113 					sec = timelib_get_nr_ex((char **) &ptr, 2, &length);
24114 					if (sec == TIMELIB_UNSET || length != 2) {
24115 						add_pbf_error(s, "A two digit second could not be found", string, begin);
24116 					} else {
24117 						s->time->s = sec;
24118 					}
24119 				}
24120 				break;
24121 			case 'u': /* up to six digit millisecond */
24122 				{
24123 					double f;
24124 					char *tptr;
24125 
24126 					TIMELIB_CHECK_NUMBER;
24127 					tptr = ptr;
24128 					if ((f = timelib_get_nr((char **) &ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
24129 						add_pbf_error(s, "A six digit millisecond could not be found", string, begin);
24130 					} else {
24131 						s->time->f = (f / pow(10, (ptr - tptr)));
24132 					}
24133 				}
24134 				break;
24135 			case ' ': /* any sort of whitespace (' ' and \t) */
24136 				timelib_eat_spaces((char **) &ptr);
24137 				break;
24138 			case 'U': /* epoch seconds */
24139 				TIMELIB_CHECK_SIGNED_NUMBER;
24140 				TIMELIB_HAVE_RELATIVE();
24141 				tmp = timelib_get_unsigned_nr((char **) &ptr, 24);
24142 				s->time->y = 1970;
24143 				s->time->m = 1;
24144 				s->time->d = 1;
24145 				s->time->h = s->time->i = s->time->s = 0;
24146 				s->time->f = 0.0;
24147 				s->time->relative.s += tmp;
24148 				s->time->is_localtime = 1;
24149 				s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
24150 				s->time->z = 0;
24151 				s->time->dst = 0;
24152 				break;
24153 
24154 			case 'e': /* timezone */
24155 			case 'P': /* timezone */
24156 			case 'T': /* timezone */
24157 			case 'O': /* timezone */
24158 				{
24159 					int tz_not_found;
24160 					s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24161 					if (tz_not_found) {
24162 						add_pbf_error(s, "The timezone could not be found in the database", string, begin);
24163 					}
24164 				}
24165 				break;
24166 
24167 			case '#': /* separation symbol */
24168 				if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-' || *ptr == '(' || *ptr == ')') {
24169 					++ptr;
24170 				} else {
24171 					add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin);
24172 				}
24173 				break;
24174 
24175 			case ';':
24176 			case ':':
24177 			case '/':
24178 			case '.':
24179 			case ',':
24180 			case '-':
24181 			case '(':
24182 			case ')':
24183 				if (*ptr == *fptr) {
24184 					++ptr;
24185 				} else {
24186 					add_pbf_error(s, "The separation symbol could not be found", string, begin);
24187 				}
24188 				break;
24189 
24190 			case '!': /* reset all fields to default */
24191 				timelib_time_reset_fields(s->time);
24192 				break; /* break intentionally not missing */
24193 
24194 			case '|': /* reset all fields to default when not set */
24195 				timelib_time_reset_unset_fields(s->time);
24196 				break; /* break intentionally not missing */
24197 
24198 			case '?': /* random char */
24199 				++ptr;
24200 				break;
24201 
24202 			case '\\': /* escaped char */
24203 				if(!fptr[1]) {
24204 					add_pbf_error(s, "Escaped character expected", string, begin);
24205 					break;
24206 				}
24207 				fptr++;
24208 				if (*ptr == *fptr) {
24209 					++ptr;
24210 				} else {
24211 					add_pbf_error(s, "The escaped character could not be found", string, begin);
24212 				}
24213 				break;
24214 
24215 			case '*': /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
24216 				timelib_eat_until_separator((char **) &ptr);
24217 				break;
24218 
24219 			case '+': /* allow extra chars in the format */
24220 				allow_extra = 1;
24221 				break;
24222 
24223 			default:
24224 				if (*fptr != *ptr) {
24225 					add_pbf_error(s, "The format separator does not match", string, begin);
24226 				}
24227 				ptr++;
24228 		}
24229 		fptr++;
24230 	}
24231 	if (*ptr) {
24232 		if (allow_extra) {
24233 			add_pbf_warning(s, "Trailing data", string, ptr);
24234 		} else {
24235 			add_pbf_error(s, "Trailing data", string, ptr);
24236 		}
24237 	}
24238 	/* ignore trailing +'s */
24239 	while (*fptr == '+') {
24240 		fptr++;
24241 	}
24242 	if (*fptr) {
24243 		/* Trailing | and ! specifiers are valid. */
24244 		int done = 0;
24245 		while (*fptr && !done) {
24246 			switch (*fptr++) {
24247 				case '!': /* reset all fields to default */
24248 					timelib_time_reset_fields(s->time);
24249 					break;
24250 
24251 				case '|': /* reset all fields to default when not set */
24252 					timelib_time_reset_unset_fields(s->time);
24253 					break;
24254 
24255 				default:
24256 					add_pbf_error(s, "Data missing", string, ptr);
24257 					done = 1;
24258 			}
24259 		}
24260 	}
24261 
24262 	/* clean up a bit */
24263 	if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET) {
24264 		if (s->time->h == TIMELIB_UNSET ) {
24265 			s->time->h = 0;
24266 		}
24267 		if (s->time->i == TIMELIB_UNSET ) {
24268 			s->time->i = 0;
24269 		}
24270 		if (s->time->s == TIMELIB_UNSET ) {
24271 			s->time->s = 0;
24272 		}
24273 	}
24274 
24275 	/* do funky checking whether the parsed time was valid time */
24276 	if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
24277 		s->time->s != TIMELIB_UNSET &&
24278 		!timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
24279 		add_pbf_warning(s, "The parsed time was invalid", string, ptr);
24280 	}
24281 	/* do funky checking whether the parsed date was valid date */
24282 	if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
24283 		s->time->d != TIMELIB_UNSET &&
24284 		!timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
24285 		add_pbf_warning(s, "The parsed date was invalid", string, ptr);
24286 	}
24287 
24288 	if (errors) {
24289 		*errors = in.errors;
24290 	} else {
24291 		timelib_error_container_dtor(in.errors);
24292 	}
24293 	return in.time;
24294 }
24295 
timelib_fill_holes(timelib_time * parsed,timelib_time * now,int options)24296 void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
24297 {
24298 	if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
24299 		parsed->h = 0;
24300 		parsed->i = 0;
24301 		parsed->s = 0;
24302 		parsed->f = 0;
24303 	}
24304 	if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
24305 	if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
24306 	if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
24307 	if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
24308 	if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
24309 	if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
24310 	if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0;
24311 	if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
24312 	if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
24313 
24314 	if (!parsed->tz_abbr) {
24315 		parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
24316 	}
24317 	if (!parsed->tz_info) {
24318 		parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
24319 	}
24320 	if (parsed->zone_type == 0 && now->zone_type != 0) {
24321 		parsed->zone_type = now->zone_type;
24322 /*		parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
24323 		parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
24324 */		parsed->is_localtime = 1;
24325 	}
24326 /*	timelib_dump_date(parsed, 2);
24327 	timelib_dump_date(now, 2);
24328 */
24329 }
24330 
timelib_timezone_id_from_abbr(const char * abbr,timelib_long gmtoffset,int isdst)24331 char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst)
24332 {
24333 	const timelib_tz_lookup_table *tp;
24334 
24335 	tp = abbr_search(abbr, gmtoffset, isdst);
24336 	if (tp) {
24337 		return (tp->full_tz_name);
24338 	} else {
24339 		return NULL;
24340 	}
24341 }
24342 
timelib_timezone_abbreviations_list(void)24343 const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
24344 {
24345 	return timelib_timezone_lookup;
24346 }
24347 
24348 #ifdef DEBUG_PARSER_STUB
main(void)24349 int main(void)
24350 {
24351 	timelib_time time = timelib_strtotime("May 12");
24352 
24353 	printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
24354 		time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
24355 	if (time.have_relative) {
24356 		printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
24357 			time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
24358 	}
24359 	if (time.have_weekday_relative) {
24360 		printf (" / %d", time.relative.weekday);
24361 	}
24362 	if (time.have_weeknr_day) {
24363 		printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
24364 	}
24365 	return 0;
24366 }
24367 #endif
24368 
24369 /*
24370  * vim: syntax=c
24371  */
24372