xref: /PHP-8.3/ext/date/lib/parse_date.c (revision 40d06fb6)
1 /* Generated by re2c 1.0.3 on Wed Sep 11 17:29:29 2024 */
2 #line 1 "ext/date/lib/parse_date.re"
3 /*
4  * The MIT License (MIT)
5  *
6  * Copyright (c) 2015-2023 Derick Rethans
7  * Copyright (c) 2018 MongoDB, Inc.
8  *
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
10  * of this software and associated documentation files (the "Software"), to deal
11  * in the Software without restriction, including without limitation the rights
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13  * copies of the Software, and to permit persons to whom the Software is
14  * furnished to do so, subject to the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be included in
17  * all copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25  * THE SOFTWARE.
26  */
27 
28 #include "timelib.h"
29 #include "timelib_private.h"
30 
31 #include <ctype.h>
32 #include <errno.h>
33 #include <math.h>
34 #include <assert.h>
35 #include <limits.h>
36 
37 #if defined(_MSC_VER)
38 # define strtoll(s, f, b) _atoi64(s)
39 #elif !defined(HAVE_STRTOLL)
40 # if defined(HAVE_ATOLL)
41 #  define strtoll(s, f, b) atoll(s)
42 # else
43 #  define strtoll(s, f, b) strtol(s, f, b)
44 # endif
45 #endif
46 
47 #define EOI      257
48 #define TIME     258
49 #define DATE     259
50 
51 #define TIMELIB_XMLRPC_SOAP    260
52 #define TIMELIB_TIME12         261
53 #define TIMELIB_TIME24         262
54 #define TIMELIB_GNU_NOCOLON    263
55 #define TIMELIB_GNU_NOCOLON_TZ 264
56 #define TIMELIB_ISO_NOCOLON    265
57 
58 #define TIMELIB_AMERICAN       266
59 #define TIMELIB_ISO_DATE       267
60 #define TIMELIB_DATE_FULL      268
61 #define TIMELIB_DATE_TEXT      269
62 #define TIMELIB_DATE_NOCOLON   270
63 #define TIMELIB_PG_YEARDAY     271
64 #define TIMELIB_PG_TEXT        272
65 #define TIMELIB_PG_REVERSE     273
66 #define TIMELIB_CLF            274
67 #define TIMELIB_DATE_NO_DAY    275
68 #define TIMELIB_SHORTDATE_WITH_TIME 276
69 #define TIMELIB_DATE_FULL_POINTED 277
70 #define TIMELIB_TIME24_WITH_ZONE 278
71 #define TIMELIB_ISO_WEEK       279
72 #define TIMELIB_LF_DAY_OF_MONTH 280
73 #define TIMELIB_WEEK_DAY_OF_MONTH 281
74 
75 #define TIMELIB_TIMEZONE       300
76 #define TIMELIB_AGO            301
77 
78 #define TIMELIB_RELATIVE       310
79 
80 #define TIMELIB_ERROR          999
81 
82 /* Some compilers like AIX, defines uchar in sys/types.h */
83 #undef uchar
84 typedef unsigned char uchar;
85 
86 #define   BSIZE	   8192
87 
88 #define   YYCTYPE      uchar
89 #define   YYCURSOR     cursor
90 #define   YYLIMIT      s->lim
91 #define   YYMARKER     s->ptr
92 #define   YYFILL(n)    return EOI;
93 
94 #define   RET(i)       {s->cur = cursor; return i;}
95 
96 #define timelib_string_free timelib_free
97 
98 #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, TIMELIB_ERR_DOUBLE_TIME, "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->us = 0; } }
99 #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->us = 0; }
100 #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, TIMELIB_ERR_DOUBLE_DATE, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }
101 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
102 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
103 #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
104 #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
105 #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, TIMELIB_ERR_DOUBLE_TZ, "Double timezone specification") : add_warning(s, TIMELIB_WARN_DOUBLE_TZ, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
106 
107 #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
108 #define TIMELIB_DEINIT timelib_string_free(str)
109 #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
110 
111 #define TIMELIB_PROCESS_YEAR(x, l) { \
112 	if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
113 	/*	(x) = 0; */          \
114 	} else if ((x) < 100) {  \
115 		if ((x) < 70) {      \
116 			(x) += 2000;     \
117 		} else {             \
118 			(x) += 1900;     \
119 		}                    \
120 	}                        \
121 }
122 
123 #ifdef DEBUG_PARSER
124 #define DEBUG_OUTPUT(s) printf("%s\n", s);
125 #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
126 #else
127 #define DEBUG_OUTPUT(s)
128 #define YYDEBUG(s,c)
129 #endif
130 
131 typedef struct _timelib_elems {
132 	unsigned int   c; /* Number of elements */
133 	char         **v; /* Values */
134 } timelib_elems;
135 
136 typedef struct _Scanner {
137 	int           fd;
138 	uchar        *lim, *str, *ptr, *cur, *tok, *pos;
139 	unsigned int  line, len;
140 	timelib_error_container *errors;
141 
142 	timelib_time        *time;
143 	const timelib_tzdb  *tzdb;
144 } Scanner;
145 
146 typedef struct _timelib_lookup_table {
147 	const char *name;
148 	int         type;
149 	int         value;
150 } timelib_lookup_table;
151 
152 typedef struct _timelib_relunit {
153 	const char *name;
154 	int         unit;
155 	int         multiplier;
156 } timelib_relunit;
157 
158 /* The timezone table. */
159 static const timelib_tz_lookup_table timelib_timezone_lookup[] = {
160 #include "timezonemap.h"
161 	{ NULL, 0, 0, NULL },
162 };
163 
164 static const timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
165 #include "fallbackmap.h"
166 	{ NULL, 0, 0, NULL },
167 };
168 
169 static const timelib_tz_lookup_table timelib_timezone_utc[] = {
170 	{ "utc", 0, 0, "UTC" },
171 };
172 
173 #if defined(_POSIX_TZNAME_MAX)
174 # define MAX_ABBR_LEN _POSIX_TZNAME_MAX
175 #elif defined(TZNAME_MAX)
176 # define MAX_ABBR_LEN TZNAME_MAX
177 #else
178 # define MAX_ABBR_LEN 6
179 #endif
180 
181 static timelib_relunit const timelib_relunit_lookup[] = {
182 	{ "ms",           TIMELIB_MICROSEC, 1000 },
183 	{ "msec",         TIMELIB_MICROSEC, 1000 },
184 	{ "msecs",        TIMELIB_MICROSEC, 1000 },
185 	{ "millisecond",  TIMELIB_MICROSEC, 1000 },
186 	{ "milliseconds", TIMELIB_MICROSEC, 1000 },
187 	{ "µs",           TIMELIB_MICROSEC,    1 },
188 	{ "usec",         TIMELIB_MICROSEC,    1 },
189 	{ "usecs",        TIMELIB_MICROSEC,    1 },
190 	{ "µsec",         TIMELIB_MICROSEC,    1 },
191 	{ "µsecs",        TIMELIB_MICROSEC,    1 },
192 	{ "microsecond",  TIMELIB_MICROSEC,    1 },
193 	{ "microseconds", TIMELIB_MICROSEC,    1 },
194 	{ "sec",         TIMELIB_SECOND,  1 },
195 	{ "secs",        TIMELIB_SECOND,  1 },
196 	{ "second",      TIMELIB_SECOND,  1 },
197 	{ "seconds",     TIMELIB_SECOND,  1 },
198 	{ "min",         TIMELIB_MINUTE,  1 },
199 	{ "mins",        TIMELIB_MINUTE,  1 },
200 	{ "minute",      TIMELIB_MINUTE,  1 },
201 	{ "minutes",     TIMELIB_MINUTE,  1 },
202 	{ "hour",        TIMELIB_HOUR,    1 },
203 	{ "hours",       TIMELIB_HOUR,    1 },
204 	{ "day",         TIMELIB_DAY,     1 },
205 	{ "days",        TIMELIB_DAY,     1 },
206 	{ "week",        TIMELIB_DAY,     7 },
207 	{ "weeks",       TIMELIB_DAY,     7 },
208 	{ "fortnight",   TIMELIB_DAY,    14 },
209 	{ "fortnights",  TIMELIB_DAY,    14 },
210 	{ "forthnight",  TIMELIB_DAY,    14 },
211 	{ "forthnights", TIMELIB_DAY,    14 },
212 	{ "month",       TIMELIB_MONTH,   1 },
213 	{ "months",      TIMELIB_MONTH,   1 },
214 	{ "year",        TIMELIB_YEAR,    1 },
215 	{ "years",       TIMELIB_YEAR,    1 },
216 
217 	{ "mondays",     TIMELIB_WEEKDAY, 1 },
218 	{ "monday",      TIMELIB_WEEKDAY, 1 },
219 	{ "mon",         TIMELIB_WEEKDAY, 1 },
220 	{ "tuesdays",    TIMELIB_WEEKDAY, 2 },
221 	{ "tuesday",     TIMELIB_WEEKDAY, 2 },
222 	{ "tue",         TIMELIB_WEEKDAY, 2 },
223 	{ "wednesdays",  TIMELIB_WEEKDAY, 3 },
224 	{ "wednesday",   TIMELIB_WEEKDAY, 3 },
225 	{ "wed",         TIMELIB_WEEKDAY, 3 },
226 	{ "thursdays",   TIMELIB_WEEKDAY, 4 },
227 	{ "thursday",    TIMELIB_WEEKDAY, 4 },
228 	{ "thu",         TIMELIB_WEEKDAY, 4 },
229 	{ "fridays",     TIMELIB_WEEKDAY, 5 },
230 	{ "friday",      TIMELIB_WEEKDAY, 5 },
231 	{ "fri",         TIMELIB_WEEKDAY, 5 },
232 	{ "saturdays",   TIMELIB_WEEKDAY, 6 },
233 	{ "saturday",    TIMELIB_WEEKDAY, 6 },
234 	{ "sat",         TIMELIB_WEEKDAY, 6 },
235 	{ "sundays",     TIMELIB_WEEKDAY, 0 },
236 	{ "sunday",      TIMELIB_WEEKDAY, 0 },
237 	{ "sun",         TIMELIB_WEEKDAY, 0 },
238 
239 	{ "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
240 	{ "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
241 	{ NULL,          0,          0 }
242 };
243 
244 /* The relative text table. */
245 static timelib_lookup_table const timelib_reltext_lookup[] = {
246 	{ "first",    0,  1 },
247 	{ "next",     0,  1 },
248 	{ "second",   0,  2 },
249 	{ "third",    0,  3 },
250 	{ "fourth",   0,  4 },
251 	{ "fifth",    0,  5 },
252 	{ "sixth",    0,  6 },
253 	{ "seventh",  0,  7 },
254 	{ "eight",    0,  8 },
255 	{ "eighth",   0,  8 },
256 	{ "ninth",    0,  9 },
257 	{ "tenth",    0, 10 },
258 	{ "eleventh", 0, 11 },
259 	{ "twelfth",  0, 12 },
260 	{ "last",     0, -1 },
261 	{ "previous", 0, -1 },
262 	{ "this",     1,  0 },
263 	{ NULL,       1,  0 }
264 };
265 
266 /* The month table. */
267 static timelib_lookup_table const timelib_month_lookup[] = {
268 	{ "jan",  0,  1 },
269 	{ "feb",  0,  2 },
270 	{ "mar",  0,  3 },
271 	{ "apr",  0,  4 },
272 	{ "may",  0,  5 },
273 	{ "jun",  0,  6 },
274 	{ "jul",  0,  7 },
275 	{ "aug",  0,  8 },
276 	{ "sep",  0,  9 },
277 	{ "sept", 0,  9 },
278 	{ "oct",  0, 10 },
279 	{ "nov",  0, 11 },
280 	{ "dec",  0, 12 },
281 	{ "i",    0,  1 },
282 	{ "ii",   0,  2 },
283 	{ "iii",  0,  3 },
284 	{ "iv",   0,  4 },
285 	{ "v",    0,  5 },
286 	{ "vi",   0,  6 },
287 	{ "vii",  0,  7 },
288 	{ "viii", 0,  8 },
289 	{ "ix",   0,  9 },
290 	{ "x",    0, 10 },
291 	{ "xi",   0, 11 },
292 	{ "xii",  0, 12 },
293 
294 	{ "january",   0,  1 },
295 	{ "february",  0,  2 },
296 	{ "march",     0,  3 },
297 	{ "april",     0,  4 },
298 	{ "may",       0,  5 },
299 	{ "june",      0,  6 },
300 	{ "july",      0,  7 },
301 	{ "august",    0,  8 },
302 	{ "september", 0,  9 },
303 	{ "october",   0, 10 },
304 	{ "november",  0, 11 },
305 	{ "december",  0, 12 },
306 	{  NULL,       0,  0 }
307 };
308 
309 #if 0
310 static char* timelib_ltrim(char *s)
311 {
312 	char *ptr = s;
313 	while (ptr[0] == ' ' || ptr[0] == '\t') {
314 		ptr++;
315 	}
316 	return ptr;
317 }
318 #endif
319 
320 #if 0
321 uchar *fill(Scanner *s, uchar *cursor){
322 	if(!s->eof){
323 		unsigned int cnt = s->tok - s->bot;
324 		if(cnt){
325 			memcpy(s->bot, s->tok, s->lim - s->tok);
326 			s->tok = s->bot;
327 			s->ptr -= cnt;
328 			cursor -= cnt;
329 			s->pos -= cnt;
330 			s->lim -= cnt;
331 		}
332 		if((s->top - s->lim) < BSIZE){
333 			uchar *buf = (uchar*) timelib_malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
334 			memcpy(buf, s->tok, s->lim - s->tok);
335 			s->tok = buf;
336 			s->ptr = &buf[s->ptr - s->bot];
337 			cursor = &buf[cursor - s->bot];
338 			s->pos = &buf[s->pos - s->bot];
339 			s->lim = &buf[s->lim - s->bot];
340 			s->top = &s->lim[BSIZE];
341 			timelib_free(s->bot);
342 			s->bot = buf;
343 		}
344 		if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
345 			s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
346 		}
347 		s->lim += cnt;
348 	}
349 	return cursor;
350 }
351 #endif
352 
alloc_error_message(timelib_error_message ** messages,int * count)353 static timelib_error_message *alloc_error_message(timelib_error_message **messages, int *count)
354 {
355 	/* Realloc in power of two increments */
356 	int is_pow2 = (*count & (*count - 1)) == 0;
357 
358 	if (is_pow2) {
359 		size_t alloc_size = *count ? (*count * 2) : 1;
360 
361 		*messages = timelib_realloc(*messages, alloc_size * sizeof(timelib_error_message));
362 	}
363 	return *messages + (*count)++;
364 }
365 
add_warning(Scanner * s,int error_code,const char * error)366 static void add_warning(Scanner *s, int error_code, const char *error)
367 {
368 	timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
369 
370 	message->error_code = error_code;
371 	message->position = s->tok ? s->tok - s->str : 0;
372 	message->character = s->tok ? *s->tok : 0;
373 	message->message = timelib_strdup(error);
374 }
375 
add_error(Scanner * s,int error_code,const char * error)376 static void add_error(Scanner *s, int error_code, const char *error)
377 {
378 	timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
379 
380 	message->error_code = error_code;
381 	message->position = s->tok ? s->tok - s->str : 0;
382 	message->character = s->tok ? *s->tok : 0;
383 	message->message = timelib_strdup(error);
384 }
385 
add_pbf_warning(Scanner * s,int error_code,const char * error,const char * sptr,const char * cptr)386 static void add_pbf_warning(Scanner *s, int error_code, const char *error, const char *sptr, const char *cptr)
387 {
388 	timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
389 
390 	message->error_code = error_code;
391 	message->position = cptr - sptr;
392 	message->character = *cptr;
393 	message->message = timelib_strdup(error);
394 }
395 
add_pbf_error(Scanner * s,int error_code,const char * error,const char * sptr,const char * cptr)396 static void add_pbf_error(Scanner *s, int error_code, const char *error, const char *sptr, const char *cptr)
397 {
398 	timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
399 
400 	message->error_code = error_code;
401 	message->position = cptr - sptr;
402 	message->character = *cptr;
403 	message->message = timelib_strdup(error);
404 }
405 
timelib_meridian(const char ** ptr,timelib_sll h)406 static timelib_sll timelib_meridian(const char **ptr, timelib_sll h)
407 {
408 	timelib_sll retval = 0;
409 
410 	while (!strchr("AaPp", **ptr)) {
411 		++*ptr;
412 	}
413 	if (**ptr == 'a' || **ptr == 'A') {
414 		if (h == 12) {
415 			retval = -12;
416 		}
417 	} else if (h != 12) {
418 		retval = 12;
419 	}
420 	++*ptr;
421 	if (**ptr == '.') {
422 		++*ptr;
423 	}
424 	if (**ptr == 'M' || **ptr == 'm') {
425 		++*ptr;
426 	}
427 	if (**ptr == '.') {
428 		++*ptr;
429 	}
430 	return retval;
431 }
432 
timelib_meridian_with_check(const char ** ptr,timelib_sll h)433 static timelib_sll timelib_meridian_with_check(const char **ptr, timelib_sll h)
434 {
435 	timelib_sll retval = 0;
436 
437 	while (**ptr && !strchr("AaPp", **ptr)) {
438 		++*ptr;
439 	}
440 	if(!**ptr) {
441 		return TIMELIB_UNSET;
442 	}
443 	if (**ptr == 'a' || **ptr == 'A') {
444 		if (h == 12) {
445 			retval = -12;
446 		}
447 	} else if (h != 12) {
448 		retval = 12;
449 	}
450 	++*ptr;
451 	if (**ptr == '.') {
452 		++*ptr;
453 		if (**ptr != 'm' && **ptr != 'M') {
454 			return TIMELIB_UNSET;
455 		}
456 		++*ptr;
457 		if (**ptr != '.' ) {
458 			return TIMELIB_UNSET;
459 		}
460 		++*ptr;
461 	} else if (**ptr == 'm' || **ptr == 'M') {
462 		++*ptr;
463 	} else {
464 		return TIMELIB_UNSET;
465 	}
466 	return retval;
467 }
468 
timelib_string(Scanner * s)469 static char *timelib_string(Scanner *s)
470 {
471 	char *tmp = timelib_calloc(1, s->cur - s->tok + 1);
472 	memcpy(tmp, s->tok, s->cur - s->tok);
473 
474 	return tmp;
475 }
476 
timelib_get_nr_ex(const char ** ptr,int max_length,int * scanned_length)477 static timelib_sll timelib_get_nr_ex(const char **ptr, int max_length, int *scanned_length)
478 {
479 	const char *begin, *end;
480 	char *str;
481 	timelib_sll tmp_nr = TIMELIB_UNSET;
482 	int len = 0;
483 
484 	while ((**ptr < '0') || (**ptr > '9')) {
485 		if (**ptr == '\0') {
486 			return TIMELIB_UNSET;
487 		}
488 		++*ptr;
489 	}
490 
491 	begin = *ptr;
492 	while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
493 		++*ptr;
494 		++len;
495 	}
496 	end = *ptr;
497 	if (scanned_length) {
498 		*scanned_length = end - begin;
499 	}
500 	str = timelib_calloc(1, end - begin + 1);
501 	memcpy(str, begin, end - begin);
502 	tmp_nr = strtoll(str, NULL, 10);
503 	timelib_free(str);
504 	return tmp_nr;
505 }
506 
timelib_get_nr(const char ** ptr,int max_length)507 static timelib_sll timelib_get_nr(const char **ptr, int max_length)
508 {
509 	return timelib_get_nr_ex(ptr, max_length, NULL);
510 }
511 
timelib_skip_day_suffix(const char ** ptr)512 static void timelib_skip_day_suffix(const char **ptr)
513 {
514 	if (isspace(**ptr)) {
515 		return;
516 	}
517 	if (!timelib_strncasecmp(*ptr, "nd", 2) || !timelib_strncasecmp(*ptr, "rd", 2) ||!timelib_strncasecmp(*ptr, "st", 2) || !timelib_strncasecmp(*ptr, "th", 2)) {
518 		*ptr += 2;
519 	}
520 }
521 
timelib_get_frac_nr(const char ** ptr)522 static timelib_sll timelib_get_frac_nr(const char **ptr)
523 {
524 	const char *begin, *end;
525 	char *str;
526 	double tmp_nr = TIMELIB_UNSET;
527 
528 	while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
529 		if (**ptr == '\0') {
530 			return TIMELIB_UNSET;
531 		}
532 		++*ptr;
533 	}
534 	begin = *ptr;
535 	while ((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) {
536 		++*ptr;
537 	}
538 	end = *ptr;
539 	str = timelib_calloc(1, end - begin);
540 	memcpy(str, begin + 1, end - begin - 1);
541 	tmp_nr = strtod(str, NULL) * pow(10, 7 - (end - begin));
542 	timelib_free(str);
543 	return tmp_nr;
544 }
545 
timelib_get_signed_nr(Scanner * s,const char ** ptr,int max_length)546 static timelib_ull timelib_get_signed_nr(Scanner *s, const char **ptr, int max_length)
547 {
548 	char *str, *str_ptr;
549 	timelib_sll tmp_nr = 0;
550 	int len = 0;
551 
552 	/* Skip over non-numeric chars */
553 
554 	while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
555 		if (**ptr == '\0') {
556 			add_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Found unexpected data");
557 			return 0;
558 		}
559 		++*ptr;
560 	}
561 
562 	/* Allocate string to feed to strtoll(): sign + length + '\0' */
563 	str = timelib_calloc(1, max_length + 2);
564 	str[0] = '+'; /* First position is the sign */
565 	str_ptr = str + 1;
566 
567 	while ((**ptr == '+') || (**ptr == '-')) {
568 		if (**ptr == '-') {
569 			str[0] = str[0] == '+' ? '-' : '+';
570 		}
571 		++*ptr;
572 	}
573 
574 	while (((**ptr < '0') || (**ptr > '9'))) {
575 		if (**ptr == '\0') {
576 			timelib_free(str);
577 			add_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Found unexpected data");
578 			return 0;
579 		}
580 		++*ptr;
581 	}
582 
583 	while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
584 		*str_ptr = **ptr;
585 		++*ptr;
586 		++str_ptr;
587 		++len;
588 	}
589 
590 	errno = 0;
591 	tmp_nr = strtoll(str, NULL, 10);
592 	if (errno == ERANGE) {
593 		timelib_free(str);
594 		add_error(s, TIMELIB_ERR_NUMBER_OUT_OF_RANGE, "Number out of range");
595 		return 0;
596 	}
597 
598 	timelib_free(str);
599 
600 	return tmp_nr;
601 }
602 
timelib_lookup_relative_text(const char ** ptr,int * behavior)603 static timelib_sll timelib_lookup_relative_text(const char **ptr, int *behavior)
604 {
605 	char *word;
606 	const char *begin = *ptr, *end;
607 	timelib_sll  value = 0;
608 	const timelib_lookup_table *tp;
609 
610 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
611 		++*ptr;
612 	}
613 	end = *ptr;
614 	word = timelib_calloc(1, end - begin + 1);
615 	memcpy(word, begin, end - begin);
616 
617 	for (tp = timelib_reltext_lookup; tp->name; tp++) {
618 		if (timelib_strcasecmp(word, tp->name) == 0) {
619 			value = tp->value;
620 			*behavior = tp->type;
621 		}
622 	}
623 
624 	timelib_free(word);
625 	return value;
626 }
627 
timelib_get_relative_text(const char ** ptr,int * behavior)628 static timelib_sll timelib_get_relative_text(const char **ptr, int *behavior)
629 {
630 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
631 		++*ptr;
632 	}
633 	return timelib_lookup_relative_text(ptr, behavior);
634 }
635 
timelib_lookup_month(const char ** ptr)636 static timelib_long timelib_lookup_month(const char **ptr)
637 {
638 	char *word;
639 	const char *begin = *ptr, *end;
640 	timelib_long  value = 0;
641 	const timelib_lookup_table *tp;
642 
643 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
644 		++*ptr;
645 	}
646 	end = *ptr;
647 	word = timelib_calloc(1, end - begin + 1);
648 	memcpy(word, begin, end - begin);
649 
650 	for (tp = timelib_month_lookup; tp->name; tp++) {
651 		if (timelib_strcasecmp(word, tp->name) == 0) {
652 			value = tp->value;
653 		}
654 	}
655 
656 	timelib_free(word);
657 	return value;
658 }
659 
timelib_get_month(const char ** ptr)660 static timelib_long timelib_get_month(const char **ptr)
661 {
662 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
663 		++*ptr;
664 	}
665 	return timelib_lookup_month(ptr);
666 }
667 
timelib_eat_spaces(const char ** ptr)668 static void timelib_eat_spaces(const char **ptr)
669 {
670 	do {
671 		if (**ptr == ' ' || **ptr == '\t') {
672 			++*ptr;
673 			continue;
674 		}
675 		if ((*ptr)[0] == '\xe2' && (*ptr)[1] == '\x80' && (*ptr)[2] == '\xaf') { // NNBSP
676 			*ptr += 3;
677 			continue;
678 		}
679 		if ((*ptr)[0] == '\xc2' && (*ptr)[1] == '\xa0') { // NBSP
680 			*ptr += 2;
681 			continue;
682 		}
683 		break;
684 	} while (true);
685 }
686 
timelib_eat_until_separator(const char ** ptr)687 static void timelib_eat_until_separator(const char **ptr)
688 {
689 	++*ptr;
690 	while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
691 		++*ptr;
692 	}
693 }
694 
timelib_lookup_relunit(const char ** ptr)695 static const timelib_relunit* timelib_lookup_relunit(const char **ptr)
696 {
697 	char *word;
698 	const char *begin = *ptr, *end;
699 	const timelib_relunit *tp, *value = NULL;
700 
701 	while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
702 		**ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
703 		++*ptr;
704 	}
705 	end = *ptr;
706 	word = timelib_calloc(1, end - begin + 1);
707 	memcpy(word, begin, end - begin);
708 
709 	for (tp = timelib_relunit_lookup; tp->name; tp++) {
710 		if (timelib_strcasecmp(word, tp->name) == 0) {
711 			value = tp;
712 			break;
713 		}
714 	}
715 
716 	timelib_free(word);
717 	return value;
718 }
719 
add_with_overflow(Scanner * s,timelib_sll * e,timelib_sll amount,int multiplier)720 static void add_with_overflow(Scanner *s, timelib_sll *e, timelib_sll amount, int multiplier)
721 {
722 #if TIMELIB_HAVE_BUILTIN_SADDLL_OVERFLOW
723 	if (__builtin_saddll_overflow(*e, amount * multiplier, e)) {
724 		add_error(s, TIMELIB_ERR_NUMBER_OUT_OF_RANGE, "Number out of range");
725 	}
726 #else
727 	*e += (amount * multiplier);
728 #endif
729 }
730 
731 /**
732  * The time_part parameter is a flag. It can be TIMELIB_TIME_PART_KEEP in case
733  * the time portion should not be reset to midnight, or
734  * TIMELIB_TIME_PART_DONT_KEEP in case it does need to be reset. This is used
735  * for not overwriting the time portion for 'X weekday'.
736  */
timelib_set_relative(const char ** ptr,timelib_sll amount,int behavior,Scanner * s,int time_part)737 static void timelib_set_relative(const char **ptr, timelib_sll amount, int behavior, Scanner *s, int time_part)
738 {
739 	const timelib_relunit* relunit;
740 
741 	if (!(relunit = timelib_lookup_relunit(ptr))) {
742 		return;
743 	}
744 
745 	switch (relunit->unit) {
746 		case TIMELIB_MICROSEC: add_with_overflow(s, &s->time->relative.us, amount, relunit->multiplier); break;
747 		case TIMELIB_SECOND:   add_with_overflow(s, &s->time->relative.s, amount, relunit->multiplier); break;
748 		case TIMELIB_MINUTE:   add_with_overflow(s, &s->time->relative.i, amount, relunit->multiplier); break;
749 		case TIMELIB_HOUR:     add_with_overflow(s, &s->time->relative.h, amount, relunit->multiplier); break;
750 		case TIMELIB_DAY:      add_with_overflow(s, &s->time->relative.d, amount, relunit->multiplier); break;
751 		case TIMELIB_MONTH:    add_with_overflow(s, &s->time->relative.m, amount, relunit->multiplier); break;
752 		case TIMELIB_YEAR:     add_with_overflow(s, &s->time->relative.y, amount, relunit->multiplier); break;
753 
754 		case TIMELIB_WEEKDAY:
755 			TIMELIB_HAVE_WEEKDAY_RELATIVE();
756 			if (time_part != TIMELIB_TIME_PART_KEEP) {
757 				TIMELIB_UNHAVE_TIME();
758 			}
759 			s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
760 			s->time->relative.weekday = relunit->multiplier;
761 			s->time->relative.weekday_behavior = behavior;
762 			break;
763 
764 		case TIMELIB_SPECIAL:
765 			TIMELIB_HAVE_SPECIAL_RELATIVE();
766 			if (time_part != TIMELIB_TIME_PART_KEEP) {
767 				TIMELIB_UNHAVE_TIME();
768 			}
769 			s->time->relative.special.type = relunit->multiplier;
770 			s->time->relative.special.amount = amount;
771 	}
772 }
773 
abbr_search(const char * word,timelib_long gmtoffset,int isdst)774 static const timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst)
775 {
776 	int first_found = 0;
777 	const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
778 	const timelib_tz_lookup_table  *fmp;
779 
780 	if (timelib_strcasecmp("utc", word) == 0 || timelib_strcasecmp("gmt", word) == 0) {
781 		return timelib_timezone_utc;
782 	}
783 
784 	for (tp = timelib_timezone_lookup; tp->name; tp++) {
785 		if (timelib_strcasecmp(word, tp->name) == 0) {
786 			if (!first_found) {
787 				first_found = 1;
788 				first_found_elem = tp;
789 				if (gmtoffset == -1) {
790 					return tp;
791 				}
792 			}
793 			if (tp->gmtoffset == gmtoffset) {
794 				return tp;
795 			}
796 		}
797 	}
798 	if (first_found) {
799 		return first_found_elem;
800 	}
801 
802 	/* Still didn't find anything, let's find the zone solely based on
803 	 * offset/isdst then */
804 	for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
805 		if (fmp->gmtoffset == gmtoffset && fmp->type == isdst) {
806 			return fmp;
807 		}
808 	}
809 	return NULL;
810 }
811 
timelib_lookup_abbr(const char ** ptr,int * dst,char ** tz_abbr,int * found)812 static timelib_long timelib_lookup_abbr(const char **ptr, int *dst, char **tz_abbr, int *found)
813 {
814 	char *word;
815 	const char *begin = *ptr, *end;
816 	timelib_long  value = 0;
817 	const timelib_tz_lookup_table *tp;
818 
819 	/* Only include A-Z, a-z, 0-9, /, _, and - in abbreviations/TZ IDs */
820 	while (
821 		(**ptr >= 'A' && **ptr <= 'Z') ||
822 		(**ptr >= 'a' && **ptr <= 'z') ||
823 		(**ptr >= '0' && **ptr <= '9') ||
824 		**ptr == '/' || **ptr == '_' || **ptr == '-' || **ptr == '+'
825 	) {
826 		++*ptr;
827 	}
828 	end = *ptr;
829 	word = timelib_calloc(1, end - begin + 1);
830 	memcpy(word, begin, end - begin);
831 
832 	if (end - begin < MAX_ABBR_LEN && (tp = abbr_search(word, -1, 0))) {
833 		value = tp->gmtoffset;
834 		*dst = tp->type;
835 		value -= tp->type * 3600;
836 		*found = 1;
837 	} else {
838 		*found = 0;
839 	}
840 
841 	*tz_abbr = word;
842 	return value;
843 }
844 
845 #define sHOUR(a) (int)(a * 3600)
846 #define sMIN(a) (int)(a * 60)
847 
timelib_parse_tz_cor(const char ** ptr,int * tz_not_found)848 static timelib_long timelib_parse_tz_cor(const char **ptr, int *tz_not_found)
849 {
850 	const char *begin = *ptr, *end;
851 	timelib_long  tmp;
852 
853 	*tz_not_found = 1;
854 
855 	while (isdigit(**ptr) || **ptr == ':') {
856 		++*ptr;
857 	}
858 	end = *ptr;
859 	switch (end - begin) {
860 		case 1: /* H */
861 		case 2: /* HH */
862 			*tz_not_found = 0;
863 			return sHOUR(strtol(begin, NULL, 10));
864 
865 		case 3: /* H:M */
866 		case 4: /* H:MM, HH:M, HHMM */
867 			if (begin[1] == ':') {
868 				*tz_not_found = 0;
869 				tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 2, NULL, 10));
870 				return tmp;
871 			} else if (begin[2] == ':') {
872 				*tz_not_found = 0;
873 				tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
874 				return tmp;
875 			} else {
876 				*tz_not_found = 0;
877 				tmp = strtol(begin, NULL, 10);
878 				return sHOUR(tmp / 100) + sMIN(tmp % 100);
879 			}
880 
881 		case 5: /* HH:MM */
882 			if (begin[2] != ':') {
883 				break;
884 			}
885 
886 			*tz_not_found = 0;
887 			tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
888 			return tmp;
889 
890 		case 6: /* HHMMSS */
891 			*tz_not_found = 0;
892 			tmp = strtol(begin, NULL, 10);
893 			tmp = sHOUR(tmp / 10000) + sMIN((tmp / 100) % 100) + (tmp % 100);
894 			return tmp;
895 
896 		case 8: /* HH:MM:SS */
897 			if (begin[2] != ':' || begin[5] != ':') {
898 				break;
899 			}
900 
901 			*tz_not_found = 0;
902 			tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10)) + strtol(begin + 6, NULL, 10);
903 			return tmp;
904 
905 	}
906 	return 0;
907 }
908 
timelib_parse_tz_minutes(const char ** ptr,timelib_time * t)909 static timelib_long timelib_parse_tz_minutes(const char **ptr, timelib_time *t)
910 {
911 	timelib_long retval = TIMELIB_UNSET;
912 	const char *begin = *ptr;
913 
914 	/* First character must be +/- */
915 	if (**ptr != '+' && **ptr != '-') {
916 		return retval;
917 	}
918 
919 	++*ptr;
920 	while (isdigit(**ptr)) {
921 		++*ptr;
922 	}
923 
924 	if (*begin == '+') {
925 		t->is_localtime = 1;
926 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
927 		t->dst = 0;
928 
929 		retval = sMIN(strtol(begin + 1, NULL, 10));
930 	} else if (*begin == '-') {
931 		t->is_localtime = 1;
932 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
933 		t->dst = 0;
934 
935 		retval = -1 * sMIN(strtol(begin + 1, NULL, 10));
936 	}
937 	return retval;
938 }
939 
timelib_parse_zone(const char ** ptr,int * dst,timelib_time * t,int * tz_not_found,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_wrapper)940 timelib_long timelib_parse_zone(const char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper)
941 {
942 	timelib_tzinfo *res;
943 	timelib_long            retval = 0;
944 
945 	*tz_not_found = 0;
946 
947 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
948 		++*ptr;
949 	}
950 	if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
951 		*ptr += 3;
952 	}
953 	if (**ptr == '+') {
954 		++*ptr;
955 		t->is_localtime = 1;
956 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
957 		t->dst = 0;
958 
959 		retval = timelib_parse_tz_cor(ptr, tz_not_found);
960 	} else if (**ptr == '-') {
961 		++*ptr;
962 		t->is_localtime = 1;
963 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
964 		t->dst = 0;
965 
966 		retval = -1 * timelib_parse_tz_cor(ptr, tz_not_found);
967 	} else {
968 		int found = 0;
969 		timelib_long offset = 0;
970 		char *tz_abbr;
971 
972 		t->is_localtime = 1;
973 
974 		/* First, we lookup by abbreviation only */
975 		offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
976 		if (found) {
977 			t->zone_type = TIMELIB_ZONETYPE_ABBR;
978 			t->dst = *dst;
979 			timelib_time_tz_abbr_update(t, tz_abbr);
980 		}
981 
982 		/* Otherwise, we look if we have a TimeZone identifier */
983 		if (!found || strcmp("UTC", tz_abbr) == 0) {
984 			int dummy_error_code;
985 
986 			if ((res = tz_wrapper(tz_abbr, tzdb, &dummy_error_code)) != NULL) {
987 				t->tz_info = res;
988 				t->zone_type = TIMELIB_ZONETYPE_ID;
989 				found++;
990 			}
991 		}
992 		timelib_free(tz_abbr);
993 		*tz_not_found = (found == 0);
994 		retval = offset;
995 	}
996 	while (**ptr == ')') {
997 		++*ptr;
998 	}
999 	return retval;
1000 }
1001 
1002 #define timelib_split_free(arg) {       \
1003 	int i;                         \
1004 	for (i = 0; i < arg.c; i++) {  \
1005 		timelib_free(arg.v[i]);    \
1006 	}                              \
1007 	if (arg.v) {                   \
1008 		timelib_free(arg.v);       \
1009 	}                              \
1010 }
1011 
scan(Scanner * s,timelib_tz_get_wrapper tz_get_wrapper)1012 static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
1013 {
1014 	uchar *cursor = s->cur;
1015 	char *str;
1016 	const char *ptr = NULL;
1017 
1018 std:
1019 	s->tok = cursor;
1020 	s->len = 0;
1021 #line 1151 "ext/date/lib/parse_date.re"
1022 
1023 
1024 
1025 #line 1026 "<stdout>"
1026 {
1027 	YYCTYPE yych;
1028 	unsigned int yyaccept = 0;
1029 	static const unsigned char yybm[] = {
1030 		  0,   0,   0,   0,   0,   0,   0,   0,
1031 		  0,  50,   0,   0,   0,   0,   0,   0,
1032 		  0,   0,   0,   0,   0,   0,   0,   0,
1033 		  0,   0,   0,   0,   0,   0,   0,   0,
1034 		 50,   0,   0,   0,   0,   0,   0,   0,
1035 		  0,   0,   0,   4,  32,  20,  48,   0,
1036 		  8,   8,   8,   8,   8,   8,   8,   8,
1037 		  8,   8,   0,   0,   0,   0,   0,   0,
1038 		  0,  64,  64,  64,  64,  64,  64,  64,
1039 		 64,  64,  64,  64,  64,  64,  64,  64,
1040 		 64,  64,  64,  64,  64,  64,  64,  64,
1041 		 64,  64,  64,   0,   0,   0,   0,   0,
1042 		  0, 192, 192, 192, 224, 192, 192, 192,
1043 		224, 192, 192, 192, 192, 192, 224, 192,
1044 		192, 192, 224, 224, 224, 192, 192, 192,
1045 		192, 192, 192,   0,   0,   0,   0,   0,
1046 		  0,   0,   0,   0,   0,   0,   0,   0,
1047 		  0,   0,   0,   0,   0,   0,   0,   0,
1048 		  0,   0,   0,   0,   0,   0,   0,   0,
1049 		  0,   0,   0,   0,   0,   0,   0,   0,
1050 		  0,   0,   0,   0,   0,   0,   0,   0,
1051 		  0,   0,   0,   0,   0,   0,   0,   0,
1052 		  0,   0,   0,   0,   0,   0,   0,   0,
1053 		  0,   0,   0,   0,   0,   0,   0,   0,
1054 		  0,   0,   0,   0,   0,   0,   0,   0,
1055 		  0,   0,   0,   0,   0,   0,   0,   0,
1056 		  0,   0,   0,   0,   0,   0,   0,   0,
1057 		  0,   0,   0,   0,   0,   0,   0,   0,
1058 		  0,   0,   0,   0,   0,   0,   0,   0,
1059 		  0,   0,   0,   0,   0,   0,   0,   0,
1060 		  0,   0,   0,   0,   0,   0,   0,   0,
1061 		  0,   0,   0,   0,   0,   0,   0,   0,
1062 	};
1063 	YYDEBUG(0, *YYCURSOR);
1064 	if ((YYLIMIT - YYCURSOR) < 36) YYFILL(36);
1065 	yych = *YYCURSOR;
1066 	if (yybm[0+yych] & 2) {
1067 		goto yy6;
1068 	}
1069 	if (yych <= 'R') {
1070 		if (yych <= '?') {
1071 			if (yych <= ',') {
1072 				if (yych <= '\'') {
1073 					if (yych <= 0x00) goto yy2;
1074 					if (yych <= 0x08) goto yy4;
1075 					if (yych >= '\v') goto yy4;
1076 				} else {
1077 					if (yych <= '(') goto yy9;
1078 					if (yych <= '*') goto yy4;
1079 					if (yych <= '+') goto yy10;
1080 					goto yy11;
1081 				}
1082 			} else {
1083 				if (yych <= '0') {
1084 					if (yych <= '-') goto yy10;
1085 					if (yych <= '.') goto yy11;
1086 					if (yych <= '/') goto yy4;
1087 					goto yy13;
1088 				} else {
1089 					if (yych <= '2') {
1090 						if (yych <= '1') goto yy14;
1091 						goto yy15;
1092 					} else {
1093 						if (yych <= '3') goto yy16;
1094 						if (yych <= '9') goto yy17;
1095 						goto yy4;
1096 					}
1097 				}
1098 			}
1099 		} else {
1100 			if (yych <= 'H') {
1101 				if (yych <= 'C') {
1102 					if (yych <= '@') goto yy18;
1103 					if (yych <= 'A') goto yy19;
1104 					if (yych <= 'B') goto yy21;
1105 					goto yy22;
1106 				} else {
1107 					if (yych <= 'E') {
1108 						if (yych <= 'D') goto yy23;
1109 						goto yy24;
1110 					} else {
1111 						if (yych <= 'F') goto yy25;
1112 						if (yych <= 'G') goto yy26;
1113 						goto yy22;
1114 					}
1115 				}
1116 			} else {
1117 				if (yych <= 'L') {
1118 					if (yych <= 'I') goto yy27;
1119 					if (yych <= 'J') goto yy28;
1120 					if (yych <= 'K') goto yy22;
1121 					goto yy29;
1122 				} else {
1123 					if (yych <= 'N') {
1124 						if (yych <= 'M') goto yy30;
1125 						goto yy31;
1126 					} else {
1127 						if (yych <= 'O') goto yy32;
1128 						if (yych <= 'P') goto yy33;
1129 						goto yy22;
1130 					}
1131 				}
1132 			}
1133 		}
1134 	} else {
1135 		if (yych <= 'k') {
1136 			if (yych <= '`') {
1137 				if (yych <= 'V') {
1138 					if (yych <= 'S') goto yy34;
1139 					if (yych <= 'T') goto yy35;
1140 					if (yych <= 'U') goto yy22;
1141 					goto yy36;
1142 				} else {
1143 					if (yych <= 'X') {
1144 						if (yych <= 'W') goto yy37;
1145 						goto yy38;
1146 					} else {
1147 						if (yych <= 'Y') goto yy39;
1148 						if (yych <= 'Z') goto yy22;
1149 						goto yy4;
1150 					}
1151 				}
1152 			} else {
1153 				if (yych <= 'd') {
1154 					if (yych <= 'a') goto yy40;
1155 					if (yych <= 'b') goto yy41;
1156 					if (yych <= 'c') goto yy42;
1157 					goto yy43;
1158 				} else {
1159 					if (yych <= 'f') {
1160 						if (yych <= 'e') goto yy44;
1161 						goto yy45;
1162 					} else {
1163 						if (yych == 'j') goto yy46;
1164 						goto yy42;
1165 					}
1166 				}
1167 			}
1168 		} else {
1169 			if (yych <= 'v') {
1170 				if (yych <= 'o') {
1171 					if (yych <= 'l') goto yy47;
1172 					if (yych <= 'm') goto yy48;
1173 					if (yych <= 'n') goto yy49;
1174 					goto yy50;
1175 				} else {
1176 					if (yych <= 'r') {
1177 						if (yych <= 'p') goto yy51;
1178 						goto yy42;
1179 					} else {
1180 						if (yych <= 's') goto yy52;
1181 						if (yych <= 't') goto yy53;
1182 						goto yy42;
1183 					}
1184 				}
1185 			} else {
1186 				if (yych <= 'z') {
1187 					if (yych <= 'w') goto yy54;
1188 					if (yych == 'y') goto yy55;
1189 					goto yy42;
1190 				} else {
1191 					if (yych <= 0xC2) {
1192 						if (yych <= 0xC1) goto yy4;
1193 						goto yy56;
1194 					} else {
1195 						if (yych == 0xE2) goto yy57;
1196 						goto yy4;
1197 					}
1198 				}
1199 			}
1200 		}
1201 	}
1202 yy2:
1203 	YYDEBUG(2, *YYCURSOR);
1204 	++YYCURSOR;
1205 	YYDEBUG(3, *YYCURSOR);
1206 #line 1984 "ext/date/lib/parse_date.re"
1207 	{
1208 		s->pos = cursor; s->line++;
1209 		goto std;
1210 	}
1211 #line 1212 "<stdout>"
1212 yy4:
1213 	YYDEBUG(4, *YYCURSOR);
1214 	++YYCURSOR;
1215 yy5:
1216 	YYDEBUG(5, *YYCURSOR);
1217 #line 1990 "ext/date/lib/parse_date.re"
1218 	{
1219 		add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character");
1220 		goto std;
1221 	}
1222 #line 1223 "<stdout>"
1223 yy6:
1224 	YYDEBUG(6, *YYCURSOR);
1225 	yyaccept = 0;
1226 	YYMARKER = ++YYCURSOR;
1227 	if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
1228 	yych = *YYCURSOR;
1229 	YYDEBUG(7, *YYCURSOR);
1230 	if (yybm[0+yych] & 2) {
1231 		goto yy6;
1232 	}
1233 	if (yych <= '/') goto yy8;
1234 	if (yych <= '9') goto yy58;
1235 yy8:
1236 	YYDEBUG(8, *YYCURSOR);
1237 #line 1979 "ext/date/lib/parse_date.re"
1238 	{
1239 		goto std;
1240 	}
1241 #line 1242 "<stdout>"
1242 yy9:
1243 	YYDEBUG(9, *YYCURSOR);
1244 	yych = *++YYCURSOR;
1245 	if (yych <= '@') goto yy5;
1246 	if (yych <= 'Z') goto yy42;
1247 	if (yych <= '`') goto yy5;
1248 	if (yych <= 'z') goto yy42;
1249 	goto yy5;
1250 yy10:
1251 	YYDEBUG(10, *YYCURSOR);
1252 	yyaccept = 1;
1253 	yych = *(YYMARKER = ++YYCURSOR);
1254 	if (yybm[0+yych] & 4) {
1255 		goto yy62;
1256 	}
1257 	if (yych <= ' ') {
1258 		if (yych == '\t') goto yy60;
1259 		if (yych <= 0x1F) goto yy5;
1260 		goto yy60;
1261 	} else {
1262 		if (yych <= '1') {
1263 			if (yych <= '/') goto yy5;
1264 			goto yy64;
1265 		} else {
1266 			if (yych <= '2') goto yy65;
1267 			if (yych <= '9') goto yy66;
1268 			goto yy5;
1269 		}
1270 	}
1271 yy11:
1272 	YYDEBUG(11, *YYCURSOR);
1273 	++YYCURSOR;
1274 	YYDEBUG(12, *YYCURSOR);
1275 #line 1974 "ext/date/lib/parse_date.re"
1276 	{
1277 		goto std;
1278 	}
1279 #line 1280 "<stdout>"
1280 yy13:
1281 	YYDEBUG(13, *YYCURSOR);
1282 	yyaccept = 1;
1283 	yych = *(YYMARKER = ++YYCURSOR);
1284 	if (yych <= 'a') {
1285 		if (yych <= '@') {
1286 			if (yych <= '-') {
1287 				if (yych <= 0x1F) {
1288 					if (yych == '\t') goto yy67;
1289 					goto yy5;
1290 				} else {
1291 					if (yych <= ' ') goto yy69;
1292 					if (yych <= ',') goto yy5;
1293 					goto yy70;
1294 				}
1295 			} else {
1296 				if (yych <= '0') {
1297 					if (yych <= '.') goto yy71;
1298 					if (yych <= '/') goto yy72;
1299 					goto yy73;
1300 				} else {
1301 					if (yych <= '9') goto yy74;
1302 					if (yych <= ':') goto yy75;
1303 					goto yy5;
1304 				}
1305 			}
1306 		} else {
1307 			if (yych <= 'G') {
1308 				if (yych <= 'D') {
1309 					if (yych <= 'A') goto yy69;
1310 					if (yych <= 'C') goto yy5;
1311 					goto yy69;
1312 				} else {
1313 					if (yych == 'F') goto yy69;
1314 					goto yy5;
1315 				}
1316 			} else {
1317 				if (yych <= 'O') {
1318 					if (yych <= 'J') goto yy69;
1319 					if (yych <= 'L') goto yy5;
1320 					goto yy69;
1321 				} else {
1322 					if (yych <= 'R') goto yy5;
1323 					if (yych <= 'Y') goto yy69;
1324 					if (yych <= '`') goto yy5;
1325 					goto yy69;
1326 				}
1327 			}
1328 		}
1329 	} else {
1330 		if (yych <= 'q') {
1331 			if (yych <= 'h') {
1332 				if (yych <= 'e') {
1333 					if (yych == 'd') goto yy69;
1334 					goto yy5;
1335 				} else {
1336 					if (yych == 'g') goto yy5;
1337 					goto yy69;
1338 				}
1339 			} else {
1340 				if (yych <= 'l') {
1341 					if (yych == 'j') goto yy69;
1342 					goto yy5;
1343 				} else {
1344 					if (yych == 'n') goto yy93;
1345 					if (yych <= 'o') goto yy69;
1346 					goto yy5;
1347 				}
1348 			}
1349 		} else {
1350 			if (yych <= 'w') {
1351 				if (yych <= 't') {
1352 					if (yych <= 'r') goto yy94;
1353 					if (yych <= 's') goto yy95;
1354 					goto yy96;
1355 				} else {
1356 					if (yych == 'v') goto yy5;
1357 					goto yy69;
1358 				}
1359 			} else {
1360 				if (yych <= 0xC1) {
1361 					if (yych == 'y') goto yy69;
1362 					goto yy5;
1363 				} else {
1364 					if (yych <= 0xC2) goto yy97;
1365 					if (yych == 0xE2) goto yy98;
1366 					goto yy5;
1367 				}
1368 			}
1369 		}
1370 	}
1371 yy14:
1372 	YYDEBUG(14, *YYCURSOR);
1373 	yyaccept = 1;
1374 	yych = *(YYMARKER = ++YYCURSOR);
1375 	if (yych <= 'a') {
1376 		if (yych <= '@') {
1377 			if (yych <= '-') {
1378 				if (yych <= 0x1F) {
1379 					if (yych == '\t') goto yy99;
1380 					goto yy5;
1381 				} else {
1382 					if (yych <= ' ') goto yy101;
1383 					if (yych <= ',') goto yy5;
1384 					goto yy70;
1385 				}
1386 			} else {
1387 				if (yych <= '2') {
1388 					if (yych <= '.') goto yy102;
1389 					if (yych <= '/') goto yy72;
1390 					goto yy74;
1391 				} else {
1392 					if (yych <= '9') goto yy103;
1393 					if (yych <= ':') goto yy104;
1394 					goto yy5;
1395 				}
1396 			}
1397 		} else {
1398 			if (yych <= 'G') {
1399 				if (yych <= 'D') {
1400 					if (yych <= 'A') goto yy101;
1401 					if (yych <= 'C') goto yy5;
1402 					goto yy101;
1403 				} else {
1404 					if (yych == 'F') goto yy101;
1405 					goto yy5;
1406 				}
1407 			} else {
1408 				if (yych <= 'P') {
1409 					if (yych <= 'J') goto yy101;
1410 					if (yych <= 'L') goto yy5;
1411 					goto yy101;
1412 				} else {
1413 					if (yych <= 'R') goto yy5;
1414 					if (yych <= 'Y') goto yy101;
1415 					if (yych <= '`') goto yy5;
1416 					goto yy101;
1417 				}
1418 			}
1419 		}
1420 	} else {
1421 		if (yych <= 'q') {
1422 			if (yych <= 'h') {
1423 				if (yych <= 'e') {
1424 					if (yych == 'd') goto yy101;
1425 					goto yy5;
1426 				} else {
1427 					if (yych == 'g') goto yy5;
1428 					goto yy101;
1429 				}
1430 			} else {
1431 				if (yych <= 'l') {
1432 					if (yych == 'j') goto yy101;
1433 					goto yy5;
1434 				} else {
1435 					if (yych == 'n') goto yy93;
1436 					if (yych <= 'p') goto yy101;
1437 					goto yy5;
1438 				}
1439 			}
1440 		} else {
1441 			if (yych <= 'w') {
1442 				if (yych <= 't') {
1443 					if (yych <= 'r') goto yy94;
1444 					if (yych <= 's') goto yy95;
1445 					goto yy96;
1446 				} else {
1447 					if (yych == 'v') goto yy5;
1448 					goto yy101;
1449 				}
1450 			} else {
1451 				if (yych <= 0xC1) {
1452 					if (yych == 'y') goto yy101;
1453 					goto yy5;
1454 				} else {
1455 					if (yych <= 0xC2) goto yy107;
1456 					if (yych == 0xE2) goto yy108;
1457 					goto yy5;
1458 				}
1459 			}
1460 		}
1461 	}
1462 yy15:
1463 	YYDEBUG(15, *YYCURSOR);
1464 	yyaccept = 1;
1465 	yych = *(YYMARKER = ++YYCURSOR);
1466 	if (yych <= 'a') {
1467 		if (yych <= '@') {
1468 			if (yych <= '-') {
1469 				if (yych <= 0x1F) {
1470 					if (yych == '\t') goto yy99;
1471 					goto yy5;
1472 				} else {
1473 					if (yych <= ' ') goto yy101;
1474 					if (yych <= ',') goto yy5;
1475 					goto yy70;
1476 				}
1477 			} else {
1478 				if (yych <= '4') {
1479 					if (yych <= '.') goto yy102;
1480 					if (yych <= '/') goto yy72;
1481 					goto yy103;
1482 				} else {
1483 					if (yych <= '9') goto yy109;
1484 					if (yych <= ':') goto yy104;
1485 					goto yy5;
1486 				}
1487 			}
1488 		} else {
1489 			if (yych <= 'G') {
1490 				if (yych <= 'D') {
1491 					if (yych <= 'A') goto yy101;
1492 					if (yych <= 'C') goto yy5;
1493 					goto yy101;
1494 				} else {
1495 					if (yych == 'F') goto yy101;
1496 					goto yy5;
1497 				}
1498 			} else {
1499 				if (yych <= 'P') {
1500 					if (yych <= 'J') goto yy101;
1501 					if (yych <= 'L') goto yy5;
1502 					goto yy101;
1503 				} else {
1504 					if (yych <= 'R') goto yy5;
1505 					if (yych <= 'Y') goto yy101;
1506 					if (yych <= '`') goto yy5;
1507 					goto yy101;
1508 				}
1509 			}
1510 		}
1511 	} else {
1512 		if (yych <= 'q') {
1513 			if (yych <= 'h') {
1514 				if (yych <= 'e') {
1515 					if (yych == 'd') goto yy101;
1516 					goto yy5;
1517 				} else {
1518 					if (yych == 'g') goto yy5;
1519 					goto yy101;
1520 				}
1521 			} else {
1522 				if (yych <= 'l') {
1523 					if (yych == 'j') goto yy101;
1524 					goto yy5;
1525 				} else {
1526 					if (yych == 'n') goto yy93;
1527 					if (yych <= 'p') goto yy101;
1528 					goto yy5;
1529 				}
1530 			}
1531 		} else {
1532 			if (yych <= 'w') {
1533 				if (yych <= 't') {
1534 					if (yych <= 'r') goto yy94;
1535 					if (yych <= 's') goto yy95;
1536 					goto yy96;
1537 				} else {
1538 					if (yych == 'v') goto yy5;
1539 					goto yy101;
1540 				}
1541 			} else {
1542 				if (yych <= 0xC1) {
1543 					if (yych == 'y') goto yy101;
1544 					goto yy5;
1545 				} else {
1546 					if (yych <= 0xC2) goto yy107;
1547 					if (yych == 0xE2) goto yy108;
1548 					goto yy5;
1549 				}
1550 			}
1551 		}
1552 	}
1553 yy16:
1554 	YYDEBUG(16, *YYCURSOR);
1555 	yyaccept = 1;
1556 	yych = *(YYMARKER = ++YYCURSOR);
1557 	if (yych <= 'a') {
1558 		if (yych <= '@') {
1559 			if (yych <= '-') {
1560 				if (yych <= 0x1F) {
1561 					if (yych == '\t') goto yy99;
1562 					goto yy5;
1563 				} else {
1564 					if (yych <= ' ') goto yy101;
1565 					if (yych <= ',') goto yy5;
1566 					goto yy70;
1567 				}
1568 			} else {
1569 				if (yych <= '1') {
1570 					if (yych <= '.') goto yy102;
1571 					if (yych <= '/') goto yy72;
1572 					goto yy109;
1573 				} else {
1574 					if (yych <= '9') goto yy110;
1575 					if (yych <= ':') goto yy104;
1576 					goto yy5;
1577 				}
1578 			}
1579 		} else {
1580 			if (yych <= 'G') {
1581 				if (yych <= 'D') {
1582 					if (yych <= 'A') goto yy101;
1583 					if (yych <= 'C') goto yy5;
1584 					goto yy101;
1585 				} else {
1586 					if (yych == 'F') goto yy101;
1587 					goto yy5;
1588 				}
1589 			} else {
1590 				if (yych <= 'P') {
1591 					if (yych <= 'J') goto yy101;
1592 					if (yych <= 'L') goto yy5;
1593 					goto yy101;
1594 				} else {
1595 					if (yych <= 'R') goto yy5;
1596 					if (yych <= 'Y') goto yy101;
1597 					if (yych <= '`') goto yy5;
1598 					goto yy101;
1599 				}
1600 			}
1601 		}
1602 	} else {
1603 		if (yych <= 'q') {
1604 			if (yych <= 'h') {
1605 				if (yych <= 'e') {
1606 					if (yych == 'd') goto yy101;
1607 					goto yy5;
1608 				} else {
1609 					if (yych == 'g') goto yy5;
1610 					goto yy101;
1611 				}
1612 			} else {
1613 				if (yych <= 'l') {
1614 					if (yych == 'j') goto yy101;
1615 					goto yy5;
1616 				} else {
1617 					if (yych == 'n') goto yy93;
1618 					if (yych <= 'p') goto yy101;
1619 					goto yy5;
1620 				}
1621 			}
1622 		} else {
1623 			if (yych <= 'w') {
1624 				if (yych <= 't') {
1625 					if (yych <= 'r') goto yy94;
1626 					if (yych <= 's') goto yy95;
1627 					goto yy96;
1628 				} else {
1629 					if (yych == 'v') goto yy5;
1630 					goto yy101;
1631 				}
1632 			} else {
1633 				if (yych <= 0xC1) {
1634 					if (yych == 'y') goto yy101;
1635 					goto yy5;
1636 				} else {
1637 					if (yych <= 0xC2) goto yy107;
1638 					if (yych == 0xE2) goto yy108;
1639 					goto yy5;
1640 				}
1641 			}
1642 		}
1643 	}
1644 yy17:
1645 	YYDEBUG(17, *YYCURSOR);
1646 	yyaccept = 1;
1647 	yych = *(YYMARKER = ++YYCURSOR);
1648 	if (yych <= 'c') {
1649 		if (yych <= 'A') {
1650 			if (yych <= '-') {
1651 				if (yych <= 0x1F) {
1652 					if (yych == '\t') goto yy99;
1653 					goto yy5;
1654 				} else {
1655 					if (yych <= ' ') goto yy101;
1656 					if (yych <= ',') goto yy5;
1657 					goto yy70;
1658 				}
1659 			} else {
1660 				if (yych <= '9') {
1661 					if (yych <= '.') goto yy102;
1662 					if (yych <= '/') goto yy72;
1663 					goto yy110;
1664 				} else {
1665 					if (yych <= ':') goto yy104;
1666 					if (yych <= '@') goto yy5;
1667 					goto yy101;
1668 				}
1669 			}
1670 		} else {
1671 			if (yych <= 'J') {
1672 				if (yych <= 'E') {
1673 					if (yych == 'D') goto yy101;
1674 					goto yy5;
1675 				} else {
1676 					if (yych == 'G') goto yy5;
1677 					goto yy101;
1678 				}
1679 			} else {
1680 				if (yych <= 'R') {
1681 					if (yych <= 'L') goto yy5;
1682 					if (yych <= 'P') goto yy101;
1683 					goto yy5;
1684 				} else {
1685 					if (yych <= 'Y') goto yy101;
1686 					if (yych == 'a') goto yy101;
1687 					goto yy5;
1688 				}
1689 			}
1690 		}
1691 	} else {
1692 		if (yych <= 'q') {
1693 			if (yych <= 'i') {
1694 				if (yych <= 'f') {
1695 					if (yych == 'e') goto yy5;
1696 					goto yy101;
1697 				} else {
1698 					if (yych == 'h') goto yy101;
1699 					goto yy5;
1700 				}
1701 			} else {
1702 				if (yych <= 'm') {
1703 					if (yych <= 'j') goto yy101;
1704 					if (yych <= 'l') goto yy5;
1705 					goto yy101;
1706 				} else {
1707 					if (yych <= 'n') goto yy93;
1708 					if (yych <= 'p') goto yy101;
1709 					goto yy5;
1710 				}
1711 			}
1712 		} else {
1713 			if (yych <= 'w') {
1714 				if (yych <= 't') {
1715 					if (yych <= 'r') goto yy94;
1716 					if (yych <= 's') goto yy95;
1717 					goto yy96;
1718 				} else {
1719 					if (yych == 'v') goto yy5;
1720 					goto yy101;
1721 				}
1722 			} else {
1723 				if (yych <= 0xC1) {
1724 					if (yych == 'y') goto yy101;
1725 					goto yy5;
1726 				} else {
1727 					if (yych <= 0xC2) goto yy107;
1728 					if (yych == 0xE2) goto yy108;
1729 					goto yy5;
1730 				}
1731 			}
1732 		}
1733 	}
1734 yy18:
1735 	YYDEBUG(18, *YYCURSOR);
1736 	yyaccept = 1;
1737 	yych = *(YYMARKER = ++YYCURSOR);
1738 	if (yybm[0+yych] & 8) {
1739 		goto yy112;
1740 	}
1741 	if (yych == '-') goto yy111;
1742 	goto yy5;
1743 yy19:
1744 	YYDEBUG(19, *YYCURSOR);
1745 	yych = *++YYCURSOR;
1746 	if (yych <= 'U') {
1747 		if (yych <= 'F') {
1748 			if (yych == ')') goto yy115;
1749 			if (yych >= 'A') goto yy116;
1750 		} else {
1751 			if (yych <= 'O') {
1752 				if (yych <= 'G') goto yy117;
1753 				goto yy116;
1754 			} else {
1755 				if (yych <= 'P') goto yy118;
1756 				if (yych <= 'T') goto yy116;
1757 				goto yy119;
1758 			}
1759 		}
1760 	} else {
1761 		if (yych <= 'o') {
1762 			if (yych <= '`') {
1763 				if (yych <= 'Z') goto yy116;
1764 			} else {
1765 				if (yych == 'g') goto yy121;
1766 				goto yy120;
1767 			}
1768 		} else {
1769 			if (yych <= 't') {
1770 				if (yych <= 'p') goto yy122;
1771 				goto yy120;
1772 			} else {
1773 				if (yych <= 'u') goto yy123;
1774 				if (yych <= 'z') goto yy120;
1775 			}
1776 		}
1777 	}
1778 yy20:
1779 	YYDEBUG(20, *YYCURSOR);
1780 #line 1889 "ext/date/lib/parse_date.re"
1781 	{
1782 		int tz_not_found;
1783 		DEBUG_OUTPUT("tzcorrection | tz");
1784 		TIMELIB_INIT;
1785 		TIMELIB_HAVE_TZ();
1786 		timelib_eat_spaces(&ptr);
1787 		s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
1788 		if (tz_not_found) {
1789 			add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
1790 		}
1791 		TIMELIB_DEINIT;
1792 		return TIMELIB_TIMEZONE;
1793 	}
1794 #line 1795 "<stdout>"
1795 yy21:
1796 	YYDEBUG(21, *YYCURSOR);
1797 	yych = *++YYCURSOR;
1798 	if (yych <= 'A') {
1799 		if (yych == ')') goto yy115;
1800 		if (yych <= '@') goto yy20;
1801 		goto yy124;
1802 	} else {
1803 		if (yych <= '`') {
1804 			if (yych <= 'Z') goto yy116;
1805 			goto yy20;
1806 		} else {
1807 			if (yych <= 'a') goto yy125;
1808 			if (yych <= 'z') goto yy120;
1809 			goto yy20;
1810 		}
1811 	}
1812 yy22:
1813 	YYDEBUG(22, *YYCURSOR);
1814 	yych = *++YYCURSOR;
1815 	if (yych <= '@') {
1816 		if (yych == ')') goto yy115;
1817 		goto yy20;
1818 	} else {
1819 		if (yych <= 'Z') goto yy116;
1820 		if (yych <= '`') goto yy20;
1821 		if (yych <= 'z') goto yy120;
1822 		goto yy20;
1823 	}
1824 yy23:
1825 	YYDEBUG(23, *YYCURSOR);
1826 	yych = *++YYCURSOR;
1827 	if (yych <= 'E') {
1828 		if (yych <= ')') {
1829 			if (yych <= '(') goto yy20;
1830 			goto yy115;
1831 		} else {
1832 			if (yych <= '@') goto yy20;
1833 			if (yych <= 'D') goto yy116;
1834 			goto yy126;
1835 		}
1836 	} else {
1837 		if (yych <= 'd') {
1838 			if (yych <= 'Z') goto yy116;
1839 			if (yych <= '`') goto yy20;
1840 			goto yy120;
1841 		} else {
1842 			if (yych <= 'e') goto yy127;
1843 			if (yych <= 'z') goto yy120;
1844 			goto yy20;
1845 		}
1846 	}
1847 yy24:
1848 	YYDEBUG(24, *YYCURSOR);
1849 	yych = *++YYCURSOR;
1850 	if (yych <= 'L') {
1851 		if (yych <= '@') {
1852 			if (yych == ')') goto yy115;
1853 			goto yy20;
1854 		} else {
1855 			if (yych == 'I') goto yy128;
1856 			if (yych <= 'K') goto yy116;
1857 			goto yy129;
1858 		}
1859 	} else {
1860 		if (yych <= 'i') {
1861 			if (yych <= 'Z') goto yy116;
1862 			if (yych <= '`') goto yy20;
1863 			if (yych <= 'h') goto yy120;
1864 			goto yy130;
1865 		} else {
1866 			if (yych == 'l') goto yy131;
1867 			if (yych <= 'z') goto yy120;
1868 			goto yy20;
1869 		}
1870 	}
1871 yy25:
1872 	YYDEBUG(25, *YYCURSOR);
1873 	yych = *++YYCURSOR;
1874 	if (yych <= 'R') {
1875 		if (yych <= 'E') {
1876 			if (yych <= ')') {
1877 				if (yych <= '(') goto yy20;
1878 				goto yy115;
1879 			} else {
1880 				if (yych <= '@') goto yy20;
1881 				if (yych <= 'D') goto yy116;
1882 				goto yy132;
1883 			}
1884 		} else {
1885 			if (yych <= 'N') {
1886 				if (yych == 'I') goto yy133;
1887 				goto yy116;
1888 			} else {
1889 				if (yych <= 'O') goto yy134;
1890 				if (yych <= 'Q') goto yy116;
1891 				goto yy135;
1892 			}
1893 		}
1894 	} else {
1895 		if (yych <= 'i') {
1896 			if (yych <= 'd') {
1897 				if (yych <= 'Z') goto yy116;
1898 				if (yych <= '`') goto yy20;
1899 				goto yy120;
1900 			} else {
1901 				if (yych <= 'e') goto yy136;
1902 				if (yych <= 'h') goto yy120;
1903 				goto yy137;
1904 			}
1905 		} else {
1906 			if (yych <= 'q') {
1907 				if (yych == 'o') goto yy138;
1908 				goto yy120;
1909 			} else {
1910 				if (yych <= 'r') goto yy139;
1911 				if (yych <= 'z') goto yy120;
1912 				goto yy20;
1913 			}
1914 		}
1915 	}
1916 yy26:
1917 	YYDEBUG(26, *YYCURSOR);
1918 	yych = *++YYCURSOR;
1919 	if (yych <= 'L') {
1920 		if (yych == ')') goto yy115;
1921 		if (yych <= '@') goto yy20;
1922 		goto yy116;
1923 	} else {
1924 		if (yych <= 'Z') {
1925 			if (yych <= 'M') goto yy140;
1926 			goto yy116;
1927 		} else {
1928 			if (yych <= '`') goto yy20;
1929 			if (yych <= 'z') goto yy120;
1930 			goto yy20;
1931 		}
1932 	}
1933 yy27:
1934 	YYDEBUG(27, *YYCURSOR);
1935 	yyaccept = 2;
1936 	yych = *(YYMARKER = ++YYCURSOR);
1937 	if (yych <= '9') {
1938 		if (yych <= '(') {
1939 			if (yych <= '\t') {
1940 				if (yych <= 0x08) goto yy20;
1941 				goto yy142;
1942 			} else {
1943 				if (yych == ' ') goto yy142;
1944 				goto yy20;
1945 			}
1946 		} else {
1947 			if (yych <= ',') {
1948 				if (yych <= ')') goto yy115;
1949 				goto yy20;
1950 			} else {
1951 				if (yych == '/') goto yy20;
1952 				goto yy142;
1953 			}
1954 		}
1955 	} else {
1956 		if (yych <= 'V') {
1957 			if (yych <= 'H') {
1958 				if (yych <= '@') goto yy20;
1959 				goto yy116;
1960 			} else {
1961 				if (yych <= 'I') goto yy146;
1962 				if (yych <= 'U') goto yy116;
1963 				goto yy147;
1964 			}
1965 		} else {
1966 			if (yych <= 'Z') {
1967 				if (yych == 'X') goto yy147;
1968 				goto yy116;
1969 			} else {
1970 				if (yych <= '`') goto yy20;
1971 				if (yych <= 'z') goto yy120;
1972 				goto yy20;
1973 			}
1974 		}
1975 	}
1976 yy28:
1977 	YYDEBUG(28, *YYCURSOR);
1978 	yych = *++YYCURSOR;
1979 	if (yych <= 'U') {
1980 		if (yych <= '@') {
1981 			if (yych == ')') goto yy115;
1982 			goto yy20;
1983 		} else {
1984 			if (yych <= 'A') goto yy148;
1985 			if (yych <= 'T') goto yy116;
1986 			goto yy149;
1987 		}
1988 	} else {
1989 		if (yych <= 'a') {
1990 			if (yych <= 'Z') goto yy116;
1991 			if (yych <= '`') goto yy20;
1992 			goto yy150;
1993 		} else {
1994 			if (yych == 'u') goto yy151;
1995 			if (yych <= 'z') goto yy120;
1996 			goto yy20;
1997 		}
1998 	}
1999 yy29:
2000 	YYDEBUG(29, *YYCURSOR);
2001 	yych = *++YYCURSOR;
2002 	if (yych <= 'A') {
2003 		if (yych == ')') goto yy115;
2004 		if (yych <= '@') goto yy20;
2005 		goto yy152;
2006 	} else {
2007 		if (yych <= '`') {
2008 			if (yych <= 'Z') goto yy116;
2009 			goto yy20;
2010 		} else {
2011 			if (yych <= 'a') goto yy153;
2012 			if (yych <= 'z') goto yy120;
2013 			goto yy20;
2014 		}
2015 	}
2016 yy30:
2017 	YYDEBUG(30, *YYCURSOR);
2018 	yych = *++YYCURSOR;
2019 	if (yych <= 'O') {
2020 		if (yych <= 'A') {
2021 			if (yych == ')') goto yy115;
2022 			if (yych <= '@') goto yy20;
2023 			goto yy154;
2024 		} else {
2025 			if (yych == 'I') goto yy155;
2026 			if (yych <= 'N') goto yy116;
2027 			goto yy156;
2028 		}
2029 	} else {
2030 		if (yych <= 'h') {
2031 			if (yych <= 'Z') goto yy116;
2032 			if (yych <= '`') goto yy20;
2033 			if (yych <= 'a') goto yy157;
2034 			goto yy120;
2035 		} else {
2036 			if (yych <= 'n') {
2037 				if (yych <= 'i') goto yy158;
2038 				goto yy120;
2039 			} else {
2040 				if (yych <= 'o') goto yy159;
2041 				if (yych <= 'z') goto yy120;
2042 				goto yy20;
2043 			}
2044 		}
2045 	}
2046 yy31:
2047 	YYDEBUG(31, *YYCURSOR);
2048 	yych = *++YYCURSOR;
2049 	if (yych <= 'O') {
2050 		if (yych <= 'D') {
2051 			if (yych == ')') goto yy115;
2052 			if (yych <= '@') goto yy20;
2053 			goto yy116;
2054 		} else {
2055 			if (yych <= 'H') {
2056 				if (yych <= 'E') goto yy160;
2057 				goto yy116;
2058 			} else {
2059 				if (yych <= 'I') goto yy161;
2060 				if (yych <= 'N') goto yy116;
2061 				goto yy162;
2062 			}
2063 		}
2064 	} else {
2065 		if (yych <= 'h') {
2066 			if (yych <= '`') {
2067 				if (yych <= 'Z') goto yy116;
2068 				goto yy20;
2069 			} else {
2070 				if (yych == 'e') goto yy163;
2071 				goto yy120;
2072 			}
2073 		} else {
2074 			if (yych <= 'n') {
2075 				if (yych <= 'i') goto yy164;
2076 				goto yy120;
2077 			} else {
2078 				if (yych <= 'o') goto yy165;
2079 				if (yych <= 'z') goto yy120;
2080 				goto yy20;
2081 			}
2082 		}
2083 	}
2084 yy32:
2085 	YYDEBUG(32, *YYCURSOR);
2086 	yych = *++YYCURSOR;
2087 	if (yych <= 'C') {
2088 		if (yych <= ')') {
2089 			if (yych <= '(') goto yy20;
2090 			goto yy115;
2091 		} else {
2092 			if (yych <= '@') goto yy20;
2093 			if (yych <= 'B') goto yy116;
2094 			goto yy166;
2095 		}
2096 	} else {
2097 		if (yych <= 'b') {
2098 			if (yych <= 'Z') goto yy116;
2099 			if (yych <= '`') goto yy20;
2100 			goto yy120;
2101 		} else {
2102 			if (yych <= 'c') goto yy167;
2103 			if (yych <= 'z') goto yy120;
2104 			goto yy20;
2105 		}
2106 	}
2107 yy33:
2108 	YYDEBUG(33, *YYCURSOR);
2109 	yych = *++YYCURSOR;
2110 	if (yych <= 'R') {
2111 		if (yych <= ')') {
2112 			if (yych <= '(') goto yy20;
2113 			goto yy115;
2114 		} else {
2115 			if (yych <= '@') goto yy20;
2116 			if (yych <= 'Q') goto yy116;
2117 			goto yy168;
2118 		}
2119 	} else {
2120 		if (yych <= 'q') {
2121 			if (yych <= 'Z') goto yy116;
2122 			if (yych <= '`') goto yy20;
2123 			goto yy120;
2124 		} else {
2125 			if (yych <= 'r') goto yy169;
2126 			if (yych <= 'z') goto yy120;
2127 			goto yy20;
2128 		}
2129 	}
2130 yy34:
2131 	YYDEBUG(34, *YYCURSOR);
2132 	yych = *++YYCURSOR;
2133 	if (yych <= 'U') {
2134 		if (yych <= 'D') {
2135 			if (yych <= ')') {
2136 				if (yych <= '(') goto yy20;
2137 				goto yy115;
2138 			} else {
2139 				if (yych <= '@') goto yy20;
2140 				if (yych <= 'A') goto yy170;
2141 				goto yy116;
2142 			}
2143 		} else {
2144 			if (yych <= 'H') {
2145 				if (yych <= 'E') goto yy171;
2146 				goto yy116;
2147 			} else {
2148 				if (yych <= 'I') goto yy172;
2149 				if (yych <= 'T') goto yy116;
2150 				goto yy156;
2151 			}
2152 		}
2153 	} else {
2154 		if (yych <= 'e') {
2155 			if (yych <= '`') {
2156 				if (yych <= 'Z') goto yy116;
2157 				goto yy20;
2158 			} else {
2159 				if (yych <= 'a') goto yy173;
2160 				if (yych <= 'd') goto yy120;
2161 				goto yy174;
2162 			}
2163 		} else {
2164 			if (yych <= 't') {
2165 				if (yych == 'i') goto yy175;
2166 				goto yy120;
2167 			} else {
2168 				if (yych <= 'u') goto yy159;
2169 				if (yych <= 'z') goto yy120;
2170 				goto yy20;
2171 			}
2172 		}
2173 	}
2174 yy35:
2175 	YYDEBUG(35, *YYCURSOR);
2176 	yych = *++YYCURSOR;
2177 	switch (yych) {
2178 	case ')':	goto yy115;
2179 	case '0':
2180 	case '1':	goto yy176;
2181 	case '2':	goto yy178;
2182 	case '3':
2183 	case '4':
2184 	case '5':
2185 	case '6':
2186 	case '7':
2187 	case '8':
2188 	case '9':	goto yy179;
2189 	case 'A':
2190 	case 'B':
2191 	case 'C':
2192 	case 'D':
2193 	case 'F':
2194 	case 'G':
2195 	case 'I':
2196 	case 'J':
2197 	case 'K':
2198 	case 'L':
2199 	case 'M':
2200 	case 'N':
2201 	case 'P':
2202 	case 'Q':
2203 	case 'R':
2204 	case 'S':
2205 	case 'T':
2206 	case 'V':
2207 	case 'X':
2208 	case 'Y':
2209 	case 'Z':	goto yy116;
2210 	case 'E':	goto yy161;
2211 	case 'H':	goto yy180;
2212 	case 'O':	goto yy181;
2213 	case 'U':	goto yy182;
2214 	case 'W':	goto yy183;
2215 	case 'a':
2216 	case 'b':
2217 	case 'c':
2218 	case 'd':
2219 	case 'f':
2220 	case 'g':
2221 	case 'i':
2222 	case 'j':
2223 	case 'k':
2224 	case 'l':
2225 	case 'm':
2226 	case 'n':
2227 	case 'p':
2228 	case 'q':
2229 	case 'r':
2230 	case 's':
2231 	case 't':
2232 	case 'v':
2233 	case 'x':
2234 	case 'y':
2235 	case 'z':	goto yy120;
2236 	case 'e':	goto yy164;
2237 	case 'h':	goto yy184;
2238 	case 'o':	goto yy185;
2239 	case 'u':	goto yy186;
2240 	case 'w':	goto yy187;
2241 	default:	goto yy20;
2242 	}
2243 yy36:
2244 	YYDEBUG(36, *YYCURSOR);
2245 	yyaccept = 2;
2246 	yych = *(YYMARKER = ++YYCURSOR);
2247 	if (yych <= '.') {
2248 		if (yych <= ' ') {
2249 			if (yych == '\t') goto yy142;
2250 			if (yych <= 0x1F) goto yy20;
2251 			goto yy142;
2252 		} else {
2253 			if (yych == ')') goto yy115;
2254 			if (yych <= ',') goto yy20;
2255 			goto yy142;
2256 		}
2257 	} else {
2258 		if (yych <= 'H') {
2259 			if (yych <= '/') goto yy20;
2260 			if (yych <= '9') goto yy142;
2261 			if (yych <= '@') goto yy20;
2262 			goto yy116;
2263 		} else {
2264 			if (yych <= 'Z') {
2265 				if (yych <= 'I') goto yy188;
2266 				goto yy116;
2267 			} else {
2268 				if (yych <= '`') goto yy20;
2269 				if (yych <= 'z') goto yy120;
2270 				goto yy20;
2271 			}
2272 		}
2273 	}
2274 yy37:
2275 	YYDEBUG(37, *YYCURSOR);
2276 	yych = *++YYCURSOR;
2277 	if (yych <= 'E') {
2278 		if (yych <= ')') {
2279 			if (yych <= '(') goto yy20;
2280 			goto yy115;
2281 		} else {
2282 			if (yych <= '@') goto yy20;
2283 			if (yych <= 'D') goto yy116;
2284 			goto yy189;
2285 		}
2286 	} else {
2287 		if (yych <= 'd') {
2288 			if (yych <= 'Z') goto yy116;
2289 			if (yych <= '`') goto yy20;
2290 			goto yy120;
2291 		} else {
2292 			if (yych <= 'e') goto yy190;
2293 			if (yych <= 'z') goto yy120;
2294 			goto yy20;
2295 		}
2296 	}
2297 yy38:
2298 	YYDEBUG(38, *YYCURSOR);
2299 	yyaccept = 2;
2300 	yych = *(YYMARKER = ++YYCURSOR);
2301 	if (yych <= '.') {
2302 		if (yych <= ' ') {
2303 			if (yych == '\t') goto yy142;
2304 			if (yych <= 0x1F) goto yy20;
2305 			goto yy142;
2306 		} else {
2307 			if (yych == ')') goto yy115;
2308 			if (yych <= ',') goto yy20;
2309 			goto yy142;
2310 		}
2311 	} else {
2312 		if (yych <= 'H') {
2313 			if (yych <= '/') goto yy20;
2314 			if (yych <= '9') goto yy142;
2315 			if (yych <= '@') goto yy20;
2316 			goto yy116;
2317 		} else {
2318 			if (yych <= 'Z') {
2319 				if (yych <= 'I') goto yy146;
2320 				goto yy116;
2321 			} else {
2322 				if (yych <= '`') goto yy20;
2323 				if (yych <= 'z') goto yy120;
2324 				goto yy20;
2325 			}
2326 		}
2327 	}
2328 yy39:
2329 	YYDEBUG(39, *YYCURSOR);
2330 	yych = *++YYCURSOR;
2331 	if (yych <= 'E') {
2332 		if (yych <= ')') {
2333 			if (yych <= '(') goto yy20;
2334 			goto yy115;
2335 		} else {
2336 			if (yych <= '@') goto yy20;
2337 			if (yych <= 'D') goto yy116;
2338 			goto yy191;
2339 		}
2340 	} else {
2341 		if (yych <= 'd') {
2342 			if (yych <= 'Z') goto yy116;
2343 			if (yych <= '`') goto yy20;
2344 			goto yy120;
2345 		} else {
2346 			if (yych <= 'e') goto yy192;
2347 			if (yych <= 'z') goto yy120;
2348 			goto yy20;
2349 		}
2350 	}
2351 yy40:
2352 	YYDEBUG(40, *YYCURSOR);
2353 	yych = *++YYCURSOR;
2354 	if (yych <= 'U') {
2355 		if (yych <= 'F') {
2356 			if (yych == ')') goto yy115;
2357 			if (yych <= '@') goto yy20;
2358 			goto yy116;
2359 		} else {
2360 			if (yych <= 'O') {
2361 				if (yych <= 'G') goto yy117;
2362 				goto yy116;
2363 			} else {
2364 				if (yych <= 'P') goto yy118;
2365 				if (yych <= 'T') goto yy116;
2366 				goto yy119;
2367 			}
2368 		}
2369 	} else {
2370 		if (yych <= 'o') {
2371 			if (yych <= '`') {
2372 				if (yych <= 'Z') goto yy116;
2373 				goto yy20;
2374 			} else {
2375 				if (yych == 'g') goto yy117;
2376 				goto yy116;
2377 			}
2378 		} else {
2379 			if (yych <= 't') {
2380 				if (yych <= 'p') goto yy118;
2381 				goto yy116;
2382 			} else {
2383 				if (yych <= 'u') goto yy119;
2384 				if (yych <= 'z') goto yy116;
2385 				goto yy20;
2386 			}
2387 		}
2388 	}
2389 yy41:
2390 	YYDEBUG(41, *YYCURSOR);
2391 	yych = *++YYCURSOR;
2392 	if (yych <= 'A') {
2393 		if (yych == ')') goto yy115;
2394 		if (yych <= '@') goto yy20;
2395 		goto yy124;
2396 	} else {
2397 		if (yych <= '`') {
2398 			if (yych <= 'Z') goto yy116;
2399 			goto yy20;
2400 		} else {
2401 			if (yych <= 'a') goto yy124;
2402 			if (yych <= 'z') goto yy116;
2403 			goto yy20;
2404 		}
2405 	}
2406 yy42:
2407 	YYDEBUG(42, *YYCURSOR);
2408 	yych = *++YYCURSOR;
2409 	if (yych <= '@') {
2410 		if (yych == ')') goto yy115;
2411 		goto yy20;
2412 	} else {
2413 		if (yych <= 'Z') goto yy116;
2414 		if (yych <= '`') goto yy20;
2415 		if (yych <= 'z') goto yy116;
2416 		goto yy20;
2417 	}
2418 yy43:
2419 	YYDEBUG(43, *YYCURSOR);
2420 	yych = *++YYCURSOR;
2421 	if (yych <= 'E') {
2422 		if (yych <= ')') {
2423 			if (yych <= '(') goto yy20;
2424 			goto yy115;
2425 		} else {
2426 			if (yych <= '@') goto yy20;
2427 			if (yych <= 'D') goto yy116;
2428 			goto yy126;
2429 		}
2430 	} else {
2431 		if (yych <= 'd') {
2432 			if (yych <= 'Z') goto yy116;
2433 			if (yych <= '`') goto yy20;
2434 			goto yy116;
2435 		} else {
2436 			if (yych <= 'e') goto yy126;
2437 			if (yych <= 'z') goto yy116;
2438 			goto yy20;
2439 		}
2440 	}
2441 yy44:
2442 	YYDEBUG(44, *YYCURSOR);
2443 	yych = *++YYCURSOR;
2444 	if (yych <= 'L') {
2445 		if (yych <= '@') {
2446 			if (yych == ')') goto yy115;
2447 			goto yy20;
2448 		} else {
2449 			if (yych == 'I') goto yy128;
2450 			if (yych <= 'K') goto yy116;
2451 			goto yy129;
2452 		}
2453 	} else {
2454 		if (yych <= 'i') {
2455 			if (yych <= 'Z') goto yy116;
2456 			if (yych <= '`') goto yy20;
2457 			if (yych <= 'h') goto yy116;
2458 			goto yy128;
2459 		} else {
2460 			if (yych == 'l') goto yy129;
2461 			if (yych <= 'z') goto yy116;
2462 			goto yy20;
2463 		}
2464 	}
2465 yy45:
2466 	YYDEBUG(45, *YYCURSOR);
2467 	yych = *++YYCURSOR;
2468 	if (yych <= 'R') {
2469 		if (yych <= 'E') {
2470 			if (yych <= ')') {
2471 				if (yych <= '(') goto yy20;
2472 				goto yy115;
2473 			} else {
2474 				if (yych <= '@') goto yy20;
2475 				if (yych <= 'D') goto yy116;
2476 				goto yy132;
2477 			}
2478 		} else {
2479 			if (yych <= 'N') {
2480 				if (yych == 'I') goto yy133;
2481 				goto yy116;
2482 			} else {
2483 				if (yych <= 'O') goto yy134;
2484 				if (yych <= 'Q') goto yy116;
2485 				goto yy135;
2486 			}
2487 		}
2488 	} else {
2489 		if (yych <= 'i') {
2490 			if (yych <= 'd') {
2491 				if (yych <= 'Z') goto yy116;
2492 				if (yych <= '`') goto yy20;
2493 				goto yy116;
2494 			} else {
2495 				if (yych <= 'e') goto yy132;
2496 				if (yych <= 'h') goto yy116;
2497 				goto yy133;
2498 			}
2499 		} else {
2500 			if (yych <= 'q') {
2501 				if (yych == 'o') goto yy134;
2502 				goto yy116;
2503 			} else {
2504 				if (yych <= 'r') goto yy135;
2505 				if (yych <= 'z') goto yy116;
2506 				goto yy20;
2507 			}
2508 		}
2509 	}
2510 yy46:
2511 	YYDEBUG(46, *YYCURSOR);
2512 	yych = *++YYCURSOR;
2513 	if (yych <= 'U') {
2514 		if (yych <= '@') {
2515 			if (yych == ')') goto yy115;
2516 			goto yy20;
2517 		} else {
2518 			if (yych <= 'A') goto yy148;
2519 			if (yych <= 'T') goto yy116;
2520 			goto yy149;
2521 		}
2522 	} else {
2523 		if (yych <= 'a') {
2524 			if (yych <= 'Z') goto yy116;
2525 			if (yych <= '`') goto yy20;
2526 			goto yy148;
2527 		} else {
2528 			if (yych == 'u') goto yy149;
2529 			if (yych <= 'z') goto yy116;
2530 			goto yy20;
2531 		}
2532 	}
2533 yy47:
2534 	YYDEBUG(47, *YYCURSOR);
2535 	yych = *++YYCURSOR;
2536 	if (yych <= 'A') {
2537 		if (yych == ')') goto yy115;
2538 		if (yych <= '@') goto yy20;
2539 		goto yy152;
2540 	} else {
2541 		if (yych <= '`') {
2542 			if (yych <= 'Z') goto yy116;
2543 			goto yy20;
2544 		} else {
2545 			if (yych <= 'a') goto yy152;
2546 			if (yych <= 'z') goto yy116;
2547 			goto yy20;
2548 		}
2549 	}
2550 yy48:
2551 	YYDEBUG(48, *YYCURSOR);
2552 	yych = *++YYCURSOR;
2553 	if (yych <= 'O') {
2554 		if (yych <= 'A') {
2555 			if (yych == ')') goto yy115;
2556 			if (yych <= '@') goto yy20;
2557 			goto yy154;
2558 		} else {
2559 			if (yych == 'I') goto yy155;
2560 			if (yych <= 'N') goto yy116;
2561 			goto yy156;
2562 		}
2563 	} else {
2564 		if (yych <= 'h') {
2565 			if (yych <= 'Z') goto yy116;
2566 			if (yych <= '`') goto yy20;
2567 			if (yych <= 'a') goto yy154;
2568 			goto yy116;
2569 		} else {
2570 			if (yych <= 'n') {
2571 				if (yych <= 'i') goto yy155;
2572 				goto yy116;
2573 			} else {
2574 				if (yych <= 'o') goto yy156;
2575 				if (yych <= 'z') goto yy116;
2576 				goto yy20;
2577 			}
2578 		}
2579 	}
2580 yy49:
2581 	YYDEBUG(49, *YYCURSOR);
2582 	yych = *++YYCURSOR;
2583 	if (yych <= 'O') {
2584 		if (yych <= 'D') {
2585 			if (yych == ')') goto yy115;
2586 			if (yych <= '@') goto yy20;
2587 			goto yy116;
2588 		} else {
2589 			if (yych <= 'H') {
2590 				if (yych <= 'E') goto yy160;
2591 				goto yy116;
2592 			} else {
2593 				if (yych <= 'I') goto yy161;
2594 				if (yych <= 'N') goto yy116;
2595 				goto yy162;
2596 			}
2597 		}
2598 	} else {
2599 		if (yych <= 'h') {
2600 			if (yych <= '`') {
2601 				if (yych <= 'Z') goto yy116;
2602 				goto yy20;
2603 			} else {
2604 				if (yych == 'e') goto yy160;
2605 				goto yy116;
2606 			}
2607 		} else {
2608 			if (yych <= 'n') {
2609 				if (yych <= 'i') goto yy161;
2610 				goto yy116;
2611 			} else {
2612 				if (yych <= 'o') goto yy162;
2613 				if (yych <= 'z') goto yy116;
2614 				goto yy20;
2615 			}
2616 		}
2617 	}
2618 yy50:
2619 	YYDEBUG(50, *YYCURSOR);
2620 	yych = *++YYCURSOR;
2621 	if (yych <= 'C') {
2622 		if (yych <= ')') {
2623 			if (yych <= '(') goto yy20;
2624 			goto yy115;
2625 		} else {
2626 			if (yych <= '@') goto yy20;
2627 			if (yych <= 'B') goto yy116;
2628 			goto yy166;
2629 		}
2630 	} else {
2631 		if (yych <= 'b') {
2632 			if (yych <= 'Z') goto yy116;
2633 			if (yych <= '`') goto yy20;
2634 			goto yy116;
2635 		} else {
2636 			if (yych <= 'c') goto yy166;
2637 			if (yych <= 'z') goto yy116;
2638 			goto yy20;
2639 		}
2640 	}
2641 yy51:
2642 	YYDEBUG(51, *YYCURSOR);
2643 	yych = *++YYCURSOR;
2644 	if (yych <= 'R') {
2645 		if (yych <= ')') {
2646 			if (yych <= '(') goto yy20;
2647 			goto yy115;
2648 		} else {
2649 			if (yych <= '@') goto yy20;
2650 			if (yych <= 'Q') goto yy116;
2651 			goto yy168;
2652 		}
2653 	} else {
2654 		if (yych <= 'q') {
2655 			if (yych <= 'Z') goto yy116;
2656 			if (yych <= '`') goto yy20;
2657 			goto yy116;
2658 		} else {
2659 			if (yych <= 'r') goto yy168;
2660 			if (yych <= 'z') goto yy116;
2661 			goto yy20;
2662 		}
2663 	}
2664 yy52:
2665 	YYDEBUG(52, *YYCURSOR);
2666 	yych = *++YYCURSOR;
2667 	if (yych <= 'U') {
2668 		if (yych <= 'D') {
2669 			if (yych <= ')') {
2670 				if (yych <= '(') goto yy20;
2671 				goto yy115;
2672 			} else {
2673 				if (yych <= '@') goto yy20;
2674 				if (yych <= 'A') goto yy170;
2675 				goto yy116;
2676 			}
2677 		} else {
2678 			if (yych <= 'H') {
2679 				if (yych <= 'E') goto yy171;
2680 				goto yy116;
2681 			} else {
2682 				if (yych <= 'I') goto yy172;
2683 				if (yych <= 'T') goto yy116;
2684 				goto yy156;
2685 			}
2686 		}
2687 	} else {
2688 		if (yych <= 'e') {
2689 			if (yych <= '`') {
2690 				if (yych <= 'Z') goto yy116;
2691 				goto yy20;
2692 			} else {
2693 				if (yych <= 'a') goto yy170;
2694 				if (yych <= 'd') goto yy116;
2695 				goto yy171;
2696 			}
2697 		} else {
2698 			if (yych <= 't') {
2699 				if (yych == 'i') goto yy172;
2700 				goto yy116;
2701 			} else {
2702 				if (yych <= 'u') goto yy156;
2703 				if (yych <= 'z') goto yy116;
2704 				goto yy20;
2705 			}
2706 		}
2707 	}
2708 yy53:
2709 	YYDEBUG(53, *YYCURSOR);
2710 	yych = *++YYCURSOR;
2711 	switch (yych) {
2712 	case ')':	goto yy115;
2713 	case '0':
2714 	case '1':	goto yy176;
2715 	case '2':	goto yy178;
2716 	case '3':
2717 	case '4':
2718 	case '5':
2719 	case '6':
2720 	case '7':
2721 	case '8':
2722 	case '9':	goto yy179;
2723 	case 'A':
2724 	case 'B':
2725 	case 'C':
2726 	case 'D':
2727 	case 'F':
2728 	case 'G':
2729 	case 'I':
2730 	case 'J':
2731 	case 'K':
2732 	case 'L':
2733 	case 'M':
2734 	case 'N':
2735 	case 'P':
2736 	case 'Q':
2737 	case 'R':
2738 	case 'S':
2739 	case 'T':
2740 	case 'V':
2741 	case 'X':
2742 	case 'Y':
2743 	case 'Z':
2744 	case 'a':
2745 	case 'b':
2746 	case 'c':
2747 	case 'd':
2748 	case 'f':
2749 	case 'g':
2750 	case 'i':
2751 	case 'j':
2752 	case 'k':
2753 	case 'l':
2754 	case 'm':
2755 	case 'n':
2756 	case 'p':
2757 	case 'q':
2758 	case 'r':
2759 	case 's':
2760 	case 't':
2761 	case 'v':
2762 	case 'x':
2763 	case 'y':
2764 	case 'z':	goto yy116;
2765 	case 'E':
2766 	case 'e':	goto yy161;
2767 	case 'H':
2768 	case 'h':	goto yy180;
2769 	case 'O':
2770 	case 'o':	goto yy181;
2771 	case 'U':
2772 	case 'u':	goto yy182;
2773 	case 'W':
2774 	case 'w':	goto yy183;
2775 	default:	goto yy20;
2776 	}
2777 yy54:
2778 	YYDEBUG(54, *YYCURSOR);
2779 	yych = *++YYCURSOR;
2780 	if (yych <= 'E') {
2781 		if (yych <= ')') {
2782 			if (yych <= '(') goto yy20;
2783 			goto yy115;
2784 		} else {
2785 			if (yych <= '@') goto yy20;
2786 			if (yych <= 'D') goto yy116;
2787 			goto yy189;
2788 		}
2789 	} else {
2790 		if (yych <= 'd') {
2791 			if (yych <= 'Z') goto yy116;
2792 			if (yych <= '`') goto yy20;
2793 			goto yy116;
2794 		} else {
2795 			if (yych <= 'e') goto yy189;
2796 			if (yych <= 'z') goto yy116;
2797 			goto yy20;
2798 		}
2799 	}
2800 yy55:
2801 	YYDEBUG(55, *YYCURSOR);
2802 	yych = *++YYCURSOR;
2803 	if (yych <= 'E') {
2804 		if (yych <= ')') {
2805 			if (yych <= '(') goto yy20;
2806 			goto yy115;
2807 		} else {
2808 			if (yych <= '@') goto yy20;
2809 			if (yych <= 'D') goto yy116;
2810 			goto yy191;
2811 		}
2812 	} else {
2813 		if (yych <= 'd') {
2814 			if (yych <= 'Z') goto yy116;
2815 			if (yych <= '`') goto yy20;
2816 			goto yy116;
2817 		} else {
2818 			if (yych <= 'e') goto yy191;
2819 			if (yych <= 'z') goto yy116;
2820 			goto yy20;
2821 		}
2822 	}
2823 yy56:
2824 	YYDEBUG(56, *YYCURSOR);
2825 	yych = *++YYCURSOR;
2826 	if (yych == 0xA0) goto yy193;
2827 	goto yy5;
2828 yy57:
2829 	YYDEBUG(57, *YYCURSOR);
2830 	yyaccept = 1;
2831 	yych = *(YYMARKER = ++YYCURSOR);
2832 	if (yych == 0x80) goto yy194;
2833 	goto yy5;
2834 yy58:
2835 	YYDEBUG(58, *YYCURSOR);
2836 	yych = *++YYCURSOR;
2837 	if (yych <= 0xC1) {
2838 		if (yych <= '/') goto yy196;
2839 		if (yych <= '9') goto yy197;
2840 		goto yy196;
2841 	} else {
2842 		if (yych <= 0xC2) goto yy97;
2843 		if (yych == 0xE2) goto yy98;
2844 		goto yy196;
2845 	}
2846 yy59:
2847 	YYDEBUG(59, *YYCURSOR);
2848 	YYCURSOR = YYMARKER;
2849 	if (yyaccept <= 16) {
2850 		if (yyaccept <= 8) {
2851 			if (yyaccept <= 4) {
2852 				if (yyaccept <= 2) {
2853 					if (yyaccept <= 1) {
2854 						if (yyaccept == 0) {
2855 							goto yy8;
2856 						} else {
2857 							goto yy5;
2858 						}
2859 					} else {
2860 						goto yy20;
2861 					}
2862 				} else {
2863 					if (yyaccept == 3) {
2864 						goto yy81;
2865 					} else {
2866 						goto yy177;
2867 					}
2868 				}
2869 			} else {
2870 				if (yyaccept <= 6) {
2871 					if (yyaccept == 5) {
2872 						goto yy224;
2873 					} else {
2874 						goto yy260;
2875 					}
2876 				} else {
2877 					if (yyaccept == 7) {
2878 						goto yy295;
2879 					} else {
2880 						goto yy293;
2881 					}
2882 				}
2883 			}
2884 		} else {
2885 			if (yyaccept <= 12) {
2886 				if (yyaccept <= 10) {
2887 					if (yyaccept == 9) {
2888 						goto yy315;
2889 					} else {
2890 						goto yy325;
2891 					}
2892 				} else {
2893 					if (yyaccept == 11) {
2894 						goto yy351;
2895 					} else {
2896 						goto yy420;
2897 					}
2898 				}
2899 			} else {
2900 				if (yyaccept <= 14) {
2901 					if (yyaccept == 13) {
2902 						goto yy422;
2903 					} else {
2904 						goto yy526;
2905 					}
2906 				} else {
2907 					if (yyaccept == 15) {
2908 						goto yy567;
2909 					} else {
2910 						goto yy722;
2911 					}
2912 				}
2913 			}
2914 		}
2915 	} else {
2916 		if (yyaccept <= 25) {
2917 			if (yyaccept <= 21) {
2918 				if (yyaccept <= 19) {
2919 					if (yyaccept <= 18) {
2920 						if (yyaccept == 17) {
2921 							goto yy739;
2922 						} else {
2923 							goto yy752;
2924 						}
2925 					} else {
2926 						goto yy777;
2927 					}
2928 				} else {
2929 					if (yyaccept == 20) {
2930 						goto yy849;
2931 					} else {
2932 						goto yy926;
2933 					}
2934 				}
2935 			} else {
2936 				if (yyaccept <= 23) {
2937 					if (yyaccept == 22) {
2938 						goto yy600;
2939 					} else {
2940 						goto yy942;
2941 					}
2942 				} else {
2943 					if (yyaccept == 24) {
2944 						goto yy982;
2945 					} else {
2946 						goto yy1025;
2947 					}
2948 				}
2949 			}
2950 		} else {
2951 			if (yyaccept <= 29) {
2952 				if (yyaccept <= 27) {
2953 					if (yyaccept == 26) {
2954 						goto yy1043;
2955 					} else {
2956 						goto yy1048;
2957 					}
2958 				} else {
2959 					if (yyaccept == 28) {
2960 						goto yy1107;
2961 					} else {
2962 						goto yy1145;
2963 					}
2964 				}
2965 			} else {
2966 				if (yyaccept <= 31) {
2967 					if (yyaccept == 30) {
2968 						goto yy1172;
2969 					} else {
2970 						goto yy1175;
2971 					}
2972 				} else {
2973 					if (yyaccept == 32) {
2974 						goto yy1329;
2975 					} else {
2976 						goto yy1375;
2977 					}
2978 				}
2979 			}
2980 		}
2981 	}
2982 yy60:
2983 	YYDEBUG(60, *YYCURSOR);
2984 	++YYCURSOR;
2985 	if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
2986 	yych = *YYCURSOR;
2987 	YYDEBUG(61, *YYCURSOR);
2988 	if (yych <= 0x1F) {
2989 		if (yych == '\t') goto yy60;
2990 		goto yy59;
2991 	} else {
2992 		if (yych <= ' ') goto yy60;
2993 		if (yych <= '/') goto yy59;
2994 		if (yych <= '9') goto yy58;
2995 		goto yy59;
2996 	}
2997 yy62:
2998 	YYDEBUG(62, *YYCURSOR);
2999 	++YYCURSOR;
3000 	if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
3001 	yych = *YYCURSOR;
3002 	YYDEBUG(63, *YYCURSOR);
3003 	if (yybm[0+yych] & 4) {
3004 		goto yy62;
3005 	}
3006 	if (yych <= 0x1F) {
3007 		if (yych == '\t') goto yy60;
3008 		goto yy59;
3009 	} else {
3010 		if (yych <= ' ') goto yy60;
3011 		if (yych <= '/') goto yy59;
3012 		if (yych <= '9') goto yy58;
3013 		goto yy59;
3014 	}
3015 yy64:
3016 	YYDEBUG(64, *YYCURSOR);
3017 	yyaccept = 2;
3018 	yych = *(YYMARKER = ++YYCURSOR);
3019 	if (yych <= 'X') {
3020 		if (yych <= 'E') {
3021 			if (yych <= '/') {
3022 				if (yych <= '\t') {
3023 					if (yych <= 0x08) goto yy20;
3024 					goto yy196;
3025 				} else {
3026 					if (yych == ' ') goto yy196;
3027 					goto yy20;
3028 				}
3029 			} else {
3030 				if (yych <= ':') {
3031 					if (yych <= '9') goto yy202;
3032 					goto yy203;
3033 				} else {
3034 					if (yych == 'D') goto yy196;
3035 					goto yy20;
3036 				}
3037 			}
3038 		} else {
3039 			if (yych <= 'M') {
3040 				if (yych <= 'G') {
3041 					if (yych <= 'F') goto yy196;
3042 					goto yy20;
3043 				} else {
3044 					if (yych <= 'H') goto yy196;
3045 					if (yych <= 'L') goto yy20;
3046 					goto yy196;
3047 				}
3048 			} else {
3049 				if (yych <= 'U') {
3050 					if (yych <= 'R') goto yy20;
3051 					goto yy196;
3052 				} else {
3053 					if (yych == 'W') goto yy196;
3054 					goto yy20;
3055 				}
3056 			}
3057 		}
3058 	} else {
3059 		if (yych <= 'r') {
3060 			if (yych <= 'f') {
3061 				if (yych <= 'c') {
3062 					if (yych <= 'Y') goto yy196;
3063 					goto yy20;
3064 				} else {
3065 					if (yych == 'e') goto yy20;
3066 					goto yy196;
3067 				}
3068 			} else {
3069 				if (yych <= 'h') {
3070 					if (yych <= 'g') goto yy20;
3071 					goto yy196;
3072 				} else {
3073 					if (yych == 'm') goto yy196;
3074 					goto yy20;
3075 				}
3076 			}
3077 		} else {
3078 			if (yych <= 'y') {
3079 				if (yych <= 'v') {
3080 					if (yych <= 'u') goto yy196;
3081 					goto yy20;
3082 				} else {
3083 					if (yych == 'x') goto yy20;
3084 					goto yy196;
3085 				}
3086 			} else {
3087 				if (yych <= 0xC2) {
3088 					if (yych <= 0xC1) goto yy20;
3089 					goto yy97;
3090 				} else {
3091 					if (yych == 0xE2) goto yy98;
3092 					goto yy20;
3093 				}
3094 			}
3095 		}
3096 	}
3097 yy65:
3098 	YYDEBUG(65, *YYCURSOR);
3099 	yyaccept = 2;
3100 	yych = *(YYMARKER = ++YYCURSOR);
3101 	if (yych <= 'W') {
3102 		if (yych <= 'C') {
3103 			if (yych <= '/') {
3104 				if (yych <= '\t') {
3105 					if (yych <= 0x08) goto yy20;
3106 					goto yy196;
3107 				} else {
3108 					if (yych == ' ') goto yy196;
3109 					goto yy20;
3110 				}
3111 			} else {
3112 				if (yych <= '5') {
3113 					if (yych <= '4') goto yy202;
3114 					goto yy204;
3115 				} else {
3116 					if (yych <= '9') goto yy205;
3117 					if (yych <= ':') goto yy203;
3118 					goto yy20;
3119 				}
3120 			}
3121 		} else {
3122 			if (yych <= 'H') {
3123 				if (yych <= 'E') {
3124 					if (yych <= 'D') goto yy196;
3125 					goto yy20;
3126 				} else {
3127 					if (yych == 'G') goto yy20;
3128 					goto yy196;
3129 				}
3130 			} else {
3131 				if (yych <= 'R') {
3132 					if (yych == 'M') goto yy196;
3133 					goto yy20;
3134 				} else {
3135 					if (yych == 'V') goto yy20;
3136 					goto yy196;
3137 				}
3138 			}
3139 		}
3140 	} else {
3141 		if (yych <= 'm') {
3142 			if (yych <= 'e') {
3143 				if (yych <= 'Y') {
3144 					if (yych <= 'X') goto yy20;
3145 					goto yy196;
3146 				} else {
3147 					if (yych == 'd') goto yy196;
3148 					goto yy20;
3149 				}
3150 			} else {
3151 				if (yych <= 'g') {
3152 					if (yych <= 'f') goto yy196;
3153 					goto yy20;
3154 				} else {
3155 					if (yych <= 'h') goto yy196;
3156 					if (yych <= 'l') goto yy20;
3157 					goto yy196;
3158 				}
3159 			}
3160 		} else {
3161 			if (yych <= 'x') {
3162 				if (yych <= 'u') {
3163 					if (yych <= 'r') goto yy20;
3164 					goto yy196;
3165 				} else {
3166 					if (yych == 'w') goto yy196;
3167 					goto yy20;
3168 				}
3169 			} else {
3170 				if (yych <= 0xC2) {
3171 					if (yych <= 'y') goto yy196;
3172 					if (yych <= 0xC1) goto yy20;
3173 					goto yy97;
3174 				} else {
3175 					if (yych == 0xE2) goto yy98;
3176 					goto yy20;
3177 				}
3178 			}
3179 		}
3180 	}
3181 yy66:
3182 	YYDEBUG(66, *YYCURSOR);
3183 	yyaccept = 2;
3184 	yych = *(YYMARKER = ++YYCURSOR);
3185 	if (yych <= 'W') {
3186 		if (yych <= 'D') {
3187 			if (yych <= '/') {
3188 				if (yych <= '\t') {
3189 					if (yych <= 0x08) goto yy20;
3190 					goto yy196;
3191 				} else {
3192 					if (yych == ' ') goto yy196;
3193 					goto yy20;
3194 				}
3195 			} else {
3196 				if (yych <= '9') {
3197 					if (yych <= '5') goto yy204;
3198 					goto yy205;
3199 				} else {
3200 					if (yych <= ':') goto yy203;
3201 					if (yych <= 'C') goto yy20;
3202 					goto yy196;
3203 				}
3204 			}
3205 		} else {
3206 			if (yych <= 'L') {
3207 				if (yych <= 'F') {
3208 					if (yych <= 'E') goto yy20;
3209 					goto yy196;
3210 				} else {
3211 					if (yych == 'H') goto yy196;
3212 					goto yy20;
3213 				}
3214 			} else {
3215 				if (yych <= 'R') {
3216 					if (yych <= 'M') goto yy196;
3217 					goto yy20;
3218 				} else {
3219 					if (yych == 'V') goto yy20;
3220 					goto yy196;
3221 				}
3222 			}
3223 		}
3224 	} else {
3225 		if (yych <= 'm') {
3226 			if (yych <= 'e') {
3227 				if (yych <= 'Y') {
3228 					if (yych <= 'X') goto yy20;
3229 					goto yy196;
3230 				} else {
3231 					if (yych == 'd') goto yy196;
3232 					goto yy20;
3233 				}
3234 			} else {
3235 				if (yych <= 'g') {
3236 					if (yych <= 'f') goto yy196;
3237 					goto yy20;
3238 				} else {
3239 					if (yych <= 'h') goto yy196;
3240 					if (yych <= 'l') goto yy20;
3241 					goto yy196;
3242 				}
3243 			}
3244 		} else {
3245 			if (yych <= 'x') {
3246 				if (yych <= 'u') {
3247 					if (yych <= 'r') goto yy20;
3248 					goto yy196;
3249 				} else {
3250 					if (yych == 'w') goto yy196;
3251 					goto yy20;
3252 				}
3253 			} else {
3254 				if (yych <= 0xC2) {
3255 					if (yych <= 'y') goto yy196;
3256 					if (yych <= 0xC1) goto yy20;
3257 					goto yy97;
3258 				} else {
3259 					if (yych == 0xE2) goto yy98;
3260 					goto yy20;
3261 				}
3262 			}
3263 		}
3264 	}
3265 yy67:
3266 	YYDEBUG(67, *YYCURSOR);
3267 	yych = *++YYCURSOR;
3268 	if (yych <= '/') goto yy69;
3269 	if (yych <= '0') goto yy208;
3270 	if (yych <= '1') goto yy209;
3271 	if (yych <= '9') goto yy210;
3272 	goto yy69;
3273 yy68:
3274 	YYDEBUG(68, *YYCURSOR);
3275 	++YYCURSOR;
3276 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
3277 	yych = *YYCURSOR;
3278 yy69:
3279 	YYDEBUG(69, *YYCURSOR);
3280 	if (yych <= 'W') {
3281 		if (yych <= 'G') {
3282 			if (yych <= '.') {
3283 				if (yych <= 0x1F) {
3284 					if (yych == '\t') goto yy68;
3285 					goto yy59;
3286 				} else {
3287 					if (yych <= ' ') goto yy68;
3288 					if (yych <= ',') goto yy59;
3289 					goto yy206;
3290 				}
3291 			} else {
3292 				if (yych <= 'C') {
3293 					if (yych == 'A') goto yy76;
3294 					goto yy59;
3295 				} else {
3296 					if (yych <= 'D') goto yy77;
3297 					if (yych == 'F') goto yy78;
3298 					goto yy59;
3299 				}
3300 			}
3301 		} else {
3302 			if (yych <= 'N') {
3303 				if (yych <= 'J') {
3304 					if (yych <= 'H') goto yy79;
3305 					if (yych <= 'I') goto yy80;
3306 					goto yy82;
3307 				} else {
3308 					if (yych <= 'L') goto yy59;
3309 					if (yych <= 'M') goto yy83;
3310 					goto yy84;
3311 				}
3312 			} else {
3313 				if (yych <= 'S') {
3314 					if (yych <= 'O') goto yy85;
3315 					if (yych <= 'R') goto yy59;
3316 					goto yy86;
3317 				} else {
3318 					if (yych <= 'T') goto yy87;
3319 					if (yych <= 'U') goto yy88;
3320 					if (yych <= 'V') goto yy89;
3321 					goto yy90;
3322 				}
3323 			}
3324 		}
3325 	} else {
3326 		if (yych <= 'l') {
3327 			if (yych <= 'd') {
3328 				if (yych <= '`') {
3329 					if (yych <= 'X') goto yy91;
3330 					if (yych <= 'Y') goto yy92;
3331 					goto yy59;
3332 				} else {
3333 					if (yych <= 'a') goto yy76;
3334 					if (yych <= 'c') goto yy59;
3335 					goto yy77;
3336 				}
3337 			} else {
3338 				if (yych <= 'g') {
3339 					if (yych == 'f') goto yy78;
3340 					goto yy59;
3341 				} else {
3342 					if (yych <= 'h') goto yy79;
3343 					if (yych == 'j') goto yy82;
3344 					goto yy59;
3345 				}
3346 			}
3347 		} else {
3348 			if (yych <= 'u') {
3349 				if (yych <= 'o') {
3350 					if (yych <= 'm') goto yy83;
3351 					if (yych <= 'n') goto yy84;
3352 					goto yy85;
3353 				} else {
3354 					if (yych <= 'r') goto yy59;
3355 					if (yych <= 's') goto yy86;
3356 					if (yych <= 't') goto yy87;
3357 					goto yy88;
3358 				}
3359 			} else {
3360 				if (yych <= 'x') {
3361 					if (yych == 'w') goto yy90;
3362 					goto yy59;
3363 				} else {
3364 					if (yych <= 'y') goto yy92;
3365 					if (yych == 0xC2) goto yy211;
3366 					goto yy59;
3367 				}
3368 			}
3369 		}
3370 	}
3371 yy70:
3372 	YYDEBUG(70, *YYCURSOR);
3373 	yych = *++YYCURSOR;
3374 	if (yych <= '/') goto yy207;
3375 	if (yych <= '0') goto yy212;
3376 	if (yych <= '1') goto yy213;
3377 	if (yych <= '9') goto yy214;
3378 	goto yy207;
3379 yy71:
3380 	YYDEBUG(71, *YYCURSOR);
3381 	yych = *++YYCURSOR;
3382 	if (yych <= '1') {
3383 		if (yych <= '/') goto yy207;
3384 		if (yych <= '0') goto yy219;
3385 		goto yy220;
3386 	} else {
3387 		if (yych <= '5') goto yy221;
3388 		if (yych <= '9') goto yy222;
3389 		goto yy207;
3390 	}
3391 yy72:
3392 	YYDEBUG(72, *YYCURSOR);
3393 	yych = *++YYCURSOR;
3394 	switch (yych) {
3395 	case '0':
3396 	case '1':
3397 	case '2':	goto yy223;
3398 	case '3':	goto yy225;
3399 	case '4':
3400 	case '5':
3401 	case '6':
3402 	case '7':
3403 	case '8':
3404 	case '9':	goto yy226;
3405 	case 'A':
3406 	case 'a':	goto yy227;
3407 	case 'D':
3408 	case 'd':	goto yy228;
3409 	case 'F':
3410 	case 'f':	goto yy229;
3411 	case 'J':
3412 	case 'j':	goto yy230;
3413 	case 'M':
3414 	case 'm':	goto yy231;
3415 	case 'N':
3416 	case 'n':	goto yy232;
3417 	case 'O':
3418 	case 'o':	goto yy233;
3419 	case 'S':
3420 	case 's':	goto yy234;
3421 	default:	goto yy59;
3422 	}
3423 yy73:
3424 	YYDEBUG(73, *YYCURSOR);
3425 	yych = *++YYCURSOR;
3426 	if (yych <= 'm') {
3427 		if (yych <= '.') {
3428 			if (yych <= '\t') {
3429 				if (yych <= 0x08) goto yy69;
3430 				goto yy67;
3431 			} else {
3432 				if (yych <= ',') goto yy69;
3433 				if (yych <= '-') goto yy235;
3434 				goto yy71;
3435 			}
3436 		} else {
3437 			if (yych <= '5') {
3438 				if (yych <= '/') goto yy72;
3439 				goto yy236;
3440 			} else {
3441 				if (yych <= '9') goto yy237;
3442 				if (yych <= ':') goto yy75;
3443 				goto yy69;
3444 			}
3445 		}
3446 	} else {
3447 		if (yych <= 't') {
3448 			if (yych <= 'q') {
3449 				if (yych <= 'n') goto yy93;
3450 				goto yy69;
3451 			} else {
3452 				if (yych <= 'r') goto yy94;
3453 				if (yych <= 's') goto yy95;
3454 				goto yy96;
3455 			}
3456 		} else {
3457 			if (yych <= 0xC2) {
3458 				if (yych <= 0xC1) goto yy69;
3459 				goto yy97;
3460 			} else {
3461 				if (yych == 0xE2) goto yy98;
3462 				goto yy69;
3463 			}
3464 		}
3465 	}
3466 yy74:
3467 	YYDEBUG(74, *YYCURSOR);
3468 	yych = *++YYCURSOR;
3469 	if (yych <= 'm') {
3470 		if (yych <= '.') {
3471 			if (yych <= '\t') {
3472 				if (yych <= 0x08) goto yy101;
3473 				goto yy99;
3474 			} else {
3475 				if (yych <= ',') goto yy101;
3476 				if (yych <= '-') goto yy235;
3477 				goto yy102;
3478 			}
3479 		} else {
3480 			if (yych <= '5') {
3481 				if (yych <= '/') goto yy72;
3482 				goto yy236;
3483 			} else {
3484 				if (yych <= '9') goto yy237;
3485 				if (yych <= ':') goto yy104;
3486 				goto yy101;
3487 			}
3488 		}
3489 	} else {
3490 		if (yych <= 't') {
3491 			if (yych <= 'q') {
3492 				if (yych <= 'n') goto yy93;
3493 				goto yy101;
3494 			} else {
3495 				if (yych <= 'r') goto yy94;
3496 				if (yych <= 's') goto yy95;
3497 				goto yy96;
3498 			}
3499 		} else {
3500 			if (yych <= 0xC2) {
3501 				if (yych <= 0xC1) goto yy101;
3502 				goto yy107;
3503 			} else {
3504 				if (yych == 0xE2) goto yy108;
3505 				goto yy101;
3506 			}
3507 		}
3508 	}
3509 yy75:
3510 	YYDEBUG(75, *YYCURSOR);
3511 	yych = *++YYCURSOR;
3512 	if (yych <= '/') goto yy59;
3513 	if (yych <= '5') goto yy238;
3514 	if (yych <= '9') goto yy239;
3515 	goto yy59;
3516 yy76:
3517 	YYDEBUG(76, *YYCURSOR);
3518 	yych = *++YYCURSOR;
3519 	if (yych <= 'U') {
3520 		if (yych == 'P') goto yy240;
3521 		if (yych <= 'T') goto yy59;
3522 		goto yy241;
3523 	} else {
3524 		if (yych <= 'p') {
3525 			if (yych <= 'o') goto yy59;
3526 			goto yy240;
3527 		} else {
3528 			if (yych == 'u') goto yy241;
3529 			goto yy59;
3530 		}
3531 	}
3532 yy77:
3533 	YYDEBUG(77, *YYCURSOR);
3534 	yych = *++YYCURSOR;
3535 	if (yych <= 'E') {
3536 		if (yych == 'A') goto yy242;
3537 		if (yych <= 'D') goto yy59;
3538 		goto yy243;
3539 	} else {
3540 		if (yych <= 'a') {
3541 			if (yych <= '`') goto yy59;
3542 			goto yy242;
3543 		} else {
3544 			if (yych == 'e') goto yy243;
3545 			goto yy59;
3546 		}
3547 	}
3548 yy78:
3549 	YYDEBUG(78, *YYCURSOR);
3550 	yych = *++YYCURSOR;
3551 	if (yych <= 'R') {
3552 		if (yych <= 'N') {
3553 			if (yych == 'E') goto yy244;
3554 			goto yy59;
3555 		} else {
3556 			if (yych <= 'O') goto yy245;
3557 			if (yych <= 'Q') goto yy59;
3558 			goto yy246;
3559 		}
3560 	} else {
3561 		if (yych <= 'n') {
3562 			if (yych == 'e') goto yy244;
3563 			goto yy59;
3564 		} else {
3565 			if (yych <= 'o') goto yy245;
3566 			if (yych == 'r') goto yy246;
3567 			goto yy59;
3568 		}
3569 	}
3570 yy79:
3571 	YYDEBUG(79, *YYCURSOR);
3572 	yych = *++YYCURSOR;
3573 	if (yych == 'O') goto yy247;
3574 	if (yych == 'o') goto yy247;
3575 	goto yy59;
3576 yy80:
3577 	YYDEBUG(80, *YYCURSOR);
3578 	yyaccept = 3;
3579 	yych = *(YYMARKER = ++YYCURSOR);
3580 	if (yych <= '/') {
3581 		if (yych <= 0x1F) {
3582 			if (yych == '\t') goto yy248;
3583 		} else {
3584 			if (yych <= ' ') goto yy248;
3585 			if (yych <= ',') goto yy81;
3586 			if (yych <= '.') goto yy248;
3587 		}
3588 	} else {
3589 		if (yych <= 'U') {
3590 			if (yych <= '9') goto yy250;
3591 			if (yych == 'I') goto yy252;
3592 		} else {
3593 			if (yych == 'W') goto yy81;
3594 			if (yych <= 'X') goto yy253;
3595 		}
3596 	}
3597 yy81:
3598 	YYDEBUG(81, *YYCURSOR);
3599 #line 1636 "ext/date/lib/parse_date.re"
3600 	{
3601 		DEBUG_OUTPUT("datenoyearrev");
3602 		TIMELIB_INIT;
3603 		TIMELIB_HAVE_DATE();
3604 		s->time->d = timelib_get_nr(&ptr, 2);
3605 		timelib_skip_day_suffix(&ptr);
3606 		s->time->m = timelib_get_month(&ptr);
3607 		TIMELIB_DEINIT;
3608 		return TIMELIB_DATE_TEXT;
3609 	}
3610 #line 3611 "<stdout>"
3611 yy82:
3612 	YYDEBUG(82, *YYCURSOR);
3613 	yych = *++YYCURSOR;
3614 	if (yych <= 'U') {
3615 		if (yych == 'A') goto yy254;
3616 		if (yych <= 'T') goto yy59;
3617 		goto yy255;
3618 	} else {
3619 		if (yych <= 'a') {
3620 			if (yych <= '`') goto yy59;
3621 			goto yy254;
3622 		} else {
3623 			if (yych == 'u') goto yy255;
3624 			goto yy59;
3625 		}
3626 	}
3627 yy83:
3628 	YYDEBUG(83, *YYCURSOR);
3629 	yych = *++YYCURSOR;
3630 	if (yych <= 'S') {
3631 		if (yych <= 'I') {
3632 			if (yych == 'A') goto yy256;
3633 			if (yych <= 'H') goto yy59;
3634 			goto yy257;
3635 		} else {
3636 			if (yych == 'O') goto yy258;
3637 			if (yych <= 'R') goto yy59;
3638 			goto yy259;
3639 		}
3640 	} else {
3641 		if (yych <= 'i') {
3642 			if (yych == 'a') goto yy256;
3643 			if (yych <= 'h') goto yy59;
3644 			goto yy257;
3645 		} else {
3646 			if (yych <= 'o') {
3647 				if (yych <= 'n') goto yy59;
3648 				goto yy258;
3649 			} else {
3650 				if (yych == 's') goto yy259;
3651 				goto yy59;
3652 			}
3653 		}
3654 	}
3655 yy84:
3656 	YYDEBUG(84, *YYCURSOR);
3657 	yych = *++YYCURSOR;
3658 	if (yych == 'O') goto yy261;
3659 	if (yych == 'o') goto yy261;
3660 	goto yy59;
3661 yy85:
3662 	YYDEBUG(85, *YYCURSOR);
3663 	yych = *++YYCURSOR;
3664 	if (yych == 'C') goto yy262;
3665 	if (yych == 'c') goto yy262;
3666 	goto yy59;
3667 yy86:
3668 	YYDEBUG(86, *YYCURSOR);
3669 	yych = *++YYCURSOR;
3670 	if (yych <= 'U') {
3671 		if (yych <= 'D') {
3672 			if (yych == 'A') goto yy263;
3673 			goto yy59;
3674 		} else {
3675 			if (yych <= 'E') goto yy264;
3676 			if (yych <= 'T') goto yy59;
3677 			goto yy265;
3678 		}
3679 	} else {
3680 		if (yych <= 'd') {
3681 			if (yych == 'a') goto yy263;
3682 			goto yy59;
3683 		} else {
3684 			if (yych <= 'e') goto yy264;
3685 			if (yych == 'u') goto yy265;
3686 			goto yy59;
3687 		}
3688 	}
3689 yy87:
3690 	YYDEBUG(87, *YYCURSOR);
3691 	yych = *++YYCURSOR;
3692 	if (yych <= 'U') {
3693 		if (yych == 'H') goto yy266;
3694 		if (yych <= 'T') goto yy59;
3695 		goto yy267;
3696 	} else {
3697 		if (yych <= 'h') {
3698 			if (yych <= 'g') goto yy59;
3699 			goto yy266;
3700 		} else {
3701 			if (yych == 'u') goto yy267;
3702 			goto yy59;
3703 		}
3704 	}
3705 yy88:
3706 	YYDEBUG(88, *YYCURSOR);
3707 	yych = *++YYCURSOR;
3708 	if (yych == 'S') goto yy268;
3709 	if (yych == 's') goto yy268;
3710 	goto yy59;
3711 yy89:
3712 	YYDEBUG(89, *YYCURSOR);
3713 	yyaccept = 3;
3714 	yych = *(YYMARKER = ++YYCURSOR);
3715 	if (yych <= ',') {
3716 		if (yych <= '\t') {
3717 			if (yych <= 0x08) goto yy81;
3718 			goto yy248;
3719 		} else {
3720 			if (yych == ' ') goto yy248;
3721 			goto yy81;
3722 		}
3723 	} else {
3724 		if (yych <= '9') {
3725 			if (yych <= '.') goto yy248;
3726 			if (yych <= '/') goto yy81;
3727 			goto yy250;
3728 		} else {
3729 			if (yych == 'I') goto yy91;
3730 			goto yy81;
3731 		}
3732 	}
3733 yy90:
3734 	YYDEBUG(90, *YYCURSOR);
3735 	yych = *++YYCURSOR;
3736 	if (yych == 'E') goto yy269;
3737 	if (yych == 'e') goto yy269;
3738 	goto yy59;
3739 yy91:
3740 	YYDEBUG(91, *YYCURSOR);
3741 	yyaccept = 3;
3742 	yych = *(YYMARKER = ++YYCURSOR);
3743 	if (yych <= ',') {
3744 		if (yych <= '\t') {
3745 			if (yych <= 0x08) goto yy81;
3746 			goto yy248;
3747 		} else {
3748 			if (yych == ' ') goto yy248;
3749 			goto yy81;
3750 		}
3751 	} else {
3752 		if (yych <= '9') {
3753 			if (yych <= '.') goto yy248;
3754 			if (yych <= '/') goto yy81;
3755 			goto yy250;
3756 		} else {
3757 			if (yych == 'I') goto yy252;
3758 			goto yy81;
3759 		}
3760 	}
3761 yy92:
3762 	YYDEBUG(92, *YYCURSOR);
3763 	yych = *++YYCURSOR;
3764 	if (yych == 'E') goto yy270;
3765 	if (yych == 'e') goto yy270;
3766 	goto yy59;
3767 yy93:
3768 	YYDEBUG(93, *YYCURSOR);
3769 	yych = *++YYCURSOR;
3770 	if (yych <= 'c') {
3771 		if (yych == 'O') goto yy261;
3772 		goto yy59;
3773 	} else {
3774 		if (yych <= 'd') goto yy271;
3775 		if (yych == 'o') goto yy261;
3776 		goto yy59;
3777 	}
3778 yy94:
3779 	YYDEBUG(94, *YYCURSOR);
3780 	yych = *++YYCURSOR;
3781 	if (yych == 'd') goto yy271;
3782 	goto yy59;
3783 yy95:
3784 	YYDEBUG(95, *YYCURSOR);
3785 	yych = *++YYCURSOR;
3786 	if (yych <= '`') {
3787 		if (yych <= 'D') {
3788 			if (yych == 'A') goto yy263;
3789 			goto yy59;
3790 		} else {
3791 			if (yych <= 'E') goto yy264;
3792 			if (yych == 'U') goto yy265;
3793 			goto yy59;
3794 		}
3795 	} else {
3796 		if (yych <= 'e') {
3797 			if (yych <= 'a') goto yy263;
3798 			if (yych <= 'd') goto yy59;
3799 			goto yy264;
3800 		} else {
3801 			if (yych <= 's') goto yy59;
3802 			if (yych <= 't') goto yy271;
3803 			if (yych <= 'u') goto yy265;
3804 			goto yy59;
3805 		}
3806 	}
3807 yy96:
3808 	YYDEBUG(96, *YYCURSOR);
3809 	yych = *++YYCURSOR;
3810 	if (yych <= 'U') {
3811 		if (yych == 'H') goto yy266;
3812 		if (yych <= 'T') goto yy59;
3813 		goto yy267;
3814 	} else {
3815 		if (yych <= 'h') {
3816 			if (yych <= 'g') goto yy59;
3817 			goto yy272;
3818 		} else {
3819 			if (yych == 'u') goto yy267;
3820 			goto yy59;
3821 		}
3822 	}
3823 yy97:
3824 	YYDEBUG(97, *YYCURSOR);
3825 	++YYCURSOR;
3826 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
3827 	yych = *YYCURSOR;
3828 	if (yych == 0xA0) goto yy273;
3829 	if (yych == 0xB5) goto yy274;
3830 	goto yy59;
3831 yy98:
3832 	YYDEBUG(98, *YYCURSOR);
3833 	++YYCURSOR;
3834 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3835 	yych = *YYCURSOR;
3836 	if (yych == 0x80) goto yy275;
3837 	goto yy59;
3838 yy99:
3839 	YYDEBUG(99, *YYCURSOR);
3840 	yych = *++YYCURSOR;
3841 	if (yych <= '/') goto yy101;
3842 	if (yych <= '0') goto yy208;
3843 	if (yych <= '1') goto yy209;
3844 	if (yych <= '9') goto yy210;
3845 	goto yy101;
3846 yy100:
3847 	YYDEBUG(100, *YYCURSOR);
3848 	++YYCURSOR;
3849 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
3850 	yych = *YYCURSOR;
3851 yy101:
3852 	YYDEBUG(101, *YYCURSOR);
3853 	if (yych <= 'W') {
3854 		if (yych <= 'G') {
3855 			if (yych <= '.') {
3856 				if (yych <= 0x1F) {
3857 					if (yych == '\t') goto yy100;
3858 					goto yy59;
3859 				} else {
3860 					if (yych <= ' ') goto yy100;
3861 					if (yych <= ',') goto yy59;
3862 					goto yy206;
3863 				}
3864 			} else {
3865 				if (yych <= 'C') {
3866 					if (yych == 'A') goto yy105;
3867 					goto yy59;
3868 				} else {
3869 					if (yych <= 'D') goto yy77;
3870 					if (yych == 'F') goto yy78;
3871 					goto yy59;
3872 				}
3873 			}
3874 		} else {
3875 			if (yych <= 'O') {
3876 				if (yych <= 'J') {
3877 					if (yych <= 'H') goto yy79;
3878 					if (yych <= 'I') goto yy80;
3879 					goto yy82;
3880 				} else {
3881 					if (yych <= 'L') goto yy59;
3882 					if (yych <= 'M') goto yy83;
3883 					if (yych <= 'N') goto yy84;
3884 					goto yy85;
3885 				}
3886 			} else {
3887 				if (yych <= 'S') {
3888 					if (yych <= 'P') goto yy106;
3889 					if (yych <= 'R') goto yy59;
3890 					goto yy86;
3891 				} else {
3892 					if (yych <= 'T') goto yy87;
3893 					if (yych <= 'U') goto yy88;
3894 					if (yych <= 'V') goto yy89;
3895 					goto yy90;
3896 				}
3897 			}
3898 		}
3899 	} else {
3900 		if (yych <= 'm') {
3901 			if (yych <= 'e') {
3902 				if (yych <= '`') {
3903 					if (yych <= 'X') goto yy91;
3904 					if (yych <= 'Y') goto yy92;
3905 					goto yy59;
3906 				} else {
3907 					if (yych <= 'a') goto yy105;
3908 					if (yych == 'd') goto yy77;
3909 					goto yy59;
3910 				}
3911 			} else {
3912 				if (yych <= 'h') {
3913 					if (yych <= 'f') goto yy78;
3914 					if (yych <= 'g') goto yy59;
3915 					goto yy79;
3916 				} else {
3917 					if (yych == 'j') goto yy82;
3918 					if (yych <= 'l') goto yy59;
3919 					goto yy83;
3920 				}
3921 			}
3922 		} else {
3923 			if (yych <= 'u') {
3924 				if (yych <= 'p') {
3925 					if (yych <= 'n') goto yy84;
3926 					if (yych <= 'o') goto yy85;
3927 					goto yy106;
3928 				} else {
3929 					if (yych <= 'r') goto yy59;
3930 					if (yych <= 's') goto yy86;
3931 					if (yych <= 't') goto yy87;
3932 					goto yy88;
3933 				}
3934 			} else {
3935 				if (yych <= 'x') {
3936 					if (yych == 'w') goto yy90;
3937 					goto yy59;
3938 				} else {
3939 					if (yych <= 'y') goto yy92;
3940 					if (yych == 0xC2) goto yy211;
3941 					goto yy59;
3942 				}
3943 			}
3944 		}
3945 	}
3946 yy102:
3947 	YYDEBUG(102, *YYCURSOR);
3948 	yych = *++YYCURSOR;
3949 	if (yych <= '1') {
3950 		if (yych <= '/') goto yy207;
3951 		if (yych <= '0') goto yy276;
3952 		goto yy277;
3953 	} else {
3954 		if (yych <= '5') goto yy278;
3955 		if (yych <= '9') goto yy279;
3956 		goto yy207;
3957 	}
3958 yy103:
3959 	YYDEBUG(103, *YYCURSOR);
3960 	yych = *++YYCURSOR;
3961 	if (yych <= 'm') {
3962 		if (yych <= '.') {
3963 			if (yych <= '\t') {
3964 				if (yych <= 0x08) goto yy69;
3965 				goto yy67;
3966 			} else {
3967 				if (yych <= ',') goto yy69;
3968 				if (yych <= '-') goto yy235;
3969 				goto yy71;
3970 			}
3971 		} else {
3972 			if (yych <= '5') {
3973 				if (yych <= '/') goto yy280;
3974 				goto yy236;
3975 			} else {
3976 				if (yych <= '9') goto yy237;
3977 				if (yych <= ':') goto yy75;
3978 				goto yy69;
3979 			}
3980 		}
3981 	} else {
3982 		if (yych <= 't') {
3983 			if (yych <= 'q') {
3984 				if (yych <= 'n') goto yy93;
3985 				goto yy69;
3986 			} else {
3987 				if (yych <= 'r') goto yy94;
3988 				if (yych <= 's') goto yy95;
3989 				goto yy96;
3990 			}
3991 		} else {
3992 			if (yych <= 0xC2) {
3993 				if (yych <= 0xC1) goto yy69;
3994 				goto yy97;
3995 			} else {
3996 				if (yych == 0xE2) goto yy98;
3997 				goto yy69;
3998 			}
3999 		}
4000 	}
4001 yy104:
4002 	YYDEBUG(104, *YYCURSOR);
4003 	yych = *++YYCURSOR;
4004 	if (yych <= '/') goto yy59;
4005 	if (yych <= '5') goto yy281;
4006 	if (yych <= '9') goto yy282;
4007 	goto yy59;
4008 yy105:
4009 	YYDEBUG(105, *YYCURSOR);
4010 	yych = *++YYCURSOR;
4011 	if (yych <= 'T') {
4012 		if (yych <= 'L') {
4013 			if (yych == '.') goto yy283;
4014 			goto yy59;
4015 		} else {
4016 			if (yych <= 'M') goto yy284;
4017 			if (yych == 'P') goto yy240;
4018 			goto yy59;
4019 		}
4020 	} else {
4021 		if (yych <= 'o') {
4022 			if (yych <= 'U') goto yy241;
4023 			if (yych == 'm') goto yy284;
4024 			goto yy59;
4025 		} else {
4026 			if (yych <= 'p') goto yy240;
4027 			if (yych == 'u') goto yy241;
4028 			goto yy59;
4029 		}
4030 	}
4031 yy106:
4032 	YYDEBUG(106, *YYCURSOR);
4033 	yych = *++YYCURSOR;
4034 	if (yych <= 'L') {
4035 		if (yych == '.') goto yy283;
4036 		goto yy59;
4037 	} else {
4038 		if (yych <= 'M') goto yy284;
4039 		if (yych == 'm') goto yy284;
4040 		goto yy59;
4041 	}
4042 yy107:
4043 	YYDEBUG(107, *YYCURSOR);
4044 	++YYCURSOR;
4045 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
4046 	yych = *YYCURSOR;
4047 	if (yych == 0xA0) goto yy285;
4048 	if (yych == 0xB5) goto yy274;
4049 	goto yy59;
4050 yy108:
4051 	YYDEBUG(108, *YYCURSOR);
4052 	++YYCURSOR;
4053 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4054 	yych = *YYCURSOR;
4055 	if (yych == 0x80) goto yy286;
4056 	goto yy59;
4057 yy109:
4058 	YYDEBUG(109, *YYCURSOR);
4059 	yych = *++YYCURSOR;
4060 	if (yych <= 'n') {
4061 		if (yych <= '-') {
4062 			if (yych == '\t') goto yy67;
4063 			if (yych <= ',') goto yy69;
4064 			goto yy235;
4065 		} else {
4066 			if (yych <= '/') {
4067 				if (yych <= '.') goto yy287;
4068 				goto yy280;
4069 			} else {
4070 				if (yych <= '9') goto yy237;
4071 				if (yych <= 'm') goto yy69;
4072 				goto yy93;
4073 			}
4074 		}
4075 	} else {
4076 		if (yych <= 't') {
4077 			if (yych <= 'q') goto yy69;
4078 			if (yych <= 'r') goto yy94;
4079 			if (yych <= 's') goto yy95;
4080 			goto yy96;
4081 		} else {
4082 			if (yych <= 0xC2) {
4083 				if (yych <= 0xC1) goto yy69;
4084 				goto yy97;
4085 			} else {
4086 				if (yych == 0xE2) goto yy98;
4087 				goto yy69;
4088 			}
4089 		}
4090 	}
4091 yy110:
4092 	YYDEBUG(110, *YYCURSOR);
4093 	yych = *++YYCURSOR;
4094 	if (yych <= '9') {
4095 		if (yych == '-') goto yy288;
4096 		if (yych <= '/') goto yy196;
4097 		goto yy237;
4098 	} else {
4099 		if (yych <= 0xC2) {
4100 			if (yych <= 0xC1) goto yy196;
4101 			goto yy97;
4102 		} else {
4103 			if (yych == 0xE2) goto yy98;
4104 			goto yy196;
4105 		}
4106 	}
4107 yy111:
4108 	YYDEBUG(111, *YYCURSOR);
4109 	yych = *++YYCURSOR;
4110 	if (yybm[0+yych] & 8) {
4111 		goto yy112;
4112 	}
4113 	goto yy59;
4114 yy112:
4115 	YYDEBUG(112, *YYCURSOR);
4116 	++YYCURSOR;
4117 	if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
4118 	yych = *YYCURSOR;
4119 	YYDEBUG(113, *YYCURSOR);
4120 	if (yybm[0+yych] & 8) {
4121 		goto yy112;
4122 	}
4123 	if (yych == '.') goto yy289;
4124 	YYDEBUG(114, *YYCURSOR);
4125 #line 1211 "ext/date/lib/parse_date.re"
4126 	{
4127 		timelib_ull i;
4128 
4129 		TIMELIB_INIT;
4130 		TIMELIB_HAVE_RELATIVE();
4131 		TIMELIB_UNHAVE_DATE();
4132 		TIMELIB_UNHAVE_TIME();
4133 		TIMELIB_HAVE_TZ();
4134 
4135 		i = timelib_get_signed_nr(s, &ptr, 24);
4136 		s->time->y = 1970;
4137 		s->time->m = 1;
4138 		s->time->d = 1;
4139 		s->time->h = s->time->i = s->time->s = 0;
4140 		s->time->us = 0;
4141 		s->time->relative.s += i;
4142 		s->time->is_localtime = 1;
4143 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
4144 		s->time->z = 0;
4145 		s->time->dst = 0;
4146 
4147 		TIMELIB_DEINIT;
4148 		return TIMELIB_RELATIVE;
4149 	}
4150 #line 4151 "<stdout>"
4151 yy115:
4152 	YYDEBUG(115, *YYCURSOR);
4153 	++YYCURSOR;
4154 	goto yy20;
4155 yy116:
4156 	YYDEBUG(116, *YYCURSOR);
4157 	yych = *++YYCURSOR;
4158 	if (yych <= '@') {
4159 		if (yych == ')') goto yy115;
4160 		goto yy20;
4161 	} else {
4162 		if (yych <= 'Z') goto yy291;
4163 		if (yych <= '`') goto yy20;
4164 		if (yych <= 'z') goto yy291;
4165 		goto yy20;
4166 	}
4167 yy117:
4168 	YYDEBUG(117, *YYCURSOR);
4169 	yych = *++YYCURSOR;
4170 	if (yych <= 'O') {
4171 		if (yych <= ')') {
4172 			if (yych <= '(') goto yy20;
4173 			goto yy115;
4174 		} else {
4175 			if (yych <= '@') goto yy20;
4176 			if (yych <= 'N') goto yy291;
4177 			goto yy292;
4178 		}
4179 	} else {
4180 		if (yych <= 'n') {
4181 			if (yych <= 'Z') goto yy291;
4182 			if (yych <= '`') goto yy20;
4183 			goto yy291;
4184 		} else {
4185 			if (yych <= 'o') goto yy292;
4186 			if (yych <= 'z') goto yy291;
4187 			goto yy20;
4188 		}
4189 	}
4190 yy118:
4191 	YYDEBUG(118, *YYCURSOR);
4192 	yych = *++YYCURSOR;
4193 	if (yych <= 'R') {
4194 		if (yych <= ')') {
4195 			if (yych <= '(') goto yy20;
4196 			goto yy115;
4197 		} else {
4198 			if (yych <= '@') goto yy20;
4199 			if (yych <= 'Q') goto yy291;
4200 			goto yy294;
4201 		}
4202 	} else {
4203 		if (yych <= 'q') {
4204 			if (yych <= 'Z') goto yy291;
4205 			if (yych <= '`') goto yy20;
4206 			goto yy291;
4207 		} else {
4208 			if (yych <= 'r') goto yy294;
4209 			if (yych <= 'z') goto yy291;
4210 			goto yy20;
4211 		}
4212 	}
4213 yy119:
4214 	YYDEBUG(119, *YYCURSOR);
4215 	yych = *++YYCURSOR;
4216 	if (yych <= 'G') {
4217 		if (yych <= ')') {
4218 			if (yych <= '(') goto yy20;
4219 			goto yy115;
4220 		} else {
4221 			if (yych <= '@') goto yy20;
4222 			if (yych <= 'F') goto yy291;
4223 			goto yy296;
4224 		}
4225 	} else {
4226 		if (yych <= 'f') {
4227 			if (yych <= 'Z') goto yy291;
4228 			if (yych <= '`') goto yy20;
4229 			goto yy291;
4230 		} else {
4231 			if (yych <= 'g') goto yy296;
4232 			if (yych <= 'z') goto yy291;
4233 			goto yy20;
4234 		}
4235 	}
4236 yy120:
4237 	YYDEBUG(120, *YYCURSOR);
4238 	yyaccept = 2;
4239 	yych = *(YYMARKER = ++YYCURSOR);
4240 	if (yych <= '/') {
4241 		if (yych <= ',') {
4242 			if (yych == ')') goto yy115;
4243 			goto yy20;
4244 		} else {
4245 			if (yych == '.') goto yy20;
4246 			goto yy297;
4247 		}
4248 	} else {
4249 		if (yych <= '^') {
4250 			if (yych <= '@') goto yy20;
4251 			if (yych <= 'Z') goto yy291;
4252 			goto yy20;
4253 		} else {
4254 			if (yych <= '_') goto yy297;
4255 			if (yych <= '`') goto yy20;
4256 			if (yych <= 'z') goto yy298;
4257 			goto yy20;
4258 		}
4259 	}
4260 yy121:
4261 	YYDEBUG(121, *YYCURSOR);
4262 	yyaccept = 2;
4263 	yych = *(YYMARKER = ++YYCURSOR);
4264 	if (yych <= 'N') {
4265 		if (yych <= '-') {
4266 			if (yych == ')') goto yy115;
4267 			if (yych <= ',') goto yy20;
4268 			goto yy297;
4269 		} else {
4270 			if (yych == '/') goto yy297;
4271 			if (yych <= '@') goto yy20;
4272 			goto yy291;
4273 		}
4274 	} else {
4275 		if (yych <= '_') {
4276 			if (yych <= 'O') goto yy292;
4277 			if (yych <= 'Z') goto yy291;
4278 			if (yych <= '^') goto yy20;
4279 			goto yy297;
4280 		} else {
4281 			if (yych <= 'n') {
4282 				if (yych <= '`') goto yy20;
4283 				goto yy298;
4284 			} else {
4285 				if (yych <= 'o') goto yy299;
4286 				if (yych <= 'z') goto yy298;
4287 				goto yy20;
4288 			}
4289 		}
4290 	}
4291 yy122:
4292 	YYDEBUG(122, *YYCURSOR);
4293 	yyaccept = 2;
4294 	yych = *(YYMARKER = ++YYCURSOR);
4295 	if (yych <= 'Q') {
4296 		if (yych <= '-') {
4297 			if (yych == ')') goto yy115;
4298 			if (yych <= ',') goto yy20;
4299 			goto yy297;
4300 		} else {
4301 			if (yych == '/') goto yy297;
4302 			if (yych <= '@') goto yy20;
4303 			goto yy291;
4304 		}
4305 	} else {
4306 		if (yych <= '_') {
4307 			if (yych <= 'R') goto yy294;
4308 			if (yych <= 'Z') goto yy291;
4309 			if (yych <= '^') goto yy20;
4310 			goto yy297;
4311 		} else {
4312 			if (yych <= 'q') {
4313 				if (yych <= '`') goto yy20;
4314 				goto yy298;
4315 			} else {
4316 				if (yych <= 'r') goto yy300;
4317 				if (yych <= 'z') goto yy298;
4318 				goto yy20;
4319 			}
4320 		}
4321 	}
4322 yy123:
4323 	YYDEBUG(123, *YYCURSOR);
4324 	yyaccept = 2;
4325 	yych = *(YYMARKER = ++YYCURSOR);
4326 	if (yych <= 'F') {
4327 		if (yych <= '-') {
4328 			if (yych == ')') goto yy115;
4329 			if (yych <= ',') goto yy20;
4330 			goto yy297;
4331 		} else {
4332 			if (yych == '/') goto yy297;
4333 			if (yych <= '@') goto yy20;
4334 			goto yy291;
4335 		}
4336 	} else {
4337 		if (yych <= '_') {
4338 			if (yych <= 'G') goto yy296;
4339 			if (yych <= 'Z') goto yy291;
4340 			if (yych <= '^') goto yy20;
4341 			goto yy297;
4342 		} else {
4343 			if (yych <= 'f') {
4344 				if (yych <= '`') goto yy20;
4345 				goto yy298;
4346 			} else {
4347 				if (yych <= 'g') goto yy301;
4348 				if (yych <= 'z') goto yy298;
4349 				goto yy20;
4350 			}
4351 		}
4352 	}
4353 yy124:
4354 	YYDEBUG(124, *YYCURSOR);
4355 	yych = *++YYCURSOR;
4356 	if (yych <= 'C') {
4357 		if (yych <= ')') {
4358 			if (yych <= '(') goto yy20;
4359 			goto yy115;
4360 		} else {
4361 			if (yych <= '@') goto yy20;
4362 			if (yych <= 'B') goto yy291;
4363 			goto yy302;
4364 		}
4365 	} else {
4366 		if (yych <= 'b') {
4367 			if (yych <= 'Z') goto yy291;
4368 			if (yych <= '`') goto yy20;
4369 			goto yy291;
4370 		} else {
4371 			if (yych <= 'c') goto yy302;
4372 			if (yych <= 'z') goto yy291;
4373 			goto yy20;
4374 		}
4375 	}
4376 yy125:
4377 	YYDEBUG(125, *YYCURSOR);
4378 	yyaccept = 2;
4379 	yych = *(YYMARKER = ++YYCURSOR);
4380 	if (yych <= 'B') {
4381 		if (yych <= '-') {
4382 			if (yych == ')') goto yy115;
4383 			if (yych <= ',') goto yy20;
4384 			goto yy297;
4385 		} else {
4386 			if (yych == '/') goto yy297;
4387 			if (yych <= '@') goto yy20;
4388 			goto yy291;
4389 		}
4390 	} else {
4391 		if (yych <= '_') {
4392 			if (yych <= 'C') goto yy302;
4393 			if (yych <= 'Z') goto yy291;
4394 			if (yych <= '^') goto yy20;
4395 			goto yy297;
4396 		} else {
4397 			if (yych <= 'b') {
4398 				if (yych <= '`') goto yy20;
4399 				goto yy298;
4400 			} else {
4401 				if (yych <= 'c') goto yy303;
4402 				if (yych <= 'z') goto yy298;
4403 				goto yy20;
4404 			}
4405 		}
4406 	}
4407 yy126:
4408 	YYDEBUG(126, *YYCURSOR);
4409 	yych = *++YYCURSOR;
4410 	if (yych <= 'C') {
4411 		if (yych <= ')') {
4412 			if (yych <= '(') goto yy20;
4413 			goto yy115;
4414 		} else {
4415 			if (yych <= '@') goto yy20;
4416 			if (yych <= 'B') goto yy291;
4417 			goto yy304;
4418 		}
4419 	} else {
4420 		if (yych <= 'b') {
4421 			if (yych <= 'Z') goto yy291;
4422 			if (yych <= '`') goto yy20;
4423 			goto yy291;
4424 		} else {
4425 			if (yych <= 'c') goto yy304;
4426 			if (yych <= 'z') goto yy291;
4427 			goto yy20;
4428 		}
4429 	}
4430 yy127:
4431 	YYDEBUG(127, *YYCURSOR);
4432 	yyaccept = 2;
4433 	yych = *(YYMARKER = ++YYCURSOR);
4434 	if (yych <= 'B') {
4435 		if (yych <= '-') {
4436 			if (yych == ')') goto yy115;
4437 			if (yych <= ',') goto yy20;
4438 			goto yy297;
4439 		} else {
4440 			if (yych == '/') goto yy297;
4441 			if (yych <= '@') goto yy20;
4442 			goto yy291;
4443 		}
4444 	} else {
4445 		if (yych <= '_') {
4446 			if (yych <= 'C') goto yy304;
4447 			if (yych <= 'Z') goto yy291;
4448 			if (yych <= '^') goto yy20;
4449 			goto yy297;
4450 		} else {
4451 			if (yych <= 'b') {
4452 				if (yych <= '`') goto yy20;
4453 				goto yy298;
4454 			} else {
4455 				if (yych <= 'c') goto yy305;
4456 				if (yych <= 'z') goto yy298;
4457 				goto yy20;
4458 			}
4459 		}
4460 	}
4461 yy128:
4462 	YYDEBUG(128, *YYCURSOR);
4463 	yych = *++YYCURSOR;
4464 	if (yych <= 'G') {
4465 		if (yych <= ')') {
4466 			if (yych <= '(') goto yy20;
4467 			goto yy115;
4468 		} else {
4469 			if (yych <= '@') goto yy20;
4470 			if (yych <= 'F') goto yy291;
4471 			goto yy306;
4472 		}
4473 	} else {
4474 		if (yych <= 'f') {
4475 			if (yych <= 'Z') goto yy291;
4476 			if (yych <= '`') goto yy20;
4477 			goto yy291;
4478 		} else {
4479 			if (yych <= 'g') goto yy306;
4480 			if (yych <= 'z') goto yy291;
4481 			goto yy20;
4482 		}
4483 	}
4484 yy129:
4485 	YYDEBUG(129, *YYCURSOR);
4486 	yych = *++YYCURSOR;
4487 	if (yych <= 'E') {
4488 		if (yych <= ')') {
4489 			if (yych <= '(') goto yy20;
4490 			goto yy115;
4491 		} else {
4492 			if (yych <= '@') goto yy20;
4493 			if (yych <= 'D') goto yy291;
4494 			goto yy307;
4495 		}
4496 	} else {
4497 		if (yych <= 'd') {
4498 			if (yych <= 'Z') goto yy291;
4499 			if (yych <= '`') goto yy20;
4500 			goto yy291;
4501 		} else {
4502 			if (yych <= 'e') goto yy307;
4503 			if (yych <= 'z') goto yy291;
4504 			goto yy20;
4505 		}
4506 	}
4507 yy130:
4508 	YYDEBUG(130, *YYCURSOR);
4509 	yyaccept = 2;
4510 	yych = *(YYMARKER = ++YYCURSOR);
4511 	if (yych <= 'F') {
4512 		if (yych <= '-') {
4513 			if (yych == ')') goto yy115;
4514 			if (yych <= ',') goto yy20;
4515 			goto yy297;
4516 		} else {
4517 			if (yych == '/') goto yy297;
4518 			if (yych <= '@') goto yy20;
4519 			goto yy291;
4520 		}
4521 	} else {
4522 		if (yych <= '_') {
4523 			if (yych <= 'G') goto yy306;
4524 			if (yych <= 'Z') goto yy291;
4525 			if (yych <= '^') goto yy20;
4526 			goto yy297;
4527 		} else {
4528 			if (yych <= 'f') {
4529 				if (yych <= '`') goto yy20;
4530 				goto yy298;
4531 			} else {
4532 				if (yych <= 'g') goto yy308;
4533 				if (yych <= 'z') goto yy298;
4534 				goto yy20;
4535 			}
4536 		}
4537 	}
4538 yy131:
4539 	YYDEBUG(131, *YYCURSOR);
4540 	yyaccept = 2;
4541 	yych = *(YYMARKER = ++YYCURSOR);
4542 	if (yych <= 'D') {
4543 		if (yych <= '-') {
4544 			if (yych == ')') goto yy115;
4545 			if (yych <= ',') goto yy20;
4546 			goto yy297;
4547 		} else {
4548 			if (yych == '/') goto yy297;
4549 			if (yych <= '@') goto yy20;
4550 			goto yy291;
4551 		}
4552 	} else {
4553 		if (yych <= '_') {
4554 			if (yych <= 'E') goto yy307;
4555 			if (yych <= 'Z') goto yy291;
4556 			if (yych <= '^') goto yy20;
4557 			goto yy297;
4558 		} else {
4559 			if (yych <= 'd') {
4560 				if (yych <= '`') goto yy20;
4561 				goto yy298;
4562 			} else {
4563 				if (yych <= 'e') goto yy309;
4564 				if (yych <= 'z') goto yy298;
4565 				goto yy20;
4566 			}
4567 		}
4568 	}
4569 yy132:
4570 	YYDEBUG(132, *YYCURSOR);
4571 	yych = *++YYCURSOR;
4572 	if (yych <= 'B') {
4573 		if (yych <= ')') {
4574 			if (yych <= '(') goto yy20;
4575 			goto yy115;
4576 		} else {
4577 			if (yych <= '@') goto yy20;
4578 			if (yych <= 'A') goto yy291;
4579 			goto yy310;
4580 		}
4581 	} else {
4582 		if (yych <= 'a') {
4583 			if (yych <= 'Z') goto yy291;
4584 			if (yych <= '`') goto yy20;
4585 			goto yy291;
4586 		} else {
4587 			if (yych <= 'b') goto yy310;
4588 			if (yych <= 'z') goto yy291;
4589 			goto yy20;
4590 		}
4591 	}
4592 yy133:
4593 	YYDEBUG(133, *YYCURSOR);
4594 	yych = *++YYCURSOR;
4595 	if (yych <= 'R') {
4596 		if (yych <= '@') {
4597 			if (yych == ')') goto yy115;
4598 			goto yy20;
4599 		} else {
4600 			if (yych == 'F') goto yy311;
4601 			if (yych <= 'Q') goto yy291;
4602 			goto yy312;
4603 		}
4604 	} else {
4605 		if (yych <= 'f') {
4606 			if (yych <= 'Z') goto yy291;
4607 			if (yych <= '`') goto yy20;
4608 			if (yych <= 'e') goto yy291;
4609 			goto yy311;
4610 		} else {
4611 			if (yych == 'r') goto yy312;
4612 			if (yych <= 'z') goto yy291;
4613 			goto yy20;
4614 		}
4615 	}
4616 yy134:
4617 	YYDEBUG(134, *YYCURSOR);
4618 	yych = *++YYCURSOR;
4619 	if (yych <= 'U') {
4620 		if (yych <= ')') {
4621 			if (yych <= '(') goto yy20;
4622 			goto yy115;
4623 		} else {
4624 			if (yych <= '@') goto yy20;
4625 			if (yych <= 'T') goto yy291;
4626 			goto yy313;
4627 		}
4628 	} else {
4629 		if (yych <= 't') {
4630 			if (yych <= 'Z') goto yy291;
4631 			if (yych <= '`') goto yy20;
4632 			goto yy291;
4633 		} else {
4634 			if (yych <= 'u') goto yy313;
4635 			if (yych <= 'z') goto yy291;
4636 			goto yy20;
4637 		}
4638 	}
4639 yy135:
4640 	YYDEBUG(135, *YYCURSOR);
4641 	yych = *++YYCURSOR;
4642 	if (yych <= 'O') {
4643 		if (yych <= '@') {
4644 			if (yych == ')') goto yy115;
4645 			goto yy20;
4646 		} else {
4647 			if (yych == 'I') goto yy314;
4648 			if (yych <= 'N') goto yy291;
4649 			goto yy316;
4650 		}
4651 	} else {
4652 		if (yych <= 'i') {
4653 			if (yych <= 'Z') goto yy291;
4654 			if (yych <= '`') goto yy20;
4655 			if (yych <= 'h') goto yy291;
4656 			goto yy314;
4657 		} else {
4658 			if (yych == 'o') goto yy316;
4659 			if (yych <= 'z') goto yy291;
4660 			goto yy20;
4661 		}
4662 	}
4663 yy136:
4664 	YYDEBUG(136, *YYCURSOR);
4665 	yyaccept = 2;
4666 	yych = *(YYMARKER = ++YYCURSOR);
4667 	if (yych <= 'A') {
4668 		if (yych <= '-') {
4669 			if (yych == ')') goto yy115;
4670 			if (yych <= ',') goto yy20;
4671 			goto yy297;
4672 		} else {
4673 			if (yych == '/') goto yy297;
4674 			if (yych <= '@') goto yy20;
4675 			goto yy291;
4676 		}
4677 	} else {
4678 		if (yych <= '_') {
4679 			if (yych <= 'B') goto yy310;
4680 			if (yych <= 'Z') goto yy291;
4681 			if (yych <= '^') goto yy20;
4682 			goto yy297;
4683 		} else {
4684 			if (yych <= 'a') {
4685 				if (yych <= '`') goto yy20;
4686 				goto yy298;
4687 			} else {
4688 				if (yych <= 'b') goto yy317;
4689 				if (yych <= 'z') goto yy298;
4690 				goto yy20;
4691 			}
4692 		}
4693 	}
4694 yy137:
4695 	YYDEBUG(137, *YYCURSOR);
4696 	yyaccept = 2;
4697 	yych = *(YYMARKER = ++YYCURSOR);
4698 	if (yych <= 'Q') {
4699 		if (yych <= '.') {
4700 			if (yych <= ')') {
4701 				if (yych <= '(') goto yy20;
4702 				goto yy115;
4703 			} else {
4704 				if (yych == '-') goto yy297;
4705 				goto yy20;
4706 			}
4707 		} else {
4708 			if (yych <= '@') {
4709 				if (yych <= '/') goto yy297;
4710 				goto yy20;
4711 			} else {
4712 				if (yych == 'F') goto yy311;
4713 				goto yy291;
4714 			}
4715 		}
4716 	} else {
4717 		if (yych <= '`') {
4718 			if (yych <= 'Z') {
4719 				if (yych <= 'R') goto yy312;
4720 				goto yy291;
4721 			} else {
4722 				if (yych == '_') goto yy297;
4723 				goto yy20;
4724 			}
4725 		} else {
4726 			if (yych <= 'q') {
4727 				if (yych == 'f') goto yy318;
4728 				goto yy298;
4729 			} else {
4730 				if (yych <= 'r') goto yy319;
4731 				if (yych <= 'z') goto yy298;
4732 				goto yy20;
4733 			}
4734 		}
4735 	}
4736 yy138:
4737 	YYDEBUG(138, *YYCURSOR);
4738 	yyaccept = 2;
4739 	yych = *(YYMARKER = ++YYCURSOR);
4740 	if (yych <= 'T') {
4741 		if (yych <= '-') {
4742 			if (yych == ')') goto yy115;
4743 			if (yych <= ',') goto yy20;
4744 			goto yy297;
4745 		} else {
4746 			if (yych == '/') goto yy297;
4747 			if (yych <= '@') goto yy20;
4748 			goto yy291;
4749 		}
4750 	} else {
4751 		if (yych <= '_') {
4752 			if (yych <= 'U') goto yy313;
4753 			if (yych <= 'Z') goto yy291;
4754 			if (yych <= '^') goto yy20;
4755 			goto yy297;
4756 		} else {
4757 			if (yych <= 't') {
4758 				if (yych <= '`') goto yy20;
4759 				goto yy298;
4760 			} else {
4761 				if (yych <= 'u') goto yy320;
4762 				if (yych <= 'z') goto yy298;
4763 				goto yy20;
4764 			}
4765 		}
4766 	}
4767 yy139:
4768 	YYDEBUG(139, *YYCURSOR);
4769 	yyaccept = 2;
4770 	yych = *(YYMARKER = ++YYCURSOR);
4771 	if (yych <= 'N') {
4772 		if (yych <= '.') {
4773 			if (yych <= ')') {
4774 				if (yych <= '(') goto yy20;
4775 				goto yy115;
4776 			} else {
4777 				if (yych == '-') goto yy297;
4778 				goto yy20;
4779 			}
4780 		} else {
4781 			if (yych <= '@') {
4782 				if (yych <= '/') goto yy297;
4783 				goto yy20;
4784 			} else {
4785 				if (yych == 'I') goto yy314;
4786 				goto yy291;
4787 			}
4788 		}
4789 	} else {
4790 		if (yych <= '`') {
4791 			if (yych <= 'Z') {
4792 				if (yych <= 'O') goto yy316;
4793 				goto yy291;
4794 			} else {
4795 				if (yych == '_') goto yy297;
4796 				goto yy20;
4797 			}
4798 		} else {
4799 			if (yych <= 'n') {
4800 				if (yych == 'i') goto yy321;
4801 				goto yy298;
4802 			} else {
4803 				if (yych <= 'o') goto yy322;
4804 				if (yych <= 'z') goto yy298;
4805 				goto yy20;
4806 			}
4807 		}
4808 	}
4809 yy140:
4810 	YYDEBUG(140, *YYCURSOR);
4811 	yych = *++YYCURSOR;
4812 	if (yych <= 'S') {
4813 		if (yych == ')') goto yy115;
4814 		if (yych <= '@') goto yy20;
4815 		goto yy291;
4816 	} else {
4817 		if (yych <= 'Z') {
4818 			if (yych <= 'T') goto yy323;
4819 			goto yy291;
4820 		} else {
4821 			if (yych <= '`') goto yy20;
4822 			if (yych <= 'z') goto yy291;
4823 			goto yy20;
4824 		}
4825 	}
4826 yy141:
4827 	YYDEBUG(141, *YYCURSOR);
4828 	++YYCURSOR;
4829 	if ((YYLIMIT - YYCURSOR) < 26) YYFILL(26);
4830 	yych = *YYCURSOR;
4831 yy142:
4832 	YYDEBUG(142, *YYCURSOR);
4833 	if (yybm[0+yych] & 16) {
4834 		goto yy141;
4835 	}
4836 	if (yych <= '/') goto yy59;
4837 	if (yych <= '2') goto yy143;
4838 	if (yych <= '3') goto yy144;
4839 	if (yych <= '9') goto yy145;
4840 	goto yy59;
4841 yy143:
4842 	YYDEBUG(143, *YYCURSOR);
4843 	yych = *++YYCURSOR;
4844 	if (yych <= '9') {
4845 		if (yych <= ' ') {
4846 			if (yych <= 0x08) {
4847 				if (yych <= 0x00) goto yy324;
4848 				goto yy59;
4849 			} else {
4850 				if (yych <= '\t') goto yy326;
4851 				if (yych <= 0x1F) goto yy59;
4852 				goto yy326;
4853 			}
4854 		} else {
4855 			if (yych <= '-') {
4856 				if (yych == ',') goto yy326;
4857 				goto yy59;
4858 			} else {
4859 				if (yych <= '.') goto yy326;
4860 				if (yych <= '/') goto yy59;
4861 				goto yy328;
4862 			}
4863 		}
4864 	} else {
4865 		if (yych <= 'm') {
4866 			if (yych <= 'd') {
4867 				if (yych <= 'c') goto yy59;
4868 				goto yy326;
4869 			} else {
4870 				if (yych == 'h') goto yy326;
4871 				goto yy59;
4872 			}
4873 		} else {
4874 			if (yych <= 'r') {
4875 				if (yych <= 'n') goto yy329;
4876 				if (yych <= 'q') goto yy59;
4877 				goto yy329;
4878 			} else {
4879 				if (yych <= 's') goto yy330;
4880 				if (yych <= 't') goto yy331;
4881 				goto yy59;
4882 			}
4883 		}
4884 	}
4885 yy144:
4886 	YYDEBUG(144, *YYCURSOR);
4887 	yych = *++YYCURSOR;
4888 	if (yych <= '1') {
4889 		if (yych <= ' ') {
4890 			if (yych <= 0x08) {
4891 				if (yych <= 0x00) goto yy324;
4892 				goto yy59;
4893 			} else {
4894 				if (yych <= '\t') goto yy326;
4895 				if (yych <= 0x1F) goto yy59;
4896 				goto yy326;
4897 			}
4898 		} else {
4899 			if (yych <= '-') {
4900 				if (yych == ',') goto yy326;
4901 				goto yy59;
4902 			} else {
4903 				if (yych <= '.') goto yy326;
4904 				if (yych <= '/') goto yy59;
4905 				goto yy328;
4906 			}
4907 		}
4908 	} else {
4909 		if (yych <= 'm') {
4910 			if (yych <= 'd') {
4911 				if (yych <= '9') goto yy332;
4912 				if (yych <= 'c') goto yy59;
4913 				goto yy326;
4914 			} else {
4915 				if (yych == 'h') goto yy326;
4916 				goto yy59;
4917 			}
4918 		} else {
4919 			if (yych <= 'r') {
4920 				if (yych <= 'n') goto yy329;
4921 				if (yych <= 'q') goto yy59;
4922 				goto yy329;
4923 			} else {
4924 				if (yych <= 's') goto yy330;
4925 				if (yych <= 't') goto yy331;
4926 				goto yy59;
4927 			}
4928 		}
4929 	}
4930 yy145:
4931 	YYDEBUG(145, *YYCURSOR);
4932 	yych = *++YYCURSOR;
4933 	if (yych <= '9') {
4934 		if (yych <= ' ') {
4935 			if (yych <= 0x08) {
4936 				if (yych <= 0x00) goto yy324;
4937 				goto yy59;
4938 			} else {
4939 				if (yych <= '\t') goto yy326;
4940 				if (yych <= 0x1F) goto yy59;
4941 				goto yy326;
4942 			}
4943 		} else {
4944 			if (yych <= '-') {
4945 				if (yych == ',') goto yy326;
4946 				goto yy59;
4947 			} else {
4948 				if (yych <= '.') goto yy326;
4949 				if (yych <= '/') goto yy59;
4950 				goto yy332;
4951 			}
4952 		}
4953 	} else {
4954 		if (yych <= 'm') {
4955 			if (yych <= 'd') {
4956 				if (yych <= 'c') goto yy59;
4957 				goto yy326;
4958 			} else {
4959 				if (yych == 'h') goto yy326;
4960 				goto yy59;
4961 			}
4962 		} else {
4963 			if (yych <= 'r') {
4964 				if (yych <= 'n') goto yy329;
4965 				if (yych <= 'q') goto yy59;
4966 				goto yy329;
4967 			} else {
4968 				if (yych <= 's') goto yy330;
4969 				if (yych <= 't') goto yy331;
4970 				goto yy59;
4971 			}
4972 		}
4973 	}
4974 yy146:
4975 	YYDEBUG(146, *YYCURSOR);
4976 	yyaccept = 2;
4977 	yych = *(YYMARKER = ++YYCURSOR);
4978 	if (yych <= '.') {
4979 		if (yych <= ' ') {
4980 			if (yych == '\t') goto yy142;
4981 			if (yych <= 0x1F) goto yy20;
4982 			goto yy142;
4983 		} else {
4984 			if (yych == ')') goto yy115;
4985 			if (yych <= ',') goto yy20;
4986 			goto yy142;
4987 		}
4988 	} else {
4989 		if (yych <= 'H') {
4990 			if (yych <= '/') goto yy20;
4991 			if (yych <= '9') goto yy142;
4992 			if (yych <= '@') goto yy20;
4993 			goto yy291;
4994 		} else {
4995 			if (yych <= 'Z') {
4996 				if (yych <= 'I') goto yy333;
4997 				goto yy291;
4998 			} else {
4999 				if (yych <= '`') goto yy20;
5000 				if (yych <= 'z') goto yy291;
5001 				goto yy20;
5002 			}
5003 		}
5004 	}
5005 yy147:
5006 	YYDEBUG(147, *YYCURSOR);
5007 	yyaccept = 2;
5008 	yych = *(YYMARKER = ++YYCURSOR);
5009 	if (yych <= ',') {
5010 		if (yych <= 0x1F) {
5011 			if (yych == '\t') goto yy142;
5012 			goto yy20;
5013 		} else {
5014 			if (yych <= ' ') goto yy142;
5015 			if (yych == ')') goto yy115;
5016 			goto yy20;
5017 		}
5018 	} else {
5019 		if (yych <= '@') {
5020 			if (yych == '/') goto yy20;
5021 			if (yych <= '9') goto yy142;
5022 			goto yy20;
5023 		} else {
5024 			if (yych <= 'Z') goto yy291;
5025 			if (yych <= '`') goto yy20;
5026 			if (yych <= 'z') goto yy291;
5027 			goto yy20;
5028 		}
5029 	}
5030 yy148:
5031 	YYDEBUG(148, *YYCURSOR);
5032 	yych = *++YYCURSOR;
5033 	if (yych <= 'N') {
5034 		if (yych <= ')') {
5035 			if (yych <= '(') goto yy20;
5036 			goto yy115;
5037 		} else {
5038 			if (yych <= '@') goto yy20;
5039 			if (yych <= 'M') goto yy291;
5040 			goto yy334;
5041 		}
5042 	} else {
5043 		if (yych <= 'm') {
5044 			if (yych <= 'Z') goto yy291;
5045 			if (yych <= '`') goto yy20;
5046 			goto yy291;
5047 		} else {
5048 			if (yych <= 'n') goto yy334;
5049 			if (yych <= 'z') goto yy291;
5050 			goto yy20;
5051 		}
5052 	}
5053 yy149:
5054 	YYDEBUG(149, *YYCURSOR);
5055 	yych = *++YYCURSOR;
5056 	if (yych <= 'N') {
5057 		if (yych <= '@') {
5058 			if (yych == ')') goto yy115;
5059 			goto yy20;
5060 		} else {
5061 			if (yych == 'L') goto yy335;
5062 			if (yych <= 'M') goto yy291;
5063 			goto yy336;
5064 		}
5065 	} else {
5066 		if (yych <= 'l') {
5067 			if (yych <= 'Z') goto yy291;
5068 			if (yych <= '`') goto yy20;
5069 			if (yych <= 'k') goto yy291;
5070 			goto yy335;
5071 		} else {
5072 			if (yych == 'n') goto yy336;
5073 			if (yych <= 'z') goto yy291;
5074 			goto yy20;
5075 		}
5076 	}
5077 yy150:
5078 	YYDEBUG(150, *YYCURSOR);
5079 	yyaccept = 2;
5080 	yych = *(YYMARKER = ++YYCURSOR);
5081 	if (yych <= 'M') {
5082 		if (yych <= '-') {
5083 			if (yych == ')') goto yy115;
5084 			if (yych <= ',') goto yy20;
5085 			goto yy297;
5086 		} else {
5087 			if (yych == '/') goto yy297;
5088 			if (yych <= '@') goto yy20;
5089 			goto yy291;
5090 		}
5091 	} else {
5092 		if (yych <= '_') {
5093 			if (yych <= 'N') goto yy334;
5094 			if (yych <= 'Z') goto yy291;
5095 			if (yych <= '^') goto yy20;
5096 			goto yy297;
5097 		} else {
5098 			if (yych <= 'm') {
5099 				if (yych <= '`') goto yy20;
5100 				goto yy298;
5101 			} else {
5102 				if (yych <= 'n') goto yy337;
5103 				if (yych <= 'z') goto yy298;
5104 				goto yy20;
5105 			}
5106 		}
5107 	}
5108 yy151:
5109 	YYDEBUG(151, *YYCURSOR);
5110 	yyaccept = 2;
5111 	yych = *(YYMARKER = ++YYCURSOR);
5112 	if (yych <= 'M') {
5113 		if (yych <= '.') {
5114 			if (yych <= ')') {
5115 				if (yych <= '(') goto yy20;
5116 				goto yy115;
5117 			} else {
5118 				if (yych == '-') goto yy297;
5119 				goto yy20;
5120 			}
5121 		} else {
5122 			if (yych <= '@') {
5123 				if (yych <= '/') goto yy297;
5124 				goto yy20;
5125 			} else {
5126 				if (yych == 'L') goto yy335;
5127 				goto yy291;
5128 			}
5129 		}
5130 	} else {
5131 		if (yych <= '`') {
5132 			if (yych <= 'Z') {
5133 				if (yych <= 'N') goto yy336;
5134 				goto yy291;
5135 			} else {
5136 				if (yych == '_') goto yy297;
5137 				goto yy20;
5138 			}
5139 		} else {
5140 			if (yych <= 'm') {
5141 				if (yych == 'l') goto yy338;
5142 				goto yy298;
5143 			} else {
5144 				if (yych <= 'n') goto yy339;
5145 				if (yych <= 'z') goto yy298;
5146 				goto yy20;
5147 			}
5148 		}
5149 	}
5150 yy152:
5151 	YYDEBUG(152, *YYCURSOR);
5152 	yych = *++YYCURSOR;
5153 	if (yych <= 'S') {
5154 		if (yych <= ')') {
5155 			if (yych <= '(') goto yy20;
5156 			goto yy115;
5157 		} else {
5158 			if (yych <= '@') goto yy20;
5159 			if (yych <= 'R') goto yy291;
5160 			goto yy340;
5161 		}
5162 	} else {
5163 		if (yych <= 'r') {
5164 			if (yych <= 'Z') goto yy291;
5165 			if (yych <= '`') goto yy20;
5166 			goto yy291;
5167 		} else {
5168 			if (yych <= 's') goto yy340;
5169 			if (yych <= 'z') goto yy291;
5170 			goto yy20;
5171 		}
5172 	}
5173 yy153:
5174 	YYDEBUG(153, *YYCURSOR);
5175 	yyaccept = 2;
5176 	yych = *(YYMARKER = ++YYCURSOR);
5177 	if (yych <= 'R') {
5178 		if (yych <= '-') {
5179 			if (yych == ')') goto yy115;
5180 			if (yych <= ',') goto yy20;
5181 			goto yy297;
5182 		} else {
5183 			if (yych == '/') goto yy297;
5184 			if (yych <= '@') goto yy20;
5185 			goto yy291;
5186 		}
5187 	} else {
5188 		if (yych <= '_') {
5189 			if (yych <= 'S') goto yy340;
5190 			if (yych <= 'Z') goto yy291;
5191 			if (yych <= '^') goto yy20;
5192 			goto yy297;
5193 		} else {
5194 			if (yych <= 'r') {
5195 				if (yych <= '`') goto yy20;
5196 				goto yy298;
5197 			} else {
5198 				if (yych <= 's') goto yy341;
5199 				if (yych <= 'z') goto yy298;
5200 				goto yy20;
5201 			}
5202 		}
5203 	}
5204 yy154:
5205 	YYDEBUG(154, *YYCURSOR);
5206 	yych = *++YYCURSOR;
5207 	if (yych <= 'Y') {
5208 		if (yych <= '@') {
5209 			if (yych == ')') goto yy115;
5210 			goto yy20;
5211 		} else {
5212 			if (yych == 'R') goto yy342;
5213 			if (yych <= 'X') goto yy291;
5214 			goto yy343;
5215 		}
5216 	} else {
5217 		if (yych <= 'r') {
5218 			if (yych <= 'Z') goto yy291;
5219 			if (yych <= '`') goto yy20;
5220 			if (yych <= 'q') goto yy291;
5221 			goto yy342;
5222 		} else {
5223 			if (yych == 'y') goto yy343;
5224 			if (yych <= 'z') goto yy291;
5225 			goto yy20;
5226 		}
5227 	}
5228 yy155:
5229 	YYDEBUG(155, *YYCURSOR);
5230 	yych = *++YYCURSOR;
5231 	if (yych <= 'D') {
5232 		if (yych <= ')') {
5233 			if (yych <= '(') goto yy20;
5234 			goto yy115;
5235 		} else {
5236 			if (yych <= '@') goto yy20;
5237 			if (yych <= 'C') goto yy291;
5238 			goto yy344;
5239 		}
5240 	} else {
5241 		if (yych <= 'c') {
5242 			if (yych <= 'Z') goto yy291;
5243 			if (yych <= '`') goto yy20;
5244 			goto yy291;
5245 		} else {
5246 			if (yych <= 'd') goto yy344;
5247 			if (yych <= 'z') goto yy291;
5248 			goto yy20;
5249 		}
5250 	}
5251 yy156:
5252 	YYDEBUG(156, *YYCURSOR);
5253 	yych = *++YYCURSOR;
5254 	if (yych <= 'N') {
5255 		if (yych <= ')') {
5256 			if (yych <= '(') goto yy20;
5257 			goto yy115;
5258 		} else {
5259 			if (yych <= '@') goto yy20;
5260 			if (yych <= 'M') goto yy291;
5261 			goto yy314;
5262 		}
5263 	} else {
5264 		if (yych <= 'm') {
5265 			if (yych <= 'Z') goto yy291;
5266 			if (yych <= '`') goto yy20;
5267 			goto yy291;
5268 		} else {
5269 			if (yych <= 'n') goto yy314;
5270 			if (yych <= 'z') goto yy291;
5271 			goto yy20;
5272 		}
5273 	}
5274 yy157:
5275 	YYDEBUG(157, *YYCURSOR);
5276 	yyaccept = 2;
5277 	yych = *(YYMARKER = ++YYCURSOR);
5278 	if (yych <= 'X') {
5279 		if (yych <= '.') {
5280 			if (yych <= ')') {
5281 				if (yych <= '(') goto yy20;
5282 				goto yy115;
5283 			} else {
5284 				if (yych == '-') goto yy297;
5285 				goto yy20;
5286 			}
5287 		} else {
5288 			if (yych <= '@') {
5289 				if (yych <= '/') goto yy297;
5290 				goto yy20;
5291 			} else {
5292 				if (yych == 'R') goto yy342;
5293 				goto yy291;
5294 			}
5295 		}
5296 	} else {
5297 		if (yych <= '`') {
5298 			if (yych <= 'Z') {
5299 				if (yych <= 'Y') goto yy343;
5300 				goto yy291;
5301 			} else {
5302 				if (yych == '_') goto yy297;
5303 				goto yy20;
5304 			}
5305 		} else {
5306 			if (yych <= 'x') {
5307 				if (yych == 'r') goto yy345;
5308 				goto yy298;
5309 			} else {
5310 				if (yych <= 'y') goto yy346;
5311 				if (yych <= 'z') goto yy298;
5312 				goto yy20;
5313 			}
5314 		}
5315 	}
5316 yy158:
5317 	YYDEBUG(158, *YYCURSOR);
5318 	yyaccept = 2;
5319 	yych = *(YYMARKER = ++YYCURSOR);
5320 	if (yych <= 'C') {
5321 		if (yych <= '-') {
5322 			if (yych == ')') goto yy115;
5323 			if (yych <= ',') goto yy20;
5324 			goto yy297;
5325 		} else {
5326 			if (yych == '/') goto yy297;
5327 			if (yych <= '@') goto yy20;
5328 			goto yy291;
5329 		}
5330 	} else {
5331 		if (yych <= '_') {
5332 			if (yych <= 'D') goto yy344;
5333 			if (yych <= 'Z') goto yy291;
5334 			if (yych <= '^') goto yy20;
5335 			goto yy297;
5336 		} else {
5337 			if (yych <= 'c') {
5338 				if (yych <= '`') goto yy20;
5339 				goto yy298;
5340 			} else {
5341 				if (yych <= 'd') goto yy347;
5342 				if (yych <= 'z') goto yy298;
5343 				goto yy20;
5344 			}
5345 		}
5346 	}
5347 yy159:
5348 	YYDEBUG(159, *YYCURSOR);
5349 	yyaccept = 2;
5350 	yych = *(YYMARKER = ++YYCURSOR);
5351 	if (yych <= 'M') {
5352 		if (yych <= '-') {
5353 			if (yych == ')') goto yy115;
5354 			if (yych <= ',') goto yy20;
5355 			goto yy297;
5356 		} else {
5357 			if (yych == '/') goto yy297;
5358 			if (yych <= '@') goto yy20;
5359 			goto yy291;
5360 		}
5361 	} else {
5362 		if (yych <= '_') {
5363 			if (yych <= 'N') goto yy314;
5364 			if (yych <= 'Z') goto yy291;
5365 			if (yych <= '^') goto yy20;
5366 			goto yy297;
5367 		} else {
5368 			if (yych <= 'm') {
5369 				if (yych <= '`') goto yy20;
5370 				goto yy298;
5371 			} else {
5372 				if (yych <= 'n') goto yy321;
5373 				if (yych <= 'z') goto yy298;
5374 				goto yy20;
5375 			}
5376 		}
5377 	}
5378 yy160:
5379 	YYDEBUG(160, *YYCURSOR);
5380 	yych = *++YYCURSOR;
5381 	if (yych <= 'X') {
5382 		if (yych <= ')') {
5383 			if (yych <= '(') goto yy20;
5384 			goto yy115;
5385 		} else {
5386 			if (yych <= '@') goto yy20;
5387 			if (yych <= 'W') goto yy291;
5388 			goto yy348;
5389 		}
5390 	} else {
5391 		if (yych <= 'w') {
5392 			if (yych <= 'Z') goto yy291;
5393 			if (yych <= '`') goto yy20;
5394 			goto yy291;
5395 		} else {
5396 			if (yych <= 'x') goto yy348;
5397 			if (yych <= 'z') goto yy291;
5398 			goto yy20;
5399 		}
5400 	}
5401 yy161:
5402 	YYDEBUG(161, *YYCURSOR);
5403 	yych = *++YYCURSOR;
5404 	if (yych <= 'N') {
5405 		if (yych <= ')') {
5406 			if (yych <= '(') goto yy20;
5407 			goto yy115;
5408 		} else {
5409 			if (yych <= '@') goto yy20;
5410 			if (yych <= 'M') goto yy291;
5411 			goto yy311;
5412 		}
5413 	} else {
5414 		if (yych <= 'm') {
5415 			if (yych <= 'Z') goto yy291;
5416 			if (yych <= '`') goto yy20;
5417 			goto yy291;
5418 		} else {
5419 			if (yych <= 'n') goto yy311;
5420 			if (yych <= 'z') goto yy291;
5421 			goto yy20;
5422 		}
5423 	}
5424 yy162:
5425 	YYDEBUG(162, *YYCURSOR);
5426 	yych = *++YYCURSOR;
5427 	if (yych <= 'W') {
5428 		if (yych <= 'N') {
5429 			if (yych == ')') goto yy115;
5430 			if (yych <= '@') goto yy20;
5431 			goto yy291;
5432 		} else {
5433 			if (yych <= 'O') goto yy349;
5434 			if (yych <= 'U') goto yy291;
5435 			if (yych <= 'V') goto yy304;
5436 			goto yy350;
5437 		}
5438 	} else {
5439 		if (yych <= 'o') {
5440 			if (yych <= 'Z') goto yy291;
5441 			if (yych <= '`') goto yy20;
5442 			if (yych <= 'n') goto yy291;
5443 			goto yy349;
5444 		} else {
5445 			if (yych <= 'v') {
5446 				if (yych <= 'u') goto yy291;
5447 				goto yy304;
5448 			} else {
5449 				if (yych <= 'w') goto yy350;
5450 				if (yych <= 'z') goto yy291;
5451 				goto yy20;
5452 			}
5453 		}
5454 	}
5455 yy163:
5456 	YYDEBUG(163, *YYCURSOR);
5457 	yyaccept = 2;
5458 	yych = *(YYMARKER = ++YYCURSOR);
5459 	if (yych <= 'W') {
5460 		if (yych <= '-') {
5461 			if (yych == ')') goto yy115;
5462 			if (yych <= ',') goto yy20;
5463 			goto yy297;
5464 		} else {
5465 			if (yych == '/') goto yy297;
5466 			if (yych <= '@') goto yy20;
5467 			goto yy291;
5468 		}
5469 	} else {
5470 		if (yych <= '_') {
5471 			if (yych <= 'X') goto yy348;
5472 			if (yych <= 'Z') goto yy291;
5473 			if (yych <= '^') goto yy20;
5474 			goto yy297;
5475 		} else {
5476 			if (yych <= 'w') {
5477 				if (yych <= '`') goto yy20;
5478 				goto yy298;
5479 			} else {
5480 				if (yych <= 'x') goto yy352;
5481 				if (yych <= 'z') goto yy298;
5482 				goto yy20;
5483 			}
5484 		}
5485 	}
5486 yy164:
5487 	YYDEBUG(164, *YYCURSOR);
5488 	yyaccept = 2;
5489 	yych = *(YYMARKER = ++YYCURSOR);
5490 	if (yych <= 'M') {
5491 		if (yych <= '-') {
5492 			if (yych == ')') goto yy115;
5493 			if (yych <= ',') goto yy20;
5494 			goto yy297;
5495 		} else {
5496 			if (yych == '/') goto yy297;
5497 			if (yych <= '@') goto yy20;
5498 			goto yy291;
5499 		}
5500 	} else {
5501 		if (yych <= '_') {
5502 			if (yych <= 'N') goto yy311;
5503 			if (yych <= 'Z') goto yy291;
5504 			if (yych <= '^') goto yy20;
5505 			goto yy297;
5506 		} else {
5507 			if (yych <= 'm') {
5508 				if (yych <= '`') goto yy20;
5509 				goto yy298;
5510 			} else {
5511 				if (yych <= 'n') goto yy318;
5512 				if (yych <= 'z') goto yy298;
5513 				goto yy20;
5514 			}
5515 		}
5516 	}
5517 yy165:
5518 	YYDEBUG(165, *YYCURSOR);
5519 	yyaccept = 2;
5520 	yych = *(YYMARKER = ++YYCURSOR);
5521 	if (yych <= 'V') {
5522 		if (yych <= '.') {
5523 			if (yych <= ')') {
5524 				if (yych <= '(') goto yy20;
5525 				goto yy115;
5526 			} else {
5527 				if (yych == '-') goto yy297;
5528 				goto yy20;
5529 			}
5530 		} else {
5531 			if (yych <= 'N') {
5532 				if (yych <= '/') goto yy297;
5533 				if (yych <= '@') goto yy20;
5534 				goto yy291;
5535 			} else {
5536 				if (yych <= 'O') goto yy349;
5537 				if (yych <= 'U') goto yy291;
5538 				goto yy304;
5539 			}
5540 		}
5541 	} else {
5542 		if (yych <= 'n') {
5543 			if (yych <= '^') {
5544 				if (yych <= 'W') goto yy350;
5545 				if (yych <= 'Z') goto yy291;
5546 				goto yy20;
5547 			} else {
5548 				if (yych <= '_') goto yy297;
5549 				if (yych <= '`') goto yy20;
5550 				goto yy298;
5551 			}
5552 		} else {
5553 			if (yych <= 'v') {
5554 				if (yych <= 'o') goto yy353;
5555 				if (yych <= 'u') goto yy298;
5556 				goto yy305;
5557 			} else {
5558 				if (yych <= 'w') goto yy354;
5559 				if (yych <= 'z') goto yy298;
5560 				goto yy20;
5561 			}
5562 		}
5563 	}
5564 yy166:
5565 	YYDEBUG(166, *YYCURSOR);
5566 	yych = *++YYCURSOR;
5567 	if (yych <= 'T') {
5568 		if (yych <= ')') {
5569 			if (yych <= '(') goto yy20;
5570 			goto yy115;
5571 		} else {
5572 			if (yych <= '@') goto yy20;
5573 			if (yych <= 'S') goto yy291;
5574 			goto yy355;
5575 		}
5576 	} else {
5577 		if (yych <= 's') {
5578 			if (yych <= 'Z') goto yy291;
5579 			if (yych <= '`') goto yy20;
5580 			goto yy291;
5581 		} else {
5582 			if (yych <= 't') goto yy355;
5583 			if (yych <= 'z') goto yy291;
5584 			goto yy20;
5585 		}
5586 	}
5587 yy167:
5588 	YYDEBUG(167, *YYCURSOR);
5589 	yyaccept = 2;
5590 	yych = *(YYMARKER = ++YYCURSOR);
5591 	if (yych <= 'S') {
5592 		if (yych <= '-') {
5593 			if (yych == ')') goto yy115;
5594 			if (yych <= ',') goto yy20;
5595 			goto yy297;
5596 		} else {
5597 			if (yych == '/') goto yy297;
5598 			if (yych <= '@') goto yy20;
5599 			goto yy291;
5600 		}
5601 	} else {
5602 		if (yych <= '_') {
5603 			if (yych <= 'T') goto yy355;
5604 			if (yych <= 'Z') goto yy291;
5605 			if (yych <= '^') goto yy20;
5606 			goto yy297;
5607 		} else {
5608 			if (yych <= 's') {
5609 				if (yych <= '`') goto yy20;
5610 				goto yy298;
5611 			} else {
5612 				if (yych <= 't') goto yy356;
5613 				if (yych <= 'z') goto yy298;
5614 				goto yy20;
5615 			}
5616 		}
5617 	}
5618 yy168:
5619 	YYDEBUG(168, *YYCURSOR);
5620 	yych = *++YYCURSOR;
5621 	if (yych <= 'E') {
5622 		if (yych <= ')') {
5623 			if (yych <= '(') goto yy20;
5624 			goto yy115;
5625 		} else {
5626 			if (yych <= '@') goto yy20;
5627 			if (yych <= 'D') goto yy291;
5628 			goto yy357;
5629 		}
5630 	} else {
5631 		if (yych <= 'd') {
5632 			if (yych <= 'Z') goto yy291;
5633 			if (yych <= '`') goto yy20;
5634 			goto yy291;
5635 		} else {
5636 			if (yych <= 'e') goto yy357;
5637 			if (yych <= 'z') goto yy291;
5638 			goto yy20;
5639 		}
5640 	}
5641 yy169:
5642 	YYDEBUG(169, *YYCURSOR);
5643 	yyaccept = 2;
5644 	yych = *(YYMARKER = ++YYCURSOR);
5645 	if (yych <= 'D') {
5646 		if (yych <= '-') {
5647 			if (yych == ')') goto yy115;
5648 			if (yych <= ',') goto yy20;
5649 			goto yy297;
5650 		} else {
5651 			if (yych == '/') goto yy297;
5652 			if (yych <= '@') goto yy20;
5653 			goto yy291;
5654 		}
5655 	} else {
5656 		if (yych <= '_') {
5657 			if (yych <= 'E') goto yy357;
5658 			if (yych <= 'Z') goto yy291;
5659 			if (yych <= '^') goto yy20;
5660 			goto yy297;
5661 		} else {
5662 			if (yych <= 'd') {
5663 				if (yych <= '`') goto yy20;
5664 				goto yy298;
5665 			} else {
5666 				if (yych <= 'e') goto yy358;
5667 				if (yych <= 'z') goto yy298;
5668 				goto yy20;
5669 			}
5670 		}
5671 	}
5672 yy170:
5673 	YYDEBUG(170, *YYCURSOR);
5674 	yych = *++YYCURSOR;
5675 	if (yych <= 'T') {
5676 		if (yych <= ')') {
5677 			if (yych <= '(') goto yy20;
5678 			goto yy115;
5679 		} else {
5680 			if (yych <= '@') goto yy20;
5681 			if (yych <= 'S') goto yy291;
5682 			goto yy359;
5683 		}
5684 	} else {
5685 		if (yych <= 's') {
5686 			if (yych <= 'Z') goto yy291;
5687 			if (yych <= '`') goto yy20;
5688 			goto yy291;
5689 		} else {
5690 			if (yych <= 't') goto yy359;
5691 			if (yych <= 'z') goto yy291;
5692 			goto yy20;
5693 		}
5694 	}
5695 yy171:
5696 	YYDEBUG(171, *YYCURSOR);
5697 	yych = *++YYCURSOR;
5698 	if (yych <= 'V') {
5699 		if (yych <= 'B') {
5700 			if (yych == ')') goto yy115;
5701 			if (yych <= '@') goto yy20;
5702 			goto yy291;
5703 		} else {
5704 			if (yych <= 'O') {
5705 				if (yych <= 'C') goto yy360;
5706 				goto yy291;
5707 			} else {
5708 				if (yych <= 'P') goto yy361;
5709 				if (yych <= 'U') goto yy291;
5710 				goto yy362;
5711 			}
5712 		}
5713 	} else {
5714 		if (yych <= 'o') {
5715 			if (yych <= '`') {
5716 				if (yych <= 'Z') goto yy291;
5717 				goto yy20;
5718 			} else {
5719 				if (yych == 'c') goto yy360;
5720 				goto yy291;
5721 			}
5722 		} else {
5723 			if (yych <= 'u') {
5724 				if (yych <= 'p') goto yy361;
5725 				goto yy291;
5726 			} else {
5727 				if (yych <= 'v') goto yy362;
5728 				if (yych <= 'z') goto yy291;
5729 				goto yy20;
5730 			}
5731 		}
5732 	}
5733 yy172:
5734 	YYDEBUG(172, *YYCURSOR);
5735 	yych = *++YYCURSOR;
5736 	if (yych <= 'X') {
5737 		if (yych <= ')') {
5738 			if (yych <= '(') goto yy20;
5739 			goto yy115;
5740 		} else {
5741 			if (yych <= '@') goto yy20;
5742 			if (yych <= 'W') goto yy291;
5743 			goto yy311;
5744 		}
5745 	} else {
5746 		if (yych <= 'w') {
5747 			if (yych <= 'Z') goto yy291;
5748 			if (yych <= '`') goto yy20;
5749 			goto yy291;
5750 		} else {
5751 			if (yych <= 'x') goto yy311;
5752 			if (yych <= 'z') goto yy291;
5753 			goto yy20;
5754 		}
5755 	}
5756 yy173:
5757 	YYDEBUG(173, *YYCURSOR);
5758 	yyaccept = 2;
5759 	yych = *(YYMARKER = ++YYCURSOR);
5760 	if (yych <= 'S') {
5761 		if (yych <= '-') {
5762 			if (yych == ')') goto yy115;
5763 			if (yych <= ',') goto yy20;
5764 			goto yy297;
5765 		} else {
5766 			if (yych == '/') goto yy297;
5767 			if (yych <= '@') goto yy20;
5768 			goto yy291;
5769 		}
5770 	} else {
5771 		if (yych <= '_') {
5772 			if (yych <= 'T') goto yy359;
5773 			if (yych <= 'Z') goto yy291;
5774 			if (yych <= '^') goto yy20;
5775 			goto yy297;
5776 		} else {
5777 			if (yych <= 's') {
5778 				if (yych <= '`') goto yy20;
5779 				goto yy298;
5780 			} else {
5781 				if (yych <= 't') goto yy363;
5782 				if (yych <= 'z') goto yy298;
5783 				goto yy20;
5784 			}
5785 		}
5786 	}
5787 yy174:
5788 	YYDEBUG(174, *YYCURSOR);
5789 	yyaccept = 2;
5790 	yych = *(YYMARKER = ++YYCURSOR);
5791 	if (yych <= 'U') {
5792 		if (yych <= '/') {
5793 			if (yych <= ',') {
5794 				if (yych == ')') goto yy115;
5795 				goto yy20;
5796 			} else {
5797 				if (yych == '.') goto yy20;
5798 				goto yy297;
5799 			}
5800 		} else {
5801 			if (yych <= 'C') {
5802 				if (yych <= '@') goto yy20;
5803 				if (yych <= 'B') goto yy291;
5804 				goto yy360;
5805 			} else {
5806 				if (yych == 'P') goto yy361;
5807 				goto yy291;
5808 			}
5809 		}
5810 	} else {
5811 		if (yych <= 'b') {
5812 			if (yych <= '^') {
5813 				if (yych <= 'V') goto yy362;
5814 				if (yych <= 'Z') goto yy291;
5815 				goto yy20;
5816 			} else {
5817 				if (yych <= '_') goto yy297;
5818 				if (yych <= '`') goto yy20;
5819 				goto yy298;
5820 			}
5821 		} else {
5822 			if (yych <= 'p') {
5823 				if (yych <= 'c') goto yy364;
5824 				if (yych <= 'o') goto yy298;
5825 				goto yy365;
5826 			} else {
5827 				if (yych == 'v') goto yy366;
5828 				if (yych <= 'z') goto yy298;
5829 				goto yy20;
5830 			}
5831 		}
5832 	}
5833 yy175:
5834 	YYDEBUG(175, *YYCURSOR);
5835 	yyaccept = 2;
5836 	yych = *(YYMARKER = ++YYCURSOR);
5837 	if (yych <= 'W') {
5838 		if (yych <= '-') {
5839 			if (yych == ')') goto yy115;
5840 			if (yych <= ',') goto yy20;
5841 			goto yy297;
5842 		} else {
5843 			if (yych == '/') goto yy297;
5844 			if (yych <= '@') goto yy20;
5845 			goto yy291;
5846 		}
5847 	} else {
5848 		if (yych <= '_') {
5849 			if (yych <= 'X') goto yy311;
5850 			if (yych <= 'Z') goto yy291;
5851 			if (yych <= '^') goto yy20;
5852 			goto yy297;
5853 		} else {
5854 			if (yych <= 'w') {
5855 				if (yych <= '`') goto yy20;
5856 				goto yy298;
5857 			} else {
5858 				if (yych <= 'x') goto yy318;
5859 				if (yych <= 'z') goto yy298;
5860 				goto yy20;
5861 			}
5862 		}
5863 	}
5864 yy176:
5865 	YYDEBUG(176, *YYCURSOR);
5866 	yyaccept = 4;
5867 	yych = *(YYMARKER = ++YYCURSOR);
5868 	if (yych <= '/') {
5869 		if (yych == '.') goto yy75;
5870 	} else {
5871 		if (yych <= '9') goto yy367;
5872 		if (yych <= ':') goto yy75;
5873 	}
5874 yy177:
5875 	YYDEBUG(177, *YYCURSOR);
5876 #line 1377 "ext/date/lib/parse_date.re"
5877 	{
5878 		int tz_not_found;
5879 		DEBUG_OUTPUT("timetiny24 | timeshort24 | timelong24 | iso8601long");
5880 		TIMELIB_INIT;
5881 		TIMELIB_HAVE_TIME();
5882 		s->time->h = timelib_get_nr(&ptr, 2);
5883 		if (*ptr == ':' || *ptr == '.') {
5884 			s->time->i = timelib_get_nr(&ptr, 2);
5885 			if (*ptr == ':' || *ptr == '.') {
5886 				s->time->s = timelib_get_nr(&ptr, 2);
5887 
5888 				if (*ptr == '.') {
5889 					s->time->us = timelib_get_frac_nr(&ptr);
5890 				}
5891 			}
5892 		}
5893 
5894 		if (*ptr != '\0') {
5895 			s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
5896 			if (tz_not_found) {
5897 				add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
5898 			}
5899 		}
5900 		TIMELIB_DEINIT;
5901 		return TIMELIB_TIME24_WITH_ZONE;
5902 	}
5903 #line 5904 "<stdout>"
5904 yy178:
5905 	YYDEBUG(178, *YYCURSOR);
5906 	yyaccept = 4;
5907 	yych = *(YYMARKER = ++YYCURSOR);
5908 	if (yych <= '/') {
5909 		if (yych == '.') goto yy75;
5910 		goto yy177;
5911 	} else {
5912 		if (yych <= '4') goto yy367;
5913 		if (yych == ':') goto yy75;
5914 		goto yy177;
5915 	}
5916 yy179:
5917 	YYDEBUG(179, *YYCURSOR);
5918 	yyaccept = 4;
5919 	yych = *(YYMARKER = ++YYCURSOR);
5920 	if (yych == '.') goto yy75;
5921 	if (yych == ':') goto yy75;
5922 	goto yy177;
5923 yy180:
5924 	YYDEBUG(180, *YYCURSOR);
5925 	yych = *++YYCURSOR;
5926 	if (yych <= 'U') {
5927 		if (yych <= '@') {
5928 			if (yych == ')') goto yy115;
5929 			goto yy20;
5930 		} else {
5931 			if (yych == 'I') goto yy368;
5932 			if (yych <= 'T') goto yy291;
5933 			goto yy369;
5934 		}
5935 	} else {
5936 		if (yych <= 'i') {
5937 			if (yych <= 'Z') goto yy291;
5938 			if (yych <= '`') goto yy20;
5939 			if (yych <= 'h') goto yy291;
5940 			goto yy368;
5941 		} else {
5942 			if (yych == 'u') goto yy369;
5943 			if (yych <= 'z') goto yy291;
5944 			goto yy20;
5945 		}
5946 	}
5947 yy181:
5948 	YYDEBUG(181, *YYCURSOR);
5949 	yych = *++YYCURSOR;
5950 	if (yych <= 'M') {
5951 		if (yych <= '@') {
5952 			if (yych == ')') goto yy115;
5953 			goto yy20;
5954 		} else {
5955 			if (yych == 'D') goto yy370;
5956 			if (yych <= 'L') goto yy291;
5957 			goto yy371;
5958 		}
5959 	} else {
5960 		if (yych <= 'd') {
5961 			if (yych <= 'Z') goto yy291;
5962 			if (yych <= '`') goto yy20;
5963 			if (yych <= 'c') goto yy291;
5964 			goto yy370;
5965 		} else {
5966 			if (yych == 'm') goto yy371;
5967 			if (yych <= 'z') goto yy291;
5968 			goto yy20;
5969 		}
5970 	}
5971 yy182:
5972 	YYDEBUG(182, *YYCURSOR);
5973 	yych = *++YYCURSOR;
5974 	if (yych <= 'E') {
5975 		if (yych <= ')') {
5976 			if (yych <= '(') goto yy20;
5977 			goto yy115;
5978 		} else {
5979 			if (yych <= '@') goto yy20;
5980 			if (yych <= 'D') goto yy291;
5981 			goto yy372;
5982 		}
5983 	} else {
5984 		if (yych <= 'd') {
5985 			if (yych <= 'Z') goto yy291;
5986 			if (yych <= '`') goto yy20;
5987 			goto yy291;
5988 		} else {
5989 			if (yych <= 'e') goto yy372;
5990 			if (yych <= 'z') goto yy291;
5991 			goto yy20;
5992 		}
5993 	}
5994 yy183:
5995 	YYDEBUG(183, *YYCURSOR);
5996 	yych = *++YYCURSOR;
5997 	if (yych <= 'E') {
5998 		if (yych <= ')') {
5999 			if (yych <= '(') goto yy20;
6000 			goto yy115;
6001 		} else {
6002 			if (yych <= '@') goto yy20;
6003 			if (yych <= 'D') goto yy291;
6004 			goto yy373;
6005 		}
6006 	} else {
6007 		if (yych <= 'd') {
6008 			if (yych <= 'Z') goto yy291;
6009 			if (yych <= '`') goto yy20;
6010 			goto yy291;
6011 		} else {
6012 			if (yych <= 'e') goto yy373;
6013 			if (yych <= 'z') goto yy291;
6014 			goto yy20;
6015 		}
6016 	}
6017 yy184:
6018 	YYDEBUG(184, *YYCURSOR);
6019 	yyaccept = 2;
6020 	yych = *(YYMARKER = ++YYCURSOR);
6021 	if (yych <= 'T') {
6022 		if (yych <= '.') {
6023 			if (yych <= ')') {
6024 				if (yych <= '(') goto yy20;
6025 				goto yy115;
6026 			} else {
6027 				if (yych == '-') goto yy297;
6028 				goto yy20;
6029 			}
6030 		} else {
6031 			if (yych <= '@') {
6032 				if (yych <= '/') goto yy297;
6033 				goto yy20;
6034 			} else {
6035 				if (yych == 'I') goto yy368;
6036 				goto yy291;
6037 			}
6038 		}
6039 	} else {
6040 		if (yych <= '`') {
6041 			if (yych <= 'Z') {
6042 				if (yych <= 'U') goto yy369;
6043 				goto yy291;
6044 			} else {
6045 				if (yych == '_') goto yy297;
6046 				goto yy20;
6047 			}
6048 		} else {
6049 			if (yych <= 't') {
6050 				if (yych == 'i') goto yy374;
6051 				goto yy298;
6052 			} else {
6053 				if (yych <= 'u') goto yy375;
6054 				if (yych <= 'z') goto yy298;
6055 				goto yy20;
6056 			}
6057 		}
6058 	}
6059 yy185:
6060 	YYDEBUG(185, *YYCURSOR);
6061 	yyaccept = 2;
6062 	yych = *(YYMARKER = ++YYCURSOR);
6063 	if (yych <= 'L') {
6064 		if (yych <= '.') {
6065 			if (yych <= ')') {
6066 				if (yych <= '(') goto yy20;
6067 				goto yy115;
6068 			} else {
6069 				if (yych == '-') goto yy297;
6070 				goto yy20;
6071 			}
6072 		} else {
6073 			if (yych <= '@') {
6074 				if (yych <= '/') goto yy297;
6075 				goto yy20;
6076 			} else {
6077 				if (yych == 'D') goto yy370;
6078 				goto yy291;
6079 			}
6080 		}
6081 	} else {
6082 		if (yych <= '`') {
6083 			if (yych <= 'Z') {
6084 				if (yych <= 'M') goto yy371;
6085 				goto yy291;
6086 			} else {
6087 				if (yych == '_') goto yy297;
6088 				goto yy20;
6089 			}
6090 		} else {
6091 			if (yych <= 'l') {
6092 				if (yych == 'd') goto yy376;
6093 				goto yy298;
6094 			} else {
6095 				if (yych <= 'm') goto yy377;
6096 				if (yych <= 'z') goto yy298;
6097 				goto yy20;
6098 			}
6099 		}
6100 	}
6101 yy186:
6102 	YYDEBUG(186, *YYCURSOR);
6103 	yyaccept = 2;
6104 	yych = *(YYMARKER = ++YYCURSOR);
6105 	if (yych <= 'D') {
6106 		if (yych <= '-') {
6107 			if (yych == ')') goto yy115;
6108 			if (yych <= ',') goto yy20;
6109 			goto yy297;
6110 		} else {
6111 			if (yych == '/') goto yy297;
6112 			if (yych <= '@') goto yy20;
6113 			goto yy291;
6114 		}
6115 	} else {
6116 		if (yych <= '_') {
6117 			if (yych <= 'E') goto yy372;
6118 			if (yych <= 'Z') goto yy291;
6119 			if (yych <= '^') goto yy20;
6120 			goto yy297;
6121 		} else {
6122 			if (yych <= 'd') {
6123 				if (yych <= '`') goto yy20;
6124 				goto yy298;
6125 			} else {
6126 				if (yych <= 'e') goto yy378;
6127 				if (yych <= 'z') goto yy298;
6128 				goto yy20;
6129 			}
6130 		}
6131 	}
6132 yy187:
6133 	YYDEBUG(187, *YYCURSOR);
6134 	yyaccept = 2;
6135 	yych = *(YYMARKER = ++YYCURSOR);
6136 	if (yych <= 'D') {
6137 		if (yych <= '-') {
6138 			if (yych == ')') goto yy115;
6139 			if (yych <= ',') goto yy20;
6140 			goto yy297;
6141 		} else {
6142 			if (yych == '/') goto yy297;
6143 			if (yych <= '@') goto yy20;
6144 			goto yy291;
6145 		}
6146 	} else {
6147 		if (yych <= '_') {
6148 			if (yych <= 'E') goto yy373;
6149 			if (yych <= 'Z') goto yy291;
6150 			if (yych <= '^') goto yy20;
6151 			goto yy297;
6152 		} else {
6153 			if (yych <= 'd') {
6154 				if (yych <= '`') goto yy20;
6155 				goto yy298;
6156 			} else {
6157 				if (yych <= 'e') goto yy379;
6158 				if (yych <= 'z') goto yy298;
6159 				goto yy20;
6160 			}
6161 		}
6162 	}
6163 yy188:
6164 	YYDEBUG(188, *YYCURSOR);
6165 	yyaccept = 2;
6166 	yych = *(YYMARKER = ++YYCURSOR);
6167 	if (yych <= '.') {
6168 		if (yych <= ' ') {
6169 			if (yych == '\t') goto yy142;
6170 			if (yych <= 0x1F) goto yy20;
6171 			goto yy142;
6172 		} else {
6173 			if (yych == ')') goto yy115;
6174 			if (yych <= ',') goto yy20;
6175 			goto yy142;
6176 		}
6177 	} else {
6178 		if (yych <= 'H') {
6179 			if (yych <= '/') goto yy20;
6180 			if (yych <= '9') goto yy142;
6181 			if (yych <= '@') goto yy20;
6182 			goto yy291;
6183 		} else {
6184 			if (yych <= 'Z') {
6185 				if (yych <= 'I') goto yy380;
6186 				goto yy291;
6187 			} else {
6188 				if (yych <= '`') goto yy20;
6189 				if (yych <= 'z') goto yy291;
6190 				goto yy20;
6191 			}
6192 		}
6193 	}
6194 yy189:
6195 	YYDEBUG(189, *YYCURSOR);
6196 	yych = *++YYCURSOR;
6197 	if (yych <= 'E') {
6198 		if (yych <= '@') {
6199 			if (yych == ')') goto yy115;
6200 			goto yy20;
6201 		} else {
6202 			if (yych <= 'C') goto yy291;
6203 			if (yych <= 'D') goto yy381;
6204 			goto yy382;
6205 		}
6206 	} else {
6207 		if (yych <= 'c') {
6208 			if (yych <= 'Z') goto yy291;
6209 			if (yych <= '`') goto yy20;
6210 			goto yy291;
6211 		} else {
6212 			if (yych <= 'd') goto yy381;
6213 			if (yych <= 'e') goto yy382;
6214 			if (yych <= 'z') goto yy291;
6215 			goto yy20;
6216 		}
6217 	}
6218 yy190:
6219 	YYDEBUG(190, *YYCURSOR);
6220 	yyaccept = 2;
6221 	yych = *(YYMARKER = ++YYCURSOR);
6222 	if (yych <= 'D') {
6223 		if (yych <= '-') {
6224 			if (yych == ')') goto yy115;
6225 			if (yych <= ',') goto yy20;
6226 			goto yy297;
6227 		} else {
6228 			if (yych <= '/') {
6229 				if (yych <= '.') goto yy20;
6230 				goto yy297;
6231 			} else {
6232 				if (yych <= '@') goto yy20;
6233 				if (yych <= 'C') goto yy291;
6234 				goto yy381;
6235 			}
6236 		}
6237 	} else {
6238 		if (yych <= '`') {
6239 			if (yych <= 'Z') {
6240 				if (yych <= 'E') goto yy382;
6241 				goto yy291;
6242 			} else {
6243 				if (yych == '_') goto yy297;
6244 				goto yy20;
6245 			}
6246 		} else {
6247 			if (yych <= 'd') {
6248 				if (yych <= 'c') goto yy298;
6249 				goto yy383;
6250 			} else {
6251 				if (yych <= 'e') goto yy384;
6252 				if (yych <= 'z') goto yy298;
6253 				goto yy20;
6254 			}
6255 		}
6256 	}
6257 yy191:
6258 	YYDEBUG(191, *YYCURSOR);
6259 	yych = *++YYCURSOR;
6260 	if (yych <= 'S') {
6261 		if (yych <= ')') {
6262 			if (yych <= '(') goto yy20;
6263 			goto yy115;
6264 		} else {
6265 			if (yych <= '@') goto yy20;
6266 			if (yych <= 'R') goto yy291;
6267 			goto yy385;
6268 		}
6269 	} else {
6270 		if (yych <= 'r') {
6271 			if (yych <= 'Z') goto yy291;
6272 			if (yych <= '`') goto yy20;
6273 			goto yy291;
6274 		} else {
6275 			if (yych <= 's') goto yy385;
6276 			if (yych <= 'z') goto yy291;
6277 			goto yy20;
6278 		}
6279 	}
6280 yy192:
6281 	YYDEBUG(192, *YYCURSOR);
6282 	yyaccept = 2;
6283 	yych = *(YYMARKER = ++YYCURSOR);
6284 	if (yych <= 'R') {
6285 		if (yych <= '-') {
6286 			if (yych == ')') goto yy115;
6287 			if (yych <= ',') goto yy20;
6288 			goto yy297;
6289 		} else {
6290 			if (yych == '/') goto yy297;
6291 			if (yych <= '@') goto yy20;
6292 			goto yy291;
6293 		}
6294 	} else {
6295 		if (yych <= '_') {
6296 			if (yych <= 'S') goto yy385;
6297 			if (yych <= 'Z') goto yy291;
6298 			if (yych <= '^') goto yy20;
6299 			goto yy297;
6300 		} else {
6301 			if (yych <= 'r') {
6302 				if (yych <= '`') goto yy20;
6303 				goto yy298;
6304 			} else {
6305 				if (yych <= 's') goto yy386;
6306 				if (yych <= 'z') goto yy298;
6307 				goto yy20;
6308 			}
6309 		}
6310 	}
6311 yy193:
6312 	YYDEBUG(193, *YYCURSOR);
6313 	yyaccept = 0;
6314 	YYMARKER = ++YYCURSOR;
6315 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
6316 	yych = *YYCURSOR;
6317 	if (yych == 0xC2) goto yy387;
6318 	goto yy8;
6319 yy194:
6320 	YYDEBUG(194, *YYCURSOR);
6321 	++YYCURSOR;
6322 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
6323 	yych = *YYCURSOR;
6324 	if (yych == 0xAF) goto yy388;
6325 	goto yy59;
6326 yy195:
6327 	YYDEBUG(195, *YYCURSOR);
6328 	++YYCURSOR;
6329 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
6330 	yych = *YYCURSOR;
6331 yy196:
6332 	YYDEBUG(196, *YYCURSOR);
6333 	if (yych <= 'X') {
6334 		if (yych <= 'G') {
6335 			if (yych <= ' ') {
6336 				if (yych == '\t') goto yy195;
6337 				if (yych <= 0x1F) goto yy59;
6338 				goto yy195;
6339 			} else {
6340 				if (yych <= 'D') {
6341 					if (yych <= 'C') goto yy59;
6342 					goto yy198;
6343 				} else {
6344 					if (yych == 'F') goto yy199;
6345 					goto yy59;
6346 				}
6347 			}
6348 		} else {
6349 			if (yych <= 'S') {
6350 				if (yych <= 'L') {
6351 					if (yych <= 'H') goto yy79;
6352 					goto yy59;
6353 				} else {
6354 					if (yych <= 'M') goto yy200;
6355 					if (yych <= 'R') goto yy59;
6356 					goto yy201;
6357 				}
6358 			} else {
6359 				if (yych <= 'U') {
6360 					if (yych <= 'T') goto yy87;
6361 					goto yy88;
6362 				} else {
6363 					if (yych == 'W') goto yy90;
6364 					goto yy59;
6365 				}
6366 			}
6367 		}
6368 	} else {
6369 		if (yych <= 'r') {
6370 			if (yych <= 'f') {
6371 				if (yych <= 'c') {
6372 					if (yych <= 'Y') goto yy92;
6373 					goto yy59;
6374 				} else {
6375 					if (yych <= 'd') goto yy198;
6376 					if (yych <= 'e') goto yy59;
6377 					goto yy199;
6378 				}
6379 			} else {
6380 				if (yych <= 'h') {
6381 					if (yych <= 'g') goto yy59;
6382 					goto yy79;
6383 				} else {
6384 					if (yych == 'm') goto yy200;
6385 					goto yy59;
6386 				}
6387 			}
6388 		} else {
6389 			if (yych <= 'w') {
6390 				if (yych <= 't') {
6391 					if (yych <= 's') goto yy201;
6392 					goto yy87;
6393 				} else {
6394 					if (yych <= 'u') goto yy88;
6395 					if (yych <= 'v') goto yy59;
6396 					goto yy90;
6397 				}
6398 			} else {
6399 				if (yych <= 'y') {
6400 					if (yych <= 'x') goto yy59;
6401 					goto yy92;
6402 				} else {
6403 					if (yych == 0xC2) goto yy211;
6404 					goto yy59;
6405 				}
6406 			}
6407 		}
6408 	}
6409 yy197:
6410 	YYDEBUG(197, *YYCURSOR);
6411 	yych = *++YYCURSOR;
6412 	if (yych <= 0xC1) {
6413 		if (yych <= '/') goto yy196;
6414 		if (yych <= '9') goto yy389;
6415 		goto yy196;
6416 	} else {
6417 		if (yych <= 0xC2) goto yy97;
6418 		if (yych == 0xE2) goto yy98;
6419 		goto yy196;
6420 	}
6421 yy198:
6422 	YYDEBUG(198, *YYCURSOR);
6423 	yych = *++YYCURSOR;
6424 	if (yych == 'A') goto yy242;
6425 	if (yych == 'a') goto yy242;
6426 	goto yy59;
6427 yy199:
6428 	YYDEBUG(199, *YYCURSOR);
6429 	yych = *++YYCURSOR;
6430 	if (yych <= 'R') {
6431 		if (yych == 'O') goto yy245;
6432 		if (yych <= 'Q') goto yy59;
6433 		goto yy246;
6434 	} else {
6435 		if (yych <= 'o') {
6436 			if (yych <= 'n') goto yy59;
6437 			goto yy245;
6438 		} else {
6439 			if (yych == 'r') goto yy246;
6440 			goto yy59;
6441 		}
6442 	}
6443 yy200:
6444 	YYDEBUG(200, *YYCURSOR);
6445 	yych = *++YYCURSOR;
6446 	if (yych <= 'S') {
6447 		if (yych <= 'N') {
6448 			if (yych == 'I') goto yy257;
6449 			goto yy59;
6450 		} else {
6451 			if (yych <= 'O') goto yy258;
6452 			if (yych <= 'R') goto yy59;
6453 			goto yy259;
6454 		}
6455 	} else {
6456 		if (yych <= 'n') {
6457 			if (yych == 'i') goto yy257;
6458 			goto yy59;
6459 		} else {
6460 			if (yych <= 'o') goto yy258;
6461 			if (yych == 's') goto yy259;
6462 			goto yy59;
6463 		}
6464 	}
6465 yy201:
6466 	YYDEBUG(201, *YYCURSOR);
6467 	yych = *++YYCURSOR;
6468 	if (yych <= 'U') {
6469 		if (yych <= 'D') {
6470 			if (yych == 'A') goto yy263;
6471 			goto yy59;
6472 		} else {
6473 			if (yych <= 'E') goto yy390;
6474 			if (yych <= 'T') goto yy59;
6475 			goto yy265;
6476 		}
6477 	} else {
6478 		if (yych <= 'd') {
6479 			if (yych == 'a') goto yy263;
6480 			goto yy59;
6481 		} else {
6482 			if (yych <= 'e') goto yy390;
6483 			if (yych == 'u') goto yy265;
6484 			goto yy59;
6485 		}
6486 	}
6487 yy202:
6488 	YYDEBUG(202, *YYCURSOR);
6489 	yyaccept = 2;
6490 	yych = *(YYMARKER = ++YYCURSOR);
6491 	if (yych <= 'W') {
6492 		if (yych <= 'D') {
6493 			if (yych <= '/') {
6494 				if (yych <= '\t') {
6495 					if (yych <= 0x08) goto yy20;
6496 					goto yy196;
6497 				} else {
6498 					if (yych == ' ') goto yy196;
6499 					goto yy20;
6500 				}
6501 			} else {
6502 				if (yych <= '9') {
6503 					if (yych <= '5') goto yy391;
6504 					goto yy392;
6505 				} else {
6506 					if (yych <= ':') goto yy393;
6507 					if (yych <= 'C') goto yy20;
6508 					goto yy196;
6509 				}
6510 			}
6511 		} else {
6512 			if (yych <= 'L') {
6513 				if (yych <= 'F') {
6514 					if (yych <= 'E') goto yy20;
6515 					goto yy196;
6516 				} else {
6517 					if (yych == 'H') goto yy196;
6518 					goto yy20;
6519 				}
6520 			} else {
6521 				if (yych <= 'R') {
6522 					if (yych <= 'M') goto yy196;
6523 					goto yy20;
6524 				} else {
6525 					if (yych == 'V') goto yy20;
6526 					goto yy196;
6527 				}
6528 			}
6529 		}
6530 	} else {
6531 		if (yych <= 'm') {
6532 			if (yych <= 'e') {
6533 				if (yych <= 'Y') {
6534 					if (yych <= 'X') goto yy20;
6535 					goto yy196;
6536 				} else {
6537 					if (yych == 'd') goto yy196;
6538 					goto yy20;
6539 				}
6540 			} else {
6541 				if (yych <= 'g') {
6542 					if (yych <= 'f') goto yy196;
6543 					goto yy20;
6544 				} else {
6545 					if (yych <= 'h') goto yy196;
6546 					if (yych <= 'l') goto yy20;
6547 					goto yy196;
6548 				}
6549 			}
6550 		} else {
6551 			if (yych <= 'x') {
6552 				if (yych <= 'u') {
6553 					if (yych <= 'r') goto yy20;
6554 					goto yy196;
6555 				} else {
6556 					if (yych == 'w') goto yy196;
6557 					goto yy20;
6558 				}
6559 			} else {
6560 				if (yych <= 0xC2) {
6561 					if (yych <= 'y') goto yy196;
6562 					if (yych <= 0xC1) goto yy20;
6563 					goto yy97;
6564 				} else {
6565 					if (yych == 0xE2) goto yy98;
6566 					goto yy20;
6567 				}
6568 			}
6569 		}
6570 	}
6571 yy203:
6572 	YYDEBUG(203, *YYCURSOR);
6573 	yych = *++YYCURSOR;
6574 	if (yych <= '/') goto yy59;
6575 	if (yych <= '5') goto yy394;
6576 	if (yych <= '9') goto yy115;
6577 	goto yy59;
6578 yy204:
6579 	YYDEBUG(204, *YYCURSOR);
6580 	yyaccept = 2;
6581 	yych = *(YYMARKER = ++YYCURSOR);
6582 	if (yych <= 'X') {
6583 		if (yych <= 'E') {
6584 			if (yych <= ' ') {
6585 				if (yych == '\t') goto yy196;
6586 				if (yych <= 0x1F) goto yy20;
6587 				goto yy196;
6588 			} else {
6589 				if (yych <= '9') {
6590 					if (yych <= '/') goto yy20;
6591 					goto yy392;
6592 				} else {
6593 					if (yych == 'D') goto yy196;
6594 					goto yy20;
6595 				}
6596 			}
6597 		} else {
6598 			if (yych <= 'M') {
6599 				if (yych <= 'G') {
6600 					if (yych <= 'F') goto yy196;
6601 					goto yy20;
6602 				} else {
6603 					if (yych <= 'H') goto yy196;
6604 					if (yych <= 'L') goto yy20;
6605 					goto yy196;
6606 				}
6607 			} else {
6608 				if (yych <= 'U') {
6609 					if (yych <= 'R') goto yy20;
6610 					goto yy196;
6611 				} else {
6612 					if (yych == 'W') goto yy196;
6613 					goto yy20;
6614 				}
6615 			}
6616 		}
6617 	} else {
6618 		if (yych <= 'r') {
6619 			if (yych <= 'f') {
6620 				if (yych <= 'c') {
6621 					if (yych <= 'Y') goto yy196;
6622 					goto yy20;
6623 				} else {
6624 					if (yych == 'e') goto yy20;
6625 					goto yy196;
6626 				}
6627 			} else {
6628 				if (yych <= 'h') {
6629 					if (yych <= 'g') goto yy20;
6630 					goto yy196;
6631 				} else {
6632 					if (yych == 'm') goto yy196;
6633 					goto yy20;
6634 				}
6635 			}
6636 		} else {
6637 			if (yych <= 'y') {
6638 				if (yych <= 'v') {
6639 					if (yych <= 'u') goto yy196;
6640 					goto yy20;
6641 				} else {
6642 					if (yych == 'x') goto yy20;
6643 					goto yy196;
6644 				}
6645 			} else {
6646 				if (yych <= 0xC2) {
6647 					if (yych <= 0xC1) goto yy20;
6648 					goto yy97;
6649 				} else {
6650 					if (yych == 0xE2) goto yy98;
6651 					goto yy20;
6652 				}
6653 			}
6654 		}
6655 	}
6656 yy205:
6657 	YYDEBUG(205, *YYCURSOR);
6658 	yyaccept = 2;
6659 	yych = *(YYMARKER = ++YYCURSOR);
6660 	if (yych <= 'X') {
6661 		if (yych <= 'E') {
6662 			if (yych <= ' ') {
6663 				if (yych == '\t') goto yy196;
6664 				if (yych <= 0x1F) goto yy20;
6665 				goto yy196;
6666 			} else {
6667 				if (yych <= '9') {
6668 					if (yych <= '/') goto yy20;
6669 					goto yy395;
6670 				} else {
6671 					if (yych == 'D') goto yy196;
6672 					goto yy20;
6673 				}
6674 			}
6675 		} else {
6676 			if (yych <= 'M') {
6677 				if (yych <= 'G') {
6678 					if (yych <= 'F') goto yy196;
6679 					goto yy20;
6680 				} else {
6681 					if (yych <= 'H') goto yy196;
6682 					if (yych <= 'L') goto yy20;
6683 					goto yy196;
6684 				}
6685 			} else {
6686 				if (yych <= 'U') {
6687 					if (yych <= 'R') goto yy20;
6688 					goto yy196;
6689 				} else {
6690 					if (yych == 'W') goto yy196;
6691 					goto yy20;
6692 				}
6693 			}
6694 		}
6695 	} else {
6696 		if (yych <= 'r') {
6697 			if (yych <= 'f') {
6698 				if (yych <= 'c') {
6699 					if (yych <= 'Y') goto yy196;
6700 					goto yy20;
6701 				} else {
6702 					if (yych == 'e') goto yy20;
6703 					goto yy196;
6704 				}
6705 			} else {
6706 				if (yych <= 'h') {
6707 					if (yych <= 'g') goto yy20;
6708 					goto yy196;
6709 				} else {
6710 					if (yych == 'm') goto yy196;
6711 					goto yy20;
6712 				}
6713 			}
6714 		} else {
6715 			if (yych <= 'y') {
6716 				if (yych <= 'v') {
6717 					if (yych <= 'u') goto yy196;
6718 					goto yy20;
6719 				} else {
6720 					if (yych == 'x') goto yy20;
6721 					goto yy196;
6722 				}
6723 			} else {
6724 				if (yych <= 0xC2) {
6725 					if (yych <= 0xC1) goto yy20;
6726 					goto yy97;
6727 				} else {
6728 					if (yych == 0xE2) goto yy98;
6729 					goto yy20;
6730 				}
6731 			}
6732 		}
6733 	}
6734 yy206:
6735 	YYDEBUG(206, *YYCURSOR);
6736 	++YYCURSOR;
6737 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
6738 	yych = *YYCURSOR;
6739 yy207:
6740 	YYDEBUG(207, *YYCURSOR);
6741 	switch (yych) {
6742 	case '\t':
6743 	case ' ':
6744 	case '-':
6745 	case '.':	goto yy206;
6746 	case 'A':
6747 	case 'a':	goto yy76;
6748 	case 'D':
6749 	case 'd':	goto yy215;
6750 	case 'F':
6751 	case 'f':	goto yy216;
6752 	case 'I':	goto yy80;
6753 	case 'J':
6754 	case 'j':	goto yy82;
6755 	case 'M':
6756 	case 'm':	goto yy217;
6757 	case 'N':
6758 	case 'n':	goto yy84;
6759 	case 'O':
6760 	case 'o':	goto yy85;
6761 	case 'S':
6762 	case 's':	goto yy218;
6763 	case 'V':	goto yy89;
6764 	case 'X':	goto yy91;
6765 	default:	goto yy59;
6766 	}
6767 yy208:
6768 	YYDEBUG(208, *YYCURSOR);
6769 	yych = *++YYCURSOR;
6770 	if (yych <= '.') {
6771 		if (yych <= ',') goto yy59;
6772 		if (yych <= '-') goto yy396;
6773 		goto yy397;
6774 	} else {
6775 		if (yych <= '/') goto yy59;
6776 		if (yych <= '9') goto yy210;
6777 		goto yy59;
6778 	}
6779 yy209:
6780 	YYDEBUG(209, *YYCURSOR);
6781 	yych = *++YYCURSOR;
6782 	if (yych <= '.') {
6783 		if (yych <= ',') goto yy59;
6784 		if (yych <= '-') goto yy396;
6785 		goto yy397;
6786 	} else {
6787 		if (yych <= '/') goto yy59;
6788 		if (yych >= '3') goto yy59;
6789 	}
6790 yy210:
6791 	YYDEBUG(210, *YYCURSOR);
6792 	yych = *++YYCURSOR;
6793 	if (yych <= ',') goto yy59;
6794 	if (yych <= '-') goto yy396;
6795 	if (yych <= '.') goto yy397;
6796 	goto yy59;
6797 yy211:
6798 	YYDEBUG(211, *YYCURSOR);
6799 	yych = *++YYCURSOR;
6800 	if (yych == 0xB5) goto yy274;
6801 	goto yy59;
6802 yy212:
6803 	YYDEBUG(212, *YYCURSOR);
6804 	yych = *++YYCURSOR;
6805 	if (yych <= '.') {
6806 		if (yych <= ',') goto yy59;
6807 		if (yych <= '-') goto yy398;
6808 		goto yy396;
6809 	} else {
6810 		if (yych <= '/') goto yy59;
6811 		if (yych <= '9') goto yy214;
6812 		goto yy59;
6813 	}
6814 yy213:
6815 	YYDEBUG(213, *YYCURSOR);
6816 	yych = *++YYCURSOR;
6817 	if (yych <= '.') {
6818 		if (yych <= ',') goto yy59;
6819 		if (yych <= '-') goto yy398;
6820 		goto yy396;
6821 	} else {
6822 		if (yych <= '/') goto yy59;
6823 		if (yych >= '3') goto yy59;
6824 	}
6825 yy214:
6826 	YYDEBUG(214, *YYCURSOR);
6827 	yych = *++YYCURSOR;
6828 	if (yych <= ',') goto yy59;
6829 	if (yych <= '-') goto yy398;
6830 	if (yych <= '.') goto yy396;
6831 	goto yy59;
6832 yy215:
6833 	YYDEBUG(215, *YYCURSOR);
6834 	yych = *++YYCURSOR;
6835 	if (yych == 'E') goto yy243;
6836 	if (yych == 'e') goto yy243;
6837 	goto yy59;
6838 yy216:
6839 	YYDEBUG(216, *YYCURSOR);
6840 	yych = *++YYCURSOR;
6841 	if (yych == 'E') goto yy244;
6842 	if (yych == 'e') goto yy244;
6843 	goto yy59;
6844 yy217:
6845 	YYDEBUG(217, *YYCURSOR);
6846 	yych = *++YYCURSOR;
6847 	if (yych == 'A') goto yy256;
6848 	if (yych == 'a') goto yy256;
6849 	goto yy59;
6850 yy218:
6851 	YYDEBUG(218, *YYCURSOR);
6852 	yych = *++YYCURSOR;
6853 	if (yych == 'E') goto yy399;
6854 	if (yych == 'e') goto yy399;
6855 	goto yy59;
6856 yy219:
6857 	YYDEBUG(219, *YYCURSOR);
6858 	yyaccept = 4;
6859 	yych = *(YYMARKER = ++YYCURSOR);
6860 	if (yych <= '.') {
6861 		if (yych <= ',') goto yy177;
6862 		if (yych <= '-') goto yy396;
6863 		goto yy400;
6864 	} else {
6865 		if (yych <= '/') goto yy177;
6866 		if (yych <= '9') goto yy222;
6867 		if (yych <= ':') goto yy401;
6868 		goto yy177;
6869 	}
6870 yy220:
6871 	YYDEBUG(220, *YYCURSOR);
6872 	yyaccept = 4;
6873 	yych = *(YYMARKER = ++YYCURSOR);
6874 	if (yych <= '/') {
6875 		if (yych <= ',') goto yy177;
6876 		if (yych <= '-') goto yy396;
6877 		if (yych <= '.') goto yy400;
6878 		goto yy177;
6879 	} else {
6880 		if (yych <= '2') goto yy222;
6881 		if (yych <= '9') goto yy239;
6882 		if (yych <= ':') goto yy401;
6883 		goto yy177;
6884 	}
6885 yy221:
6886 	YYDEBUG(221, *YYCURSOR);
6887 	yyaccept = 4;
6888 	yych = *(YYMARKER = ++YYCURSOR);
6889 	if (yych <= '.') {
6890 		if (yych <= ',') goto yy177;
6891 		if (yych <= '-') goto yy396;
6892 		goto yy400;
6893 	} else {
6894 		if (yych <= '/') goto yy177;
6895 		if (yych <= '9') goto yy239;
6896 		if (yych <= ':') goto yy401;
6897 		goto yy177;
6898 	}
6899 yy222:
6900 	YYDEBUG(222, *YYCURSOR);
6901 	yyaccept = 4;
6902 	yych = *(YYMARKER = ++YYCURSOR);
6903 	if (yych <= '.') {
6904 		if (yych <= ',') goto yy177;
6905 		if (yych <= '-') goto yy396;
6906 		goto yy400;
6907 	} else {
6908 		if (yych == ':') goto yy401;
6909 		goto yy177;
6910 	}
6911 yy223:
6912 	YYDEBUG(223, *YYCURSOR);
6913 	yyaccept = 5;
6914 	yych = *(YYMARKER = ++YYCURSOR);
6915 	if (yych <= 'n') {
6916 		if (yych <= '/') {
6917 			if (yych >= '/') goto yy402;
6918 		} else {
6919 			if (yych <= '9') goto yy226;
6920 			if (yych >= 'n') goto yy403;
6921 		}
6922 	} else {
6923 		if (yych <= 'r') {
6924 			if (yych >= 'r') goto yy403;
6925 		} else {
6926 			if (yych <= 's') goto yy404;
6927 			if (yych <= 't') goto yy405;
6928 		}
6929 	}
6930 yy224:
6931 	YYDEBUG(224, *YYCURSOR);
6932 #line 1471 "ext/date/lib/parse_date.re"
6933 	{
6934 		int length = 0;
6935 		DEBUG_OUTPUT("americanshort | american");
6936 		TIMELIB_INIT;
6937 		TIMELIB_HAVE_DATE();
6938 		s->time->m = timelib_get_nr(&ptr, 2);
6939 		s->time->d = timelib_get_nr(&ptr, 2);
6940 		if (*ptr == '/') {
6941 			s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
6942 			TIMELIB_PROCESS_YEAR(s->time->y, length);
6943 		}
6944 		TIMELIB_DEINIT;
6945 		return TIMELIB_AMERICAN;
6946 	}
6947 #line 6948 "<stdout>"
6948 yy225:
6949 	YYDEBUG(225, *YYCURSOR);
6950 	yyaccept = 5;
6951 	yych = *(YYMARKER = ++YYCURSOR);
6952 	if (yych <= 'n') {
6953 		if (yych <= '/') {
6954 			if (yych <= '.') goto yy224;
6955 			goto yy402;
6956 		} else {
6957 			if (yych <= '1') goto yy226;
6958 			if (yych <= 'm') goto yy224;
6959 			goto yy403;
6960 		}
6961 	} else {
6962 		if (yych <= 'r') {
6963 			if (yych <= 'q') goto yy224;
6964 			goto yy403;
6965 		} else {
6966 			if (yych <= 's') goto yy404;
6967 			if (yych <= 't') goto yy405;
6968 			goto yy224;
6969 		}
6970 	}
6971 yy226:
6972 	YYDEBUG(226, *YYCURSOR);
6973 	yyaccept = 5;
6974 	yych = *(YYMARKER = ++YYCURSOR);
6975 	if (yych <= 'n') {
6976 		if (yych == '/') goto yy402;
6977 		if (yych <= 'm') goto yy224;
6978 		goto yy403;
6979 	} else {
6980 		if (yych <= 'r') {
6981 			if (yych <= 'q') goto yy224;
6982 			goto yy403;
6983 		} else {
6984 			if (yych <= 's') goto yy404;
6985 			if (yych <= 't') goto yy405;
6986 			goto yy224;
6987 		}
6988 	}
6989 yy227:
6990 	YYDEBUG(227, *YYCURSOR);
6991 	yych = *++YYCURSOR;
6992 	if (yych <= 'U') {
6993 		if (yych == 'P') goto yy406;
6994 		if (yych <= 'T') goto yy59;
6995 		goto yy407;
6996 	} else {
6997 		if (yych <= 'p') {
6998 			if (yych <= 'o') goto yy59;
6999 			goto yy406;
7000 		} else {
7001 			if (yych == 'u') goto yy407;
7002 			goto yy59;
7003 		}
7004 	}
7005 yy228:
7006 	YYDEBUG(228, *YYCURSOR);
7007 	yych = *++YYCURSOR;
7008 	if (yych == 'E') goto yy408;
7009 	if (yych == 'e') goto yy408;
7010 	goto yy59;
7011 yy229:
7012 	YYDEBUG(229, *YYCURSOR);
7013 	yych = *++YYCURSOR;
7014 	if (yych == 'E') goto yy409;
7015 	if (yych == 'e') goto yy409;
7016 	goto yy59;
7017 yy230:
7018 	YYDEBUG(230, *YYCURSOR);
7019 	yych = *++YYCURSOR;
7020 	if (yych <= 'U') {
7021 		if (yych == 'A') goto yy410;
7022 		if (yych <= 'T') goto yy59;
7023 		goto yy411;
7024 	} else {
7025 		if (yych <= 'a') {
7026 			if (yych <= '`') goto yy59;
7027 			goto yy410;
7028 		} else {
7029 			if (yych == 'u') goto yy411;
7030 			goto yy59;
7031 		}
7032 	}
7033 yy231:
7034 	YYDEBUG(231, *YYCURSOR);
7035 	yych = *++YYCURSOR;
7036 	if (yych == 'A') goto yy412;
7037 	if (yych == 'a') goto yy412;
7038 	goto yy59;
7039 yy232:
7040 	YYDEBUG(232, *YYCURSOR);
7041 	yych = *++YYCURSOR;
7042 	if (yych == 'O') goto yy413;
7043 	if (yych == 'o') goto yy413;
7044 	goto yy59;
7045 yy233:
7046 	YYDEBUG(233, *YYCURSOR);
7047 	yych = *++YYCURSOR;
7048 	if (yych == 'C') goto yy414;
7049 	if (yych == 'c') goto yy414;
7050 	goto yy59;
7051 yy234:
7052 	YYDEBUG(234, *YYCURSOR);
7053 	yych = *++YYCURSOR;
7054 	if (yych == 'E') goto yy415;
7055 	if (yych == 'e') goto yy415;
7056 	goto yy59;
7057 yy235:
7058 	YYDEBUG(235, *YYCURSOR);
7059 	yych = *++YYCURSOR;
7060 	if (yych <= '/') goto yy207;
7061 	if (yych <= '0') goto yy416;
7062 	if (yych <= '1') goto yy417;
7063 	if (yych <= '9') goto yy214;
7064 	goto yy207;
7065 yy236:
7066 	YYDEBUG(236, *YYCURSOR);
7067 	yych = *++YYCURSOR;
7068 	if (yych <= '9') {
7069 		if (yych == '-') goto yy418;
7070 		if (yych <= '/') goto yy196;
7071 		goto yy419;
7072 	} else {
7073 		if (yych <= 0xC2) {
7074 			if (yych <= 0xC1) goto yy196;
7075 			goto yy97;
7076 		} else {
7077 			if (yych == 0xE2) goto yy98;
7078 			goto yy196;
7079 		}
7080 	}
7081 yy237:
7082 	YYDEBUG(237, *YYCURSOR);
7083 	yych = *++YYCURSOR;
7084 	if (yych <= '9') {
7085 		if (yych == '-') goto yy418;
7086 		if (yych <= '/') goto yy196;
7087 		goto yy421;
7088 	} else {
7089 		if (yych <= 0xC2) {
7090 			if (yych <= 0xC1) goto yy196;
7091 			goto yy97;
7092 		} else {
7093 			if (yych == 0xE2) goto yy98;
7094 			goto yy196;
7095 		}
7096 	}
7097 yy238:
7098 	YYDEBUG(238, *YYCURSOR);
7099 	yyaccept = 4;
7100 	yych = *(YYMARKER = ++YYCURSOR);
7101 	if (yych <= '/') {
7102 		if (yych == '.') goto yy401;
7103 		goto yy177;
7104 	} else {
7105 		if (yych <= '9') goto yy239;
7106 		if (yych <= ':') goto yy401;
7107 		goto yy177;
7108 	}
7109 yy239:
7110 	YYDEBUG(239, *YYCURSOR);
7111 	yyaccept = 4;
7112 	yych = *(YYMARKER = ++YYCURSOR);
7113 	if (yych == '.') goto yy401;
7114 	if (yych == ':') goto yy401;
7115 	goto yy177;
7116 yy240:
7117 	YYDEBUG(240, *YYCURSOR);
7118 	yych = *++YYCURSOR;
7119 	if (yych == 'R') goto yy423;
7120 	if (yych == 'r') goto yy423;
7121 	goto yy59;
7122 yy241:
7123 	YYDEBUG(241, *YYCURSOR);
7124 	yych = *++YYCURSOR;
7125 	if (yych == 'G') goto yy424;
7126 	if (yych == 'g') goto yy424;
7127 	goto yy59;
7128 yy242:
7129 	YYDEBUG(242, *YYCURSOR);
7130 	yych = *++YYCURSOR;
7131 	if (yych == 'Y') goto yy425;
7132 	if (yych == 'y') goto yy425;
7133 	goto yy59;
7134 yy243:
7135 	YYDEBUG(243, *YYCURSOR);
7136 	yych = *++YYCURSOR;
7137 	if (yych == 'C') goto yy426;
7138 	if (yych == 'c') goto yy426;
7139 	goto yy59;
7140 yy244:
7141 	YYDEBUG(244, *YYCURSOR);
7142 	yych = *++YYCURSOR;
7143 	if (yych == 'B') goto yy427;
7144 	if (yych == 'b') goto yy427;
7145 	goto yy59;
7146 yy245:
7147 	YYDEBUG(245, *YYCURSOR);
7148 	yych = *++YYCURSOR;
7149 	if (yych == 'R') goto yy428;
7150 	if (yych == 'r') goto yy428;
7151 	goto yy59;
7152 yy246:
7153 	YYDEBUG(246, *YYCURSOR);
7154 	yych = *++YYCURSOR;
7155 	if (yych == 'I') goto yy429;
7156 	if (yych == 'i') goto yy429;
7157 	goto yy59;
7158 yy247:
7159 	YYDEBUG(247, *YYCURSOR);
7160 	yych = *++YYCURSOR;
7161 	if (yych == 'U') goto yy430;
7162 	if (yych == 'u') goto yy430;
7163 	goto yy59;
7164 yy248:
7165 	YYDEBUG(248, *YYCURSOR);
7166 	++YYCURSOR;
7167 	if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
7168 	yych = *YYCURSOR;
7169 	YYDEBUG(249, *YYCURSOR);
7170 	if (yych <= ' ') {
7171 		if (yych == '\t') goto yy248;
7172 		if (yych <= 0x1F) goto yy59;
7173 		goto yy248;
7174 	} else {
7175 		if (yych <= '.') {
7176 			if (yych <= ',') goto yy59;
7177 			goto yy248;
7178 		} else {
7179 			if (yych <= '/') goto yy59;
7180 			if (yych >= ':') goto yy59;
7181 		}
7182 	}
7183 yy250:
7184 	YYDEBUG(250, *YYCURSOR);
7185 	yych = *++YYCURSOR;
7186 	if (yych <= '/') goto yy251;
7187 	if (yych <= '9') goto yy431;
7188 yy251:
7189 	YYDEBUG(251, *YYCURSOR);
7190 #line 1553 "ext/date/lib/parse_date.re"
7191 	{
7192 		int length = 0;
7193 		DEBUG_OUTPUT("datefull");
7194 		TIMELIB_INIT;
7195 		TIMELIB_HAVE_DATE();
7196 		s->time->d = timelib_get_nr(&ptr, 2);
7197 		timelib_skip_day_suffix(&ptr);
7198 		s->time->m = timelib_get_month(&ptr);
7199 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
7200 		TIMELIB_PROCESS_YEAR(s->time->y, length);
7201 		TIMELIB_DEINIT;
7202 		return TIMELIB_DATE_FULL;
7203 	}
7204 #line 7205 "<stdout>"
7205 yy252:
7206 	YYDEBUG(252, *YYCURSOR);
7207 	yyaccept = 3;
7208 	yych = *(YYMARKER = ++YYCURSOR);
7209 	if (yych <= ',') {
7210 		if (yych <= '\t') {
7211 			if (yych <= 0x08) goto yy81;
7212 			goto yy248;
7213 		} else {
7214 			if (yych == ' ') goto yy248;
7215 			goto yy81;
7216 		}
7217 	} else {
7218 		if (yych <= '9') {
7219 			if (yych <= '.') goto yy248;
7220 			if (yych <= '/') goto yy81;
7221 			goto yy250;
7222 		} else {
7223 			if (yych != 'I') goto yy81;
7224 		}
7225 	}
7226 yy253:
7227 	YYDEBUG(253, *YYCURSOR);
7228 	yyaccept = 3;
7229 	yych = *(YYMARKER = ++YYCURSOR);
7230 	if (yych <= ' ') {
7231 		if (yych == '\t') goto yy248;
7232 		if (yych <= 0x1F) goto yy81;
7233 		goto yy248;
7234 	} else {
7235 		if (yych <= '.') {
7236 			if (yych <= ',') goto yy81;
7237 			goto yy248;
7238 		} else {
7239 			if (yych <= '/') goto yy81;
7240 			if (yych <= '9') goto yy250;
7241 			goto yy81;
7242 		}
7243 	}
7244 yy254:
7245 	YYDEBUG(254, *YYCURSOR);
7246 	yych = *++YYCURSOR;
7247 	if (yych == 'N') goto yy432;
7248 	if (yych == 'n') goto yy432;
7249 	goto yy59;
7250 yy255:
7251 	YYDEBUG(255, *YYCURSOR);
7252 	yych = *++YYCURSOR;
7253 	if (yych <= 'N') {
7254 		if (yych == 'L') goto yy433;
7255 		if (yych <= 'M') goto yy59;
7256 		goto yy434;
7257 	} else {
7258 		if (yych <= 'l') {
7259 			if (yych <= 'k') goto yy59;
7260 			goto yy433;
7261 		} else {
7262 			if (yych == 'n') goto yy434;
7263 			goto yy59;
7264 		}
7265 	}
7266 yy256:
7267 	YYDEBUG(256, *YYCURSOR);
7268 	yych = *++YYCURSOR;
7269 	if (yych <= 'Y') {
7270 		if (yych == 'R') goto yy435;
7271 		if (yych <= 'X') goto yy59;
7272 		goto yy253;
7273 	} else {
7274 		if (yych <= 'r') {
7275 			if (yych <= 'q') goto yy59;
7276 			goto yy435;
7277 		} else {
7278 			if (yych == 'y') goto yy253;
7279 			goto yy59;
7280 		}
7281 	}
7282 yy257:
7283 	YYDEBUG(257, *YYCURSOR);
7284 	yych = *++YYCURSOR;
7285 	if (yych <= 'N') {
7286 		if (yych <= 'K') {
7287 			if (yych == 'C') goto yy436;
7288 			goto yy59;
7289 		} else {
7290 			if (yych <= 'L') goto yy437;
7291 			if (yych <= 'M') goto yy59;
7292 			goto yy438;
7293 		}
7294 	} else {
7295 		if (yych <= 'k') {
7296 			if (yych == 'c') goto yy436;
7297 			goto yy59;
7298 		} else {
7299 			if (yych <= 'l') goto yy437;
7300 			if (yych == 'n') goto yy438;
7301 			goto yy59;
7302 		}
7303 	}
7304 yy258:
7305 	YYDEBUG(258, *YYCURSOR);
7306 	yych = *++YYCURSOR;
7307 	if (yych == 'N') goto yy439;
7308 	if (yych == 'n') goto yy439;
7309 	goto yy59;
7310 yy259:
7311 	YYDEBUG(259, *YYCURSOR);
7312 	yyaccept = 6;
7313 	yych = *(YYMARKER = ++YYCURSOR);
7314 	if (yych == 'E') goto yy440;
7315 	if (yych == 'e') goto yy440;
7316 yy260:
7317 	YYDEBUG(260, *YYCURSOR);
7318 #line 1958 "ext/date/lib/parse_date.re"
7319 	{
7320 		timelib_ull i;
7321 		DEBUG_OUTPUT("relative");
7322 		TIMELIB_INIT;
7323 		TIMELIB_HAVE_RELATIVE();
7324 
7325 		while(*ptr) {
7326 			i = timelib_get_signed_nr(s, &ptr, 24);
7327 			timelib_eat_spaces(&ptr);
7328 			timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_KEEP);
7329 		}
7330 		TIMELIB_DEINIT;
7331 		return TIMELIB_RELATIVE;
7332 	}
7333 #line 7334 "<stdout>"
7334 yy261:
7335 	YYDEBUG(261, *YYCURSOR);
7336 	yych = *++YYCURSOR;
7337 	if (yych == 'V') goto yy426;
7338 	if (yych == 'v') goto yy426;
7339 	goto yy59;
7340 yy262:
7341 	YYDEBUG(262, *YYCURSOR);
7342 	yych = *++YYCURSOR;
7343 	if (yych == 'T') goto yy441;
7344 	if (yych == 't') goto yy441;
7345 	goto yy59;
7346 yy263:
7347 	YYDEBUG(263, *YYCURSOR);
7348 	yych = *++YYCURSOR;
7349 	if (yych == 'T') goto yy442;
7350 	if (yych == 't') goto yy442;
7351 	goto yy59;
7352 yy264:
7353 	YYDEBUG(264, *YYCURSOR);
7354 	yych = *++YYCURSOR;
7355 	if (yych <= 'P') {
7356 		if (yych == 'C') goto yy443;
7357 		if (yych <= 'O') goto yy59;
7358 		goto yy444;
7359 	} else {
7360 		if (yych <= 'c') {
7361 			if (yych <= 'b') goto yy59;
7362 			goto yy443;
7363 		} else {
7364 			if (yych == 'p') goto yy444;
7365 			goto yy59;
7366 		}
7367 	}
7368 yy265:
7369 	YYDEBUG(265, *YYCURSOR);
7370 	yych = *++YYCURSOR;
7371 	if (yych == 'N') goto yy429;
7372 	if (yych == 'n') goto yy429;
7373 	goto yy59;
7374 yy266:
7375 	YYDEBUG(266, *YYCURSOR);
7376 	yych = *++YYCURSOR;
7377 	if (yych == 'U') goto yy445;
7378 	if (yych == 'u') goto yy445;
7379 	goto yy59;
7380 yy267:
7381 	YYDEBUG(267, *YYCURSOR);
7382 	yych = *++YYCURSOR;
7383 	if (yych == 'E') goto yy446;
7384 	if (yych == 'e') goto yy446;
7385 	goto yy59;
7386 yy268:
7387 	YYDEBUG(268, *YYCURSOR);
7388 	yych = *++YYCURSOR;
7389 	if (yych == 'E') goto yy440;
7390 	if (yych == 'e') goto yy440;
7391 	goto yy59;
7392 yy269:
7393 	YYDEBUG(269, *YYCURSOR);
7394 	yych = *++YYCURSOR;
7395 	if (yych <= 'E') {
7396 		if (yych <= 'C') goto yy59;
7397 		if (yych <= 'D') goto yy447;
7398 		goto yy448;
7399 	} else {
7400 		if (yych <= 'c') goto yy59;
7401 		if (yych <= 'd') goto yy447;
7402 		if (yych <= 'e') goto yy448;
7403 		goto yy59;
7404 	}
7405 yy270:
7406 	YYDEBUG(270, *YYCURSOR);
7407 	yych = *++YYCURSOR;
7408 	if (yych == 'A') goto yy430;
7409 	if (yych == 'a') goto yy430;
7410 	goto yy59;
7411 yy271:
7412 	YYDEBUG(271, *YYCURSOR);
7413 	yych = *++YYCURSOR;
7414 	if (yych <= ',') {
7415 		if (yych == '\t') goto yy287;
7416 		goto yy207;
7417 	} else {
7418 		if (yych <= '-') goto yy449;
7419 		if (yych <= '.') goto yy287;
7420 		if (yych <= '/') goto yy280;
7421 		goto yy207;
7422 	}
7423 yy272:
7424 	YYDEBUG(272, *YYCURSOR);
7425 	yych = *++YYCURSOR;
7426 	if (yych <= '.') {
7427 		if (yych <= '\t') {
7428 			if (yych <= 0x08) goto yy207;
7429 			goto yy287;
7430 		} else {
7431 			if (yych <= ',') goto yy207;
7432 			if (yych <= '-') goto yy449;
7433 			goto yy287;
7434 		}
7435 	} else {
7436 		if (yych <= 'U') {
7437 			if (yych <= '/') goto yy280;
7438 			if (yych <= 'T') goto yy207;
7439 			goto yy445;
7440 		} else {
7441 			if (yych == 'u') goto yy445;
7442 			goto yy207;
7443 		}
7444 	}
7445 yy273:
7446 	YYDEBUG(273, *YYCURSOR);
7447 	++YYCURSOR;
7448 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7449 	yych = *YYCURSOR;
7450 	if (yych <= 'c') {
7451 		if (yych <= 'M') {
7452 			if (yych <= 'F') {
7453 				if (yych == 'D') goto yy198;
7454 				if (yych <= 'E') goto yy59;
7455 				goto yy199;
7456 			} else {
7457 				if (yych == 'H') goto yy79;
7458 				if (yych <= 'L') goto yy59;
7459 				goto yy200;
7460 			}
7461 		} else {
7462 			if (yych <= 'U') {
7463 				if (yych <= 'R') goto yy59;
7464 				if (yych <= 'S') goto yy201;
7465 				if (yych <= 'T') goto yy87;
7466 				goto yy88;
7467 			} else {
7468 				if (yych <= 'W') {
7469 					if (yych <= 'V') goto yy59;
7470 					goto yy90;
7471 				} else {
7472 					if (yych == 'Y') goto yy92;
7473 					goto yy59;
7474 				}
7475 			}
7476 		}
7477 	} else {
7478 		if (yych <= 's') {
7479 			if (yych <= 'g') {
7480 				if (yych <= 'd') goto yy198;
7481 				if (yych == 'f') goto yy199;
7482 				goto yy59;
7483 			} else {
7484 				if (yych <= 'l') {
7485 					if (yych <= 'h') goto yy79;
7486 					goto yy59;
7487 				} else {
7488 					if (yych <= 'm') goto yy200;
7489 					if (yych <= 'r') goto yy59;
7490 					goto yy201;
7491 				}
7492 			}
7493 		} else {
7494 			if (yych <= 'w') {
7495 				if (yych <= 't') goto yy87;
7496 				if (yych <= 'u') goto yy88;
7497 				if (yych <= 'v') goto yy59;
7498 				goto yy90;
7499 			} else {
7500 				if (yych <= 'y') {
7501 					if (yych <= 'x') goto yy59;
7502 					goto yy92;
7503 				} else {
7504 					if (yych == 0xC2) goto yy97;
7505 					goto yy59;
7506 				}
7507 			}
7508 		}
7509 	}
7510 yy274:
7511 	YYDEBUG(274, *YYCURSOR);
7512 	yych = *++YYCURSOR;
7513 	if (yych == 'S') goto yy259;
7514 	if (yych == 's') goto yy259;
7515 	goto yy59;
7516 yy275:
7517 	YYDEBUG(275, *YYCURSOR);
7518 	++YYCURSOR;
7519 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
7520 	yych = *YYCURSOR;
7521 	if (yych == 0xAF) goto yy450;
7522 	goto yy59;
7523 yy276:
7524 	YYDEBUG(276, *YYCURSOR);
7525 	yyaccept = 4;
7526 	yych = *(YYMARKER = ++YYCURSOR);
7527 	if (yych <= '.') {
7528 		if (yych <= ',') goto yy177;
7529 		if (yych <= '-') goto yy396;
7530 		goto yy451;
7531 	} else {
7532 		if (yych <= '/') goto yy177;
7533 		if (yych <= '9') goto yy452;
7534 		if (yych <= ':') goto yy453;
7535 		goto yy177;
7536 	}
7537 yy277:
7538 	YYDEBUG(277, *YYCURSOR);
7539 	yyaccept = 4;
7540 	yych = *(YYMARKER = ++YYCURSOR);
7541 	if (yych <= '/') {
7542 		if (yych <= ',') goto yy177;
7543 		if (yych <= '-') goto yy396;
7544 		if (yych <= '.') goto yy451;
7545 		goto yy177;
7546 	} else {
7547 		if (yych <= '2') goto yy452;
7548 		if (yych <= '9') goto yy454;
7549 		if (yych <= ':') goto yy453;
7550 		goto yy177;
7551 	}
7552 yy278:
7553 	YYDEBUG(278, *YYCURSOR);
7554 	yyaccept = 4;
7555 	yych = *(YYMARKER = ++YYCURSOR);
7556 	if (yych <= '.') {
7557 		if (yych <= ',') goto yy177;
7558 		if (yych <= '-') goto yy396;
7559 		goto yy451;
7560 	} else {
7561 		if (yych <= '/') goto yy177;
7562 		if (yych <= '9') goto yy454;
7563 		if (yych <= ':') goto yy453;
7564 		goto yy177;
7565 	}
7566 yy279:
7567 	YYDEBUG(279, *YYCURSOR);
7568 	yyaccept = 4;
7569 	yych = *(YYMARKER = ++YYCURSOR);
7570 	if (yych <= '.') {
7571 		if (yych <= ',') goto yy177;
7572 		if (yych <= '-') goto yy396;
7573 		goto yy451;
7574 	} else {
7575 		if (yych == ':') goto yy453;
7576 		goto yy177;
7577 	}
7578 yy280:
7579 	YYDEBUG(280, *YYCURSOR);
7580 	yych = *++YYCURSOR;
7581 	switch (yych) {
7582 	case 'A':
7583 	case 'a':	goto yy227;
7584 	case 'D':
7585 	case 'd':	goto yy228;
7586 	case 'F':
7587 	case 'f':	goto yy229;
7588 	case 'J':
7589 	case 'j':	goto yy230;
7590 	case 'M':
7591 	case 'm':	goto yy231;
7592 	case 'N':
7593 	case 'n':	goto yy232;
7594 	case 'O':
7595 	case 'o':	goto yy233;
7596 	case 'S':
7597 	case 's':	goto yy234;
7598 	default:	goto yy59;
7599 	}
7600 yy281:
7601 	YYDEBUG(281, *YYCURSOR);
7602 	yyaccept = 4;
7603 	yych = *(YYMARKER = ++YYCURSOR);
7604 	if (yych <= '/') {
7605 		if (yych == '.') goto yy453;
7606 		goto yy177;
7607 	} else {
7608 		if (yych <= '9') goto yy455;
7609 		if (yych <= ':') goto yy453;
7610 		goto yy177;
7611 	}
7612 yy282:
7613 	YYDEBUG(282, *YYCURSOR);
7614 	yyaccept = 4;
7615 	yych = *(YYMARKER = ++YYCURSOR);
7616 	if (yych == '.') goto yy453;
7617 	if (yych == ':') goto yy453;
7618 	goto yy177;
7619 yy283:
7620 	YYDEBUG(283, *YYCURSOR);
7621 	yych = *++YYCURSOR;
7622 	if (yych == 'M') goto yy284;
7623 	if (yych != 'm') goto yy59;
7624 yy284:
7625 	YYDEBUG(284, *YYCURSOR);
7626 	yych = *++YYCURSOR;
7627 	if (yych <= 0x1F) {
7628 		if (yych <= 0x00) goto yy456;
7629 		if (yych == '\t') goto yy456;
7630 		goto yy59;
7631 	} else {
7632 		if (yych <= ' ') goto yy456;
7633 		if (yych == '.') goto yy458;
7634 		goto yy59;
7635 	}
7636 yy285:
7637 	YYDEBUG(285, *YYCURSOR);
7638 	++YYCURSOR;
7639 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7640 	yych = *YYCURSOR;
7641 	if (yych <= '`') {
7642 		if (yych <= 'M') {
7643 			if (yych <= 'E') {
7644 				if (yych <= 'A') {
7645 					if (yych <= '@') goto yy59;
7646 					goto yy106;
7647 				} else {
7648 					if (yych == 'D') goto yy198;
7649 					goto yy59;
7650 				}
7651 			} else {
7652 				if (yych <= 'G') {
7653 					if (yych <= 'F') goto yy199;
7654 					goto yy59;
7655 				} else {
7656 					if (yych <= 'H') goto yy79;
7657 					if (yych <= 'L') goto yy59;
7658 					goto yy200;
7659 				}
7660 			}
7661 		} else {
7662 			if (yych <= 'T') {
7663 				if (yych <= 'P') {
7664 					if (yych <= 'O') goto yy59;
7665 					goto yy106;
7666 				} else {
7667 					if (yych <= 'R') goto yy59;
7668 					if (yych <= 'S') goto yy201;
7669 					goto yy87;
7670 				}
7671 			} else {
7672 				if (yych <= 'W') {
7673 					if (yych <= 'U') goto yy88;
7674 					if (yych <= 'V') goto yy59;
7675 					goto yy90;
7676 				} else {
7677 					if (yych == 'Y') goto yy92;
7678 					goto yy59;
7679 				}
7680 			}
7681 		}
7682 	} else {
7683 		if (yych <= 'p') {
7684 			if (yych <= 'f') {
7685 				if (yych <= 'c') {
7686 					if (yych <= 'a') goto yy106;
7687 					goto yy59;
7688 				} else {
7689 					if (yych <= 'd') goto yy198;
7690 					if (yych <= 'e') goto yy59;
7691 					goto yy199;
7692 				}
7693 			} else {
7694 				if (yych <= 'l') {
7695 					if (yych == 'h') goto yy79;
7696 					goto yy59;
7697 				} else {
7698 					if (yych <= 'm') goto yy200;
7699 					if (yych <= 'o') goto yy59;
7700 					goto yy106;
7701 				}
7702 			}
7703 		} else {
7704 			if (yych <= 'v') {
7705 				if (yych <= 's') {
7706 					if (yych <= 'r') goto yy59;
7707 					goto yy201;
7708 				} else {
7709 					if (yych <= 't') goto yy87;
7710 					if (yych <= 'u') goto yy88;
7711 					goto yy59;
7712 				}
7713 			} else {
7714 				if (yych <= 'y') {
7715 					if (yych <= 'w') goto yy90;
7716 					if (yych <= 'x') goto yy59;
7717 					goto yy92;
7718 				} else {
7719 					if (yych == 0xC2) goto yy107;
7720 					goto yy59;
7721 				}
7722 			}
7723 		}
7724 	}
7725 yy286:
7726 	YYDEBUG(286, *YYCURSOR);
7727 	++YYCURSOR;
7728 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
7729 	yych = *YYCURSOR;
7730 	if (yych == 0xAF) goto yy459;
7731 	goto yy59;
7732 yy287:
7733 	YYDEBUG(287, *YYCURSOR);
7734 	yych = *++YYCURSOR;
7735 	if (yych <= '/') goto yy207;
7736 	if (yych <= '0') goto yy208;
7737 	if (yych <= '1') goto yy209;
7738 	if (yych <= '9') goto yy210;
7739 	goto yy207;
7740 yy288:
7741 	YYDEBUG(288, *YYCURSOR);
7742 	yych = *++YYCURSOR;
7743 	switch (yych) {
7744 	case '0':	goto yy460;
7745 	case '1':	goto yy461;
7746 	case '2':
7747 	case '3':
7748 	case '4':
7749 	case '5':
7750 	case '6':
7751 	case '7':
7752 	case '8':
7753 	case '9':	goto yy462;
7754 	case 'A':
7755 	case 'a':	goto yy463;
7756 	case 'D':
7757 	case 'd':	goto yy464;
7758 	case 'F':
7759 	case 'f':	goto yy465;
7760 	case 'J':
7761 	case 'j':	goto yy466;
7762 	case 'M':
7763 	case 'm':	goto yy467;
7764 	case 'N':
7765 	case 'n':	goto yy468;
7766 	case 'O':
7767 	case 'o':	goto yy469;
7768 	case 'S':
7769 	case 's':	goto yy470;
7770 	default:	goto yy59;
7771 	}
7772 yy289:
7773 	YYDEBUG(289, *YYCURSOR);
7774 	yych = *++YYCURSOR;
7775 	if (yych <= '/') goto yy290;
7776 	if (yych <= '9') goto yy471;
7777 yy290:
7778 	YYDEBUG(290, *YYCURSOR);
7779 #line 1237 "ext/date/lib/parse_date.re"
7780 	{
7781 		timelib_sll i;
7782 		timelib_ull us;
7783 		const char *ptr_before;
7784 		bool is_negative;
7785 
7786 		TIMELIB_INIT;
7787 		TIMELIB_HAVE_RELATIVE();
7788 		TIMELIB_UNHAVE_DATE();
7789 		TIMELIB_UNHAVE_TIME();
7790 		TIMELIB_HAVE_TZ();
7791 
7792 		is_negative = *(ptr + 1) == '-';
7793 
7794 		i = timelib_get_signed_nr(s, &ptr, 24);
7795 
7796 		ptr_before = ptr;
7797 		us = timelib_get_signed_nr(s, &ptr, 6);
7798 		us = us * pow(10, 7 - (ptr - ptr_before));
7799 		if (is_negative) {
7800 			us *= -1;
7801 		}
7802 
7803 		s->time->y = 1970;
7804 		s->time->m = 1;
7805 		s->time->d = 1;
7806 		s->time->h = s->time->i = s->time->s = 0;
7807 		s->time->us = 0;
7808 		s->time->relative.s += i;
7809 		s->time->relative.us = us;
7810 		s->time->is_localtime = 1;
7811 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
7812 		s->time->z = 0;
7813 		s->time->dst = 0;
7814 
7815 		TIMELIB_DEINIT;
7816 		return TIMELIB_RELATIVE;
7817 	}
7818 #line 7819 "<stdout>"
7819 yy291:
7820 	YYDEBUG(291, *YYCURSOR);
7821 	yych = *++YYCURSOR;
7822 	if (yych <= '@') {
7823 		if (yych == ')') goto yy115;
7824 		goto yy20;
7825 	} else {
7826 		if (yych <= 'Z') goto yy472;
7827 		if (yych <= '`') goto yy20;
7828 		if (yych <= 'z') goto yy472;
7829 		goto yy20;
7830 	}
7831 yy292:
7832 	YYDEBUG(292, *YYCURSOR);
7833 	yych = *++YYCURSOR;
7834 	if (yych <= '@') {
7835 		if (yych == ')') goto yy115;
7836 	} else {
7837 		if (yych <= 'Z') goto yy472;
7838 		if (yych <= '`') goto yy293;
7839 		if (yych <= 'z') goto yy472;
7840 	}
7841 yy293:
7842 	YYDEBUG(293, *YYCURSOR);
7843 #line 1799 "ext/date/lib/parse_date.re"
7844 	{
7845 		DEBUG_OUTPUT("ago");
7846 		TIMELIB_INIT;
7847 		s->time->relative.y = 0 - s->time->relative.y;
7848 		s->time->relative.m = 0 - s->time->relative.m;
7849 		s->time->relative.d = 0 - s->time->relative.d;
7850 		s->time->relative.h = 0 - s->time->relative.h;
7851 		s->time->relative.i = 0 - s->time->relative.i;
7852 		s->time->relative.s = 0 - s->time->relative.s;
7853 		s->time->relative.weekday = 0 - s->time->relative.weekday;
7854 		if (s->time->relative.weekday == 0) {
7855 			s->time->relative.weekday = -7;
7856 		}
7857 		if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
7858 			s->time->relative.special.amount = 0 - s->time->relative.special.amount;
7859 		}
7860 		TIMELIB_DEINIT;
7861 		return TIMELIB_AGO;
7862 	}
7863 #line 7864 "<stdout>"
7864 yy294:
7865 	YYDEBUG(294, *YYCURSOR);
7866 	yyaccept = 7;
7867 	yych = *(YYMARKER = ++YYCURSOR);
7868 	if (yych <= '/') {
7869 		if (yych <= '(') {
7870 			if (yych <= '\t') {
7871 				if (yych >= '\t') goto yy142;
7872 			} else {
7873 				if (yych == ' ') goto yy142;
7874 			}
7875 		} else {
7876 			if (yych <= ',') {
7877 				if (yych <= ')') goto yy115;
7878 			} else {
7879 				if (yych <= '-') goto yy473;
7880 				if (yych <= '.') goto yy142;
7881 			}
7882 		}
7883 	} else {
7884 		if (yych <= 'Z') {
7885 			if (yych <= '@') {
7886 				if (yych <= '9') goto yy142;
7887 			} else {
7888 				if (yych == 'I') goto yy474;
7889 				goto yy472;
7890 			}
7891 		} else {
7892 			if (yych <= 'h') {
7893 				if (yych >= 'a') goto yy472;
7894 			} else {
7895 				if (yych <= 'i') goto yy474;
7896 				if (yych <= 'z') goto yy472;
7897 			}
7898 		}
7899 	}
7900 yy295:
7901 	YYDEBUG(295, *YYCURSOR);
7902 #line 1879 "ext/date/lib/parse_date.re"
7903 	{
7904 		DEBUG_OUTPUT("monthtext");
7905 		TIMELIB_INIT;
7906 		TIMELIB_HAVE_DATE();
7907 		s->time->m = timelib_lookup_month(&ptr);
7908 		TIMELIB_DEINIT;
7909 		return TIMELIB_DATE_TEXT;
7910 	}
7911 #line 7912 "<stdout>"
7912 yy296:
7913 	YYDEBUG(296, *YYCURSOR);
7914 	yyaccept = 7;
7915 	yych = *(YYMARKER = ++YYCURSOR);
7916 	if (yych <= '/') {
7917 		if (yych <= '(') {
7918 			if (yych <= '\t') {
7919 				if (yych <= 0x08) goto yy295;
7920 				goto yy142;
7921 			} else {
7922 				if (yych == ' ') goto yy142;
7923 				goto yy295;
7924 			}
7925 		} else {
7926 			if (yych <= ',') {
7927 				if (yych <= ')') goto yy115;
7928 				goto yy295;
7929 			} else {
7930 				if (yych <= '-') goto yy473;
7931 				if (yych <= '.') goto yy142;
7932 				goto yy295;
7933 			}
7934 		}
7935 	} else {
7936 		if (yych <= 'Z') {
7937 			if (yych <= '@') {
7938 				if (yych <= '9') goto yy142;
7939 				goto yy295;
7940 			} else {
7941 				if (yych == 'U') goto yy475;
7942 				goto yy472;
7943 			}
7944 		} else {
7945 			if (yych <= 't') {
7946 				if (yych <= '`') goto yy295;
7947 				goto yy472;
7948 			} else {
7949 				if (yych <= 'u') goto yy475;
7950 				if (yych <= 'z') goto yy472;
7951 				goto yy295;
7952 			}
7953 		}
7954 	}
7955 yy297:
7956 	YYDEBUG(297, *YYCURSOR);
7957 	++YYCURSOR;
7958 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
7959 	yych = *YYCURSOR;
7960 	if (yybm[0+yych] & 64) {
7961 		goto yy476;
7962 	}
7963 	goto yy59;
7964 yy298:
7965 	YYDEBUG(298, *YYCURSOR);
7966 	yyaccept = 2;
7967 	yych = *(YYMARKER = ++YYCURSOR);
7968 	if (yych <= '/') {
7969 		if (yych <= ',') {
7970 			if (yych == ')') goto yy115;
7971 			goto yy20;
7972 		} else {
7973 			if (yych == '.') goto yy20;
7974 			goto yy297;
7975 		}
7976 	} else {
7977 		if (yych <= '^') {
7978 			if (yych <= '@') goto yy20;
7979 			if (yych <= 'Z') goto yy472;
7980 			goto yy20;
7981 		} else {
7982 			if (yych <= '_') goto yy297;
7983 			if (yych <= '`') goto yy20;
7984 			if (yych <= 'z') goto yy478;
7985 			goto yy20;
7986 		}
7987 	}
7988 yy299:
7989 	YYDEBUG(299, *YYCURSOR);
7990 	yyaccept = 8;
7991 	yych = *(YYMARKER = ++YYCURSOR);
7992 	if (yych <= '/') {
7993 		if (yych <= ',') {
7994 			if (yych == ')') goto yy115;
7995 			goto yy293;
7996 		} else {
7997 			if (yych == '.') goto yy293;
7998 			goto yy297;
7999 		}
8000 	} else {
8001 		if (yych <= '^') {
8002 			if (yych <= '@') goto yy293;
8003 			if (yych <= 'Z') goto yy472;
8004 			goto yy293;
8005 		} else {
8006 			if (yych <= '_') goto yy297;
8007 			if (yych <= '`') goto yy293;
8008 			if (yych <= 'z') goto yy478;
8009 			goto yy293;
8010 		}
8011 	}
8012 yy300:
8013 	YYDEBUG(300, *YYCURSOR);
8014 	yyaccept = 7;
8015 	yych = *(YYMARKER = ++YYCURSOR);
8016 	if (yych <= '9') {
8017 		if (yych <= '(') {
8018 			if (yych <= '\t') {
8019 				if (yych <= 0x08) goto yy295;
8020 				goto yy142;
8021 			} else {
8022 				if (yych == ' ') goto yy142;
8023 				goto yy295;
8024 			}
8025 		} else {
8026 			if (yych <= '-') {
8027 				if (yych <= ')') goto yy115;
8028 				if (yych <= ',') goto yy295;
8029 				goto yy479;
8030 			} else {
8031 				if (yych == '/') goto yy297;
8032 				goto yy142;
8033 			}
8034 		}
8035 	} else {
8036 		if (yych <= '^') {
8037 			if (yych <= 'H') {
8038 				if (yych <= '@') goto yy295;
8039 				goto yy472;
8040 			} else {
8041 				if (yych <= 'I') goto yy474;
8042 				if (yych <= 'Z') goto yy472;
8043 				goto yy295;
8044 			}
8045 		} else {
8046 			if (yych <= 'h') {
8047 				if (yych <= '_') goto yy297;
8048 				if (yych <= '`') goto yy295;
8049 				goto yy478;
8050 			} else {
8051 				if (yych <= 'i') goto yy480;
8052 				if (yych <= 'z') goto yy478;
8053 				goto yy295;
8054 			}
8055 		}
8056 	}
8057 yy301:
8058 	YYDEBUG(301, *YYCURSOR);
8059 	yyaccept = 7;
8060 	yych = *(YYMARKER = ++YYCURSOR);
8061 	if (yych <= '9') {
8062 		if (yych <= '(') {
8063 			if (yych <= '\t') {
8064 				if (yych <= 0x08) goto yy295;
8065 				goto yy142;
8066 			} else {
8067 				if (yych == ' ') goto yy142;
8068 				goto yy295;
8069 			}
8070 		} else {
8071 			if (yych <= '-') {
8072 				if (yych <= ')') goto yy115;
8073 				if (yych <= ',') goto yy295;
8074 				goto yy479;
8075 			} else {
8076 				if (yych == '/') goto yy297;
8077 				goto yy142;
8078 			}
8079 		}
8080 	} else {
8081 		if (yych <= '^') {
8082 			if (yych <= 'T') {
8083 				if (yych <= '@') goto yy295;
8084 				goto yy472;
8085 			} else {
8086 				if (yych <= 'U') goto yy475;
8087 				if (yych <= 'Z') goto yy472;
8088 				goto yy295;
8089 			}
8090 		} else {
8091 			if (yych <= 't') {
8092 				if (yych <= '_') goto yy297;
8093 				if (yych <= '`') goto yy295;
8094 				goto yy478;
8095 			} else {
8096 				if (yych <= 'u') goto yy481;
8097 				if (yych <= 'z') goto yy478;
8098 				goto yy295;
8099 			}
8100 		}
8101 	}
8102 yy302:
8103 	YYDEBUG(302, *YYCURSOR);
8104 	yych = *++YYCURSOR;
8105 	if (yych <= 'K') {
8106 		if (yych <= ')') {
8107 			if (yych <= '(') goto yy20;
8108 			goto yy115;
8109 		} else {
8110 			if (yych <= '@') goto yy20;
8111 			if (yych <= 'J') goto yy472;
8112 			goto yy482;
8113 		}
8114 	} else {
8115 		if (yych <= 'j') {
8116 			if (yych <= 'Z') goto yy472;
8117 			if (yych <= '`') goto yy20;
8118 			goto yy472;
8119 		} else {
8120 			if (yych <= 'k') goto yy482;
8121 			if (yych <= 'z') goto yy472;
8122 			goto yy20;
8123 		}
8124 	}
8125 yy303:
8126 	YYDEBUG(303, *YYCURSOR);
8127 	yyaccept = 2;
8128 	yych = *(YYMARKER = ++YYCURSOR);
8129 	if (yych <= 'J') {
8130 		if (yych <= '-') {
8131 			if (yych == ')') goto yy115;
8132 			if (yych <= ',') goto yy20;
8133 			goto yy297;
8134 		} else {
8135 			if (yych == '/') goto yy297;
8136 			if (yych <= '@') goto yy20;
8137 			goto yy472;
8138 		}
8139 	} else {
8140 		if (yych <= '_') {
8141 			if (yych <= 'K') goto yy482;
8142 			if (yych <= 'Z') goto yy472;
8143 			if (yych <= '^') goto yy20;
8144 			goto yy297;
8145 		} else {
8146 			if (yych <= 'j') {
8147 				if (yych <= '`') goto yy20;
8148 				goto yy478;
8149 			} else {
8150 				if (yych <= 'k') goto yy483;
8151 				if (yych <= 'z') goto yy478;
8152 				goto yy20;
8153 			}
8154 		}
8155 	}
8156 yy304:
8157 	YYDEBUG(304, *YYCURSOR);
8158 	yyaccept = 7;
8159 	yych = *(YYMARKER = ++YYCURSOR);
8160 	if (yych <= '/') {
8161 		if (yych <= '(') {
8162 			if (yych <= '\t') {
8163 				if (yych <= 0x08) goto yy295;
8164 				goto yy142;
8165 			} else {
8166 				if (yych == ' ') goto yy142;
8167 				goto yy295;
8168 			}
8169 		} else {
8170 			if (yych <= ',') {
8171 				if (yych <= ')') goto yy115;
8172 				goto yy295;
8173 			} else {
8174 				if (yych <= '-') goto yy473;
8175 				if (yych <= '.') goto yy142;
8176 				goto yy295;
8177 			}
8178 		}
8179 	} else {
8180 		if (yych <= 'Z') {
8181 			if (yych <= '@') {
8182 				if (yych <= '9') goto yy142;
8183 				goto yy295;
8184 			} else {
8185 				if (yych == 'E') goto yy484;
8186 				goto yy472;
8187 			}
8188 		} else {
8189 			if (yych <= 'd') {
8190 				if (yych <= '`') goto yy295;
8191 				goto yy472;
8192 			} else {
8193 				if (yych <= 'e') goto yy484;
8194 				if (yych <= 'z') goto yy472;
8195 				goto yy295;
8196 			}
8197 		}
8198 	}
8199 yy305:
8200 	YYDEBUG(305, *YYCURSOR);
8201 	yyaccept = 7;
8202 	yych = *(YYMARKER = ++YYCURSOR);
8203 	if (yych <= '9') {
8204 		if (yych <= '(') {
8205 			if (yych <= '\t') {
8206 				if (yych <= 0x08) goto yy295;
8207 				goto yy142;
8208 			} else {
8209 				if (yych == ' ') goto yy142;
8210 				goto yy295;
8211 			}
8212 		} else {
8213 			if (yych <= '-') {
8214 				if (yych <= ')') goto yy115;
8215 				if (yych <= ',') goto yy295;
8216 				goto yy479;
8217 			} else {
8218 				if (yych == '/') goto yy297;
8219 				goto yy142;
8220 			}
8221 		}
8222 	} else {
8223 		if (yych <= '^') {
8224 			if (yych <= 'D') {
8225 				if (yych <= '@') goto yy295;
8226 				goto yy472;
8227 			} else {
8228 				if (yych <= 'E') goto yy484;
8229 				if (yych <= 'Z') goto yy472;
8230 				goto yy295;
8231 			}
8232 		} else {
8233 			if (yych <= 'd') {
8234 				if (yych <= '_') goto yy297;
8235 				if (yych <= '`') goto yy295;
8236 				goto yy478;
8237 			} else {
8238 				if (yych <= 'e') goto yy485;
8239 				if (yych <= 'z') goto yy478;
8240 				goto yy295;
8241 			}
8242 		}
8243 	}
8244 yy306:
8245 	YYDEBUG(306, *YYCURSOR);
8246 	yych = *++YYCURSOR;
8247 	if (yych <= 'H') {
8248 		if (yych <= ')') {
8249 			if (yych <= '(') goto yy20;
8250 			goto yy115;
8251 		} else {
8252 			if (yych <= '@') goto yy20;
8253 			if (yych <= 'G') goto yy472;
8254 			goto yy486;
8255 		}
8256 	} else {
8257 		if (yych <= 'g') {
8258 			if (yych <= 'Z') goto yy472;
8259 			if (yych <= '`') goto yy20;
8260 			goto yy472;
8261 		} else {
8262 			if (yych <= 'h') goto yy486;
8263 			if (yych <= 'z') goto yy472;
8264 			goto yy20;
8265 		}
8266 	}
8267 yy307:
8268 	YYDEBUG(307, *YYCURSOR);
8269 	yych = *++YYCURSOR;
8270 	if (yych <= 'V') {
8271 		if (yych <= ')') {
8272 			if (yych <= '(') goto yy20;
8273 			goto yy115;
8274 		} else {
8275 			if (yych <= '@') goto yy20;
8276 			if (yych <= 'U') goto yy472;
8277 			goto yy487;
8278 		}
8279 	} else {
8280 		if (yych <= 'u') {
8281 			if (yych <= 'Z') goto yy472;
8282 			if (yych <= '`') goto yy20;
8283 			goto yy472;
8284 		} else {
8285 			if (yych <= 'v') goto yy487;
8286 			if (yych <= 'z') goto yy472;
8287 			goto yy20;
8288 		}
8289 	}
8290 yy308:
8291 	YYDEBUG(308, *YYCURSOR);
8292 	yyaccept = 2;
8293 	yych = *(YYMARKER = ++YYCURSOR);
8294 	if (yych <= 'G') {
8295 		if (yych <= '-') {
8296 			if (yych == ')') goto yy115;
8297 			if (yych <= ',') goto yy20;
8298 			goto yy297;
8299 		} else {
8300 			if (yych == '/') goto yy297;
8301 			if (yych <= '@') goto yy20;
8302 			goto yy472;
8303 		}
8304 	} else {
8305 		if (yych <= '_') {
8306 			if (yych <= 'H') goto yy486;
8307 			if (yych <= 'Z') goto yy472;
8308 			if (yych <= '^') goto yy20;
8309 			goto yy297;
8310 		} else {
8311 			if (yych <= 'g') {
8312 				if (yych <= '`') goto yy20;
8313 				goto yy478;
8314 			} else {
8315 				if (yych <= 'h') goto yy488;
8316 				if (yych <= 'z') goto yy478;
8317 				goto yy20;
8318 			}
8319 		}
8320 	}
8321 yy309:
8322 	YYDEBUG(309, *YYCURSOR);
8323 	yyaccept = 2;
8324 	yych = *(YYMARKER = ++YYCURSOR);
8325 	if (yych <= 'U') {
8326 		if (yych <= '-') {
8327 			if (yych == ')') goto yy115;
8328 			if (yych <= ',') goto yy20;
8329 			goto yy297;
8330 		} else {
8331 			if (yych == '/') goto yy297;
8332 			if (yych <= '@') goto yy20;
8333 			goto yy472;
8334 		}
8335 	} else {
8336 		if (yych <= '_') {
8337 			if (yych <= 'V') goto yy487;
8338 			if (yych <= 'Z') goto yy472;
8339 			if (yych <= '^') goto yy20;
8340 			goto yy297;
8341 		} else {
8342 			if (yych <= 'u') {
8343 				if (yych <= '`') goto yy20;
8344 				goto yy478;
8345 			} else {
8346 				if (yych <= 'v') goto yy489;
8347 				if (yych <= 'z') goto yy478;
8348 				goto yy20;
8349 			}
8350 		}
8351 	}
8352 yy310:
8353 	YYDEBUG(310, *YYCURSOR);
8354 	yyaccept = 7;
8355 	yych = *(YYMARKER = ++YYCURSOR);
8356 	if (yych <= '/') {
8357 		if (yych <= '(') {
8358 			if (yych <= '\t') {
8359 				if (yych <= 0x08) goto yy295;
8360 				goto yy142;
8361 			} else {
8362 				if (yych == ' ') goto yy142;
8363 				goto yy295;
8364 			}
8365 		} else {
8366 			if (yych <= ',') {
8367 				if (yych <= ')') goto yy115;
8368 				goto yy295;
8369 			} else {
8370 				if (yych <= '-') goto yy473;
8371 				if (yych <= '.') goto yy142;
8372 				goto yy295;
8373 			}
8374 		}
8375 	} else {
8376 		if (yych <= 'Z') {
8377 			if (yych <= '@') {
8378 				if (yych <= '9') goto yy142;
8379 				goto yy295;
8380 			} else {
8381 				if (yych == 'R') goto yy490;
8382 				goto yy472;
8383 			}
8384 		} else {
8385 			if (yych <= 'q') {
8386 				if (yych <= '`') goto yy295;
8387 				goto yy472;
8388 			} else {
8389 				if (yych <= 'r') goto yy490;
8390 				if (yych <= 'z') goto yy472;
8391 				goto yy295;
8392 			}
8393 		}
8394 	}
8395 yy311:
8396 	YYDEBUG(311, *YYCURSOR);
8397 	yych = *++YYCURSOR;
8398 	if (yych <= 'T') {
8399 		if (yych <= ')') {
8400 			if (yych <= '(') goto yy20;
8401 			goto yy115;
8402 		} else {
8403 			if (yych <= '@') goto yy20;
8404 			if (yych <= 'S') goto yy472;
8405 			goto yy491;
8406 		}
8407 	} else {
8408 		if (yych <= 's') {
8409 			if (yych <= 'Z') goto yy472;
8410 			if (yych <= '`') goto yy20;
8411 			goto yy472;
8412 		} else {
8413 			if (yych <= 't') goto yy491;
8414 			if (yych <= 'z') goto yy472;
8415 			goto yy20;
8416 		}
8417 	}
8418 yy312:
8419 	YYDEBUG(312, *YYCURSOR);
8420 	yych = *++YYCURSOR;
8421 	if (yych <= 'S') {
8422 		if (yych <= ')') {
8423 			if (yych <= '(') goto yy20;
8424 			goto yy115;
8425 		} else {
8426 			if (yych <= '@') goto yy20;
8427 			if (yych <= 'R') goto yy472;
8428 			goto yy492;
8429 		}
8430 	} else {
8431 		if (yych <= 'r') {
8432 			if (yych <= 'Z') goto yy472;
8433 			if (yych <= '`') goto yy20;
8434 			goto yy472;
8435 		} else {
8436 			if (yych <= 's') goto yy492;
8437 			if (yych <= 'z') goto yy472;
8438 			goto yy20;
8439 		}
8440 	}
8441 yy313:
8442 	YYDEBUG(313, *YYCURSOR);
8443 	yych = *++YYCURSOR;
8444 	if (yych <= 'R') {
8445 		if (yych <= ')') {
8446 			if (yych <= '(') goto yy20;
8447 			goto yy115;
8448 		} else {
8449 			if (yych <= '@') goto yy20;
8450 			if (yych <= 'Q') goto yy472;
8451 			goto yy493;
8452 		}
8453 	} else {
8454 		if (yych <= 'q') {
8455 			if (yych <= 'Z') goto yy472;
8456 			if (yych <= '`') goto yy20;
8457 			goto yy472;
8458 		} else {
8459 			if (yych <= 'r') goto yy493;
8460 			if (yych <= 'z') goto yy472;
8461 			goto yy20;
8462 		}
8463 	}
8464 yy314:
8465 	YYDEBUG(314, *YYCURSOR);
8466 	yych = *++YYCURSOR;
8467 	if (yych <= 'D') {
8468 		if (yych <= ')') {
8469 			if (yych >= ')') goto yy115;
8470 		} else {
8471 			if (yych <= '@') goto yy315;
8472 			if (yych <= 'C') goto yy472;
8473 			goto yy494;
8474 		}
8475 	} else {
8476 		if (yych <= 'c') {
8477 			if (yych <= 'Z') goto yy472;
8478 			if (yych >= 'a') goto yy472;
8479 		} else {
8480 			if (yych <= 'd') goto yy494;
8481 			if (yych <= 'z') goto yy472;
8482 		}
8483 	}
8484 yy315:
8485 	YYDEBUG(315, *YYCURSOR);
8486 #line 1820 "ext/date/lib/parse_date.re"
8487 	{
8488 		const timelib_relunit* relunit;
8489 		DEBUG_OUTPUT("daytext");
8490 		TIMELIB_INIT;
8491 		TIMELIB_HAVE_RELATIVE();
8492 		TIMELIB_HAVE_WEEKDAY_RELATIVE();
8493 		TIMELIB_UNHAVE_TIME();
8494 		relunit = timelib_lookup_relunit(&ptr);
8495 		s->time->relative.weekday = relunit->multiplier;
8496 		if (s->time->relative.weekday_behavior != 2) {
8497 			s->time->relative.weekday_behavior = 1;
8498 		}
8499 
8500 		TIMELIB_DEINIT;
8501 		return TIMELIB_WEEKDAY;
8502 	}
8503 #line 8504 "<stdout>"
8504 yy316:
8505 	YYDEBUG(316, *YYCURSOR);
8506 	yych = *++YYCURSOR;
8507 	if (yych <= 'N') {
8508 		if (yych <= ')') {
8509 			if (yych <= '(') goto yy20;
8510 			goto yy115;
8511 		} else {
8512 			if (yych <= '@') goto yy20;
8513 			if (yych <= 'M') goto yy472;
8514 			goto yy495;
8515 		}
8516 	} else {
8517 		if (yych <= 'm') {
8518 			if (yych <= 'Z') goto yy472;
8519 			if (yych <= '`') goto yy20;
8520 			goto yy472;
8521 		} else {
8522 			if (yych <= 'n') goto yy495;
8523 			if (yych <= 'z') goto yy472;
8524 			goto yy20;
8525 		}
8526 	}
8527 yy317:
8528 	YYDEBUG(317, *YYCURSOR);
8529 	yyaccept = 7;
8530 	yych = *(YYMARKER = ++YYCURSOR);
8531 	if (yych <= '9') {
8532 		if (yych <= '(') {
8533 			if (yych <= '\t') {
8534 				if (yych <= 0x08) goto yy295;
8535 				goto yy142;
8536 			} else {
8537 				if (yych == ' ') goto yy142;
8538 				goto yy295;
8539 			}
8540 		} else {
8541 			if (yych <= '-') {
8542 				if (yych <= ')') goto yy115;
8543 				if (yych <= ',') goto yy295;
8544 				goto yy479;
8545 			} else {
8546 				if (yych == '/') goto yy297;
8547 				goto yy142;
8548 			}
8549 		}
8550 	} else {
8551 		if (yych <= '^') {
8552 			if (yych <= 'Q') {
8553 				if (yych <= '@') goto yy295;
8554 				goto yy472;
8555 			} else {
8556 				if (yych <= 'R') goto yy490;
8557 				if (yych <= 'Z') goto yy472;
8558 				goto yy295;
8559 			}
8560 		} else {
8561 			if (yych <= 'q') {
8562 				if (yych <= '_') goto yy297;
8563 				if (yych <= '`') goto yy295;
8564 				goto yy478;
8565 			} else {
8566 				if (yych <= 'r') goto yy496;
8567 				if (yych <= 'z') goto yy478;
8568 				goto yy295;
8569 			}
8570 		}
8571 	}
8572 yy318:
8573 	YYDEBUG(318, *YYCURSOR);
8574 	yyaccept = 2;
8575 	yych = *(YYMARKER = ++YYCURSOR);
8576 	if (yych <= 'S') {
8577 		if (yych <= '-') {
8578 			if (yych == ')') goto yy115;
8579 			if (yych <= ',') goto yy20;
8580 			goto yy297;
8581 		} else {
8582 			if (yych == '/') goto yy297;
8583 			if (yych <= '@') goto yy20;
8584 			goto yy472;
8585 		}
8586 	} else {
8587 		if (yych <= '_') {
8588 			if (yych <= 'T') goto yy491;
8589 			if (yych <= 'Z') goto yy472;
8590 			if (yych <= '^') goto yy20;
8591 			goto yy297;
8592 		} else {
8593 			if (yych <= 's') {
8594 				if (yych <= '`') goto yy20;
8595 				goto yy478;
8596 			} else {
8597 				if (yych <= 't') goto yy497;
8598 				if (yych <= 'z') goto yy478;
8599 				goto yy20;
8600 			}
8601 		}
8602 	}
8603 yy319:
8604 	YYDEBUG(319, *YYCURSOR);
8605 	yyaccept = 2;
8606 	yych = *(YYMARKER = ++YYCURSOR);
8607 	if (yych <= 'R') {
8608 		if (yych <= '-') {
8609 			if (yych == ')') goto yy115;
8610 			if (yych <= ',') goto yy20;
8611 			goto yy297;
8612 		} else {
8613 			if (yych == '/') goto yy297;
8614 			if (yych <= '@') goto yy20;
8615 			goto yy472;
8616 		}
8617 	} else {
8618 		if (yych <= '_') {
8619 			if (yych <= 'S') goto yy492;
8620 			if (yych <= 'Z') goto yy472;
8621 			if (yych <= '^') goto yy20;
8622 			goto yy297;
8623 		} else {
8624 			if (yych <= 'r') {
8625 				if (yych <= '`') goto yy20;
8626 				goto yy478;
8627 			} else {
8628 				if (yych <= 's') goto yy498;
8629 				if (yych <= 'z') goto yy478;
8630 				goto yy20;
8631 			}
8632 		}
8633 	}
8634 yy320:
8635 	YYDEBUG(320, *YYCURSOR);
8636 	yyaccept = 2;
8637 	yych = *(YYMARKER = ++YYCURSOR);
8638 	if (yych <= 'Q') {
8639 		if (yych <= '-') {
8640 			if (yych == ')') goto yy115;
8641 			if (yych <= ',') goto yy20;
8642 			goto yy297;
8643 		} else {
8644 			if (yych == '/') goto yy297;
8645 			if (yych <= '@') goto yy20;
8646 			goto yy472;
8647 		}
8648 	} else {
8649 		if (yych <= '_') {
8650 			if (yych <= 'R') goto yy493;
8651 			if (yych <= 'Z') goto yy472;
8652 			if (yych <= '^') goto yy20;
8653 			goto yy297;
8654 		} else {
8655 			if (yych <= 'q') {
8656 				if (yych <= '`') goto yy20;
8657 				goto yy478;
8658 			} else {
8659 				if (yych <= 'r') goto yy499;
8660 				if (yych <= 'z') goto yy478;
8661 				goto yy20;
8662 			}
8663 		}
8664 	}
8665 yy321:
8666 	YYDEBUG(321, *YYCURSOR);
8667 	yyaccept = 9;
8668 	yych = *(YYMARKER = ++YYCURSOR);
8669 	if (yych <= 'C') {
8670 		if (yych <= '-') {
8671 			if (yych == ')') goto yy115;
8672 			if (yych <= ',') goto yy315;
8673 			goto yy297;
8674 		} else {
8675 			if (yych == '/') goto yy297;
8676 			if (yych <= '@') goto yy315;
8677 			goto yy472;
8678 		}
8679 	} else {
8680 		if (yych <= '_') {
8681 			if (yych <= 'D') goto yy494;
8682 			if (yych <= 'Z') goto yy472;
8683 			if (yych <= '^') goto yy315;
8684 			goto yy297;
8685 		} else {
8686 			if (yych <= 'c') {
8687 				if (yych <= '`') goto yy315;
8688 				goto yy478;
8689 			} else {
8690 				if (yych <= 'd') goto yy500;
8691 				if (yych <= 'z') goto yy478;
8692 				goto yy315;
8693 			}
8694 		}
8695 	}
8696 yy322:
8697 	YYDEBUG(322, *YYCURSOR);
8698 	yyaccept = 2;
8699 	yych = *(YYMARKER = ++YYCURSOR);
8700 	if (yych <= 'M') {
8701 		if (yych <= '-') {
8702 			if (yych == ')') goto yy115;
8703 			if (yych <= ',') goto yy20;
8704 			goto yy297;
8705 		} else {
8706 			if (yych == '/') goto yy297;
8707 			if (yych <= '@') goto yy20;
8708 			goto yy472;
8709 		}
8710 	} else {
8711 		if (yych <= '_') {
8712 			if (yych <= 'N') goto yy495;
8713 			if (yych <= 'Z') goto yy472;
8714 			if (yych <= '^') goto yy20;
8715 			goto yy297;
8716 		} else {
8717 			if (yych <= 'm') {
8718 				if (yych <= '`') goto yy20;
8719 				goto yy478;
8720 			} else {
8721 				if (yych <= 'n') goto yy501;
8722 				if (yych <= 'z') goto yy478;
8723 				goto yy20;
8724 			}
8725 		}
8726 	}
8727 yy323:
8728 	YYDEBUG(323, *YYCURSOR);
8729 	yyaccept = 2;
8730 	yych = *(YYMARKER = ++YYCURSOR);
8731 	if (yych <= ',') {
8732 		if (yych <= ')') {
8733 			if (yych <= '(') goto yy20;
8734 			goto yy115;
8735 		} else {
8736 			if (yych == '+') goto yy502;
8737 			goto yy20;
8738 		}
8739 	} else {
8740 		if (yych <= 'Z') {
8741 			if (yych <= '-') goto yy502;
8742 			if (yych <= '@') goto yy20;
8743 			goto yy472;
8744 		} else {
8745 			if (yych <= '`') goto yy20;
8746 			if (yych <= 'z') goto yy472;
8747 			goto yy20;
8748 		}
8749 	}
8750 yy324:
8751 	YYDEBUG(324, *YYCURSOR);
8752 	yyaccept = 10;
8753 	yych = *(YYMARKER = ++YYCURSOR);
8754 	if (yych <= '9') {
8755 		if (yych <= '0') {
8756 			if (yych >= '0') goto yy503;
8757 		} else {
8758 			if (yych <= '1') goto yy504;
8759 			if (yych <= '2') goto yy505;
8760 			goto yy506;
8761 		}
8762 	} else {
8763 		if (yych <= 'T') {
8764 			if (yych >= 'T') goto yy507;
8765 		} else {
8766 			if (yych == 't') goto yy507;
8767 		}
8768 	}
8769 yy325:
8770 	YYDEBUG(325, *YYCURSOR);
8771 #line 1622 "ext/date/lib/parse_date.re"
8772 	{
8773 		int length = 0;
8774 		DEBUG_OUTPUT("datetextual | datenoyear");
8775 		TIMELIB_INIT;
8776 		TIMELIB_HAVE_DATE();
8777 		s->time->m = timelib_get_month(&ptr);
8778 		s->time->d = timelib_get_nr(&ptr, 2);
8779 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
8780 		TIMELIB_PROCESS_YEAR(s->time->y, length);
8781 		TIMELIB_DEINIT;
8782 		return TIMELIB_DATE_TEXT;
8783 	}
8784 #line 8785 "<stdout>"
8785 yy326:
8786 	YYDEBUG(326, *YYCURSOR);
8787 	yyaccept = 10;
8788 	YYMARKER = ++YYCURSOR;
8789 	if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
8790 	yych = *YYCURSOR;
8791 yy327:
8792 	YYDEBUG(327, *YYCURSOR);
8793 	if (yybm[0+yych] & 32) {
8794 		goto yy326;
8795 	}
8796 	if (yych <= '2') {
8797 		if (yych <= '/') goto yy325;
8798 		if (yych <= '0') goto yy508;
8799 		if (yych <= '1') goto yy509;
8800 		goto yy510;
8801 	} else {
8802 		if (yych <= '9') goto yy511;
8803 		if (yych == 'T') goto yy507;
8804 		goto yy325;
8805 	}
8806 yy328:
8807 	YYDEBUG(328, *YYCURSOR);
8808 	yych = *++YYCURSOR;
8809 	if (yych <= '9') {
8810 		if (yych <= ' ') {
8811 			if (yych <= 0x08) {
8812 				if (yych <= 0x00) goto yy324;
8813 				goto yy59;
8814 			} else {
8815 				if (yych <= '\t') goto yy326;
8816 				if (yych <= 0x1F) goto yy59;
8817 				goto yy326;
8818 			}
8819 		} else {
8820 			if (yych <= '-') {
8821 				if (yych == ',') goto yy326;
8822 				goto yy59;
8823 			} else {
8824 				if (yych <= '.') goto yy326;
8825 				if (yych <= '/') goto yy59;
8826 				goto yy512;
8827 			}
8828 		}
8829 	} else {
8830 		if (yych <= 'm') {
8831 			if (yych <= 'd') {
8832 				if (yych <= 'c') goto yy59;
8833 				goto yy326;
8834 			} else {
8835 				if (yych == 'h') goto yy326;
8836 				goto yy59;
8837 			}
8838 		} else {
8839 			if (yych <= 'r') {
8840 				if (yych <= 'n') goto yy329;
8841 				if (yych <= 'q') goto yy59;
8842 			} else {
8843 				if (yych <= 's') goto yy330;
8844 				if (yych <= 't') goto yy331;
8845 				goto yy59;
8846 			}
8847 		}
8848 	}
8849 yy329:
8850 	YYDEBUG(329, *YYCURSOR);
8851 	yyaccept = 10;
8852 	yych = *(YYMARKER = ++YYCURSOR);
8853 	if (yych == 'd') goto yy513;
8854 	goto yy327;
8855 yy330:
8856 	YYDEBUG(330, *YYCURSOR);
8857 	yyaccept = 10;
8858 	yych = *(YYMARKER = ++YYCURSOR);
8859 	if (yych == 't') goto yy513;
8860 	goto yy327;
8861 yy331:
8862 	YYDEBUG(331, *YYCURSOR);
8863 	yyaccept = 10;
8864 	yych = *(YYMARKER = ++YYCURSOR);
8865 	if (yych == 'h') goto yy513;
8866 	goto yy327;
8867 yy332:
8868 	YYDEBUG(332, *YYCURSOR);
8869 	yych = *++YYCURSOR;
8870 	if (yych <= '/') goto yy59;
8871 	if (yych <= '9') goto yy512;
8872 	goto yy59;
8873 yy333:
8874 	YYDEBUG(333, *YYCURSOR);
8875 	yyaccept = 2;
8876 	yych = *(YYMARKER = ++YYCURSOR);
8877 	if (yych <= ',') {
8878 		if (yych <= 0x1F) {
8879 			if (yych == '\t') goto yy142;
8880 			goto yy20;
8881 		} else {
8882 			if (yych <= ' ') goto yy142;
8883 			if (yych == ')') goto yy115;
8884 			goto yy20;
8885 		}
8886 	} else {
8887 		if (yych <= '@') {
8888 			if (yych == '/') goto yy20;
8889 			if (yych <= '9') goto yy142;
8890 			goto yy20;
8891 		} else {
8892 			if (yych <= 'Z') goto yy472;
8893 			if (yych <= '`') goto yy20;
8894 			if (yych <= 'z') goto yy472;
8895 			goto yy20;
8896 		}
8897 	}
8898 yy334:
8899 	YYDEBUG(334, *YYCURSOR);
8900 	yyaccept = 7;
8901 	yych = *(YYMARKER = ++YYCURSOR);
8902 	if (yych <= '/') {
8903 		if (yych <= '(') {
8904 			if (yych <= '\t') {
8905 				if (yych <= 0x08) goto yy295;
8906 				goto yy142;
8907 			} else {
8908 				if (yych == ' ') goto yy142;
8909 				goto yy295;
8910 			}
8911 		} else {
8912 			if (yych <= ',') {
8913 				if (yych <= ')') goto yy115;
8914 				goto yy295;
8915 			} else {
8916 				if (yych <= '-') goto yy473;
8917 				if (yych <= '.') goto yy142;
8918 				goto yy295;
8919 			}
8920 		}
8921 	} else {
8922 		if (yych <= 'Z') {
8923 			if (yych <= '@') {
8924 				if (yych <= '9') goto yy142;
8925 				goto yy295;
8926 			} else {
8927 				if (yych == 'U') goto yy514;
8928 				goto yy472;
8929 			}
8930 		} else {
8931 			if (yych <= 't') {
8932 				if (yych <= '`') goto yy295;
8933 				goto yy472;
8934 			} else {
8935 				if (yych <= 'u') goto yy514;
8936 				if (yych <= 'z') goto yy472;
8937 				goto yy295;
8938 			}
8939 		}
8940 	}
8941 yy335:
8942 	YYDEBUG(335, *YYCURSOR);
8943 	yyaccept = 7;
8944 	yych = *(YYMARKER = ++YYCURSOR);
8945 	if (yych <= '/') {
8946 		if (yych <= '(') {
8947 			if (yych <= '\t') {
8948 				if (yych <= 0x08) goto yy295;
8949 				goto yy142;
8950 			} else {
8951 				if (yych == ' ') goto yy142;
8952 				goto yy295;
8953 			}
8954 		} else {
8955 			if (yych <= ',') {
8956 				if (yych <= ')') goto yy115;
8957 				goto yy295;
8958 			} else {
8959 				if (yych <= '-') goto yy473;
8960 				if (yych <= '.') goto yy142;
8961 				goto yy295;
8962 			}
8963 		}
8964 	} else {
8965 		if (yych <= 'Z') {
8966 			if (yych <= '@') {
8967 				if (yych <= '9') goto yy142;
8968 				goto yy295;
8969 			} else {
8970 				if (yych == 'Y') goto yy515;
8971 				goto yy472;
8972 			}
8973 		} else {
8974 			if (yych <= 'x') {
8975 				if (yych <= '`') goto yy295;
8976 				goto yy472;
8977 			} else {
8978 				if (yych <= 'y') goto yy515;
8979 				if (yych <= 'z') goto yy472;
8980 				goto yy295;
8981 			}
8982 		}
8983 	}
8984 yy336:
8985 	YYDEBUG(336, *YYCURSOR);
8986 	yyaccept = 7;
8987 	yych = *(YYMARKER = ++YYCURSOR);
8988 	if (yych <= '/') {
8989 		if (yych <= '(') {
8990 			if (yych <= '\t') {
8991 				if (yych <= 0x08) goto yy295;
8992 				goto yy142;
8993 			} else {
8994 				if (yych == ' ') goto yy142;
8995 				goto yy295;
8996 			}
8997 		} else {
8998 			if (yych <= ',') {
8999 				if (yych <= ')') goto yy115;
9000 				goto yy295;
9001 			} else {
9002 				if (yych <= '-') goto yy473;
9003 				if (yych <= '.') goto yy142;
9004 				goto yy295;
9005 			}
9006 		}
9007 	} else {
9008 		if (yych <= 'Z') {
9009 			if (yych <= '@') {
9010 				if (yych <= '9') goto yy142;
9011 				goto yy295;
9012 			} else {
9013 				if (yych == 'E') goto yy515;
9014 				goto yy472;
9015 			}
9016 		} else {
9017 			if (yych <= 'd') {
9018 				if (yych <= '`') goto yy295;
9019 				goto yy472;
9020 			} else {
9021 				if (yych <= 'e') goto yy515;
9022 				if (yych <= 'z') goto yy472;
9023 				goto yy295;
9024 			}
9025 		}
9026 	}
9027 yy337:
9028 	YYDEBUG(337, *YYCURSOR);
9029 	yyaccept = 7;
9030 	yych = *(YYMARKER = ++YYCURSOR);
9031 	if (yych <= '9') {
9032 		if (yych <= '(') {
9033 			if (yych <= '\t') {
9034 				if (yych <= 0x08) goto yy295;
9035 				goto yy142;
9036 			} else {
9037 				if (yych == ' ') goto yy142;
9038 				goto yy295;
9039 			}
9040 		} else {
9041 			if (yych <= '-') {
9042 				if (yych <= ')') goto yy115;
9043 				if (yych <= ',') goto yy295;
9044 				goto yy479;
9045 			} else {
9046 				if (yych == '/') goto yy297;
9047 				goto yy142;
9048 			}
9049 		}
9050 	} else {
9051 		if (yych <= '^') {
9052 			if (yych <= 'T') {
9053 				if (yych <= '@') goto yy295;
9054 				goto yy472;
9055 			} else {
9056 				if (yych <= 'U') goto yy514;
9057 				if (yych <= 'Z') goto yy472;
9058 				goto yy295;
9059 			}
9060 		} else {
9061 			if (yych <= 't') {
9062 				if (yych <= '_') goto yy297;
9063 				if (yych <= '`') goto yy295;
9064 				goto yy478;
9065 			} else {
9066 				if (yych <= 'u') goto yy516;
9067 				if (yych <= 'z') goto yy478;
9068 				goto yy295;
9069 			}
9070 		}
9071 	}
9072 yy338:
9073 	YYDEBUG(338, *YYCURSOR);
9074 	yyaccept = 7;
9075 	yych = *(YYMARKER = ++YYCURSOR);
9076 	if (yych <= '9') {
9077 		if (yych <= '(') {
9078 			if (yych <= '\t') {
9079 				if (yych <= 0x08) goto yy295;
9080 				goto yy142;
9081 			} else {
9082 				if (yych == ' ') goto yy142;
9083 				goto yy295;
9084 			}
9085 		} else {
9086 			if (yych <= '-') {
9087 				if (yych <= ')') goto yy115;
9088 				if (yych <= ',') goto yy295;
9089 				goto yy479;
9090 			} else {
9091 				if (yych == '/') goto yy297;
9092 				goto yy142;
9093 			}
9094 		}
9095 	} else {
9096 		if (yych <= '^') {
9097 			if (yych <= 'X') {
9098 				if (yych <= '@') goto yy295;
9099 				goto yy472;
9100 			} else {
9101 				if (yych <= 'Y') goto yy515;
9102 				if (yych <= 'Z') goto yy472;
9103 				goto yy295;
9104 			}
9105 		} else {
9106 			if (yych <= 'x') {
9107 				if (yych <= '_') goto yy297;
9108 				if (yych <= '`') goto yy295;
9109 				goto yy478;
9110 			} else {
9111 				if (yych <= 'y') goto yy517;
9112 				if (yych <= 'z') goto yy478;
9113 				goto yy295;
9114 			}
9115 		}
9116 	}
9117 yy339:
9118 	YYDEBUG(339, *YYCURSOR);
9119 	yyaccept = 7;
9120 	yych = *(YYMARKER = ++YYCURSOR);
9121 	if (yych <= '9') {
9122 		if (yych <= '(') {
9123 			if (yych <= '\t') {
9124 				if (yych <= 0x08) goto yy295;
9125 				goto yy142;
9126 			} else {
9127 				if (yych == ' ') goto yy142;
9128 				goto yy295;
9129 			}
9130 		} else {
9131 			if (yych <= '-') {
9132 				if (yych <= ')') goto yy115;
9133 				if (yych <= ',') goto yy295;
9134 				goto yy479;
9135 			} else {
9136 				if (yych == '/') goto yy297;
9137 				goto yy142;
9138 			}
9139 		}
9140 	} else {
9141 		if (yych <= '^') {
9142 			if (yych <= 'D') {
9143 				if (yych <= '@') goto yy295;
9144 				goto yy472;
9145 			} else {
9146 				if (yych <= 'E') goto yy515;
9147 				if (yych <= 'Z') goto yy472;
9148 				goto yy295;
9149 			}
9150 		} else {
9151 			if (yych <= 'd') {
9152 				if (yych <= '_') goto yy297;
9153 				if (yych <= '`') goto yy295;
9154 				goto yy478;
9155 			} else {
9156 				if (yych <= 'e') goto yy517;
9157 				if (yych <= 'z') goto yy478;
9158 				goto yy295;
9159 			}
9160 		}
9161 	}
9162 yy340:
9163 	YYDEBUG(340, *YYCURSOR);
9164 	yych = *++YYCURSOR;
9165 	if (yych <= 'T') {
9166 		if (yych <= ')') {
9167 			if (yych <= '(') goto yy20;
9168 			goto yy115;
9169 		} else {
9170 			if (yych <= '@') goto yy20;
9171 			if (yych <= 'S') goto yy472;
9172 			goto yy518;
9173 		}
9174 	} else {
9175 		if (yych <= 's') {
9176 			if (yych <= 'Z') goto yy472;
9177 			if (yych <= '`') goto yy20;
9178 			goto yy472;
9179 		} else {
9180 			if (yych <= 't') goto yy518;
9181 			if (yych <= 'z') goto yy472;
9182 			goto yy20;
9183 		}
9184 	}
9185 yy341:
9186 	YYDEBUG(341, *YYCURSOR);
9187 	yyaccept = 2;
9188 	yych = *(YYMARKER = ++YYCURSOR);
9189 	if (yych <= 'S') {
9190 		if (yych <= '-') {
9191 			if (yych == ')') goto yy115;
9192 			if (yych <= ',') goto yy20;
9193 			goto yy297;
9194 		} else {
9195 			if (yych == '/') goto yy297;
9196 			if (yych <= '@') goto yy20;
9197 			goto yy472;
9198 		}
9199 	} else {
9200 		if (yych <= '_') {
9201 			if (yych <= 'T') goto yy518;
9202 			if (yych <= 'Z') goto yy472;
9203 			if (yych <= '^') goto yy20;
9204 			goto yy297;
9205 		} else {
9206 			if (yych <= 's') {
9207 				if (yych <= '`') goto yy20;
9208 				goto yy478;
9209 			} else {
9210 				if (yych <= 't') goto yy519;
9211 				if (yych <= 'z') goto yy478;
9212 				goto yy20;
9213 			}
9214 		}
9215 	}
9216 yy342:
9217 	YYDEBUG(342, *YYCURSOR);
9218 	yyaccept = 7;
9219 	yych = *(YYMARKER = ++YYCURSOR);
9220 	if (yych <= '/') {
9221 		if (yych <= '(') {
9222 			if (yych <= '\t') {
9223 				if (yych <= 0x08) goto yy295;
9224 				goto yy142;
9225 			} else {
9226 				if (yych == ' ') goto yy142;
9227 				goto yy295;
9228 			}
9229 		} else {
9230 			if (yych <= ',') {
9231 				if (yych <= ')') goto yy115;
9232 				goto yy295;
9233 			} else {
9234 				if (yych <= '-') goto yy473;
9235 				if (yych <= '.') goto yy142;
9236 				goto yy295;
9237 			}
9238 		}
9239 	} else {
9240 		if (yych <= 'Z') {
9241 			if (yych <= '@') {
9242 				if (yych <= '9') goto yy142;
9243 				goto yy295;
9244 			} else {
9245 				if (yych == 'C') goto yy520;
9246 				goto yy472;
9247 			}
9248 		} else {
9249 			if (yych <= 'b') {
9250 				if (yych <= '`') goto yy295;
9251 				goto yy472;
9252 			} else {
9253 				if (yych <= 'c') goto yy520;
9254 				if (yych <= 'z') goto yy472;
9255 				goto yy295;
9256 			}
9257 		}
9258 	}
9259 yy343:
9260 	YYDEBUG(343, *YYCURSOR);
9261 	yyaccept = 7;
9262 	yych = *(YYMARKER = ++YYCURSOR);
9263 	if (yych <= '-') {
9264 		if (yych <= ' ') {
9265 			if (yych == '\t') goto yy142;
9266 			if (yych <= 0x1F) goto yy295;
9267 			goto yy142;
9268 		} else {
9269 			if (yych == ')') goto yy115;
9270 			if (yych <= ',') goto yy295;
9271 			goto yy473;
9272 		}
9273 	} else {
9274 		if (yych <= '@') {
9275 			if (yych == '/') goto yy295;
9276 			if (yych <= '9') goto yy142;
9277 			goto yy295;
9278 		} else {
9279 			if (yych <= 'Z') goto yy472;
9280 			if (yych <= '`') goto yy295;
9281 			if (yych <= 'z') goto yy472;
9282 			goto yy295;
9283 		}
9284 	}
9285 yy344:
9286 	YYDEBUG(344, *YYCURSOR);
9287 	yych = *++YYCURSOR;
9288 	if (yych <= 'N') {
9289 		if (yych <= ')') {
9290 			if (yych <= '(') goto yy20;
9291 			goto yy115;
9292 		} else {
9293 			if (yych <= '@') goto yy20;
9294 			if (yych <= 'M') goto yy472;
9295 			goto yy521;
9296 		}
9297 	} else {
9298 		if (yych <= 'm') {
9299 			if (yych <= 'Z') goto yy472;
9300 			if (yych <= '`') goto yy20;
9301 			goto yy472;
9302 		} else {
9303 			if (yych <= 'n') goto yy521;
9304 			if (yych <= 'z') goto yy472;
9305 			goto yy20;
9306 		}
9307 	}
9308 yy345:
9309 	YYDEBUG(345, *YYCURSOR);
9310 	yyaccept = 7;
9311 	yych = *(YYMARKER = ++YYCURSOR);
9312 	if (yych <= '9') {
9313 		if (yych <= '(') {
9314 			if (yych <= '\t') {
9315 				if (yych <= 0x08) goto yy295;
9316 				goto yy142;
9317 			} else {
9318 				if (yych == ' ') goto yy142;
9319 				goto yy295;
9320 			}
9321 		} else {
9322 			if (yych <= '-') {
9323 				if (yych <= ')') goto yy115;
9324 				if (yych <= ',') goto yy295;
9325 				goto yy479;
9326 			} else {
9327 				if (yych == '/') goto yy297;
9328 				goto yy142;
9329 			}
9330 		}
9331 	} else {
9332 		if (yych <= '^') {
9333 			if (yych <= 'B') {
9334 				if (yych <= '@') goto yy295;
9335 				goto yy472;
9336 			} else {
9337 				if (yych <= 'C') goto yy520;
9338 				if (yych <= 'Z') goto yy472;
9339 				goto yy295;
9340 			}
9341 		} else {
9342 			if (yych <= 'b') {
9343 				if (yych <= '_') goto yy297;
9344 				if (yych <= '`') goto yy295;
9345 				goto yy478;
9346 			} else {
9347 				if (yych <= 'c') goto yy522;
9348 				if (yych <= 'z') goto yy478;
9349 				goto yy295;
9350 			}
9351 		}
9352 	}
9353 yy346:
9354 	YYDEBUG(346, *YYCURSOR);
9355 	yyaccept = 7;
9356 	yych = *(YYMARKER = ++YYCURSOR);
9357 	if (yych <= '.') {
9358 		if (yych <= ' ') {
9359 			if (yych == '\t') goto yy142;
9360 			if (yych <= 0x1F) goto yy295;
9361 			goto yy142;
9362 		} else {
9363 			if (yych <= ')') {
9364 				if (yych <= '(') goto yy295;
9365 				goto yy115;
9366 			} else {
9367 				if (yych <= ',') goto yy295;
9368 				if (yych <= '-') goto yy479;
9369 				goto yy142;
9370 			}
9371 		}
9372 	} else {
9373 		if (yych <= 'Z') {
9374 			if (yych <= '/') goto yy297;
9375 			if (yych <= '9') goto yy142;
9376 			if (yych <= '@') goto yy295;
9377 			goto yy472;
9378 		} else {
9379 			if (yych <= '_') {
9380 				if (yych <= '^') goto yy295;
9381 				goto yy297;
9382 			} else {
9383 				if (yych <= '`') goto yy295;
9384 				if (yych <= 'z') goto yy478;
9385 				goto yy295;
9386 			}
9387 		}
9388 	}
9389 yy347:
9390 	YYDEBUG(347, *YYCURSOR);
9391 	yyaccept = 2;
9392 	yych = *(YYMARKER = ++YYCURSOR);
9393 	if (yych <= 'M') {
9394 		if (yych <= '-') {
9395 			if (yych == ')') goto yy115;
9396 			if (yych <= ',') goto yy20;
9397 			goto yy297;
9398 		} else {
9399 			if (yych == '/') goto yy297;
9400 			if (yych <= '@') goto yy20;
9401 			goto yy472;
9402 		}
9403 	} else {
9404 		if (yych <= '_') {
9405 			if (yych <= 'N') goto yy521;
9406 			if (yych <= 'Z') goto yy472;
9407 			if (yych <= '^') goto yy20;
9408 			goto yy297;
9409 		} else {
9410 			if (yych <= 'm') {
9411 				if (yych <= '`') goto yy20;
9412 				goto yy478;
9413 			} else {
9414 				if (yych <= 'n') goto yy523;
9415 				if (yych <= 'z') goto yy478;
9416 				goto yy20;
9417 			}
9418 		}
9419 	}
9420 yy348:
9421 	YYDEBUG(348, *YYCURSOR);
9422 	yych = *++YYCURSOR;
9423 	if (yych <= 'T') {
9424 		if (yych <= ')') {
9425 			if (yych <= '(') goto yy20;
9426 			goto yy115;
9427 		} else {
9428 			if (yych <= '@') goto yy20;
9429 			if (yych <= 'S') goto yy472;
9430 			goto yy524;
9431 		}
9432 	} else {
9433 		if (yych <= 's') {
9434 			if (yych <= 'Z') goto yy472;
9435 			if (yych <= '`') goto yy20;
9436 			goto yy472;
9437 		} else {
9438 			if (yych <= 't') goto yy524;
9439 			if (yych <= 'z') goto yy472;
9440 			goto yy20;
9441 		}
9442 	}
9443 yy349:
9444 	YYDEBUG(349, *YYCURSOR);
9445 	yych = *++YYCURSOR;
9446 	if (yych <= 'N') {
9447 		if (yych <= ')') {
9448 			if (yych <= '(') goto yy20;
9449 			goto yy115;
9450 		} else {
9451 			if (yych <= '@') goto yy20;
9452 			if (yych <= 'M') goto yy472;
9453 			goto yy525;
9454 		}
9455 	} else {
9456 		if (yych <= 'm') {
9457 			if (yych <= 'Z') goto yy472;
9458 			if (yych <= '`') goto yy20;
9459 			goto yy472;
9460 		} else {
9461 			if (yych <= 'n') goto yy525;
9462 			if (yych <= 'z') goto yy472;
9463 			goto yy20;
9464 		}
9465 	}
9466 yy350:
9467 	YYDEBUG(350, *YYCURSOR);
9468 	yych = *++YYCURSOR;
9469 	if (yych <= '@') {
9470 		if (yych == ')') goto yy115;
9471 	} else {
9472 		if (yych <= 'Z') goto yy472;
9473 		if (yych <= '`') goto yy351;
9474 		if (yych <= 'z') goto yy472;
9475 	}
9476 yy351:
9477 	YYDEBUG(351, *YYCURSOR);
9478 #line 1168 "ext/date/lib/parse_date.re"
9479 	{
9480 		DEBUG_OUTPUT("now");
9481 		TIMELIB_INIT;
9482 
9483 		TIMELIB_DEINIT;
9484 		return TIMELIB_RELATIVE;
9485 	}
9486 #line 9487 "<stdout>"
9487 yy352:
9488 	YYDEBUG(352, *YYCURSOR);
9489 	yyaccept = 2;
9490 	yych = *(YYMARKER = ++YYCURSOR);
9491 	if (yych <= 'S') {
9492 		if (yych <= '-') {
9493 			if (yych == ')') goto yy115;
9494 			if (yych <= ',') goto yy20;
9495 			goto yy297;
9496 		} else {
9497 			if (yych == '/') goto yy297;
9498 			if (yych <= '@') goto yy20;
9499 			goto yy472;
9500 		}
9501 	} else {
9502 		if (yych <= '_') {
9503 			if (yych <= 'T') goto yy524;
9504 			if (yych <= 'Z') goto yy472;
9505 			if (yych <= '^') goto yy20;
9506 			goto yy297;
9507 		} else {
9508 			if (yych <= 's') {
9509 				if (yych <= '`') goto yy20;
9510 				goto yy478;
9511 			} else {
9512 				if (yych <= 't') goto yy527;
9513 				if (yych <= 'z') goto yy478;
9514 				goto yy20;
9515 			}
9516 		}
9517 	}
9518 yy353:
9519 	YYDEBUG(353, *YYCURSOR);
9520 	yyaccept = 2;
9521 	yych = *(YYMARKER = ++YYCURSOR);
9522 	if (yych <= 'M') {
9523 		if (yych <= '-') {
9524 			if (yych == ')') goto yy115;
9525 			if (yych <= ',') goto yy20;
9526 			goto yy297;
9527 		} else {
9528 			if (yych == '/') goto yy297;
9529 			if (yych <= '@') goto yy20;
9530 			goto yy472;
9531 		}
9532 	} else {
9533 		if (yych <= '_') {
9534 			if (yych <= 'N') goto yy525;
9535 			if (yych <= 'Z') goto yy472;
9536 			if (yych <= '^') goto yy20;
9537 			goto yy297;
9538 		} else {
9539 			if (yych <= 'm') {
9540 				if (yych <= '`') goto yy20;
9541 				goto yy478;
9542 			} else {
9543 				if (yych <= 'n') goto yy528;
9544 				if (yych <= 'z') goto yy478;
9545 				goto yy20;
9546 			}
9547 		}
9548 	}
9549 yy354:
9550 	YYDEBUG(354, *YYCURSOR);
9551 	yyaccept = 11;
9552 	yych = *(YYMARKER = ++YYCURSOR);
9553 	if (yych <= '/') {
9554 		if (yych <= ',') {
9555 			if (yych == ')') goto yy115;
9556 			goto yy351;
9557 		} else {
9558 			if (yych == '.') goto yy351;
9559 			goto yy297;
9560 		}
9561 	} else {
9562 		if (yych <= '^') {
9563 			if (yych <= '@') goto yy351;
9564 			if (yych <= 'Z') goto yy472;
9565 			goto yy351;
9566 		} else {
9567 			if (yych <= '_') goto yy297;
9568 			if (yych <= '`') goto yy351;
9569 			if (yych <= 'z') goto yy478;
9570 			goto yy351;
9571 		}
9572 	}
9573 yy355:
9574 	YYDEBUG(355, *YYCURSOR);
9575 	yyaccept = 7;
9576 	yych = *(YYMARKER = ++YYCURSOR);
9577 	if (yych <= '/') {
9578 		if (yych <= '(') {
9579 			if (yych <= '\t') {
9580 				if (yych <= 0x08) goto yy295;
9581 				goto yy142;
9582 			} else {
9583 				if (yych == ' ') goto yy142;
9584 				goto yy295;
9585 			}
9586 		} else {
9587 			if (yych <= ',') {
9588 				if (yych <= ')') goto yy115;
9589 				goto yy295;
9590 			} else {
9591 				if (yych <= '-') goto yy473;
9592 				if (yych <= '.') goto yy142;
9593 				goto yy295;
9594 			}
9595 		}
9596 	} else {
9597 		if (yych <= 'Z') {
9598 			if (yych <= '@') {
9599 				if (yych <= '9') goto yy142;
9600 				goto yy295;
9601 			} else {
9602 				if (yych == 'O') goto yy529;
9603 				goto yy472;
9604 			}
9605 		} else {
9606 			if (yych <= 'n') {
9607 				if (yych <= '`') goto yy295;
9608 				goto yy472;
9609 			} else {
9610 				if (yych <= 'o') goto yy529;
9611 				if (yych <= 'z') goto yy472;
9612 				goto yy295;
9613 			}
9614 		}
9615 	}
9616 yy356:
9617 	YYDEBUG(356, *YYCURSOR);
9618 	yyaccept = 7;
9619 	yych = *(YYMARKER = ++YYCURSOR);
9620 	if (yych <= '9') {
9621 		if (yych <= '(') {
9622 			if (yych <= '\t') {
9623 				if (yych <= 0x08) goto yy295;
9624 				goto yy142;
9625 			} else {
9626 				if (yych == ' ') goto yy142;
9627 				goto yy295;
9628 			}
9629 		} else {
9630 			if (yych <= '-') {
9631 				if (yych <= ')') goto yy115;
9632 				if (yych <= ',') goto yy295;
9633 				goto yy479;
9634 			} else {
9635 				if (yych == '/') goto yy297;
9636 				goto yy142;
9637 			}
9638 		}
9639 	} else {
9640 		if (yych <= '^') {
9641 			if (yych <= 'N') {
9642 				if (yych <= '@') goto yy295;
9643 				goto yy472;
9644 			} else {
9645 				if (yych <= 'O') goto yy529;
9646 				if (yych <= 'Z') goto yy472;
9647 				goto yy295;
9648 			}
9649 		} else {
9650 			if (yych <= 'n') {
9651 				if (yych <= '_') goto yy297;
9652 				if (yych <= '`') goto yy295;
9653 				goto yy478;
9654 			} else {
9655 				if (yych <= 'o') goto yy530;
9656 				if (yych <= 'z') goto yy478;
9657 				goto yy295;
9658 			}
9659 		}
9660 	}
9661 yy357:
9662 	YYDEBUG(357, *YYCURSOR);
9663 	yych = *++YYCURSOR;
9664 	if (yych <= 'V') {
9665 		if (yych <= ')') {
9666 			if (yych <= '(') goto yy20;
9667 			goto yy115;
9668 		} else {
9669 			if (yych <= '@') goto yy20;
9670 			if (yych <= 'U') goto yy472;
9671 			goto yy531;
9672 		}
9673 	} else {
9674 		if (yych <= 'u') {
9675 			if (yych <= 'Z') goto yy472;
9676 			if (yych <= '`') goto yy20;
9677 			goto yy472;
9678 		} else {
9679 			if (yych <= 'v') goto yy531;
9680 			if (yych <= 'z') goto yy472;
9681 			goto yy20;
9682 		}
9683 	}
9684 yy358:
9685 	YYDEBUG(358, *YYCURSOR);
9686 	yyaccept = 2;
9687 	yych = *(YYMARKER = ++YYCURSOR);
9688 	if (yych <= 'U') {
9689 		if (yych <= '-') {
9690 			if (yych == ')') goto yy115;
9691 			if (yych <= ',') goto yy20;
9692 			goto yy297;
9693 		} else {
9694 			if (yych == '/') goto yy297;
9695 			if (yych <= '@') goto yy20;
9696 			goto yy472;
9697 		}
9698 	} else {
9699 		if (yych <= '_') {
9700 			if (yych <= 'V') goto yy531;
9701 			if (yych <= 'Z') goto yy472;
9702 			if (yych <= '^') goto yy20;
9703 			goto yy297;
9704 		} else {
9705 			if (yych <= 'u') {
9706 				if (yych <= '`') goto yy20;
9707 				goto yy478;
9708 			} else {
9709 				if (yych <= 'v') goto yy532;
9710 				if (yych <= 'z') goto yy478;
9711 				goto yy20;
9712 			}
9713 		}
9714 	}
9715 yy359:
9716 	YYDEBUG(359, *YYCURSOR);
9717 	yych = *++YYCURSOR;
9718 	if (yych <= 'U') {
9719 		if (yych <= ')') {
9720 			if (yych <= '(') goto yy315;
9721 			goto yy115;
9722 		} else {
9723 			if (yych <= '@') goto yy315;
9724 			if (yych <= 'T') goto yy472;
9725 			goto yy533;
9726 		}
9727 	} else {
9728 		if (yych <= 't') {
9729 			if (yych <= 'Z') goto yy472;
9730 			if (yych <= '`') goto yy315;
9731 			goto yy472;
9732 		} else {
9733 			if (yych <= 'u') goto yy533;
9734 			if (yych <= 'z') goto yy472;
9735 			goto yy315;
9736 		}
9737 	}
9738 yy360:
9739 	YYDEBUG(360, *YYCURSOR);
9740 	yych = *++YYCURSOR;
9741 	if (yych <= 'O') {
9742 		if (yych <= ')') {
9743 			if (yych <= '(') goto yy20;
9744 			goto yy115;
9745 		} else {
9746 			if (yych <= '@') goto yy20;
9747 			if (yych <= 'N') goto yy472;
9748 			goto yy534;
9749 		}
9750 	} else {
9751 		if (yych <= 'n') {
9752 			if (yych <= 'Z') goto yy472;
9753 			if (yych <= '`') goto yy20;
9754 			goto yy472;
9755 		} else {
9756 			if (yych <= 'o') goto yy534;
9757 			if (yych <= 'z') goto yy472;
9758 			goto yy20;
9759 		}
9760 	}
9761 yy361:
9762 	YYDEBUG(361, *YYCURSOR);
9763 	yyaccept = 7;
9764 	yych = *(YYMARKER = ++YYCURSOR);
9765 	if (yych <= '/') {
9766 		if (yych <= '(') {
9767 			if (yych <= '\t') {
9768 				if (yych <= 0x08) goto yy295;
9769 				goto yy142;
9770 			} else {
9771 				if (yych == ' ') goto yy142;
9772 				goto yy295;
9773 			}
9774 		} else {
9775 			if (yych <= ',') {
9776 				if (yych <= ')') goto yy115;
9777 				goto yy295;
9778 			} else {
9779 				if (yych <= '-') goto yy473;
9780 				if (yych <= '.') goto yy142;
9781 				goto yy295;
9782 			}
9783 		}
9784 	} else {
9785 		if (yych <= 'Z') {
9786 			if (yych <= '@') {
9787 				if (yych <= '9') goto yy142;
9788 				goto yy295;
9789 			} else {
9790 				if (yych == 'T') goto yy535;
9791 				goto yy472;
9792 			}
9793 		} else {
9794 			if (yych <= 's') {
9795 				if (yych <= '`') goto yy295;
9796 				goto yy472;
9797 			} else {
9798 				if (yych <= 't') goto yy535;
9799 				if (yych <= 'z') goto yy472;
9800 				goto yy295;
9801 			}
9802 		}
9803 	}
9804 yy362:
9805 	YYDEBUG(362, *YYCURSOR);
9806 	yych = *++YYCURSOR;
9807 	if (yych <= 'E') {
9808 		if (yych <= ')') {
9809 			if (yych <= '(') goto yy20;
9810 			goto yy115;
9811 		} else {
9812 			if (yych <= '@') goto yy20;
9813 			if (yych <= 'D') goto yy472;
9814 			goto yy536;
9815 		}
9816 	} else {
9817 		if (yych <= 'd') {
9818 			if (yych <= 'Z') goto yy472;
9819 			if (yych <= '`') goto yy20;
9820 			goto yy472;
9821 		} else {
9822 			if (yych <= 'e') goto yy536;
9823 			if (yych <= 'z') goto yy472;
9824 			goto yy20;
9825 		}
9826 	}
9827 yy363:
9828 	YYDEBUG(363, *YYCURSOR);
9829 	yyaccept = 9;
9830 	yych = *(YYMARKER = ++YYCURSOR);
9831 	if (yych <= 'T') {
9832 		if (yych <= '-') {
9833 			if (yych == ')') goto yy115;
9834 			if (yych <= ',') goto yy315;
9835 			goto yy297;
9836 		} else {
9837 			if (yych == '/') goto yy297;
9838 			if (yych <= '@') goto yy315;
9839 			goto yy472;
9840 		}
9841 	} else {
9842 		if (yych <= '_') {
9843 			if (yych <= 'U') goto yy533;
9844 			if (yych <= 'Z') goto yy472;
9845 			if (yych <= '^') goto yy315;
9846 			goto yy297;
9847 		} else {
9848 			if (yych <= 't') {
9849 				if (yych <= '`') goto yy315;
9850 				goto yy478;
9851 			} else {
9852 				if (yych <= 'u') goto yy537;
9853 				if (yych <= 'z') goto yy478;
9854 				goto yy315;
9855 			}
9856 		}
9857 	}
9858 yy364:
9859 	YYDEBUG(364, *YYCURSOR);
9860 	yyaccept = 2;
9861 	yych = *(YYMARKER = ++YYCURSOR);
9862 	if (yych <= 'N') {
9863 		if (yych <= '-') {
9864 			if (yych == ')') goto yy115;
9865 			if (yych <= ',') goto yy20;
9866 			goto yy297;
9867 		} else {
9868 			if (yych == '/') goto yy297;
9869 			if (yych <= '@') goto yy20;
9870 			goto yy472;
9871 		}
9872 	} else {
9873 		if (yych <= '_') {
9874 			if (yych <= 'O') goto yy534;
9875 			if (yych <= 'Z') goto yy472;
9876 			if (yych <= '^') goto yy20;
9877 			goto yy297;
9878 		} else {
9879 			if (yych <= 'n') {
9880 				if (yych <= '`') goto yy20;
9881 				goto yy478;
9882 			} else {
9883 				if (yych <= 'o') goto yy538;
9884 				if (yych <= 'z') goto yy478;
9885 				goto yy20;
9886 			}
9887 		}
9888 	}
9889 yy365:
9890 	YYDEBUG(365, *YYCURSOR);
9891 	yyaccept = 7;
9892 	yych = *(YYMARKER = ++YYCURSOR);
9893 	if (yych <= '9') {
9894 		if (yych <= '(') {
9895 			if (yych <= '\t') {
9896 				if (yych <= 0x08) goto yy295;
9897 				goto yy142;
9898 			} else {
9899 				if (yych == ' ') goto yy142;
9900 				goto yy295;
9901 			}
9902 		} else {
9903 			if (yych <= '-') {
9904 				if (yych <= ')') goto yy115;
9905 				if (yych <= ',') goto yy295;
9906 				goto yy479;
9907 			} else {
9908 				if (yych == '/') goto yy297;
9909 				goto yy142;
9910 			}
9911 		}
9912 	} else {
9913 		if (yych <= '^') {
9914 			if (yych <= 'S') {
9915 				if (yych <= '@') goto yy295;
9916 				goto yy472;
9917 			} else {
9918 				if (yych <= 'T') goto yy535;
9919 				if (yych <= 'Z') goto yy472;
9920 				goto yy295;
9921 			}
9922 		} else {
9923 			if (yych <= 's') {
9924 				if (yych <= '_') goto yy297;
9925 				if (yych <= '`') goto yy295;
9926 				goto yy478;
9927 			} else {
9928 				if (yych <= 't') goto yy539;
9929 				if (yych <= 'z') goto yy478;
9930 				goto yy295;
9931 			}
9932 		}
9933 	}
9934 yy366:
9935 	YYDEBUG(366, *YYCURSOR);
9936 	yyaccept = 2;
9937 	yych = *(YYMARKER = ++YYCURSOR);
9938 	if (yych <= 'D') {
9939 		if (yych <= '-') {
9940 			if (yych == ')') goto yy115;
9941 			if (yych <= ',') goto yy20;
9942 			goto yy297;
9943 		} else {
9944 			if (yych == '/') goto yy297;
9945 			if (yych <= '@') goto yy20;
9946 			goto yy472;
9947 		}
9948 	} else {
9949 		if (yych <= '_') {
9950 			if (yych <= 'E') goto yy536;
9951 			if (yych <= 'Z') goto yy472;
9952 			if (yych <= '^') goto yy20;
9953 			goto yy297;
9954 		} else {
9955 			if (yych <= 'd') {
9956 				if (yych <= '`') goto yy20;
9957 				goto yy478;
9958 			} else {
9959 				if (yych <= 'e') goto yy540;
9960 				if (yych <= 'z') goto yy478;
9961 				goto yy20;
9962 			}
9963 		}
9964 	}
9965 yy367:
9966 	YYDEBUG(367, *YYCURSOR);
9967 	yyaccept = 4;
9968 	yych = *(YYMARKER = ++YYCURSOR);
9969 	if (yych <= '/') {
9970 		if (yych == '.') goto yy75;
9971 		goto yy177;
9972 	} else {
9973 		if (yych <= '5') goto yy541;
9974 		if (yych == ':') goto yy75;
9975 		goto yy177;
9976 	}
9977 yy368:
9978 	YYDEBUG(368, *YYCURSOR);
9979 	yych = *++YYCURSOR;
9980 	if (yych <= 'S') {
9981 		if (yych <= '@') {
9982 			if (yych == ')') goto yy115;
9983 			goto yy20;
9984 		} else {
9985 			if (yych <= 'Q') goto yy472;
9986 			if (yych <= 'R') goto yy542;
9987 			goto yy524;
9988 		}
9989 	} else {
9990 		if (yych <= 'q') {
9991 			if (yych <= 'Z') goto yy472;
9992 			if (yych <= '`') goto yy20;
9993 			goto yy472;
9994 		} else {
9995 			if (yych <= 'r') goto yy542;
9996 			if (yych <= 's') goto yy524;
9997 			if (yych <= 'z') goto yy472;
9998 			goto yy20;
9999 		}
10000 	}
10001 yy369:
10002 	YYDEBUG(369, *YYCURSOR);
10003 	yych = *++YYCURSOR;
10004 	if (yych <= 'R') {
10005 		if (yych <= ')') {
10006 			if (yych <= '(') goto yy315;
10007 			goto yy115;
10008 		} else {
10009 			if (yych <= '@') goto yy315;
10010 			if (yych <= 'Q') goto yy472;
10011 			goto yy543;
10012 		}
10013 	} else {
10014 		if (yych <= 'q') {
10015 			if (yych <= 'Z') goto yy472;
10016 			if (yych <= '`') goto yy315;
10017 			goto yy472;
10018 		} else {
10019 			if (yych <= 'r') goto yy543;
10020 			if (yych <= 'z') goto yy472;
10021 			goto yy315;
10022 		}
10023 	}
10024 yy370:
10025 	YYDEBUG(370, *YYCURSOR);
10026 	yych = *++YYCURSOR;
10027 	if (yych <= 'A') {
10028 		if (yych == ')') goto yy115;
10029 		if (yych <= '@') goto yy20;
10030 		goto yy544;
10031 	} else {
10032 		if (yych <= '`') {
10033 			if (yych <= 'Z') goto yy472;
10034 			goto yy20;
10035 		} else {
10036 			if (yych <= 'a') goto yy544;
10037 			if (yych <= 'z') goto yy472;
10038 			goto yy20;
10039 		}
10040 	}
10041 yy371:
10042 	YYDEBUG(371, *YYCURSOR);
10043 	yych = *++YYCURSOR;
10044 	if (yych <= 'O') {
10045 		if (yych <= ')') {
10046 			if (yych <= '(') goto yy20;
10047 			goto yy115;
10048 		} else {
10049 			if (yych <= '@') goto yy20;
10050 			if (yych <= 'N') goto yy472;
10051 			goto yy545;
10052 		}
10053 	} else {
10054 		if (yych <= 'n') {
10055 			if (yych <= 'Z') goto yy472;
10056 			if (yych <= '`') goto yy20;
10057 			goto yy472;
10058 		} else {
10059 			if (yych <= 'o') goto yy545;
10060 			if (yych <= 'z') goto yy472;
10061 			goto yy20;
10062 		}
10063 	}
10064 yy372:
10065 	YYDEBUG(372, *YYCURSOR);
10066 	yych = *++YYCURSOR;
10067 	if (yych <= 'S') {
10068 		if (yych <= ')') {
10069 			if (yych <= '(') goto yy315;
10070 			goto yy115;
10071 		} else {
10072 			if (yych <= '@') goto yy315;
10073 			if (yych <= 'R') goto yy472;
10074 			goto yy546;
10075 		}
10076 	} else {
10077 		if (yych <= 'r') {
10078 			if (yych <= 'Z') goto yy472;
10079 			if (yych <= '`') goto yy315;
10080 			goto yy472;
10081 		} else {
10082 			if (yych <= 's') goto yy546;
10083 			if (yych <= 'z') goto yy472;
10084 			goto yy315;
10085 		}
10086 	}
10087 yy373:
10088 	YYDEBUG(373, *YYCURSOR);
10089 	yych = *++YYCURSOR;
10090 	if (yych <= 'L') {
10091 		if (yych <= ')') {
10092 			if (yych <= '(') goto yy20;
10093 			goto yy115;
10094 		} else {
10095 			if (yych <= '@') goto yy20;
10096 			if (yych <= 'K') goto yy472;
10097 			goto yy547;
10098 		}
10099 	} else {
10100 		if (yych <= 'k') {
10101 			if (yych <= 'Z') goto yy472;
10102 			if (yych <= '`') goto yy20;
10103 			goto yy472;
10104 		} else {
10105 			if (yych <= 'l') goto yy547;
10106 			if (yych <= 'z') goto yy472;
10107 			goto yy20;
10108 		}
10109 	}
10110 yy374:
10111 	YYDEBUG(374, *YYCURSOR);
10112 	yyaccept = 2;
10113 	yych = *(YYMARKER = ++YYCURSOR);
10114 	if (yych <= 'R') {
10115 		if (yych <= '-') {
10116 			if (yych == ')') goto yy115;
10117 			if (yych <= ',') goto yy20;
10118 			goto yy297;
10119 		} else {
10120 			if (yych <= '/') {
10121 				if (yych <= '.') goto yy20;
10122 				goto yy297;
10123 			} else {
10124 				if (yych <= '@') goto yy20;
10125 				if (yych <= 'Q') goto yy472;
10126 				goto yy542;
10127 			}
10128 		}
10129 	} else {
10130 		if (yych <= '`') {
10131 			if (yych <= 'Z') {
10132 				if (yych <= 'S') goto yy524;
10133 				goto yy472;
10134 			} else {
10135 				if (yych == '_') goto yy297;
10136 				goto yy20;
10137 			}
10138 		} else {
10139 			if (yych <= 'r') {
10140 				if (yych <= 'q') goto yy478;
10141 				goto yy548;
10142 			} else {
10143 				if (yych <= 's') goto yy527;
10144 				if (yych <= 'z') goto yy478;
10145 				goto yy20;
10146 			}
10147 		}
10148 	}
10149 yy375:
10150 	YYDEBUG(375, *YYCURSOR);
10151 	yyaccept = 9;
10152 	yych = *(YYMARKER = ++YYCURSOR);
10153 	if (yych <= 'Q') {
10154 		if (yych <= '-') {
10155 			if (yych == ')') goto yy115;
10156 			if (yych <= ',') goto yy315;
10157 			goto yy297;
10158 		} else {
10159 			if (yych == '/') goto yy297;
10160 			if (yych <= '@') goto yy315;
10161 			goto yy472;
10162 		}
10163 	} else {
10164 		if (yych <= '_') {
10165 			if (yych <= 'R') goto yy543;
10166 			if (yych <= 'Z') goto yy472;
10167 			if (yych <= '^') goto yy315;
10168 			goto yy297;
10169 		} else {
10170 			if (yych <= 'q') {
10171 				if (yych <= '`') goto yy315;
10172 				goto yy478;
10173 			} else {
10174 				if (yych <= 'r') goto yy549;
10175 				if (yych <= 'z') goto yy478;
10176 				goto yy315;
10177 			}
10178 		}
10179 	}
10180 yy376:
10181 	YYDEBUG(376, *YYCURSOR);
10182 	yyaccept = 2;
10183 	yych = *(YYMARKER = ++YYCURSOR);
10184 	if (yych <= '@') {
10185 		if (yych <= ',') {
10186 			if (yych == ')') goto yy115;
10187 			goto yy20;
10188 		} else {
10189 			if (yych == '.') goto yy20;
10190 			if (yych <= '/') goto yy297;
10191 			goto yy20;
10192 		}
10193 	} else {
10194 		if (yych <= '_') {
10195 			if (yych <= 'A') goto yy544;
10196 			if (yych <= 'Z') goto yy472;
10197 			if (yych <= '^') goto yy20;
10198 			goto yy297;
10199 		} else {
10200 			if (yych <= '`') goto yy20;
10201 			if (yych <= 'a') goto yy550;
10202 			if (yych <= 'z') goto yy478;
10203 			goto yy20;
10204 		}
10205 	}
10206 yy377:
10207 	YYDEBUG(377, *YYCURSOR);
10208 	yyaccept = 2;
10209 	yych = *(YYMARKER = ++YYCURSOR);
10210 	if (yych <= 'N') {
10211 		if (yych <= '-') {
10212 			if (yych == ')') goto yy115;
10213 			if (yych <= ',') goto yy20;
10214 			goto yy297;
10215 		} else {
10216 			if (yych == '/') goto yy297;
10217 			if (yych <= '@') goto yy20;
10218 			goto yy472;
10219 		}
10220 	} else {
10221 		if (yych <= '_') {
10222 			if (yych <= 'O') goto yy545;
10223 			if (yych <= 'Z') goto yy472;
10224 			if (yych <= '^') goto yy20;
10225 			goto yy297;
10226 		} else {
10227 			if (yych <= 'n') {
10228 				if (yych <= '`') goto yy20;
10229 				goto yy478;
10230 			} else {
10231 				if (yych <= 'o') goto yy551;
10232 				if (yych <= 'z') goto yy478;
10233 				goto yy20;
10234 			}
10235 		}
10236 	}
10237 yy378:
10238 	YYDEBUG(378, *YYCURSOR);
10239 	yyaccept = 9;
10240 	yych = *(YYMARKER = ++YYCURSOR);
10241 	if (yych <= 'R') {
10242 		if (yych <= '-') {
10243 			if (yych == ')') goto yy115;
10244 			if (yych <= ',') goto yy315;
10245 			goto yy297;
10246 		} else {
10247 			if (yych == '/') goto yy297;
10248 			if (yych <= '@') goto yy315;
10249 			goto yy472;
10250 		}
10251 	} else {
10252 		if (yych <= '_') {
10253 			if (yych <= 'S') goto yy546;
10254 			if (yych <= 'Z') goto yy472;
10255 			if (yych <= '^') goto yy315;
10256 			goto yy297;
10257 		} else {
10258 			if (yych <= 'r') {
10259 				if (yych <= '`') goto yy315;
10260 				goto yy478;
10261 			} else {
10262 				if (yych <= 's') goto yy552;
10263 				if (yych <= 'z') goto yy478;
10264 				goto yy315;
10265 			}
10266 		}
10267 	}
10268 yy379:
10269 	YYDEBUG(379, *YYCURSOR);
10270 	yyaccept = 2;
10271 	yych = *(YYMARKER = ++YYCURSOR);
10272 	if (yych <= 'K') {
10273 		if (yych <= '-') {
10274 			if (yych == ')') goto yy115;
10275 			if (yych <= ',') goto yy20;
10276 			goto yy297;
10277 		} else {
10278 			if (yych == '/') goto yy297;
10279 			if (yych <= '@') goto yy20;
10280 			goto yy472;
10281 		}
10282 	} else {
10283 		if (yych <= '_') {
10284 			if (yych <= 'L') goto yy547;
10285 			if (yych <= 'Z') goto yy472;
10286 			if (yych <= '^') goto yy20;
10287 			goto yy297;
10288 		} else {
10289 			if (yych <= 'k') {
10290 				if (yych <= '`') goto yy20;
10291 				goto yy478;
10292 			} else {
10293 				if (yych <= 'l') goto yy553;
10294 				if (yych <= 'z') goto yy478;
10295 				goto yy20;
10296 			}
10297 		}
10298 	}
10299 yy380:
10300 	YYDEBUG(380, *YYCURSOR);
10301 	yyaccept = 2;
10302 	yych = *(YYMARKER = ++YYCURSOR);
10303 	if (yych <= '.') {
10304 		if (yych <= ' ') {
10305 			if (yych == '\t') goto yy142;
10306 			if (yych <= 0x1F) goto yy20;
10307 			goto yy142;
10308 		} else {
10309 			if (yych == ')') goto yy115;
10310 			if (yych <= ',') goto yy20;
10311 			goto yy142;
10312 		}
10313 	} else {
10314 		if (yych <= 'H') {
10315 			if (yych <= '/') goto yy20;
10316 			if (yych <= '9') goto yy142;
10317 			if (yych <= '@') goto yy20;
10318 			goto yy472;
10319 		} else {
10320 			if (yych <= 'Z') {
10321 				if (yych <= 'I') goto yy554;
10322 				goto yy472;
10323 			} else {
10324 				if (yych <= '`') goto yy20;
10325 				if (yych <= 'z') goto yy472;
10326 				goto yy20;
10327 			}
10328 		}
10329 	}
10330 yy381:
10331 	YYDEBUG(381, *YYCURSOR);
10332 	yych = *++YYCURSOR;
10333 	if (yych <= 'N') {
10334 		if (yych <= ')') {
10335 			if (yych <= '(') goto yy315;
10336 			goto yy115;
10337 		} else {
10338 			if (yych <= '@') goto yy315;
10339 			if (yych <= 'M') goto yy472;
10340 			goto yy555;
10341 		}
10342 	} else {
10343 		if (yych <= 'm') {
10344 			if (yych <= 'Z') goto yy472;
10345 			if (yych <= '`') goto yy315;
10346 			goto yy472;
10347 		} else {
10348 			if (yych <= 'n') goto yy555;
10349 			if (yych <= 'z') goto yy472;
10350 			goto yy315;
10351 		}
10352 	}
10353 yy382:
10354 	YYDEBUG(382, *YYCURSOR);
10355 	yych = *++YYCURSOR;
10356 	if (yych <= 'K') {
10357 		if (yych <= ')') {
10358 			if (yych <= '(') goto yy20;
10359 			goto yy115;
10360 		} else {
10361 			if (yych <= '@') goto yy20;
10362 			if (yych <= 'J') goto yy472;
10363 			goto yy546;
10364 		}
10365 	} else {
10366 		if (yych <= 'j') {
10367 			if (yych <= 'Z') goto yy472;
10368 			if (yych <= '`') goto yy20;
10369 			goto yy472;
10370 		} else {
10371 			if (yych <= 'k') goto yy546;
10372 			if (yych <= 'z') goto yy472;
10373 			goto yy20;
10374 		}
10375 	}
10376 yy383:
10377 	YYDEBUG(383, *YYCURSOR);
10378 	yyaccept = 9;
10379 	yych = *(YYMARKER = ++YYCURSOR);
10380 	if (yych <= 'M') {
10381 		if (yych <= '-') {
10382 			if (yych == ')') goto yy115;
10383 			if (yych <= ',') goto yy315;
10384 			goto yy297;
10385 		} else {
10386 			if (yych == '/') goto yy297;
10387 			if (yych <= '@') goto yy315;
10388 			goto yy472;
10389 		}
10390 	} else {
10391 		if (yych <= '_') {
10392 			if (yych <= 'N') goto yy555;
10393 			if (yych <= 'Z') goto yy472;
10394 			if (yych <= '^') goto yy315;
10395 			goto yy297;
10396 		} else {
10397 			if (yych <= 'm') {
10398 				if (yych <= '`') goto yy315;
10399 				goto yy478;
10400 			} else {
10401 				if (yych <= 'n') goto yy556;
10402 				if (yych <= 'z') goto yy478;
10403 				goto yy315;
10404 			}
10405 		}
10406 	}
10407 yy384:
10408 	YYDEBUG(384, *YYCURSOR);
10409 	yyaccept = 2;
10410 	yych = *(YYMARKER = ++YYCURSOR);
10411 	if (yych <= 'J') {
10412 		if (yych <= '-') {
10413 			if (yych == ')') goto yy115;
10414 			if (yych <= ',') goto yy20;
10415 			goto yy297;
10416 		} else {
10417 			if (yych == '/') goto yy297;
10418 			if (yych <= '@') goto yy20;
10419 			goto yy472;
10420 		}
10421 	} else {
10422 		if (yych <= '_') {
10423 			if (yych <= 'K') goto yy546;
10424 			if (yych <= 'Z') goto yy472;
10425 			if (yych <= '^') goto yy20;
10426 			goto yy297;
10427 		} else {
10428 			if (yych <= 'j') {
10429 				if (yych <= '`') goto yy20;
10430 				goto yy478;
10431 			} else {
10432 				if (yych <= 'k') goto yy552;
10433 				if (yych <= 'z') goto yy478;
10434 				goto yy20;
10435 			}
10436 		}
10437 	}
10438 yy385:
10439 	YYDEBUG(385, *YYCURSOR);
10440 	yych = *++YYCURSOR;
10441 	if (yych <= 'T') {
10442 		if (yych <= ')') {
10443 			if (yych <= '(') goto yy20;
10444 			goto yy115;
10445 		} else {
10446 			if (yych <= '@') goto yy20;
10447 			if (yych <= 'S') goto yy472;
10448 			goto yy557;
10449 		}
10450 	} else {
10451 		if (yych <= 's') {
10452 			if (yych <= 'Z') goto yy472;
10453 			if (yych <= '`') goto yy20;
10454 			goto yy472;
10455 		} else {
10456 			if (yych <= 't') goto yy557;
10457 			if (yych <= 'z') goto yy472;
10458 			goto yy20;
10459 		}
10460 	}
10461 yy386:
10462 	YYDEBUG(386, *YYCURSOR);
10463 	yyaccept = 2;
10464 	yych = *(YYMARKER = ++YYCURSOR);
10465 	if (yych <= 'S') {
10466 		if (yych <= '-') {
10467 			if (yych == ')') goto yy115;
10468 			if (yych <= ',') goto yy20;
10469 			goto yy297;
10470 		} else {
10471 			if (yych == '/') goto yy297;
10472 			if (yych <= '@') goto yy20;
10473 			goto yy472;
10474 		}
10475 	} else {
10476 		if (yych <= '_') {
10477 			if (yych <= 'T') goto yy557;
10478 			if (yych <= 'Z') goto yy472;
10479 			if (yych <= '^') goto yy20;
10480 			goto yy297;
10481 		} else {
10482 			if (yych <= 's') {
10483 				if (yych <= '`') goto yy20;
10484 				goto yy478;
10485 			} else {
10486 				if (yych <= 't') goto yy558;
10487 				if (yych <= 'z') goto yy478;
10488 				goto yy20;
10489 			}
10490 		}
10491 	}
10492 yy387:
10493 	YYDEBUG(387, *YYCURSOR);
10494 	++YYCURSOR;
10495 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
10496 	yych = *YYCURSOR;
10497 	if (yych == 0xA0) goto yy193;
10498 	goto yy59;
10499 yy388:
10500 	YYDEBUG(388, *YYCURSOR);
10501 	yyaccept = 0;
10502 	YYMARKER = ++YYCURSOR;
10503 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
10504 	yych = *YYCURSOR;
10505 	if (yych == 0xE2) goto yy559;
10506 	goto yy8;
10507 yy389:
10508 	YYDEBUG(389, *YYCURSOR);
10509 	yych = *++YYCURSOR;
10510 	if (yych <= 0xC1) {
10511 		if (yych <= '/') goto yy196;
10512 		if (yych <= '9') goto yy560;
10513 		goto yy196;
10514 	} else {
10515 		if (yych <= 0xC2) goto yy97;
10516 		if (yych == 0xE2) goto yy98;
10517 		goto yy196;
10518 	}
10519 yy390:
10520 	YYDEBUG(390, *YYCURSOR);
10521 	yych = *++YYCURSOR;
10522 	if (yych == 'C') goto yy443;
10523 	if (yych == 'c') goto yy443;
10524 	goto yy59;
10525 yy391:
10526 	YYDEBUG(391, *YYCURSOR);
10527 	yyaccept = 2;
10528 	yych = *(YYMARKER = ++YYCURSOR);
10529 	if (yych <= 'X') {
10530 		if (yych <= 'E') {
10531 			if (yych <= ' ') {
10532 				if (yych == '\t') goto yy196;
10533 				if (yych <= 0x1F) goto yy20;
10534 				goto yy196;
10535 			} else {
10536 				if (yych <= '9') {
10537 					if (yych <= '/') goto yy20;
10538 					goto yy561;
10539 				} else {
10540 					if (yych == 'D') goto yy196;
10541 					goto yy20;
10542 				}
10543 			}
10544 		} else {
10545 			if (yych <= 'M') {
10546 				if (yych <= 'G') {
10547 					if (yych <= 'F') goto yy196;
10548 					goto yy20;
10549 				} else {
10550 					if (yych <= 'H') goto yy196;
10551 					if (yych <= 'L') goto yy20;
10552 					goto yy196;
10553 				}
10554 			} else {
10555 				if (yych <= 'U') {
10556 					if (yych <= 'R') goto yy20;
10557 					goto yy196;
10558 				} else {
10559 					if (yych == 'W') goto yy196;
10560 					goto yy20;
10561 				}
10562 			}
10563 		}
10564 	} else {
10565 		if (yych <= 'r') {
10566 			if (yych <= 'f') {
10567 				if (yych <= 'c') {
10568 					if (yych <= 'Y') goto yy196;
10569 					goto yy20;
10570 				} else {
10571 					if (yych == 'e') goto yy20;
10572 					goto yy196;
10573 				}
10574 			} else {
10575 				if (yych <= 'h') {
10576 					if (yych <= 'g') goto yy20;
10577 					goto yy196;
10578 				} else {
10579 					if (yych == 'm') goto yy196;
10580 					goto yy20;
10581 				}
10582 			}
10583 		} else {
10584 			if (yych <= 'y') {
10585 				if (yych <= 'v') {
10586 					if (yych <= 'u') goto yy196;
10587 					goto yy20;
10588 				} else {
10589 					if (yych == 'x') goto yy20;
10590 					goto yy196;
10591 				}
10592 			} else {
10593 				if (yych <= 0xC2) {
10594 					if (yych <= 0xC1) goto yy20;
10595 					goto yy97;
10596 				} else {
10597 					if (yych == 0xE2) goto yy98;
10598 					goto yy20;
10599 				}
10600 			}
10601 		}
10602 	}
10603 yy392:
10604 	YYDEBUG(392, *YYCURSOR);
10605 	yyaccept = 2;
10606 	yych = *(YYMARKER = ++YYCURSOR);
10607 	if (yych <= 'X') {
10608 		if (yych <= 'E') {
10609 			if (yych <= ' ') {
10610 				if (yych == '\t') goto yy196;
10611 				if (yych <= 0x1F) goto yy20;
10612 				goto yy196;
10613 			} else {
10614 				if (yych <= '9') {
10615 					if (yych <= '/') goto yy20;
10616 					goto yy562;
10617 				} else {
10618 					if (yych == 'D') goto yy196;
10619 					goto yy20;
10620 				}
10621 			}
10622 		} else {
10623 			if (yych <= 'M') {
10624 				if (yych <= 'G') {
10625 					if (yych <= 'F') goto yy196;
10626 					goto yy20;
10627 				} else {
10628 					if (yych <= 'H') goto yy196;
10629 					if (yych <= 'L') goto yy20;
10630 					goto yy196;
10631 				}
10632 			} else {
10633 				if (yych <= 'U') {
10634 					if (yych <= 'R') goto yy20;
10635 					goto yy196;
10636 				} else {
10637 					if (yych == 'W') goto yy196;
10638 					goto yy20;
10639 				}
10640 			}
10641 		}
10642 	} else {
10643 		if (yych <= 'r') {
10644 			if (yych <= 'f') {
10645 				if (yych <= 'c') {
10646 					if (yych <= 'Y') goto yy196;
10647 					goto yy20;
10648 				} else {
10649 					if (yych == 'e') goto yy20;
10650 					goto yy196;
10651 				}
10652 			} else {
10653 				if (yych <= 'h') {
10654 					if (yych <= 'g') goto yy20;
10655 					goto yy196;
10656 				} else {
10657 					if (yych == 'm') goto yy196;
10658 					goto yy20;
10659 				}
10660 			}
10661 		} else {
10662 			if (yych <= 'y') {
10663 				if (yych <= 'v') {
10664 					if (yych <= 'u') goto yy196;
10665 					goto yy20;
10666 				} else {
10667 					if (yych == 'x') goto yy20;
10668 					goto yy196;
10669 				}
10670 			} else {
10671 				if (yych <= 0xC2) {
10672 					if (yych <= 0xC1) goto yy20;
10673 					goto yy97;
10674 				} else {
10675 					if (yych == 0xE2) goto yy98;
10676 					goto yy20;
10677 				}
10678 			}
10679 		}
10680 	}
10681 yy393:
10682 	YYDEBUG(393, *YYCURSOR);
10683 	yych = *++YYCURSOR;
10684 	if (yych <= '/') goto yy59;
10685 	if (yych <= '5') goto yy563;
10686 	if (yych <= '9') goto yy115;
10687 	goto yy59;
10688 yy394:
10689 	YYDEBUG(394, *YYCURSOR);
10690 	yych = *++YYCURSOR;
10691 	if (yych <= '/') goto yy20;
10692 	if (yych <= '9') goto yy115;
10693 	goto yy20;
10694 yy395:
10695 	YYDEBUG(395, *YYCURSOR);
10696 	yych = *++YYCURSOR;
10697 	if (yych <= 0xC1) {
10698 		if (yych <= '/') goto yy196;
10699 		if (yych <= '9') goto yy562;
10700 		goto yy196;
10701 	} else {
10702 		if (yych <= 0xC2) goto yy97;
10703 		if (yych == 0xE2) goto yy98;
10704 		goto yy196;
10705 	}
10706 yy396:
10707 	YYDEBUG(396, *YYCURSOR);
10708 	yych = *++YYCURSOR;
10709 	if (yych <= '/') goto yy59;
10710 	if (yych <= '9') goto yy564;
10711 	goto yy59;
10712 yy397:
10713 	YYDEBUG(397, *YYCURSOR);
10714 	yych = *++YYCURSOR;
10715 	if (yych <= '/') goto yy59;
10716 	if (yych <= '9') goto yy565;
10717 	goto yy59;
10718 yy398:
10719 	YYDEBUG(398, *YYCURSOR);
10720 	yych = *++YYCURSOR;
10721 	if (yych <= '/') goto yy59;
10722 	if (yych <= '2') goto yy566;
10723 	if (yych <= '3') goto yy568;
10724 	if (yych <= '9') goto yy569;
10725 	goto yy59;
10726 yy399:
10727 	YYDEBUG(399, *YYCURSOR);
10728 	yych = *++YYCURSOR;
10729 	if (yych == 'P') goto yy444;
10730 	if (yych == 'p') goto yy444;
10731 	goto yy59;
10732 yy400:
10733 	YYDEBUG(400, *YYCURSOR);
10734 	yych = *++YYCURSOR;
10735 	if (yych <= '/') goto yy59;
10736 	if (yych <= '5') goto yy570;
10737 	if (yych <= '6') goto yy571;
10738 	if (yych <= '9') goto yy572;
10739 	goto yy59;
10740 yy401:
10741 	YYDEBUG(401, *YYCURSOR);
10742 	yych = *++YYCURSOR;
10743 	if (yych <= '/') goto yy59;
10744 	if (yych <= '5') goto yy573;
10745 	if (yych <= '6') goto yy574;
10746 	if (yych <= '9') goto yy575;
10747 	goto yy59;
10748 yy402:
10749 	YYDEBUG(402, *YYCURSOR);
10750 	yych = *++YYCURSOR;
10751 	if (yych <= '/') goto yy59;
10752 	if (yych <= '9') goto yy576;
10753 	goto yy59;
10754 yy403:
10755 	YYDEBUG(403, *YYCURSOR);
10756 	yych = *++YYCURSOR;
10757 	if (yych == 'd') goto yy577;
10758 	goto yy59;
10759 yy404:
10760 	YYDEBUG(404, *YYCURSOR);
10761 	yych = *++YYCURSOR;
10762 	if (yych == 't') goto yy577;
10763 	goto yy59;
10764 yy405:
10765 	YYDEBUG(405, *YYCURSOR);
10766 	yych = *++YYCURSOR;
10767 	if (yych == 'h') goto yy577;
10768 	goto yy59;
10769 yy406:
10770 	YYDEBUG(406, *YYCURSOR);
10771 	yych = *++YYCURSOR;
10772 	if (yych == 'R') goto yy578;
10773 	if (yych == 'r') goto yy578;
10774 	goto yy59;
10775 yy407:
10776 	YYDEBUG(407, *YYCURSOR);
10777 	yych = *++YYCURSOR;
10778 	if (yych == 'G') goto yy578;
10779 	if (yych == 'g') goto yy578;
10780 	goto yy59;
10781 yy408:
10782 	YYDEBUG(408, *YYCURSOR);
10783 	yych = *++YYCURSOR;
10784 	if (yych == 'C') goto yy578;
10785 	if (yych == 'c') goto yy578;
10786 	goto yy59;
10787 yy409:
10788 	YYDEBUG(409, *YYCURSOR);
10789 	yych = *++YYCURSOR;
10790 	if (yych == 'B') goto yy578;
10791 	if (yych == 'b') goto yy578;
10792 	goto yy59;
10793 yy410:
10794 	YYDEBUG(410, *YYCURSOR);
10795 	yych = *++YYCURSOR;
10796 	if (yych == 'N') goto yy578;
10797 	if (yych == 'n') goto yy578;
10798 	goto yy59;
10799 yy411:
10800 	YYDEBUG(411, *YYCURSOR);
10801 	yych = *++YYCURSOR;
10802 	if (yych <= 'N') {
10803 		if (yych == 'L') goto yy578;
10804 		if (yych <= 'M') goto yy59;
10805 		goto yy578;
10806 	} else {
10807 		if (yych <= 'l') {
10808 			if (yych <= 'k') goto yy59;
10809 			goto yy578;
10810 		} else {
10811 			if (yych == 'n') goto yy578;
10812 			goto yy59;
10813 		}
10814 	}
10815 yy412:
10816 	YYDEBUG(412, *YYCURSOR);
10817 	yych = *++YYCURSOR;
10818 	if (yych <= 'Y') {
10819 		if (yych == 'R') goto yy578;
10820 		if (yych <= 'X') goto yy59;
10821 		goto yy578;
10822 	} else {
10823 		if (yych <= 'r') {
10824 			if (yych <= 'q') goto yy59;
10825 			goto yy578;
10826 		} else {
10827 			if (yych == 'y') goto yy578;
10828 			goto yy59;
10829 		}
10830 	}
10831 yy413:
10832 	YYDEBUG(413, *YYCURSOR);
10833 	yych = *++YYCURSOR;
10834 	if (yych == 'V') goto yy578;
10835 	if (yych == 'v') goto yy578;
10836 	goto yy59;
10837 yy414:
10838 	YYDEBUG(414, *YYCURSOR);
10839 	yych = *++YYCURSOR;
10840 	if (yych == 'T') goto yy578;
10841 	if (yych == 't') goto yy578;
10842 	goto yy59;
10843 yy415:
10844 	YYDEBUG(415, *YYCURSOR);
10845 	yych = *++YYCURSOR;
10846 	if (yych == 'P') goto yy579;
10847 	if (yych == 'p') goto yy579;
10848 	goto yy59;
10849 yy416:
10850 	YYDEBUG(416, *YYCURSOR);
10851 	yych = *++YYCURSOR;
10852 	if (yych <= '.') {
10853 		if (yych <= ',') goto yy59;
10854 		if (yych <= '-') goto yy398;
10855 		goto yy396;
10856 	} else {
10857 		if (yych <= '/') goto yy59;
10858 		if (yych <= '9') goto yy580;
10859 		goto yy59;
10860 	}
10861 yy417:
10862 	YYDEBUG(417, *YYCURSOR);
10863 	yych = *++YYCURSOR;
10864 	if (yych <= '.') {
10865 		if (yych <= ',') goto yy59;
10866 		if (yych <= '-') goto yy398;
10867 		goto yy396;
10868 	} else {
10869 		if (yych <= '/') goto yy59;
10870 		if (yych <= '2') goto yy580;
10871 		goto yy59;
10872 	}
10873 yy418:
10874 	YYDEBUG(418, *YYCURSOR);
10875 	yych = *++YYCURSOR;
10876 	switch (yych) {
10877 	case '0':	goto yy581;
10878 	case '1':	goto yy582;
10879 	case '2':
10880 	case '3':
10881 	case '4':
10882 	case '5':
10883 	case '6':
10884 	case '7':
10885 	case '8':
10886 	case '9':	goto yy462;
10887 	case 'A':
10888 	case 'a':	goto yy463;
10889 	case 'D':
10890 	case 'd':	goto yy464;
10891 	case 'F':
10892 	case 'f':	goto yy465;
10893 	case 'J':
10894 	case 'j':	goto yy466;
10895 	case 'M':
10896 	case 'm':	goto yy467;
10897 	case 'N':
10898 	case 'n':	goto yy468;
10899 	case 'O':
10900 	case 'o':	goto yy469;
10901 	case 'S':
10902 	case 's':	goto yy470;
10903 	default:	goto yy59;
10904 	}
10905 yy419:
10906 	YYDEBUG(419, *YYCURSOR);
10907 	yyaccept = 12;
10908 	yych = *(YYMARKER = ++YYCURSOR);
10909 	if (yych <= 'O') {
10910 		if (yych <= '5') {
10911 			if (yych <= '-') {
10912 				if (yych <= 0x1F) {
10913 					if (yych == '\t') goto yy584;
10914 				} else {
10915 					if (yych <= ' ') goto yy584;
10916 					if (yych >= '-') goto yy585;
10917 				}
10918 			} else {
10919 				if (yych <= '0') {
10920 					if (yych <= '.') goto yy586;
10921 					if (yych <= '/') goto yy587;
10922 					goto yy588;
10923 				} else {
10924 					if (yych <= '1') goto yy589;
10925 					if (yych <= '2') goto yy590;
10926 					if (yych <= '3') goto yy591;
10927 					goto yy592;
10928 				}
10929 			}
10930 		} else {
10931 			if (yych <= 'C') {
10932 				if (yych <= ':') {
10933 					if (yych <= '6') goto yy593;
10934 					if (yych <= '9') goto yy594;
10935 					goto yy595;
10936 				} else {
10937 					if (yych == 'A') goto yy584;
10938 				}
10939 			} else {
10940 				if (yych <= 'F') {
10941 					if (yych != 'E') goto yy584;
10942 				} else {
10943 					if (yych <= 'G') goto yy420;
10944 					if (yych <= 'J') goto yy584;
10945 					if (yych >= 'M') goto yy584;
10946 				}
10947 			}
10948 		}
10949 	} else {
10950 		if (yych <= 'i') {
10951 			if (yych <= 'a') {
10952 				if (yych <= 'W') {
10953 					if (yych <= 'R') goto yy420;
10954 					if (yych <= 'V') goto yy584;
10955 					goto yy607;
10956 				} else {
10957 					if (yych <= 'Y') goto yy584;
10958 					if (yych >= 'a') goto yy584;
10959 				}
10960 			} else {
10961 				if (yych <= 'e') {
10962 					if (yych == 'd') goto yy584;
10963 				} else {
10964 					if (yych == 'g') goto yy420;
10965 					if (yych <= 'h') goto yy584;
10966 				}
10967 			}
10968 		} else {
10969 			if (yych <= 'w') {
10970 				if (yych <= 'o') {
10971 					if (yych <= 'j') goto yy584;
10972 					if (yych >= 'm') goto yy584;
10973 				} else {
10974 					if (yych <= 'r') goto yy420;
10975 					if (yych != 'v') goto yy584;
10976 				}
10977 			} else {
10978 				if (yych <= 0xC1) {
10979 					if (yych == 'y') goto yy584;
10980 				} else {
10981 					if (yych <= 0xC2) goto yy97;
10982 					if (yych == 0xE2) goto yy98;
10983 				}
10984 			}
10985 		}
10986 	}
10987 yy420:
10988 	YYDEBUG(420, *YYCURSOR);
10989 #line 1405 "ext/date/lib/parse_date.re"
10990 	{
10991 		DEBUG_OUTPUT("gnunocolon");
10992 		TIMELIB_INIT;
10993 		switch (s->time->have_time) {
10994 			case 0:
10995 				s->time->h = timelib_get_nr(&ptr, 2);
10996 				s->time->i = timelib_get_nr(&ptr, 2);
10997 				s->time->s = 0;
10998 				break;
10999 			case 1:
11000 				s->time->y = timelib_get_nr(&ptr, 4);
11001 				break;
11002 			default:
11003 				TIMELIB_DEINIT;
11004 				add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification");
11005 				return TIMELIB_ERROR;
11006 		}
11007 		s->time->have_time++;
11008 		TIMELIB_DEINIT;
11009 		return TIMELIB_GNU_NOCOLON;
11010 	}
11011 #line 11012 "<stdout>"
11012 yy421:
11013 	YYDEBUG(421, *YYCURSOR);
11014 	yyaccept = 13;
11015 	yych = *(YYMARKER = ++YYCURSOR);
11016 	if (yych <= 'R') {
11017 		if (yych <= '3') {
11018 			if (yych <= '-') {
11019 				if (yych <= 0x1F) {
11020 					if (yych == '\t') goto yy584;
11021 				} else {
11022 					if (yych <= ' ') goto yy584;
11023 					if (yych >= '-') goto yy585;
11024 				}
11025 			} else {
11026 				if (yych <= '0') {
11027 					if (yych <= '.') goto yy586;
11028 					if (yych <= '/') goto yy587;
11029 					goto yy609;
11030 				} else {
11031 					if (yych <= '1') goto yy610;
11032 					if (yych <= '2') goto yy611;
11033 					goto yy612;
11034 				}
11035 			}
11036 		} else {
11037 			if (yych <= 'D') {
11038 				if (yych <= '@') {
11039 					if (yych <= '9') goto yy594;
11040 					if (yych <= ':') goto yy595;
11041 				} else {
11042 					if (yych <= 'A') goto yy584;
11043 					if (yych >= 'D') goto yy584;
11044 				}
11045 			} else {
11046 				if (yych <= 'G') {
11047 					if (yych == 'F') goto yy584;
11048 				} else {
11049 					if (yych <= 'J') goto yy584;
11050 					if (yych <= 'L') goto yy422;
11051 					if (yych <= 'O') goto yy584;
11052 				}
11053 			}
11054 		}
11055 	} else {
11056 		if (yych <= 'j') {
11057 			if (yych <= 'c') {
11058 				if (yych <= 'Y') {
11059 					if (yych == 'W') goto yy607;
11060 					goto yy584;
11061 				} else {
11062 					if (yych == 'a') goto yy584;
11063 				}
11064 			} else {
11065 				if (yych <= 'f') {
11066 					if (yych != 'e') goto yy584;
11067 				} else {
11068 					if (yych == 'h') goto yy584;
11069 					if (yych >= 'j') goto yy584;
11070 				}
11071 			}
11072 		} else {
11073 			if (yych <= 'w') {
11074 				if (yych <= 'r') {
11075 					if (yych <= 'l') goto yy422;
11076 					if (yych <= 'o') goto yy584;
11077 				} else {
11078 					if (yych != 'v') goto yy584;
11079 				}
11080 			} else {
11081 				if (yych <= 0xC1) {
11082 					if (yych == 'y') goto yy584;
11083 				} else {
11084 					if (yych <= 0xC2) goto yy97;
11085 					if (yych == 0xE2) goto yy98;
11086 				}
11087 			}
11088 		}
11089 	}
11090 yy422:
11091 	YYDEBUG(422, *YYCURSOR);
11092 #line 1790 "ext/date/lib/parse_date.re"
11093 	{
11094 		DEBUG_OUTPUT("year4");
11095 		TIMELIB_INIT;
11096 		s->time->y = timelib_get_nr(&ptr, 4);
11097 		TIMELIB_DEINIT;
11098 		return TIMELIB_CLF;
11099 	}
11100 #line 11101 "<stdout>"
11101 yy423:
11102 	YYDEBUG(423, *YYCURSOR);
11103 	yyaccept = 3;
11104 	yych = *(YYMARKER = ++YYCURSOR);
11105 	if (yych <= '.') {
11106 		if (yych <= 0x1F) {
11107 			if (yych == '\t') goto yy248;
11108 			goto yy81;
11109 		} else {
11110 			if (yych <= ' ') goto yy248;
11111 			if (yych <= ',') goto yy81;
11112 			goto yy248;
11113 		}
11114 	} else {
11115 		if (yych <= 'H') {
11116 			if (yych <= '/') goto yy81;
11117 			if (yych <= '9') goto yy250;
11118 			goto yy81;
11119 		} else {
11120 			if (yych <= 'I') goto yy613;
11121 			if (yych == 'i') goto yy613;
11122 			goto yy81;
11123 		}
11124 	}
11125 yy424:
11126 	YYDEBUG(424, *YYCURSOR);
11127 	yyaccept = 3;
11128 	yych = *(YYMARKER = ++YYCURSOR);
11129 	if (yych <= '.') {
11130 		if (yych <= 0x1F) {
11131 			if (yych == '\t') goto yy248;
11132 			goto yy81;
11133 		} else {
11134 			if (yych <= ' ') goto yy248;
11135 			if (yych <= ',') goto yy81;
11136 			goto yy248;
11137 		}
11138 	} else {
11139 		if (yych <= 'T') {
11140 			if (yych <= '/') goto yy81;
11141 			if (yych <= '9') goto yy250;
11142 			goto yy81;
11143 		} else {
11144 			if (yych <= 'U') goto yy614;
11145 			if (yych == 'u') goto yy614;
11146 			goto yy81;
11147 		}
11148 	}
11149 yy425:
11150 	YYDEBUG(425, *YYCURSOR);
11151 	yych = *++YYCURSOR;
11152 	if (yych == 'S') goto yy615;
11153 	if (yych == 's') goto yy615;
11154 	goto yy260;
11155 yy426:
11156 	YYDEBUG(426, *YYCURSOR);
11157 	yyaccept = 3;
11158 	yych = *(YYMARKER = ++YYCURSOR);
11159 	if (yych <= '.') {
11160 		if (yych <= 0x1F) {
11161 			if (yych == '\t') goto yy248;
11162 			goto yy81;
11163 		} else {
11164 			if (yych <= ' ') goto yy248;
11165 			if (yych <= ',') goto yy81;
11166 			goto yy248;
11167 		}
11168 	} else {
11169 		if (yych <= 'D') {
11170 			if (yych <= '/') goto yy81;
11171 			if (yych <= '9') goto yy250;
11172 			goto yy81;
11173 		} else {
11174 			if (yych <= 'E') goto yy616;
11175 			if (yych == 'e') goto yy616;
11176 			goto yy81;
11177 		}
11178 	}
11179 yy427:
11180 	YYDEBUG(427, *YYCURSOR);
11181 	yyaccept = 3;
11182 	yych = *(YYMARKER = ++YYCURSOR);
11183 	if (yych <= '.') {
11184 		if (yych <= 0x1F) {
11185 			if (yych == '\t') goto yy248;
11186 			goto yy81;
11187 		} else {
11188 			if (yych <= ' ') goto yy248;
11189 			if (yych <= ',') goto yy81;
11190 			goto yy248;
11191 		}
11192 	} else {
11193 		if (yych <= 'Q') {
11194 			if (yych <= '/') goto yy81;
11195 			if (yych <= '9') goto yy250;
11196 			goto yy81;
11197 		} else {
11198 			if (yych <= 'R') goto yy617;
11199 			if (yych == 'r') goto yy617;
11200 			goto yy81;
11201 		}
11202 	}
11203 yy428:
11204 	YYDEBUG(428, *YYCURSOR);
11205 	yych = *++YYCURSOR;
11206 	if (yych == 'T') goto yy618;
11207 	if (yych == 't') goto yy618;
11208 	goto yy59;
11209 yy429:
11210 	YYDEBUG(429, *YYCURSOR);
11211 	yyaccept = 6;
11212 	yych = *(YYMARKER = ++YYCURSOR);
11213 	if (yych == 'D') goto yy198;
11214 	if (yych == 'd') goto yy198;
11215 	goto yy260;
11216 yy430:
11217 	YYDEBUG(430, *YYCURSOR);
11218 	yych = *++YYCURSOR;
11219 	if (yych == 'R') goto yy425;
11220 	if (yych == 'r') goto yy425;
11221 	goto yy59;
11222 yy431:
11223 	YYDEBUG(431, *YYCURSOR);
11224 	yych = *++YYCURSOR;
11225 	if (yych <= '/') goto yy251;
11226 	if (yych <= '9') goto yy619;
11227 	goto yy251;
11228 yy432:
11229 	YYDEBUG(432, *YYCURSOR);
11230 	yyaccept = 3;
11231 	yych = *(YYMARKER = ++YYCURSOR);
11232 	if (yych <= '.') {
11233 		if (yych <= 0x1F) {
11234 			if (yych == '\t') goto yy248;
11235 			goto yy81;
11236 		} else {
11237 			if (yych <= ' ') goto yy248;
11238 			if (yych <= ',') goto yy81;
11239 			goto yy248;
11240 		}
11241 	} else {
11242 		if (yych <= 'T') {
11243 			if (yych <= '/') goto yy81;
11244 			if (yych <= '9') goto yy250;
11245 			goto yy81;
11246 		} else {
11247 			if (yych <= 'U') goto yy620;
11248 			if (yych == 'u') goto yy620;
11249 			goto yy81;
11250 		}
11251 	}
11252 yy433:
11253 	YYDEBUG(433, *YYCURSOR);
11254 	yyaccept = 3;
11255 	yych = *(YYMARKER = ++YYCURSOR);
11256 	if (yych <= '.') {
11257 		if (yych <= 0x1F) {
11258 			if (yych == '\t') goto yy248;
11259 			goto yy81;
11260 		} else {
11261 			if (yych <= ' ') goto yy248;
11262 			if (yych <= ',') goto yy81;
11263 			goto yy248;
11264 		}
11265 	} else {
11266 		if (yych <= 'X') {
11267 			if (yych <= '/') goto yy81;
11268 			if (yych <= '9') goto yy250;
11269 			goto yy81;
11270 		} else {
11271 			if (yych <= 'Y') goto yy253;
11272 			if (yych == 'y') goto yy253;
11273 			goto yy81;
11274 		}
11275 	}
11276 yy434:
11277 	YYDEBUG(434, *YYCURSOR);
11278 	yyaccept = 3;
11279 	yych = *(YYMARKER = ++YYCURSOR);
11280 	if (yych <= '.') {
11281 		if (yych <= 0x1F) {
11282 			if (yych == '\t') goto yy248;
11283 			goto yy81;
11284 		} else {
11285 			if (yych <= ' ') goto yy248;
11286 			if (yych <= ',') goto yy81;
11287 			goto yy248;
11288 		}
11289 	} else {
11290 		if (yych <= 'D') {
11291 			if (yych <= '/') goto yy81;
11292 			if (yych <= '9') goto yy250;
11293 			goto yy81;
11294 		} else {
11295 			if (yych <= 'E') goto yy253;
11296 			if (yych == 'e') goto yy253;
11297 			goto yy81;
11298 		}
11299 	}
11300 yy435:
11301 	YYDEBUG(435, *YYCURSOR);
11302 	yyaccept = 3;
11303 	yych = *(YYMARKER = ++YYCURSOR);
11304 	if (yych <= '.') {
11305 		if (yych <= 0x1F) {
11306 			if (yych == '\t') goto yy248;
11307 			goto yy81;
11308 		} else {
11309 			if (yych <= ' ') goto yy248;
11310 			if (yych <= ',') goto yy81;
11311 			goto yy248;
11312 		}
11313 	} else {
11314 		if (yych <= 'B') {
11315 			if (yych <= '/') goto yy81;
11316 			if (yych <= '9') goto yy250;
11317 			goto yy81;
11318 		} else {
11319 			if (yych <= 'C') goto yy621;
11320 			if (yych == 'c') goto yy621;
11321 			goto yy81;
11322 		}
11323 	}
11324 yy436:
11325 	YYDEBUG(436, *YYCURSOR);
11326 	yych = *++YYCURSOR;
11327 	if (yych == 'R') goto yy622;
11328 	if (yych == 'r') goto yy622;
11329 	goto yy59;
11330 yy437:
11331 	YYDEBUG(437, *YYCURSOR);
11332 	yych = *++YYCURSOR;
11333 	if (yych == 'L') goto yy623;
11334 	if (yych == 'l') goto yy623;
11335 	goto yy59;
11336 yy438:
11337 	YYDEBUG(438, *YYCURSOR);
11338 	yyaccept = 6;
11339 	yych = *(YYMARKER = ++YYCURSOR);
11340 	if (yych <= 'U') {
11341 		if (yych == 'S') goto yy615;
11342 		if (yych <= 'T') goto yy260;
11343 		goto yy624;
11344 	} else {
11345 		if (yych <= 's') {
11346 			if (yych <= 'r') goto yy260;
11347 			goto yy615;
11348 		} else {
11349 			if (yych == 'u') goto yy624;
11350 			goto yy260;
11351 		}
11352 	}
11353 yy439:
11354 	YYDEBUG(439, *YYCURSOR);
11355 	yyaccept = 6;
11356 	yych = *(YYMARKER = ++YYCURSOR);
11357 	if (yych <= 'T') {
11358 		if (yych == 'D') goto yy198;
11359 		if (yych <= 'S') goto yy260;
11360 		goto yy625;
11361 	} else {
11362 		if (yych <= 'd') {
11363 			if (yych <= 'c') goto yy260;
11364 			goto yy198;
11365 		} else {
11366 			if (yych == 't') goto yy625;
11367 			goto yy260;
11368 		}
11369 	}
11370 yy440:
11371 	YYDEBUG(440, *YYCURSOR);
11372 	yych = *++YYCURSOR;
11373 	if (yych == 'C') goto yy425;
11374 	if (yych == 'c') goto yy425;
11375 	goto yy59;
11376 yy441:
11377 	YYDEBUG(441, *YYCURSOR);
11378 	yyaccept = 3;
11379 	yych = *(YYMARKER = ++YYCURSOR);
11380 	if (yych <= '.') {
11381 		if (yych <= 0x1F) {
11382 			if (yych == '\t') goto yy248;
11383 			goto yy81;
11384 		} else {
11385 			if (yych <= ' ') goto yy248;
11386 			if (yych <= ',') goto yy81;
11387 			goto yy248;
11388 		}
11389 	} else {
11390 		if (yych <= 'N') {
11391 			if (yych <= '/') goto yy81;
11392 			if (yych <= '9') goto yy250;
11393 			goto yy81;
11394 		} else {
11395 			if (yych <= 'O') goto yy626;
11396 			if (yych == 'o') goto yy626;
11397 			goto yy81;
11398 		}
11399 	}
11400 yy442:
11401 	YYDEBUG(442, *YYCURSOR);
11402 	yyaccept = 6;
11403 	yych = *(YYMARKER = ++YYCURSOR);
11404 	if (yych == 'U') goto yy627;
11405 	if (yych == 'u') goto yy627;
11406 	goto yy260;
11407 yy443:
11408 	YYDEBUG(443, *YYCURSOR);
11409 	yyaccept = 6;
11410 	yych = *(YYMARKER = ++YYCURSOR);
11411 	if (yych <= 'S') {
11412 		if (yych == 'O') goto yy628;
11413 		if (yych <= 'R') goto yy260;
11414 		goto yy615;
11415 	} else {
11416 		if (yych <= 'o') {
11417 			if (yych <= 'n') goto yy260;
11418 			goto yy628;
11419 		} else {
11420 			if (yych == 's') goto yy615;
11421 			goto yy260;
11422 		}
11423 	}
11424 yy444:
11425 	YYDEBUG(444, *YYCURSOR);
11426 	yyaccept = 3;
11427 	yych = *(YYMARKER = ++YYCURSOR);
11428 	if (yych <= '.') {
11429 		if (yych <= 0x1F) {
11430 			if (yych == '\t') goto yy248;
11431 			goto yy81;
11432 		} else {
11433 			if (yych <= ' ') goto yy248;
11434 			if (yych <= ',') goto yy81;
11435 			goto yy248;
11436 		}
11437 	} else {
11438 		if (yych <= 'S') {
11439 			if (yych <= '/') goto yy81;
11440 			if (yych <= '9') goto yy250;
11441 			goto yy81;
11442 		} else {
11443 			if (yych <= 'T') goto yy426;
11444 			if (yych == 't') goto yy426;
11445 			goto yy81;
11446 		}
11447 	}
11448 yy445:
11449 	YYDEBUG(445, *YYCURSOR);
11450 	yyaccept = 6;
11451 	yych = *(YYMARKER = ++YYCURSOR);
11452 	if (yych == 'R') goto yy629;
11453 	if (yych == 'r') goto yy629;
11454 	goto yy260;
11455 yy446:
11456 	YYDEBUG(446, *YYCURSOR);
11457 	yyaccept = 6;
11458 	yych = *(YYMARKER = ++YYCURSOR);
11459 	if (yych == 'S') goto yy630;
11460 	if (yych == 's') goto yy630;
11461 	goto yy260;
11462 yy447:
11463 	YYDEBUG(447, *YYCURSOR);
11464 	yyaccept = 6;
11465 	yych = *(YYMARKER = ++YYCURSOR);
11466 	if (yych == 'N') goto yy631;
11467 	if (yych == 'n') goto yy631;
11468 	goto yy260;
11469 yy448:
11470 	YYDEBUG(448, *YYCURSOR);
11471 	yych = *++YYCURSOR;
11472 	if (yych == 'K') goto yy632;
11473 	if (yych == 'k') goto yy632;
11474 	goto yy59;
11475 yy449:
11476 	YYDEBUG(449, *YYCURSOR);
11477 	yych = *++YYCURSOR;
11478 	if (yych <= '/') goto yy207;
11479 	if (yych <= '0') goto yy633;
11480 	if (yych <= '1') goto yy634;
11481 	if (yych <= '9') goto yy635;
11482 	goto yy207;
11483 yy450:
11484 	YYDEBUG(450, *YYCURSOR);
11485 	++YYCURSOR;
11486 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
11487 	yych = *YYCURSOR;
11488 	if (yych <= 'd') {
11489 		if (yych <= 'R') {
11490 			if (yych <= 'F') {
11491 				if (yych == 'D') goto yy198;
11492 				if (yych <= 'E') goto yy59;
11493 				goto yy199;
11494 			} else {
11495 				if (yych <= 'H') {
11496 					if (yych <= 'G') goto yy59;
11497 					goto yy79;
11498 				} else {
11499 					if (yych == 'M') goto yy200;
11500 					goto yy59;
11501 				}
11502 			}
11503 		} else {
11504 			if (yych <= 'V') {
11505 				if (yych <= 'S') goto yy201;
11506 				if (yych <= 'T') goto yy87;
11507 				if (yych <= 'U') goto yy88;
11508 				goto yy59;
11509 			} else {
11510 				if (yych <= 'X') {
11511 					if (yych <= 'W') goto yy90;
11512 					goto yy59;
11513 				} else {
11514 					if (yych <= 'Y') goto yy92;
11515 					if (yych <= 'c') goto yy59;
11516 					goto yy198;
11517 				}
11518 			}
11519 		}
11520 	} else {
11521 		if (yych <= 't') {
11522 			if (yych <= 'h') {
11523 				if (yych == 'f') goto yy199;
11524 				if (yych <= 'g') goto yy59;
11525 				goto yy79;
11526 			} else {
11527 				if (yych <= 'm') {
11528 					if (yych <= 'l') goto yy59;
11529 					goto yy200;
11530 				} else {
11531 					if (yych <= 'r') goto yy59;
11532 					if (yych <= 's') goto yy201;
11533 					goto yy87;
11534 				}
11535 			}
11536 		} else {
11537 			if (yych <= 'y') {
11538 				if (yych <= 'v') {
11539 					if (yych <= 'u') goto yy88;
11540 					goto yy59;
11541 				} else {
11542 					if (yych <= 'w') goto yy90;
11543 					if (yych <= 'x') goto yy59;
11544 					goto yy92;
11545 				}
11546 			} else {
11547 				if (yych <= 0xC2) {
11548 					if (yych <= 0xC1) goto yy59;
11549 					goto yy211;
11550 				} else {
11551 					if (yych == 0xE2) goto yy98;
11552 					goto yy59;
11553 				}
11554 			}
11555 		}
11556 	}
11557 yy451:
11558 	YYDEBUG(451, *YYCURSOR);
11559 	yych = *++YYCURSOR;
11560 	if (yych <= '/') goto yy59;
11561 	if (yych <= '5') goto yy636;
11562 	if (yych <= '6') goto yy637;
11563 	if (yych <= '9') goto yy572;
11564 	goto yy59;
11565 yy452:
11566 	YYDEBUG(452, *YYCURSOR);
11567 	yyaccept = 4;
11568 	yych = *(YYMARKER = ++YYCURSOR);
11569 	if (yych <= 'A') {
11570 		if (yych <= ',') {
11571 			if (yych <= '\t') {
11572 				if (yych <= 0x08) goto yy177;
11573 				goto yy638;
11574 			} else {
11575 				if (yych == ' ') goto yy638;
11576 				goto yy177;
11577 			}
11578 		} else {
11579 			if (yych <= '9') {
11580 				if (yych <= '-') goto yy396;
11581 				if (yych <= '.') goto yy451;
11582 				goto yy177;
11583 			} else {
11584 				if (yych <= ':') goto yy453;
11585 				if (yych <= '@') goto yy177;
11586 				goto yy106;
11587 			}
11588 		}
11589 	} else {
11590 		if (yych <= 'o') {
11591 			if (yych <= 'P') {
11592 				if (yych <= 'O') goto yy177;
11593 				goto yy106;
11594 			} else {
11595 				if (yych == 'a') goto yy106;
11596 				goto yy177;
11597 			}
11598 		} else {
11599 			if (yych <= 0xC2) {
11600 				if (yych <= 'p') goto yy106;
11601 				if (yych <= 0xC1) goto yy177;
11602 				goto yy640;
11603 			} else {
11604 				if (yych == 0xE2) goto yy641;
11605 				goto yy177;
11606 			}
11607 		}
11608 	}
11609 yy453:
11610 	YYDEBUG(453, *YYCURSOR);
11611 	yych = *++YYCURSOR;
11612 	if (yych <= '/') goto yy59;
11613 	if (yych <= '5') goto yy642;
11614 	if (yych <= '6') goto yy643;
11615 	if (yych <= '9') goto yy575;
11616 	goto yy59;
11617 yy454:
11618 	YYDEBUG(454, *YYCURSOR);
11619 	yyaccept = 4;
11620 	yych = *(YYMARKER = ++YYCURSOR);
11621 	if (yych <= 'A') {
11622 		if (yych <= '-') {
11623 			if (yych <= '\t') {
11624 				if (yych <= 0x08) goto yy177;
11625 				goto yy638;
11626 			} else {
11627 				if (yych == ' ') goto yy638;
11628 				goto yy177;
11629 			}
11630 		} else {
11631 			if (yych <= '9') {
11632 				if (yych <= '.') goto yy453;
11633 				goto yy177;
11634 			} else {
11635 				if (yych <= ':') goto yy453;
11636 				if (yych <= '@') goto yy177;
11637 				goto yy106;
11638 			}
11639 		}
11640 	} else {
11641 		if (yych <= 'o') {
11642 			if (yych <= 'P') {
11643 				if (yych <= 'O') goto yy177;
11644 				goto yy106;
11645 			} else {
11646 				if (yych == 'a') goto yy106;
11647 				goto yy177;
11648 			}
11649 		} else {
11650 			if (yych <= 0xC2) {
11651 				if (yych <= 'p') goto yy106;
11652 				if (yych <= 0xC1) goto yy177;
11653 				goto yy640;
11654 			} else {
11655 				if (yych == 0xE2) goto yy641;
11656 				goto yy177;
11657 			}
11658 		}
11659 	}
11660 yy455:
11661 	YYDEBUG(455, *YYCURSOR);
11662 	yyaccept = 4;
11663 	yych = *(YYMARKER = ++YYCURSOR);
11664 	if (yych <= 'A') {
11665 		if (yych <= '-') {
11666 			if (yych <= '\t') {
11667 				if (yych <= 0x08) goto yy177;
11668 				goto yy638;
11669 			} else {
11670 				if (yych == ' ') goto yy638;
11671 				goto yy177;
11672 			}
11673 		} else {
11674 			if (yych <= '9') {
11675 				if (yych <= '.') goto yy453;
11676 				goto yy177;
11677 			} else {
11678 				if (yych <= ':') goto yy644;
11679 				if (yych <= '@') goto yy177;
11680 				goto yy106;
11681 			}
11682 		}
11683 	} else {
11684 		if (yych <= 'o') {
11685 			if (yych <= 'P') {
11686 				if (yych <= 'O') goto yy177;
11687 				goto yy106;
11688 			} else {
11689 				if (yych == 'a') goto yy106;
11690 				goto yy177;
11691 			}
11692 		} else {
11693 			if (yych <= 0xC2) {
11694 				if (yych <= 'p') goto yy106;
11695 				if (yych <= 0xC1) goto yy177;
11696 				goto yy640;
11697 			} else {
11698 				if (yych == 0xE2) goto yy641;
11699 				goto yy177;
11700 			}
11701 		}
11702 	}
11703 yy456:
11704 	YYDEBUG(456, *YYCURSOR);
11705 	++YYCURSOR;
11706 	YYDEBUG(457, *YYCURSOR);
11707 #line 1339 "ext/date/lib/parse_date.re"
11708 	{
11709 		DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
11710 		TIMELIB_INIT;
11711 		TIMELIB_HAVE_TIME();
11712 		s->time->h = timelib_get_nr(&ptr, 2);
11713 		if (*ptr == ':' || *ptr == '.') {
11714 			s->time->i = timelib_get_nr(&ptr, 2);
11715 			if (*ptr == ':' || *ptr == '.') {
11716 				s->time->s = timelib_get_nr(&ptr, 2);
11717 			}
11718 		}
11719 		timelib_eat_spaces(&ptr);
11720 		s->time->h += timelib_meridian(&ptr, s->time->h);
11721 		TIMELIB_DEINIT;
11722 		return TIMELIB_TIME12;
11723 	}
11724 #line 11725 "<stdout>"
11725 yy458:
11726 	YYDEBUG(458, *YYCURSOR);
11727 	yych = *++YYCURSOR;
11728 	if (yych <= '\t') {
11729 		if (yych <= 0x00) goto yy456;
11730 		if (yych <= 0x08) goto yy59;
11731 		goto yy456;
11732 	} else {
11733 		if (yych == ' ') goto yy456;
11734 		goto yy59;
11735 	}
11736 yy459:
11737 	YYDEBUG(459, *YYCURSOR);
11738 	++YYCURSOR;
11739 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
11740 	yych = *YYCURSOR;
11741 	if (yych <= 'a') {
11742 		if (yych <= 'O') {
11743 			if (yych <= 'E') {
11744 				if (yych <= 'A') {
11745 					if (yych <= '@') goto yy59;
11746 					goto yy106;
11747 				} else {
11748 					if (yych == 'D') goto yy198;
11749 					goto yy59;
11750 				}
11751 			} else {
11752 				if (yych <= 'H') {
11753 					if (yych <= 'F') goto yy199;
11754 					if (yych <= 'G') goto yy59;
11755 					goto yy79;
11756 				} else {
11757 					if (yych == 'M') goto yy200;
11758 					goto yy59;
11759 				}
11760 			}
11761 		} else {
11762 			if (yych <= 'U') {
11763 				if (yych <= 'R') {
11764 					if (yych <= 'P') goto yy106;
11765 					goto yy59;
11766 				} else {
11767 					if (yych <= 'S') goto yy201;
11768 					if (yych <= 'T') goto yy87;
11769 					goto yy88;
11770 				}
11771 			} else {
11772 				if (yych <= 'X') {
11773 					if (yych == 'W') goto yy90;
11774 					goto yy59;
11775 				} else {
11776 					if (yych <= 'Y') goto yy92;
11777 					if (yych <= '`') goto yy59;
11778 					goto yy106;
11779 				}
11780 			}
11781 		}
11782 	} else {
11783 		if (yych <= 'r') {
11784 			if (yych <= 'g') {
11785 				if (yych <= 'd') {
11786 					if (yych <= 'c') goto yy59;
11787 					goto yy198;
11788 				} else {
11789 					if (yych == 'f') goto yy199;
11790 					goto yy59;
11791 				}
11792 			} else {
11793 				if (yych <= 'm') {
11794 					if (yych <= 'h') goto yy79;
11795 					if (yych <= 'l') goto yy59;
11796 					goto yy200;
11797 				} else {
11798 					if (yych == 'p') goto yy106;
11799 					goto yy59;
11800 				}
11801 			}
11802 		} else {
11803 			if (yych <= 'x') {
11804 				if (yych <= 'u') {
11805 					if (yych <= 's') goto yy201;
11806 					if (yych <= 't') goto yy87;
11807 					goto yy88;
11808 				} else {
11809 					if (yych == 'w') goto yy90;
11810 					goto yy59;
11811 				}
11812 			} else {
11813 				if (yych <= 0xC2) {
11814 					if (yych <= 'y') goto yy92;
11815 					if (yych <= 0xC1) goto yy59;
11816 					goto yy211;
11817 				} else {
11818 					if (yych == 0xE2) goto yy108;
11819 					goto yy59;
11820 				}
11821 			}
11822 		}
11823 	}
11824 yy460:
11825 	YYDEBUG(460, *YYCURSOR);
11826 	yych = *++YYCURSOR;
11827 	if (yych == '-') goto yy645;
11828 	if (yych <= '/') goto yy59;
11829 	if (yych <= '9') goto yy646;
11830 	goto yy59;
11831 yy461:
11832 	YYDEBUG(461, *YYCURSOR);
11833 	yych = *++YYCURSOR;
11834 	if (yych == '-') goto yy645;
11835 	if (yych <= '/') goto yy59;
11836 	if (yych <= '2') goto yy646;
11837 	goto yy59;
11838 yy462:
11839 	YYDEBUG(462, *YYCURSOR);
11840 	yych = *++YYCURSOR;
11841 	if (yych == '-') goto yy645;
11842 	goto yy59;
11843 yy463:
11844 	YYDEBUG(463, *YYCURSOR);
11845 	yych = *++YYCURSOR;
11846 	if (yych <= 'U') {
11847 		if (yych == 'P') goto yy647;
11848 		if (yych <= 'T') goto yy59;
11849 		goto yy648;
11850 	} else {
11851 		if (yych <= 'p') {
11852 			if (yych <= 'o') goto yy59;
11853 			goto yy647;
11854 		} else {
11855 			if (yych == 'u') goto yy648;
11856 			goto yy59;
11857 		}
11858 	}
11859 yy464:
11860 	YYDEBUG(464, *YYCURSOR);
11861 	yych = *++YYCURSOR;
11862 	if (yych == 'E') goto yy649;
11863 	if (yych == 'e') goto yy649;
11864 	goto yy59;
11865 yy465:
11866 	YYDEBUG(465, *YYCURSOR);
11867 	yych = *++YYCURSOR;
11868 	if (yych == 'E') goto yy650;
11869 	if (yych == 'e') goto yy650;
11870 	goto yy59;
11871 yy466:
11872 	YYDEBUG(466, *YYCURSOR);
11873 	yych = *++YYCURSOR;
11874 	if (yych <= 'U') {
11875 		if (yych == 'A') goto yy651;
11876 		if (yych <= 'T') goto yy59;
11877 		goto yy652;
11878 	} else {
11879 		if (yych <= 'a') {
11880 			if (yych <= '`') goto yy59;
11881 			goto yy651;
11882 		} else {
11883 			if (yych == 'u') goto yy652;
11884 			goto yy59;
11885 		}
11886 	}
11887 yy467:
11888 	YYDEBUG(467, *YYCURSOR);
11889 	yych = *++YYCURSOR;
11890 	if (yych == 'A') goto yy653;
11891 	if (yych == 'a') goto yy653;
11892 	goto yy59;
11893 yy468:
11894 	YYDEBUG(468, *YYCURSOR);
11895 	yych = *++YYCURSOR;
11896 	if (yych == 'O') goto yy654;
11897 	if (yych == 'o') goto yy654;
11898 	goto yy59;
11899 yy469:
11900 	YYDEBUG(469, *YYCURSOR);
11901 	yych = *++YYCURSOR;
11902 	if (yych == 'C') goto yy655;
11903 	if (yych == 'c') goto yy655;
11904 	goto yy59;
11905 yy470:
11906 	YYDEBUG(470, *YYCURSOR);
11907 	yych = *++YYCURSOR;
11908 	if (yych == 'E') goto yy656;
11909 	if (yych == 'e') goto yy656;
11910 	goto yy59;
11911 yy471:
11912 	YYDEBUG(471, *YYCURSOR);
11913 	yych = *++YYCURSOR;
11914 	if (yych <= '/') goto yy290;
11915 	if (yych <= '9') goto yy657;
11916 	goto yy290;
11917 yy472:
11918 	YYDEBUG(472, *YYCURSOR);
11919 	yych = *++YYCURSOR;
11920 	if (yych <= '@') {
11921 		if (yych == ')') goto yy115;
11922 		goto yy20;
11923 	} else {
11924 		if (yych <= 'Z') goto yy658;
11925 		if (yych <= '`') goto yy20;
11926 		if (yych <= 'z') goto yy658;
11927 		goto yy20;
11928 	}
11929 yy473:
11930 	YYDEBUG(473, *YYCURSOR);
11931 	yych = *++YYCURSOR;
11932 	if (yych <= '/') goto yy142;
11933 	if (yych <= '2') goto yy659;
11934 	if (yych <= '3') goto yy660;
11935 	goto yy142;
11936 yy474:
11937 	YYDEBUG(474, *YYCURSOR);
11938 	yych = *++YYCURSOR;
11939 	if (yych <= 'L') {
11940 		if (yych <= ')') {
11941 			if (yych <= '(') goto yy20;
11942 			goto yy115;
11943 		} else {
11944 			if (yych <= '@') goto yy20;
11945 			if (yych <= 'K') goto yy658;
11946 			goto yy661;
11947 		}
11948 	} else {
11949 		if (yych <= 'k') {
11950 			if (yych <= 'Z') goto yy658;
11951 			if (yych <= '`') goto yy20;
11952 			goto yy658;
11953 		} else {
11954 			if (yych <= 'l') goto yy661;
11955 			if (yych <= 'z') goto yy658;
11956 			goto yy20;
11957 		}
11958 	}
11959 yy475:
11960 	YYDEBUG(475, *YYCURSOR);
11961 	yych = *++YYCURSOR;
11962 	if (yych <= 'S') {
11963 		if (yych <= ')') {
11964 			if (yych <= '(') goto yy20;
11965 			goto yy115;
11966 		} else {
11967 			if (yych <= '@') goto yy20;
11968 			if (yych <= 'R') goto yy658;
11969 			goto yy662;
11970 		}
11971 	} else {
11972 		if (yych <= 'r') {
11973 			if (yych <= 'Z') goto yy658;
11974 			if (yych <= '`') goto yy20;
11975 			goto yy658;
11976 		} else {
11977 			if (yych <= 's') goto yy662;
11978 			if (yych <= 'z') goto yy658;
11979 			goto yy20;
11980 		}
11981 	}
11982 yy476:
11983 	YYDEBUG(476, *YYCURSOR);
11984 	yyaccept = 2;
11985 	YYMARKER = ++YYCURSOR;
11986 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
11987 	yych = *YYCURSOR;
11988 	YYDEBUG(477, *YYCURSOR);
11989 	if (yybm[0+yych] & 64) {
11990 		goto yy476;
11991 	}
11992 	if (yych <= '.') {
11993 		if (yych == '-') goto yy297;
11994 		goto yy20;
11995 	} else {
11996 		if (yych <= '/') goto yy297;
11997 		if (yych == '_') goto yy297;
11998 		goto yy20;
11999 	}
12000 yy478:
12001 	YYDEBUG(478, *YYCURSOR);
12002 	yyaccept = 2;
12003 	yych = *(YYMARKER = ++YYCURSOR);
12004 	if (yych <= '/') {
12005 		if (yych <= ',') {
12006 			if (yych == ')') goto yy115;
12007 			goto yy20;
12008 		} else {
12009 			if (yych == '.') goto yy20;
12010 			goto yy297;
12011 		}
12012 	} else {
12013 		if (yych <= '^') {
12014 			if (yych <= '@') goto yy20;
12015 			if (yych <= 'Z') goto yy658;
12016 			goto yy20;
12017 		} else {
12018 			if (yych <= '_') goto yy297;
12019 			if (yych <= '`') goto yy20;
12020 			if (yych <= 'z') goto yy663;
12021 			goto yy20;
12022 		}
12023 	}
12024 yy479:
12025 	YYDEBUG(479, *YYCURSOR);
12026 	yych = *++YYCURSOR;
12027 	if (yybm[0+yych] & 64) {
12028 		goto yy476;
12029 	}
12030 	if (yych <= '/') goto yy142;
12031 	if (yych <= '2') goto yy659;
12032 	if (yych <= '3') goto yy660;
12033 	goto yy142;
12034 yy480:
12035 	YYDEBUG(480, *YYCURSOR);
12036 	yyaccept = 2;
12037 	yych = *(YYMARKER = ++YYCURSOR);
12038 	if (yych <= 'K') {
12039 		if (yych <= '-') {
12040 			if (yych == ')') goto yy115;
12041 			if (yych <= ',') goto yy20;
12042 			goto yy297;
12043 		} else {
12044 			if (yych == '/') goto yy297;
12045 			if (yych <= '@') goto yy20;
12046 			goto yy658;
12047 		}
12048 	} else {
12049 		if (yych <= '_') {
12050 			if (yych <= 'L') goto yy661;
12051 			if (yych <= 'Z') goto yy658;
12052 			if (yych <= '^') goto yy20;
12053 			goto yy297;
12054 		} else {
12055 			if (yych <= 'k') {
12056 				if (yych <= '`') goto yy20;
12057 				goto yy663;
12058 			} else {
12059 				if (yych <= 'l') goto yy664;
12060 				if (yych <= 'z') goto yy663;
12061 				goto yy20;
12062 			}
12063 		}
12064 	}
12065 yy481:
12066 	YYDEBUG(481, *YYCURSOR);
12067 	yyaccept = 2;
12068 	yych = *(YYMARKER = ++YYCURSOR);
12069 	if (yych <= 'R') {
12070 		if (yych <= '-') {
12071 			if (yych == ')') goto yy115;
12072 			if (yych <= ',') goto yy20;
12073 			goto yy297;
12074 		} else {
12075 			if (yych == '/') goto yy297;
12076 			if (yych <= '@') goto yy20;
12077 			goto yy658;
12078 		}
12079 	} else {
12080 		if (yych <= '_') {
12081 			if (yych <= 'S') goto yy662;
12082 			if (yych <= 'Z') goto yy658;
12083 			if (yych <= '^') goto yy20;
12084 			goto yy297;
12085 		} else {
12086 			if (yych <= 'r') {
12087 				if (yych <= '`') goto yy20;
12088 				goto yy663;
12089 			} else {
12090 				if (yych <= 's') goto yy665;
12091 				if (yych <= 'z') goto yy663;
12092 				goto yy20;
12093 			}
12094 		}
12095 	}
12096 yy482:
12097 	YYDEBUG(482, *YYCURSOR);
12098 	yyaccept = 2;
12099 	yych = *(YYMARKER = ++YYCURSOR);
12100 	if (yych <= ')') {
12101 		if (yych == ' ') goto yy666;
12102 		if (yych <= '(') goto yy20;
12103 		goto yy115;
12104 	} else {
12105 		if (yych <= 'Z') {
12106 			if (yych <= '@') goto yy20;
12107 			goto yy658;
12108 		} else {
12109 			if (yych <= '`') goto yy20;
12110 			if (yych <= 'z') goto yy658;
12111 			goto yy20;
12112 		}
12113 	}
12114 yy483:
12115 	YYDEBUG(483, *YYCURSOR);
12116 	yyaccept = 2;
12117 	yych = *(YYMARKER = ++YYCURSOR);
12118 	if (yych <= '.') {
12119 		if (yych <= '(') {
12120 			if (yych == ' ') goto yy666;
12121 			goto yy20;
12122 		} else {
12123 			if (yych <= ')') goto yy115;
12124 			if (yych == '-') goto yy297;
12125 			goto yy20;
12126 		}
12127 	} else {
12128 		if (yych <= '^') {
12129 			if (yych <= '/') goto yy297;
12130 			if (yych <= '@') goto yy20;
12131 			if (yych <= 'Z') goto yy658;
12132 			goto yy20;
12133 		} else {
12134 			if (yych <= '_') goto yy297;
12135 			if (yych <= '`') goto yy20;
12136 			if (yych <= 'z') goto yy663;
12137 			goto yy20;
12138 		}
12139 	}
12140 yy484:
12141 	YYDEBUG(484, *YYCURSOR);
12142 	yych = *++YYCURSOR;
12143 	if (yych <= 'M') {
12144 		if (yych <= ')') {
12145 			if (yych <= '(') goto yy20;
12146 			goto yy115;
12147 		} else {
12148 			if (yych <= '@') goto yy20;
12149 			if (yych <= 'L') goto yy658;
12150 			goto yy667;
12151 		}
12152 	} else {
12153 		if (yych <= 'l') {
12154 			if (yych <= 'Z') goto yy658;
12155 			if (yych <= '`') goto yy20;
12156 			goto yy658;
12157 		} else {
12158 			if (yych <= 'm') goto yy667;
12159 			if (yych <= 'z') goto yy658;
12160 			goto yy20;
12161 		}
12162 	}
12163 yy485:
12164 	YYDEBUG(485, *YYCURSOR);
12165 	yyaccept = 2;
12166 	yych = *(YYMARKER = ++YYCURSOR);
12167 	if (yych <= 'L') {
12168 		if (yych <= '-') {
12169 			if (yych == ')') goto yy115;
12170 			if (yych <= ',') goto yy20;
12171 			goto yy297;
12172 		} else {
12173 			if (yych == '/') goto yy297;
12174 			if (yych <= '@') goto yy20;
12175 			goto yy658;
12176 		}
12177 	} else {
12178 		if (yych <= '_') {
12179 			if (yych <= 'M') goto yy667;
12180 			if (yych <= 'Z') goto yy658;
12181 			if (yych <= '^') goto yy20;
12182 			goto yy297;
12183 		} else {
12184 			if (yych <= 'l') {
12185 				if (yych <= '`') goto yy20;
12186 				goto yy663;
12187 			} else {
12188 				if (yych <= 'm') goto yy668;
12189 				if (yych <= 'z') goto yy663;
12190 				goto yy20;
12191 			}
12192 		}
12193 	}
12194 yy486:
12195 	YYDEBUG(486, *YYCURSOR);
12196 	yych = *++YYCURSOR;
12197 	if (yych <= 'T') {
12198 		if (yych <= ')') {
12199 			if (yych <= '(') goto yy20;
12200 			goto yy115;
12201 		} else {
12202 			if (yych <= '@') goto yy20;
12203 			if (yych <= 'S') goto yy658;
12204 			goto yy669;
12205 		}
12206 	} else {
12207 		if (yych <= 's') {
12208 			if (yych <= 'Z') goto yy658;
12209 			if (yych <= '`') goto yy20;
12210 			goto yy658;
12211 		} else {
12212 			if (yych <= 't') goto yy669;
12213 			if (yych <= 'z') goto yy658;
12214 			goto yy20;
12215 		}
12216 	}
12217 yy487:
12218 	YYDEBUG(487, *YYCURSOR);
12219 	yych = *++YYCURSOR;
12220 	if (yych <= 'E') {
12221 		if (yych <= ')') {
12222 			if (yych <= '(') goto yy20;
12223 			goto yy115;
12224 		} else {
12225 			if (yych <= '@') goto yy20;
12226 			if (yych <= 'D') goto yy658;
12227 			goto yy670;
12228 		}
12229 	} else {
12230 		if (yych <= 'd') {
12231 			if (yych <= 'Z') goto yy658;
12232 			if (yych <= '`') goto yy20;
12233 			goto yy658;
12234 		} else {
12235 			if (yych <= 'e') goto yy670;
12236 			if (yych <= 'z') goto yy658;
12237 			goto yy20;
12238 		}
12239 	}
12240 yy488:
12241 	YYDEBUG(488, *YYCURSOR);
12242 	yyaccept = 2;
12243 	yych = *(YYMARKER = ++YYCURSOR);
12244 	if (yych <= 'S') {
12245 		if (yych <= '-') {
12246 			if (yych == ')') goto yy115;
12247 			if (yych <= ',') goto yy20;
12248 			goto yy297;
12249 		} else {
12250 			if (yych == '/') goto yy297;
12251 			if (yych <= '@') goto yy20;
12252 			goto yy658;
12253 		}
12254 	} else {
12255 		if (yych <= '_') {
12256 			if (yych <= 'T') goto yy669;
12257 			if (yych <= 'Z') goto yy658;
12258 			if (yych <= '^') goto yy20;
12259 			goto yy297;
12260 		} else {
12261 			if (yych <= 's') {
12262 				if (yych <= '`') goto yy20;
12263 				goto yy663;
12264 			} else {
12265 				if (yych <= 't') goto yy671;
12266 				if (yych <= 'z') goto yy663;
12267 				goto yy20;
12268 			}
12269 		}
12270 	}
12271 yy489:
12272 	YYDEBUG(489, *YYCURSOR);
12273 	yyaccept = 2;
12274 	yych = *(YYMARKER = ++YYCURSOR);
12275 	if (yych <= 'D') {
12276 		if (yych <= '-') {
12277 			if (yych == ')') goto yy115;
12278 			if (yych <= ',') goto yy20;
12279 			goto yy297;
12280 		} else {
12281 			if (yych == '/') goto yy297;
12282 			if (yych <= '@') goto yy20;
12283 			goto yy658;
12284 		}
12285 	} else {
12286 		if (yych <= '_') {
12287 			if (yych <= 'E') goto yy670;
12288 			if (yych <= 'Z') goto yy658;
12289 			if (yych <= '^') goto yy20;
12290 			goto yy297;
12291 		} else {
12292 			if (yych <= 'd') {
12293 				if (yych <= '`') goto yy20;
12294 				goto yy663;
12295 			} else {
12296 				if (yych <= 'e') goto yy672;
12297 				if (yych <= 'z') goto yy663;
12298 				goto yy20;
12299 			}
12300 		}
12301 	}
12302 yy490:
12303 	YYDEBUG(490, *YYCURSOR);
12304 	yych = *++YYCURSOR;
12305 	if (yych <= 'U') {
12306 		if (yych <= ')') {
12307 			if (yych <= '(') goto yy20;
12308 			goto yy115;
12309 		} else {
12310 			if (yych <= '@') goto yy20;
12311 			if (yych <= 'T') goto yy658;
12312 			goto yy673;
12313 		}
12314 	} else {
12315 		if (yych <= 't') {
12316 			if (yych <= 'Z') goto yy658;
12317 			if (yych <= '`') goto yy20;
12318 			goto yy658;
12319 		} else {
12320 			if (yych <= 'u') goto yy673;
12321 			if (yych <= 'z') goto yy658;
12322 			goto yy20;
12323 		}
12324 	}
12325 yy491:
12326 	YYDEBUG(491, *YYCURSOR);
12327 	yych = *++YYCURSOR;
12328 	if (yych <= 'H') {
12329 		if (yych <= ')') {
12330 			if (yych <= '(') goto yy20;
12331 			goto yy115;
12332 		} else {
12333 			if (yych <= '@') goto yy20;
12334 			if (yych <= 'G') goto yy658;
12335 			goto yy674;
12336 		}
12337 	} else {
12338 		if (yych <= 'g') {
12339 			if (yych <= 'Z') goto yy658;
12340 			if (yych <= '`') goto yy20;
12341 			goto yy658;
12342 		} else {
12343 			if (yych <= 'h') goto yy674;
12344 			if (yych <= 'z') goto yy658;
12345 			goto yy20;
12346 		}
12347 	}
12348 yy492:
12349 	YYDEBUG(492, *YYCURSOR);
12350 	yych = *++YYCURSOR;
12351 	if (yych <= 'T') {
12352 		if (yych <= ')') {
12353 			if (yych <= '(') goto yy20;
12354 			goto yy115;
12355 		} else {
12356 			if (yych <= '@') goto yy20;
12357 			if (yych <= 'S') goto yy658;
12358 			goto yy675;
12359 		}
12360 	} else {
12361 		if (yych <= 's') {
12362 			if (yych <= 'Z') goto yy658;
12363 			if (yych <= '`') goto yy20;
12364 			goto yy658;
12365 		} else {
12366 			if (yych <= 't') goto yy675;
12367 			if (yych <= 'z') goto yy658;
12368 			goto yy20;
12369 		}
12370 	}
12371 yy493:
12372 	YYDEBUG(493, *YYCURSOR);
12373 	yych = *++YYCURSOR;
12374 	if (yych <= 'T') {
12375 		if (yych <= ')') {
12376 			if (yych <= '(') goto yy20;
12377 			goto yy115;
12378 		} else {
12379 			if (yych <= '@') goto yy20;
12380 			if (yych <= 'S') goto yy658;
12381 			goto yy676;
12382 		}
12383 	} else {
12384 		if (yych <= 's') {
12385 			if (yych <= 'Z') goto yy658;
12386 			if (yych <= '`') goto yy20;
12387 			goto yy658;
12388 		} else {
12389 			if (yych <= 't') goto yy676;
12390 			if (yych <= 'z') goto yy658;
12391 			goto yy20;
12392 		}
12393 	}
12394 yy494:
12395 	YYDEBUG(494, *YYCURSOR);
12396 	yych = *++YYCURSOR;
12397 	if (yych <= 'A') {
12398 		if (yych == ')') goto yy115;
12399 		if (yych <= '@') goto yy20;
12400 		goto yy677;
12401 	} else {
12402 		if (yych <= '`') {
12403 			if (yych <= 'Z') goto yy658;
12404 			goto yy20;
12405 		} else {
12406 			if (yych <= 'a') goto yy677;
12407 			if (yych <= 'z') goto yy658;
12408 			goto yy20;
12409 		}
12410 	}
12411 yy495:
12412 	YYDEBUG(495, *YYCURSOR);
12413 	yych = *++YYCURSOR;
12414 	if (yych <= 'T') {
12415 		if (yych <= ')') {
12416 			if (yych <= '(') goto yy20;
12417 			goto yy115;
12418 		} else {
12419 			if (yych <= '@') goto yy20;
12420 			if (yych <= 'S') goto yy658;
12421 			goto yy678;
12422 		}
12423 	} else {
12424 		if (yych <= 's') {
12425 			if (yych <= 'Z') goto yy658;
12426 			if (yych <= '`') goto yy20;
12427 			goto yy658;
12428 		} else {
12429 			if (yych <= 't') goto yy678;
12430 			if (yych <= 'z') goto yy658;
12431 			goto yy20;
12432 		}
12433 	}
12434 yy496:
12435 	YYDEBUG(496, *YYCURSOR);
12436 	yyaccept = 2;
12437 	yych = *(YYMARKER = ++YYCURSOR);
12438 	if (yych <= 'T') {
12439 		if (yych <= '-') {
12440 			if (yych == ')') goto yy115;
12441 			if (yych <= ',') goto yy20;
12442 			goto yy297;
12443 		} else {
12444 			if (yych == '/') goto yy297;
12445 			if (yych <= '@') goto yy20;
12446 			goto yy658;
12447 		}
12448 	} else {
12449 		if (yych <= '_') {
12450 			if (yych <= 'U') goto yy673;
12451 			if (yych <= 'Z') goto yy658;
12452 			if (yych <= '^') goto yy20;
12453 			goto yy297;
12454 		} else {
12455 			if (yych <= 't') {
12456 				if (yych <= '`') goto yy20;
12457 				goto yy663;
12458 			} else {
12459 				if (yych <= 'u') goto yy679;
12460 				if (yych <= 'z') goto yy663;
12461 				goto yy20;
12462 			}
12463 		}
12464 	}
12465 yy497:
12466 	YYDEBUG(497, *YYCURSOR);
12467 	yyaccept = 2;
12468 	yych = *(YYMARKER = ++YYCURSOR);
12469 	if (yych <= 'G') {
12470 		if (yych <= '-') {
12471 			if (yych == ')') goto yy115;
12472 			if (yych <= ',') goto yy20;
12473 			goto yy297;
12474 		} else {
12475 			if (yych == '/') goto yy297;
12476 			if (yych <= '@') goto yy20;
12477 			goto yy658;
12478 		}
12479 	} else {
12480 		if (yych <= '_') {
12481 			if (yych <= 'H') goto yy674;
12482 			if (yych <= 'Z') goto yy658;
12483 			if (yych <= '^') goto yy20;
12484 			goto yy297;
12485 		} else {
12486 			if (yych <= 'g') {
12487 				if (yych <= '`') goto yy20;
12488 				goto yy663;
12489 			} else {
12490 				if (yych <= 'h') goto yy680;
12491 				if (yych <= 'z') goto yy663;
12492 				goto yy20;
12493 			}
12494 		}
12495 	}
12496 yy498:
12497 	YYDEBUG(498, *YYCURSOR);
12498 	yyaccept = 2;
12499 	yych = *(YYMARKER = ++YYCURSOR);
12500 	if (yych <= 'S') {
12501 		if (yych <= '-') {
12502 			if (yych == ')') goto yy115;
12503 			if (yych <= ',') goto yy20;
12504 			goto yy297;
12505 		} else {
12506 			if (yych == '/') goto yy297;
12507 			if (yych <= '@') goto yy20;
12508 			goto yy658;
12509 		}
12510 	} else {
12511 		if (yych <= '_') {
12512 			if (yych <= 'T') goto yy675;
12513 			if (yych <= 'Z') goto yy658;
12514 			if (yych <= '^') goto yy20;
12515 			goto yy297;
12516 		} else {
12517 			if (yych <= 's') {
12518 				if (yych <= '`') goto yy20;
12519 				goto yy663;
12520 			} else {
12521 				if (yych <= 't') goto yy681;
12522 				if (yych <= 'z') goto yy663;
12523 				goto yy20;
12524 			}
12525 		}
12526 	}
12527 yy499:
12528 	YYDEBUG(499, *YYCURSOR);
12529 	yyaccept = 2;
12530 	yych = *(YYMARKER = ++YYCURSOR);
12531 	if (yych <= 'S') {
12532 		if (yych <= '-') {
12533 			if (yych == ')') goto yy115;
12534 			if (yych <= ',') goto yy20;
12535 			goto yy297;
12536 		} else {
12537 			if (yych == '/') goto yy297;
12538 			if (yych <= '@') goto yy20;
12539 			goto yy658;
12540 		}
12541 	} else {
12542 		if (yych <= '_') {
12543 			if (yych <= 'T') goto yy676;
12544 			if (yych <= 'Z') goto yy658;
12545 			if (yych <= '^') goto yy20;
12546 			goto yy297;
12547 		} else {
12548 			if (yych <= 's') {
12549 				if (yych <= '`') goto yy20;
12550 				goto yy663;
12551 			} else {
12552 				if (yych <= 't') goto yy682;
12553 				if (yych <= 'z') goto yy663;
12554 				goto yy20;
12555 			}
12556 		}
12557 	}
12558 yy500:
12559 	YYDEBUG(500, *YYCURSOR);
12560 	yyaccept = 2;
12561 	yych = *(YYMARKER = ++YYCURSOR);
12562 	if (yych <= '@') {
12563 		if (yych <= ',') {
12564 			if (yych == ')') goto yy115;
12565 			goto yy20;
12566 		} else {
12567 			if (yych == '.') goto yy20;
12568 			if (yych <= '/') goto yy297;
12569 			goto yy20;
12570 		}
12571 	} else {
12572 		if (yych <= '_') {
12573 			if (yych <= 'A') goto yy677;
12574 			if (yych <= 'Z') goto yy658;
12575 			if (yych <= '^') goto yy20;
12576 			goto yy297;
12577 		} else {
12578 			if (yych <= '`') goto yy20;
12579 			if (yych <= 'a') goto yy683;
12580 			if (yych <= 'z') goto yy663;
12581 			goto yy20;
12582 		}
12583 	}
12584 yy501:
12585 	YYDEBUG(501, *YYCURSOR);
12586 	yyaccept = 2;
12587 	yych = *(YYMARKER = ++YYCURSOR);
12588 	if (yych <= 'S') {
12589 		if (yych <= '-') {
12590 			if (yych == ')') goto yy115;
12591 			if (yych <= ',') goto yy20;
12592 			goto yy297;
12593 		} else {
12594 			if (yych == '/') goto yy297;
12595 			if (yych <= '@') goto yy20;
12596 			goto yy658;
12597 		}
12598 	} else {
12599 		if (yych <= '_') {
12600 			if (yych <= 'T') goto yy678;
12601 			if (yych <= 'Z') goto yy658;
12602 			if (yych <= '^') goto yy20;
12603 			goto yy297;
12604 		} else {
12605 			if (yych <= 's') {
12606 				if (yych <= '`') goto yy20;
12607 				goto yy663;
12608 			} else {
12609 				if (yych <= 't') goto yy684;
12610 				if (yych <= 'z') goto yy663;
12611 				goto yy20;
12612 			}
12613 		}
12614 	}
12615 yy502:
12616 	YYDEBUG(502, *YYCURSOR);
12617 	yych = *++YYCURSOR;
12618 	if (yych <= '/') goto yy59;
12619 	if (yych <= '1') goto yy685;
12620 	if (yych <= '2') goto yy686;
12621 	if (yych <= '9') goto yy687;
12622 	goto yy59;
12623 yy503:
12624 	YYDEBUG(503, *YYCURSOR);
12625 	yych = *++YYCURSOR;
12626 	if (yych <= '/') {
12627 		if (yych == '.') goto yy688;
12628 		goto yy59;
12629 	} else {
12630 		if (yych <= '0') goto yy689;
12631 		if (yych <= '9') goto yy506;
12632 		if (yych <= ':') goto yy688;
12633 		goto yy59;
12634 	}
12635 yy504:
12636 	YYDEBUG(504, *YYCURSOR);
12637 	yych = *++YYCURSOR;
12638 	if (yych <= '/') {
12639 		if (yych == '.') goto yy690;
12640 		goto yy59;
12641 	} else {
12642 		if (yych <= '2') goto yy506;
12643 		if (yych <= '9') goto yy689;
12644 		if (yych <= ':') goto yy690;
12645 		goto yy59;
12646 	}
12647 yy505:
12648 	YYDEBUG(505, *YYCURSOR);
12649 	yych = *++YYCURSOR;
12650 	if (yych <= '/') {
12651 		if (yych == '.') goto yy690;
12652 		goto yy59;
12653 	} else {
12654 		if (yych <= '4') goto yy689;
12655 		if (yych == ':') goto yy690;
12656 		goto yy59;
12657 	}
12658 yy506:
12659 	YYDEBUG(506, *YYCURSOR);
12660 	yych = *++YYCURSOR;
12661 	if (yych == '.') goto yy690;
12662 	if (yych == ':') goto yy690;
12663 	goto yy59;
12664 yy507:
12665 	YYDEBUG(507, *YYCURSOR);
12666 	yych = *++YYCURSOR;
12667 	if (yych <= '/') goto yy59;
12668 	if (yych <= '1') goto yy691;
12669 	if (yych <= '2') goto yy692;
12670 	if (yych <= '9') goto yy689;
12671 	goto yy59;
12672 yy508:
12673 	YYDEBUG(508, *YYCURSOR);
12674 	yyaccept = 10;
12675 	yych = *(YYMARKER = ++YYCURSOR);
12676 	if (yych <= '/') {
12677 		if (yych == '.') goto yy688;
12678 		goto yy325;
12679 	} else {
12680 		if (yych <= '0') goto yy693;
12681 		if (yych <= '9') goto yy694;
12682 		if (yych <= ':') goto yy688;
12683 		goto yy325;
12684 	}
12685 yy509:
12686 	YYDEBUG(509, *YYCURSOR);
12687 	yyaccept = 10;
12688 	yych = *(YYMARKER = ++YYCURSOR);
12689 	if (yych <= '/') {
12690 		if (yych == '.') goto yy690;
12691 		goto yy325;
12692 	} else {
12693 		if (yych <= '2') goto yy694;
12694 		if (yych <= '9') goto yy693;
12695 		if (yych <= ':') goto yy690;
12696 		goto yy325;
12697 	}
12698 yy510:
12699 	YYDEBUG(510, *YYCURSOR);
12700 	yyaccept = 10;
12701 	yych = *(YYMARKER = ++YYCURSOR);
12702 	if (yych <= '/') {
12703 		if (yych == '.') goto yy690;
12704 		goto yy325;
12705 	} else {
12706 		if (yych <= '4') goto yy693;
12707 		if (yych <= '9') goto yy695;
12708 		if (yych <= ':') goto yy690;
12709 		goto yy325;
12710 	}
12711 yy511:
12712 	YYDEBUG(511, *YYCURSOR);
12713 	yyaccept = 10;
12714 	yych = *(YYMARKER = ++YYCURSOR);
12715 	if (yych <= '/') {
12716 		if (yych == '.') goto yy690;
12717 		goto yy325;
12718 	} else {
12719 		if (yych <= '9') goto yy695;
12720 		if (yych <= ':') goto yy690;
12721 		goto yy325;
12722 	}
12723 yy512:
12724 	YYDEBUG(512, *YYCURSOR);
12725 	yych = *++YYCURSOR;
12726 	if (yych <= '/') goto yy59;
12727 	if (yych <= '9') goto yy696;
12728 	goto yy59;
12729 yy513:
12730 	YYDEBUG(513, *YYCURSOR);
12731 	yyaccept = 10;
12732 	yych = *(YYMARKER = ++YYCURSOR);
12733 	if (yych <= 0x00) goto yy324;
12734 	goto yy327;
12735 yy514:
12736 	YYDEBUG(514, *YYCURSOR);
12737 	yych = *++YYCURSOR;
12738 	if (yych <= 'A') {
12739 		if (yych == ')') goto yy115;
12740 		if (yych <= '@') goto yy20;
12741 		goto yy698;
12742 	} else {
12743 		if (yych <= '`') {
12744 			if (yych <= 'Z') goto yy658;
12745 			goto yy20;
12746 		} else {
12747 			if (yych <= 'a') goto yy698;
12748 			if (yych <= 'z') goto yy658;
12749 			goto yy20;
12750 		}
12751 	}
12752 yy515:
12753 	YYDEBUG(515, *YYCURSOR);
12754 	yyaccept = 7;
12755 	yych = *(YYMARKER = ++YYCURSOR);
12756 	if (yych <= ',') {
12757 		if (yych <= 0x1F) {
12758 			if (yych == '\t') goto yy142;
12759 			goto yy295;
12760 		} else {
12761 			if (yych <= ' ') goto yy142;
12762 			if (yych == ')') goto yy115;
12763 			goto yy295;
12764 		}
12765 	} else {
12766 		if (yych <= '@') {
12767 			if (yych == '/') goto yy295;
12768 			if (yych <= '9') goto yy142;
12769 			goto yy295;
12770 		} else {
12771 			if (yych <= 'Z') goto yy658;
12772 			if (yych <= '`') goto yy295;
12773 			if (yych <= 'z') goto yy658;
12774 			goto yy295;
12775 		}
12776 	}
12777 yy516:
12778 	YYDEBUG(516, *YYCURSOR);
12779 	yyaccept = 2;
12780 	yych = *(YYMARKER = ++YYCURSOR);
12781 	if (yych <= '@') {
12782 		if (yych <= ',') {
12783 			if (yych == ')') goto yy115;
12784 			goto yy20;
12785 		} else {
12786 			if (yych == '.') goto yy20;
12787 			if (yych <= '/') goto yy297;
12788 			goto yy20;
12789 		}
12790 	} else {
12791 		if (yych <= '_') {
12792 			if (yych <= 'A') goto yy698;
12793 			if (yych <= 'Z') goto yy658;
12794 			if (yych <= '^') goto yy20;
12795 			goto yy297;
12796 		} else {
12797 			if (yych <= '`') goto yy20;
12798 			if (yych <= 'a') goto yy699;
12799 			if (yych <= 'z') goto yy663;
12800 			goto yy20;
12801 		}
12802 	}
12803 yy517:
12804 	YYDEBUG(517, *YYCURSOR);
12805 	yyaccept = 7;
12806 	yych = *(YYMARKER = ++YYCURSOR);
12807 	if (yych <= '.') {
12808 		if (yych <= ' ') {
12809 			if (yych == '\t') goto yy142;
12810 			if (yych <= 0x1F) goto yy295;
12811 			goto yy142;
12812 		} else {
12813 			if (yych <= ')') {
12814 				if (yych <= '(') goto yy295;
12815 				goto yy115;
12816 			} else {
12817 				if (yych <= ',') goto yy295;
12818 				if (yych <= '-') goto yy700;
12819 				goto yy142;
12820 			}
12821 		}
12822 	} else {
12823 		if (yych <= 'Z') {
12824 			if (yych <= '/') goto yy297;
12825 			if (yych <= '9') goto yy142;
12826 			if (yych <= '@') goto yy295;
12827 			goto yy658;
12828 		} else {
12829 			if (yych <= '_') {
12830 				if (yych <= '^') goto yy295;
12831 				goto yy297;
12832 			} else {
12833 				if (yych <= '`') goto yy295;
12834 				if (yych <= 'z') goto yy663;
12835 				goto yy295;
12836 			}
12837 		}
12838 	}
12839 yy518:
12840 	YYDEBUG(518, *YYCURSOR);
12841 	yyaccept = 2;
12842 	yych = *(YYMARKER = ++YYCURSOR);
12843 	if (yych <= '@') {
12844 		if (yych <= 0x1F) {
12845 			if (yych == '\t') goto yy701;
12846 			goto yy20;
12847 		} else {
12848 			if (yych <= ' ') goto yy703;
12849 			if (yych == ')') goto yy115;
12850 			goto yy20;
12851 		}
12852 	} else {
12853 		if (yych <= 0xC1) {
12854 			if (yych <= 'Z') goto yy658;
12855 			if (yych <= '`') goto yy20;
12856 			if (yych <= 'z') goto yy658;
12857 			goto yy20;
12858 		} else {
12859 			if (yych <= 0xC2) goto yy704;
12860 			if (yych == 0xE2) goto yy705;
12861 			goto yy20;
12862 		}
12863 	}
12864 yy519:
12865 	YYDEBUG(519, *YYCURSOR);
12866 	yyaccept = 2;
12867 	yych = *(YYMARKER = ++YYCURSOR);
12868 	if (yych <= '/') {
12869 		if (yych <= '(') {
12870 			if (yych <= '\t') {
12871 				if (yych <= 0x08) goto yy20;
12872 				goto yy701;
12873 			} else {
12874 				if (yych == ' ') goto yy703;
12875 				goto yy20;
12876 			}
12877 		} else {
12878 			if (yych <= ',') {
12879 				if (yych <= ')') goto yy115;
12880 				goto yy20;
12881 			} else {
12882 				if (yych == '.') goto yy20;
12883 				goto yy297;
12884 			}
12885 		}
12886 	} else {
12887 		if (yych <= '`') {
12888 			if (yych <= 'Z') {
12889 				if (yych <= '@') goto yy20;
12890 				goto yy658;
12891 			} else {
12892 				if (yych == '_') goto yy297;
12893 				goto yy20;
12894 			}
12895 		} else {
12896 			if (yych <= 0xC2) {
12897 				if (yych <= 'z') goto yy663;
12898 				if (yych <= 0xC1) goto yy20;
12899 				goto yy704;
12900 			} else {
12901 				if (yych == 0xE2) goto yy705;
12902 				goto yy20;
12903 			}
12904 		}
12905 	}
12906 yy520:
12907 	YYDEBUG(520, *YYCURSOR);
12908 	yych = *++YYCURSOR;
12909 	if (yych <= 'H') {
12910 		if (yych <= ')') {
12911 			if (yych <= '(') goto yy20;
12912 			goto yy115;
12913 		} else {
12914 			if (yych <= '@') goto yy20;
12915 			if (yych <= 'G') goto yy658;
12916 			goto yy661;
12917 		}
12918 	} else {
12919 		if (yych <= 'g') {
12920 			if (yych <= 'Z') goto yy658;
12921 			if (yych <= '`') goto yy20;
12922 			goto yy658;
12923 		} else {
12924 			if (yych <= 'h') goto yy661;
12925 			if (yych <= 'z') goto yy658;
12926 			goto yy20;
12927 		}
12928 	}
12929 yy521:
12930 	YYDEBUG(521, *YYCURSOR);
12931 	yych = *++YYCURSOR;
12932 	if (yych <= 'I') {
12933 		if (yych <= ')') {
12934 			if (yych <= '(') goto yy20;
12935 			goto yy115;
12936 		} else {
12937 			if (yych <= '@') goto yy20;
12938 			if (yych <= 'H') goto yy658;
12939 			goto yy706;
12940 		}
12941 	} else {
12942 		if (yych <= 'h') {
12943 			if (yych <= 'Z') goto yy658;
12944 			if (yych <= '`') goto yy20;
12945 			goto yy658;
12946 		} else {
12947 			if (yych <= 'i') goto yy706;
12948 			if (yych <= 'z') goto yy658;
12949 			goto yy20;
12950 		}
12951 	}
12952 yy522:
12953 	YYDEBUG(522, *YYCURSOR);
12954 	yyaccept = 2;
12955 	yych = *(YYMARKER = ++YYCURSOR);
12956 	if (yych <= 'G') {
12957 		if (yych <= '-') {
12958 			if (yych == ')') goto yy115;
12959 			if (yych <= ',') goto yy20;
12960 			goto yy297;
12961 		} else {
12962 			if (yych == '/') goto yy297;
12963 			if (yych <= '@') goto yy20;
12964 			goto yy658;
12965 		}
12966 	} else {
12967 		if (yych <= '_') {
12968 			if (yych <= 'H') goto yy661;
12969 			if (yych <= 'Z') goto yy658;
12970 			if (yych <= '^') goto yy20;
12971 			goto yy297;
12972 		} else {
12973 			if (yych <= 'g') {
12974 				if (yych <= '`') goto yy20;
12975 				goto yy663;
12976 			} else {
12977 				if (yych <= 'h') goto yy664;
12978 				if (yych <= 'z') goto yy663;
12979 				goto yy20;
12980 			}
12981 		}
12982 	}
12983 yy523:
12984 	YYDEBUG(523, *YYCURSOR);
12985 	yyaccept = 2;
12986 	yych = *(YYMARKER = ++YYCURSOR);
12987 	if (yych <= 'H') {
12988 		if (yych <= '-') {
12989 			if (yych == ')') goto yy115;
12990 			if (yych <= ',') goto yy20;
12991 			goto yy297;
12992 		} else {
12993 			if (yych == '/') goto yy297;
12994 			if (yych <= '@') goto yy20;
12995 			goto yy658;
12996 		}
12997 	} else {
12998 		if (yych <= '_') {
12999 			if (yych <= 'I') goto yy706;
13000 			if (yych <= 'Z') goto yy658;
13001 			if (yych <= '^') goto yy20;
13002 			goto yy297;
13003 		} else {
13004 			if (yych <= 'h') {
13005 				if (yych <= '`') goto yy20;
13006 				goto yy663;
13007 			} else {
13008 				if (yych <= 'i') goto yy707;
13009 				if (yych <= 'z') goto yy663;
13010 				goto yy20;
13011 			}
13012 		}
13013 	}
13014 yy524:
13015 	YYDEBUG(524, *YYCURSOR);
13016 	yyaccept = 2;
13017 	yych = *(YYMARKER = ++YYCURSOR);
13018 	if (yych <= '@') {
13019 		if (yych <= 0x1F) {
13020 			if (yych == '\t') goto yy701;
13021 			goto yy20;
13022 		} else {
13023 			if (yych <= ' ') goto yy701;
13024 			if (yych == ')') goto yy115;
13025 			goto yy20;
13026 		}
13027 	} else {
13028 		if (yych <= 0xC1) {
13029 			if (yych <= 'Z') goto yy658;
13030 			if (yych <= '`') goto yy20;
13031 			if (yych <= 'z') goto yy658;
13032 			goto yy20;
13033 		} else {
13034 			if (yych <= 0xC2) goto yy704;
13035 			if (yych == 0xE2) goto yy705;
13036 			goto yy20;
13037 		}
13038 	}
13039 yy525:
13040 	YYDEBUG(525, *YYCURSOR);
13041 	yych = *++YYCURSOR;
13042 	if (yych <= '@') {
13043 		if (yych == ')') goto yy115;
13044 	} else {
13045 		if (yych <= 'Z') goto yy658;
13046 		if (yych <= '`') goto yy526;
13047 		if (yych <= 'z') goto yy658;
13048 	}
13049 yy526:
13050 	YYDEBUG(526, *YYCURSOR);
13051 #line 1177 "ext/date/lib/parse_date.re"
13052 	{
13053 		DEBUG_OUTPUT("noon");
13054 		TIMELIB_INIT;
13055 		TIMELIB_UNHAVE_TIME();
13056 		TIMELIB_HAVE_TIME();
13057 		s->time->h = 12;
13058 
13059 		TIMELIB_DEINIT;
13060 		return TIMELIB_RELATIVE;
13061 	}
13062 #line 13063 "<stdout>"
13063 yy527:
13064 	YYDEBUG(527, *YYCURSOR);
13065 	yyaccept = 2;
13066 	yych = *(YYMARKER = ++YYCURSOR);
13067 	if (yych <= '/') {
13068 		if (yych <= '(') {
13069 			if (yych <= '\t') {
13070 				if (yych <= 0x08) goto yy20;
13071 				goto yy701;
13072 			} else {
13073 				if (yych == ' ') goto yy701;
13074 				goto yy20;
13075 			}
13076 		} else {
13077 			if (yych <= ',') {
13078 				if (yych <= ')') goto yy115;
13079 				goto yy20;
13080 			} else {
13081 				if (yych == '.') goto yy20;
13082 				goto yy297;
13083 			}
13084 		}
13085 	} else {
13086 		if (yych <= '`') {
13087 			if (yych <= 'Z') {
13088 				if (yych <= '@') goto yy20;
13089 				goto yy658;
13090 			} else {
13091 				if (yych == '_') goto yy297;
13092 				goto yy20;
13093 			}
13094 		} else {
13095 			if (yych <= 0xC2) {
13096 				if (yych <= 'z') goto yy663;
13097 				if (yych <= 0xC1) goto yy20;
13098 				goto yy704;
13099 			} else {
13100 				if (yych == 0xE2) goto yy705;
13101 				goto yy20;
13102 			}
13103 		}
13104 	}
13105 yy528:
13106 	YYDEBUG(528, *YYCURSOR);
13107 	yyaccept = 14;
13108 	yych = *(YYMARKER = ++YYCURSOR);
13109 	if (yych <= '/') {
13110 		if (yych <= ',') {
13111 			if (yych == ')') goto yy115;
13112 			goto yy526;
13113 		} else {
13114 			if (yych == '.') goto yy526;
13115 			goto yy297;
13116 		}
13117 	} else {
13118 		if (yych <= '^') {
13119 			if (yych <= '@') goto yy526;
13120 			if (yych <= 'Z') goto yy658;
13121 			goto yy526;
13122 		} else {
13123 			if (yych <= '_') goto yy297;
13124 			if (yych <= '`') goto yy526;
13125 			if (yych <= 'z') goto yy663;
13126 			goto yy526;
13127 		}
13128 	}
13129 yy529:
13130 	YYDEBUG(529, *YYCURSOR);
13131 	yych = *++YYCURSOR;
13132 	if (yych <= 'B') {
13133 		if (yych <= ')') {
13134 			if (yych <= '(') goto yy20;
13135 			goto yy115;
13136 		} else {
13137 			if (yych <= '@') goto yy20;
13138 			if (yych <= 'A') goto yy658;
13139 			goto yy708;
13140 		}
13141 	} else {
13142 		if (yych <= 'a') {
13143 			if (yych <= 'Z') goto yy658;
13144 			if (yych <= '`') goto yy20;
13145 			goto yy658;
13146 		} else {
13147 			if (yych <= 'b') goto yy708;
13148 			if (yych <= 'z') goto yy658;
13149 			goto yy20;
13150 		}
13151 	}
13152 yy530:
13153 	YYDEBUG(530, *YYCURSOR);
13154 	yyaccept = 2;
13155 	yych = *(YYMARKER = ++YYCURSOR);
13156 	if (yych <= 'A') {
13157 		if (yych <= '-') {
13158 			if (yych == ')') goto yy115;
13159 			if (yych <= ',') goto yy20;
13160 			goto yy297;
13161 		} else {
13162 			if (yych == '/') goto yy297;
13163 			if (yych <= '@') goto yy20;
13164 			goto yy658;
13165 		}
13166 	} else {
13167 		if (yych <= '_') {
13168 			if (yych <= 'B') goto yy708;
13169 			if (yych <= 'Z') goto yy658;
13170 			if (yych <= '^') goto yy20;
13171 			goto yy297;
13172 		} else {
13173 			if (yych <= 'a') {
13174 				if (yych <= '`') goto yy20;
13175 				goto yy663;
13176 			} else {
13177 				if (yych <= 'b') goto yy709;
13178 				if (yych <= 'z') goto yy663;
13179 				goto yy20;
13180 			}
13181 		}
13182 	}
13183 yy531:
13184 	YYDEBUG(531, *YYCURSOR);
13185 	yych = *++YYCURSOR;
13186 	if (yych <= 'I') {
13187 		if (yych <= ')') {
13188 			if (yych <= '(') goto yy20;
13189 			goto yy115;
13190 		} else {
13191 			if (yych <= '@') goto yy20;
13192 			if (yych <= 'H') goto yy658;
13193 			goto yy710;
13194 		}
13195 	} else {
13196 		if (yych <= 'h') {
13197 			if (yych <= 'Z') goto yy658;
13198 			if (yych <= '`') goto yy20;
13199 			goto yy658;
13200 		} else {
13201 			if (yych <= 'i') goto yy710;
13202 			if (yych <= 'z') goto yy658;
13203 			goto yy20;
13204 		}
13205 	}
13206 yy532:
13207 	YYDEBUG(532, *YYCURSOR);
13208 	yyaccept = 2;
13209 	yych = *(YYMARKER = ++YYCURSOR);
13210 	if (yych <= 'H') {
13211 		if (yych <= '-') {
13212 			if (yych == ')') goto yy115;
13213 			if (yych <= ',') goto yy20;
13214 			goto yy297;
13215 		} else {
13216 			if (yych == '/') goto yy297;
13217 			if (yych <= '@') goto yy20;
13218 			goto yy658;
13219 		}
13220 	} else {
13221 		if (yych <= '_') {
13222 			if (yych <= 'I') goto yy710;
13223 			if (yych <= 'Z') goto yy658;
13224 			if (yych <= '^') goto yy20;
13225 			goto yy297;
13226 		} else {
13227 			if (yych <= 'h') {
13228 				if (yych <= '`') goto yy20;
13229 				goto yy663;
13230 			} else {
13231 				if (yych <= 'i') goto yy711;
13232 				if (yych <= 'z') goto yy663;
13233 				goto yy20;
13234 			}
13235 		}
13236 	}
13237 yy533:
13238 	YYDEBUG(533, *YYCURSOR);
13239 	yych = *++YYCURSOR;
13240 	if (yych <= 'R') {
13241 		if (yych <= ')') {
13242 			if (yych <= '(') goto yy20;
13243 			goto yy115;
13244 		} else {
13245 			if (yych <= '@') goto yy20;
13246 			if (yych <= 'Q') goto yy658;
13247 			goto yy712;
13248 		}
13249 	} else {
13250 		if (yych <= 'q') {
13251 			if (yych <= 'Z') goto yy658;
13252 			if (yych <= '`') goto yy20;
13253 			goto yy658;
13254 		} else {
13255 			if (yych <= 'r') goto yy712;
13256 			if (yych <= 'z') goto yy658;
13257 			goto yy20;
13258 		}
13259 	}
13260 yy534:
13261 	YYDEBUG(534, *YYCURSOR);
13262 	yych = *++YYCURSOR;
13263 	if (yych <= 'N') {
13264 		if (yych <= ')') {
13265 			if (yych <= '(') goto yy20;
13266 			goto yy115;
13267 		} else {
13268 			if (yych <= '@') goto yy20;
13269 			if (yych <= 'M') goto yy658;
13270 			goto yy713;
13271 		}
13272 	} else {
13273 		if (yych <= 'm') {
13274 			if (yych <= 'Z') goto yy658;
13275 			if (yych <= '`') goto yy20;
13276 			goto yy658;
13277 		} else {
13278 			if (yych <= 'n') goto yy713;
13279 			if (yych <= 'z') goto yy658;
13280 			goto yy20;
13281 		}
13282 	}
13283 yy535:
13284 	YYDEBUG(535, *YYCURSOR);
13285 	yyaccept = 7;
13286 	yych = *(YYMARKER = ++YYCURSOR);
13287 	if (yych <= '/') {
13288 		if (yych <= '(') {
13289 			if (yych <= '\t') {
13290 				if (yych <= 0x08) goto yy295;
13291 				goto yy142;
13292 			} else {
13293 				if (yych == ' ') goto yy142;
13294 				goto yy295;
13295 			}
13296 		} else {
13297 			if (yych <= ',') {
13298 				if (yych <= ')') goto yy115;
13299 				goto yy295;
13300 			} else {
13301 				if (yych <= '-') goto yy473;
13302 				if (yych <= '.') goto yy142;
13303 				goto yy295;
13304 			}
13305 		}
13306 	} else {
13307 		if (yych <= 'Z') {
13308 			if (yych <= '@') {
13309 				if (yych <= '9') goto yy142;
13310 				goto yy295;
13311 			} else {
13312 				if (yych == 'E') goto yy714;
13313 				goto yy658;
13314 			}
13315 		} else {
13316 			if (yych <= 'd') {
13317 				if (yych <= '`') goto yy295;
13318 				goto yy658;
13319 			} else {
13320 				if (yych <= 'e') goto yy714;
13321 				if (yych <= 'z') goto yy658;
13322 				goto yy295;
13323 			}
13324 		}
13325 	}
13326 yy536:
13327 	YYDEBUG(536, *YYCURSOR);
13328 	yych = *++YYCURSOR;
13329 	if (yych <= 'N') {
13330 		if (yych <= ')') {
13331 			if (yych <= '(') goto yy20;
13332 			goto yy115;
13333 		} else {
13334 			if (yych <= '@') goto yy20;
13335 			if (yych <= 'M') goto yy658;
13336 			goto yy715;
13337 		}
13338 	} else {
13339 		if (yych <= 'm') {
13340 			if (yych <= 'Z') goto yy658;
13341 			if (yych <= '`') goto yy20;
13342 			goto yy658;
13343 		} else {
13344 			if (yych <= 'n') goto yy715;
13345 			if (yych <= 'z') goto yy658;
13346 			goto yy20;
13347 		}
13348 	}
13349 yy537:
13350 	YYDEBUG(537, *YYCURSOR);
13351 	yyaccept = 2;
13352 	yych = *(YYMARKER = ++YYCURSOR);
13353 	if (yych <= 'Q') {
13354 		if (yych <= '-') {
13355 			if (yych == ')') goto yy115;
13356 			if (yych <= ',') goto yy20;
13357 			goto yy297;
13358 		} else {
13359 			if (yych == '/') goto yy297;
13360 			if (yych <= '@') goto yy20;
13361 			goto yy658;
13362 		}
13363 	} else {
13364 		if (yych <= '_') {
13365 			if (yych <= 'R') goto yy712;
13366 			if (yych <= 'Z') goto yy658;
13367 			if (yych <= '^') goto yy20;
13368 			goto yy297;
13369 		} else {
13370 			if (yych <= 'q') {
13371 				if (yych <= '`') goto yy20;
13372 				goto yy663;
13373 			} else {
13374 				if (yych <= 'r') goto yy716;
13375 				if (yych <= 'z') goto yy663;
13376 				goto yy20;
13377 			}
13378 		}
13379 	}
13380 yy538:
13381 	YYDEBUG(538, *YYCURSOR);
13382 	yyaccept = 2;
13383 	yych = *(YYMARKER = ++YYCURSOR);
13384 	if (yych <= 'M') {
13385 		if (yych <= '-') {
13386 			if (yych == ')') goto yy115;
13387 			if (yych <= ',') goto yy20;
13388 			goto yy297;
13389 		} else {
13390 			if (yych == '/') goto yy297;
13391 			if (yych <= '@') goto yy20;
13392 			goto yy658;
13393 		}
13394 	} else {
13395 		if (yych <= '_') {
13396 			if (yych <= 'N') goto yy713;
13397 			if (yych <= 'Z') goto yy658;
13398 			if (yych <= '^') goto yy20;
13399 			goto yy297;
13400 		} else {
13401 			if (yych <= 'm') {
13402 				if (yych <= '`') goto yy20;
13403 				goto yy663;
13404 			} else {
13405 				if (yych <= 'n') goto yy717;
13406 				if (yych <= 'z') goto yy663;
13407 				goto yy20;
13408 			}
13409 		}
13410 	}
13411 yy539:
13412 	YYDEBUG(539, *YYCURSOR);
13413 	yyaccept = 7;
13414 	yych = *(YYMARKER = ++YYCURSOR);
13415 	if (yych <= '9') {
13416 		if (yych <= '(') {
13417 			if (yych <= '\t') {
13418 				if (yych <= 0x08) goto yy295;
13419 				goto yy142;
13420 			} else {
13421 				if (yych == ' ') goto yy142;
13422 				goto yy295;
13423 			}
13424 		} else {
13425 			if (yych <= '-') {
13426 				if (yych <= ')') goto yy115;
13427 				if (yych <= ',') goto yy295;
13428 				goto yy479;
13429 			} else {
13430 				if (yych == '/') goto yy297;
13431 				goto yy142;
13432 			}
13433 		}
13434 	} else {
13435 		if (yych <= '^') {
13436 			if (yych <= 'D') {
13437 				if (yych <= '@') goto yy295;
13438 				goto yy658;
13439 			} else {
13440 				if (yych <= 'E') goto yy714;
13441 				if (yych <= 'Z') goto yy658;
13442 				goto yy295;
13443 			}
13444 		} else {
13445 			if (yych <= 'd') {
13446 				if (yych <= '_') goto yy297;
13447 				if (yych <= '`') goto yy295;
13448 				goto yy663;
13449 			} else {
13450 				if (yych <= 'e') goto yy718;
13451 				if (yych <= 'z') goto yy663;
13452 				goto yy295;
13453 			}
13454 		}
13455 	}
13456 yy540:
13457 	YYDEBUG(540, *YYCURSOR);
13458 	yyaccept = 2;
13459 	yych = *(YYMARKER = ++YYCURSOR);
13460 	if (yych <= 'M') {
13461 		if (yych <= '-') {
13462 			if (yych == ')') goto yy115;
13463 			if (yych <= ',') goto yy20;
13464 			goto yy297;
13465 		} else {
13466 			if (yych == '/') goto yy297;
13467 			if (yych <= '@') goto yy20;
13468 			goto yy658;
13469 		}
13470 	} else {
13471 		if (yych <= '_') {
13472 			if (yych <= 'N') goto yy715;
13473 			if (yych <= 'Z') goto yy658;
13474 			if (yych <= '^') goto yy20;
13475 			goto yy297;
13476 		} else {
13477 			if (yych <= 'm') {
13478 				if (yych <= '`') goto yy20;
13479 				goto yy663;
13480 			} else {
13481 				if (yych <= 'n') goto yy719;
13482 				if (yych <= 'z') goto yy663;
13483 				goto yy20;
13484 			}
13485 		}
13486 	}
13487 yy541:
13488 	YYDEBUG(541, *YYCURSOR);
13489 	yych = *++YYCURSOR;
13490 	if (yych <= '/') goto yy59;
13491 	if (yych <= '9') goto yy720;
13492 	goto yy59;
13493 yy542:
13494 	YYDEBUG(542, *YYCURSOR);
13495 	yych = *++YYCURSOR;
13496 	if (yych <= 'D') {
13497 		if (yych <= ')') {
13498 			if (yych <= '(') goto yy20;
13499 			goto yy115;
13500 		} else {
13501 			if (yych <= '@') goto yy20;
13502 			if (yych <= 'C') goto yy658;
13503 			goto yy674;
13504 		}
13505 	} else {
13506 		if (yych <= 'c') {
13507 			if (yych <= 'Z') goto yy658;
13508 			if (yych <= '`') goto yy20;
13509 			goto yy658;
13510 		} else {
13511 			if (yych <= 'd') goto yy674;
13512 			if (yych <= 'z') goto yy658;
13513 			goto yy20;
13514 		}
13515 	}
13516 yy543:
13517 	YYDEBUG(543, *YYCURSOR);
13518 	yych = *++YYCURSOR;
13519 	if (yych <= 'S') {
13520 		if (yych <= ')') {
13521 			if (yych <= '(') goto yy20;
13522 			goto yy115;
13523 		} else {
13524 			if (yych <= '@') goto yy20;
13525 			if (yych <= 'R') goto yy658;
13526 			goto yy712;
13527 		}
13528 	} else {
13529 		if (yych <= 'r') {
13530 			if (yych <= 'Z') goto yy658;
13531 			if (yych <= '`') goto yy20;
13532 			goto yy658;
13533 		} else {
13534 			if (yych <= 's') goto yy712;
13535 			if (yych <= 'z') goto yy658;
13536 			goto yy20;
13537 		}
13538 	}
13539 yy544:
13540 	YYDEBUG(544, *YYCURSOR);
13541 	yych = *++YYCURSOR;
13542 	if (yych <= 'Y') {
13543 		if (yych <= ')') {
13544 			if (yych <= '(') goto yy20;
13545 			goto yy115;
13546 		} else {
13547 			if (yych <= '@') goto yy20;
13548 			if (yych <= 'X') goto yy658;
13549 			goto yy721;
13550 		}
13551 	} else {
13552 		if (yych <= 'x') {
13553 			if (yych <= 'Z') goto yy658;
13554 			if (yych <= '`') goto yy20;
13555 			goto yy658;
13556 		} else {
13557 			if (yych <= 'y') goto yy721;
13558 			if (yych <= 'z') goto yy658;
13559 			goto yy20;
13560 		}
13561 	}
13562 yy545:
13563 	YYDEBUG(545, *YYCURSOR);
13564 	yych = *++YYCURSOR;
13565 	if (yych <= 'R') {
13566 		if (yych <= ')') {
13567 			if (yych <= '(') goto yy20;
13568 			goto yy115;
13569 		} else {
13570 			if (yych <= '@') goto yy20;
13571 			if (yych <= 'Q') goto yy658;
13572 			goto yy723;
13573 		}
13574 	} else {
13575 		if (yych <= 'q') {
13576 			if (yych <= 'Z') goto yy658;
13577 			if (yych <= '`') goto yy20;
13578 			goto yy658;
13579 		} else {
13580 			if (yych <= 'r') goto yy723;
13581 			if (yych <= 'z') goto yy658;
13582 			goto yy20;
13583 		}
13584 	}
13585 yy546:
13586 	YYDEBUG(546, *YYCURSOR);
13587 	yych = *++YYCURSOR;
13588 	if (yych <= 'D') {
13589 		if (yych <= ')') {
13590 			if (yych <= '(') goto yy20;
13591 			goto yy115;
13592 		} else {
13593 			if (yych <= '@') goto yy20;
13594 			if (yych <= 'C') goto yy658;
13595 			goto yy724;
13596 		}
13597 	} else {
13598 		if (yych <= 'c') {
13599 			if (yych <= 'Z') goto yy658;
13600 			if (yych <= '`') goto yy20;
13601 			goto yy658;
13602 		} else {
13603 			if (yych <= 'd') goto yy724;
13604 			if (yych <= 'z') goto yy658;
13605 			goto yy20;
13606 		}
13607 	}
13608 yy547:
13609 	YYDEBUG(547, *YYCURSOR);
13610 	yych = *++YYCURSOR;
13611 	if (yych <= 'F') {
13612 		if (yych <= ')') {
13613 			if (yych <= '(') goto yy20;
13614 			goto yy115;
13615 		} else {
13616 			if (yych <= '@') goto yy20;
13617 			if (yych <= 'E') goto yy658;
13618 			goto yy715;
13619 		}
13620 	} else {
13621 		if (yych <= 'e') {
13622 			if (yych <= 'Z') goto yy658;
13623 			if (yych <= '`') goto yy20;
13624 			goto yy658;
13625 		} else {
13626 			if (yych <= 'f') goto yy715;
13627 			if (yych <= 'z') goto yy658;
13628 			goto yy20;
13629 		}
13630 	}
13631 yy548:
13632 	YYDEBUG(548, *YYCURSOR);
13633 	yyaccept = 2;
13634 	yych = *(YYMARKER = ++YYCURSOR);
13635 	if (yych <= 'C') {
13636 		if (yych <= '-') {
13637 			if (yych == ')') goto yy115;
13638 			if (yych <= ',') goto yy20;
13639 			goto yy297;
13640 		} else {
13641 			if (yych == '/') goto yy297;
13642 			if (yych <= '@') goto yy20;
13643 			goto yy658;
13644 		}
13645 	} else {
13646 		if (yych <= '_') {
13647 			if (yych <= 'D') goto yy674;
13648 			if (yych <= 'Z') goto yy658;
13649 			if (yych <= '^') goto yy20;
13650 			goto yy297;
13651 		} else {
13652 			if (yych <= 'c') {
13653 				if (yych <= '`') goto yy20;
13654 				goto yy663;
13655 			} else {
13656 				if (yych <= 'd') goto yy680;
13657 				if (yych <= 'z') goto yy663;
13658 				goto yy20;
13659 			}
13660 		}
13661 	}
13662 yy549:
13663 	YYDEBUG(549, *YYCURSOR);
13664 	yyaccept = 2;
13665 	yych = *(YYMARKER = ++YYCURSOR);
13666 	if (yych <= 'R') {
13667 		if (yych <= '-') {
13668 			if (yych == ')') goto yy115;
13669 			if (yych <= ',') goto yy20;
13670 			goto yy297;
13671 		} else {
13672 			if (yych == '/') goto yy297;
13673 			if (yych <= '@') goto yy20;
13674 			goto yy658;
13675 		}
13676 	} else {
13677 		if (yych <= '_') {
13678 			if (yych <= 'S') goto yy712;
13679 			if (yych <= 'Z') goto yy658;
13680 			if (yych <= '^') goto yy20;
13681 			goto yy297;
13682 		} else {
13683 			if (yych <= 'r') {
13684 				if (yych <= '`') goto yy20;
13685 				goto yy663;
13686 			} else {
13687 				if (yych <= 's') goto yy716;
13688 				if (yych <= 'z') goto yy663;
13689 				goto yy20;
13690 			}
13691 		}
13692 	}
13693 yy550:
13694 	YYDEBUG(550, *YYCURSOR);
13695 	yyaccept = 2;
13696 	yych = *(YYMARKER = ++YYCURSOR);
13697 	if (yych <= 'X') {
13698 		if (yych <= '-') {
13699 			if (yych == ')') goto yy115;
13700 			if (yych <= ',') goto yy20;
13701 			goto yy297;
13702 		} else {
13703 			if (yych == '/') goto yy297;
13704 			if (yych <= '@') goto yy20;
13705 			goto yy658;
13706 		}
13707 	} else {
13708 		if (yych <= '_') {
13709 			if (yych <= 'Y') goto yy721;
13710 			if (yych <= 'Z') goto yy658;
13711 			if (yych <= '^') goto yy20;
13712 			goto yy297;
13713 		} else {
13714 			if (yych <= 'x') {
13715 				if (yych <= '`') goto yy20;
13716 				goto yy663;
13717 			} else {
13718 				if (yych <= 'y') goto yy725;
13719 				if (yych <= 'z') goto yy663;
13720 				goto yy20;
13721 			}
13722 		}
13723 	}
13724 yy551:
13725 	YYDEBUG(551, *YYCURSOR);
13726 	yyaccept = 2;
13727 	yych = *(YYMARKER = ++YYCURSOR);
13728 	if (yych <= 'Q') {
13729 		if (yych <= '-') {
13730 			if (yych == ')') goto yy115;
13731 			if (yych <= ',') goto yy20;
13732 			goto yy297;
13733 		} else {
13734 			if (yych == '/') goto yy297;
13735 			if (yych <= '@') goto yy20;
13736 			goto yy658;
13737 		}
13738 	} else {
13739 		if (yych <= '_') {
13740 			if (yych <= 'R') goto yy723;
13741 			if (yych <= 'Z') goto yy658;
13742 			if (yych <= '^') goto yy20;
13743 			goto yy297;
13744 		} else {
13745 			if (yych <= 'q') {
13746 				if (yych <= '`') goto yy20;
13747 				goto yy663;
13748 			} else {
13749 				if (yych <= 'r') goto yy726;
13750 				if (yych <= 'z') goto yy663;
13751 				goto yy20;
13752 			}
13753 		}
13754 	}
13755 yy552:
13756 	YYDEBUG(552, *YYCURSOR);
13757 	yyaccept = 2;
13758 	yych = *(YYMARKER = ++YYCURSOR);
13759 	if (yych <= 'C') {
13760 		if (yych <= '-') {
13761 			if (yych == ')') goto yy115;
13762 			if (yych <= ',') goto yy20;
13763 			goto yy297;
13764 		} else {
13765 			if (yych == '/') goto yy297;
13766 			if (yych <= '@') goto yy20;
13767 			goto yy658;
13768 		}
13769 	} else {
13770 		if (yych <= '_') {
13771 			if (yych <= 'D') goto yy724;
13772 			if (yych <= 'Z') goto yy658;
13773 			if (yych <= '^') goto yy20;
13774 			goto yy297;
13775 		} else {
13776 			if (yych <= 'c') {
13777 				if (yych <= '`') goto yy20;
13778 				goto yy663;
13779 			} else {
13780 				if (yych <= 'd') goto yy727;
13781 				if (yych <= 'z') goto yy663;
13782 				goto yy20;
13783 			}
13784 		}
13785 	}
13786 yy553:
13787 	YYDEBUG(553, *YYCURSOR);
13788 	yyaccept = 2;
13789 	yych = *(YYMARKER = ++YYCURSOR);
13790 	if (yych <= 'E') {
13791 		if (yych <= '-') {
13792 			if (yych == ')') goto yy115;
13793 			if (yych <= ',') goto yy20;
13794 			goto yy297;
13795 		} else {
13796 			if (yych == '/') goto yy297;
13797 			if (yych <= '@') goto yy20;
13798 			goto yy658;
13799 		}
13800 	} else {
13801 		if (yych <= '_') {
13802 			if (yych <= 'F') goto yy715;
13803 			if (yych <= 'Z') goto yy658;
13804 			if (yych <= '^') goto yy20;
13805 			goto yy297;
13806 		} else {
13807 			if (yych <= 'e') {
13808 				if (yych <= '`') goto yy20;
13809 				goto yy663;
13810 			} else {
13811 				if (yych <= 'f') goto yy719;
13812 				if (yych <= 'z') goto yy663;
13813 				goto yy20;
13814 			}
13815 		}
13816 	}
13817 yy554:
13818 	YYDEBUG(554, *YYCURSOR);
13819 	yyaccept = 2;
13820 	yych = *(YYMARKER = ++YYCURSOR);
13821 	if (yych <= ',') {
13822 		if (yych <= 0x1F) {
13823 			if (yych == '\t') goto yy142;
13824 			goto yy20;
13825 		} else {
13826 			if (yych <= ' ') goto yy142;
13827 			if (yych == ')') goto yy115;
13828 			goto yy20;
13829 		}
13830 	} else {
13831 		if (yych <= '@') {
13832 			if (yych == '/') goto yy20;
13833 			if (yych <= '9') goto yy142;
13834 			goto yy20;
13835 		} else {
13836 			if (yych <= 'Z') goto yy658;
13837 			if (yych <= '`') goto yy20;
13838 			if (yych <= 'z') goto yy658;
13839 			goto yy20;
13840 		}
13841 	}
13842 yy555:
13843 	YYDEBUG(555, *YYCURSOR);
13844 	yych = *++YYCURSOR;
13845 	if (yych <= 'E') {
13846 		if (yych <= ')') {
13847 			if (yych <= '(') goto yy20;
13848 			goto yy115;
13849 		} else {
13850 			if (yych <= '@') goto yy20;
13851 			if (yych <= 'D') goto yy658;
13852 			goto yy728;
13853 		}
13854 	} else {
13855 		if (yych <= 'd') {
13856 			if (yych <= 'Z') goto yy658;
13857 			if (yych <= '`') goto yy20;
13858 			goto yy658;
13859 		} else {
13860 			if (yych <= 'e') goto yy728;
13861 			if (yych <= 'z') goto yy658;
13862 			goto yy20;
13863 		}
13864 	}
13865 yy556:
13866 	YYDEBUG(556, *YYCURSOR);
13867 	yyaccept = 2;
13868 	yych = *(YYMARKER = ++YYCURSOR);
13869 	if (yych <= 'D') {
13870 		if (yych <= '-') {
13871 			if (yych == ')') goto yy115;
13872 			if (yych <= ',') goto yy20;
13873 			goto yy297;
13874 		} else {
13875 			if (yych == '/') goto yy297;
13876 			if (yych <= '@') goto yy20;
13877 			goto yy658;
13878 		}
13879 	} else {
13880 		if (yych <= '_') {
13881 			if (yych <= 'E') goto yy728;
13882 			if (yych <= 'Z') goto yy658;
13883 			if (yych <= '^') goto yy20;
13884 			goto yy297;
13885 		} else {
13886 			if (yych <= 'd') {
13887 				if (yych <= '`') goto yy20;
13888 				goto yy663;
13889 			} else {
13890 				if (yych <= 'e') goto yy729;
13891 				if (yych <= 'z') goto yy663;
13892 				goto yy20;
13893 			}
13894 		}
13895 	}
13896 yy557:
13897 	YYDEBUG(557, *YYCURSOR);
13898 	yych = *++YYCURSOR;
13899 	if (yych <= 'E') {
13900 		if (yych <= ')') {
13901 			if (yych <= '(') goto yy20;
13902 			goto yy115;
13903 		} else {
13904 			if (yych <= '@') goto yy20;
13905 			if (yych <= 'D') goto yy658;
13906 			goto yy730;
13907 		}
13908 	} else {
13909 		if (yych <= 'd') {
13910 			if (yych <= 'Z') goto yy658;
13911 			if (yych <= '`') goto yy20;
13912 			goto yy658;
13913 		} else {
13914 			if (yych <= 'e') goto yy730;
13915 			if (yych <= 'z') goto yy658;
13916 			goto yy20;
13917 		}
13918 	}
13919 yy558:
13920 	YYDEBUG(558, *YYCURSOR);
13921 	yyaccept = 2;
13922 	yych = *(YYMARKER = ++YYCURSOR);
13923 	if (yych <= 'D') {
13924 		if (yych <= '-') {
13925 			if (yych == ')') goto yy115;
13926 			if (yych <= ',') goto yy20;
13927 			goto yy297;
13928 		} else {
13929 			if (yych == '/') goto yy297;
13930 			if (yych <= '@') goto yy20;
13931 			goto yy658;
13932 		}
13933 	} else {
13934 		if (yych <= '_') {
13935 			if (yych <= 'E') goto yy730;
13936 			if (yych <= 'Z') goto yy658;
13937 			if (yych <= '^') goto yy20;
13938 			goto yy297;
13939 		} else {
13940 			if (yych <= 'd') {
13941 				if (yych <= '`') goto yy20;
13942 				goto yy663;
13943 			} else {
13944 				if (yych <= 'e') goto yy731;
13945 				if (yych <= 'z') goto yy663;
13946 				goto yy20;
13947 			}
13948 		}
13949 	}
13950 yy559:
13951 	YYDEBUG(559, *YYCURSOR);
13952 	++YYCURSOR;
13953 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
13954 	yych = *YYCURSOR;
13955 	if (yych == 0x80) goto yy194;
13956 	goto yy59;
13957 yy560:
13958 	YYDEBUG(560, *YYCURSOR);
13959 	yych = *++YYCURSOR;
13960 	if (yych <= 0xC1) {
13961 		if (yych <= '/') goto yy196;
13962 		if (yych <= '9') goto yy594;
13963 		goto yy196;
13964 	} else {
13965 		if (yych <= 0xC2) goto yy97;
13966 		if (yych == 0xE2) goto yy98;
13967 		goto yy196;
13968 	}
13969 yy561:
13970 	YYDEBUG(561, *YYCURSOR);
13971 	yyaccept = 2;
13972 	yych = *(YYMARKER = ++YYCURSOR);
13973 	if (yych <= 'V') {
13974 		if (yych <= '9') {
13975 			if (yych <= ',') {
13976 				if (yych <= '\t') {
13977 					if (yych <= 0x08) goto yy20;
13978 					goto yy196;
13979 				} else {
13980 					if (yych == ' ') goto yy196;
13981 					goto yy20;
13982 				}
13983 			} else {
13984 				if (yych <= '/') {
13985 					if (yych <= '-') goto yy732;
13986 					goto yy20;
13987 				} else {
13988 					if (yych <= '5') goto yy733;
13989 					if (yych <= '6') goto yy734;
13990 					goto yy735;
13991 				}
13992 			}
13993 		} else {
13994 			if (yych <= 'G') {
13995 				if (yych <= 'D') {
13996 					if (yych <= 'C') goto yy20;
13997 					goto yy196;
13998 				} else {
13999 					if (yych == 'F') goto yy196;
14000 					goto yy20;
14001 				}
14002 			} else {
14003 				if (yych <= 'M') {
14004 					if (yych <= 'H') goto yy196;
14005 					if (yych <= 'L') goto yy20;
14006 					goto yy196;
14007 				} else {
14008 					if (yych <= 'R') goto yy20;
14009 					if (yych <= 'U') goto yy196;
14010 					goto yy20;
14011 				}
14012 			}
14013 		}
14014 	} else {
14015 		if (yych <= 'm') {
14016 			if (yych <= 'd') {
14017 				if (yych <= 'X') {
14018 					if (yych <= 'W') goto yy196;
14019 					goto yy20;
14020 				} else {
14021 					if (yych <= 'Y') goto yy196;
14022 					if (yych <= 'c') goto yy20;
14023 					goto yy196;
14024 				}
14025 			} else {
14026 				if (yych <= 'g') {
14027 					if (yych == 'f') goto yy196;
14028 					goto yy20;
14029 				} else {
14030 					if (yych <= 'h') goto yy196;
14031 					if (yych <= 'l') goto yy20;
14032 					goto yy196;
14033 				}
14034 			}
14035 		} else {
14036 			if (yych <= 'x') {
14037 				if (yych <= 'u') {
14038 					if (yych <= 'r') goto yy20;
14039 					goto yy196;
14040 				} else {
14041 					if (yych == 'w') goto yy196;
14042 					goto yy20;
14043 				}
14044 			} else {
14045 				if (yych <= 0xC2) {
14046 					if (yych <= 'y') goto yy196;
14047 					if (yych <= 0xC1) goto yy20;
14048 					goto yy97;
14049 				} else {
14050 					if (yych == 0xE2) goto yy98;
14051 					goto yy20;
14052 				}
14053 			}
14054 		}
14055 	}
14056 yy562:
14057 	YYDEBUG(562, *YYCURSOR);
14058 	yych = *++YYCURSOR;
14059 	if (yych <= '9') {
14060 		if (yych == '-') goto yy732;
14061 		if (yych <= '/') goto yy196;
14062 		goto yy735;
14063 	} else {
14064 		if (yych <= 0xC2) {
14065 			if (yych <= 0xC1) goto yy196;
14066 			goto yy97;
14067 		} else {
14068 			if (yych == 0xE2) goto yy98;
14069 			goto yy196;
14070 		}
14071 	}
14072 yy563:
14073 	YYDEBUG(563, *YYCURSOR);
14074 	yych = *++YYCURSOR;
14075 	if (yych <= '/') goto yy20;
14076 	if (yych <= '9') goto yy736;
14077 	goto yy20;
14078 yy564:
14079 	YYDEBUG(564, *YYCURSOR);
14080 	yych = *++YYCURSOR;
14081 	if (yych <= '/') goto yy59;
14082 	if (yych <= '9') goto yy737;
14083 	goto yy59;
14084 yy565:
14085 	YYDEBUG(565, *YYCURSOR);
14086 	yych = *++YYCURSOR;
14087 	if (yych <= '/') goto yy59;
14088 	if (yych <= '9') goto yy738;
14089 	goto yy59;
14090 yy566:
14091 	YYDEBUG(566, *YYCURSOR);
14092 	yyaccept = 15;
14093 	yych = *(YYMARKER = ++YYCURSOR);
14094 	if (yych <= 'n') {
14095 		if (yych <= '/') goto yy567;
14096 		if (yych <= '9') goto yy740;
14097 		if (yych >= 'n') goto yy741;
14098 	} else {
14099 		if (yych <= 'r') {
14100 			if (yych >= 'r') goto yy741;
14101 		} else {
14102 			if (yych <= 's') goto yy742;
14103 			if (yych <= 't') goto yy743;
14104 		}
14105 	}
14106 yy567:
14107 	YYDEBUG(567, *YYCURSOR);
14108 #line 1539 "ext/date/lib/parse_date.re"
14109 	{
14110 		int length = 0;
14111 		DEBUG_OUTPUT("gnudateshort");
14112 		TIMELIB_INIT;
14113 		TIMELIB_HAVE_DATE();
14114 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14115 		s->time->m = timelib_get_nr(&ptr, 2);
14116 		s->time->d = timelib_get_nr(&ptr, 2);
14117 		TIMELIB_PROCESS_YEAR(s->time->y, length);
14118 		TIMELIB_DEINIT;
14119 		return TIMELIB_ISO_DATE;
14120 	}
14121 #line 14122 "<stdout>"
14122 yy568:
14123 	YYDEBUG(568, *YYCURSOR);
14124 	yyaccept = 15;
14125 	yych = *(YYMARKER = ++YYCURSOR);
14126 	if (yych <= 'n') {
14127 		if (yych <= '1') {
14128 			if (yych <= '/') goto yy567;
14129 			goto yy740;
14130 		} else {
14131 			if (yych <= '9') goto yy737;
14132 			if (yych <= 'm') goto yy567;
14133 			goto yy741;
14134 		}
14135 	} else {
14136 		if (yych <= 'r') {
14137 			if (yych <= 'q') goto yy567;
14138 			goto yy741;
14139 		} else {
14140 			if (yych <= 's') goto yy742;
14141 			if (yych <= 't') goto yy743;
14142 			goto yy567;
14143 		}
14144 	}
14145 yy569:
14146 	YYDEBUG(569, *YYCURSOR);
14147 	yyaccept = 15;
14148 	yych = *(YYMARKER = ++YYCURSOR);
14149 	if (yych <= 'n') {
14150 		if (yych <= '/') goto yy567;
14151 		if (yych <= '9') goto yy737;
14152 		if (yych <= 'm') goto yy567;
14153 		goto yy741;
14154 	} else {
14155 		if (yych <= 'r') {
14156 			if (yych <= 'q') goto yy567;
14157 			goto yy741;
14158 		} else {
14159 			if (yych <= 's') goto yy742;
14160 			if (yych <= 't') goto yy743;
14161 			goto yy567;
14162 		}
14163 	}
14164 yy570:
14165 	YYDEBUG(570, *YYCURSOR);
14166 	yyaccept = 4;
14167 	yych = *(YYMARKER = ++YYCURSOR);
14168 	if (yych == '.') goto yy744;
14169 	if (yych <= '/') goto yy177;
14170 	if (yych <= '9') goto yy745;
14171 	goto yy177;
14172 yy571:
14173 	YYDEBUG(571, *YYCURSOR);
14174 	yyaccept = 4;
14175 	yych = *(YYMARKER = ++YYCURSOR);
14176 	if (yych <= '/') {
14177 		if (yych == '.') goto yy744;
14178 		goto yy177;
14179 	} else {
14180 		if (yych <= '0') goto yy745;
14181 		if (yych <= '9') goto yy738;
14182 		goto yy177;
14183 	}
14184 yy572:
14185 	YYDEBUG(572, *YYCURSOR);
14186 	yyaccept = 4;
14187 	yych = *(YYMARKER = ++YYCURSOR);
14188 	if (yych == '.') goto yy744;
14189 	if (yych <= '/') goto yy177;
14190 	if (yych <= '9') goto yy738;
14191 	goto yy177;
14192 yy573:
14193 	YYDEBUG(573, *YYCURSOR);
14194 	yyaccept = 4;
14195 	yych = *(YYMARKER = ++YYCURSOR);
14196 	if (yych == '.') goto yy744;
14197 	if (yych <= '/') goto yy177;
14198 	if (yych <= '9') goto yy575;
14199 	goto yy177;
14200 yy574:
14201 	YYDEBUG(574, *YYCURSOR);
14202 	yyaccept = 4;
14203 	yych = *(YYMARKER = ++YYCURSOR);
14204 	if (yych == '.') goto yy744;
14205 	if (yych != '0') goto yy177;
14206 yy575:
14207 	YYDEBUG(575, *YYCURSOR);
14208 	yyaccept = 4;
14209 	yych = *(YYMARKER = ++YYCURSOR);
14210 	if (yych == '.') goto yy744;
14211 	goto yy177;
14212 yy576:
14213 	YYDEBUG(576, *YYCURSOR);
14214 	yych = *++YYCURSOR;
14215 	if (yych <= '/') goto yy224;
14216 	if (yych <= '9') goto yy746;
14217 	goto yy224;
14218 yy577:
14219 	YYDEBUG(577, *YYCURSOR);
14220 	yyaccept = 5;
14221 	yych = *(YYMARKER = ++YYCURSOR);
14222 	if (yych == '/') goto yy402;
14223 	goto yy224;
14224 yy578:
14225 	YYDEBUG(578, *YYCURSOR);
14226 	yych = *++YYCURSOR;
14227 	if (yych == '/') goto yy747;
14228 	goto yy59;
14229 yy579:
14230 	YYDEBUG(579, *YYCURSOR);
14231 	yych = *++YYCURSOR;
14232 	if (yych <= 'S') {
14233 		if (yych == '/') goto yy747;
14234 		goto yy59;
14235 	} else {
14236 		if (yych <= 'T') goto yy578;
14237 		if (yych == 't') goto yy578;
14238 		goto yy59;
14239 	}
14240 yy580:
14241 	YYDEBUG(580, *YYCURSOR);
14242 	yych = *++YYCURSOR;
14243 	if (yych <= ',') goto yy59;
14244 	if (yych <= '-') goto yy748;
14245 	if (yych <= '.') goto yy396;
14246 	goto yy59;
14247 yy581:
14248 	YYDEBUG(581, *YYCURSOR);
14249 	yych = *++YYCURSOR;
14250 	if (yych == '-') goto yy645;
14251 	if (yych <= '/') goto yy59;
14252 	if (yych <= '9') goto yy462;
14253 	goto yy59;
14254 yy582:
14255 	YYDEBUG(582, *YYCURSOR);
14256 	yych = *++YYCURSOR;
14257 	if (yych == '-') goto yy645;
14258 	if (yych <= '/') goto yy59;
14259 	if (yych <= '2') goto yy462;
14260 	goto yy59;
14261 yy583:
14262 	YYDEBUG(583, *YYCURSOR);
14263 	++YYCURSOR;
14264 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
14265 	yych = *YYCURSOR;
14266 yy584:
14267 	YYDEBUG(584, *YYCURSOR);
14268 	if (yych <= 'W') {
14269 		if (yych <= 'G') {
14270 			if (yych <= '.') {
14271 				if (yych <= 0x1F) {
14272 					if (yych == '\t') goto yy583;
14273 					goto yy59;
14274 				} else {
14275 					if (yych <= ' ') goto yy583;
14276 					if (yych <= ',') goto yy59;
14277 					goto yy749;
14278 				}
14279 			} else {
14280 				if (yych <= 'C') {
14281 					if (yych == 'A') goto yy596;
14282 					goto yy59;
14283 				} else {
14284 					if (yych <= 'D') goto yy597;
14285 					if (yych == 'F') goto yy598;
14286 					goto yy59;
14287 				}
14288 			}
14289 		} else {
14290 			if (yych <= 'N') {
14291 				if (yych <= 'J') {
14292 					if (yych <= 'H') goto yy79;
14293 					if (yych <= 'I') goto yy599;
14294 					goto yy601;
14295 				} else {
14296 					if (yych <= 'L') goto yy59;
14297 					if (yych <= 'M') goto yy602;
14298 					goto yy603;
14299 				}
14300 			} else {
14301 				if (yych <= 'S') {
14302 					if (yych <= 'O') goto yy604;
14303 					if (yych <= 'R') goto yy59;
14304 					goto yy605;
14305 				} else {
14306 					if (yych <= 'T') goto yy87;
14307 					if (yych <= 'U') goto yy88;
14308 					if (yych <= 'V') goto yy606;
14309 					goto yy90;
14310 				}
14311 			}
14312 		}
14313 	} else {
14314 		if (yych <= 'l') {
14315 			if (yych <= 'd') {
14316 				if (yych <= '`') {
14317 					if (yych <= 'X') goto yy608;
14318 					if (yych <= 'Y') goto yy92;
14319 					goto yy59;
14320 				} else {
14321 					if (yych <= 'a') goto yy596;
14322 					if (yych <= 'c') goto yy59;
14323 					goto yy597;
14324 				}
14325 			} else {
14326 				if (yych <= 'g') {
14327 					if (yych == 'f') goto yy598;
14328 					goto yy59;
14329 				} else {
14330 					if (yych <= 'h') goto yy79;
14331 					if (yych == 'j') goto yy601;
14332 					goto yy59;
14333 				}
14334 			}
14335 		} else {
14336 			if (yych <= 'u') {
14337 				if (yych <= 'o') {
14338 					if (yych <= 'm') goto yy602;
14339 					if (yych <= 'n') goto yy603;
14340 					goto yy604;
14341 				} else {
14342 					if (yych <= 'r') goto yy59;
14343 					if (yych <= 's') goto yy605;
14344 					if (yych <= 't') goto yy87;
14345 					goto yy88;
14346 				}
14347 			} else {
14348 				if (yych <= 'x') {
14349 					if (yych == 'w') goto yy90;
14350 					goto yy59;
14351 				} else {
14352 					if (yych <= 'y') goto yy92;
14353 					if (yych == 0xC2) goto yy211;
14354 					goto yy59;
14355 				}
14356 			}
14357 		}
14358 	}
14359 yy585:
14360 	YYDEBUG(585, *YYCURSOR);
14361 	yych = *++YYCURSOR;
14362 	switch (yych) {
14363 	case '0':	goto yy751;
14364 	case '1':	goto yy753;
14365 	case '2':	goto yy754;
14366 	case '3':	goto yy755;
14367 	case '4':
14368 	case '5':
14369 	case '6':
14370 	case '7':
14371 	case '8':
14372 	case '9':	goto yy756;
14373 	case 'A':
14374 	case 'a':	goto yy757;
14375 	case 'D':
14376 	case 'd':	goto yy758;
14377 	case 'F':
14378 	case 'f':	goto yy759;
14379 	case 'J':
14380 	case 'j':	goto yy760;
14381 	case 'M':
14382 	case 'm':	goto yy761;
14383 	case 'N':
14384 	case 'n':	goto yy762;
14385 	case 'O':
14386 	case 'o':	goto yy763;
14387 	case 'S':
14388 	case 's':	goto yy764;
14389 	case 'W':	goto yy765;
14390 	default:	goto yy750;
14391 	}
14392 yy586:
14393 	YYDEBUG(586, *YYCURSOR);
14394 	yych = *++YYCURSOR;
14395 	if (yych <= '/') goto yy750;
14396 	if (yych <= '0') goto yy766;
14397 	if (yych <= '2') goto yy767;
14398 	if (yych <= '3') goto yy768;
14399 	goto yy750;
14400 yy587:
14401 	YYDEBUG(587, *YYCURSOR);
14402 	yych = *++YYCURSOR;
14403 	if (yych <= '/') goto yy59;
14404 	if (yych <= '0') goto yy773;
14405 	if (yych <= '1') goto yy774;
14406 	if (yych <= '9') goto yy775;
14407 	goto yy59;
14408 yy588:
14409 	YYDEBUG(588, *YYCURSOR);
14410 	yych = *++YYCURSOR;
14411 	if (yych <= 0xC1) {
14412 		if (yych <= '/') goto yy196;
14413 		if (yych <= '0') goto yy776;
14414 		if (yych <= '9') goto yy778;
14415 		goto yy196;
14416 	} else {
14417 		if (yych <= 0xC2) goto yy97;
14418 		if (yych == 0xE2) goto yy98;
14419 		goto yy196;
14420 	}
14421 yy589:
14422 	YYDEBUG(589, *YYCURSOR);
14423 	yych = *++YYCURSOR;
14424 	if (yych <= 0xC1) {
14425 		if (yych <= '/') goto yy196;
14426 		if (yych <= '2') goto yy778;
14427 		if (yych <= '9') goto yy779;
14428 		goto yy196;
14429 	} else {
14430 		if (yych <= 0xC2) goto yy97;
14431 		if (yych == 0xE2) goto yy98;
14432 		goto yy196;
14433 	}
14434 yy590:
14435 	YYDEBUG(590, *YYCURSOR);
14436 	yych = *++YYCURSOR;
14437 	if (yych <= 0xC1) {
14438 		if (yych <= '/') goto yy196;
14439 		if (yych <= '9') goto yy779;
14440 		goto yy196;
14441 	} else {
14442 		if (yych <= 0xC2) goto yy97;
14443 		if (yych == 0xE2) goto yy98;
14444 		goto yy196;
14445 	}
14446 yy591:
14447 	YYDEBUG(591, *YYCURSOR);
14448 	yych = *++YYCURSOR;
14449 	if (yych <= '9') {
14450 		if (yych <= '/') goto yy196;
14451 		if (yych <= '5') goto yy779;
14452 		if (yych <= '6') goto yy780;
14453 		goto yy781;
14454 	} else {
14455 		if (yych <= 0xC2) {
14456 			if (yych <= 0xC1) goto yy196;
14457 			goto yy97;
14458 		} else {
14459 			if (yych == 0xE2) goto yy98;
14460 			goto yy196;
14461 		}
14462 	}
14463 yy592:
14464 	YYDEBUG(592, *YYCURSOR);
14465 	yych = *++YYCURSOR;
14466 	if (yych <= 0xC1) {
14467 		if (yych <= '/') goto yy196;
14468 		if (yych <= '9') goto yy781;
14469 		goto yy196;
14470 	} else {
14471 		if (yych <= 0xC2) goto yy97;
14472 		if (yych == 0xE2) goto yy98;
14473 		goto yy196;
14474 	}
14475 yy593:
14476 	YYDEBUG(593, *YYCURSOR);
14477 	yych = *++YYCURSOR;
14478 	if (yych <= 0xC1) {
14479 		if (yych <= '/') goto yy196;
14480 		if (yych <= '0') goto yy781;
14481 		if (yych <= '9') goto yy782;
14482 		goto yy196;
14483 	} else {
14484 		if (yych <= 0xC2) goto yy97;
14485 		if (yych == 0xE2) goto yy98;
14486 		goto yy196;
14487 	}
14488 yy594:
14489 	YYDEBUG(594, *YYCURSOR);
14490 	yych = *++YYCURSOR;
14491 	if (yych <= 0xC1) {
14492 		if (yych <= '/') goto yy196;
14493 		if (yych <= '9') goto yy782;
14494 		goto yy196;
14495 	} else {
14496 		if (yych <= 0xC2) goto yy97;
14497 		if (yych == 0xE2) goto yy98;
14498 		goto yy196;
14499 	}
14500 yy595:
14501 	YYDEBUG(595, *YYCURSOR);
14502 	yych = *++YYCURSOR;
14503 	if (yych <= '/') goto yy59;
14504 	if (yych <= '0') goto yy783;
14505 	if (yych <= '1') goto yy784;
14506 	goto yy59;
14507 yy596:
14508 	YYDEBUG(596, *YYCURSOR);
14509 	yych = *++YYCURSOR;
14510 	if (yych <= 'U') {
14511 		if (yych == 'P') goto yy785;
14512 		if (yych <= 'T') goto yy59;
14513 		goto yy786;
14514 	} else {
14515 		if (yych <= 'p') {
14516 			if (yych <= 'o') goto yy59;
14517 			goto yy785;
14518 		} else {
14519 			if (yych == 'u') goto yy786;
14520 			goto yy59;
14521 		}
14522 	}
14523 yy597:
14524 	YYDEBUG(597, *YYCURSOR);
14525 	yych = *++YYCURSOR;
14526 	if (yych <= 'E') {
14527 		if (yych == 'A') goto yy242;
14528 		if (yych <= 'D') goto yy59;
14529 		goto yy787;
14530 	} else {
14531 		if (yych <= 'a') {
14532 			if (yych <= '`') goto yy59;
14533 			goto yy242;
14534 		} else {
14535 			if (yych == 'e') goto yy787;
14536 			goto yy59;
14537 		}
14538 	}
14539 yy598:
14540 	YYDEBUG(598, *YYCURSOR);
14541 	yych = *++YYCURSOR;
14542 	if (yych <= 'R') {
14543 		if (yych <= 'N') {
14544 			if (yych == 'E') goto yy788;
14545 			goto yy59;
14546 		} else {
14547 			if (yych <= 'O') goto yy245;
14548 			if (yych <= 'Q') goto yy59;
14549 			goto yy246;
14550 		}
14551 	} else {
14552 		if (yych <= 'n') {
14553 			if (yych == 'e') goto yy788;
14554 			goto yy59;
14555 		} else {
14556 			if (yych <= 'o') goto yy245;
14557 			if (yych == 'r') goto yy246;
14558 			goto yy59;
14559 		}
14560 	}
14561 yy599:
14562 	YYDEBUG(599, *YYCURSOR);
14563 	yych = *++YYCURSOR;
14564 	if (yych <= 'U') {
14565 		if (yych == 'I') goto yy789;
14566 	} else {
14567 		if (yych == 'W') goto yy600;
14568 		if (yych <= 'X') goto yy790;
14569 	}
14570 yy600:
14571 	YYDEBUG(600, *YYCURSOR);
14572 #line 1608 "ext/date/lib/parse_date.re"
14573 	{
14574 		int length = 0;
14575 		DEBUG_OUTPUT("datenodayrev");
14576 		TIMELIB_INIT;
14577 		TIMELIB_HAVE_DATE();
14578 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14579 		s->time->m = timelib_get_month(&ptr);
14580 		s->time->d = 1;
14581 		TIMELIB_PROCESS_YEAR(s->time->y, length);
14582 		TIMELIB_DEINIT;
14583 		return TIMELIB_DATE_NO_DAY;
14584 	}
14585 #line 14586 "<stdout>"
14586 yy601:
14587 	YYDEBUG(601, *YYCURSOR);
14588 	yych = *++YYCURSOR;
14589 	if (yych <= 'U') {
14590 		if (yych == 'A') goto yy791;
14591 		if (yych <= 'T') goto yy59;
14592 		goto yy792;
14593 	} else {
14594 		if (yych <= 'a') {
14595 			if (yych <= '`') goto yy59;
14596 			goto yy791;
14597 		} else {
14598 			if (yych == 'u') goto yy792;
14599 			goto yy59;
14600 		}
14601 	}
14602 yy602:
14603 	YYDEBUG(602, *YYCURSOR);
14604 	yych = *++YYCURSOR;
14605 	if (yych <= 'S') {
14606 		if (yych <= 'I') {
14607 			if (yych == 'A') goto yy793;
14608 			if (yych <= 'H') goto yy59;
14609 			goto yy257;
14610 		} else {
14611 			if (yych == 'O') goto yy258;
14612 			if (yych <= 'R') goto yy59;
14613 			goto yy259;
14614 		}
14615 	} else {
14616 		if (yych <= 'i') {
14617 			if (yych == 'a') goto yy793;
14618 			if (yych <= 'h') goto yy59;
14619 			goto yy257;
14620 		} else {
14621 			if (yych <= 'o') {
14622 				if (yych <= 'n') goto yy59;
14623 				goto yy258;
14624 			} else {
14625 				if (yych == 's') goto yy259;
14626 				goto yy59;
14627 			}
14628 		}
14629 	}
14630 yy603:
14631 	YYDEBUG(603, *YYCURSOR);
14632 	yych = *++YYCURSOR;
14633 	if (yych == 'O') goto yy794;
14634 	if (yych == 'o') goto yy794;
14635 	goto yy59;
14636 yy604:
14637 	YYDEBUG(604, *YYCURSOR);
14638 	yych = *++YYCURSOR;
14639 	if (yych == 'C') goto yy795;
14640 	if (yych == 'c') goto yy795;
14641 	goto yy59;
14642 yy605:
14643 	YYDEBUG(605, *YYCURSOR);
14644 	yych = *++YYCURSOR;
14645 	if (yych <= 'U') {
14646 		if (yych <= 'D') {
14647 			if (yych == 'A') goto yy263;
14648 			goto yy59;
14649 		} else {
14650 			if (yych <= 'E') goto yy796;
14651 			if (yych <= 'T') goto yy59;
14652 			goto yy265;
14653 		}
14654 	} else {
14655 		if (yych <= 'd') {
14656 			if (yych == 'a') goto yy263;
14657 			goto yy59;
14658 		} else {
14659 			if (yych <= 'e') goto yy796;
14660 			if (yych == 'u') goto yy265;
14661 			goto yy59;
14662 		}
14663 	}
14664 yy606:
14665 	YYDEBUG(606, *YYCURSOR);
14666 	yych = *++YYCURSOR;
14667 	if (yych == 'I') goto yy608;
14668 	goto yy600;
14669 yy607:
14670 	YYDEBUG(607, *YYCURSOR);
14671 	yych = *++YYCURSOR;
14672 	if (yych <= '5') {
14673 		if (yych <= '/') goto yy59;
14674 		if (yych <= '0') goto yy797;
14675 		if (yych <= '4') goto yy798;
14676 		goto yy799;
14677 	} else {
14678 		if (yych <= 'E') {
14679 			if (yych <= 'D') goto yy59;
14680 			goto yy269;
14681 		} else {
14682 			if (yych == 'e') goto yy269;
14683 			goto yy59;
14684 		}
14685 	}
14686 yy608:
14687 	YYDEBUG(608, *YYCURSOR);
14688 	yych = *++YYCURSOR;
14689 	if (yych == 'I') goto yy789;
14690 	goto yy600;
14691 yy609:
14692 	YYDEBUG(609, *YYCURSOR);
14693 	yych = *++YYCURSOR;
14694 	if (yych <= 0xC1) {
14695 		if (yych <= '/') goto yy196;
14696 		if (yych <= '0') goto yy800;
14697 		if (yych <= '9') goto yy801;
14698 		goto yy196;
14699 	} else {
14700 		if (yych <= 0xC2) goto yy97;
14701 		if (yych == 0xE2) goto yy98;
14702 		goto yy196;
14703 	}
14704 yy610:
14705 	YYDEBUG(610, *YYCURSOR);
14706 	yych = *++YYCURSOR;
14707 	if (yych <= 0xC1) {
14708 		if (yych <= '/') goto yy196;
14709 		if (yych <= '2') goto yy801;
14710 		if (yych <= '9') goto yy802;
14711 		goto yy196;
14712 	} else {
14713 		if (yych <= 0xC2) goto yy97;
14714 		if (yych == 0xE2) goto yy98;
14715 		goto yy196;
14716 	}
14717 yy611:
14718 	YYDEBUG(611, *YYCURSOR);
14719 	yych = *++YYCURSOR;
14720 	if (yych <= 0xC1) {
14721 		if (yych <= '/') goto yy196;
14722 		if (yych <= '9') goto yy802;
14723 		goto yy196;
14724 	} else {
14725 		if (yych <= 0xC2) goto yy97;
14726 		if (yych == 0xE2) goto yy98;
14727 		goto yy196;
14728 	}
14729 yy612:
14730 	YYDEBUG(612, *YYCURSOR);
14731 	yych = *++YYCURSOR;
14732 	if (yych <= '9') {
14733 		if (yych <= '/') goto yy196;
14734 		if (yych <= '5') goto yy802;
14735 		if (yych <= '6') goto yy803;
14736 		goto yy782;
14737 	} else {
14738 		if (yych <= 0xC2) {
14739 			if (yych <= 0xC1) goto yy196;
14740 			goto yy97;
14741 		} else {
14742 			if (yych == 0xE2) goto yy98;
14743 			goto yy196;
14744 		}
14745 	}
14746 yy613:
14747 	YYDEBUG(613, *YYCURSOR);
14748 	yych = *++YYCURSOR;
14749 	if (yych == 'L') goto yy253;
14750 	if (yych == 'l') goto yy253;
14751 	goto yy59;
14752 yy614:
14753 	YYDEBUG(614, *YYCURSOR);
14754 	yych = *++YYCURSOR;
14755 	if (yych == 'S') goto yy804;
14756 	if (yych == 's') goto yy804;
14757 	goto yy59;
14758 yy615:
14759 	YYDEBUG(615, *YYCURSOR);
14760 	++YYCURSOR;
14761 	goto yy260;
14762 yy616:
14763 	YYDEBUG(616, *YYCURSOR);
14764 	yych = *++YYCURSOR;
14765 	if (yych == 'M') goto yy626;
14766 	if (yych == 'm') goto yy626;
14767 	goto yy59;
14768 yy617:
14769 	YYDEBUG(617, *YYCURSOR);
14770 	yych = *++YYCURSOR;
14771 	if (yych == 'U') goto yy620;
14772 	if (yych == 'u') goto yy620;
14773 	goto yy59;
14774 yy618:
14775 	YYDEBUG(618, *YYCURSOR);
14776 	yych = *++YYCURSOR;
14777 	if (yych <= 'N') {
14778 		if (yych == 'H') goto yy805;
14779 		if (yych <= 'M') goto yy59;
14780 		goto yy806;
14781 	} else {
14782 		if (yych <= 'h') {
14783 			if (yych <= 'g') goto yy59;
14784 			goto yy805;
14785 		} else {
14786 			if (yych == 'n') goto yy806;
14787 			goto yy59;
14788 		}
14789 	}
14790 yy619:
14791 	YYDEBUG(619, *YYCURSOR);
14792 	yych = *++YYCURSOR;
14793 	if (yych <= '/') goto yy251;
14794 	if (yych <= '9') goto yy807;
14795 	goto yy251;
14796 yy620:
14797 	YYDEBUG(620, *YYCURSOR);
14798 	yych = *++YYCURSOR;
14799 	if (yych == 'A') goto yy808;
14800 	if (yych == 'a') goto yy808;
14801 	goto yy59;
14802 yy621:
14803 	YYDEBUG(621, *YYCURSOR);
14804 	yych = *++YYCURSOR;
14805 	if (yych == 'H') goto yy253;
14806 	if (yych == 'h') goto yy253;
14807 	goto yy59;
14808 yy622:
14809 	YYDEBUG(622, *YYCURSOR);
14810 	yych = *++YYCURSOR;
14811 	if (yych == 'O') goto yy809;
14812 	if (yych == 'o') goto yy809;
14813 	goto yy59;
14814 yy623:
14815 	YYDEBUG(623, *YYCURSOR);
14816 	yych = *++YYCURSOR;
14817 	if (yych == 'I') goto yy809;
14818 	if (yych == 'i') goto yy809;
14819 	goto yy59;
14820 yy624:
14821 	YYDEBUG(624, *YYCURSOR);
14822 	yych = *++YYCURSOR;
14823 	if (yych == 'T') goto yy810;
14824 	if (yych == 't') goto yy810;
14825 	goto yy59;
14826 yy625:
14827 	YYDEBUG(625, *YYCURSOR);
14828 	yych = *++YYCURSOR;
14829 	if (yych == 'H') goto yy425;
14830 	if (yych == 'h') goto yy425;
14831 	goto yy59;
14832 yy626:
14833 	YYDEBUG(626, *YYCURSOR);
14834 	yych = *++YYCURSOR;
14835 	if (yych == 'B') goto yy811;
14836 	if (yych == 'b') goto yy811;
14837 	goto yy59;
14838 yy627:
14839 	YYDEBUG(627, *YYCURSOR);
14840 	yych = *++YYCURSOR;
14841 	if (yych == 'R') goto yy630;
14842 	if (yych == 'r') goto yy630;
14843 	goto yy59;
14844 yy628:
14845 	YYDEBUG(628, *YYCURSOR);
14846 	yych = *++YYCURSOR;
14847 	if (yych == 'N') goto yy812;
14848 	if (yych == 'n') goto yy812;
14849 	goto yy59;
14850 yy629:
14851 	YYDEBUG(629, *YYCURSOR);
14852 	yych = *++YYCURSOR;
14853 	if (yych == 'S') goto yy630;
14854 	if (yych != 's') goto yy59;
14855 yy630:
14856 	YYDEBUG(630, *YYCURSOR);
14857 	yych = *++YYCURSOR;
14858 	if (yych == 'D') goto yy198;
14859 	if (yych == 'd') goto yy198;
14860 	goto yy59;
14861 yy631:
14862 	YYDEBUG(631, *YYCURSOR);
14863 	yych = *++YYCURSOR;
14864 	if (yych == 'E') goto yy629;
14865 	if (yych == 'e') goto yy629;
14866 	goto yy59;
14867 yy632:
14868 	YYDEBUG(632, *YYCURSOR);
14869 	yyaccept = 6;
14870 	yych = *(YYMARKER = ++YYCURSOR);
14871 	if (yych <= 'S') {
14872 		if (yych == 'D') goto yy198;
14873 		if (yych <= 'R') goto yy260;
14874 		goto yy615;
14875 	} else {
14876 		if (yych <= 'd') {
14877 			if (yych <= 'c') goto yy260;
14878 			goto yy198;
14879 		} else {
14880 			if (yych == 's') goto yy615;
14881 			goto yy260;
14882 		}
14883 	}
14884 yy633:
14885 	YYDEBUG(633, *YYCURSOR);
14886 	yych = *++YYCURSOR;
14887 	if (yych <= ',') goto yy59;
14888 	if (yych <= '.') goto yy396;
14889 	if (yych <= '/') goto yy59;
14890 	if (yych <= '9') goto yy635;
14891 	goto yy59;
14892 yy634:
14893 	YYDEBUG(634, *YYCURSOR);
14894 	yych = *++YYCURSOR;
14895 	if (yych <= ',') goto yy59;
14896 	if (yych <= '.') goto yy396;
14897 	if (yych <= '/') goto yy59;
14898 	if (yych >= '3') goto yy59;
14899 yy635:
14900 	YYDEBUG(635, *YYCURSOR);
14901 	yych = *++YYCURSOR;
14902 	if (yych <= ',') goto yy59;
14903 	if (yych <= '.') goto yy396;
14904 	goto yy59;
14905 yy636:
14906 	YYDEBUG(636, *YYCURSOR);
14907 	yyaccept = 4;
14908 	yych = *(YYMARKER = ++YYCURSOR);
14909 	if (yych == '.') goto yy744;
14910 	if (yych <= '/') goto yy177;
14911 	if (yych <= '9') goto yy813;
14912 	goto yy177;
14913 yy637:
14914 	YYDEBUG(637, *YYCURSOR);
14915 	yyaccept = 4;
14916 	yych = *(YYMARKER = ++YYCURSOR);
14917 	if (yych <= '/') {
14918 		if (yych == '.') goto yy744;
14919 		goto yy177;
14920 	} else {
14921 		if (yych <= '0') goto yy813;
14922 		if (yych <= '9') goto yy738;
14923 		goto yy177;
14924 	}
14925 yy638:
14926 	YYDEBUG(638, *YYCURSOR);
14927 	++YYCURSOR;
14928 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
14929 	yych = *YYCURSOR;
14930 	YYDEBUG(639, *YYCURSOR);
14931 	if (yych <= 'A') {
14932 		if (yych <= 0x1F) {
14933 			if (yych == '\t') goto yy638;
14934 			goto yy59;
14935 		} else {
14936 			if (yych <= ' ') goto yy638;
14937 			if (yych <= '@') goto yy59;
14938 			goto yy106;
14939 		}
14940 	} else {
14941 		if (yych <= '`') {
14942 			if (yych == 'P') goto yy106;
14943 			goto yy59;
14944 		} else {
14945 			if (yych <= 'a') goto yy106;
14946 			if (yych == 'p') goto yy106;
14947 			goto yy59;
14948 		}
14949 	}
14950 yy640:
14951 	YYDEBUG(640, *YYCURSOR);
14952 	++YYCURSOR;
14953 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
14954 	yych = *YYCURSOR;
14955 	if (yych == 0xA0) goto yy814;
14956 	goto yy59;
14957 yy641:
14958 	YYDEBUG(641, *YYCURSOR);
14959 	++YYCURSOR;
14960 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
14961 	yych = *YYCURSOR;
14962 	if (yych == 0x80) goto yy815;
14963 	goto yy59;
14964 yy642:
14965 	YYDEBUG(642, *YYCURSOR);
14966 	yyaccept = 4;
14967 	yych = *(YYMARKER = ++YYCURSOR);
14968 	if (yych == '.') goto yy744;
14969 	if (yych <= '/') goto yy177;
14970 	if (yych <= '9') goto yy816;
14971 	goto yy177;
14972 yy643:
14973 	YYDEBUG(643, *YYCURSOR);
14974 	yyaccept = 4;
14975 	yych = *(YYMARKER = ++YYCURSOR);
14976 	if (yych == '.') goto yy744;
14977 	if (yych == '0') goto yy816;
14978 	goto yy177;
14979 yy644:
14980 	YYDEBUG(644, *YYCURSOR);
14981 	yych = *++YYCURSOR;
14982 	if (yych <= '/') goto yy59;
14983 	if (yych <= '5') goto yy817;
14984 	if (yych <= '6') goto yy818;
14985 	if (yych <= '9') goto yy575;
14986 	goto yy59;
14987 yy645:
14988 	YYDEBUG(645, *YYCURSOR);
14989 	yych = *++YYCURSOR;
14990 	if (yych <= '/') goto yy59;
14991 	if (yych <= '2') goto yy819;
14992 	if (yych <= '3') goto yy820;
14993 	if (yych <= '9') goto yy821;
14994 	goto yy59;
14995 yy646:
14996 	YYDEBUG(646, *YYCURSOR);
14997 	yych = *++YYCURSOR;
14998 	if (yych == '-') goto yy822;
14999 	goto yy59;
15000 yy647:
15001 	YYDEBUG(647, *YYCURSOR);
15002 	yych = *++YYCURSOR;
15003 	if (yych == 'R') goto yy823;
15004 	if (yych == 'r') goto yy823;
15005 	goto yy59;
15006 yy648:
15007 	YYDEBUG(648, *YYCURSOR);
15008 	yych = *++YYCURSOR;
15009 	if (yych == 'G') goto yy823;
15010 	if (yych == 'g') goto yy823;
15011 	goto yy59;
15012 yy649:
15013 	YYDEBUG(649, *YYCURSOR);
15014 	yych = *++YYCURSOR;
15015 	if (yych == 'C') goto yy823;
15016 	if (yych == 'c') goto yy823;
15017 	goto yy59;
15018 yy650:
15019 	YYDEBUG(650, *YYCURSOR);
15020 	yych = *++YYCURSOR;
15021 	if (yych == 'B') goto yy823;
15022 	if (yych == 'b') goto yy823;
15023 	goto yy59;
15024 yy651:
15025 	YYDEBUG(651, *YYCURSOR);
15026 	yych = *++YYCURSOR;
15027 	if (yych == 'N') goto yy823;
15028 	if (yych == 'n') goto yy823;
15029 	goto yy59;
15030 yy652:
15031 	YYDEBUG(652, *YYCURSOR);
15032 	yych = *++YYCURSOR;
15033 	if (yych <= 'N') {
15034 		if (yych == 'L') goto yy823;
15035 		if (yych <= 'M') goto yy59;
15036 		goto yy823;
15037 	} else {
15038 		if (yych <= 'l') {
15039 			if (yych <= 'k') goto yy59;
15040 			goto yy823;
15041 		} else {
15042 			if (yych == 'n') goto yy823;
15043 			goto yy59;
15044 		}
15045 	}
15046 yy653:
15047 	YYDEBUG(653, *YYCURSOR);
15048 	yych = *++YYCURSOR;
15049 	if (yych <= 'Y') {
15050 		if (yych == 'R') goto yy823;
15051 		if (yych <= 'X') goto yy59;
15052 		goto yy823;
15053 	} else {
15054 		if (yych <= 'r') {
15055 			if (yych <= 'q') goto yy59;
15056 			goto yy823;
15057 		} else {
15058 			if (yych == 'y') goto yy823;
15059 			goto yy59;
15060 		}
15061 	}
15062 yy654:
15063 	YYDEBUG(654, *YYCURSOR);
15064 	yych = *++YYCURSOR;
15065 	if (yych == 'V') goto yy823;
15066 	if (yych == 'v') goto yy823;
15067 	goto yy59;
15068 yy655:
15069 	YYDEBUG(655, *YYCURSOR);
15070 	yych = *++YYCURSOR;
15071 	if (yych == 'T') goto yy823;
15072 	if (yych == 't') goto yy823;
15073 	goto yy59;
15074 yy656:
15075 	YYDEBUG(656, *YYCURSOR);
15076 	yych = *++YYCURSOR;
15077 	if (yych == 'P') goto yy824;
15078 	if (yych == 'p') goto yy824;
15079 	goto yy59;
15080 yy657:
15081 	YYDEBUG(657, *YYCURSOR);
15082 	yych = *++YYCURSOR;
15083 	if (yych <= '/') goto yy290;
15084 	if (yych <= '9') goto yy825;
15085 	goto yy290;
15086 yy658:
15087 	YYDEBUG(658, *YYCURSOR);
15088 	yych = *++YYCURSOR;
15089 	if (yych <= '@') {
15090 		if (yych == ')') goto yy115;
15091 		goto yy20;
15092 	} else {
15093 		if (yych <= 'Z') goto yy826;
15094 		if (yych <= '`') goto yy20;
15095 		if (yych <= 'z') goto yy826;
15096 		goto yy20;
15097 	}
15098 yy659:
15099 	YYDEBUG(659, *YYCURSOR);
15100 	yych = *++YYCURSOR;
15101 	if (yych <= '9') {
15102 		if (yych <= ' ') {
15103 			if (yych <= 0x08) {
15104 				if (yych <= 0x00) goto yy324;
15105 				goto yy59;
15106 			} else {
15107 				if (yych <= '\t') goto yy326;
15108 				if (yych <= 0x1F) goto yy59;
15109 				goto yy326;
15110 			}
15111 		} else {
15112 			if (yych <= '-') {
15113 				if (yych == ',') goto yy326;
15114 				goto yy59;
15115 			} else {
15116 				if (yych <= '.') goto yy326;
15117 				if (yych <= '/') goto yy59;
15118 				goto yy827;
15119 			}
15120 		}
15121 	} else {
15122 		if (yych <= 'm') {
15123 			if (yych <= 'd') {
15124 				if (yych <= 'c') goto yy59;
15125 				goto yy326;
15126 			} else {
15127 				if (yych == 'h') goto yy326;
15128 				goto yy59;
15129 			}
15130 		} else {
15131 			if (yych <= 'r') {
15132 				if (yych <= 'n') goto yy329;
15133 				if (yych <= 'q') goto yy59;
15134 				goto yy329;
15135 			} else {
15136 				if (yych <= 's') goto yy330;
15137 				if (yych <= 't') goto yy331;
15138 				goto yy59;
15139 			}
15140 		}
15141 	}
15142 yy660:
15143 	YYDEBUG(660, *YYCURSOR);
15144 	yych = *++YYCURSOR;
15145 	if (yych <= '1') {
15146 		if (yych <= ' ') {
15147 			if (yych <= 0x08) {
15148 				if (yych <= 0x00) goto yy324;
15149 				goto yy59;
15150 			} else {
15151 				if (yych <= '\t') goto yy326;
15152 				if (yych <= 0x1F) goto yy59;
15153 				goto yy326;
15154 			}
15155 		} else {
15156 			if (yych <= '-') {
15157 				if (yych == ',') goto yy326;
15158 				goto yy59;
15159 			} else {
15160 				if (yych <= '.') goto yy326;
15161 				if (yych <= '/') goto yy59;
15162 				goto yy827;
15163 			}
15164 		}
15165 	} else {
15166 		if (yych <= 'm') {
15167 			if (yych <= 'd') {
15168 				if (yych <= '9') goto yy332;
15169 				if (yych <= 'c') goto yy59;
15170 				goto yy326;
15171 			} else {
15172 				if (yych == 'h') goto yy326;
15173 				goto yy59;
15174 			}
15175 		} else {
15176 			if (yych <= 'r') {
15177 				if (yych <= 'n') goto yy329;
15178 				if (yych <= 'q') goto yy59;
15179 				goto yy329;
15180 			} else {
15181 				if (yych <= 's') goto yy330;
15182 				if (yych <= 't') goto yy331;
15183 				goto yy59;
15184 			}
15185 		}
15186 	}
15187 yy661:
15188 	YYDEBUG(661, *YYCURSOR);
15189 	yyaccept = 7;
15190 	yych = *(YYMARKER = ++YYCURSOR);
15191 	if (yych <= ',') {
15192 		if (yych <= 0x1F) {
15193 			if (yych == '\t') goto yy142;
15194 			goto yy295;
15195 		} else {
15196 			if (yych <= ' ') goto yy142;
15197 			if (yych == ')') goto yy115;
15198 			goto yy295;
15199 		}
15200 	} else {
15201 		if (yych <= '@') {
15202 			if (yych == '/') goto yy295;
15203 			if (yych <= '9') goto yy142;
15204 			goto yy295;
15205 		} else {
15206 			if (yych <= 'Z') goto yy826;
15207 			if (yych <= '`') goto yy295;
15208 			if (yych <= 'z') goto yy826;
15209 			goto yy295;
15210 		}
15211 	}
15212 yy662:
15213 	YYDEBUG(662, *YYCURSOR);
15214 	yych = *++YYCURSOR;
15215 	if (yych <= 'T') {
15216 		if (yych <= ')') {
15217 			if (yych <= '(') goto yy20;
15218 			goto yy115;
15219 		} else {
15220 			if (yych <= '@') goto yy20;
15221 			if (yych <= 'S') goto yy826;
15222 			goto yy828;
15223 		}
15224 	} else {
15225 		if (yych <= 's') {
15226 			if (yych <= 'Z') goto yy826;
15227 			if (yych <= '`') goto yy20;
15228 			goto yy826;
15229 		} else {
15230 			if (yych <= 't') goto yy828;
15231 			if (yych <= 'z') goto yy826;
15232 			goto yy20;
15233 		}
15234 	}
15235 yy663:
15236 	YYDEBUG(663, *YYCURSOR);
15237 	yyaccept = 2;
15238 	yych = *(YYMARKER = ++YYCURSOR);
15239 	if (yych <= '/') {
15240 		if (yych <= ',') {
15241 			if (yych == ')') goto yy115;
15242 			goto yy20;
15243 		} else {
15244 			if (yych == '.') goto yy20;
15245 			goto yy297;
15246 		}
15247 	} else {
15248 		if (yych <= '^') {
15249 			if (yych <= '@') goto yy20;
15250 			if (yych <= 'Z') goto yy826;
15251 			goto yy20;
15252 		} else {
15253 			if (yych <= '_') goto yy297;
15254 			if (yych <= '`') goto yy20;
15255 			if (yych <= 'z') goto yy829;
15256 			goto yy20;
15257 		}
15258 	}
15259 yy664:
15260 	YYDEBUG(664, *YYCURSOR);
15261 	yyaccept = 7;
15262 	yych = *(YYMARKER = ++YYCURSOR);
15263 	if (yych <= '.') {
15264 		if (yych <= ' ') {
15265 			if (yych == '\t') goto yy142;
15266 			if (yych <= 0x1F) goto yy295;
15267 			goto yy142;
15268 		} else {
15269 			if (yych <= ')') {
15270 				if (yych <= '(') goto yy295;
15271 				goto yy115;
15272 			} else {
15273 				if (yych <= ',') goto yy295;
15274 				if (yych <= '-') goto yy700;
15275 				goto yy142;
15276 			}
15277 		}
15278 	} else {
15279 		if (yych <= 'Z') {
15280 			if (yych <= '/') goto yy297;
15281 			if (yych <= '9') goto yy142;
15282 			if (yych <= '@') goto yy295;
15283 			goto yy826;
15284 		} else {
15285 			if (yych <= '_') {
15286 				if (yych <= '^') goto yy295;
15287 				goto yy297;
15288 			} else {
15289 				if (yych <= '`') goto yy295;
15290 				if (yych <= 'z') goto yy829;
15291 				goto yy295;
15292 			}
15293 		}
15294 	}
15295 yy665:
15296 	YYDEBUG(665, *YYCURSOR);
15297 	yyaccept = 2;
15298 	yych = *(YYMARKER = ++YYCURSOR);
15299 	if (yych <= 'S') {
15300 		if (yych <= '-') {
15301 			if (yych == ')') goto yy115;
15302 			if (yych <= ',') goto yy20;
15303 			goto yy297;
15304 		} else {
15305 			if (yych == '/') goto yy297;
15306 			if (yych <= '@') goto yy20;
15307 			goto yy826;
15308 		}
15309 	} else {
15310 		if (yych <= '_') {
15311 			if (yych <= 'T') goto yy828;
15312 			if (yych <= 'Z') goto yy826;
15313 			if (yych <= '^') goto yy20;
15314 			goto yy297;
15315 		} else {
15316 			if (yych <= 's') {
15317 				if (yych <= '`') goto yy20;
15318 				goto yy829;
15319 			} else {
15320 				if (yych <= 't') goto yy830;
15321 				if (yych <= 'z') goto yy829;
15322 				goto yy20;
15323 			}
15324 		}
15325 	}
15326 yy666:
15327 	YYDEBUG(666, *YYCURSOR);
15328 	yych = *++YYCURSOR;
15329 	if (yych == 'O') goto yy831;
15330 	if (yych == 'o') goto yy831;
15331 	goto yy59;
15332 yy667:
15333 	YYDEBUG(667, *YYCURSOR);
15334 	yych = *++YYCURSOR;
15335 	if (yych <= 'B') {
15336 		if (yych <= ')') {
15337 			if (yych <= '(') goto yy20;
15338 			goto yy115;
15339 		} else {
15340 			if (yych <= '@') goto yy20;
15341 			if (yych <= 'A') goto yy826;
15342 			goto yy832;
15343 		}
15344 	} else {
15345 		if (yych <= 'a') {
15346 			if (yych <= 'Z') goto yy826;
15347 			if (yych <= '`') goto yy20;
15348 			goto yy826;
15349 		} else {
15350 			if (yych <= 'b') goto yy832;
15351 			if (yych <= 'z') goto yy826;
15352 			goto yy20;
15353 		}
15354 	}
15355 yy668:
15356 	YYDEBUG(668, *YYCURSOR);
15357 	yyaccept = 2;
15358 	yych = *(YYMARKER = ++YYCURSOR);
15359 	if (yych <= 'A') {
15360 		if (yych <= '-') {
15361 			if (yych == ')') goto yy115;
15362 			if (yych <= ',') goto yy20;
15363 			goto yy297;
15364 		} else {
15365 			if (yych == '/') goto yy297;
15366 			if (yych <= '@') goto yy20;
15367 			goto yy826;
15368 		}
15369 	} else {
15370 		if (yych <= '_') {
15371 			if (yych <= 'B') goto yy832;
15372 			if (yych <= 'Z') goto yy826;
15373 			if (yych <= '^') goto yy20;
15374 			goto yy297;
15375 		} else {
15376 			if (yych <= 'a') {
15377 				if (yych <= '`') goto yy20;
15378 				goto yy829;
15379 			} else {
15380 				if (yych <= 'b') goto yy833;
15381 				if (yych <= 'z') goto yy829;
15382 				goto yy20;
15383 			}
15384 		}
15385 	}
15386 yy669:
15387 	YYDEBUG(669, *YYCURSOR);
15388 	yyaccept = 2;
15389 	yych = *(YYMARKER = ++YYCURSOR);
15390 	if (yych <= 'H') {
15391 		if (yych <= ' ') {
15392 			if (yych == '\t') goto yy834;
15393 			if (yych <= 0x1F) goto yy20;
15394 			goto yy834;
15395 		} else {
15396 			if (yych <= ')') {
15397 				if (yych <= '(') goto yy20;
15398 				goto yy115;
15399 			} else {
15400 				if (yych <= '@') goto yy20;
15401 				if (yych <= 'G') goto yy826;
15402 				goto yy836;
15403 			}
15404 		}
15405 	} else {
15406 		if (yych <= 'z') {
15407 			if (yych <= '`') {
15408 				if (yych <= 'Z') goto yy826;
15409 				goto yy20;
15410 			} else {
15411 				if (yych == 'h') goto yy836;
15412 				goto yy826;
15413 			}
15414 		} else {
15415 			if (yych <= 0xC2) {
15416 				if (yych <= 0xC1) goto yy20;
15417 				goto yy837;
15418 			} else {
15419 				if (yych == 0xE2) goto yy838;
15420 				goto yy20;
15421 			}
15422 		}
15423 	}
15424 yy670:
15425 	YYDEBUG(670, *YYCURSOR);
15426 	yych = *++YYCURSOR;
15427 	if (yych <= 'N') {
15428 		if (yych <= ')') {
15429 			if (yych <= '(') goto yy20;
15430 			goto yy115;
15431 		} else {
15432 			if (yych <= '@') goto yy20;
15433 			if (yych <= 'M') goto yy826;
15434 			goto yy839;
15435 		}
15436 	} else {
15437 		if (yych <= 'm') {
15438 			if (yych <= 'Z') goto yy826;
15439 			if (yych <= '`') goto yy20;
15440 			goto yy826;
15441 		} else {
15442 			if (yych <= 'n') goto yy839;
15443 			if (yych <= 'z') goto yy826;
15444 			goto yy20;
15445 		}
15446 	}
15447 yy671:
15448 	YYDEBUG(671, *YYCURSOR);
15449 	yyaccept = 2;
15450 	yych = *(YYMARKER = ++YYCURSOR);
15451 	if (yych <= 'G') {
15452 		if (yych <= ')') {
15453 			if (yych <= 0x1F) {
15454 				if (yych == '\t') goto yy834;
15455 				goto yy20;
15456 			} else {
15457 				if (yych <= ' ') goto yy834;
15458 				if (yych <= '(') goto yy20;
15459 				goto yy115;
15460 			}
15461 		} else {
15462 			if (yych <= '.') {
15463 				if (yych == '-') goto yy297;
15464 				goto yy20;
15465 			} else {
15466 				if (yych <= '/') goto yy297;
15467 				if (yych <= '@') goto yy20;
15468 				goto yy826;
15469 			}
15470 		}
15471 	} else {
15472 		if (yych <= 'g') {
15473 			if (yych <= '^') {
15474 				if (yych <= 'H') goto yy836;
15475 				if (yych <= 'Z') goto yy826;
15476 				goto yy20;
15477 			} else {
15478 				if (yych <= '_') goto yy297;
15479 				if (yych <= '`') goto yy20;
15480 				goto yy829;
15481 			}
15482 		} else {
15483 			if (yych <= 0xC1) {
15484 				if (yych <= 'h') goto yy840;
15485 				if (yych <= 'z') goto yy829;
15486 				goto yy20;
15487 			} else {
15488 				if (yych <= 0xC2) goto yy837;
15489 				if (yych == 0xE2) goto yy838;
15490 				goto yy20;
15491 			}
15492 		}
15493 	}
15494 yy672:
15495 	YYDEBUG(672, *YYCURSOR);
15496 	yyaccept = 2;
15497 	yych = *(YYMARKER = ++YYCURSOR);
15498 	if (yych <= 'M') {
15499 		if (yych <= '-') {
15500 			if (yych == ')') goto yy115;
15501 			if (yych <= ',') goto yy20;
15502 			goto yy297;
15503 		} else {
15504 			if (yych == '/') goto yy297;
15505 			if (yych <= '@') goto yy20;
15506 			goto yy826;
15507 		}
15508 	} else {
15509 		if (yych <= '_') {
15510 			if (yych <= 'N') goto yy839;
15511 			if (yych <= 'Z') goto yy826;
15512 			if (yych <= '^') goto yy20;
15513 			goto yy297;
15514 		} else {
15515 			if (yych <= 'm') {
15516 				if (yych <= '`') goto yy20;
15517 				goto yy829;
15518 			} else {
15519 				if (yych <= 'n') goto yy841;
15520 				if (yych <= 'z') goto yy829;
15521 				goto yy20;
15522 			}
15523 		}
15524 	}
15525 yy673:
15526 	YYDEBUG(673, *YYCURSOR);
15527 	yych = *++YYCURSOR;
15528 	if (yych <= 'A') {
15529 		if (yych == ')') goto yy115;
15530 		if (yych <= '@') goto yy20;
15531 		goto yy842;
15532 	} else {
15533 		if (yych <= '`') {
15534 			if (yych <= 'Z') goto yy826;
15535 			goto yy20;
15536 		} else {
15537 			if (yych <= 'a') goto yy842;
15538 			if (yych <= 'z') goto yy826;
15539 			goto yy20;
15540 		}
15541 	}
15542 yy674:
15543 	YYDEBUG(674, *YYCURSOR);
15544 	yyaccept = 2;
15545 	yych = *(YYMARKER = ++YYCURSOR);
15546 	if (yych <= '@') {
15547 		if (yych <= 0x1F) {
15548 			if (yych == '\t') goto yy834;
15549 			goto yy20;
15550 		} else {
15551 			if (yych <= ' ') goto yy834;
15552 			if (yych == ')') goto yy115;
15553 			goto yy20;
15554 		}
15555 	} else {
15556 		if (yych <= 0xC1) {
15557 			if (yych <= 'Z') goto yy826;
15558 			if (yych <= '`') goto yy20;
15559 			if (yych <= 'z') goto yy826;
15560 			goto yy20;
15561 		} else {
15562 			if (yych <= 0xC2) goto yy837;
15563 			if (yych == 0xE2) goto yy838;
15564 			goto yy20;
15565 		}
15566 	}
15567 yy675:
15568 	YYDEBUG(675, *YYCURSOR);
15569 	yyaccept = 2;
15570 	yych = *(YYMARKER = ++YYCURSOR);
15571 	if (yych <= '@') {
15572 		if (yych <= 0x1F) {
15573 			if (yych == '\t') goto yy834;
15574 			goto yy20;
15575 		} else {
15576 			if (yych <= ' ') goto yy843;
15577 			if (yych == ')') goto yy115;
15578 			goto yy20;
15579 		}
15580 	} else {
15581 		if (yych <= 0xC1) {
15582 			if (yych <= 'Z') goto yy826;
15583 			if (yych <= '`') goto yy20;
15584 			if (yych <= 'z') goto yy826;
15585 			goto yy20;
15586 		} else {
15587 			if (yych <= 0xC2) goto yy837;
15588 			if (yych == 0xE2) goto yy838;
15589 			goto yy20;
15590 		}
15591 	}
15592 yy676:
15593 	YYDEBUG(676, *YYCURSOR);
15594 	yych = *++YYCURSOR;
15595 	if (yych <= 'H') {
15596 		if (yych <= ')') {
15597 			if (yych <= '(') goto yy20;
15598 			goto yy115;
15599 		} else {
15600 			if (yych <= '@') goto yy20;
15601 			if (yych <= 'G') goto yy826;
15602 			goto yy836;
15603 		}
15604 	} else {
15605 		if (yych <= 'g') {
15606 			if (yych <= 'Z') goto yy826;
15607 			if (yych <= '`') goto yy20;
15608 			goto yy826;
15609 		} else {
15610 			if (yych <= 'h') goto yy836;
15611 			if (yych <= 'z') goto yy826;
15612 			goto yy20;
15613 		}
15614 	}
15615 yy677:
15616 	YYDEBUG(677, *YYCURSOR);
15617 	yych = *++YYCURSOR;
15618 	if (yych <= 'Y') {
15619 		if (yych <= ')') {
15620 			if (yych <= '(') goto yy20;
15621 			goto yy115;
15622 		} else {
15623 			if (yych <= '@') goto yy20;
15624 			if (yych <= 'X') goto yy826;
15625 			goto yy844;
15626 		}
15627 	} else {
15628 		if (yych <= 'x') {
15629 			if (yych <= 'Z') goto yy826;
15630 			if (yych <= '`') goto yy20;
15631 			goto yy826;
15632 		} else {
15633 			if (yych <= 'y') goto yy844;
15634 			if (yych <= 'z') goto yy826;
15635 			goto yy20;
15636 		}
15637 	}
15638 yy678:
15639 	YYDEBUG(678, *YYCURSOR);
15640 	yyaccept = 2;
15641 	yych = *(YYMARKER = ++YYCURSOR);
15642 	if (yych <= ')') {
15643 		if (yych == ' ') goto yy666;
15644 		if (yych <= '(') goto yy20;
15645 		goto yy115;
15646 	} else {
15647 		if (yych <= 'Z') {
15648 			if (yych <= '@') goto yy20;
15649 			goto yy826;
15650 		} else {
15651 			if (yych <= '`') goto yy20;
15652 			if (yych <= 'z') goto yy826;
15653 			goto yy20;
15654 		}
15655 	}
15656 yy679:
15657 	YYDEBUG(679, *YYCURSOR);
15658 	yyaccept = 2;
15659 	yych = *(YYMARKER = ++YYCURSOR);
15660 	if (yych <= '@') {
15661 		if (yych <= ',') {
15662 			if (yych == ')') goto yy115;
15663 			goto yy20;
15664 		} else {
15665 			if (yych == '.') goto yy20;
15666 			if (yych <= '/') goto yy297;
15667 			goto yy20;
15668 		}
15669 	} else {
15670 		if (yych <= '_') {
15671 			if (yych <= 'A') goto yy842;
15672 			if (yych <= 'Z') goto yy826;
15673 			if (yych <= '^') goto yy20;
15674 			goto yy297;
15675 		} else {
15676 			if (yych <= '`') goto yy20;
15677 			if (yych <= 'a') goto yy845;
15678 			if (yych <= 'z') goto yy829;
15679 			goto yy20;
15680 		}
15681 	}
15682 yy680:
15683 	YYDEBUG(680, *YYCURSOR);
15684 	yyaccept = 2;
15685 	yych = *(YYMARKER = ++YYCURSOR);
15686 	if (yych <= '/') {
15687 		if (yych <= '(') {
15688 			if (yych <= '\t') {
15689 				if (yych <= 0x08) goto yy20;
15690 				goto yy834;
15691 			} else {
15692 				if (yych == ' ') goto yy834;
15693 				goto yy20;
15694 			}
15695 		} else {
15696 			if (yych <= ',') {
15697 				if (yych <= ')') goto yy115;
15698 				goto yy20;
15699 			} else {
15700 				if (yych == '.') goto yy20;
15701 				goto yy297;
15702 			}
15703 		}
15704 	} else {
15705 		if (yych <= '`') {
15706 			if (yych <= 'Z') {
15707 				if (yych <= '@') goto yy20;
15708 				goto yy826;
15709 			} else {
15710 				if (yych == '_') goto yy297;
15711 				goto yy20;
15712 			}
15713 		} else {
15714 			if (yych <= 0xC2) {
15715 				if (yych <= 'z') goto yy829;
15716 				if (yych <= 0xC1) goto yy20;
15717 				goto yy837;
15718 			} else {
15719 				if (yych == 0xE2) goto yy838;
15720 				goto yy20;
15721 			}
15722 		}
15723 	}
15724 yy681:
15725 	YYDEBUG(681, *YYCURSOR);
15726 	yyaccept = 2;
15727 	yych = *(YYMARKER = ++YYCURSOR);
15728 	if (yych <= '/') {
15729 		if (yych <= '(') {
15730 			if (yych <= '\t') {
15731 				if (yych <= 0x08) goto yy20;
15732 				goto yy834;
15733 			} else {
15734 				if (yych == ' ') goto yy843;
15735 				goto yy20;
15736 			}
15737 		} else {
15738 			if (yych <= ',') {
15739 				if (yych <= ')') goto yy115;
15740 				goto yy20;
15741 			} else {
15742 				if (yych == '.') goto yy20;
15743 				goto yy297;
15744 			}
15745 		}
15746 	} else {
15747 		if (yych <= '`') {
15748 			if (yych <= 'Z') {
15749 				if (yych <= '@') goto yy20;
15750 				goto yy826;
15751 			} else {
15752 				if (yych == '_') goto yy297;
15753 				goto yy20;
15754 			}
15755 		} else {
15756 			if (yych <= 0xC2) {
15757 				if (yych <= 'z') goto yy829;
15758 				if (yych <= 0xC1) goto yy20;
15759 				goto yy837;
15760 			} else {
15761 				if (yych == 0xE2) goto yy838;
15762 				goto yy20;
15763 			}
15764 		}
15765 	}
15766 yy682:
15767 	YYDEBUG(682, *YYCURSOR);
15768 	yyaccept = 2;
15769 	yych = *(YYMARKER = ++YYCURSOR);
15770 	if (yych <= 'G') {
15771 		if (yych <= '-') {
15772 			if (yych == ')') goto yy115;
15773 			if (yych <= ',') goto yy20;
15774 			goto yy297;
15775 		} else {
15776 			if (yych == '/') goto yy297;
15777 			if (yych <= '@') goto yy20;
15778 			goto yy826;
15779 		}
15780 	} else {
15781 		if (yych <= '_') {
15782 			if (yych <= 'H') goto yy836;
15783 			if (yych <= 'Z') goto yy826;
15784 			if (yych <= '^') goto yy20;
15785 			goto yy297;
15786 		} else {
15787 			if (yych <= 'g') {
15788 				if (yych <= '`') goto yy20;
15789 				goto yy829;
15790 			} else {
15791 				if (yych <= 'h') goto yy840;
15792 				if (yych <= 'z') goto yy829;
15793 				goto yy20;
15794 			}
15795 		}
15796 	}
15797 yy683:
15798 	YYDEBUG(683, *YYCURSOR);
15799 	yyaccept = 2;
15800 	yych = *(YYMARKER = ++YYCURSOR);
15801 	if (yych <= 'X') {
15802 		if (yych <= '-') {
15803 			if (yych == ')') goto yy115;
15804 			if (yych <= ',') goto yy20;
15805 			goto yy297;
15806 		} else {
15807 			if (yych == '/') goto yy297;
15808 			if (yych <= '@') goto yy20;
15809 			goto yy826;
15810 		}
15811 	} else {
15812 		if (yych <= '_') {
15813 			if (yych <= 'Y') goto yy844;
15814 			if (yych <= 'Z') goto yy826;
15815 			if (yych <= '^') goto yy20;
15816 			goto yy297;
15817 		} else {
15818 			if (yych <= 'x') {
15819 				if (yych <= '`') goto yy20;
15820 				goto yy829;
15821 			} else {
15822 				if (yych <= 'y') goto yy846;
15823 				if (yych <= 'z') goto yy829;
15824 				goto yy20;
15825 			}
15826 		}
15827 	}
15828 yy684:
15829 	YYDEBUG(684, *YYCURSOR);
15830 	yyaccept = 2;
15831 	yych = *(YYMARKER = ++YYCURSOR);
15832 	if (yych <= '.') {
15833 		if (yych <= '(') {
15834 			if (yych == ' ') goto yy666;
15835 			goto yy20;
15836 		} else {
15837 			if (yych <= ')') goto yy115;
15838 			if (yych == '-') goto yy297;
15839 			goto yy20;
15840 		}
15841 	} else {
15842 		if (yych <= '^') {
15843 			if (yych <= '/') goto yy297;
15844 			if (yych <= '@') goto yy20;
15845 			if (yych <= 'Z') goto yy826;
15846 			goto yy20;
15847 		} else {
15848 			if (yych <= '_') goto yy297;
15849 			if (yych <= '`') goto yy20;
15850 			if (yych <= 'z') goto yy829;
15851 			goto yy20;
15852 		}
15853 	}
15854 yy685:
15855 	YYDEBUG(685, *YYCURSOR);
15856 	yyaccept = 2;
15857 	yych = *(YYMARKER = ++YYCURSOR);
15858 	if (yych <= '/') goto yy20;
15859 	if (yych <= '9') goto yy847;
15860 	if (yych <= ':') goto yy203;
15861 	goto yy20;
15862 yy686:
15863 	YYDEBUG(686, *YYCURSOR);
15864 	yyaccept = 2;
15865 	yych = *(YYMARKER = ++YYCURSOR);
15866 	if (yych <= '5') {
15867 		if (yych <= '/') goto yy20;
15868 		if (yych <= '4') goto yy847;
15869 		goto yy394;
15870 	} else {
15871 		if (yych <= '9') goto yy115;
15872 		if (yych <= ':') goto yy203;
15873 		goto yy20;
15874 	}
15875 yy687:
15876 	YYDEBUG(687, *YYCURSOR);
15877 	yyaccept = 2;
15878 	yych = *(YYMARKER = ++YYCURSOR);
15879 	if (yych <= '/') goto yy20;
15880 	if (yych <= '5') goto yy394;
15881 	if (yych <= '9') goto yy115;
15882 	if (yych <= ':') goto yy203;
15883 	goto yy20;
15884 yy688:
15885 	YYDEBUG(688, *YYCURSOR);
15886 	yych = *++YYCURSOR;
15887 	if (yych <= '/') goto yy59;
15888 	if (yych <= '5') goto yy848;
15889 	if (yych <= '9') goto yy850;
15890 	goto yy59;
15891 yy689:
15892 	YYDEBUG(689, *YYCURSOR);
15893 	yych = *++YYCURSOR;
15894 	if (yych == '.') goto yy688;
15895 	if (yych == ':') goto yy688;
15896 	goto yy59;
15897 yy690:
15898 	YYDEBUG(690, *YYCURSOR);
15899 	yych = *++YYCURSOR;
15900 	if (yych <= '/') goto yy59;
15901 	if (yych <= '5') goto yy851;
15902 	if (yych <= '9') goto yy852;
15903 	goto yy59;
15904 yy691:
15905 	YYDEBUG(691, *YYCURSOR);
15906 	yych = *++YYCURSOR;
15907 	if (yych <= '/') {
15908 		if (yych == '.') goto yy688;
15909 		goto yy59;
15910 	} else {
15911 		if (yych <= '9') goto yy689;
15912 		if (yych <= ':') goto yy688;
15913 		goto yy59;
15914 	}
15915 yy692:
15916 	YYDEBUG(692, *YYCURSOR);
15917 	yych = *++YYCURSOR;
15918 	if (yych <= '/') {
15919 		if (yych == '.') goto yy688;
15920 		goto yy59;
15921 	} else {
15922 		if (yych <= '4') goto yy689;
15923 		if (yych == ':') goto yy688;
15924 		goto yy59;
15925 	}
15926 yy693:
15927 	YYDEBUG(693, *YYCURSOR);
15928 	yyaccept = 10;
15929 	yych = *(YYMARKER = ++YYCURSOR);
15930 	if (yych <= '/') {
15931 		if (yych == '.') goto yy688;
15932 		goto yy325;
15933 	} else {
15934 		if (yych <= '9') goto yy853;
15935 		if (yych <= ':') goto yy688;
15936 		goto yy325;
15937 	}
15938 yy694:
15939 	YYDEBUG(694, *YYCURSOR);
15940 	yyaccept = 10;
15941 	yych = *(YYMARKER = ++YYCURSOR);
15942 	if (yych <= '/') {
15943 		if (yych == '.') goto yy690;
15944 		goto yy325;
15945 	} else {
15946 		if (yych <= '9') goto yy853;
15947 		if (yych <= ':') goto yy690;
15948 		goto yy325;
15949 	}
15950 yy695:
15951 	YYDEBUG(695, *YYCURSOR);
15952 	yych = *++YYCURSOR;
15953 	if (yych <= '/') goto yy325;
15954 	if (yych <= '9') goto yy853;
15955 	goto yy325;
15956 yy696:
15957 	YYDEBUG(696, *YYCURSOR);
15958 	++YYCURSOR;
15959 	YYDEBUG(697, *YYCURSOR);
15960 #line 1594 "ext/date/lib/parse_date.re"
15961 	{
15962 		int length = 0;
15963 		DEBUG_OUTPUT("datenoday");
15964 		TIMELIB_INIT;
15965 		TIMELIB_HAVE_DATE();
15966 		s->time->m = timelib_get_month(&ptr);
15967 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
15968 		s->time->d = 1;
15969 		TIMELIB_PROCESS_YEAR(s->time->y, length);
15970 		TIMELIB_DEINIT;
15971 		return TIMELIB_DATE_NO_DAY;
15972 	}
15973 #line 15974 "<stdout>"
15974 yy698:
15975 	YYDEBUG(698, *YYCURSOR);
15976 	yych = *++YYCURSOR;
15977 	if (yych <= 'R') {
15978 		if (yych <= ')') {
15979 			if (yych <= '(') goto yy20;
15980 			goto yy115;
15981 		} else {
15982 			if (yych <= '@') goto yy20;
15983 			if (yych <= 'Q') goto yy826;
15984 			goto yy854;
15985 		}
15986 	} else {
15987 		if (yych <= 'q') {
15988 			if (yych <= 'Z') goto yy826;
15989 			if (yych <= '`') goto yy20;
15990 			goto yy826;
15991 		} else {
15992 			if (yych <= 'r') goto yy854;
15993 			if (yych <= 'z') goto yy826;
15994 			goto yy20;
15995 		}
15996 	}
15997 yy699:
15998 	YYDEBUG(699, *YYCURSOR);
15999 	yyaccept = 2;
16000 	yych = *(YYMARKER = ++YYCURSOR);
16001 	if (yych <= 'Q') {
16002 		if (yych <= '-') {
16003 			if (yych == ')') goto yy115;
16004 			if (yych <= ',') goto yy20;
16005 			goto yy297;
16006 		} else {
16007 			if (yych == '/') goto yy297;
16008 			if (yych <= '@') goto yy20;
16009 			goto yy826;
16010 		}
16011 	} else {
16012 		if (yych <= '_') {
16013 			if (yych <= 'R') goto yy854;
16014 			if (yych <= 'Z') goto yy826;
16015 			if (yych <= '^') goto yy20;
16016 			goto yy297;
16017 		} else {
16018 			if (yych <= 'q') {
16019 				if (yych <= '`') goto yy20;
16020 				goto yy829;
16021 			} else {
16022 				if (yych <= 'r') goto yy855;
16023 				if (yych <= 'z') goto yy829;
16024 				goto yy20;
16025 			}
16026 		}
16027 	}
16028 yy700:
16029 	YYDEBUG(700, *YYCURSOR);
16030 	yych = *++YYCURSOR;
16031 	if (yybm[0+yych] & 64) {
16032 		goto yy476;
16033 	}
16034 	goto yy142;
16035 yy701:
16036 	YYDEBUG(701, *YYCURSOR);
16037 	++YYCURSOR;
16038 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
16039 	yych = *YYCURSOR;
16040 yy702:
16041 	YYDEBUG(702, *YYCURSOR);
16042 	if (yych <= 'X') {
16043 		if (yych <= 'G') {
16044 			if (yych <= ' ') {
16045 				if (yych == '\t') goto yy701;
16046 				if (yych <= 0x1F) goto yy59;
16047 				goto yy701;
16048 			} else {
16049 				if (yych <= 'D') {
16050 					if (yych <= 'C') goto yy59;
16051 					goto yy856;
16052 				} else {
16053 					if (yych == 'F') goto yy857;
16054 					goto yy59;
16055 				}
16056 			}
16057 		} else {
16058 			if (yych <= 'S') {
16059 				if (yych <= 'L') {
16060 					if (yych <= 'H') goto yy858;
16061 					goto yy59;
16062 				} else {
16063 					if (yych <= 'M') goto yy859;
16064 					if (yych <= 'R') goto yy59;
16065 					goto yy860;
16066 				}
16067 			} else {
16068 				if (yych <= 'U') {
16069 					if (yych <= 'T') goto yy861;
16070 					goto yy862;
16071 				} else {
16072 					if (yych == 'W') goto yy863;
16073 					goto yy59;
16074 				}
16075 			}
16076 		}
16077 	} else {
16078 		if (yych <= 'r') {
16079 			if (yych <= 'f') {
16080 				if (yych <= 'c') {
16081 					if (yych <= 'Y') goto yy864;
16082 					goto yy59;
16083 				} else {
16084 					if (yych <= 'd') goto yy856;
16085 					if (yych <= 'e') goto yy59;
16086 					goto yy857;
16087 				}
16088 			} else {
16089 				if (yych <= 'h') {
16090 					if (yych <= 'g') goto yy59;
16091 					goto yy858;
16092 				} else {
16093 					if (yych == 'm') goto yy859;
16094 					goto yy59;
16095 				}
16096 			}
16097 		} else {
16098 			if (yych <= 'w') {
16099 				if (yych <= 't') {
16100 					if (yych <= 's') goto yy860;
16101 					goto yy861;
16102 				} else {
16103 					if (yych <= 'u') goto yy862;
16104 					if (yych <= 'v') goto yy59;
16105 					goto yy863;
16106 				}
16107 			} else {
16108 				if (yych <= 'y') {
16109 					if (yych <= 'x') goto yy59;
16110 					goto yy864;
16111 				} else {
16112 					if (yych == 0xC2) goto yy865;
16113 					goto yy59;
16114 				}
16115 			}
16116 		}
16117 	}
16118 yy703:
16119 	YYDEBUG(703, *YYCURSOR);
16120 	yych = *++YYCURSOR;
16121 	if (yych == 'D') goto yy866;
16122 	if (yych == 'd') goto yy866;
16123 	goto yy702;
16124 yy704:
16125 	YYDEBUG(704, *YYCURSOR);
16126 	yych = *++YYCURSOR;
16127 	if (yych == 0xA0) goto yy867;
16128 	goto yy59;
16129 yy705:
16130 	YYDEBUG(705, *YYCURSOR);
16131 	++YYCURSOR;
16132 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
16133 	yych = *YYCURSOR;
16134 	if (yych == 0x80) goto yy868;
16135 	goto yy59;
16136 yy706:
16137 	YYDEBUG(706, *YYCURSOR);
16138 	yych = *++YYCURSOR;
16139 	if (yych <= 'G') {
16140 		if (yych <= ')') {
16141 			if (yych <= '(') goto yy20;
16142 			goto yy115;
16143 		} else {
16144 			if (yych <= '@') goto yy20;
16145 			if (yych <= 'F') goto yy826;
16146 			goto yy869;
16147 		}
16148 	} else {
16149 		if (yych <= 'f') {
16150 			if (yych <= 'Z') goto yy826;
16151 			if (yych <= '`') goto yy20;
16152 			goto yy826;
16153 		} else {
16154 			if (yych <= 'g') goto yy869;
16155 			if (yych <= 'z') goto yy826;
16156 			goto yy20;
16157 		}
16158 	}
16159 yy707:
16160 	YYDEBUG(707, *YYCURSOR);
16161 	yyaccept = 2;
16162 	yych = *(YYMARKER = ++YYCURSOR);
16163 	if (yych <= 'F') {
16164 		if (yych <= '-') {
16165 			if (yych == ')') goto yy115;
16166 			if (yych <= ',') goto yy20;
16167 			goto yy297;
16168 		} else {
16169 			if (yych == '/') goto yy297;
16170 			if (yych <= '@') goto yy20;
16171 			goto yy826;
16172 		}
16173 	} else {
16174 		if (yych <= '_') {
16175 			if (yych <= 'G') goto yy869;
16176 			if (yych <= 'Z') goto yy826;
16177 			if (yych <= '^') goto yy20;
16178 			goto yy297;
16179 		} else {
16180 			if (yych <= 'f') {
16181 				if (yych <= '`') goto yy20;
16182 				goto yy829;
16183 			} else {
16184 				if (yych <= 'g') goto yy870;
16185 				if (yych <= 'z') goto yy829;
16186 				goto yy20;
16187 			}
16188 		}
16189 	}
16190 yy708:
16191 	YYDEBUG(708, *YYCURSOR);
16192 	yych = *++YYCURSOR;
16193 	if (yych <= 'E') {
16194 		if (yych <= ')') {
16195 			if (yych <= '(') goto yy20;
16196 			goto yy115;
16197 		} else {
16198 			if (yych <= '@') goto yy20;
16199 			if (yych <= 'D') goto yy826;
16200 			goto yy871;
16201 		}
16202 	} else {
16203 		if (yych <= 'd') {
16204 			if (yych <= 'Z') goto yy826;
16205 			if (yych <= '`') goto yy20;
16206 			goto yy826;
16207 		} else {
16208 			if (yych <= 'e') goto yy871;
16209 			if (yych <= 'z') goto yy826;
16210 			goto yy20;
16211 		}
16212 	}
16213 yy709:
16214 	YYDEBUG(709, *YYCURSOR);
16215 	yyaccept = 2;
16216 	yych = *(YYMARKER = ++YYCURSOR);
16217 	if (yych <= 'D') {
16218 		if (yych <= '-') {
16219 			if (yych == ')') goto yy115;
16220 			if (yych <= ',') goto yy20;
16221 			goto yy297;
16222 		} else {
16223 			if (yych == '/') goto yy297;
16224 			if (yych <= '@') goto yy20;
16225 			goto yy826;
16226 		}
16227 	} else {
16228 		if (yych <= '_') {
16229 			if (yych <= 'E') goto yy871;
16230 			if (yych <= 'Z') goto yy826;
16231 			if (yych <= '^') goto yy20;
16232 			goto yy297;
16233 		} else {
16234 			if (yych <= 'd') {
16235 				if (yych <= '`') goto yy20;
16236 				goto yy829;
16237 			} else {
16238 				if (yych <= 'e') goto yy872;
16239 				if (yych <= 'z') goto yy829;
16240 				goto yy20;
16241 			}
16242 		}
16243 	}
16244 yy710:
16245 	YYDEBUG(710, *YYCURSOR);
16246 	yych = *++YYCURSOR;
16247 	if (yych <= 'O') {
16248 		if (yych <= ')') {
16249 			if (yych <= '(') goto yy20;
16250 			goto yy115;
16251 		} else {
16252 			if (yych <= '@') goto yy20;
16253 			if (yych <= 'N') goto yy826;
16254 			goto yy873;
16255 		}
16256 	} else {
16257 		if (yych <= 'n') {
16258 			if (yych <= 'Z') goto yy826;
16259 			if (yych <= '`') goto yy20;
16260 			goto yy826;
16261 		} else {
16262 			if (yych <= 'o') goto yy873;
16263 			if (yych <= 'z') goto yy826;
16264 			goto yy20;
16265 		}
16266 	}
16267 yy711:
16268 	YYDEBUG(711, *YYCURSOR);
16269 	yyaccept = 2;
16270 	yych = *(YYMARKER = ++YYCURSOR);
16271 	if (yych <= 'N') {
16272 		if (yych <= '-') {
16273 			if (yych == ')') goto yy115;
16274 			if (yych <= ',') goto yy20;
16275 			goto yy297;
16276 		} else {
16277 			if (yych == '/') goto yy297;
16278 			if (yych <= '@') goto yy20;
16279 			goto yy826;
16280 		}
16281 	} else {
16282 		if (yych <= '_') {
16283 			if (yych <= 'O') goto yy873;
16284 			if (yych <= 'Z') goto yy826;
16285 			if (yych <= '^') goto yy20;
16286 			goto yy297;
16287 		} else {
16288 			if (yych <= 'n') {
16289 				if (yych <= '`') goto yy20;
16290 				goto yy829;
16291 			} else {
16292 				if (yych <= 'o') goto yy874;
16293 				if (yych <= 'z') goto yy829;
16294 				goto yy20;
16295 			}
16296 		}
16297 	}
16298 yy712:
16299 	YYDEBUG(712, *YYCURSOR);
16300 	yych = *++YYCURSOR;
16301 	if (yych <= 'D') {
16302 		if (yych <= ')') {
16303 			if (yych <= '(') goto yy20;
16304 			goto yy115;
16305 		} else {
16306 			if (yych <= '@') goto yy20;
16307 			if (yych <= 'C') goto yy826;
16308 			goto yy875;
16309 		}
16310 	} else {
16311 		if (yych <= 'c') {
16312 			if (yych <= 'Z') goto yy826;
16313 			if (yych <= '`') goto yy20;
16314 			goto yy826;
16315 		} else {
16316 			if (yych <= 'd') goto yy875;
16317 			if (yych <= 'z') goto yy826;
16318 			goto yy20;
16319 		}
16320 	}
16321 yy713:
16322 	YYDEBUG(713, *YYCURSOR);
16323 	yych = *++YYCURSOR;
16324 	if (yych <= 'D') {
16325 		if (yych <= ')') {
16326 			if (yych <= '(') goto yy20;
16327 			goto yy115;
16328 		} else {
16329 			if (yych <= '@') goto yy20;
16330 			if (yych <= 'C') goto yy826;
16331 			goto yy836;
16332 		}
16333 	} else {
16334 		if (yych <= 'c') {
16335 			if (yych <= 'Z') goto yy826;
16336 			if (yych <= '`') goto yy20;
16337 			goto yy826;
16338 		} else {
16339 			if (yych <= 'd') goto yy836;
16340 			if (yych <= 'z') goto yy826;
16341 			goto yy20;
16342 		}
16343 	}
16344 yy714:
16345 	YYDEBUG(714, *YYCURSOR);
16346 	yych = *++YYCURSOR;
16347 	if (yych <= 'M') {
16348 		if (yych <= ')') {
16349 			if (yych <= '(') goto yy20;
16350 			goto yy115;
16351 		} else {
16352 			if (yych <= '@') goto yy20;
16353 			if (yych <= 'L') goto yy826;
16354 			goto yy876;
16355 		}
16356 	} else {
16357 		if (yych <= 'l') {
16358 			if (yych <= 'Z') goto yy826;
16359 			if (yych <= '`') goto yy20;
16360 			goto yy826;
16361 		} else {
16362 			if (yych <= 'm') goto yy876;
16363 			if (yych <= 'z') goto yy826;
16364 			goto yy20;
16365 		}
16366 	}
16367 yy715:
16368 	YYDEBUG(715, *YYCURSOR);
16369 	yych = *++YYCURSOR;
16370 	if (yych <= 'T') {
16371 		if (yych <= ')') {
16372 			if (yych <= '(') goto yy20;
16373 			goto yy115;
16374 		} else {
16375 			if (yych <= '@') goto yy20;
16376 			if (yych <= 'S') goto yy826;
16377 			goto yy877;
16378 		}
16379 	} else {
16380 		if (yych <= 's') {
16381 			if (yych <= 'Z') goto yy826;
16382 			if (yych <= '`') goto yy20;
16383 			goto yy826;
16384 		} else {
16385 			if (yych <= 't') goto yy877;
16386 			if (yych <= 'z') goto yy826;
16387 			goto yy20;
16388 		}
16389 	}
16390 yy716:
16391 	YYDEBUG(716, *YYCURSOR);
16392 	yyaccept = 2;
16393 	yych = *(YYMARKER = ++YYCURSOR);
16394 	if (yych <= 'C') {
16395 		if (yych <= '-') {
16396 			if (yych == ')') goto yy115;
16397 			if (yych <= ',') goto yy20;
16398 			goto yy297;
16399 		} else {
16400 			if (yych == '/') goto yy297;
16401 			if (yych <= '@') goto yy20;
16402 			goto yy826;
16403 		}
16404 	} else {
16405 		if (yych <= '_') {
16406 			if (yych <= 'D') goto yy875;
16407 			if (yych <= 'Z') goto yy826;
16408 			if (yych <= '^') goto yy20;
16409 			goto yy297;
16410 		} else {
16411 			if (yych <= 'c') {
16412 				if (yych <= '`') goto yy20;
16413 				goto yy829;
16414 			} else {
16415 				if (yych <= 'd') goto yy878;
16416 				if (yych <= 'z') goto yy829;
16417 				goto yy20;
16418 			}
16419 		}
16420 	}
16421 yy717:
16422 	YYDEBUG(717, *YYCURSOR);
16423 	yyaccept = 2;
16424 	yych = *(YYMARKER = ++YYCURSOR);
16425 	if (yych <= 'C') {
16426 		if (yych <= '-') {
16427 			if (yych == ')') goto yy115;
16428 			if (yych <= ',') goto yy20;
16429 			goto yy297;
16430 		} else {
16431 			if (yych == '/') goto yy297;
16432 			if (yych <= '@') goto yy20;
16433 			goto yy826;
16434 		}
16435 	} else {
16436 		if (yych <= '_') {
16437 			if (yych <= 'D') goto yy836;
16438 			if (yych <= 'Z') goto yy826;
16439 			if (yych <= '^') goto yy20;
16440 			goto yy297;
16441 		} else {
16442 			if (yych <= 'c') {
16443 				if (yych <= '`') goto yy20;
16444 				goto yy829;
16445 			} else {
16446 				if (yych <= 'd') goto yy840;
16447 				if (yych <= 'z') goto yy829;
16448 				goto yy20;
16449 			}
16450 		}
16451 	}
16452 yy718:
16453 	YYDEBUG(718, *YYCURSOR);
16454 	yyaccept = 2;
16455 	yych = *(YYMARKER = ++YYCURSOR);
16456 	if (yych <= 'L') {
16457 		if (yych <= '-') {
16458 			if (yych == ')') goto yy115;
16459 			if (yych <= ',') goto yy20;
16460 			goto yy297;
16461 		} else {
16462 			if (yych == '/') goto yy297;
16463 			if (yych <= '@') goto yy20;
16464 			goto yy826;
16465 		}
16466 	} else {
16467 		if (yych <= '_') {
16468 			if (yych <= 'M') goto yy876;
16469 			if (yych <= 'Z') goto yy826;
16470 			if (yych <= '^') goto yy20;
16471 			goto yy297;
16472 		} else {
16473 			if (yych <= 'l') {
16474 				if (yych <= '`') goto yy20;
16475 				goto yy829;
16476 			} else {
16477 				if (yych <= 'm') goto yy879;
16478 				if (yych <= 'z') goto yy829;
16479 				goto yy20;
16480 			}
16481 		}
16482 	}
16483 yy719:
16484 	YYDEBUG(719, *YYCURSOR);
16485 	yyaccept = 2;
16486 	yych = *(YYMARKER = ++YYCURSOR);
16487 	if (yych <= 'S') {
16488 		if (yych <= '-') {
16489 			if (yych == ')') goto yy115;
16490 			if (yych <= ',') goto yy20;
16491 			goto yy297;
16492 		} else {
16493 			if (yych == '/') goto yy297;
16494 			if (yych <= '@') goto yy20;
16495 			goto yy826;
16496 		}
16497 	} else {
16498 		if (yych <= '_') {
16499 			if (yych <= 'T') goto yy877;
16500 			if (yych <= 'Z') goto yy826;
16501 			if (yych <= '^') goto yy20;
16502 			goto yy297;
16503 		} else {
16504 			if (yych <= 's') {
16505 				if (yych <= '`') goto yy20;
16506 				goto yy829;
16507 			} else {
16508 				if (yych <= 't') goto yy880;
16509 				if (yych <= 'z') goto yy829;
16510 				goto yy20;
16511 			}
16512 		}
16513 	}
16514 yy720:
16515 	YYDEBUG(720, *YYCURSOR);
16516 	yyaccept = 12;
16517 	yych = *(YYMARKER = ++YYCURSOR);
16518 	if (yych <= '/') goto yy420;
16519 	if (yych <= '5') goto yy881;
16520 	if (yych <= '6') goto yy882;
16521 	goto yy420;
16522 yy721:
16523 	YYDEBUG(721, *YYCURSOR);
16524 	yych = *++YYCURSOR;
16525 	if (yych <= '@') {
16526 		if (yych == ')') goto yy115;
16527 	} else {
16528 		if (yych <= 'Z') goto yy826;
16529 		if (yych <= '`') goto yy722;
16530 		if (yych <= 'z') goto yy826;
16531 	}
16532 yy722:
16533 	YYDEBUG(722, *YYCURSOR);
16534 #line 1189 "ext/date/lib/parse_date.re"
16535 	{
16536 		DEBUG_OUTPUT("midnight | today");
16537 		TIMELIB_INIT;
16538 		TIMELIB_UNHAVE_TIME();
16539 
16540 		TIMELIB_DEINIT;
16541 		return TIMELIB_RELATIVE;
16542 	}
16543 #line 16544 "<stdout>"
16544 yy723:
16545 	YYDEBUG(723, *YYCURSOR);
16546 	yych = *++YYCURSOR;
16547 	if (yych <= 'R') {
16548 		if (yych <= ')') {
16549 			if (yych <= '(') goto yy20;
16550 			goto yy115;
16551 		} else {
16552 			if (yych <= '@') goto yy20;
16553 			if (yych <= 'Q') goto yy826;
16554 			goto yy883;
16555 		}
16556 	} else {
16557 		if (yych <= 'q') {
16558 			if (yych <= 'Z') goto yy826;
16559 			if (yych <= '`') goto yy20;
16560 			goto yy826;
16561 		} else {
16562 			if (yych <= 'r') goto yy883;
16563 			if (yych <= 'z') goto yy826;
16564 			goto yy20;
16565 		}
16566 	}
16567 yy724:
16568 	YYDEBUG(724, *YYCURSOR);
16569 	yych = *++YYCURSOR;
16570 	if (yych <= 'A') {
16571 		if (yych == ')') goto yy115;
16572 		if (yych <= '@') goto yy20;
16573 		goto yy884;
16574 	} else {
16575 		if (yych <= '`') {
16576 			if (yych <= 'Z') goto yy826;
16577 			goto yy20;
16578 		} else {
16579 			if (yych <= 'a') goto yy884;
16580 			if (yych <= 'z') goto yy826;
16581 			goto yy20;
16582 		}
16583 	}
16584 yy725:
16585 	YYDEBUG(725, *YYCURSOR);
16586 	yyaccept = 16;
16587 	yych = *(YYMARKER = ++YYCURSOR);
16588 	if (yych <= '/') {
16589 		if (yych <= ',') {
16590 			if (yych == ')') goto yy115;
16591 			goto yy722;
16592 		} else {
16593 			if (yych == '.') goto yy722;
16594 			goto yy297;
16595 		}
16596 	} else {
16597 		if (yych <= '^') {
16598 			if (yych <= '@') goto yy722;
16599 			if (yych <= 'Z') goto yy826;
16600 			goto yy722;
16601 		} else {
16602 			if (yych <= '_') goto yy297;
16603 			if (yych <= '`') goto yy722;
16604 			if (yych <= 'z') goto yy829;
16605 			goto yy722;
16606 		}
16607 	}
16608 yy726:
16609 	YYDEBUG(726, *YYCURSOR);
16610 	yyaccept = 2;
16611 	yych = *(YYMARKER = ++YYCURSOR);
16612 	if (yych <= 'Q') {
16613 		if (yych <= '-') {
16614 			if (yych == ')') goto yy115;
16615 			if (yych <= ',') goto yy20;
16616 			goto yy297;
16617 		} else {
16618 			if (yych == '/') goto yy297;
16619 			if (yych <= '@') goto yy20;
16620 			goto yy826;
16621 		}
16622 	} else {
16623 		if (yych <= '_') {
16624 			if (yych <= 'R') goto yy883;
16625 			if (yych <= 'Z') goto yy826;
16626 			if (yych <= '^') goto yy20;
16627 			goto yy297;
16628 		} else {
16629 			if (yych <= 'q') {
16630 				if (yych <= '`') goto yy20;
16631 				goto yy829;
16632 			} else {
16633 				if (yych <= 'r') goto yy885;
16634 				if (yych <= 'z') goto yy829;
16635 				goto yy20;
16636 			}
16637 		}
16638 	}
16639 yy727:
16640 	YYDEBUG(727, *YYCURSOR);
16641 	yyaccept = 2;
16642 	yych = *(YYMARKER = ++YYCURSOR);
16643 	if (yych <= '@') {
16644 		if (yych <= ',') {
16645 			if (yych == ')') goto yy115;
16646 			goto yy20;
16647 		} else {
16648 			if (yych == '.') goto yy20;
16649 			if (yych <= '/') goto yy297;
16650 			goto yy20;
16651 		}
16652 	} else {
16653 		if (yych <= '_') {
16654 			if (yych <= 'A') goto yy884;
16655 			if (yych <= 'Z') goto yy826;
16656 			if (yych <= '^') goto yy20;
16657 			goto yy297;
16658 		} else {
16659 			if (yych <= '`') goto yy20;
16660 			if (yych <= 'a') goto yy886;
16661 			if (yych <= 'z') goto yy829;
16662 			goto yy20;
16663 		}
16664 	}
16665 yy728:
16666 	YYDEBUG(728, *YYCURSOR);
16667 	yych = *++YYCURSOR;
16668 	if (yych <= 'S') {
16669 		if (yych <= ')') {
16670 			if (yych <= '(') goto yy20;
16671 			goto yy115;
16672 		} else {
16673 			if (yych <= '@') goto yy20;
16674 			if (yych <= 'R') goto yy826;
16675 			goto yy887;
16676 		}
16677 	} else {
16678 		if (yych <= 'r') {
16679 			if (yych <= 'Z') goto yy826;
16680 			if (yych <= '`') goto yy20;
16681 			goto yy826;
16682 		} else {
16683 			if (yych <= 's') goto yy887;
16684 			if (yych <= 'z') goto yy826;
16685 			goto yy20;
16686 		}
16687 	}
16688 yy729:
16689 	YYDEBUG(729, *YYCURSOR);
16690 	yyaccept = 2;
16691 	yych = *(YYMARKER = ++YYCURSOR);
16692 	if (yych <= 'R') {
16693 		if (yych <= '-') {
16694 			if (yych == ')') goto yy115;
16695 			if (yych <= ',') goto yy20;
16696 			goto yy297;
16697 		} else {
16698 			if (yych == '/') goto yy297;
16699 			if (yych <= '@') goto yy20;
16700 			goto yy826;
16701 		}
16702 	} else {
16703 		if (yych <= '_') {
16704 			if (yych <= 'S') goto yy887;
16705 			if (yych <= 'Z') goto yy826;
16706 			if (yych <= '^') goto yy20;
16707 			goto yy297;
16708 		} else {
16709 			if (yych <= 'r') {
16710 				if (yych <= '`') goto yy20;
16711 				goto yy829;
16712 			} else {
16713 				if (yych <= 's') goto yy888;
16714 				if (yych <= 'z') goto yy829;
16715 				goto yy20;
16716 			}
16717 		}
16718 	}
16719 yy730:
16720 	YYDEBUG(730, *YYCURSOR);
16721 	yych = *++YYCURSOR;
16722 	if (yych <= 'R') {
16723 		if (yych <= ')') {
16724 			if (yych <= '(') goto yy20;
16725 			goto yy115;
16726 		} else {
16727 			if (yych <= '@') goto yy20;
16728 			if (yych <= 'Q') goto yy826;
16729 			goto yy889;
16730 		}
16731 	} else {
16732 		if (yych <= 'q') {
16733 			if (yych <= 'Z') goto yy826;
16734 			if (yych <= '`') goto yy20;
16735 			goto yy826;
16736 		} else {
16737 			if (yych <= 'r') goto yy889;
16738 			if (yych <= 'z') goto yy826;
16739 			goto yy20;
16740 		}
16741 	}
16742 yy731:
16743 	YYDEBUG(731, *YYCURSOR);
16744 	yyaccept = 2;
16745 	yych = *(YYMARKER = ++YYCURSOR);
16746 	if (yych <= 'Q') {
16747 		if (yych <= '-') {
16748 			if (yych == ')') goto yy115;
16749 			if (yych <= ',') goto yy20;
16750 			goto yy297;
16751 		} else {
16752 			if (yych == '/') goto yy297;
16753 			if (yych <= '@') goto yy20;
16754 			goto yy826;
16755 		}
16756 	} else {
16757 		if (yych <= '_') {
16758 			if (yych <= 'R') goto yy889;
16759 			if (yych <= 'Z') goto yy826;
16760 			if (yych <= '^') goto yy20;
16761 			goto yy297;
16762 		} else {
16763 			if (yych <= 'q') {
16764 				if (yych <= '`') goto yy20;
16765 				goto yy829;
16766 			} else {
16767 				if (yych <= 'r') goto yy890;
16768 				if (yych <= 'z') goto yy829;
16769 				goto yy20;
16770 			}
16771 		}
16772 	}
16773 yy732:
16774 	YYDEBUG(732, *YYCURSOR);
16775 	yych = *++YYCURSOR;
16776 	if (yych <= '/') goto yy59;
16777 	if (yych <= '0') goto yy891;
16778 	if (yych <= '1') goto yy892;
16779 	goto yy59;
16780 yy733:
16781 	YYDEBUG(733, *YYCURSOR);
16782 	yych = *++YYCURSOR;
16783 	if (yych <= '9') {
16784 		if (yych == '-') goto yy893;
16785 		if (yych <= '/') goto yy196;
16786 		goto yy894;
16787 	} else {
16788 		if (yych <= 0xC2) {
16789 			if (yych <= 0xC1) goto yy196;
16790 			goto yy97;
16791 		} else {
16792 			if (yych == 0xE2) goto yy98;
16793 			goto yy196;
16794 		}
16795 	}
16796 yy734:
16797 	YYDEBUG(734, *YYCURSOR);
16798 	yych = *++YYCURSOR;
16799 	if (yych <= '9') {
16800 		if (yych <= '-') {
16801 			if (yych <= ',') goto yy196;
16802 			goto yy893;
16803 		} else {
16804 			if (yych <= '/') goto yy196;
16805 			if (yych <= '0') goto yy894;
16806 			goto yy895;
16807 		}
16808 	} else {
16809 		if (yych <= 0xC2) {
16810 			if (yych <= 0xC1) goto yy196;
16811 			goto yy97;
16812 		} else {
16813 			if (yych == 0xE2) goto yy98;
16814 			goto yy196;
16815 		}
16816 	}
16817 yy735:
16818 	YYDEBUG(735, *YYCURSOR);
16819 	yych = *++YYCURSOR;
16820 	if (yych <= '9') {
16821 		if (yych == '-') goto yy893;
16822 		if (yych <= '/') goto yy196;
16823 		goto yy895;
16824 	} else {
16825 		if (yych <= 0xC2) {
16826 			if (yych <= 0xC1) goto yy196;
16827 			goto yy97;
16828 		} else {
16829 			if (yych == 0xE2) goto yy98;
16830 			goto yy196;
16831 		}
16832 	}
16833 yy736:
16834 	YYDEBUG(736, *YYCURSOR);
16835 	yyaccept = 2;
16836 	yych = *(YYMARKER = ++YYCURSOR);
16837 	if (yych == ':') goto yy896;
16838 	goto yy20;
16839 yy737:
16840 	YYDEBUG(737, *YYCURSOR);
16841 	yych = *++YYCURSOR;
16842 	if (yych <= '/') goto yy59;
16843 	if (yych <= '9') goto yy897;
16844 	goto yy59;
16845 yy738:
16846 	YYDEBUG(738, *YYCURSOR);
16847 	yyaccept = 17;
16848 	yych = *(YYMARKER = ++YYCURSOR);
16849 	if (yych <= '/') goto yy739;
16850 	if (yych <= '9') goto yy897;
16851 yy739:
16852 	YYDEBUG(739, *YYCURSOR);
16853 #line 1580 "ext/date/lib/parse_date.re"
16854 	{
16855 		int length = 0;
16856 		DEBUG_OUTPUT("pointed date YY");
16857 		TIMELIB_INIT;
16858 		TIMELIB_HAVE_DATE();
16859 		s->time->d = timelib_get_nr(&ptr, 2);
16860 		s->time->m = timelib_get_nr(&ptr, 2);
16861 		s->time->y = timelib_get_nr_ex(&ptr, 2, &length);
16862 		TIMELIB_PROCESS_YEAR(s->time->y, length);
16863 		TIMELIB_DEINIT;
16864 		return TIMELIB_DATE_FULL_POINTED;
16865 	}
16866 #line 16867 "<stdout>"
16867 yy740:
16868 	YYDEBUG(740, *YYCURSOR);
16869 	yyaccept = 15;
16870 	yych = *(YYMARKER = ++YYCURSOR);
16871 	if (yych <= 'n') {
16872 		if (yych <= '/') goto yy567;
16873 		if (yych <= '9') goto yy897;
16874 		if (yych <= 'm') goto yy567;
16875 	} else {
16876 		if (yych <= 'r') {
16877 			if (yych <= 'q') goto yy567;
16878 		} else {
16879 			if (yych <= 's') goto yy742;
16880 			if (yych <= 't') goto yy743;
16881 			goto yy567;
16882 		}
16883 	}
16884 yy741:
16885 	YYDEBUG(741, *YYCURSOR);
16886 	yych = *++YYCURSOR;
16887 	if (yych == 'd') goto yy898;
16888 	goto yy59;
16889 yy742:
16890 	YYDEBUG(742, *YYCURSOR);
16891 	yych = *++YYCURSOR;
16892 	if (yych == 't') goto yy898;
16893 	goto yy59;
16894 yy743:
16895 	YYDEBUG(743, *YYCURSOR);
16896 	yych = *++YYCURSOR;
16897 	if (yych == 'h') goto yy898;
16898 	goto yy59;
16899 yy744:
16900 	YYDEBUG(744, *YYCURSOR);
16901 	yych = *++YYCURSOR;
16902 	if (yych <= '/') goto yy59;
16903 	if (yych <= '9') goto yy899;
16904 	goto yy59;
16905 yy745:
16906 	YYDEBUG(745, *YYCURSOR);
16907 	yyaccept = 4;
16908 	yych = *(YYMARKER = ++YYCURSOR);
16909 	if (yych == '.') goto yy744;
16910 	if (yych <= '/') goto yy177;
16911 	if (yych <= '9') goto yy897;
16912 	goto yy177;
16913 yy746:
16914 	YYDEBUG(746, *YYCURSOR);
16915 	yych = *++YYCURSOR;
16916 	if (yych <= '/') goto yy224;
16917 	if (yych <= '9') goto yy901;
16918 	goto yy224;
16919 yy747:
16920 	YYDEBUG(747, *YYCURSOR);
16921 	yych = *++YYCURSOR;
16922 	if (yych <= '/') goto yy59;
16923 	if (yych <= '9') goto yy902;
16924 	goto yy59;
16925 yy748:
16926 	YYDEBUG(748, *YYCURSOR);
16927 	yych = *++YYCURSOR;
16928 	if (yych <= '/') goto yy59;
16929 	if (yych <= '2') goto yy903;
16930 	if (yych <= '3') goto yy904;
16931 	if (yych <= '9') goto yy569;
16932 	goto yy59;
16933 yy749:
16934 	YYDEBUG(749, *YYCURSOR);
16935 	++YYCURSOR;
16936 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
16937 	yych = *YYCURSOR;
16938 yy750:
16939 	YYDEBUG(750, *YYCURSOR);
16940 	switch (yych) {
16941 	case '\t':
16942 	case ' ':
16943 	case '-':
16944 	case '.':	goto yy749;
16945 	case 'A':
16946 	case 'a':	goto yy596;
16947 	case 'D':
16948 	case 'd':	goto yy769;
16949 	case 'F':
16950 	case 'f':	goto yy770;
16951 	case 'I':	goto yy599;
16952 	case 'J':
16953 	case 'j':	goto yy601;
16954 	case 'M':
16955 	case 'm':	goto yy771;
16956 	case 'N':
16957 	case 'n':	goto yy603;
16958 	case 'O':
16959 	case 'o':	goto yy604;
16960 	case 'S':
16961 	case 's':	goto yy772;
16962 	case 'V':	goto yy606;
16963 	case 'X':	goto yy608;
16964 	default:	goto yy59;
16965 	}
16966 yy751:
16967 	YYDEBUG(751, *YYCURSOR);
16968 	yyaccept = 18;
16969 	yych = *(YYMARKER = ++YYCURSOR);
16970 	if (yych <= '/') {
16971 		if (yych == '-') goto yy905;
16972 	} else {
16973 		if (yych <= '0') goto yy906;
16974 		if (yych <= '9') goto yy907;
16975 	}
16976 yy752:
16977 	YYDEBUG(752, *YYCURSOR);
16978 #line 1525 "ext/date/lib/parse_date.re"
16979 	{
16980 		int length = 0;
16981 		DEBUG_OUTPUT("gnudateshorter");
16982 		TIMELIB_INIT;
16983 		TIMELIB_HAVE_DATE();
16984 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
16985 		s->time->m = timelib_get_nr(&ptr, 2);
16986 		s->time->d = 1;
16987 		TIMELIB_PROCESS_YEAR(s->time->y, length);
16988 		TIMELIB_DEINIT;
16989 		return TIMELIB_ISO_DATE;
16990 	}
16991 #line 16992 "<stdout>"
16992 yy753:
16993 	YYDEBUG(753, *YYCURSOR);
16994 	yyaccept = 18;
16995 	yych = *(YYMARKER = ++YYCURSOR);
16996 	if (yych <= '/') {
16997 		if (yych == '-') goto yy905;
16998 		goto yy752;
16999 	} else {
17000 		if (yych <= '2') goto yy907;
17001 		if (yych <= '9') goto yy908;
17002 		goto yy752;
17003 	}
17004 yy754:
17005 	YYDEBUG(754, *YYCURSOR);
17006 	yyaccept = 18;
17007 	yych = *(YYMARKER = ++YYCURSOR);
17008 	if (yych == '-') goto yy905;
17009 	if (yych <= '/') goto yy752;
17010 	if (yych <= '9') goto yy908;
17011 	goto yy752;
17012 yy755:
17013 	YYDEBUG(755, *YYCURSOR);
17014 	yyaccept = 18;
17015 	yych = *(YYMARKER = ++YYCURSOR);
17016 	if (yych <= '/') {
17017 		if (yych == '-') goto yy905;
17018 		goto yy752;
17019 	} else {
17020 		if (yych <= '5') goto yy908;
17021 		if (yych <= '6') goto yy909;
17022 		goto yy752;
17023 	}
17024 yy756:
17025 	YYDEBUG(756, *YYCURSOR);
17026 	yyaccept = 18;
17027 	yych = *(YYMARKER = ++YYCURSOR);
17028 	if (yych == '-') goto yy905;
17029 	goto yy752;
17030 yy757:
17031 	YYDEBUG(757, *YYCURSOR);
17032 	yych = *++YYCURSOR;
17033 	if (yych <= 'U') {
17034 		if (yych == 'P') goto yy910;
17035 		if (yych <= 'T') goto yy59;
17036 		goto yy911;
17037 	} else {
17038 		if (yych <= 'p') {
17039 			if (yych <= 'o') goto yy59;
17040 			goto yy910;
17041 		} else {
17042 			if (yych == 'u') goto yy911;
17043 			goto yy59;
17044 		}
17045 	}
17046 yy758:
17047 	YYDEBUG(758, *YYCURSOR);
17048 	yych = *++YYCURSOR;
17049 	if (yych == 'E') goto yy912;
17050 	if (yych == 'e') goto yy912;
17051 	goto yy59;
17052 yy759:
17053 	YYDEBUG(759, *YYCURSOR);
17054 	yych = *++YYCURSOR;
17055 	if (yych == 'E') goto yy913;
17056 	if (yych == 'e') goto yy913;
17057 	goto yy59;
17058 yy760:
17059 	YYDEBUG(760, *YYCURSOR);
17060 	yych = *++YYCURSOR;
17061 	if (yych <= 'U') {
17062 		if (yych == 'A') goto yy914;
17063 		if (yych <= 'T') goto yy59;
17064 		goto yy915;
17065 	} else {
17066 		if (yych <= 'a') {
17067 			if (yych <= '`') goto yy59;
17068 			goto yy914;
17069 		} else {
17070 			if (yych == 'u') goto yy915;
17071 			goto yy59;
17072 		}
17073 	}
17074 yy761:
17075 	YYDEBUG(761, *YYCURSOR);
17076 	yych = *++YYCURSOR;
17077 	if (yych == 'A') goto yy916;
17078 	if (yych == 'a') goto yy916;
17079 	goto yy59;
17080 yy762:
17081 	YYDEBUG(762, *YYCURSOR);
17082 	yych = *++YYCURSOR;
17083 	if (yych == 'O') goto yy917;
17084 	if (yych == 'o') goto yy917;
17085 	goto yy59;
17086 yy763:
17087 	YYDEBUG(763, *YYCURSOR);
17088 	yych = *++YYCURSOR;
17089 	if (yych == 'C') goto yy918;
17090 	if (yych == 'c') goto yy918;
17091 	goto yy59;
17092 yy764:
17093 	YYDEBUG(764, *YYCURSOR);
17094 	yych = *++YYCURSOR;
17095 	if (yych == 'E') goto yy919;
17096 	if (yych == 'e') goto yy919;
17097 	goto yy59;
17098 yy765:
17099 	YYDEBUG(765, *YYCURSOR);
17100 	yych = *++YYCURSOR;
17101 	if (yych <= '/') goto yy59;
17102 	if (yych <= '0') goto yy797;
17103 	if (yych <= '4') goto yy798;
17104 	if (yych <= '5') goto yy799;
17105 	goto yy59;
17106 yy766:
17107 	YYDEBUG(766, *YYCURSOR);
17108 	yych = *++YYCURSOR;
17109 	if (yych <= '/') goto yy59;
17110 	if (yych <= '0') goto yy920;
17111 	if (yych <= '9') goto yy908;
17112 	goto yy59;
17113 yy767:
17114 	YYDEBUG(767, *YYCURSOR);
17115 	yych = *++YYCURSOR;
17116 	if (yych <= '/') goto yy59;
17117 	if (yych <= '9') goto yy908;
17118 	goto yy59;
17119 yy768:
17120 	YYDEBUG(768, *YYCURSOR);
17121 	yych = *++YYCURSOR;
17122 	if (yych <= '/') goto yy59;
17123 	if (yych <= '5') goto yy908;
17124 	if (yych <= '6') goto yy909;
17125 	goto yy59;
17126 yy769:
17127 	YYDEBUG(769, *YYCURSOR);
17128 	yych = *++YYCURSOR;
17129 	if (yych == 'E') goto yy787;
17130 	if (yych == 'e') goto yy787;
17131 	goto yy59;
17132 yy770:
17133 	YYDEBUG(770, *YYCURSOR);
17134 	yych = *++YYCURSOR;
17135 	if (yych == 'E') goto yy788;
17136 	if (yych == 'e') goto yy788;
17137 	goto yy59;
17138 yy771:
17139 	YYDEBUG(771, *YYCURSOR);
17140 	yych = *++YYCURSOR;
17141 	if (yych == 'A') goto yy793;
17142 	if (yych == 'a') goto yy793;
17143 	goto yy59;
17144 yy772:
17145 	YYDEBUG(772, *YYCURSOR);
17146 	yych = *++YYCURSOR;
17147 	if (yych == 'E') goto yy921;
17148 	if (yych == 'e') goto yy921;
17149 	goto yy59;
17150 yy773:
17151 	YYDEBUG(773, *YYCURSOR);
17152 	yych = *++YYCURSOR;
17153 	if (yych <= '.') goto yy59;
17154 	if (yych <= '/') goto yy922;
17155 	if (yych <= '9') goto yy923;
17156 	goto yy59;
17157 yy774:
17158 	YYDEBUG(774, *YYCURSOR);
17159 	yych = *++YYCURSOR;
17160 	if (yych <= '.') goto yy59;
17161 	if (yych <= '/') goto yy922;
17162 	if (yych <= '2') goto yy923;
17163 	goto yy59;
17164 yy775:
17165 	YYDEBUG(775, *YYCURSOR);
17166 	yych = *++YYCURSOR;
17167 	if (yych == '/') goto yy922;
17168 	goto yy59;
17169 yy776:
17170 	YYDEBUG(776, *YYCURSOR);
17171 	yyaccept = 19;
17172 	yych = *(YYMARKER = ++YYCURSOR);
17173 	if (yych <= 'W') {
17174 		if (yych <= 'C') {
17175 			if (yych <= '/') {
17176 				if (yych <= '\t') {
17177 					if (yych >= '\t') goto yy196;
17178 				} else {
17179 					if (yych == ' ') goto yy196;
17180 				}
17181 			} else {
17182 				if (yych <= '2') {
17183 					if (yych <= '0') goto yy924;
17184 					goto yy925;
17185 				} else {
17186 					if (yych <= '3') goto yy927;
17187 					if (yych <= '9') goto yy928;
17188 				}
17189 			}
17190 		} else {
17191 			if (yych <= 'H') {
17192 				if (yych <= 'E') {
17193 					if (yych <= 'D') goto yy196;
17194 				} else {
17195 					if (yych != 'G') goto yy196;
17196 				}
17197 			} else {
17198 				if (yych <= 'R') {
17199 					if (yych == 'M') goto yy196;
17200 				} else {
17201 					if (yych != 'V') goto yy196;
17202 				}
17203 			}
17204 		}
17205 	} else {
17206 		if (yych <= 'm') {
17207 			if (yych <= 'e') {
17208 				if (yych <= 'Y') {
17209 					if (yych >= 'Y') goto yy196;
17210 				} else {
17211 					if (yych == 'd') goto yy196;
17212 				}
17213 			} else {
17214 				if (yych <= 'g') {
17215 					if (yych <= 'f') goto yy196;
17216 				} else {
17217 					if (yych <= 'h') goto yy196;
17218 					if (yych >= 'm') goto yy196;
17219 				}
17220 			}
17221 		} else {
17222 			if (yych <= 'x') {
17223 				if (yych <= 'u') {
17224 					if (yych >= 's') goto yy196;
17225 				} else {
17226 					if (yych == 'w') goto yy196;
17227 				}
17228 			} else {
17229 				if (yych <= 0xC2) {
17230 					if (yych <= 'y') goto yy196;
17231 					if (yych >= 0xC2) goto yy97;
17232 				} else {
17233 					if (yych == 0xE2) goto yy98;
17234 				}
17235 			}
17236 		}
17237 	}
17238 yy777:
17239 	YYDEBUG(777, *YYCURSOR);
17240 #line 1451 "ext/date/lib/parse_date.re"
17241 	{
17242 		int tz_not_found;
17243 		DEBUG_OUTPUT("iso8601nocolon");
17244 		TIMELIB_INIT;
17245 		TIMELIB_HAVE_TIME();
17246 		s->time->h = timelib_get_nr(&ptr, 2);
17247 		s->time->i = timelib_get_nr(&ptr, 2);
17248 		s->time->s = timelib_get_nr(&ptr, 2);
17249 
17250 		if (*ptr != '\0') {
17251 			s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
17252 			if (tz_not_found) {
17253 				add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
17254 			}
17255 		}
17256 		TIMELIB_DEINIT;
17257 		return TIMELIB_ISO_NOCOLON;
17258 	}
17259 #line 17260 "<stdout>"
17260 yy778:
17261 	YYDEBUG(778, *YYCURSOR);
17262 	yyaccept = 19;
17263 	yych = *(YYMARKER = ++YYCURSOR);
17264 	if (yych <= 'W') {
17265 		if (yych <= 'D') {
17266 			if (yych <= '/') {
17267 				if (yych <= '\t') {
17268 					if (yych <= 0x08) goto yy777;
17269 					goto yy196;
17270 				} else {
17271 					if (yych == ' ') goto yy196;
17272 					goto yy777;
17273 				}
17274 			} else {
17275 				if (yych <= '3') {
17276 					if (yych <= '2') goto yy925;
17277 					goto yy927;
17278 				} else {
17279 					if (yych <= '9') goto yy928;
17280 					if (yych <= 'C') goto yy777;
17281 					goto yy196;
17282 				}
17283 			}
17284 		} else {
17285 			if (yych <= 'L') {
17286 				if (yych <= 'F') {
17287 					if (yych <= 'E') goto yy777;
17288 					goto yy196;
17289 				} else {
17290 					if (yych == 'H') goto yy196;
17291 					goto yy777;
17292 				}
17293 			} else {
17294 				if (yych <= 'R') {
17295 					if (yych <= 'M') goto yy196;
17296 					goto yy777;
17297 				} else {
17298 					if (yych == 'V') goto yy777;
17299 					goto yy196;
17300 				}
17301 			}
17302 		}
17303 	} else {
17304 		if (yych <= 'm') {
17305 			if (yych <= 'e') {
17306 				if (yych <= 'Y') {
17307 					if (yych <= 'X') goto yy777;
17308 					goto yy196;
17309 				} else {
17310 					if (yych == 'd') goto yy196;
17311 					goto yy777;
17312 				}
17313 			} else {
17314 				if (yych <= 'g') {
17315 					if (yych <= 'f') goto yy196;
17316 					goto yy777;
17317 				} else {
17318 					if (yych <= 'h') goto yy196;
17319 					if (yych <= 'l') goto yy777;
17320 					goto yy196;
17321 				}
17322 			}
17323 		} else {
17324 			if (yych <= 'x') {
17325 				if (yych <= 'u') {
17326 					if (yych <= 'r') goto yy777;
17327 					goto yy196;
17328 				} else {
17329 					if (yych == 'w') goto yy196;
17330 					goto yy777;
17331 				}
17332 			} else {
17333 				if (yych <= 0xC2) {
17334 					if (yych <= 'y') goto yy196;
17335 					if (yych <= 0xC1) goto yy777;
17336 					goto yy97;
17337 				} else {
17338 					if (yych == 0xE2) goto yy98;
17339 					goto yy777;
17340 				}
17341 			}
17342 		}
17343 	}
17344 yy779:
17345 	YYDEBUG(779, *YYCURSOR);
17346 	yyaccept = 19;
17347 	yych = *(YYMARKER = ++YYCURSOR);
17348 	if (yych <= 'X') {
17349 		if (yych <= 'E') {
17350 			if (yych <= ' ') {
17351 				if (yych == '\t') goto yy196;
17352 				if (yych <= 0x1F) goto yy777;
17353 				goto yy196;
17354 			} else {
17355 				if (yych <= '9') {
17356 					if (yych <= '/') goto yy777;
17357 					goto yy928;
17358 				} else {
17359 					if (yych == 'D') goto yy196;
17360 					goto yy777;
17361 				}
17362 			}
17363 		} else {
17364 			if (yych <= 'M') {
17365 				if (yych <= 'G') {
17366 					if (yych <= 'F') goto yy196;
17367 					goto yy777;
17368 				} else {
17369 					if (yych <= 'H') goto yy196;
17370 					if (yych <= 'L') goto yy777;
17371 					goto yy196;
17372 				}
17373 			} else {
17374 				if (yych <= 'U') {
17375 					if (yych <= 'R') goto yy777;
17376 					goto yy196;
17377 				} else {
17378 					if (yych == 'W') goto yy196;
17379 					goto yy777;
17380 				}
17381 			}
17382 		}
17383 	} else {
17384 		if (yych <= 'r') {
17385 			if (yych <= 'f') {
17386 				if (yych <= 'c') {
17387 					if (yych <= 'Y') goto yy196;
17388 					goto yy777;
17389 				} else {
17390 					if (yych == 'e') goto yy777;
17391 					goto yy196;
17392 				}
17393 			} else {
17394 				if (yych <= 'h') {
17395 					if (yych <= 'g') goto yy777;
17396 					goto yy196;
17397 				} else {
17398 					if (yych == 'm') goto yy196;
17399 					goto yy777;
17400 				}
17401 			}
17402 		} else {
17403 			if (yych <= 'y') {
17404 				if (yych <= 'v') {
17405 					if (yych <= 'u') goto yy196;
17406 					goto yy777;
17407 				} else {
17408 					if (yych == 'x') goto yy777;
17409 					goto yy196;
17410 				}
17411 			} else {
17412 				if (yych <= 0xC2) {
17413 					if (yych <= 0xC1) goto yy777;
17414 					goto yy97;
17415 				} else {
17416 					if (yych == 0xE2) goto yy98;
17417 					goto yy777;
17418 				}
17419 			}
17420 		}
17421 	}
17422 yy780:
17423 	YYDEBUG(780, *YYCURSOR);
17424 	yyaccept = 19;
17425 	yych = *(YYMARKER = ++YYCURSOR);
17426 	if (yych <= 'X') {
17427 		if (yych <= 'E') {
17428 			if (yych <= '/') {
17429 				if (yych <= '\t') {
17430 					if (yych <= 0x08) goto yy777;
17431 					goto yy196;
17432 				} else {
17433 					if (yych == ' ') goto yy196;
17434 					goto yy777;
17435 				}
17436 			} else {
17437 				if (yych <= '9') {
17438 					if (yych <= '6') goto yy928;
17439 					goto yy929;
17440 				} else {
17441 					if (yych == 'D') goto yy196;
17442 					goto yy777;
17443 				}
17444 			}
17445 		} else {
17446 			if (yych <= 'M') {
17447 				if (yych <= 'G') {
17448 					if (yych <= 'F') goto yy196;
17449 					goto yy777;
17450 				} else {
17451 					if (yych <= 'H') goto yy196;
17452 					if (yych <= 'L') goto yy777;
17453 					goto yy196;
17454 				}
17455 			} else {
17456 				if (yych <= 'U') {
17457 					if (yych <= 'R') goto yy777;
17458 					goto yy196;
17459 				} else {
17460 					if (yych == 'W') goto yy196;
17461 					goto yy777;
17462 				}
17463 			}
17464 		}
17465 	} else {
17466 		if (yych <= 'r') {
17467 			if (yych <= 'f') {
17468 				if (yych <= 'c') {
17469 					if (yych <= 'Y') goto yy196;
17470 					goto yy777;
17471 				} else {
17472 					if (yych == 'e') goto yy777;
17473 					goto yy196;
17474 				}
17475 			} else {
17476 				if (yych <= 'h') {
17477 					if (yych <= 'g') goto yy777;
17478 					goto yy196;
17479 				} else {
17480 					if (yych == 'm') goto yy196;
17481 					goto yy777;
17482 				}
17483 			}
17484 		} else {
17485 			if (yych <= 'y') {
17486 				if (yych <= 'v') {
17487 					if (yych <= 'u') goto yy196;
17488 					goto yy777;
17489 				} else {
17490 					if (yych == 'x') goto yy777;
17491 					goto yy196;
17492 				}
17493 			} else {
17494 				if (yych <= 0xC2) {
17495 					if (yych <= 0xC1) goto yy777;
17496 					goto yy97;
17497 				} else {
17498 					if (yych == 0xE2) goto yy98;
17499 					goto yy777;
17500 				}
17501 			}
17502 		}
17503 	}
17504 yy781:
17505 	YYDEBUG(781, *YYCURSOR);
17506 	yyaccept = 19;
17507 	yych = *(YYMARKER = ++YYCURSOR);
17508 	if (yych <= 'X') {
17509 		if (yych <= 'E') {
17510 			if (yych <= ' ') {
17511 				if (yych == '\t') goto yy196;
17512 				if (yych <= 0x1F) goto yy777;
17513 				goto yy196;
17514 			} else {
17515 				if (yych <= '9') {
17516 					if (yych <= '/') goto yy777;
17517 					goto yy929;
17518 				} else {
17519 					if (yych == 'D') goto yy196;
17520 					goto yy777;
17521 				}
17522 			}
17523 		} else {
17524 			if (yych <= 'M') {
17525 				if (yych <= 'G') {
17526 					if (yych <= 'F') goto yy196;
17527 					goto yy777;
17528 				} else {
17529 					if (yych <= 'H') goto yy196;
17530 					if (yych <= 'L') goto yy777;
17531 					goto yy196;
17532 				}
17533 			} else {
17534 				if (yych <= 'U') {
17535 					if (yych <= 'R') goto yy777;
17536 					goto yy196;
17537 				} else {
17538 					if (yych == 'W') goto yy196;
17539 					goto yy777;
17540 				}
17541 			}
17542 		}
17543 	} else {
17544 		if (yych <= 'r') {
17545 			if (yych <= 'f') {
17546 				if (yych <= 'c') {
17547 					if (yych <= 'Y') goto yy196;
17548 					goto yy777;
17549 				} else {
17550 					if (yych == 'e') goto yy777;
17551 					goto yy196;
17552 				}
17553 			} else {
17554 				if (yych <= 'h') {
17555 					if (yych <= 'g') goto yy777;
17556 					goto yy196;
17557 				} else {
17558 					if (yych == 'm') goto yy196;
17559 					goto yy777;
17560 				}
17561 			}
17562 		} else {
17563 			if (yych <= 'y') {
17564 				if (yych <= 'v') {
17565 					if (yych <= 'u') goto yy196;
17566 					goto yy777;
17567 				} else {
17568 					if (yych == 'x') goto yy777;
17569 					goto yy196;
17570 				}
17571 			} else {
17572 				if (yych <= 0xC2) {
17573 					if (yych <= 0xC1) goto yy777;
17574 					goto yy97;
17575 				} else {
17576 					if (yych == 0xE2) goto yy98;
17577 					goto yy777;
17578 				}
17579 			}
17580 		}
17581 	}
17582 yy782:
17583 	YYDEBUG(782, *YYCURSOR);
17584 	yych = *++YYCURSOR;
17585 	if (yych <= 0xC1) {
17586 		if (yych <= '/') goto yy196;
17587 		if (yych <= '9') goto yy929;
17588 		goto yy196;
17589 	} else {
17590 		if (yych <= 0xC2) goto yy97;
17591 		if (yych == 0xE2) goto yy98;
17592 		goto yy196;
17593 	}
17594 yy783:
17595 	YYDEBUG(783, *YYCURSOR);
17596 	yych = *++YYCURSOR;
17597 	if (yych <= '/') goto yy59;
17598 	if (yych <= '9') goto yy930;
17599 	goto yy59;
17600 yy784:
17601 	YYDEBUG(784, *YYCURSOR);
17602 	yych = *++YYCURSOR;
17603 	if (yych <= '/') goto yy59;
17604 	if (yych <= '2') goto yy930;
17605 	goto yy59;
17606 yy785:
17607 	YYDEBUG(785, *YYCURSOR);
17608 	yych = *++YYCURSOR;
17609 	if (yych == 'R') goto yy931;
17610 	if (yych == 'r') goto yy931;
17611 	goto yy59;
17612 yy786:
17613 	YYDEBUG(786, *YYCURSOR);
17614 	yych = *++YYCURSOR;
17615 	if (yych == 'G') goto yy932;
17616 	if (yych == 'g') goto yy932;
17617 	goto yy59;
17618 yy787:
17619 	YYDEBUG(787, *YYCURSOR);
17620 	yych = *++YYCURSOR;
17621 	if (yych == 'C') goto yy933;
17622 	if (yych == 'c') goto yy933;
17623 	goto yy59;
17624 yy788:
17625 	YYDEBUG(788, *YYCURSOR);
17626 	yych = *++YYCURSOR;
17627 	if (yych == 'B') goto yy934;
17628 	if (yych == 'b') goto yy934;
17629 	goto yy59;
17630 yy789:
17631 	YYDEBUG(789, *YYCURSOR);
17632 	yych = *++YYCURSOR;
17633 	if (yych != 'I') goto yy600;
17634 yy790:
17635 	YYDEBUG(790, *YYCURSOR);
17636 	++YYCURSOR;
17637 	goto yy600;
17638 yy791:
17639 	YYDEBUG(791, *YYCURSOR);
17640 	yych = *++YYCURSOR;
17641 	if (yych == 'N') goto yy935;
17642 	if (yych == 'n') goto yy935;
17643 	goto yy59;
17644 yy792:
17645 	YYDEBUG(792, *YYCURSOR);
17646 	yych = *++YYCURSOR;
17647 	if (yych <= 'N') {
17648 		if (yych == 'L') goto yy936;
17649 		if (yych <= 'M') goto yy59;
17650 		goto yy937;
17651 	} else {
17652 		if (yych <= 'l') {
17653 			if (yych <= 'k') goto yy59;
17654 			goto yy936;
17655 		} else {
17656 			if (yych == 'n') goto yy937;
17657 			goto yy59;
17658 		}
17659 	}
17660 yy793:
17661 	YYDEBUG(793, *YYCURSOR);
17662 	yych = *++YYCURSOR;
17663 	if (yych <= 'Y') {
17664 		if (yych == 'R') goto yy938;
17665 		if (yych <= 'X') goto yy59;
17666 		goto yy790;
17667 	} else {
17668 		if (yych <= 'r') {
17669 			if (yych <= 'q') goto yy59;
17670 			goto yy938;
17671 		} else {
17672 			if (yych == 'y') goto yy790;
17673 			goto yy59;
17674 		}
17675 	}
17676 yy794:
17677 	YYDEBUG(794, *YYCURSOR);
17678 	yych = *++YYCURSOR;
17679 	if (yych == 'V') goto yy933;
17680 	if (yych == 'v') goto yy933;
17681 	goto yy59;
17682 yy795:
17683 	YYDEBUG(795, *YYCURSOR);
17684 	yych = *++YYCURSOR;
17685 	if (yych == 'T') goto yy939;
17686 	if (yych == 't') goto yy939;
17687 	goto yy59;
17688 yy796:
17689 	YYDEBUG(796, *YYCURSOR);
17690 	yych = *++YYCURSOR;
17691 	if (yych <= 'P') {
17692 		if (yych == 'C') goto yy443;
17693 		if (yych <= 'O') goto yy59;
17694 		goto yy940;
17695 	} else {
17696 		if (yych <= 'c') {
17697 			if (yych <= 'b') goto yy59;
17698 			goto yy443;
17699 		} else {
17700 			if (yych == 'p') goto yy940;
17701 			goto yy59;
17702 		}
17703 	}
17704 yy797:
17705 	YYDEBUG(797, *YYCURSOR);
17706 	yych = *++YYCURSOR;
17707 	if (yych <= '0') goto yy59;
17708 	if (yych <= '9') goto yy941;
17709 	goto yy59;
17710 yy798:
17711 	YYDEBUG(798, *YYCURSOR);
17712 	yych = *++YYCURSOR;
17713 	if (yych <= '/') goto yy59;
17714 	if (yych <= '9') goto yy941;
17715 	goto yy59;
17716 yy799:
17717 	YYDEBUG(799, *YYCURSOR);
17718 	yych = *++YYCURSOR;
17719 	if (yych <= '/') goto yy59;
17720 	if (yych <= '3') goto yy941;
17721 	goto yy59;
17722 yy800:
17723 	YYDEBUG(800, *YYCURSOR);
17724 	yych = *++YYCURSOR;
17725 	if (yych <= '9') {
17726 		if (yych <= '0') {
17727 			if (yych <= '/') goto yy196;
17728 			goto yy924;
17729 		} else {
17730 			if (yych <= '2') goto yy925;
17731 			if (yych <= '3') goto yy927;
17732 			goto yy928;
17733 		}
17734 	} else {
17735 		if (yych <= 0xC2) {
17736 			if (yych <= 0xC1) goto yy196;
17737 			goto yy97;
17738 		} else {
17739 			if (yych == 0xE2) goto yy98;
17740 			goto yy196;
17741 		}
17742 	}
17743 yy801:
17744 	YYDEBUG(801, *YYCURSOR);
17745 	yych = *++YYCURSOR;
17746 	if (yych <= '9') {
17747 		if (yych <= '/') goto yy196;
17748 		if (yych <= '2') goto yy925;
17749 		if (yych <= '3') goto yy927;
17750 		goto yy928;
17751 	} else {
17752 		if (yych <= 0xC2) {
17753 			if (yych <= 0xC1) goto yy196;
17754 			goto yy97;
17755 		} else {
17756 			if (yych == 0xE2) goto yy98;
17757 			goto yy196;
17758 		}
17759 	}
17760 yy802:
17761 	YYDEBUG(802, *YYCURSOR);
17762 	yych = *++YYCURSOR;
17763 	if (yych <= 0xC1) {
17764 		if (yych <= '/') goto yy196;
17765 		if (yych <= '9') goto yy928;
17766 		goto yy196;
17767 	} else {
17768 		if (yych <= 0xC2) goto yy97;
17769 		if (yych == 0xE2) goto yy98;
17770 		goto yy196;
17771 	}
17772 yy803:
17773 	YYDEBUG(803, *YYCURSOR);
17774 	yych = *++YYCURSOR;
17775 	if (yych <= 0xC1) {
17776 		if (yych <= '/') goto yy196;
17777 		if (yych <= '6') goto yy928;
17778 		if (yych <= '9') goto yy929;
17779 		goto yy196;
17780 	} else {
17781 		if (yych <= 0xC2) goto yy97;
17782 		if (yych == 0xE2) goto yy98;
17783 		goto yy196;
17784 	}
17785 yy804:
17786 	YYDEBUG(804, *YYCURSOR);
17787 	yych = *++YYCURSOR;
17788 	if (yych == 'T') goto yy253;
17789 	if (yych == 't') goto yy253;
17790 	goto yy59;
17791 yy805:
17792 	YYDEBUG(805, *YYCURSOR);
17793 	yych = *++YYCURSOR;
17794 	if (yych == 'N') goto yy806;
17795 	if (yych != 'n') goto yy59;
17796 yy806:
17797 	YYDEBUG(806, *YYCURSOR);
17798 	yych = *++YYCURSOR;
17799 	if (yych == 'I') goto yy943;
17800 	if (yych == 'i') goto yy943;
17801 	goto yy59;
17802 yy807:
17803 	YYDEBUG(807, *YYCURSOR);
17804 	++YYCURSOR;
17805 	goto yy251;
17806 yy808:
17807 	YYDEBUG(808, *YYCURSOR);
17808 	yych = *++YYCURSOR;
17809 	if (yych == 'R') goto yy944;
17810 	if (yych == 'r') goto yy944;
17811 	goto yy59;
17812 yy809:
17813 	YYDEBUG(809, *YYCURSOR);
17814 	yych = *++YYCURSOR;
17815 	if (yych == 'S') goto yy945;
17816 	if (yych == 's') goto yy945;
17817 	goto yy59;
17818 yy810:
17819 	YYDEBUG(810, *YYCURSOR);
17820 	yych = *++YYCURSOR;
17821 	if (yych == 'E') goto yy425;
17822 	if (yych == 'e') goto yy425;
17823 	goto yy59;
17824 yy811:
17825 	YYDEBUG(811, *YYCURSOR);
17826 	yych = *++YYCURSOR;
17827 	if (yych == 'E') goto yy946;
17828 	if (yych == 'e') goto yy946;
17829 	goto yy59;
17830 yy812:
17831 	YYDEBUG(812, *YYCURSOR);
17832 	yych = *++YYCURSOR;
17833 	if (yych == 'D') goto yy425;
17834 	if (yych == 'd') goto yy425;
17835 	goto yy59;
17836 yy813:
17837 	YYDEBUG(813, *YYCURSOR);
17838 	yyaccept = 4;
17839 	yych = *(YYMARKER = ++YYCURSOR);
17840 	if (yych <= 'A') {
17841 		if (yych <= '-') {
17842 			if (yych <= '\t') {
17843 				if (yych <= 0x08) goto yy177;
17844 				goto yy638;
17845 			} else {
17846 				if (yych == ' ') goto yy638;
17847 				goto yy177;
17848 			}
17849 		} else {
17850 			if (yych <= '/') {
17851 				if (yych <= '.') goto yy744;
17852 				goto yy177;
17853 			} else {
17854 				if (yych <= '9') goto yy897;
17855 				if (yych <= '@') goto yy177;
17856 				goto yy106;
17857 			}
17858 		}
17859 	} else {
17860 		if (yych <= 'o') {
17861 			if (yych <= 'P') {
17862 				if (yych <= 'O') goto yy177;
17863 				goto yy106;
17864 			} else {
17865 				if (yych == 'a') goto yy106;
17866 				goto yy177;
17867 			}
17868 		} else {
17869 			if (yych <= 0xC2) {
17870 				if (yych <= 'p') goto yy106;
17871 				if (yych <= 0xC1) goto yy177;
17872 				goto yy640;
17873 			} else {
17874 				if (yych == 0xE2) goto yy641;
17875 				goto yy177;
17876 			}
17877 		}
17878 	}
17879 yy814:
17880 	YYDEBUG(814, *YYCURSOR);
17881 	++YYCURSOR;
17882 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
17883 	yych = *YYCURSOR;
17884 	if (yych <= '`') {
17885 		if (yych <= 'A') {
17886 			if (yych <= '@') goto yy59;
17887 			goto yy106;
17888 		} else {
17889 			if (yych == 'P') goto yy106;
17890 			goto yy59;
17891 		}
17892 	} else {
17893 		if (yych <= 'p') {
17894 			if (yych <= 'a') goto yy106;
17895 			if (yych <= 'o') goto yy59;
17896 			goto yy106;
17897 		} else {
17898 			if (yych == 0xC2) goto yy640;
17899 			goto yy59;
17900 		}
17901 	}
17902 yy815:
17903 	YYDEBUG(815, *YYCURSOR);
17904 	++YYCURSOR;
17905 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
17906 	yych = *YYCURSOR;
17907 	if (yych == 0xAF) goto yy947;
17908 	goto yy59;
17909 yy816:
17910 	YYDEBUG(816, *YYCURSOR);
17911 	yyaccept = 4;
17912 	yych = *(YYMARKER = ++YYCURSOR);
17913 	if (yych <= 'O') {
17914 		if (yych <= ' ') {
17915 			if (yych == '\t') goto yy638;
17916 			if (yych <= 0x1F) goto yy177;
17917 			goto yy638;
17918 		} else {
17919 			if (yych <= '.') {
17920 				if (yych <= '-') goto yy177;
17921 				goto yy744;
17922 			} else {
17923 				if (yych == 'A') goto yy106;
17924 				goto yy177;
17925 			}
17926 		}
17927 	} else {
17928 		if (yych <= 'p') {
17929 			if (yych <= '`') {
17930 				if (yych <= 'P') goto yy106;
17931 				goto yy177;
17932 			} else {
17933 				if (yych <= 'a') goto yy106;
17934 				if (yych <= 'o') goto yy177;
17935 				goto yy106;
17936 			}
17937 		} else {
17938 			if (yych <= 0xC2) {
17939 				if (yych <= 0xC1) goto yy177;
17940 				goto yy640;
17941 			} else {
17942 				if (yych == 0xE2) goto yy641;
17943 				goto yy177;
17944 			}
17945 		}
17946 	}
17947 yy817:
17948 	YYDEBUG(817, *YYCURSOR);
17949 	yyaccept = 4;
17950 	yych = *(YYMARKER = ++YYCURSOR);
17951 	if (yych == '.') goto yy744;
17952 	if (yych <= '/') goto yy177;
17953 	if (yych <= '9') goto yy948;
17954 	goto yy177;
17955 yy818:
17956 	YYDEBUG(818, *YYCURSOR);
17957 	yyaccept = 4;
17958 	yych = *(YYMARKER = ++YYCURSOR);
17959 	if (yych == '.') goto yy744;
17960 	if (yych == '0') goto yy948;
17961 	goto yy177;
17962 yy819:
17963 	YYDEBUG(819, *YYCURSOR);
17964 	yyaccept = 15;
17965 	yych = *(YYMARKER = ++YYCURSOR);
17966 	if (yych <= 'n') {
17967 		if (yych <= '/') goto yy567;
17968 		if (yych <= '9') goto yy821;
17969 		if (yych <= 'm') goto yy567;
17970 		goto yy741;
17971 	} else {
17972 		if (yych <= 'r') {
17973 			if (yych <= 'q') goto yy567;
17974 			goto yy741;
17975 		} else {
17976 			if (yych <= 's') goto yy742;
17977 			if (yych <= 't') goto yy743;
17978 			goto yy567;
17979 		}
17980 	}
17981 yy820:
17982 	YYDEBUG(820, *YYCURSOR);
17983 	yyaccept = 15;
17984 	yych = *(YYMARKER = ++YYCURSOR);
17985 	if (yych <= 'n') {
17986 		if (yych <= '/') goto yy567;
17987 		if (yych <= '1') goto yy821;
17988 		if (yych <= 'm') goto yy567;
17989 		goto yy741;
17990 	} else {
17991 		if (yych <= 'r') {
17992 			if (yych <= 'q') goto yy567;
17993 			goto yy741;
17994 		} else {
17995 			if (yych <= 's') goto yy742;
17996 			if (yych <= 't') goto yy743;
17997 			goto yy567;
17998 		}
17999 	}
18000 yy821:
18001 	YYDEBUG(821, *YYCURSOR);
18002 	yyaccept = 15;
18003 	yych = *(YYMARKER = ++YYCURSOR);
18004 	if (yych <= 'q') {
18005 		if (yych == 'n') goto yy741;
18006 		goto yy567;
18007 	} else {
18008 		if (yych <= 'r') goto yy741;
18009 		if (yych <= 's') goto yy742;
18010 		if (yych <= 't') goto yy743;
18011 		goto yy567;
18012 	}
18013 yy822:
18014 	YYDEBUG(822, *YYCURSOR);
18015 	yych = *++YYCURSOR;
18016 	if (yych <= '/') goto yy59;
18017 	if (yych <= '2') goto yy949;
18018 	if (yych <= '3') goto yy950;
18019 	if (yych <= '9') goto yy821;
18020 	goto yy59;
18021 yy823:
18022 	YYDEBUG(823, *YYCURSOR);
18023 	yych = *++YYCURSOR;
18024 	if (yych == '-') goto yy951;
18025 	goto yy59;
18026 yy824:
18027 	YYDEBUG(824, *YYCURSOR);
18028 	yych = *++YYCURSOR;
18029 	if (yych <= 'S') {
18030 		if (yych == '-') goto yy951;
18031 		goto yy59;
18032 	} else {
18033 		if (yych <= 'T') goto yy823;
18034 		if (yych == 't') goto yy823;
18035 		goto yy59;
18036 	}
18037 yy825:
18038 	YYDEBUG(825, *YYCURSOR);
18039 	yych = *++YYCURSOR;
18040 	if (yych <= '/') goto yy290;
18041 	if (yych <= '9') goto yy952;
18042 	goto yy290;
18043 yy826:
18044 	YYDEBUG(826, *YYCURSOR);
18045 	yych = *++YYCURSOR;
18046 	if (yych == ')') goto yy115;
18047 	goto yy20;
18048 yy827:
18049 	YYDEBUG(827, *YYCURSOR);
18050 	yych = *++YYCURSOR;
18051 	if (yych <= '9') {
18052 		if (yych <= ' ') {
18053 			if (yych <= 0x08) {
18054 				if (yych <= 0x00) goto yy324;
18055 				goto yy59;
18056 			} else {
18057 				if (yych <= '\t') goto yy326;
18058 				if (yych <= 0x1F) goto yy59;
18059 				goto yy326;
18060 			}
18061 		} else {
18062 			if (yych <= '-') {
18063 				if (yych <= '+') goto yy59;
18064 				if (yych <= ',') goto yy326;
18065 				goto yy953;
18066 			} else {
18067 				if (yych <= '.') goto yy326;
18068 				if (yych <= '/') goto yy59;
18069 				goto yy512;
18070 			}
18071 		}
18072 	} else {
18073 		if (yych <= 'm') {
18074 			if (yych <= 'd') {
18075 				if (yych <= 'c') goto yy59;
18076 				goto yy326;
18077 			} else {
18078 				if (yych == 'h') goto yy326;
18079 				goto yy59;
18080 			}
18081 		} else {
18082 			if (yych <= 'r') {
18083 				if (yych <= 'n') goto yy329;
18084 				if (yych <= 'q') goto yy59;
18085 				goto yy329;
18086 			} else {
18087 				if (yych <= 's') goto yy330;
18088 				if (yych <= 't') goto yy331;
18089 				goto yy59;
18090 			}
18091 		}
18092 	}
18093 yy828:
18094 	YYDEBUG(828, *YYCURSOR);
18095 	yyaccept = 7;
18096 	yych = *(YYMARKER = ++YYCURSOR);
18097 	if (yych <= '(') {
18098 		if (yych <= '\t') {
18099 			if (yych <= 0x08) goto yy295;
18100 			goto yy142;
18101 		} else {
18102 			if (yych == ' ') goto yy142;
18103 			goto yy295;
18104 		}
18105 	} else {
18106 		if (yych <= '.') {
18107 			if (yych <= ')') goto yy115;
18108 			if (yych <= ',') goto yy295;
18109 			goto yy142;
18110 		} else {
18111 			if (yych <= '/') goto yy295;
18112 			if (yych <= '9') goto yy142;
18113 			goto yy295;
18114 		}
18115 	}
18116 yy829:
18117 	YYDEBUG(829, *YYCURSOR);
18118 	yyaccept = 2;
18119 	yych = *(YYMARKER = ++YYCURSOR);
18120 	if (yybm[0+yych] & 128) {
18121 		goto yy954;
18122 	}
18123 	if (yych <= '-') {
18124 		if (yych == ')') goto yy115;
18125 		if (yych <= ',') goto yy20;
18126 		goto yy297;
18127 	} else {
18128 		if (yych <= '/') {
18129 			if (yych <= '.') goto yy20;
18130 			goto yy297;
18131 		} else {
18132 			if (yych == '_') goto yy297;
18133 			goto yy20;
18134 		}
18135 	}
18136 yy830:
18137 	YYDEBUG(830, *YYCURSOR);
18138 	yyaccept = 7;
18139 	yych = *(YYMARKER = ++YYCURSOR);
18140 	if (yybm[0+yych] & 128) {
18141 		goto yy954;
18142 	}
18143 	if (yych <= ',') {
18144 		if (yych <= 0x1F) {
18145 			if (yych == '\t') goto yy142;
18146 			goto yy295;
18147 		} else {
18148 			if (yych <= ' ') goto yy142;
18149 			if (yych == ')') goto yy115;
18150 			goto yy295;
18151 		}
18152 	} else {
18153 		if (yych <= '/') {
18154 			if (yych <= '-') goto yy700;
18155 			if (yych <= '.') goto yy142;
18156 			goto yy297;
18157 		} else {
18158 			if (yych <= '9') goto yy142;
18159 			if (yych == '_') goto yy297;
18160 			goto yy295;
18161 		}
18162 	}
18163 yy831:
18164 	YYDEBUG(831, *YYCURSOR);
18165 	yych = *++YYCURSOR;
18166 	if (yych == 'F') goto yy956;
18167 	if (yych == 'f') goto yy956;
18168 	goto yy59;
18169 yy832:
18170 	YYDEBUG(832, *YYCURSOR);
18171 	yyaccept = 2;
18172 	yych = *(YYMARKER = ++YYCURSOR);
18173 	if (yych <= 'D') {
18174 		if (yych == ')') goto yy115;
18175 		goto yy20;
18176 	} else {
18177 		if (yych <= 'E') goto yy957;
18178 		if (yych == 'e') goto yy957;
18179 		goto yy20;
18180 	}
18181 yy833:
18182 	YYDEBUG(833, *YYCURSOR);
18183 	yyaccept = 2;
18184 	yych = *(YYMARKER = ++YYCURSOR);
18185 	if (yych <= 'D') {
18186 		if (yych <= ',') {
18187 			if (yych == ')') goto yy115;
18188 			goto yy20;
18189 		} else {
18190 			if (yych == '.') goto yy20;
18191 			if (yych <= '/') goto yy297;
18192 			goto yy20;
18193 		}
18194 	} else {
18195 		if (yych <= '`') {
18196 			if (yych <= 'E') goto yy957;
18197 			if (yych == '_') goto yy297;
18198 			goto yy20;
18199 		} else {
18200 			if (yych == 'e') goto yy958;
18201 			if (yych <= 'z') goto yy954;
18202 			goto yy20;
18203 		}
18204 	}
18205 yy834:
18206 	YYDEBUG(834, *YYCURSOR);
18207 	++YYCURSOR;
18208 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18209 	yych = *YYCURSOR;
18210 yy835:
18211 	YYDEBUG(835, *YYCURSOR);
18212 	if (yych <= 'X') {
18213 		if (yych <= 'G') {
18214 			if (yych <= ' ') {
18215 				if (yych == '\t') goto yy834;
18216 				if (yych <= 0x1F) goto yy59;
18217 				goto yy834;
18218 			} else {
18219 				if (yych <= 'D') {
18220 					if (yych <= 'C') goto yy59;
18221 					goto yy856;
18222 				} else {
18223 					if (yych == 'F') goto yy857;
18224 					goto yy59;
18225 				}
18226 			}
18227 		} else {
18228 			if (yych <= 'S') {
18229 				if (yych <= 'L') {
18230 					if (yych <= 'H') goto yy858;
18231 					goto yy59;
18232 				} else {
18233 					if (yych <= 'M') goto yy859;
18234 					if (yych <= 'R') goto yy59;
18235 					goto yy860;
18236 				}
18237 			} else {
18238 				if (yych <= 'U') {
18239 					if (yych <= 'T') goto yy861;
18240 					goto yy862;
18241 				} else {
18242 					if (yych == 'W') goto yy959;
18243 					goto yy59;
18244 				}
18245 			}
18246 		}
18247 	} else {
18248 		if (yych <= 'r') {
18249 			if (yych <= 'f') {
18250 				if (yych <= 'c') {
18251 					if (yych <= 'Y') goto yy864;
18252 					goto yy59;
18253 				} else {
18254 					if (yych <= 'd') goto yy856;
18255 					if (yych <= 'e') goto yy59;
18256 					goto yy857;
18257 				}
18258 			} else {
18259 				if (yych <= 'h') {
18260 					if (yych <= 'g') goto yy59;
18261 					goto yy858;
18262 				} else {
18263 					if (yych == 'm') goto yy859;
18264 					goto yy59;
18265 				}
18266 			}
18267 		} else {
18268 			if (yych <= 'w') {
18269 				if (yych <= 't') {
18270 					if (yych <= 's') goto yy860;
18271 					goto yy861;
18272 				} else {
18273 					if (yych <= 'u') goto yy862;
18274 					if (yych <= 'v') goto yy59;
18275 					goto yy959;
18276 				}
18277 			} else {
18278 				if (yych <= 'y') {
18279 					if (yych <= 'x') goto yy59;
18280 					goto yy864;
18281 				} else {
18282 					if (yych == 0xC2) goto yy865;
18283 					goto yy59;
18284 				}
18285 			}
18286 		}
18287 	}
18288 yy836:
18289 	YYDEBUG(836, *YYCURSOR);
18290 	yyaccept = 2;
18291 	yych = *(YYMARKER = ++YYCURSOR);
18292 	if (yych <= '(') {
18293 		if (yych <= '\t') {
18294 			if (yych <= 0x08) goto yy20;
18295 			goto yy834;
18296 		} else {
18297 			if (yych == ' ') goto yy834;
18298 			goto yy20;
18299 		}
18300 	} else {
18301 		if (yych <= 0xC2) {
18302 			if (yych <= ')') goto yy115;
18303 			if (yych <= 0xC1) goto yy20;
18304 		} else {
18305 			if (yych == 0xE2) goto yy838;
18306 			goto yy20;
18307 		}
18308 	}
18309 yy837:
18310 	YYDEBUG(837, *YYCURSOR);
18311 	yych = *++YYCURSOR;
18312 	if (yych == 0xA0) goto yy960;
18313 	goto yy59;
18314 yy838:
18315 	YYDEBUG(838, *YYCURSOR);
18316 	++YYCURSOR;
18317 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
18318 	yych = *YYCURSOR;
18319 	if (yych == 0x80) goto yy961;
18320 	goto yy59;
18321 yy839:
18322 	YYDEBUG(839, *YYCURSOR);
18323 	yyaccept = 2;
18324 	yych = *(YYMARKER = ++YYCURSOR);
18325 	if (yych <= 'S') {
18326 		if (yych == ')') goto yy115;
18327 		goto yy20;
18328 	} else {
18329 		if (yych <= 'T') goto yy962;
18330 		if (yych == 't') goto yy962;
18331 		goto yy20;
18332 	}
18333 yy840:
18334 	YYDEBUG(840, *YYCURSOR);
18335 	yyaccept = 2;
18336 	yych = *(YYMARKER = ++YYCURSOR);
18337 	if (yybm[0+yych] & 128) {
18338 		goto yy954;
18339 	}
18340 	if (yych <= '-') {
18341 		if (yych <= ' ') {
18342 			if (yych == '\t') goto yy834;
18343 			if (yych <= 0x1F) goto yy20;
18344 			goto yy834;
18345 		} else {
18346 			if (yych == ')') goto yy115;
18347 			if (yych <= ',') goto yy20;
18348 			goto yy297;
18349 		}
18350 	} else {
18351 		if (yych <= '_') {
18352 			if (yych == '/') goto yy297;
18353 			if (yych <= '^') goto yy20;
18354 			goto yy297;
18355 		} else {
18356 			if (yych <= 0xC2) {
18357 				if (yych <= 0xC1) goto yy20;
18358 				goto yy837;
18359 			} else {
18360 				if (yych == 0xE2) goto yy838;
18361 				goto yy20;
18362 			}
18363 		}
18364 	}
18365 yy841:
18366 	YYDEBUG(841, *YYCURSOR);
18367 	yyaccept = 2;
18368 	yych = *(YYMARKER = ++YYCURSOR);
18369 	if (yych <= 'S') {
18370 		if (yych <= ',') {
18371 			if (yych == ')') goto yy115;
18372 			goto yy20;
18373 		} else {
18374 			if (yych == '.') goto yy20;
18375 			if (yych <= '/') goto yy297;
18376 			goto yy20;
18377 		}
18378 	} else {
18379 		if (yych <= '`') {
18380 			if (yych <= 'T') goto yy962;
18381 			if (yych == '_') goto yy297;
18382 			goto yy20;
18383 		} else {
18384 			if (yych == 't') goto yy963;
18385 			if (yych <= 'z') goto yy954;
18386 			goto yy20;
18387 		}
18388 	}
18389 yy842:
18390 	YYDEBUG(842, *YYCURSOR);
18391 	yyaccept = 2;
18392 	yych = *(YYMARKER = ++YYCURSOR);
18393 	if (yych <= 'Q') {
18394 		if (yych == ')') goto yy115;
18395 		goto yy20;
18396 	} else {
18397 		if (yych <= 'R') goto yy964;
18398 		if (yych == 'r') goto yy964;
18399 		goto yy20;
18400 	}
18401 yy843:
18402 	YYDEBUG(843, *YYCURSOR);
18403 	yych = *++YYCURSOR;
18404 	if (yych == 'D') goto yy866;
18405 	if (yych == 'd') goto yy866;
18406 	goto yy835;
18407 yy844:
18408 	YYDEBUG(844, *YYCURSOR);
18409 	yych = *++YYCURSOR;
18410 	if (yych <= 'R') {
18411 		if (yych == ')') goto yy115;
18412 		goto yy315;
18413 	} else {
18414 		if (yych <= 'S') goto yy965;
18415 		if (yych == 's') goto yy965;
18416 		goto yy315;
18417 	}
18418 yy845:
18419 	YYDEBUG(845, *YYCURSOR);
18420 	yyaccept = 2;
18421 	yych = *(YYMARKER = ++YYCURSOR);
18422 	if (yych <= 'Q') {
18423 		if (yych <= ',') {
18424 			if (yych == ')') goto yy115;
18425 			goto yy20;
18426 		} else {
18427 			if (yych == '.') goto yy20;
18428 			if (yych <= '/') goto yy297;
18429 			goto yy20;
18430 		}
18431 	} else {
18432 		if (yych <= '`') {
18433 			if (yych <= 'R') goto yy964;
18434 			if (yych == '_') goto yy297;
18435 			goto yy20;
18436 		} else {
18437 			if (yych == 'r') goto yy966;
18438 			if (yych <= 'z') goto yy954;
18439 			goto yy20;
18440 		}
18441 	}
18442 yy846:
18443 	YYDEBUG(846, *YYCURSOR);
18444 	yyaccept = 9;
18445 	yych = *(YYMARKER = ++YYCURSOR);
18446 	if (yych <= 'R') {
18447 		if (yych <= ',') {
18448 			if (yych == ')') goto yy115;
18449 			goto yy315;
18450 		} else {
18451 			if (yych == '.') goto yy315;
18452 			if (yych <= '/') goto yy297;
18453 			goto yy315;
18454 		}
18455 	} else {
18456 		if (yych <= '`') {
18457 			if (yych <= 'S') goto yy965;
18458 			if (yych == '_') goto yy297;
18459 			goto yy315;
18460 		} else {
18461 			if (yych == 's') goto yy967;
18462 			if (yych <= 'z') goto yy954;
18463 			goto yy315;
18464 		}
18465 	}
18466 yy847:
18467 	YYDEBUG(847, *YYCURSOR);
18468 	yyaccept = 2;
18469 	yych = *(YYMARKER = ++YYCURSOR);
18470 	if (yych <= '/') goto yy20;
18471 	if (yych <= '5') goto yy968;
18472 	if (yych <= '9') goto yy115;
18473 	if (yych <= ':') goto yy393;
18474 	goto yy20;
18475 yy848:
18476 	YYDEBUG(848, *YYCURSOR);
18477 	yyaccept = 20;
18478 	yych = *(YYMARKER = ++YYCURSOR);
18479 	if (yych <= '/') {
18480 		if (yych == '.') goto yy969;
18481 	} else {
18482 		if (yych <= '9') goto yy850;
18483 		if (yych <= ':') goto yy969;
18484 	}
18485 yy849:
18486 	YYDEBUG(849, *YYCURSOR);
18487 #line 1928 "ext/date/lib/parse_date.re"
18488 	{
18489 		int tz_not_found;
18490 		DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
18491 		TIMELIB_INIT;
18492 		TIMELIB_HAVE_DATE();
18493 		s->time->m = timelib_get_month(&ptr);
18494 		s->time->d = timelib_get_nr(&ptr, 2);
18495 
18496 		TIMELIB_HAVE_TIME();
18497 		s->time->h = timelib_get_nr(&ptr, 2);
18498 		s->time->i = timelib_get_nr(&ptr, 2);
18499 		if (*ptr == ':') {
18500 			s->time->s = timelib_get_nr(&ptr, 2);
18501 
18502 			if (*ptr == '.') {
18503 				s->time->us = timelib_get_frac_nr(&ptr);
18504 			}
18505 		}
18506 
18507 		if (*ptr != '\0') {
18508 			s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
18509 			if (tz_not_found) {
18510 				add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
18511 			}
18512 		}
18513 		TIMELIB_DEINIT;
18514 		return TIMELIB_SHORTDATE_WITH_TIME;
18515 	}
18516 #line 18517 "<stdout>"
18517 yy850:
18518 	YYDEBUG(850, *YYCURSOR);
18519 	yyaccept = 20;
18520 	yych = *(YYMARKER = ++YYCURSOR);
18521 	if (yych == '.') goto yy969;
18522 	if (yych == ':') goto yy969;
18523 	goto yy849;
18524 yy851:
18525 	YYDEBUG(851, *YYCURSOR);
18526 	yyaccept = 20;
18527 	yych = *(YYMARKER = ++YYCURSOR);
18528 	if (yych <= '/') {
18529 		if (yych == '.') goto yy970;
18530 		goto yy849;
18531 	} else {
18532 		if (yych <= '9') goto yy971;
18533 		if (yych <= ':') goto yy970;
18534 		goto yy849;
18535 	}
18536 yy852:
18537 	YYDEBUG(852, *YYCURSOR);
18538 	yyaccept = 20;
18539 	yych = *(YYMARKER = ++YYCURSOR);
18540 	if (yych == '.') goto yy970;
18541 	if (yych == ':') goto yy970;
18542 	goto yy849;
18543 yy853:
18544 	YYDEBUG(853, *YYCURSOR);
18545 	yych = *++YYCURSOR;
18546 	if (yych <= '/') goto yy325;
18547 	if (yych <= '9') goto yy972;
18548 	goto yy325;
18549 yy854:
18550 	YYDEBUG(854, *YYCURSOR);
18551 	yych = *++YYCURSOR;
18552 	if (yych <= 'X') {
18553 		if (yych == ')') goto yy115;
18554 		goto yy20;
18555 	} else {
18556 		if (yych <= 'Y') goto yy973;
18557 		if (yych == 'y') goto yy973;
18558 		goto yy20;
18559 	}
18560 yy855:
18561 	YYDEBUG(855, *YYCURSOR);
18562 	yyaccept = 2;
18563 	yych = *(YYMARKER = ++YYCURSOR);
18564 	if (yych <= 'X') {
18565 		if (yych <= ',') {
18566 			if (yych == ')') goto yy115;
18567 			goto yy20;
18568 		} else {
18569 			if (yych == '.') goto yy20;
18570 			if (yych <= '/') goto yy297;
18571 			goto yy20;
18572 		}
18573 	} else {
18574 		if (yych <= '`') {
18575 			if (yych <= 'Y') goto yy973;
18576 			if (yych == '_') goto yy297;
18577 			goto yy20;
18578 		} else {
18579 			if (yych == 'y') goto yy974;
18580 			if (yych <= 'z') goto yy954;
18581 			goto yy20;
18582 		}
18583 	}
18584 yy856:
18585 	YYDEBUG(856, *YYCURSOR);
18586 	yych = *++YYCURSOR;
18587 	if (yych == 'A') goto yy975;
18588 	if (yych == 'a') goto yy975;
18589 	goto yy59;
18590 yy857:
18591 	YYDEBUG(857, *YYCURSOR);
18592 	yych = *++YYCURSOR;
18593 	if (yych <= 'R') {
18594 		if (yych == 'O') goto yy976;
18595 		if (yych <= 'Q') goto yy59;
18596 		goto yy977;
18597 	} else {
18598 		if (yych <= 'o') {
18599 			if (yych <= 'n') goto yy59;
18600 			goto yy976;
18601 		} else {
18602 			if (yych == 'r') goto yy977;
18603 			goto yy59;
18604 		}
18605 	}
18606 yy858:
18607 	YYDEBUG(858, *YYCURSOR);
18608 	yych = *++YYCURSOR;
18609 	if (yych == 'O') goto yy978;
18610 	if (yych == 'o') goto yy978;
18611 	goto yy59;
18612 yy859:
18613 	YYDEBUG(859, *YYCURSOR);
18614 	yych = *++YYCURSOR;
18615 	if (yych <= 'S') {
18616 		if (yych <= 'N') {
18617 			if (yych == 'I') goto yy979;
18618 			goto yy59;
18619 		} else {
18620 			if (yych <= 'O') goto yy980;
18621 			if (yych <= 'R') goto yy59;
18622 			goto yy981;
18623 		}
18624 	} else {
18625 		if (yych <= 'n') {
18626 			if (yych == 'i') goto yy979;
18627 			goto yy59;
18628 		} else {
18629 			if (yych <= 'o') goto yy980;
18630 			if (yych == 's') goto yy981;
18631 			goto yy59;
18632 		}
18633 	}
18634 yy860:
18635 	YYDEBUG(860, *YYCURSOR);
18636 	yych = *++YYCURSOR;
18637 	if (yych <= 'U') {
18638 		if (yych <= 'D') {
18639 			if (yych == 'A') goto yy983;
18640 			goto yy59;
18641 		} else {
18642 			if (yych <= 'E') goto yy984;
18643 			if (yych <= 'T') goto yy59;
18644 			goto yy985;
18645 		}
18646 	} else {
18647 		if (yych <= 'd') {
18648 			if (yych == 'a') goto yy983;
18649 			goto yy59;
18650 		} else {
18651 			if (yych <= 'e') goto yy984;
18652 			if (yych == 'u') goto yy985;
18653 			goto yy59;
18654 		}
18655 	}
18656 yy861:
18657 	YYDEBUG(861, *YYCURSOR);
18658 	yych = *++YYCURSOR;
18659 	if (yych <= 'U') {
18660 		if (yych == 'H') goto yy986;
18661 		if (yych <= 'T') goto yy59;
18662 		goto yy987;
18663 	} else {
18664 		if (yych <= 'h') {
18665 			if (yych <= 'g') goto yy59;
18666 			goto yy986;
18667 		} else {
18668 			if (yych == 'u') goto yy987;
18669 			goto yy59;
18670 		}
18671 	}
18672 yy862:
18673 	YYDEBUG(862, *YYCURSOR);
18674 	yych = *++YYCURSOR;
18675 	if (yych == 'S') goto yy988;
18676 	if (yych == 's') goto yy988;
18677 	goto yy59;
18678 yy863:
18679 	YYDEBUG(863, *YYCURSOR);
18680 	yych = *++YYCURSOR;
18681 	if (yych == 'E') goto yy989;
18682 	if (yych == 'e') goto yy989;
18683 	goto yy59;
18684 yy864:
18685 	YYDEBUG(864, *YYCURSOR);
18686 	yych = *++YYCURSOR;
18687 	if (yych == 'E') goto yy990;
18688 	if (yych == 'e') goto yy990;
18689 	goto yy59;
18690 yy865:
18691 	YYDEBUG(865, *YYCURSOR);
18692 	yych = *++YYCURSOR;
18693 	if (yych == 0xB5) goto yy991;
18694 	goto yy59;
18695 yy866:
18696 	YYDEBUG(866, *YYCURSOR);
18697 	yych = *++YYCURSOR;
18698 	if (yych == 'A') goto yy992;
18699 	if (yych == 'a') goto yy992;
18700 	goto yy59;
18701 yy867:
18702 	YYDEBUG(867, *YYCURSOR);
18703 	++YYCURSOR;
18704 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18705 	yych = *YYCURSOR;
18706 	if (yych <= 'c') {
18707 		if (yych <= 'M') {
18708 			if (yych <= 'F') {
18709 				if (yych == 'D') goto yy856;
18710 				if (yych <= 'E') goto yy59;
18711 				goto yy857;
18712 			} else {
18713 				if (yych == 'H') goto yy858;
18714 				if (yych <= 'L') goto yy59;
18715 				goto yy859;
18716 			}
18717 		} else {
18718 			if (yych <= 'U') {
18719 				if (yych <= 'R') goto yy59;
18720 				if (yych <= 'S') goto yy860;
18721 				if (yych <= 'T') goto yy861;
18722 				goto yy862;
18723 			} else {
18724 				if (yych <= 'W') {
18725 					if (yych <= 'V') goto yy59;
18726 					goto yy863;
18727 				} else {
18728 					if (yych == 'Y') goto yy864;
18729 					goto yy59;
18730 				}
18731 			}
18732 		}
18733 	} else {
18734 		if (yych <= 's') {
18735 			if (yych <= 'g') {
18736 				if (yych <= 'd') goto yy856;
18737 				if (yych == 'f') goto yy857;
18738 				goto yy59;
18739 			} else {
18740 				if (yych <= 'l') {
18741 					if (yych <= 'h') goto yy858;
18742 					goto yy59;
18743 				} else {
18744 					if (yych <= 'm') goto yy859;
18745 					if (yych <= 'r') goto yy59;
18746 					goto yy860;
18747 				}
18748 			}
18749 		} else {
18750 			if (yych <= 'w') {
18751 				if (yych <= 't') goto yy861;
18752 				if (yych <= 'u') goto yy862;
18753 				if (yych <= 'v') goto yy59;
18754 				goto yy863;
18755 			} else {
18756 				if (yych <= 'y') {
18757 					if (yych <= 'x') goto yy59;
18758 					goto yy864;
18759 				} else {
18760 					if (yych == 0xC2) goto yy993;
18761 					goto yy59;
18762 				}
18763 			}
18764 		}
18765 	}
18766 yy868:
18767 	YYDEBUG(868, *YYCURSOR);
18768 	++YYCURSOR;
18769 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
18770 	yych = *YYCURSOR;
18771 	if (yych == 0xAF) goto yy994;
18772 	goto yy59;
18773 yy869:
18774 	YYDEBUG(869, *YYCURSOR);
18775 	yyaccept = 2;
18776 	yych = *(YYMARKER = ++YYCURSOR);
18777 	if (yych <= 'G') {
18778 		if (yych == ')') goto yy115;
18779 		goto yy20;
18780 	} else {
18781 		if (yych <= 'H') goto yy995;
18782 		if (yych == 'h') goto yy995;
18783 		goto yy20;
18784 	}
18785 yy870:
18786 	YYDEBUG(870, *YYCURSOR);
18787 	yyaccept = 2;
18788 	yych = *(YYMARKER = ++YYCURSOR);
18789 	if (yych <= 'G') {
18790 		if (yych <= ',') {
18791 			if (yych == ')') goto yy115;
18792 			goto yy20;
18793 		} else {
18794 			if (yych == '.') goto yy20;
18795 			if (yych <= '/') goto yy297;
18796 			goto yy20;
18797 		}
18798 	} else {
18799 		if (yych <= '`') {
18800 			if (yych <= 'H') goto yy995;
18801 			if (yych == '_') goto yy297;
18802 			goto yy20;
18803 		} else {
18804 			if (yych == 'h') goto yy996;
18805 			if (yych <= 'z') goto yy954;
18806 			goto yy20;
18807 		}
18808 	}
18809 yy871:
18810 	YYDEBUG(871, *YYCURSOR);
18811 	yych = *++YYCURSOR;
18812 	if (yych <= 'Q') {
18813 		if (yych == ')') goto yy115;
18814 		goto yy20;
18815 	} else {
18816 		if (yych <= 'R') goto yy973;
18817 		if (yych == 'r') goto yy973;
18818 		goto yy20;
18819 	}
18820 yy872:
18821 	YYDEBUG(872, *YYCURSOR);
18822 	yyaccept = 2;
18823 	yych = *(YYMARKER = ++YYCURSOR);
18824 	if (yych <= 'Q') {
18825 		if (yych <= ',') {
18826 			if (yych == ')') goto yy115;
18827 			goto yy20;
18828 		} else {
18829 			if (yych == '.') goto yy20;
18830 			if (yych <= '/') goto yy297;
18831 			goto yy20;
18832 		}
18833 	} else {
18834 		if (yych <= '`') {
18835 			if (yych <= 'R') goto yy973;
18836 			if (yych == '_') goto yy297;
18837 			goto yy20;
18838 		} else {
18839 			if (yych == 'r') goto yy974;
18840 			if (yych <= 'z') goto yy954;
18841 			goto yy20;
18842 		}
18843 	}
18844 yy873:
18845 	YYDEBUG(873, *YYCURSOR);
18846 	yyaccept = 2;
18847 	yych = *(YYMARKER = ++YYCURSOR);
18848 	if (yych <= 'T') {
18849 		if (yych == ')') goto yy115;
18850 		goto yy20;
18851 	} else {
18852 		if (yych <= 'U') goto yy997;
18853 		if (yych == 'u') goto yy997;
18854 		goto yy20;
18855 	}
18856 yy874:
18857 	YYDEBUG(874, *YYCURSOR);
18858 	yyaccept = 2;
18859 	yych = *(YYMARKER = ++YYCURSOR);
18860 	if (yych <= 'T') {
18861 		if (yych <= ',') {
18862 			if (yych == ')') goto yy115;
18863 			goto yy20;
18864 		} else {
18865 			if (yych == '.') goto yy20;
18866 			if (yych <= '/') goto yy297;
18867 			goto yy20;
18868 		}
18869 	} else {
18870 		if (yych <= '`') {
18871 			if (yych <= 'U') goto yy997;
18872 			if (yych == '_') goto yy297;
18873 			goto yy20;
18874 		} else {
18875 			if (yych == 'u') goto yy998;
18876 			if (yych <= 'z') goto yy954;
18877 			goto yy20;
18878 		}
18879 	}
18880 yy875:
18881 	YYDEBUG(875, *YYCURSOR);
18882 	yyaccept = 2;
18883 	yych = *(YYMARKER = ++YYCURSOR);
18884 	if (yych <= '@') {
18885 		if (yych == ')') goto yy115;
18886 		goto yy20;
18887 	} else {
18888 		if (yych <= 'A') goto yy999;
18889 		if (yych == 'a') goto yy999;
18890 		goto yy20;
18891 	}
18892 yy876:
18893 	YYDEBUG(876, *YYCURSOR);
18894 	yyaccept = 2;
18895 	yych = *(YYMARKER = ++YYCURSOR);
18896 	if (yych <= 'A') {
18897 		if (yych == ')') goto yy115;
18898 		goto yy20;
18899 	} else {
18900 		if (yych <= 'B') goto yy1000;
18901 		if (yych == 'b') goto yy1000;
18902 		goto yy20;
18903 	}
18904 yy877:
18905 	YYDEBUG(877, *YYCURSOR);
18906 	yyaccept = 2;
18907 	yych = *(YYMARKER = ++YYCURSOR);
18908 	if (yych <= 'G') {
18909 		if (yych == ')') goto yy115;
18910 		goto yy20;
18911 	} else {
18912 		if (yych <= 'H') goto yy1001;
18913 		if (yych == 'h') goto yy1001;
18914 		goto yy20;
18915 	}
18916 yy878:
18917 	YYDEBUG(878, *YYCURSOR);
18918 	yyaccept = 2;
18919 	yych = *(YYMARKER = ++YYCURSOR);
18920 	if (yych <= '@') {
18921 		if (yych <= ',') {
18922 			if (yych == ')') goto yy115;
18923 			goto yy20;
18924 		} else {
18925 			if (yych == '.') goto yy20;
18926 			if (yych <= '/') goto yy297;
18927 			goto yy20;
18928 		}
18929 	} else {
18930 		if (yych <= '_') {
18931 			if (yych <= 'A') goto yy999;
18932 			if (yych <= '^') goto yy20;
18933 			goto yy297;
18934 		} else {
18935 			if (yych <= '`') goto yy20;
18936 			if (yych <= 'a') goto yy1002;
18937 			if (yych <= 'z') goto yy954;
18938 			goto yy20;
18939 		}
18940 	}
18941 yy879:
18942 	YYDEBUG(879, *YYCURSOR);
18943 	yyaccept = 2;
18944 	yych = *(YYMARKER = ++YYCURSOR);
18945 	if (yych <= 'A') {
18946 		if (yych <= ',') {
18947 			if (yych == ')') goto yy115;
18948 			goto yy20;
18949 		} else {
18950 			if (yych == '.') goto yy20;
18951 			if (yych <= '/') goto yy297;
18952 			goto yy20;
18953 		}
18954 	} else {
18955 		if (yych <= '`') {
18956 			if (yych <= 'B') goto yy1000;
18957 			if (yych == '_') goto yy297;
18958 			goto yy20;
18959 		} else {
18960 			if (yych == 'b') goto yy1003;
18961 			if (yych <= 'z') goto yy954;
18962 			goto yy20;
18963 		}
18964 	}
18965 yy880:
18966 	YYDEBUG(880, *YYCURSOR);
18967 	yyaccept = 2;
18968 	yych = *(YYMARKER = ++YYCURSOR);
18969 	if (yych <= 'G') {
18970 		if (yych <= ',') {
18971 			if (yych == ')') goto yy115;
18972 			goto yy20;
18973 		} else {
18974 			if (yych == '.') goto yy20;
18975 			if (yych <= '/') goto yy297;
18976 			goto yy20;
18977 		}
18978 	} else {
18979 		if (yych <= '`') {
18980 			if (yych <= 'H') goto yy1001;
18981 			if (yych == '_') goto yy297;
18982 			goto yy20;
18983 		} else {
18984 			if (yych == 'h') goto yy1004;
18985 			if (yych <= 'z') goto yy954;
18986 			goto yy20;
18987 		}
18988 	}
18989 yy881:
18990 	YYDEBUG(881, *YYCURSOR);
18991 	yych = *++YYCURSOR;
18992 	if (yych <= '/') goto yy59;
18993 	if (yych <= '9') goto yy1005;
18994 	goto yy59;
18995 yy882:
18996 	YYDEBUG(882, *YYCURSOR);
18997 	yych = *++YYCURSOR;
18998 	if (yych == '0') goto yy1005;
18999 	goto yy59;
19000 yy883:
19001 	YYDEBUG(883, *YYCURSOR);
19002 	yyaccept = 2;
19003 	yych = *(YYMARKER = ++YYCURSOR);
19004 	if (yych <= 'N') {
19005 		if (yych == ')') goto yy115;
19006 		goto yy20;
19007 	} else {
19008 		if (yych <= 'O') goto yy1006;
19009 		if (yych == 'o') goto yy1006;
19010 		goto yy20;
19011 	}
19012 yy884:
19013 	YYDEBUG(884, *YYCURSOR);
19014 	yych = *++YYCURSOR;
19015 	if (yych <= 'X') {
19016 		if (yych == ')') goto yy115;
19017 		goto yy20;
19018 	} else {
19019 		if (yych <= 'Y') goto yy1007;
19020 		if (yych == 'y') goto yy1007;
19021 		goto yy20;
19022 	}
19023 yy885:
19024 	YYDEBUG(885, *YYCURSOR);
19025 	yyaccept = 2;
19026 	yych = *(YYMARKER = ++YYCURSOR);
19027 	if (yych <= 'N') {
19028 		if (yych <= ',') {
19029 			if (yych == ')') goto yy115;
19030 			goto yy20;
19031 		} else {
19032 			if (yych == '.') goto yy20;
19033 			if (yych <= '/') goto yy297;
19034 			goto yy20;
19035 		}
19036 	} else {
19037 		if (yych <= '`') {
19038 			if (yych <= 'O') goto yy1006;
19039 			if (yych == '_') goto yy297;
19040 			goto yy20;
19041 		} else {
19042 			if (yych == 'o') goto yy1008;
19043 			if (yych <= 'z') goto yy954;
19044 			goto yy20;
19045 		}
19046 	}
19047 yy886:
19048 	YYDEBUG(886, *YYCURSOR);
19049 	yyaccept = 2;
19050 	yych = *(YYMARKER = ++YYCURSOR);
19051 	if (yych <= 'X') {
19052 		if (yych <= ',') {
19053 			if (yych == ')') goto yy115;
19054 			goto yy20;
19055 		} else {
19056 			if (yych == '.') goto yy20;
19057 			if (yych <= '/') goto yy297;
19058 			goto yy20;
19059 		}
19060 	} else {
19061 		if (yych <= '`') {
19062 			if (yych <= 'Y') goto yy1007;
19063 			if (yych == '_') goto yy297;
19064 			goto yy20;
19065 		} else {
19066 			if (yych == 'y') goto yy1009;
19067 			if (yych <= 'z') goto yy954;
19068 			goto yy20;
19069 		}
19070 	}
19071 yy887:
19072 	YYDEBUG(887, *YYCURSOR);
19073 	yyaccept = 2;
19074 	yych = *(YYMARKER = ++YYCURSOR);
19075 	if (yych <= 'C') {
19076 		if (yych == ')') goto yy115;
19077 		goto yy20;
19078 	} else {
19079 		if (yych <= 'D') goto yy1010;
19080 		if (yych == 'd') goto yy1010;
19081 		goto yy20;
19082 	}
19083 yy888:
19084 	YYDEBUG(888, *YYCURSOR);
19085 	yyaccept = 2;
19086 	yych = *(YYMARKER = ++YYCURSOR);
19087 	if (yych <= 'C') {
19088 		if (yych <= ',') {
19089 			if (yych == ')') goto yy115;
19090 			goto yy20;
19091 		} else {
19092 			if (yych == '.') goto yy20;
19093 			if (yych <= '/') goto yy297;
19094 			goto yy20;
19095 		}
19096 	} else {
19097 		if (yych <= '`') {
19098 			if (yych <= 'D') goto yy1010;
19099 			if (yych == '_') goto yy297;
19100 			goto yy20;
19101 		} else {
19102 			if (yych == 'd') goto yy1011;
19103 			if (yych <= 'z') goto yy954;
19104 			goto yy20;
19105 		}
19106 	}
19107 yy889:
19108 	YYDEBUG(889, *YYCURSOR);
19109 	yyaccept = 2;
19110 	yych = *(YYMARKER = ++YYCURSOR);
19111 	if (yych <= 'C') {
19112 		if (yych == ')') goto yy115;
19113 		goto yy20;
19114 	} else {
19115 		if (yych <= 'D') goto yy1012;
19116 		if (yych == 'd') goto yy1012;
19117 		goto yy20;
19118 	}
19119 yy890:
19120 	YYDEBUG(890, *YYCURSOR);
19121 	yyaccept = 2;
19122 	yych = *(YYMARKER = ++YYCURSOR);
19123 	if (yych <= 'C') {
19124 		if (yych <= ',') {
19125 			if (yych == ')') goto yy115;
19126 			goto yy20;
19127 		} else {
19128 			if (yych == '.') goto yy20;
19129 			if (yych <= '/') goto yy297;
19130 			goto yy20;
19131 		}
19132 	} else {
19133 		if (yych <= '`') {
19134 			if (yych <= 'D') goto yy1012;
19135 			if (yych == '_') goto yy297;
19136 			goto yy20;
19137 		} else {
19138 			if (yych == 'd') goto yy1013;
19139 			if (yych <= 'z') goto yy954;
19140 			goto yy20;
19141 		}
19142 	}
19143 yy891:
19144 	YYDEBUG(891, *YYCURSOR);
19145 	yych = *++YYCURSOR;
19146 	if (yych <= '/') goto yy59;
19147 	if (yych <= '9') goto yy1014;
19148 	goto yy59;
19149 yy892:
19150 	YYDEBUG(892, *YYCURSOR);
19151 	yych = *++YYCURSOR;
19152 	if (yych <= '/') goto yy59;
19153 	if (yych <= '2') goto yy1014;
19154 	goto yy59;
19155 yy893:
19156 	YYDEBUG(893, *YYCURSOR);
19157 	yych = *++YYCURSOR;
19158 	if (yych <= '/') goto yy59;
19159 	if (yych <= '0') goto yy1015;
19160 	if (yych <= '1') goto yy1016;
19161 	goto yy59;
19162 yy894:
19163 	YYDEBUG(894, *YYCURSOR);
19164 	yyaccept = 2;
19165 	yych = *(YYMARKER = ++YYCURSOR);
19166 	if (yych <= 'W') {
19167 		if (yych <= 'D') {
19168 			if (yych <= ',') {
19169 				if (yych <= '\t') {
19170 					if (yych <= 0x08) goto yy20;
19171 					goto yy196;
19172 				} else {
19173 					if (yych == ' ') goto yy196;
19174 					goto yy20;
19175 				}
19176 			} else {
19177 				if (yych <= '/') {
19178 					if (yych <= '-') goto yy893;
19179 					goto yy20;
19180 				} else {
19181 					if (yych <= '9') goto yy1017;
19182 					if (yych <= 'C') goto yy20;
19183 					goto yy196;
19184 				}
19185 			}
19186 		} else {
19187 			if (yych <= 'L') {
19188 				if (yych <= 'F') {
19189 					if (yych <= 'E') goto yy20;
19190 					goto yy196;
19191 				} else {
19192 					if (yych == 'H') goto yy196;
19193 					goto yy20;
19194 				}
19195 			} else {
19196 				if (yych <= 'R') {
19197 					if (yych <= 'M') goto yy196;
19198 					goto yy20;
19199 				} else {
19200 					if (yych == 'V') goto yy20;
19201 					goto yy196;
19202 				}
19203 			}
19204 		}
19205 	} else {
19206 		if (yych <= 'm') {
19207 			if (yych <= 'e') {
19208 				if (yych <= 'Y') {
19209 					if (yych <= 'X') goto yy20;
19210 					goto yy196;
19211 				} else {
19212 					if (yych == 'd') goto yy196;
19213 					goto yy20;
19214 				}
19215 			} else {
19216 				if (yych <= 'g') {
19217 					if (yych <= 'f') goto yy196;
19218 					goto yy20;
19219 				} else {
19220 					if (yych <= 'h') goto yy196;
19221 					if (yych <= 'l') goto yy20;
19222 					goto yy196;
19223 				}
19224 			}
19225 		} else {
19226 			if (yych <= 'x') {
19227 				if (yych <= 'u') {
19228 					if (yych <= 'r') goto yy20;
19229 					goto yy196;
19230 				} else {
19231 					if (yych == 'w') goto yy196;
19232 					goto yy20;
19233 				}
19234 			} else {
19235 				if (yych <= 0xC2) {
19236 					if (yych <= 'y') goto yy196;
19237 					if (yych <= 0xC1) goto yy20;
19238 					goto yy97;
19239 				} else {
19240 					if (yych == 0xE2) goto yy98;
19241 					goto yy20;
19242 				}
19243 			}
19244 		}
19245 	}
19246 yy895:
19247 	YYDEBUG(895, *YYCURSOR);
19248 	yych = *++YYCURSOR;
19249 	if (yych <= '9') {
19250 		if (yych == '-') goto yy893;
19251 		if (yych <= '/') goto yy196;
19252 		goto yy1017;
19253 	} else {
19254 		if (yych <= 0xC2) {
19255 			if (yych <= 0xC1) goto yy196;
19256 			goto yy97;
19257 		} else {
19258 			if (yych == 0xE2) goto yy98;
19259 			goto yy196;
19260 		}
19261 	}
19262 yy896:
19263 	YYDEBUG(896, *YYCURSOR);
19264 	yych = *++YYCURSOR;
19265 	if (yych <= '/') goto yy59;
19266 	if (yych <= '5') goto yy1018;
19267 	if (yych <= '6') goto yy1019;
19268 	goto yy59;
19269 yy897:
19270 	YYDEBUG(897, *YYCURSOR);
19271 	yych = *++YYCURSOR;
19272 	if (yych <= '/') goto yy59;
19273 	if (yych <= '9') goto yy1020;
19274 	goto yy59;
19275 yy898:
19276 	YYDEBUG(898, *YYCURSOR);
19277 	++YYCURSOR;
19278 	goto yy567;
19279 yy899:
19280 	YYDEBUG(899, *YYCURSOR);
19281 	++YYCURSOR;
19282 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
19283 	yych = *YYCURSOR;
19284 	YYDEBUG(900, *YYCURSOR);
19285 	if (yych <= '/') goto yy177;
19286 	if (yych <= '9') goto yy899;
19287 	goto yy177;
19288 yy901:
19289 	YYDEBUG(901, *YYCURSOR);
19290 	yych = *++YYCURSOR;
19291 	if (yych <= '/') goto yy224;
19292 	if (yych <= '9') goto yy1022;
19293 	goto yy224;
19294 yy902:
19295 	YYDEBUG(902, *YYCURSOR);
19296 	yych = *++YYCURSOR;
19297 	if (yych <= '/') goto yy59;
19298 	if (yych <= '9') goto yy1023;
19299 	goto yy59;
19300 yy903:
19301 	YYDEBUG(903, *YYCURSOR);
19302 	yyaccept = 15;
19303 	yych = *(YYMARKER = ++YYCURSOR);
19304 	if (yych <= 'n') {
19305 		if (yych <= '/') goto yy567;
19306 		if (yych <= '9') goto yy1024;
19307 		if (yych <= 'm') goto yy567;
19308 		goto yy741;
19309 	} else {
19310 		if (yych <= 'r') {
19311 			if (yych <= 'q') goto yy567;
19312 			goto yy741;
19313 		} else {
19314 			if (yych <= 's') goto yy742;
19315 			if (yych <= 't') goto yy743;
19316 			goto yy567;
19317 		}
19318 	}
19319 yy904:
19320 	YYDEBUG(904, *YYCURSOR);
19321 	yyaccept = 15;
19322 	yych = *(YYMARKER = ++YYCURSOR);
19323 	if (yych <= 'n') {
19324 		if (yych <= '1') {
19325 			if (yych <= '/') goto yy567;
19326 			goto yy1024;
19327 		} else {
19328 			if (yych <= '9') goto yy737;
19329 			if (yych <= 'm') goto yy567;
19330 			goto yy741;
19331 		}
19332 	} else {
19333 		if (yych <= 'r') {
19334 			if (yych <= 'q') goto yy567;
19335 			goto yy741;
19336 		} else {
19337 			if (yych <= 's') goto yy742;
19338 			if (yych <= 't') goto yy743;
19339 			goto yy567;
19340 		}
19341 	}
19342 yy905:
19343 	YYDEBUG(905, *YYCURSOR);
19344 	yych = *++YYCURSOR;
19345 	if (yych <= '/') goto yy59;
19346 	if (yych <= '2') goto yy1026;
19347 	if (yych <= '3') goto yy1027;
19348 	if (yych <= '9') goto yy1028;
19349 	goto yy59;
19350 yy906:
19351 	YYDEBUG(906, *YYCURSOR);
19352 	yyaccept = 18;
19353 	yych = *(YYMARKER = ++YYCURSOR);
19354 	if (yych == '-') goto yy1029;
19355 	if (yych <= '0') goto yy752;
19356 	if (yych <= '9') goto yy1030;
19357 	goto yy752;
19358 yy907:
19359 	YYDEBUG(907, *YYCURSOR);
19360 	yyaccept = 18;
19361 	yych = *(YYMARKER = ++YYCURSOR);
19362 	if (yych == '-') goto yy1029;
19363 	if (yych <= '/') goto yy752;
19364 	if (yych <= '9') goto yy1030;
19365 	goto yy752;
19366 yy908:
19367 	YYDEBUG(908, *YYCURSOR);
19368 	yych = *++YYCURSOR;
19369 	if (yych <= '/') goto yy59;
19370 	if (yych <= '9') goto yy1030;
19371 	goto yy59;
19372 yy909:
19373 	YYDEBUG(909, *YYCURSOR);
19374 	yych = *++YYCURSOR;
19375 	if (yych <= '/') goto yy59;
19376 	if (yych <= '6') goto yy1030;
19377 	goto yy59;
19378 yy910:
19379 	YYDEBUG(910, *YYCURSOR);
19380 	yych = *++YYCURSOR;
19381 	if (yych == 'R') goto yy1031;
19382 	if (yych == 'r') goto yy1031;
19383 	goto yy59;
19384 yy911:
19385 	YYDEBUG(911, *YYCURSOR);
19386 	yych = *++YYCURSOR;
19387 	if (yych == 'G') goto yy1032;
19388 	if (yych == 'g') goto yy1032;
19389 	goto yy59;
19390 yy912:
19391 	YYDEBUG(912, *YYCURSOR);
19392 	yych = *++YYCURSOR;
19393 	if (yych == 'C') goto yy1033;
19394 	if (yych == 'c') goto yy1033;
19395 	goto yy59;
19396 yy913:
19397 	YYDEBUG(913, *YYCURSOR);
19398 	yych = *++YYCURSOR;
19399 	if (yych == 'B') goto yy1034;
19400 	if (yych == 'b') goto yy1034;
19401 	goto yy59;
19402 yy914:
19403 	YYDEBUG(914, *YYCURSOR);
19404 	yych = *++YYCURSOR;
19405 	if (yych == 'N') goto yy1035;
19406 	if (yych == 'n') goto yy1035;
19407 	goto yy59;
19408 yy915:
19409 	YYDEBUG(915, *YYCURSOR);
19410 	yych = *++YYCURSOR;
19411 	if (yych <= 'N') {
19412 		if (yych == 'L') goto yy1036;
19413 		if (yych <= 'M') goto yy59;
19414 		goto yy1037;
19415 	} else {
19416 		if (yych <= 'l') {
19417 			if (yych <= 'k') goto yy59;
19418 			goto yy1036;
19419 		} else {
19420 			if (yych == 'n') goto yy1037;
19421 			goto yy59;
19422 		}
19423 	}
19424 yy916:
19425 	YYDEBUG(916, *YYCURSOR);
19426 	yych = *++YYCURSOR;
19427 	if (yych <= 'Y') {
19428 		if (yych == 'R') goto yy1038;
19429 		if (yych <= 'X') goto yy59;
19430 		goto yy1039;
19431 	} else {
19432 		if (yych <= 'r') {
19433 			if (yych <= 'q') goto yy59;
19434 			goto yy1038;
19435 		} else {
19436 			if (yych == 'y') goto yy1039;
19437 			goto yy59;
19438 		}
19439 	}
19440 yy917:
19441 	YYDEBUG(917, *YYCURSOR);
19442 	yych = *++YYCURSOR;
19443 	if (yych == 'V') goto yy1033;
19444 	if (yych == 'v') goto yy1033;
19445 	goto yy59;
19446 yy918:
19447 	YYDEBUG(918, *YYCURSOR);
19448 	yych = *++YYCURSOR;
19449 	if (yych == 'T') goto yy1040;
19450 	if (yych == 't') goto yy1040;
19451 	goto yy59;
19452 yy919:
19453 	YYDEBUG(919, *YYCURSOR);
19454 	yych = *++YYCURSOR;
19455 	if (yych == 'P') goto yy1041;
19456 	if (yych == 'p') goto yy1041;
19457 	goto yy59;
19458 yy920:
19459 	YYDEBUG(920, *YYCURSOR);
19460 	yych = *++YYCURSOR;
19461 	if (yych <= '0') goto yy59;
19462 	if (yych <= '9') goto yy1030;
19463 	goto yy59;
19464 yy921:
19465 	YYDEBUG(921, *YYCURSOR);
19466 	yych = *++YYCURSOR;
19467 	if (yych == 'P') goto yy940;
19468 	if (yych == 'p') goto yy940;
19469 	goto yy59;
19470 yy922:
19471 	YYDEBUG(922, *YYCURSOR);
19472 	yych = *++YYCURSOR;
19473 	if (yych <= '/') goto yy59;
19474 	if (yych <= '2') goto yy1042;
19475 	if (yych <= '3') goto yy1044;
19476 	if (yych <= '9') goto yy1045;
19477 	goto yy59;
19478 yy923:
19479 	YYDEBUG(923, *YYCURSOR);
19480 	yych = *++YYCURSOR;
19481 	if (yych == '/') goto yy1046;
19482 	goto yy59;
19483 yy924:
19484 	YYDEBUG(924, *YYCURSOR);
19485 	yych = *++YYCURSOR;
19486 	if (yych <= 0xC1) {
19487 		if (yych <= '/') goto yy196;
19488 		if (yych <= '9') goto yy1047;
19489 		goto yy196;
19490 	} else {
19491 		if (yych <= 0xC2) goto yy97;
19492 		if (yych == 0xE2) goto yy98;
19493 		goto yy196;
19494 	}
19495 yy925:
19496 	YYDEBUG(925, *YYCURSOR);
19497 	yyaccept = 21;
19498 	yych = *(YYMARKER = ++YYCURSOR);
19499 	if (yych <= 'X') {
19500 		if (yych <= 'E') {
19501 			if (yych <= ' ') {
19502 				if (yych == '\t') goto yy196;
19503 				if (yych >= ' ') goto yy196;
19504 			} else {
19505 				if (yych <= '9') {
19506 					if (yych >= '0') goto yy1047;
19507 				} else {
19508 					if (yych == 'D') goto yy196;
19509 				}
19510 			}
19511 		} else {
19512 			if (yych <= 'M') {
19513 				if (yych <= 'G') {
19514 					if (yych <= 'F') goto yy196;
19515 				} else {
19516 					if (yych <= 'H') goto yy196;
19517 					if (yych >= 'M') goto yy196;
19518 				}
19519 			} else {
19520 				if (yych <= 'U') {
19521 					if (yych >= 'S') goto yy196;
19522 				} else {
19523 					if (yych == 'W') goto yy196;
19524 				}
19525 			}
19526 		}
19527 	} else {
19528 		if (yych <= 'r') {
19529 			if (yych <= 'f') {
19530 				if (yych <= 'c') {
19531 					if (yych <= 'Y') goto yy196;
19532 				} else {
19533 					if (yych != 'e') goto yy196;
19534 				}
19535 			} else {
19536 				if (yych <= 'h') {
19537 					if (yych >= 'h') goto yy196;
19538 				} else {
19539 					if (yych == 'm') goto yy196;
19540 				}
19541 			}
19542 		} else {
19543 			if (yych <= 'y') {
19544 				if (yych <= 'v') {
19545 					if (yych <= 'u') goto yy196;
19546 				} else {
19547 					if (yych != 'x') goto yy196;
19548 				}
19549 			} else {
19550 				if (yych <= 0xC2) {
19551 					if (yych >= 0xC2) goto yy97;
19552 				} else {
19553 					if (yych == 0xE2) goto yy98;
19554 				}
19555 			}
19556 		}
19557 	}
19558 yy926:
19559 	YYDEBUG(926, *YYCURSOR);
19560 #line 1686 "ext/date/lib/parse_date.re"
19561 	{
19562 		int length = 0;
19563 		DEBUG_OUTPUT("pgydotd");
19564 		TIMELIB_INIT;
19565 		TIMELIB_HAVE_DATE();
19566 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
19567 		s->time->d = timelib_get_nr(&ptr, 3);
19568 		s->time->m = 1;
19569 		TIMELIB_PROCESS_YEAR(s->time->y, length);
19570 		TIMELIB_DEINIT;
19571 		return TIMELIB_PG_YEARDAY;
19572 	}
19573 #line 19574 "<stdout>"
19574 yy927:
19575 	YYDEBUG(927, *YYCURSOR);
19576 	yyaccept = 21;
19577 	yych = *(YYMARKER = ++YYCURSOR);
19578 	if (yych <= 'X') {
19579 		if (yych <= 'E') {
19580 			if (yych <= '/') {
19581 				if (yych <= '\t') {
19582 					if (yych <= 0x08) goto yy926;
19583 					goto yy196;
19584 				} else {
19585 					if (yych == ' ') goto yy196;
19586 					goto yy926;
19587 				}
19588 			} else {
19589 				if (yych <= '9') {
19590 					if (yych <= '1') goto yy1047;
19591 					goto yy1049;
19592 				} else {
19593 					if (yych == 'D') goto yy196;
19594 					goto yy926;
19595 				}
19596 			}
19597 		} else {
19598 			if (yych <= 'M') {
19599 				if (yych <= 'G') {
19600 					if (yych <= 'F') goto yy196;
19601 					goto yy926;
19602 				} else {
19603 					if (yych <= 'H') goto yy196;
19604 					if (yych <= 'L') goto yy926;
19605 					goto yy196;
19606 				}
19607 			} else {
19608 				if (yych <= 'U') {
19609 					if (yych <= 'R') goto yy926;
19610 					goto yy196;
19611 				} else {
19612 					if (yych == 'W') goto yy196;
19613 					goto yy926;
19614 				}
19615 			}
19616 		}
19617 	} else {
19618 		if (yych <= 'r') {
19619 			if (yych <= 'f') {
19620 				if (yych <= 'c') {
19621 					if (yych <= 'Y') goto yy196;
19622 					goto yy926;
19623 				} else {
19624 					if (yych == 'e') goto yy926;
19625 					goto yy196;
19626 				}
19627 			} else {
19628 				if (yych <= 'h') {
19629 					if (yych <= 'g') goto yy926;
19630 					goto yy196;
19631 				} else {
19632 					if (yych == 'm') goto yy196;
19633 					goto yy926;
19634 				}
19635 			}
19636 		} else {
19637 			if (yych <= 'y') {
19638 				if (yych <= 'v') {
19639 					if (yych <= 'u') goto yy196;
19640 					goto yy926;
19641 				} else {
19642 					if (yych == 'x') goto yy926;
19643 					goto yy196;
19644 				}
19645 			} else {
19646 				if (yych <= 0xC2) {
19647 					if (yych <= 0xC1) goto yy926;
19648 					goto yy97;
19649 				} else {
19650 					if (yych == 0xE2) goto yy98;
19651 					goto yy926;
19652 				}
19653 			}
19654 		}
19655 	}
19656 yy928:
19657 	YYDEBUG(928, *YYCURSOR);
19658 	yyaccept = 21;
19659 	yych = *(YYMARKER = ++YYCURSOR);
19660 	if (yych <= 'X') {
19661 		if (yych <= 'E') {
19662 			if (yych <= ' ') {
19663 				if (yych == '\t') goto yy196;
19664 				if (yych <= 0x1F) goto yy926;
19665 				goto yy196;
19666 			} else {
19667 				if (yych <= '9') {
19668 					if (yych <= '/') goto yy926;
19669 					goto yy1049;
19670 				} else {
19671 					if (yych == 'D') goto yy196;
19672 					goto yy926;
19673 				}
19674 			}
19675 		} else {
19676 			if (yych <= 'M') {
19677 				if (yych <= 'G') {
19678 					if (yych <= 'F') goto yy196;
19679 					goto yy926;
19680 				} else {
19681 					if (yych <= 'H') goto yy196;
19682 					if (yych <= 'L') goto yy926;
19683 					goto yy196;
19684 				}
19685 			} else {
19686 				if (yych <= 'U') {
19687 					if (yych <= 'R') goto yy926;
19688 					goto yy196;
19689 				} else {
19690 					if (yych == 'W') goto yy196;
19691 					goto yy926;
19692 				}
19693 			}
19694 		}
19695 	} else {
19696 		if (yych <= 'r') {
19697 			if (yych <= 'f') {
19698 				if (yych <= 'c') {
19699 					if (yych <= 'Y') goto yy196;
19700 					goto yy926;
19701 				} else {
19702 					if (yych == 'e') goto yy926;
19703 					goto yy196;
19704 				}
19705 			} else {
19706 				if (yych <= 'h') {
19707 					if (yych <= 'g') goto yy926;
19708 					goto yy196;
19709 				} else {
19710 					if (yych == 'm') goto yy196;
19711 					goto yy926;
19712 				}
19713 			}
19714 		} else {
19715 			if (yych <= 'y') {
19716 				if (yych <= 'v') {
19717 					if (yych <= 'u') goto yy196;
19718 					goto yy926;
19719 				} else {
19720 					if (yych == 'x') goto yy926;
19721 					goto yy196;
19722 				}
19723 			} else {
19724 				if (yych <= 0xC2) {
19725 					if (yych <= 0xC1) goto yy926;
19726 					goto yy97;
19727 				} else {
19728 					if (yych == 0xE2) goto yy98;
19729 					goto yy926;
19730 				}
19731 			}
19732 		}
19733 	}
19734 yy929:
19735 	YYDEBUG(929, *YYCURSOR);
19736 	yych = *++YYCURSOR;
19737 	if (yych <= 0xC1) {
19738 		if (yych <= '/') goto yy196;
19739 		if (yych <= '9') goto yy1049;
19740 		goto yy196;
19741 	} else {
19742 		if (yych <= 0xC2) goto yy97;
19743 		if (yych == 0xE2) goto yy98;
19744 		goto yy196;
19745 	}
19746 yy930:
19747 	YYDEBUG(930, *YYCURSOR);
19748 	yych = *++YYCURSOR;
19749 	if (yych == ':') goto yy1050;
19750 	goto yy59;
19751 yy931:
19752 	YYDEBUG(931, *YYCURSOR);
19753 	yyaccept = 22;
19754 	yych = *(YYMARKER = ++YYCURSOR);
19755 	if (yych == 'I') goto yy1051;
19756 	if (yych == 'i') goto yy1051;
19757 	goto yy600;
19758 yy932:
19759 	YYDEBUG(932, *YYCURSOR);
19760 	yyaccept = 22;
19761 	yych = *(YYMARKER = ++YYCURSOR);
19762 	if (yych == 'U') goto yy1052;
19763 	if (yych == 'u') goto yy1052;
19764 	goto yy600;
19765 yy933:
19766 	YYDEBUG(933, *YYCURSOR);
19767 	yyaccept = 22;
19768 	yych = *(YYMARKER = ++YYCURSOR);
19769 	if (yych == 'E') goto yy1053;
19770 	if (yych == 'e') goto yy1053;
19771 	goto yy600;
19772 yy934:
19773 	YYDEBUG(934, *YYCURSOR);
19774 	yyaccept = 22;
19775 	yych = *(YYMARKER = ++YYCURSOR);
19776 	if (yych == 'R') goto yy1054;
19777 	if (yych == 'r') goto yy1054;
19778 	goto yy600;
19779 yy935:
19780 	YYDEBUG(935, *YYCURSOR);
19781 	yyaccept = 22;
19782 	yych = *(YYMARKER = ++YYCURSOR);
19783 	if (yych == 'U') goto yy1055;
19784 	if (yych == 'u') goto yy1055;
19785 	goto yy600;
19786 yy936:
19787 	YYDEBUG(936, *YYCURSOR);
19788 	yych = *++YYCURSOR;
19789 	if (yych == 'Y') goto yy790;
19790 	if (yych == 'y') goto yy790;
19791 	goto yy600;
19792 yy937:
19793 	YYDEBUG(937, *YYCURSOR);
19794 	yych = *++YYCURSOR;
19795 	if (yych == 'E') goto yy790;
19796 	if (yych == 'e') goto yy790;
19797 	goto yy600;
19798 yy938:
19799 	YYDEBUG(938, *YYCURSOR);
19800 	yyaccept = 22;
19801 	yych = *(YYMARKER = ++YYCURSOR);
19802 	if (yych == 'C') goto yy1056;
19803 	if (yych == 'c') goto yy1056;
19804 	goto yy600;
19805 yy939:
19806 	YYDEBUG(939, *YYCURSOR);
19807 	yyaccept = 22;
19808 	yych = *(YYMARKER = ++YYCURSOR);
19809 	if (yych == 'O') goto yy1057;
19810 	if (yych == 'o') goto yy1057;
19811 	goto yy600;
19812 yy940:
19813 	YYDEBUG(940, *YYCURSOR);
19814 	yych = *++YYCURSOR;
19815 	if (yych == 'T') goto yy933;
19816 	if (yych == 't') goto yy933;
19817 	goto yy600;
19818 yy941:
19819 	YYDEBUG(941, *YYCURSOR);
19820 	yyaccept = 23;
19821 	yych = *(YYMARKER = ++YYCURSOR);
19822 	if (yych == '-') goto yy1058;
19823 	if (yych <= '/') goto yy942;
19824 	if (yych <= '7') goto yy1059;
19825 yy942:
19826 	YYDEBUG(942, *YYCURSOR);
19827 #line 1719 "ext/date/lib/parse_date.re"
19828 	{
19829 		timelib_sll w, d;
19830 		DEBUG_OUTPUT("isoweek");
19831 		TIMELIB_INIT;
19832 		TIMELIB_HAVE_DATE();
19833 		TIMELIB_HAVE_RELATIVE();
19834 
19835 		s->time->y = timelib_get_nr(&ptr, 4);
19836 		w = timelib_get_nr(&ptr, 2);
19837 		d = 1;
19838 		s->time->m = 1;
19839 		s->time->d = 1;
19840 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
19841 
19842 		TIMELIB_DEINIT;
19843 		return TIMELIB_ISO_WEEK;
19844 	}
19845 #line 19846 "<stdout>"
19846 yy943:
19847 	YYDEBUG(943, *YYCURSOR);
19848 	yych = *++YYCURSOR;
19849 	if (yych == 'G') goto yy1061;
19850 	if (yych == 'g') goto yy1061;
19851 	goto yy59;
19852 yy944:
19853 	YYDEBUG(944, *YYCURSOR);
19854 	yych = *++YYCURSOR;
19855 	if (yych == 'Y') goto yy253;
19856 	if (yych == 'y') goto yy253;
19857 	goto yy59;
19858 yy945:
19859 	YYDEBUG(945, *YYCURSOR);
19860 	yych = *++YYCURSOR;
19861 	if (yych == 'E') goto yy1062;
19862 	if (yych == 'e') goto yy1062;
19863 	goto yy59;
19864 yy946:
19865 	YYDEBUG(946, *YYCURSOR);
19866 	yych = *++YYCURSOR;
19867 	if (yych == 'R') goto yy253;
19868 	if (yych == 'r') goto yy253;
19869 	goto yy59;
19870 yy947:
19871 	YYDEBUG(947, *YYCURSOR);
19872 	++YYCURSOR;
19873 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
19874 	yych = *YYCURSOR;
19875 	if (yych <= '`') {
19876 		if (yych <= 'A') {
19877 			if (yych <= '@') goto yy59;
19878 			goto yy106;
19879 		} else {
19880 			if (yych == 'P') goto yy106;
19881 			goto yy59;
19882 		}
19883 	} else {
19884 		if (yych <= 'p') {
19885 			if (yych <= 'a') goto yy106;
19886 			if (yych <= 'o') goto yy59;
19887 			goto yy106;
19888 		} else {
19889 			if (yych == 0xE2) goto yy641;
19890 			goto yy59;
19891 		}
19892 	}
19893 yy948:
19894 	YYDEBUG(948, *YYCURSOR);
19895 	yyaccept = 4;
19896 	yych = *(YYMARKER = ++YYCURSOR);
19897 	if (yych <= 'A') {
19898 		if (yych <= '-') {
19899 			if (yych <= '\t') {
19900 				if (yych <= 0x08) goto yy177;
19901 				goto yy638;
19902 			} else {
19903 				if (yych == ' ') goto yy638;
19904 				goto yy177;
19905 			}
19906 		} else {
19907 			if (yych <= '9') {
19908 				if (yych <= '.') goto yy1063;
19909 				goto yy177;
19910 			} else {
19911 				if (yych <= ':') goto yy1064;
19912 				if (yych <= '@') goto yy177;
19913 				goto yy106;
19914 			}
19915 		}
19916 	} else {
19917 		if (yych <= 'o') {
19918 			if (yych <= 'P') {
19919 				if (yych <= 'O') goto yy177;
19920 				goto yy106;
19921 			} else {
19922 				if (yych == 'a') goto yy106;
19923 				goto yy177;
19924 			}
19925 		} else {
19926 			if (yych <= 0xC2) {
19927 				if (yych <= 'p') goto yy106;
19928 				if (yych <= 0xC1) goto yy177;
19929 				goto yy640;
19930 			} else {
19931 				if (yych == 0xE2) goto yy641;
19932 				goto yy177;
19933 			}
19934 		}
19935 	}
19936 yy949:
19937 	YYDEBUG(949, *YYCURSOR);
19938 	yyaccept = 15;
19939 	yych = *(YYMARKER = ++YYCURSOR);
19940 	if (yych <= 'n') {
19941 		if (yych <= '/') goto yy567;
19942 		if (yych <= '9') goto yy1065;
19943 		if (yych <= 'm') goto yy567;
19944 		goto yy741;
19945 	} else {
19946 		if (yych <= 'r') {
19947 			if (yych <= 'q') goto yy567;
19948 			goto yy741;
19949 		} else {
19950 			if (yych <= 's') goto yy742;
19951 			if (yych <= 't') goto yy743;
19952 			goto yy567;
19953 		}
19954 	}
19955 yy950:
19956 	YYDEBUG(950, *YYCURSOR);
19957 	yyaccept = 15;
19958 	yych = *(YYMARKER = ++YYCURSOR);
19959 	if (yych <= 'n') {
19960 		if (yych <= '/') goto yy567;
19961 		if (yych <= '1') goto yy1065;
19962 		if (yych <= 'm') goto yy567;
19963 		goto yy741;
19964 	} else {
19965 		if (yych <= 'r') {
19966 			if (yych <= 'q') goto yy567;
19967 			goto yy741;
19968 		} else {
19969 			if (yych <= 's') goto yy742;
19970 			if (yych <= 't') goto yy743;
19971 			goto yy567;
19972 		}
19973 	}
19974 yy951:
19975 	YYDEBUG(951, *YYCURSOR);
19976 	yych = *++YYCURSOR;
19977 	if (yych <= '/') goto yy59;
19978 	if (yych <= '2') goto yy1066;
19979 	if (yych <= '3') goto yy1067;
19980 	goto yy59;
19981 yy952:
19982 	YYDEBUG(952, *YYCURSOR);
19983 	yych = *++YYCURSOR;
19984 	if (yych <= '/') goto yy290;
19985 	if (yych <= '9') goto yy1068;
19986 	goto yy290;
19987 yy953:
19988 	YYDEBUG(953, *YYCURSOR);
19989 	yych = *++YYCURSOR;
19990 	if (yych <= '/') goto yy59;
19991 	if (yych <= '9') goto yy1069;
19992 	goto yy59;
19993 yy954:
19994 	YYDEBUG(954, *YYCURSOR);
19995 	++YYCURSOR;
19996 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
19997 	yych = *YYCURSOR;
19998 yy955:
19999 	YYDEBUG(955, *YYCURSOR);
20000 	if (yybm[0+yych] & 128) {
20001 		goto yy954;
20002 	}
20003 	if (yych <= '.') {
20004 		if (yych == '-') goto yy297;
20005 		goto yy59;
20006 	} else {
20007 		if (yych <= '/') goto yy297;
20008 		if (yych == '_') goto yy297;
20009 		goto yy59;
20010 	}
20011 yy956:
20012 	YYDEBUG(956, *YYCURSOR);
20013 	yych = *++YYCURSOR;
20014 	if (yych == ' ') goto yy1071;
20015 	goto yy59;
20016 yy957:
20017 	YYDEBUG(957, *YYCURSOR);
20018 	yych = *++YYCURSOR;
20019 	if (yych == 'R') goto yy973;
20020 	if (yych == 'r') goto yy973;
20021 	goto yy59;
20022 yy958:
20023 	YYDEBUG(958, *YYCURSOR);
20024 	yych = *++YYCURSOR;
20025 	if (yych == 'R') goto yy973;
20026 	if (yych == 'r') goto yy974;
20027 	goto yy955;
20028 yy959:
20029 	YYDEBUG(959, *YYCURSOR);
20030 	yych = *++YYCURSOR;
20031 	if (yych == 'E') goto yy1072;
20032 	if (yych == 'e') goto yy1072;
20033 	goto yy59;
20034 yy960:
20035 	YYDEBUG(960, *YYCURSOR);
20036 	++YYCURSOR;
20037 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
20038 	yych = *YYCURSOR;
20039 	if (yych <= 'c') {
20040 		if (yych <= 'M') {
20041 			if (yych <= 'F') {
20042 				if (yych == 'D') goto yy856;
20043 				if (yych <= 'E') goto yy59;
20044 				goto yy857;
20045 			} else {
20046 				if (yych == 'H') goto yy858;
20047 				if (yych <= 'L') goto yy59;
20048 				goto yy859;
20049 			}
20050 		} else {
20051 			if (yych <= 'U') {
20052 				if (yych <= 'R') goto yy59;
20053 				if (yych <= 'S') goto yy860;
20054 				if (yych <= 'T') goto yy861;
20055 				goto yy862;
20056 			} else {
20057 				if (yych <= 'W') {
20058 					if (yych <= 'V') goto yy59;
20059 					goto yy959;
20060 				} else {
20061 					if (yych == 'Y') goto yy864;
20062 					goto yy59;
20063 				}
20064 			}
20065 		}
20066 	} else {
20067 		if (yych <= 's') {
20068 			if (yych <= 'g') {
20069 				if (yych <= 'd') goto yy856;
20070 				if (yych == 'f') goto yy857;
20071 				goto yy59;
20072 			} else {
20073 				if (yych <= 'l') {
20074 					if (yych <= 'h') goto yy858;
20075 					goto yy59;
20076 				} else {
20077 					if (yych <= 'm') goto yy859;
20078 					if (yych <= 'r') goto yy59;
20079 					goto yy860;
20080 				}
20081 			}
20082 		} else {
20083 			if (yych <= 'w') {
20084 				if (yych <= 't') goto yy861;
20085 				if (yych <= 'u') goto yy862;
20086 				if (yych <= 'v') goto yy59;
20087 				goto yy959;
20088 			} else {
20089 				if (yych <= 'y') {
20090 					if (yych <= 'x') goto yy59;
20091 					goto yy864;
20092 				} else {
20093 					if (yych == 0xC2) goto yy1073;
20094 					goto yy59;
20095 				}
20096 			}
20097 		}
20098 	}
20099 yy961:
20100 	YYDEBUG(961, *YYCURSOR);
20101 	++YYCURSOR;
20102 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
20103 	yych = *YYCURSOR;
20104 	if (yych == 0xAF) goto yy1074;
20105 	goto yy59;
20106 yy962:
20107 	YYDEBUG(962, *YYCURSOR);
20108 	yych = *++YYCURSOR;
20109 	if (yych == 'H') goto yy1001;
20110 	if (yych == 'h') goto yy1001;
20111 	goto yy59;
20112 yy963:
20113 	YYDEBUG(963, *YYCURSOR);
20114 	yych = *++YYCURSOR;
20115 	if (yych == 'H') goto yy1001;
20116 	if (yych == 'h') goto yy1004;
20117 	goto yy955;
20118 yy964:
20119 	YYDEBUG(964, *YYCURSOR);
20120 	yych = *++YYCURSOR;
20121 	if (yych == 'Y') goto yy973;
20122 	if (yych == 'y') goto yy973;
20123 	goto yy59;
20124 yy965:
20125 	YYDEBUG(965, *YYCURSOR);
20126 	++YYCURSOR;
20127 	goto yy315;
20128 yy966:
20129 	YYDEBUG(966, *YYCURSOR);
20130 	yych = *++YYCURSOR;
20131 	if (yych == 'Y') goto yy973;
20132 	if (yych == 'y') goto yy974;
20133 	goto yy955;
20134 yy967:
20135 	YYDEBUG(967, *YYCURSOR);
20136 	yyaccept = 9;
20137 	yych = *(YYMARKER = ++YYCURSOR);
20138 	if (yybm[0+yych] & 128) {
20139 		goto yy954;
20140 	}
20141 	if (yych <= '.') {
20142 		if (yych == '-') goto yy297;
20143 		goto yy315;
20144 	} else {
20145 		if (yych <= '/') goto yy297;
20146 		if (yych == '_') goto yy297;
20147 		goto yy315;
20148 	}
20149 yy968:
20150 	YYDEBUG(968, *YYCURSOR);
20151 	yych = *++YYCURSOR;
20152 	if (yych <= '/') goto yy20;
20153 	if (yych <= '9') goto yy1075;
20154 	goto yy20;
20155 yy969:
20156 	YYDEBUG(969, *YYCURSOR);
20157 	yych = *++YYCURSOR;
20158 	if (yych <= '/') goto yy59;
20159 	if (yych <= '5') goto yy1076;
20160 	if (yych <= '6') goto yy1077;
20161 	if (yych <= '9') goto yy1078;
20162 	goto yy59;
20163 yy970:
20164 	YYDEBUG(970, *YYCURSOR);
20165 	yych = *++YYCURSOR;
20166 	if (yych <= '/') goto yy59;
20167 	if (yych <= '5') goto yy1079;
20168 	if (yych <= '6') goto yy1080;
20169 	if (yych <= '9') goto yy1078;
20170 	goto yy59;
20171 yy971:
20172 	YYDEBUG(971, *YYCURSOR);
20173 	yyaccept = 20;
20174 	yych = *(YYMARKER = ++YYCURSOR);
20175 	if (yych <= 'A') {
20176 		if (yych <= '-') {
20177 			if (yych <= '\t') {
20178 				if (yych <= 0x08) goto yy849;
20179 				goto yy1081;
20180 			} else {
20181 				if (yych == ' ') goto yy1081;
20182 				goto yy849;
20183 			}
20184 		} else {
20185 			if (yych <= '9') {
20186 				if (yych <= '.') goto yy970;
20187 				goto yy849;
20188 			} else {
20189 				if (yych <= ':') goto yy970;
20190 				if (yych <= '@') goto yy849;
20191 				goto yy1083;
20192 			}
20193 		}
20194 	} else {
20195 		if (yych <= 'o') {
20196 			if (yych <= 'P') {
20197 				if (yych <= 'O') goto yy849;
20198 				goto yy1083;
20199 			} else {
20200 				if (yych == 'a') goto yy1083;
20201 				goto yy849;
20202 			}
20203 		} else {
20204 			if (yych <= 0xC2) {
20205 				if (yych <= 'p') goto yy1083;
20206 				if (yych <= 0xC1) goto yy849;
20207 				goto yy1084;
20208 			} else {
20209 				if (yych == 0xE2) goto yy1085;
20210 				goto yy849;
20211 			}
20212 		}
20213 	}
20214 yy972:
20215 	YYDEBUG(972, *YYCURSOR);
20216 	++YYCURSOR;
20217 	goto yy325;
20218 yy973:
20219 	YYDEBUG(973, *YYCURSOR);
20220 	yyaccept = 7;
20221 	yych = *(YYMARKER = ++YYCURSOR);
20222 	if (yych <= ' ') {
20223 		if (yych == '\t') goto yy142;
20224 		if (yych <= 0x1F) goto yy295;
20225 		goto yy142;
20226 	} else {
20227 		if (yych <= '.') {
20228 			if (yych <= ',') goto yy295;
20229 			goto yy142;
20230 		} else {
20231 			if (yych <= '/') goto yy295;
20232 			if (yych <= '9') goto yy142;
20233 			goto yy295;
20234 		}
20235 	}
20236 yy974:
20237 	YYDEBUG(974, *YYCURSOR);
20238 	yyaccept = 7;
20239 	yych = *(YYMARKER = ++YYCURSOR);
20240 	if (yybm[0+yych] & 128) {
20241 		goto yy954;
20242 	}
20243 	if (yych <= '-') {
20244 		if (yych <= 0x1F) {
20245 			if (yych == '\t') goto yy142;
20246 			goto yy295;
20247 		} else {
20248 			if (yych <= ' ') goto yy142;
20249 			if (yych <= ',') goto yy295;
20250 			goto yy700;
20251 		}
20252 	} else {
20253 		if (yych <= '9') {
20254 			if (yych == '/') goto yy297;
20255 			goto yy142;
20256 		} else {
20257 			if (yych == '_') goto yy297;
20258 			goto yy295;
20259 		}
20260 	}
20261 yy975:
20262 	YYDEBUG(975, *YYCURSOR);
20263 	yych = *++YYCURSOR;
20264 	if (yych == 'Y') goto yy1086;
20265 	if (yych == 'y') goto yy1086;
20266 	goto yy59;
20267 yy976:
20268 	YYDEBUG(976, *YYCURSOR);
20269 	yych = *++YYCURSOR;
20270 	if (yych == 'R') goto yy1087;
20271 	if (yych == 'r') goto yy1087;
20272 	goto yy59;
20273 yy977:
20274 	YYDEBUG(977, *YYCURSOR);
20275 	yych = *++YYCURSOR;
20276 	if (yych == 'I') goto yy1088;
20277 	if (yych == 'i') goto yy1088;
20278 	goto yy59;
20279 yy978:
20280 	YYDEBUG(978, *YYCURSOR);
20281 	yych = *++YYCURSOR;
20282 	if (yych == 'U') goto yy1089;
20283 	if (yych == 'u') goto yy1089;
20284 	goto yy59;
20285 yy979:
20286 	YYDEBUG(979, *YYCURSOR);
20287 	yych = *++YYCURSOR;
20288 	if (yych <= 'N') {
20289 		if (yych <= 'K') {
20290 			if (yych == 'C') goto yy1090;
20291 			goto yy59;
20292 		} else {
20293 			if (yych <= 'L') goto yy1091;
20294 			if (yych <= 'M') goto yy59;
20295 			goto yy1092;
20296 		}
20297 	} else {
20298 		if (yych <= 'k') {
20299 			if (yych == 'c') goto yy1090;
20300 			goto yy59;
20301 		} else {
20302 			if (yych <= 'l') goto yy1091;
20303 			if (yych == 'n') goto yy1092;
20304 			goto yy59;
20305 		}
20306 	}
20307 yy980:
20308 	YYDEBUG(980, *YYCURSOR);
20309 	yych = *++YYCURSOR;
20310 	if (yych == 'N') goto yy1093;
20311 	if (yych == 'n') goto yy1093;
20312 	goto yy59;
20313 yy981:
20314 	YYDEBUG(981, *YYCURSOR);
20315 	yyaccept = 24;
20316 	yych = *(YYMARKER = ++YYCURSOR);
20317 	if (yych == 'E') goto yy1094;
20318 	if (yych == 'e') goto yy1094;
20319 yy982:
20320 	YYDEBUG(982, *YYCURSOR);
20321 #line 1862 "ext/date/lib/parse_date.re"
20322 	{
20323 		timelib_sll i;
20324 		int         behavior = 0;
20325 		DEBUG_OUTPUT("relativetext");
20326 		TIMELIB_INIT;
20327 		TIMELIB_HAVE_RELATIVE();
20328 
20329 		while(*ptr) {
20330 			i = timelib_get_relative_text(&ptr, &behavior);
20331 			timelib_eat_spaces(&ptr);
20332 			timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
20333 		}
20334 		TIMELIB_DEINIT;
20335 		return TIMELIB_RELATIVE;
20336 	}
20337 #line 20338 "<stdout>"
20338 yy983:
20339 	YYDEBUG(983, *YYCURSOR);
20340 	yych = *++YYCURSOR;
20341 	if (yych == 'T') goto yy1095;
20342 	if (yych == 't') goto yy1095;
20343 	goto yy59;
20344 yy984:
20345 	YYDEBUG(984, *YYCURSOR);
20346 	yych = *++YYCURSOR;
20347 	if (yych == 'C') goto yy1096;
20348 	if (yych == 'c') goto yy1096;
20349 	goto yy59;
20350 yy985:
20351 	YYDEBUG(985, *YYCURSOR);
20352 	yych = *++YYCURSOR;
20353 	if (yych == 'N') goto yy1088;
20354 	if (yych == 'n') goto yy1088;
20355 	goto yy59;
20356 yy986:
20357 	YYDEBUG(986, *YYCURSOR);
20358 	yych = *++YYCURSOR;
20359 	if (yych == 'U') goto yy1097;
20360 	if (yych == 'u') goto yy1097;
20361 	goto yy59;
20362 yy987:
20363 	YYDEBUG(987, *YYCURSOR);
20364 	yych = *++YYCURSOR;
20365 	if (yych == 'E') goto yy1098;
20366 	if (yych == 'e') goto yy1098;
20367 	goto yy59;
20368 yy988:
20369 	YYDEBUG(988, *YYCURSOR);
20370 	yych = *++YYCURSOR;
20371 	if (yych == 'E') goto yy1094;
20372 	if (yych == 'e') goto yy1094;
20373 	goto yy59;
20374 yy989:
20375 	YYDEBUG(989, *YYCURSOR);
20376 	yych = *++YYCURSOR;
20377 	if (yych <= 'E') {
20378 		if (yych <= 'C') goto yy59;
20379 		if (yych <= 'D') goto yy1099;
20380 		goto yy1100;
20381 	} else {
20382 		if (yych <= 'c') goto yy59;
20383 		if (yych <= 'd') goto yy1099;
20384 		if (yych <= 'e') goto yy1100;
20385 		goto yy59;
20386 	}
20387 yy990:
20388 	YYDEBUG(990, *YYCURSOR);
20389 	yych = *++YYCURSOR;
20390 	if (yych == 'A') goto yy1089;
20391 	if (yych == 'a') goto yy1089;
20392 	goto yy59;
20393 yy991:
20394 	YYDEBUG(991, *YYCURSOR);
20395 	yych = *++YYCURSOR;
20396 	if (yych == 'S') goto yy981;
20397 	if (yych == 's') goto yy981;
20398 	goto yy59;
20399 yy992:
20400 	YYDEBUG(992, *YYCURSOR);
20401 	yych = *++YYCURSOR;
20402 	if (yych == 'Y') goto yy1101;
20403 	if (yych == 'y') goto yy1101;
20404 	goto yy59;
20405 yy993:
20406 	YYDEBUG(993, *YYCURSOR);
20407 	++YYCURSOR;
20408 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
20409 	yych = *YYCURSOR;
20410 	if (yych == 0xA0) goto yy867;
20411 	if (yych == 0xB5) goto yy991;
20412 	goto yy59;
20413 yy994:
20414 	YYDEBUG(994, *YYCURSOR);
20415 	++YYCURSOR;
20416 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
20417 	yych = *YYCURSOR;
20418 	if (yych <= 'd') {
20419 		if (yych <= 'R') {
20420 			if (yych <= 'F') {
20421 				if (yych == 'D') goto yy856;
20422 				if (yych <= 'E') goto yy59;
20423 				goto yy857;
20424 			} else {
20425 				if (yych <= 'H') {
20426 					if (yych <= 'G') goto yy59;
20427 					goto yy858;
20428 				} else {
20429 					if (yych == 'M') goto yy859;
20430 					goto yy59;
20431 				}
20432 			}
20433 		} else {
20434 			if (yych <= 'V') {
20435 				if (yych <= 'S') goto yy860;
20436 				if (yych <= 'T') goto yy861;
20437 				if (yych <= 'U') goto yy862;
20438 				goto yy59;
20439 			} else {
20440 				if (yych <= 'X') {
20441 					if (yych <= 'W') goto yy863;
20442 					goto yy59;
20443 				} else {
20444 					if (yych <= 'Y') goto yy864;
20445 					if (yych <= 'c') goto yy59;
20446 					goto yy856;
20447 				}
20448 			}
20449 		}
20450 	} else {
20451 		if (yych <= 't') {
20452 			if (yych <= 'h') {
20453 				if (yych == 'f') goto yy857;
20454 				if (yych <= 'g') goto yy59;
20455 				goto yy858;
20456 			} else {
20457 				if (yych <= 'm') {
20458 					if (yych <= 'l') goto yy59;
20459 					goto yy859;
20460 				} else {
20461 					if (yych <= 'r') goto yy59;
20462 					if (yych <= 's') goto yy860;
20463 					goto yy861;
20464 				}
20465 			}
20466 		} else {
20467 			if (yych <= 'y') {
20468 				if (yych <= 'v') {
20469 					if (yych <= 'u') goto yy862;
20470 					goto yy59;
20471 				} else {
20472 					if (yych <= 'w') goto yy863;
20473 					if (yych <= 'x') goto yy59;
20474 					goto yy864;
20475 				}
20476 			} else {
20477 				if (yych <= 0xC2) {
20478 					if (yych <= 0xC1) goto yy59;
20479 					goto yy865;
20480 				} else {
20481 					if (yych == 0xE2) goto yy705;
20482 					goto yy59;
20483 				}
20484 			}
20485 		}
20486 	}
20487 yy995:
20488 	YYDEBUG(995, *YYCURSOR);
20489 	yych = *++YYCURSOR;
20490 	if (yych == 'T') goto yy1102;
20491 	if (yych == 't') goto yy1102;
20492 	goto yy59;
20493 yy996:
20494 	YYDEBUG(996, *YYCURSOR);
20495 	yych = *++YYCURSOR;
20496 	if (yych == 'T') goto yy1102;
20497 	if (yych == 't') goto yy1103;
20498 	goto yy955;
20499 yy997:
20500 	YYDEBUG(997, *YYCURSOR);
20501 	yych = *++YYCURSOR;
20502 	if (yych == 'S') goto yy1104;
20503 	if (yych == 's') goto yy1104;
20504 	goto yy59;
20505 yy998:
20506 	YYDEBUG(998, *YYCURSOR);
20507 	yych = *++YYCURSOR;
20508 	if (yych == 'S') goto yy1104;
20509 	if (yych == 's') goto yy1105;
20510 	goto yy955;
20511 yy999:
20512 	YYDEBUG(999, *YYCURSOR);
20513 	yych = *++YYCURSOR;
20514 	if (yych == 'Y') goto yy1007;
20515 	if (yych == 'y') goto yy1007;
20516 	goto yy59;
20517 yy1000:
20518 	YYDEBUG(1000, *YYCURSOR);
20519 	yych = *++YYCURSOR;
20520 	if (yych == 'E') goto yy957;
20521 	if (yych == 'e') goto yy957;
20522 	goto yy59;
20523 yy1001:
20524 	YYDEBUG(1001, *YYCURSOR);
20525 	yych = *++YYCURSOR;
20526 	if (yych <= ' ') {
20527 		if (yych == '\t') goto yy834;
20528 		if (yych <= 0x1F) goto yy59;
20529 		goto yy834;
20530 	} else {
20531 		if (yych <= 0xC2) {
20532 			if (yych <= 0xC1) goto yy59;
20533 			goto yy837;
20534 		} else {
20535 			if (yych == 0xE2) goto yy838;
20536 			goto yy59;
20537 		}
20538 	}
20539 yy1002:
20540 	YYDEBUG(1002, *YYCURSOR);
20541 	yych = *++YYCURSOR;
20542 	if (yych == 'Y') goto yy1007;
20543 	if (yych == 'y') goto yy1009;
20544 	goto yy955;
20545 yy1003:
20546 	YYDEBUG(1003, *YYCURSOR);
20547 	yych = *++YYCURSOR;
20548 	if (yych == 'E') goto yy957;
20549 	if (yych == 'e') goto yy958;
20550 	goto yy955;
20551 yy1004:
20552 	YYDEBUG(1004, *YYCURSOR);
20553 	yych = *++YYCURSOR;
20554 	if (yych <= ' ') {
20555 		if (yych == '\t') goto yy834;
20556 		if (yych <= 0x1F) goto yy955;
20557 		goto yy834;
20558 	} else {
20559 		if (yych <= 0xC2) {
20560 			if (yych <= 0xC1) goto yy955;
20561 			goto yy837;
20562 		} else {
20563 			if (yych == 0xE2) goto yy838;
20564 			goto yy955;
20565 		}
20566 	}
20567 yy1005:
20568 	YYDEBUG(1005, *YYCURSOR);
20569 	++YYCURSOR;
20570 	goto yy777;
20571 yy1006:
20572 	YYDEBUG(1006, *YYCURSOR);
20573 	yych = *++YYCURSOR;
20574 	if (yych == 'W') goto yy1106;
20575 	if (yych == 'w') goto yy1106;
20576 	goto yy59;
20577 yy1007:
20578 	YYDEBUG(1007, *YYCURSOR);
20579 	yych = *++YYCURSOR;
20580 	if (yych == 'S') goto yy965;
20581 	if (yych == 's') goto yy965;
20582 	goto yy315;
20583 yy1008:
20584 	YYDEBUG(1008, *YYCURSOR);
20585 	yych = *++YYCURSOR;
20586 	if (yych == 'W') goto yy1106;
20587 	if (yych == 'w') goto yy1108;
20588 	goto yy955;
20589 yy1009:
20590 	YYDEBUG(1009, *YYCURSOR);
20591 	yyaccept = 9;
20592 	yych = *(YYMARKER = ++YYCURSOR);
20593 	if (yych <= 'S') {
20594 		if (yych <= '.') {
20595 			if (yych == '-') goto yy297;
20596 			goto yy315;
20597 		} else {
20598 			if (yych <= '/') goto yy297;
20599 			if (yych <= 'R') goto yy315;
20600 			goto yy965;
20601 		}
20602 	} else {
20603 		if (yych <= '`') {
20604 			if (yych == '_') goto yy297;
20605 			goto yy315;
20606 		} else {
20607 			if (yych == 's') goto yy967;
20608 			if (yych <= 'z') goto yy954;
20609 			goto yy315;
20610 		}
20611 	}
20612 yy1010:
20613 	YYDEBUG(1010, *YYCURSOR);
20614 	yych = *++YYCURSOR;
20615 	if (yych == 'A') goto yy999;
20616 	if (yych == 'a') goto yy999;
20617 	goto yy59;
20618 yy1011:
20619 	YYDEBUG(1011, *YYCURSOR);
20620 	yych = *++YYCURSOR;
20621 	if (yych == 'A') goto yy999;
20622 	if (yych == 'a') goto yy1002;
20623 	goto yy955;
20624 yy1012:
20625 	YYDEBUG(1012, *YYCURSOR);
20626 	yych = *++YYCURSOR;
20627 	if (yych == 'A') goto yy1109;
20628 	if (yych == 'a') goto yy1109;
20629 	goto yy59;
20630 yy1013:
20631 	YYDEBUG(1013, *YYCURSOR);
20632 	yych = *++YYCURSOR;
20633 	if (yych == 'A') goto yy1109;
20634 	if (yych == 'a') goto yy1110;
20635 	goto yy955;
20636 yy1014:
20637 	YYDEBUG(1014, *YYCURSOR);
20638 	yych = *++YYCURSOR;
20639 	if (yych == '-') goto yy1111;
20640 	goto yy59;
20641 yy1015:
20642 	YYDEBUG(1015, *YYCURSOR);
20643 	yych = *++YYCURSOR;
20644 	if (yych <= '/') goto yy59;
20645 	if (yych <= '9') goto yy1112;
20646 	goto yy59;
20647 yy1016:
20648 	YYDEBUG(1016, *YYCURSOR);
20649 	yych = *++YYCURSOR;
20650 	if (yych <= '/') goto yy59;
20651 	if (yych <= '2') goto yy1112;
20652 	goto yy59;
20653 yy1017:
20654 	YYDEBUG(1017, *YYCURSOR);
20655 	yych = *++YYCURSOR;
20656 	if (yych <= '9') {
20657 		if (yych == '-') goto yy893;
20658 		if (yych <= '/') goto yy196;
20659 		goto yy1113;
20660 	} else {
20661 		if (yych <= 0xC2) {
20662 			if (yych <= 0xC1) goto yy196;
20663 			goto yy97;
20664 		} else {
20665 			if (yych == 0xE2) goto yy98;
20666 			goto yy196;
20667 		}
20668 	}
20669 yy1018:
20670 	YYDEBUG(1018, *YYCURSOR);
20671 	yych = *++YYCURSOR;
20672 	if (yych <= '/') goto yy59;
20673 	if (yych <= '9') goto yy115;
20674 	goto yy59;
20675 yy1019:
20676 	YYDEBUG(1019, *YYCURSOR);
20677 	yych = *++YYCURSOR;
20678 	if (yych == '0') goto yy115;
20679 	goto yy59;
20680 yy1020:
20681 	YYDEBUG(1020, *YYCURSOR);
20682 	++YYCURSOR;
20683 	YYDEBUG(1021, *YYCURSOR);
20684 #line 1568 "ext/date/lib/parse_date.re"
20685 	{
20686 		DEBUG_OUTPUT("pointed date YYYY");
20687 		TIMELIB_INIT;
20688 		TIMELIB_HAVE_DATE();
20689 		s->time->d = timelib_get_nr(&ptr, 2);
20690 		s->time->m = timelib_get_nr(&ptr, 2);
20691 		s->time->y = timelib_get_nr(&ptr, 4);
20692 		TIMELIB_DEINIT;
20693 		return TIMELIB_DATE_FULL_POINTED;
20694 	}
20695 #line 20696 "<stdout>"
20696 yy1022:
20697 	YYDEBUG(1022, *YYCURSOR);
20698 	++YYCURSOR;
20699 	goto yy224;
20700 yy1023:
20701 	YYDEBUG(1023, *YYCURSOR);
20702 	yych = *++YYCURSOR;
20703 	if (yych <= '/') goto yy59;
20704 	if (yych <= '9') goto yy1114;
20705 	goto yy59;
20706 yy1024:
20707 	YYDEBUG(1024, *YYCURSOR);
20708 	yyaccept = 25;
20709 	yych = *(YYMARKER = ++YYCURSOR);
20710 	if (yych <= 'n') {
20711 		if (yych <= '/') goto yy1025;
20712 		if (yych <= '9') goto yy897;
20713 		if (yych >= 'n') goto yy741;
20714 	} else {
20715 		if (yych <= 'r') {
20716 			if (yych >= 'r') goto yy741;
20717 		} else {
20718 			if (yych <= 's') goto yy742;
20719 			if (yych <= 't') goto yy743;
20720 		}
20721 	}
20722 yy1025:
20723 	YYDEBUG(1025, *YYCURSOR);
20724 #line 1499 "ext/date/lib/parse_date.re"
20725 	{
20726 		int length = 0;
20727 		DEBUG_OUTPUT("iso8601date2");
20728 		TIMELIB_INIT;
20729 		TIMELIB_HAVE_DATE();
20730 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
20731 		s->time->m = timelib_get_nr(&ptr, 2);
20732 		s->time->d = timelib_get_nr(&ptr, 2);
20733 		TIMELIB_PROCESS_YEAR(s->time->y, length);
20734 		TIMELIB_DEINIT;
20735 		return TIMELIB_ISO_DATE;
20736 	}
20737 #line 20738 "<stdout>"
20738 yy1026:
20739 	YYDEBUG(1026, *YYCURSOR);
20740 	yyaccept = 15;
20741 	yych = *(YYMARKER = ++YYCURSOR);
20742 	if (yych <= 'm') {
20743 		if (yych <= '9') {
20744 			if (yych <= '/') goto yy567;
20745 			goto yy1028;
20746 		} else {
20747 			if (yych == 'T') goto yy1115;
20748 			goto yy567;
20749 		}
20750 	} else {
20751 		if (yych <= 'r') {
20752 			if (yych <= 'n') goto yy1116;
20753 			if (yych <= 'q') goto yy567;
20754 			goto yy1116;
20755 		} else {
20756 			if (yych <= 's') goto yy1117;
20757 			if (yych <= 't') goto yy1118;
20758 			goto yy567;
20759 		}
20760 	}
20761 yy1027:
20762 	YYDEBUG(1027, *YYCURSOR);
20763 	yyaccept = 15;
20764 	yych = *(YYMARKER = ++YYCURSOR);
20765 	if (yych <= 'm') {
20766 		if (yych <= '1') {
20767 			if (yych <= '/') goto yy567;
20768 		} else {
20769 			if (yych == 'T') goto yy1115;
20770 			goto yy567;
20771 		}
20772 	} else {
20773 		if (yych <= 'r') {
20774 			if (yych <= 'n') goto yy1116;
20775 			if (yych <= 'q') goto yy567;
20776 			goto yy1116;
20777 		} else {
20778 			if (yych <= 's') goto yy1117;
20779 			if (yych <= 't') goto yy1118;
20780 			goto yy567;
20781 		}
20782 	}
20783 yy1028:
20784 	YYDEBUG(1028, *YYCURSOR);
20785 	yyaccept = 15;
20786 	yych = *(YYMARKER = ++YYCURSOR);
20787 	if (yych <= 'n') {
20788 		if (yych == 'T') goto yy1115;
20789 		if (yych <= 'm') goto yy567;
20790 		goto yy1116;
20791 	} else {
20792 		if (yych <= 'r') {
20793 			if (yych <= 'q') goto yy567;
20794 			goto yy1116;
20795 		} else {
20796 			if (yych <= 's') goto yy1117;
20797 			if (yych <= 't') goto yy1118;
20798 			goto yy567;
20799 		}
20800 	}
20801 yy1029:
20802 	YYDEBUG(1029, *YYCURSOR);
20803 	yych = *++YYCURSOR;
20804 	if (yych <= '/') goto yy59;
20805 	if (yych <= '2') goto yy1119;
20806 	if (yych <= '3') goto yy1120;
20807 	if (yych <= '9') goto yy1028;
20808 	goto yy59;
20809 yy1030:
20810 	YYDEBUG(1030, *YYCURSOR);
20811 	++YYCURSOR;
20812 	goto yy926;
20813 yy1031:
20814 	YYDEBUG(1031, *YYCURSOR);
20815 	yyaccept = 22;
20816 	yych = *(YYMARKER = ++YYCURSOR);
20817 	if (yych <= 'H') {
20818 		if (yych == '-') goto yy951;
20819 		goto yy600;
20820 	} else {
20821 		if (yych <= 'I') goto yy1051;
20822 		if (yych == 'i') goto yy1051;
20823 		goto yy600;
20824 	}
20825 yy1032:
20826 	YYDEBUG(1032, *YYCURSOR);
20827 	yyaccept = 22;
20828 	yych = *(YYMARKER = ++YYCURSOR);
20829 	if (yych <= 'T') {
20830 		if (yych == '-') goto yy951;
20831 		goto yy600;
20832 	} else {
20833 		if (yych <= 'U') goto yy1052;
20834 		if (yych == 'u') goto yy1052;
20835 		goto yy600;
20836 	}
20837 yy1033:
20838 	YYDEBUG(1033, *YYCURSOR);
20839 	yyaccept = 22;
20840 	yych = *(YYMARKER = ++YYCURSOR);
20841 	if (yych <= 'D') {
20842 		if (yych == '-') goto yy951;
20843 		goto yy600;
20844 	} else {
20845 		if (yych <= 'E') goto yy1053;
20846 		if (yych == 'e') goto yy1053;
20847 		goto yy600;
20848 	}
20849 yy1034:
20850 	YYDEBUG(1034, *YYCURSOR);
20851 	yyaccept = 22;
20852 	yych = *(YYMARKER = ++YYCURSOR);
20853 	if (yych <= 'Q') {
20854 		if (yych == '-') goto yy951;
20855 		goto yy600;
20856 	} else {
20857 		if (yych <= 'R') goto yy1054;
20858 		if (yych == 'r') goto yy1054;
20859 		goto yy600;
20860 	}
20861 yy1035:
20862 	YYDEBUG(1035, *YYCURSOR);
20863 	yyaccept = 22;
20864 	yych = *(YYMARKER = ++YYCURSOR);
20865 	if (yych <= 'T') {
20866 		if (yych == '-') goto yy951;
20867 		goto yy600;
20868 	} else {
20869 		if (yych <= 'U') goto yy1055;
20870 		if (yych == 'u') goto yy1055;
20871 		goto yy600;
20872 	}
20873 yy1036:
20874 	YYDEBUG(1036, *YYCURSOR);
20875 	yyaccept = 22;
20876 	yych = *(YYMARKER = ++YYCURSOR);
20877 	if (yych <= 'X') {
20878 		if (yych == '-') goto yy951;
20879 		goto yy600;
20880 	} else {
20881 		if (yych <= 'Y') goto yy790;
20882 		if (yych == 'y') goto yy790;
20883 		goto yy600;
20884 	}
20885 yy1037:
20886 	YYDEBUG(1037, *YYCURSOR);
20887 	yyaccept = 22;
20888 	yych = *(YYMARKER = ++YYCURSOR);
20889 	if (yych <= 'D') {
20890 		if (yych == '-') goto yy951;
20891 		goto yy600;
20892 	} else {
20893 		if (yych <= 'E') goto yy790;
20894 		if (yych == 'e') goto yy790;
20895 		goto yy600;
20896 	}
20897 yy1038:
20898 	YYDEBUG(1038, *YYCURSOR);
20899 	yyaccept = 22;
20900 	yych = *(YYMARKER = ++YYCURSOR);
20901 	if (yych <= 'B') {
20902 		if (yych == '-') goto yy951;
20903 		goto yy600;
20904 	} else {
20905 		if (yych <= 'C') goto yy1056;
20906 		if (yych == 'c') goto yy1056;
20907 		goto yy600;
20908 	}
20909 yy1039:
20910 	YYDEBUG(1039, *YYCURSOR);
20911 	yyaccept = 22;
20912 	yych = *(YYMARKER = ++YYCURSOR);
20913 	if (yych == '-') goto yy951;
20914 	goto yy600;
20915 yy1040:
20916 	YYDEBUG(1040, *YYCURSOR);
20917 	yyaccept = 22;
20918 	yych = *(YYMARKER = ++YYCURSOR);
20919 	if (yych <= 'N') {
20920 		if (yych == '-') goto yy951;
20921 		goto yy600;
20922 	} else {
20923 		if (yych <= 'O') goto yy1057;
20924 		if (yych == 'o') goto yy1057;
20925 		goto yy600;
20926 	}
20927 yy1041:
20928 	YYDEBUG(1041, *YYCURSOR);
20929 	yyaccept = 22;
20930 	yych = *(YYMARKER = ++YYCURSOR);
20931 	if (yych <= 'S') {
20932 		if (yych == '-') goto yy951;
20933 		goto yy600;
20934 	} else {
20935 		if (yych <= 'T') goto yy1033;
20936 		if (yych == 't') goto yy1033;
20937 		goto yy600;
20938 	}
20939 yy1042:
20940 	YYDEBUG(1042, *YYCURSOR);
20941 	yyaccept = 26;
20942 	yych = *(YYMARKER = ++YYCURSOR);
20943 	if (yych <= 'n') {
20944 		if (yych <= '/') goto yy1043;
20945 		if (yych <= '9') goto yy1045;
20946 		if (yych >= 'n') goto yy1121;
20947 	} else {
20948 		if (yych <= 'r') {
20949 			if (yych >= 'r') goto yy1121;
20950 		} else {
20951 			if (yych <= 's') goto yy1122;
20952 			if (yych <= 't') goto yy1123;
20953 		}
20954 	}
20955 yy1043:
20956 	YYDEBUG(1043, *YYCURSOR);
20957 #line 1487 "ext/date/lib/parse_date.re"
20958 	{
20959 		DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
20960 		TIMELIB_INIT;
20961 		TIMELIB_HAVE_DATE();
20962 		s->time->y = timelib_get_signed_nr(s, &ptr, 4);
20963 		s->time->m = timelib_get_nr(&ptr, 2);
20964 		s->time->d = timelib_get_nr(&ptr, 2);
20965 		TIMELIB_DEINIT;
20966 		return TIMELIB_ISO_DATE;
20967 	}
20968 #line 20969 "<stdout>"
20969 yy1044:
20970 	YYDEBUG(1044, *YYCURSOR);
20971 	yyaccept = 26;
20972 	yych = *(YYMARKER = ++YYCURSOR);
20973 	if (yych <= 'n') {
20974 		if (yych <= '/') goto yy1043;
20975 		if (yych <= '1') goto yy1045;
20976 		if (yych <= 'm') goto yy1043;
20977 		goto yy1121;
20978 	} else {
20979 		if (yych <= 'r') {
20980 			if (yych <= 'q') goto yy1043;
20981 			goto yy1121;
20982 		} else {
20983 			if (yych <= 's') goto yy1122;
20984 			if (yych <= 't') goto yy1123;
20985 			goto yy1043;
20986 		}
20987 	}
20988 yy1045:
20989 	YYDEBUG(1045, *YYCURSOR);
20990 	yyaccept = 26;
20991 	yych = *(YYMARKER = ++YYCURSOR);
20992 	if (yych <= 'q') {
20993 		if (yych == 'n') goto yy1121;
20994 		goto yy1043;
20995 	} else {
20996 		if (yych <= 'r') goto yy1121;
20997 		if (yych <= 's') goto yy1122;
20998 		if (yych <= 't') goto yy1123;
20999 		goto yy1043;
21000 	}
21001 yy1046:
21002 	YYDEBUG(1046, *YYCURSOR);
21003 	yych = *++YYCURSOR;
21004 	if (yych <= '/') goto yy59;
21005 	if (yych <= '2') goto yy1124;
21006 	if (yych <= '3') goto yy1125;
21007 	if (yych <= '9') goto yy1045;
21008 	goto yy59;
21009 yy1047:
21010 	YYDEBUG(1047, *YYCURSOR);
21011 	yyaccept = 27;
21012 	yych = *(YYMARKER = ++YYCURSOR);
21013 	if (yych <= 'X') {
21014 		if (yych <= 'F') {
21015 			if (yych <= '/') {
21016 				if (yych <= '\t') {
21017 					if (yych >= '\t') goto yy195;
21018 				} else {
21019 					if (yych == ' ') goto yy195;
21020 				}
21021 			} else {
21022 				if (yych <= 'C') {
21023 					if (yych <= '9') goto yy1126;
21024 				} else {
21025 					if (yych <= 'D') goto yy198;
21026 					if (yych >= 'F') goto yy199;
21027 				}
21028 			}
21029 		} else {
21030 			if (yych <= 'R') {
21031 				if (yych <= 'H') {
21032 					if (yych >= 'H') goto yy79;
21033 				} else {
21034 					if (yych == 'M') goto yy200;
21035 				}
21036 			} else {
21037 				if (yych <= 'U') {
21038 					if (yych <= 'S') goto yy201;
21039 					if (yych <= 'T') goto yy1127;
21040 					goto yy88;
21041 				} else {
21042 					if (yych == 'W') goto yy90;
21043 				}
21044 			}
21045 		}
21046 	} else {
21047 		if (yych <= 's') {
21048 			if (yych <= 'f') {
21049 				if (yych <= 'c') {
21050 					if (yych <= 'Y') goto yy92;
21051 				} else {
21052 					if (yych <= 'd') goto yy198;
21053 					if (yych >= 'f') goto yy199;
21054 				}
21055 			} else {
21056 				if (yych <= 'l') {
21057 					if (yych == 'h') goto yy79;
21058 				} else {
21059 					if (yych <= 'm') goto yy200;
21060 					if (yych >= 's') goto yy201;
21061 				}
21062 			}
21063 		} else {
21064 			if (yych <= 'x') {
21065 				if (yych <= 'u') {
21066 					if (yych <= 't') goto yy1128;
21067 					goto yy88;
21068 				} else {
21069 					if (yych == 'w') goto yy90;
21070 				}
21071 			} else {
21072 				if (yych <= 0xC2) {
21073 					if (yych <= 'y') goto yy92;
21074 					if (yych >= 0xC2) goto yy97;
21075 				} else {
21076 					if (yych == 0xE2) goto yy98;
21077 				}
21078 			}
21079 		}
21080 	}
21081 yy1048:
21082 	YYDEBUG(1048, *YYCURSOR);
21083 #line 1648 "ext/date/lib/parse_date.re"
21084 	{
21085 		DEBUG_OUTPUT("datenocolon");
21086 		TIMELIB_INIT;
21087 		TIMELIB_HAVE_DATE();
21088 		s->time->y = timelib_get_nr(&ptr, 4);
21089 		s->time->m = timelib_get_nr(&ptr, 2);
21090 		s->time->d = timelib_get_nr(&ptr, 2);
21091 		TIMELIB_DEINIT;
21092 		return TIMELIB_DATE_NOCOLON;
21093 	}
21094 #line 21095 "<stdout>"
21095 yy1049:
21096 	YYDEBUG(1049, *YYCURSOR);
21097 	yych = *++YYCURSOR;
21098 	if (yych <= 0xC1) {
21099 		if (yych <= '/') goto yy196;
21100 		if (yych <= '9') goto yy1126;
21101 		goto yy196;
21102 	} else {
21103 		if (yych <= 0xC2) goto yy97;
21104 		if (yych == 0xE2) goto yy98;
21105 		goto yy196;
21106 	}
21107 yy1050:
21108 	YYDEBUG(1050, *YYCURSOR);
21109 	yych = *++YYCURSOR;
21110 	if (yych <= '/') goto yy59;
21111 	if (yych <= '2') goto yy1129;
21112 	if (yych <= '3') goto yy1130;
21113 	goto yy59;
21114 yy1051:
21115 	YYDEBUG(1051, *YYCURSOR);
21116 	yych = *++YYCURSOR;
21117 	if (yych == 'L') goto yy790;
21118 	if (yych == 'l') goto yy790;
21119 	goto yy59;
21120 yy1052:
21121 	YYDEBUG(1052, *YYCURSOR);
21122 	yych = *++YYCURSOR;
21123 	if (yych == 'S') goto yy1131;
21124 	if (yych == 's') goto yy1131;
21125 	goto yy59;
21126 yy1053:
21127 	YYDEBUG(1053, *YYCURSOR);
21128 	yych = *++YYCURSOR;
21129 	if (yych == 'M') goto yy1057;
21130 	if (yych == 'm') goto yy1057;
21131 	goto yy59;
21132 yy1054:
21133 	YYDEBUG(1054, *YYCURSOR);
21134 	yych = *++YYCURSOR;
21135 	if (yych == 'U') goto yy1055;
21136 	if (yych != 'u') goto yy59;
21137 yy1055:
21138 	YYDEBUG(1055, *YYCURSOR);
21139 	yych = *++YYCURSOR;
21140 	if (yych == 'A') goto yy1132;
21141 	if (yych == 'a') goto yy1132;
21142 	goto yy59;
21143 yy1056:
21144 	YYDEBUG(1056, *YYCURSOR);
21145 	yych = *++YYCURSOR;
21146 	if (yych == 'H') goto yy790;
21147 	if (yych == 'h') goto yy790;
21148 	goto yy59;
21149 yy1057:
21150 	YYDEBUG(1057, *YYCURSOR);
21151 	yych = *++YYCURSOR;
21152 	if (yych == 'B') goto yy1133;
21153 	if (yych == 'b') goto yy1133;
21154 	goto yy59;
21155 yy1058:
21156 	YYDEBUG(1058, *YYCURSOR);
21157 	yych = *++YYCURSOR;
21158 	if (yych <= '/') goto yy59;
21159 	if (yych >= '8') goto yy59;
21160 yy1059:
21161 	YYDEBUG(1059, *YYCURSOR);
21162 	++YYCURSOR;
21163 	YYDEBUG(1060, *YYCURSOR);
21164 #line 1700 "ext/date/lib/parse_date.re"
21165 	{
21166 		timelib_sll w, d;
21167 		DEBUG_OUTPUT("isoweekday");
21168 		TIMELIB_INIT;
21169 		TIMELIB_HAVE_DATE();
21170 		TIMELIB_HAVE_RELATIVE();
21171 
21172 		s->time->y = timelib_get_nr(&ptr, 4);
21173 		w = timelib_get_nr(&ptr, 2);
21174 		d = timelib_get_nr(&ptr, 1);
21175 		s->time->m = 1;
21176 		s->time->d = 1;
21177 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
21178 
21179 		TIMELIB_DEINIT;
21180 		return TIMELIB_ISO_WEEK;
21181 	}
21182 #line 21183 "<stdout>"
21183 yy1061:
21184 	YYDEBUG(1061, *YYCURSOR);
21185 	yych = *++YYCURSOR;
21186 	if (yych == 'H') goto yy1134;
21187 	if (yych == 'h') goto yy1134;
21188 	goto yy59;
21189 yy1062:
21190 	YYDEBUG(1062, *YYCURSOR);
21191 	yych = *++YYCURSOR;
21192 	if (yych == 'C') goto yy1135;
21193 	if (yych == 'c') goto yy1135;
21194 	goto yy59;
21195 yy1063:
21196 	YYDEBUG(1063, *YYCURSOR);
21197 	yych = *++YYCURSOR;
21198 	if (yych <= '/') goto yy59;
21199 	if (yych <= '9') goto yy1136;
21200 	goto yy59;
21201 yy1064:
21202 	YYDEBUG(1064, *YYCURSOR);
21203 	yych = *++YYCURSOR;
21204 	if (yych <= '/') goto yy59;
21205 	if (yych <= '9') goto yy1138;
21206 	goto yy59;
21207 yy1065:
21208 	YYDEBUG(1065, *YYCURSOR);
21209 	yyaccept = 25;
21210 	yych = *(YYMARKER = ++YYCURSOR);
21211 	if (yych <= 'q') {
21212 		if (yych == 'n') goto yy741;
21213 		goto yy1025;
21214 	} else {
21215 		if (yych <= 'r') goto yy741;
21216 		if (yych <= 's') goto yy742;
21217 		if (yych <= 't') goto yy743;
21218 		goto yy1025;
21219 	}
21220 yy1066:
21221 	YYDEBUG(1066, *YYCURSOR);
21222 	yych = *++YYCURSOR;
21223 	if (yych <= '/') goto yy59;
21224 	if (yych <= '9') goto yy1140;
21225 	goto yy59;
21226 yy1067:
21227 	YYDEBUG(1067, *YYCURSOR);
21228 	yych = *++YYCURSOR;
21229 	if (yych <= '/') goto yy59;
21230 	if (yych <= '1') goto yy1140;
21231 	goto yy59;
21232 yy1068:
21233 	YYDEBUG(1068, *YYCURSOR);
21234 	yych = *++YYCURSOR;
21235 	if (yych <= '/') goto yy290;
21236 	if (yych <= '9') goto yy1142;
21237 	goto yy290;
21238 yy1069:
21239 	YYDEBUG(1069, *YYCURSOR);
21240 	yych = *++YYCURSOR;
21241 	if (yych <= '/') goto yy1070;
21242 	if (yych <= '9') goto yy1143;
21243 yy1070:
21244 	YYDEBUG(1070, *YYCURSOR);
21245 #line 1738 "ext/date/lib/parse_date.re"
21246 	{
21247 		int length = 0;
21248 		DEBUG_OUTPUT("pgtextshort");
21249 		TIMELIB_INIT;
21250 		TIMELIB_HAVE_DATE();
21251 		s->time->m = timelib_get_month(&ptr);
21252 		s->time->d = timelib_get_nr(&ptr, 2);
21253 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
21254 		TIMELIB_PROCESS_YEAR(s->time->y, length);
21255 		TIMELIB_DEINIT;
21256 		return TIMELIB_PG_TEXT;
21257 	}
21258 #line 21259 "<stdout>"
21259 yy1071:
21260 	YYDEBUG(1071, *YYCURSOR);
21261 	yych = *++YYCURSOR;
21262 	if (yych <= '/') goto yy59;
21263 	if (yych <= '1') goto yy1144;
21264 	if (yych <= '2') goto yy1146;
21265 	if (yych <= '9') goto yy1147;
21266 	goto yy59;
21267 yy1072:
21268 	YYDEBUG(1072, *YYCURSOR);
21269 	yych = *++YYCURSOR;
21270 	if (yych <= 'E') {
21271 		if (yych <= 'C') goto yy59;
21272 		if (yych <= 'D') goto yy1099;
21273 		goto yy1148;
21274 	} else {
21275 		if (yych <= 'c') goto yy59;
21276 		if (yych <= 'd') goto yy1099;
21277 		if (yych <= 'e') goto yy1148;
21278 		goto yy59;
21279 	}
21280 yy1073:
21281 	YYDEBUG(1073, *YYCURSOR);
21282 	++YYCURSOR;
21283 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21284 	yych = *YYCURSOR;
21285 	if (yych == 0xA0) goto yy960;
21286 	if (yych == 0xB5) goto yy991;
21287 	goto yy59;
21288 yy1074:
21289 	YYDEBUG(1074, *YYCURSOR);
21290 	++YYCURSOR;
21291 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
21292 	yych = *YYCURSOR;
21293 	if (yych <= 'd') {
21294 		if (yych <= 'R') {
21295 			if (yych <= 'F') {
21296 				if (yych == 'D') goto yy856;
21297 				if (yych <= 'E') goto yy59;
21298 				goto yy857;
21299 			} else {
21300 				if (yych <= 'H') {
21301 					if (yych <= 'G') goto yy59;
21302 					goto yy858;
21303 				} else {
21304 					if (yych == 'M') goto yy859;
21305 					goto yy59;
21306 				}
21307 			}
21308 		} else {
21309 			if (yych <= 'V') {
21310 				if (yych <= 'S') goto yy860;
21311 				if (yych <= 'T') goto yy861;
21312 				if (yych <= 'U') goto yy862;
21313 				goto yy59;
21314 			} else {
21315 				if (yych <= 'X') {
21316 					if (yych <= 'W') goto yy959;
21317 					goto yy59;
21318 				} else {
21319 					if (yych <= 'Y') goto yy864;
21320 					if (yych <= 'c') goto yy59;
21321 					goto yy856;
21322 				}
21323 			}
21324 		}
21325 	} else {
21326 		if (yych <= 't') {
21327 			if (yych <= 'h') {
21328 				if (yych == 'f') goto yy857;
21329 				if (yych <= 'g') goto yy59;
21330 				goto yy858;
21331 			} else {
21332 				if (yych <= 'm') {
21333 					if (yych <= 'l') goto yy59;
21334 					goto yy859;
21335 				} else {
21336 					if (yych <= 'r') goto yy59;
21337 					if (yych <= 's') goto yy860;
21338 					goto yy861;
21339 				}
21340 			}
21341 		} else {
21342 			if (yych <= 'y') {
21343 				if (yych <= 'v') {
21344 					if (yych <= 'u') goto yy862;
21345 					goto yy59;
21346 				} else {
21347 					if (yych <= 'w') goto yy959;
21348 					if (yych <= 'x') goto yy59;
21349 					goto yy864;
21350 				}
21351 			} else {
21352 				if (yych <= 0xC2) {
21353 					if (yych <= 0xC1) goto yy59;
21354 					goto yy865;
21355 				} else {
21356 					if (yych == 0xE2) goto yy838;
21357 					goto yy59;
21358 				}
21359 			}
21360 		}
21361 	}
21362 yy1075:
21363 	YYDEBUG(1075, *YYCURSOR);
21364 	yyaccept = 2;
21365 	yych = *(YYMARKER = ++YYCURSOR);
21366 	if (yych <= '/') goto yy20;
21367 	if (yych <= '5') goto yy1018;
21368 	if (yych <= '6') goto yy1019;
21369 	goto yy20;
21370 yy1076:
21371 	YYDEBUG(1076, *YYCURSOR);
21372 	yych = *++YYCURSOR;
21373 	if (yych <= '/') goto yy849;
21374 	if (yych <= '9') goto yy1149;
21375 	goto yy849;
21376 yy1077:
21377 	YYDEBUG(1077, *YYCURSOR);
21378 	yych = *++YYCURSOR;
21379 	if (yych == '0') goto yy1149;
21380 	goto yy849;
21381 yy1078:
21382 	YYDEBUG(1078, *YYCURSOR);
21383 	++YYCURSOR;
21384 	goto yy849;
21385 yy1079:
21386 	YYDEBUG(1079, *YYCURSOR);
21387 	yych = *++YYCURSOR;
21388 	if (yych <= '/') goto yy849;
21389 	if (yych <= '9') goto yy1150;
21390 	goto yy849;
21391 yy1080:
21392 	YYDEBUG(1080, *YYCURSOR);
21393 	yych = *++YYCURSOR;
21394 	if (yych == '0') goto yy1150;
21395 	goto yy849;
21396 yy1081:
21397 	YYDEBUG(1081, *YYCURSOR);
21398 	++YYCURSOR;
21399 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21400 	yych = *YYCURSOR;
21401 	YYDEBUG(1082, *YYCURSOR);
21402 	if (yych <= 'A') {
21403 		if (yych <= 0x1F) {
21404 			if (yych == '\t') goto yy1081;
21405 			goto yy59;
21406 		} else {
21407 			if (yych <= ' ') goto yy1081;
21408 			if (yych <= '@') goto yy59;
21409 		}
21410 	} else {
21411 		if (yych <= '`') {
21412 			if (yych != 'P') goto yy59;
21413 		} else {
21414 			if (yych <= 'a') goto yy1083;
21415 			if (yych != 'p') goto yy59;
21416 		}
21417 	}
21418 yy1083:
21419 	YYDEBUG(1083, *YYCURSOR);
21420 	yych = *++YYCURSOR;
21421 	if (yych <= 'L') {
21422 		if (yych == '.') goto yy1151;
21423 		goto yy59;
21424 	} else {
21425 		if (yych <= 'M') goto yy1152;
21426 		if (yych == 'm') goto yy1152;
21427 		goto yy59;
21428 	}
21429 yy1084:
21430 	YYDEBUG(1084, *YYCURSOR);
21431 	++YYCURSOR;
21432 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
21433 	yych = *YYCURSOR;
21434 	if (yych == 0xA0) goto yy1153;
21435 	goto yy59;
21436 yy1085:
21437 	YYDEBUG(1085, *YYCURSOR);
21438 	++YYCURSOR;
21439 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
21440 	yych = *YYCURSOR;
21441 	if (yych == 0x80) goto yy1154;
21442 	goto yy59;
21443 yy1086:
21444 	YYDEBUG(1086, *YYCURSOR);
21445 	yych = *++YYCURSOR;
21446 	if (yych == 'S') goto yy1155;
21447 	if (yych == 's') goto yy1155;
21448 	goto yy982;
21449 yy1087:
21450 	YYDEBUG(1087, *YYCURSOR);
21451 	yych = *++YYCURSOR;
21452 	if (yych == 'T') goto yy1156;
21453 	if (yych == 't') goto yy1156;
21454 	goto yy59;
21455 yy1088:
21456 	YYDEBUG(1088, *YYCURSOR);
21457 	yyaccept = 24;
21458 	yych = *(YYMARKER = ++YYCURSOR);
21459 	if (yych <= 'D') {
21460 		if (yych <= 0x1F) {
21461 			if (yych == '\t') goto yy1157;
21462 			goto yy982;
21463 		} else {
21464 			if (yych <= ' ') goto yy1157;
21465 			if (yych <= 'C') goto yy982;
21466 			goto yy1159;
21467 		}
21468 	} else {
21469 		if (yych <= 0xC1) {
21470 			if (yych == 'd') goto yy1159;
21471 			goto yy982;
21472 		} else {
21473 			if (yych <= 0xC2) goto yy1160;
21474 			if (yych == 0xE2) goto yy1161;
21475 			goto yy982;
21476 		}
21477 	}
21478 yy1089:
21479 	YYDEBUG(1089, *YYCURSOR);
21480 	yych = *++YYCURSOR;
21481 	if (yych == 'R') goto yy1086;
21482 	if (yych == 'r') goto yy1086;
21483 	goto yy59;
21484 yy1090:
21485 	YYDEBUG(1090, *YYCURSOR);
21486 	yych = *++YYCURSOR;
21487 	if (yych == 'R') goto yy1162;
21488 	if (yych == 'r') goto yy1162;
21489 	goto yy59;
21490 yy1091:
21491 	YYDEBUG(1091, *YYCURSOR);
21492 	yych = *++YYCURSOR;
21493 	if (yych == 'L') goto yy1163;
21494 	if (yych == 'l') goto yy1163;
21495 	goto yy59;
21496 yy1092:
21497 	YYDEBUG(1092, *YYCURSOR);
21498 	yyaccept = 24;
21499 	yych = *(YYMARKER = ++YYCURSOR);
21500 	if (yych <= 'U') {
21501 		if (yych == 'S') goto yy1155;
21502 		if (yych <= 'T') goto yy982;
21503 		goto yy1164;
21504 	} else {
21505 		if (yych <= 's') {
21506 			if (yych <= 'r') goto yy982;
21507 			goto yy1155;
21508 		} else {
21509 			if (yych == 'u') goto yy1164;
21510 			goto yy982;
21511 		}
21512 	}
21513 yy1093:
21514 	YYDEBUG(1093, *YYCURSOR);
21515 	yyaccept = 24;
21516 	yych = *(YYMARKER = ++YYCURSOR);
21517 	if (yych <= 'T') {
21518 		if (yych <= ' ') {
21519 			if (yych == '\t') goto yy1157;
21520 			if (yych <= 0x1F) goto yy982;
21521 			goto yy1157;
21522 		} else {
21523 			if (yych == 'D') goto yy1159;
21524 			if (yych <= 'S') goto yy982;
21525 			goto yy1165;
21526 		}
21527 	} else {
21528 		if (yych <= 't') {
21529 			if (yych == 'd') goto yy1159;
21530 			if (yych <= 's') goto yy982;
21531 			goto yy1165;
21532 		} else {
21533 			if (yych <= 0xC2) {
21534 				if (yych <= 0xC1) goto yy982;
21535 				goto yy1160;
21536 			} else {
21537 				if (yych == 0xE2) goto yy1161;
21538 				goto yy982;
21539 			}
21540 		}
21541 	}
21542 yy1094:
21543 	YYDEBUG(1094, *YYCURSOR);
21544 	yych = *++YYCURSOR;
21545 	if (yych == 'C') goto yy1086;
21546 	if (yych == 'c') goto yy1086;
21547 	goto yy59;
21548 yy1095:
21549 	YYDEBUG(1095, *YYCURSOR);
21550 	yyaccept = 24;
21551 	yych = *(YYMARKER = ++YYCURSOR);
21552 	if (yych <= 'U') {
21553 		if (yych <= 0x1F) {
21554 			if (yych == '\t') goto yy1157;
21555 			goto yy982;
21556 		} else {
21557 			if (yych <= ' ') goto yy1157;
21558 			if (yych <= 'T') goto yy982;
21559 			goto yy1166;
21560 		}
21561 	} else {
21562 		if (yych <= 0xC1) {
21563 			if (yych == 'u') goto yy1166;
21564 			goto yy982;
21565 		} else {
21566 			if (yych <= 0xC2) goto yy1160;
21567 			if (yych == 0xE2) goto yy1161;
21568 			goto yy982;
21569 		}
21570 	}
21571 yy1096:
21572 	YYDEBUG(1096, *YYCURSOR);
21573 	yyaccept = 24;
21574 	yych = *(YYMARKER = ++YYCURSOR);
21575 	if (yych <= 'S') {
21576 		if (yych == 'O') goto yy1167;
21577 		if (yych <= 'R') goto yy982;
21578 		goto yy1155;
21579 	} else {
21580 		if (yych <= 'o') {
21581 			if (yych <= 'n') goto yy982;
21582 			goto yy1167;
21583 		} else {
21584 			if (yych == 's') goto yy1155;
21585 			goto yy982;
21586 		}
21587 	}
21588 yy1097:
21589 	YYDEBUG(1097, *YYCURSOR);
21590 	yyaccept = 24;
21591 	yych = *(YYMARKER = ++YYCURSOR);
21592 	if (yych <= 'R') {
21593 		if (yych <= 0x1F) {
21594 			if (yych == '\t') goto yy1157;
21595 			goto yy982;
21596 		} else {
21597 			if (yych <= ' ') goto yy1157;
21598 			if (yych <= 'Q') goto yy982;
21599 			goto yy1168;
21600 		}
21601 	} else {
21602 		if (yych <= 0xC1) {
21603 			if (yych == 'r') goto yy1168;
21604 			goto yy982;
21605 		} else {
21606 			if (yych <= 0xC2) goto yy1160;
21607 			if (yych == 0xE2) goto yy1161;
21608 			goto yy982;
21609 		}
21610 	}
21611 yy1098:
21612 	YYDEBUG(1098, *YYCURSOR);
21613 	yyaccept = 24;
21614 	yych = *(YYMARKER = ++YYCURSOR);
21615 	if (yych <= 'S') {
21616 		if (yych <= 0x1F) {
21617 			if (yych == '\t') goto yy1157;
21618 			goto yy982;
21619 		} else {
21620 			if (yych <= ' ') goto yy1157;
21621 			if (yych <= 'R') goto yy982;
21622 			goto yy1169;
21623 		}
21624 	} else {
21625 		if (yych <= 0xC1) {
21626 			if (yych == 's') goto yy1169;
21627 			goto yy982;
21628 		} else {
21629 			if (yych <= 0xC2) goto yy1160;
21630 			if (yych == 0xE2) goto yy1161;
21631 			goto yy982;
21632 		}
21633 	}
21634 yy1099:
21635 	YYDEBUG(1099, *YYCURSOR);
21636 	yyaccept = 24;
21637 	yych = *(YYMARKER = ++YYCURSOR);
21638 	if (yych <= 'N') {
21639 		if (yych <= 0x1F) {
21640 			if (yych == '\t') goto yy1157;
21641 			goto yy982;
21642 		} else {
21643 			if (yych <= ' ') goto yy1157;
21644 			if (yych <= 'M') goto yy982;
21645 			goto yy1170;
21646 		}
21647 	} else {
21648 		if (yych <= 0xC1) {
21649 			if (yych == 'n') goto yy1170;
21650 			goto yy982;
21651 		} else {
21652 			if (yych <= 0xC2) goto yy1160;
21653 			if (yych == 0xE2) goto yy1161;
21654 			goto yy982;
21655 		}
21656 	}
21657 yy1100:
21658 	YYDEBUG(1100, *YYCURSOR);
21659 	yych = *++YYCURSOR;
21660 	if (yych == 'K') goto yy1171;
21661 	if (yych == 'k') goto yy1171;
21662 	goto yy59;
21663 yy1101:
21664 	YYDEBUG(1101, *YYCURSOR);
21665 	yyaccept = 24;
21666 	yych = *(YYMARKER = ++YYCURSOR);
21667 	if (yych <= 'R') {
21668 		if (yych == ' ') goto yy1173;
21669 		goto yy982;
21670 	} else {
21671 		if (yych <= 'S') goto yy1155;
21672 		if (yych == 's') goto yy1155;
21673 		goto yy982;
21674 	}
21675 yy1102:
21676 	YYDEBUG(1102, *YYCURSOR);
21677 	++YYCURSOR;
21678 	goto yy722;
21679 yy1103:
21680 	YYDEBUG(1103, *YYCURSOR);
21681 	yyaccept = 16;
21682 	yych = *(YYMARKER = ++YYCURSOR);
21683 	if (yybm[0+yych] & 128) {
21684 		goto yy954;
21685 	}
21686 	if (yych <= '.') {
21687 		if (yych == '-') goto yy297;
21688 		goto yy722;
21689 	} else {
21690 		if (yych <= '/') goto yy297;
21691 		if (yych == '_') goto yy297;
21692 		goto yy722;
21693 	}
21694 yy1104:
21695 	YYDEBUG(1104, *YYCURSOR);
21696 	yych = *++YYCURSOR;
21697 	if (yych <= ' ') {
21698 		if (yych == '\t') goto yy701;
21699 		if (yych <= 0x1F) goto yy59;
21700 		goto yy701;
21701 	} else {
21702 		if (yych <= 0xC2) {
21703 			if (yych <= 0xC1) goto yy59;
21704 			goto yy704;
21705 		} else {
21706 			if (yych == 0xE2) goto yy705;
21707 			goto yy59;
21708 		}
21709 	}
21710 yy1105:
21711 	YYDEBUG(1105, *YYCURSOR);
21712 	yych = *++YYCURSOR;
21713 	if (yych <= ' ') {
21714 		if (yych == '\t') goto yy701;
21715 		if (yych <= 0x1F) goto yy955;
21716 		goto yy701;
21717 	} else {
21718 		if (yych <= 0xC2) {
21719 			if (yych <= 0xC1) goto yy955;
21720 			goto yy704;
21721 		} else {
21722 			if (yych == 0xE2) goto yy705;
21723 			goto yy955;
21724 		}
21725 	}
21726 yy1106:
21727 	YYDEBUG(1106, *YYCURSOR);
21728 	++YYCURSOR;
21729 yy1107:
21730 	YYDEBUG(1107, *YYCURSOR);
21731 #line 1199 "ext/date/lib/parse_date.re"
21732 	{
21733 		DEBUG_OUTPUT("tomorrow");
21734 		TIMELIB_INIT;
21735 		TIMELIB_HAVE_RELATIVE();
21736 		TIMELIB_UNHAVE_TIME();
21737 
21738 		s->time->relative.d = 1;
21739 		TIMELIB_DEINIT;
21740 		return TIMELIB_RELATIVE;
21741 	}
21742 #line 21743 "<stdout>"
21743 yy1108:
21744 	YYDEBUG(1108, *YYCURSOR);
21745 	yyaccept = 28;
21746 	yych = *(YYMARKER = ++YYCURSOR);
21747 	if (yybm[0+yych] & 128) {
21748 		goto yy954;
21749 	}
21750 	if (yych <= '.') {
21751 		if (yych == '-') goto yy297;
21752 		goto yy1107;
21753 	} else {
21754 		if (yych <= '/') goto yy297;
21755 		if (yych == '_') goto yy297;
21756 		goto yy1107;
21757 	}
21758 yy1109:
21759 	YYDEBUG(1109, *YYCURSOR);
21760 	yych = *++YYCURSOR;
21761 	if (yych == 'Y') goto yy1174;
21762 	if (yych == 'y') goto yy1174;
21763 	goto yy59;
21764 yy1110:
21765 	YYDEBUG(1110, *YYCURSOR);
21766 	yych = *++YYCURSOR;
21767 	if (yych == 'Y') goto yy1174;
21768 	if (yych == 'y') goto yy1176;
21769 	goto yy955;
21770 yy1111:
21771 	YYDEBUG(1111, *YYCURSOR);
21772 	yych = *++YYCURSOR;
21773 	if (yych <= '/') goto yy59;
21774 	if (yych <= '2') goto yy1177;
21775 	if (yych <= '3') goto yy1178;
21776 	goto yy59;
21777 yy1112:
21778 	YYDEBUG(1112, *YYCURSOR);
21779 	yych = *++YYCURSOR;
21780 	if (yych == '-') goto yy1179;
21781 	goto yy59;
21782 yy1113:
21783 	YYDEBUG(1113, *YYCURSOR);
21784 	yych = *++YYCURSOR;
21785 	if (yych <= '9') {
21786 		if (yych == '-') goto yy893;
21787 		if (yych <= '/') goto yy196;
21788 		goto yy1180;
21789 	} else {
21790 		if (yych <= 0xC2) {
21791 			if (yych <= 0xC1) goto yy196;
21792 			goto yy97;
21793 		} else {
21794 			if (yych == 0xE2) goto yy98;
21795 			goto yy196;
21796 		}
21797 	}
21798 yy1114:
21799 	YYDEBUG(1114, *YYCURSOR);
21800 	yych = *++YYCURSOR;
21801 	if (yych <= '/') goto yy59;
21802 	if (yych <= '9') goto yy1181;
21803 	goto yy59;
21804 yy1115:
21805 	YYDEBUG(1115, *YYCURSOR);
21806 	yych = *++YYCURSOR;
21807 	if (yych <= '/') goto yy59;
21808 	if (yych <= '1') goto yy1182;
21809 	if (yych <= '2') goto yy1183;
21810 	if (yych <= '9') goto yy1184;
21811 	goto yy59;
21812 yy1116:
21813 	YYDEBUG(1116, *YYCURSOR);
21814 	yych = *++YYCURSOR;
21815 	if (yych == 'd') goto yy1185;
21816 	goto yy59;
21817 yy1117:
21818 	YYDEBUG(1117, *YYCURSOR);
21819 	yych = *++YYCURSOR;
21820 	if (yych == 't') goto yy1185;
21821 	goto yy59;
21822 yy1118:
21823 	YYDEBUG(1118, *YYCURSOR);
21824 	yych = *++YYCURSOR;
21825 	if (yych == 'h') goto yy1185;
21826 	goto yy59;
21827 yy1119:
21828 	YYDEBUG(1119, *YYCURSOR);
21829 	yyaccept = 15;
21830 	yych = *(YYMARKER = ++YYCURSOR);
21831 	if (yych <= 'm') {
21832 		if (yych <= '9') {
21833 			if (yych <= '/') goto yy567;
21834 			goto yy1186;
21835 		} else {
21836 			if (yych == 'T') goto yy1115;
21837 			goto yy567;
21838 		}
21839 	} else {
21840 		if (yych <= 'r') {
21841 			if (yych <= 'n') goto yy1116;
21842 			if (yych <= 'q') goto yy567;
21843 			goto yy1116;
21844 		} else {
21845 			if (yych <= 's') goto yy1117;
21846 			if (yych <= 't') goto yy1118;
21847 			goto yy567;
21848 		}
21849 	}
21850 yy1120:
21851 	YYDEBUG(1120, *YYCURSOR);
21852 	yyaccept = 15;
21853 	yych = *(YYMARKER = ++YYCURSOR);
21854 	if (yych <= 'm') {
21855 		if (yych <= '1') {
21856 			if (yych <= '/') goto yy567;
21857 			goto yy1186;
21858 		} else {
21859 			if (yych == 'T') goto yy1115;
21860 			goto yy567;
21861 		}
21862 	} else {
21863 		if (yych <= 'r') {
21864 			if (yych <= 'n') goto yy1116;
21865 			if (yych <= 'q') goto yy567;
21866 			goto yy1116;
21867 		} else {
21868 			if (yych <= 's') goto yy1117;
21869 			if (yych <= 't') goto yy1118;
21870 			goto yy567;
21871 		}
21872 	}
21873 yy1121:
21874 	YYDEBUG(1121, *YYCURSOR);
21875 	yych = *++YYCURSOR;
21876 	if (yych == 'd') goto yy1187;
21877 	goto yy59;
21878 yy1122:
21879 	YYDEBUG(1122, *YYCURSOR);
21880 	yych = *++YYCURSOR;
21881 	if (yych == 't') goto yy1187;
21882 	goto yy59;
21883 yy1123:
21884 	YYDEBUG(1123, *YYCURSOR);
21885 	yych = *++YYCURSOR;
21886 	if (yych == 'h') goto yy1187;
21887 	goto yy59;
21888 yy1124:
21889 	YYDEBUG(1124, *YYCURSOR);
21890 	yyaccept = 26;
21891 	yych = *(YYMARKER = ++YYCURSOR);
21892 	if (yych <= 'n') {
21893 		if (yych <= '/') goto yy1043;
21894 		if (yych <= '9') goto yy1188;
21895 		if (yych <= 'm') goto yy1043;
21896 		goto yy1121;
21897 	} else {
21898 		if (yych <= 'r') {
21899 			if (yych <= 'q') goto yy1043;
21900 			goto yy1121;
21901 		} else {
21902 			if (yych <= 's') goto yy1122;
21903 			if (yych <= 't') goto yy1123;
21904 			goto yy1043;
21905 		}
21906 	}
21907 yy1125:
21908 	YYDEBUG(1125, *YYCURSOR);
21909 	yyaccept = 26;
21910 	yych = *(YYMARKER = ++YYCURSOR);
21911 	if (yych <= 'n') {
21912 		if (yych <= '/') goto yy1043;
21913 		if (yych <= '1') goto yy1188;
21914 		if (yych <= 'm') goto yy1043;
21915 		goto yy1121;
21916 	} else {
21917 		if (yych <= 'r') {
21918 			if (yych <= 'q') goto yy1043;
21919 			goto yy1121;
21920 		} else {
21921 			if (yych <= 's') goto yy1122;
21922 			if (yych <= 't') goto yy1123;
21923 			goto yy1043;
21924 		}
21925 	}
21926 yy1126:
21927 	YYDEBUG(1126, *YYCURSOR);
21928 	yych = *++YYCURSOR;
21929 	if (yych <= 0xC1) {
21930 		if (yych <= '/') goto yy196;
21931 		if (yych <= '9') goto yy1189;
21932 		goto yy196;
21933 	} else {
21934 		if (yych <= 0xC2) goto yy97;
21935 		if (yych == 0xE2) goto yy98;
21936 		goto yy196;
21937 	}
21938 yy1127:
21939 	YYDEBUG(1127, *YYCURSOR);
21940 	yych = *++YYCURSOR;
21941 	if (yych <= 'H') {
21942 		if (yych <= '2') {
21943 			if (yych <= '/') goto yy59;
21944 			if (yych <= '1') goto yy1190;
21945 			goto yy1191;
21946 		} else {
21947 			if (yych <= '9') goto yy1192;
21948 			if (yych <= 'G') goto yy59;
21949 			goto yy266;
21950 		}
21951 	} else {
21952 		if (yych <= 'g') {
21953 			if (yych == 'U') goto yy267;
21954 			goto yy59;
21955 		} else {
21956 			if (yych <= 'h') goto yy266;
21957 			if (yych == 'u') goto yy267;
21958 			goto yy59;
21959 		}
21960 	}
21961 yy1128:
21962 	YYDEBUG(1128, *YYCURSOR);
21963 	yych = *++YYCURSOR;
21964 	if (yych <= 'H') {
21965 		if (yych <= '2') {
21966 			if (yych <= '/') goto yy59;
21967 			if (yych <= '1') goto yy1193;
21968 			goto yy1194;
21969 		} else {
21970 			if (yych <= '9') goto yy1195;
21971 			if (yych <= 'G') goto yy59;
21972 			goto yy266;
21973 		}
21974 	} else {
21975 		if (yych <= 'g') {
21976 			if (yych == 'U') goto yy267;
21977 			goto yy59;
21978 		} else {
21979 			if (yych <= 'h') goto yy266;
21980 			if (yych == 'u') goto yy267;
21981 			goto yy59;
21982 		}
21983 	}
21984 yy1129:
21985 	YYDEBUG(1129, *YYCURSOR);
21986 	yych = *++YYCURSOR;
21987 	if (yych <= '/') goto yy59;
21988 	if (yych <= '9') goto yy1196;
21989 	goto yy59;
21990 yy1130:
21991 	YYDEBUG(1130, *YYCURSOR);
21992 	yych = *++YYCURSOR;
21993 	if (yych <= '/') goto yy59;
21994 	if (yych <= '1') goto yy1196;
21995 	goto yy59;
21996 yy1131:
21997 	YYDEBUG(1131, *YYCURSOR);
21998 	yych = *++YYCURSOR;
21999 	if (yych == 'T') goto yy790;
22000 	if (yych == 't') goto yy790;
22001 	goto yy59;
22002 yy1132:
22003 	YYDEBUG(1132, *YYCURSOR);
22004 	yych = *++YYCURSOR;
22005 	if (yych == 'R') goto yy1197;
22006 	if (yych == 'r') goto yy1197;
22007 	goto yy59;
22008 yy1133:
22009 	YYDEBUG(1133, *YYCURSOR);
22010 	yych = *++YYCURSOR;
22011 	if (yych == 'E') goto yy1198;
22012 	if (yych == 'e') goto yy1198;
22013 	goto yy59;
22014 yy1134:
22015 	YYDEBUG(1134, *YYCURSOR);
22016 	yych = *++YYCURSOR;
22017 	if (yych == 'T') goto yy425;
22018 	if (yych == 't') goto yy425;
22019 	goto yy59;
22020 yy1135:
22021 	YYDEBUG(1135, *YYCURSOR);
22022 	yych = *++YYCURSOR;
22023 	if (yych == 'O') goto yy628;
22024 	if (yych == 'o') goto yy628;
22025 	goto yy59;
22026 yy1136:
22027 	YYDEBUG(1136, *YYCURSOR);
22028 	yyaccept = 4;
22029 	YYMARKER = ++YYCURSOR;
22030 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22031 	yych = *YYCURSOR;
22032 	YYDEBUG(1137, *YYCURSOR);
22033 	if (yych <= 'O') {
22034 		if (yych <= '9') {
22035 			if (yych <= '/') goto yy177;
22036 			goto yy1136;
22037 		} else {
22038 			if (yych == 'A') goto yy1199;
22039 			goto yy177;
22040 		}
22041 	} else {
22042 		if (yych <= 'a') {
22043 			if (yych <= 'P') goto yy1199;
22044 			if (yych <= '`') goto yy177;
22045 			goto yy1199;
22046 		} else {
22047 			if (yych == 'p') goto yy1199;
22048 			goto yy177;
22049 		}
22050 	}
22051 yy1138:
22052 	YYDEBUG(1138, *YYCURSOR);
22053 	++YYCURSOR;
22054 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22055 	yych = *YYCURSOR;
22056 	YYDEBUG(1139, *YYCURSOR);
22057 	if (yych <= 'O') {
22058 		if (yych <= '9') {
22059 			if (yych <= '/') goto yy59;
22060 			goto yy1138;
22061 		} else {
22062 			if (yych == 'A') goto yy1199;
22063 			goto yy59;
22064 		}
22065 	} else {
22066 		if (yych <= 'a') {
22067 			if (yych <= 'P') goto yy1199;
22068 			if (yych <= '`') goto yy59;
22069 			goto yy1199;
22070 		} else {
22071 			if (yych == 'p') goto yy1199;
22072 			goto yy59;
22073 		}
22074 	}
22075 yy1140:
22076 	YYDEBUG(1140, *YYCURSOR);
22077 	++YYCURSOR;
22078 	YYDEBUG(1141, *YYCURSOR);
22079 #line 1752 "ext/date/lib/parse_date.re"
22080 	{
22081 		int length = 0;
22082 		DEBUG_OUTPUT("pgtextreverse");
22083 		TIMELIB_INIT;
22084 		TIMELIB_HAVE_DATE();
22085 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
22086 		s->time->m = timelib_get_month(&ptr);
22087 		s->time->d = timelib_get_nr(&ptr, 2);
22088 		TIMELIB_PROCESS_YEAR(s->time->y, length);
22089 		TIMELIB_DEINIT;
22090 		return TIMELIB_PG_TEXT;
22091 	}
22092 #line 22093 "<stdout>"
22093 yy1142:
22094 	YYDEBUG(1142, *YYCURSOR);
22095 	++YYCURSOR;
22096 	goto yy290;
22097 yy1143:
22098 	YYDEBUG(1143, *YYCURSOR);
22099 	yych = *++YYCURSOR;
22100 	if (yych <= '/') goto yy1070;
22101 	if (yych <= '9') goto yy1200;
22102 	goto yy1070;
22103 yy1144:
22104 	YYDEBUG(1144, *YYCURSOR);
22105 	yyaccept = 29;
22106 	yych = *(YYMARKER = ++YYCURSOR);
22107 	if (yych <= 'O') {
22108 		if (yych <= ' ') {
22109 			if (yych == '\t') goto yy1201;
22110 			if (yych >= ' ') goto yy1201;
22111 		} else {
22112 			if (yych <= '9') {
22113 				if (yych >= '0') goto yy1147;
22114 			} else {
22115 				if (yych == 'A') goto yy1203;
22116 			}
22117 		}
22118 	} else {
22119 		if (yych <= 'p') {
22120 			if (yych <= '`') {
22121 				if (yych <= 'P') goto yy1203;
22122 			} else {
22123 				if (yych <= 'a') goto yy1203;
22124 				if (yych >= 'p') goto yy1203;
22125 			}
22126 		} else {
22127 			if (yych <= 0xC2) {
22128 				if (yych >= 0xC2) goto yy1204;
22129 			} else {
22130 				if (yych == 0xE2) goto yy1205;
22131 			}
22132 		}
22133 	}
22134 yy1145:
22135 	YYDEBUG(1145, *YYCURSOR);
22136 #line 1294 "ext/date/lib/parse_date.re"
22137 	{
22138 		DEBUG_OUTPUT("backof | frontof");
22139 		TIMELIB_INIT;
22140 		TIMELIB_UNHAVE_TIME();
22141 		TIMELIB_HAVE_TIME();
22142 
22143 		if (*ptr == 'b') {
22144 			s->time->h = timelib_get_nr(&ptr, 2);
22145 			s->time->i = 15;
22146 		} else {
22147 			s->time->h = timelib_get_nr(&ptr, 2) - 1;
22148 			s->time->i = 45;
22149 		}
22150 		if (*ptr != '\0' ) {
22151 			timelib_eat_spaces(&ptr);
22152 			s->time->h += timelib_meridian(&ptr, s->time->h);
22153 		}
22154 
22155 		TIMELIB_DEINIT;
22156 		return TIMELIB_LF_DAY_OF_MONTH;
22157 	}
22158 #line 22159 "<stdout>"
22159 yy1146:
22160 	YYDEBUG(1146, *YYCURSOR);
22161 	yyaccept = 29;
22162 	yych = *(YYMARKER = ++YYCURSOR);
22163 	if (yych <= 'O') {
22164 		if (yych <= ' ') {
22165 			if (yych == '\t') goto yy1201;
22166 			if (yych <= 0x1F) goto yy1145;
22167 			goto yy1201;
22168 		} else {
22169 			if (yych <= '4') {
22170 				if (yych <= '/') goto yy1145;
22171 			} else {
22172 				if (yych == 'A') goto yy1203;
22173 				goto yy1145;
22174 			}
22175 		}
22176 	} else {
22177 		if (yych <= 'p') {
22178 			if (yych <= '`') {
22179 				if (yych <= 'P') goto yy1203;
22180 				goto yy1145;
22181 			} else {
22182 				if (yych <= 'a') goto yy1203;
22183 				if (yych <= 'o') goto yy1145;
22184 				goto yy1203;
22185 			}
22186 		} else {
22187 			if (yych <= 0xC2) {
22188 				if (yych <= 0xC1) goto yy1145;
22189 				goto yy1204;
22190 			} else {
22191 				if (yych == 0xE2) goto yy1205;
22192 				goto yy1145;
22193 			}
22194 		}
22195 	}
22196 yy1147:
22197 	YYDEBUG(1147, *YYCURSOR);
22198 	yyaccept = 29;
22199 	yych = *(YYMARKER = ++YYCURSOR);
22200 	if (yych <= 'P') {
22201 		if (yych <= ' ') {
22202 			if (yych == '\t') goto yy1201;
22203 			if (yych <= 0x1F) goto yy1145;
22204 			goto yy1201;
22205 		} else {
22206 			if (yych == 'A') goto yy1203;
22207 			if (yych <= 'O') goto yy1145;
22208 			goto yy1203;
22209 		}
22210 	} else {
22211 		if (yych <= 'p') {
22212 			if (yych == 'a') goto yy1203;
22213 			if (yych <= 'o') goto yy1145;
22214 			goto yy1203;
22215 		} else {
22216 			if (yych <= 0xC2) {
22217 				if (yych <= 0xC1) goto yy1145;
22218 				goto yy1204;
22219 			} else {
22220 				if (yych == 0xE2) goto yy1205;
22221 				goto yy1145;
22222 			}
22223 		}
22224 	}
22225 yy1148:
22226 	YYDEBUG(1148, *YYCURSOR);
22227 	yych = *++YYCURSOR;
22228 	if (yych == 'K') goto yy1206;
22229 	if (yych == 'k') goto yy1206;
22230 	goto yy59;
22231 yy1149:
22232 	YYDEBUG(1149, *YYCURSOR);
22233 	yyaccept = 20;
22234 	yych = *(YYMARKER = ++YYCURSOR);
22235 	if (yych <= ',') {
22236 		if (yych <= ' ') {
22237 			if (yych == '\t') goto yy1208;
22238 			if (yych <= 0x1F) goto yy849;
22239 			goto yy1208;
22240 		} else {
22241 			if (yych <= '(') {
22242 				if (yych <= '\'') goto yy849;
22243 				goto yy1208;
22244 			} else {
22245 				if (yych == '+') goto yy1208;
22246 				goto yy849;
22247 			}
22248 		}
22249 	} else {
22250 		if (yych <= 'z') {
22251 			if (yych <= '@') {
22252 				if (yych <= '-') goto yy1208;
22253 				goto yy849;
22254 			} else {
22255 				if (yych <= 'Z') goto yy1208;
22256 				if (yych <= '`') goto yy849;
22257 				goto yy1208;
22258 			}
22259 		} else {
22260 			if (yych <= 0xC2) {
22261 				if (yych <= 0xC1) goto yy849;
22262 				goto yy1214;
22263 			} else {
22264 				if (yych == 0xE2) goto yy1215;
22265 				goto yy849;
22266 			}
22267 		}
22268 	}
22269 yy1150:
22270 	YYDEBUG(1150, *YYCURSOR);
22271 	yyaccept = 20;
22272 	yych = *(YYMARKER = ++YYCURSOR);
22273 	if (yych <= ',') {
22274 		if (yych <= ' ') {
22275 			if (yych == '\t') goto yy1217;
22276 			if (yych <= 0x1F) goto yy849;
22277 			goto yy1217;
22278 		} else {
22279 			if (yych <= '(') {
22280 				if (yych <= '\'') goto yy849;
22281 				goto yy1217;
22282 			} else {
22283 				if (yych == '+') goto yy1217;
22284 				goto yy849;
22285 			}
22286 		}
22287 	} else {
22288 		if (yych <= 'z') {
22289 			if (yych <= '@') {
22290 				if (yych <= '-') goto yy1217;
22291 				goto yy849;
22292 			} else {
22293 				if (yych <= 'Z') goto yy1217;
22294 				if (yych <= '`') goto yy849;
22295 				goto yy1217;
22296 			}
22297 		} else {
22298 			if (yych <= 0xC2) {
22299 				if (yych <= 0xC1) goto yy849;
22300 				goto yy1220;
22301 			} else {
22302 				if (yych == 0xE2) goto yy1221;
22303 				goto yy849;
22304 			}
22305 		}
22306 	}
22307 yy1151:
22308 	YYDEBUG(1151, *YYCURSOR);
22309 	yych = *++YYCURSOR;
22310 	if (yych == 'M') goto yy1152;
22311 	if (yych != 'm') goto yy59;
22312 yy1152:
22313 	YYDEBUG(1152, *YYCURSOR);
22314 	yych = *++YYCURSOR;
22315 	if (yych <= 0x1F) {
22316 		if (yych <= 0x00) goto yy1222;
22317 		if (yych == '\t') goto yy1222;
22318 		goto yy59;
22319 	} else {
22320 		if (yych <= ' ') goto yy1222;
22321 		if (yych == '.') goto yy1224;
22322 		goto yy59;
22323 	}
22324 yy1153:
22325 	YYDEBUG(1153, *YYCURSOR);
22326 	++YYCURSOR;
22327 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22328 	yych = *YYCURSOR;
22329 	if (yych <= '`') {
22330 		if (yych <= 'A') {
22331 			if (yych <= '@') goto yy59;
22332 			goto yy1083;
22333 		} else {
22334 			if (yych == 'P') goto yy1083;
22335 			goto yy59;
22336 		}
22337 	} else {
22338 		if (yych <= 'p') {
22339 			if (yych <= 'a') goto yy1083;
22340 			if (yych <= 'o') goto yy59;
22341 			goto yy1083;
22342 		} else {
22343 			if (yych == 0xC2) goto yy1084;
22344 			goto yy59;
22345 		}
22346 	}
22347 yy1154:
22348 	YYDEBUG(1154, *YYCURSOR);
22349 	++YYCURSOR;
22350 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22351 	yych = *YYCURSOR;
22352 	if (yych == 0xAF) goto yy1225;
22353 	goto yy59;
22354 yy1155:
22355 	YYDEBUG(1155, *YYCURSOR);
22356 	++YYCURSOR;
22357 	goto yy982;
22358 yy1156:
22359 	YYDEBUG(1156, *YYCURSOR);
22360 	yych = *++YYCURSOR;
22361 	if (yych <= 'N') {
22362 		if (yych == 'H') goto yy1226;
22363 		if (yych <= 'M') goto yy59;
22364 		goto yy1227;
22365 	} else {
22366 		if (yych <= 'h') {
22367 			if (yych <= 'g') goto yy59;
22368 			goto yy1226;
22369 		} else {
22370 			if (yych == 'n') goto yy1227;
22371 			goto yy59;
22372 		}
22373 	}
22374 yy1157:
22375 	YYDEBUG(1157, *YYCURSOR);
22376 	++YYCURSOR;
22377 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
22378 	yych = *YYCURSOR;
22379 	YYDEBUG(1158, *YYCURSOR);
22380 	if (yych <= ' ') {
22381 		if (yych == '\t') goto yy1157;
22382 		if (yych <= 0x1F) goto yy59;
22383 		goto yy1157;
22384 	} else {
22385 		if (yych <= 'O') {
22386 			if (yych <= 'N') goto yy59;
22387 			goto yy1228;
22388 		} else {
22389 			if (yych == 'o') goto yy1228;
22390 			goto yy59;
22391 		}
22392 	}
22393 yy1159:
22394 	YYDEBUG(1159, *YYCURSOR);
22395 	yych = *++YYCURSOR;
22396 	if (yych == 'A') goto yy1229;
22397 	if (yych == 'a') goto yy1229;
22398 	goto yy59;
22399 yy1160:
22400 	YYDEBUG(1160, *YYCURSOR);
22401 	++YYCURSOR;
22402 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22403 	yych = *YYCURSOR;
22404 	if (yych == 0xA0) goto yy1230;
22405 	goto yy59;
22406 yy1161:
22407 	YYDEBUG(1161, *YYCURSOR);
22408 	++YYCURSOR;
22409 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22410 	yych = *YYCURSOR;
22411 	if (yych == 0x80) goto yy1231;
22412 	goto yy59;
22413 yy1162:
22414 	YYDEBUG(1162, *YYCURSOR);
22415 	yych = *++YYCURSOR;
22416 	if (yych == 'O') goto yy1232;
22417 	if (yych == 'o') goto yy1232;
22418 	goto yy59;
22419 yy1163:
22420 	YYDEBUG(1163, *YYCURSOR);
22421 	yych = *++YYCURSOR;
22422 	if (yych == 'I') goto yy1232;
22423 	if (yych == 'i') goto yy1232;
22424 	goto yy59;
22425 yy1164:
22426 	YYDEBUG(1164, *YYCURSOR);
22427 	yych = *++YYCURSOR;
22428 	if (yych == 'T') goto yy1233;
22429 	if (yych == 't') goto yy1233;
22430 	goto yy59;
22431 yy1165:
22432 	YYDEBUG(1165, *YYCURSOR);
22433 	yych = *++YYCURSOR;
22434 	if (yych == 'H') goto yy1086;
22435 	if (yych == 'h') goto yy1086;
22436 	goto yy59;
22437 yy1166:
22438 	YYDEBUG(1166, *YYCURSOR);
22439 	yych = *++YYCURSOR;
22440 	if (yych == 'R') goto yy1169;
22441 	if (yych == 'r') goto yy1169;
22442 	goto yy59;
22443 yy1167:
22444 	YYDEBUG(1167, *YYCURSOR);
22445 	yych = *++YYCURSOR;
22446 	if (yych == 'N') goto yy1234;
22447 	if (yych == 'n') goto yy1234;
22448 	goto yy59;
22449 yy1168:
22450 	YYDEBUG(1168, *YYCURSOR);
22451 	yych = *++YYCURSOR;
22452 	if (yych == 'S') goto yy1169;
22453 	if (yych != 's') goto yy59;
22454 yy1169:
22455 	YYDEBUG(1169, *YYCURSOR);
22456 	yych = *++YYCURSOR;
22457 	if (yych == 'D') goto yy1159;
22458 	if (yych == 'd') goto yy1159;
22459 	goto yy59;
22460 yy1170:
22461 	YYDEBUG(1170, *YYCURSOR);
22462 	yych = *++YYCURSOR;
22463 	if (yych == 'E') goto yy1168;
22464 	if (yych == 'e') goto yy1168;
22465 	goto yy59;
22466 yy1171:
22467 	YYDEBUG(1171, *YYCURSOR);
22468 	yyaccept = 30;
22469 	yych = *(YYMARKER = ++YYCURSOR);
22470 	if (yych <= 'S') {
22471 		if (yych == 'D') goto yy856;
22472 		if (yych >= 'S') goto yy1155;
22473 	} else {
22474 		if (yych <= 'd') {
22475 			if (yych >= 'd') goto yy856;
22476 		} else {
22477 			if (yych == 's') goto yy1155;
22478 		}
22479 	}
22480 yy1172:
22481 	YYDEBUG(1172, *YYCURSOR);
22482 #line 1838 "ext/date/lib/parse_date.re"
22483 	{
22484 		timelib_sll i;
22485 		int         behavior = 0;
22486 		DEBUG_OUTPUT("relativetextweek");
22487 		TIMELIB_INIT;
22488 		TIMELIB_HAVE_RELATIVE();
22489 
22490 		while(*ptr) {
22491 			i = timelib_get_relative_text(&ptr, &behavior);
22492 			timelib_eat_spaces(&ptr);
22493 			timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
22494 			s->time->relative.weekday_behavior = 2;
22495 
22496 			/* to handle the format weekday + last/this/next week */
22497 			if (s->time->relative.have_weekday_relative == 0) {
22498 				TIMELIB_HAVE_WEEKDAY_RELATIVE();
22499 				s->time->relative.weekday = 1;
22500 			}
22501 		}
22502 		TIMELIB_DEINIT;
22503 		return TIMELIB_RELATIVE;
22504 	}
22505 #line 22506 "<stdout>"
22506 yy1173:
22507 	YYDEBUG(1173, *YYCURSOR);
22508 	yych = *++YYCURSOR;
22509 	if (yych == 'O') goto yy1235;
22510 	if (yych == 'o') goto yy1235;
22511 	goto yy59;
22512 yy1174:
22513 	YYDEBUG(1174, *YYCURSOR);
22514 	++YYCURSOR;
22515 yy1175:
22516 	YYDEBUG(1175, *YYCURSOR);
22517 #line 1156 "ext/date/lib/parse_date.re"
22518 	{
22519 		DEBUG_OUTPUT("yesterday");
22520 		TIMELIB_INIT;
22521 		TIMELIB_HAVE_RELATIVE();
22522 		TIMELIB_UNHAVE_TIME();
22523 
22524 		s->time->relative.d = -1;
22525 		TIMELIB_DEINIT;
22526 		return TIMELIB_RELATIVE;
22527 	}
22528 #line 22529 "<stdout>"
22529 yy1176:
22530 	YYDEBUG(1176, *YYCURSOR);
22531 	yyaccept = 31;
22532 	yych = *(YYMARKER = ++YYCURSOR);
22533 	if (yybm[0+yych] & 128) {
22534 		goto yy954;
22535 	}
22536 	if (yych <= '.') {
22537 		if (yych == '-') goto yy297;
22538 		goto yy1175;
22539 	} else {
22540 		if (yych <= '/') goto yy297;
22541 		if (yych == '_') goto yy297;
22542 		goto yy1175;
22543 	}
22544 yy1177:
22545 	YYDEBUG(1177, *YYCURSOR);
22546 	yych = *++YYCURSOR;
22547 	if (yych <= '/') goto yy59;
22548 	if (yych <= '9') goto yy1187;
22549 	goto yy59;
22550 yy1178:
22551 	YYDEBUG(1178, *YYCURSOR);
22552 	yych = *++YYCURSOR;
22553 	if (yych <= '/') goto yy59;
22554 	if (yych <= '1') goto yy1187;
22555 	goto yy59;
22556 yy1179:
22557 	YYDEBUG(1179, *YYCURSOR);
22558 	yych = *++YYCURSOR;
22559 	if (yych <= '/') goto yy59;
22560 	if (yych <= '2') goto yy1236;
22561 	if (yych <= '3') goto yy1237;
22562 	goto yy59;
22563 yy1180:
22564 	YYDEBUG(1180, *YYCURSOR);
22565 	yych = *++YYCURSOR;
22566 	if (yych <= '9') {
22567 		if (yych == '-') goto yy893;
22568 		if (yych <= '/') goto yy196;
22569 		goto yy1238;
22570 	} else {
22571 		if (yych <= 0xC2) {
22572 			if (yych <= 0xC1) goto yy196;
22573 			goto yy97;
22574 		} else {
22575 			if (yych == 0xE2) goto yy98;
22576 			goto yy196;
22577 		}
22578 	}
22579 yy1181:
22580 	YYDEBUG(1181, *YYCURSOR);
22581 	yych = *++YYCURSOR;
22582 	if (yych == ':') goto yy1239;
22583 	goto yy59;
22584 yy1182:
22585 	YYDEBUG(1182, *YYCURSOR);
22586 	yych = *++YYCURSOR;
22587 	if (yych <= '/') goto yy59;
22588 	if (yych <= '9') goto yy1184;
22589 	if (yych <= ':') goto yy1240;
22590 	goto yy59;
22591 yy1183:
22592 	YYDEBUG(1183, *YYCURSOR);
22593 	yych = *++YYCURSOR;
22594 	if (yych <= '/') goto yy59;
22595 	if (yych <= '4') goto yy1184;
22596 	if (yych == ':') goto yy1240;
22597 	goto yy59;
22598 yy1184:
22599 	YYDEBUG(1184, *YYCURSOR);
22600 	yych = *++YYCURSOR;
22601 	if (yych == ':') goto yy1240;
22602 	goto yy59;
22603 yy1185:
22604 	YYDEBUG(1185, *YYCURSOR);
22605 	yyaccept = 15;
22606 	yych = *(YYMARKER = ++YYCURSOR);
22607 	if (yych == 'T') goto yy1115;
22608 	goto yy567;
22609 yy1186:
22610 	YYDEBUG(1186, *YYCURSOR);
22611 	yyaccept = 26;
22612 	yych = *(YYMARKER = ++YYCURSOR);
22613 	if (yych <= 'n') {
22614 		if (yych == 'T') goto yy1241;
22615 		if (yych <= 'm') goto yy1043;
22616 		goto yy1116;
22617 	} else {
22618 		if (yych <= 'r') {
22619 			if (yych <= 'q') goto yy1043;
22620 			goto yy1116;
22621 		} else {
22622 			if (yych <= 's') goto yy1117;
22623 			if (yych <= 't') goto yy1118;
22624 			goto yy1043;
22625 		}
22626 	}
22627 yy1187:
22628 	YYDEBUG(1187, *YYCURSOR);
22629 	++YYCURSOR;
22630 	goto yy1043;
22631 yy1188:
22632 	YYDEBUG(1188, *YYCURSOR);
22633 	yyaccept = 26;
22634 	yych = *(YYMARKER = ++YYCURSOR);
22635 	if (yych <= 'n') {
22636 		if (yych == '/') goto yy1187;
22637 		if (yych <= 'm') goto yy1043;
22638 		goto yy1121;
22639 	} else {
22640 		if (yych <= 'r') {
22641 			if (yych <= 'q') goto yy1043;
22642 			goto yy1121;
22643 		} else {
22644 			if (yych <= 's') goto yy1122;
22645 			if (yych <= 't') goto yy1123;
22646 			goto yy1043;
22647 		}
22648 	}
22649 yy1189:
22650 	YYDEBUG(1189, *YYCURSOR);
22651 	yych = *++YYCURSOR;
22652 	if (yych <= 0xC1) {
22653 		if (yych <= '/') goto yy196;
22654 		if (yych <= '9') goto yy1242;
22655 		goto yy196;
22656 	} else {
22657 		if (yych <= 0xC2) goto yy97;
22658 		if (yych == 0xE2) goto yy98;
22659 		goto yy196;
22660 	}
22661 yy1190:
22662 	YYDEBUG(1190, *YYCURSOR);
22663 	yych = *++YYCURSOR;
22664 	if (yych <= '/') goto yy59;
22665 	if (yych <= '5') goto yy1243;
22666 	if (yych <= '9') goto yy1192;
22667 	if (yych <= ':') goto yy1244;
22668 	goto yy59;
22669 yy1191:
22670 	YYDEBUG(1191, *YYCURSOR);
22671 	yych = *++YYCURSOR;
22672 	if (yych <= '5') {
22673 		if (yych <= '/') goto yy59;
22674 		if (yych <= '4') goto yy1243;
22675 		goto yy1245;
22676 	} else {
22677 		if (yych == ':') goto yy1244;
22678 		goto yy59;
22679 	}
22680 yy1192:
22681 	YYDEBUG(1192, *YYCURSOR);
22682 	yych = *++YYCURSOR;
22683 	if (yych <= '/') goto yy59;
22684 	if (yych <= '5') goto yy1245;
22685 	if (yych == ':') goto yy1244;
22686 	goto yy59;
22687 yy1193:
22688 	YYDEBUG(1193, *YYCURSOR);
22689 	yych = *++YYCURSOR;
22690 	if (yych <= '/') goto yy59;
22691 	if (yych <= '5') goto yy1246;
22692 	if (yych <= '9') goto yy1195;
22693 	goto yy59;
22694 yy1194:
22695 	YYDEBUG(1194, *YYCURSOR);
22696 	yych = *++YYCURSOR;
22697 	if (yych <= '/') goto yy59;
22698 	if (yych <= '4') goto yy1246;
22699 	if (yych <= '5') goto yy1245;
22700 	goto yy59;
22701 yy1195:
22702 	YYDEBUG(1195, *YYCURSOR);
22703 	yych = *++YYCURSOR;
22704 	if (yych <= '/') goto yy59;
22705 	if (yych <= '5') goto yy1245;
22706 	goto yy59;
22707 yy1196:
22708 	YYDEBUG(1196, *YYCURSOR);
22709 	yych = *++YYCURSOR;
22710 	if (yych == ' ') goto yy1247;
22711 	goto yy59;
22712 yy1197:
22713 	YYDEBUG(1197, *YYCURSOR);
22714 	yych = *++YYCURSOR;
22715 	if (yych == 'Y') goto yy790;
22716 	if (yych == 'y') goto yy790;
22717 	goto yy59;
22718 yy1198:
22719 	YYDEBUG(1198, *YYCURSOR);
22720 	yych = *++YYCURSOR;
22721 	if (yych == 'R') goto yy790;
22722 	if (yych == 'r') goto yy790;
22723 	goto yy59;
22724 yy1199:
22725 	YYDEBUG(1199, *YYCURSOR);
22726 	yych = *++YYCURSOR;
22727 	if (yych <= 'L') {
22728 		if (yych == '.') goto yy1248;
22729 		goto yy59;
22730 	} else {
22731 		if (yych <= 'M') goto yy1249;
22732 		if (yych == 'm') goto yy1249;
22733 		goto yy59;
22734 	}
22735 yy1200:
22736 	YYDEBUG(1200, *YYCURSOR);
22737 	yych = *++YYCURSOR;
22738 	if (yych <= '/') goto yy1070;
22739 	if (yych <= '9') goto yy1250;
22740 	goto yy1070;
22741 yy1201:
22742 	YYDEBUG(1201, *YYCURSOR);
22743 	++YYCURSOR;
22744 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22745 	yych = *YYCURSOR;
22746 	YYDEBUG(1202, *YYCURSOR);
22747 	if (yych <= 'A') {
22748 		if (yych <= 0x1F) {
22749 			if (yych == '\t') goto yy1201;
22750 			goto yy59;
22751 		} else {
22752 			if (yych <= ' ') goto yy1201;
22753 			if (yych <= '@') goto yy59;
22754 		}
22755 	} else {
22756 		if (yych <= '`') {
22757 			if (yych != 'P') goto yy59;
22758 		} else {
22759 			if (yych <= 'a') goto yy1203;
22760 			if (yych != 'p') goto yy59;
22761 		}
22762 	}
22763 yy1203:
22764 	YYDEBUG(1203, *YYCURSOR);
22765 	yych = *++YYCURSOR;
22766 	if (yych <= 'L') {
22767 		if (yych == '.') goto yy1251;
22768 		goto yy59;
22769 	} else {
22770 		if (yych <= 'M') goto yy1252;
22771 		if (yych == 'm') goto yy1252;
22772 		goto yy59;
22773 	}
22774 yy1204:
22775 	YYDEBUG(1204, *YYCURSOR);
22776 	++YYCURSOR;
22777 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22778 	yych = *YYCURSOR;
22779 	if (yych == 0xA0) goto yy1253;
22780 	goto yy59;
22781 yy1205:
22782 	YYDEBUG(1205, *YYCURSOR);
22783 	++YYCURSOR;
22784 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22785 	yych = *YYCURSOR;
22786 	if (yych == 0x80) goto yy1254;
22787 	goto yy59;
22788 yy1206:
22789 	YYDEBUG(1206, *YYCURSOR);
22790 	yych = *++YYCURSOR;
22791 	if (yych <= 'S') {
22792 		if (yych == 'D') goto yy856;
22793 		if (yych <= 'R') goto yy59;
22794 		goto yy1155;
22795 	} else {
22796 		if (yych <= 'd') {
22797 			if (yych <= 'c') goto yy59;
22798 			goto yy856;
22799 		} else {
22800 			if (yych == 's') goto yy1155;
22801 			goto yy59;
22802 		}
22803 	}
22804 yy1207:
22805 	YYDEBUG(1207, *YYCURSOR);
22806 	++YYCURSOR;
22807 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
22808 	yych = *YYCURSOR;
22809 yy1208:
22810 	YYDEBUG(1208, *YYCURSOR);
22811 	if (yych <= '+') {
22812 		if (yych <= ' ') {
22813 			if (yych == '\t') goto yy1207;
22814 			if (yych <= 0x1F) goto yy59;
22815 			goto yy1207;
22816 		} else {
22817 			if (yych == '(') goto yy1209;
22818 			if (yych <= '*') goto yy59;
22819 			goto yy1210;
22820 		}
22821 	} else {
22822 		if (yych <= 'F') {
22823 			if (yych == '-') goto yy1210;
22824 			if (yych <= '@') goto yy59;
22825 			goto yy1211;
22826 		} else {
22827 			if (yych <= 'Z') {
22828 				if (yych <= 'G') goto yy1212;
22829 				goto yy1211;
22830 			} else {
22831 				if (yych <= '`') goto yy59;
22832 				if (yych <= 'z') goto yy1213;
22833 				goto yy59;
22834 			}
22835 		}
22836 	}
22837 yy1209:
22838 	YYDEBUG(1209, *YYCURSOR);
22839 	yych = *++YYCURSOR;
22840 	if (yych <= '@') goto yy59;
22841 	if (yych <= 'Z') goto yy1213;
22842 	if (yych <= '`') goto yy59;
22843 	if (yych <= 'z') goto yy1213;
22844 	goto yy59;
22845 yy1210:
22846 	YYDEBUG(1210, *YYCURSOR);
22847 	yych = *++YYCURSOR;
22848 	if (yych <= '/') goto yy59;
22849 	if (yych <= '1') goto yy1255;
22850 	if (yych <= '2') goto yy1256;
22851 	if (yych <= '9') goto yy1257;
22852 	goto yy59;
22853 yy1211:
22854 	YYDEBUG(1211, *YYCURSOR);
22855 	yych = *++YYCURSOR;
22856 	if (yych <= '@') {
22857 		if (yych == ')') goto yy1078;
22858 		goto yy849;
22859 	} else {
22860 		if (yych <= 'Z') goto yy1258;
22861 		if (yych <= '`') goto yy849;
22862 		if (yych <= 'z') goto yy1259;
22863 		goto yy849;
22864 	}
22865 yy1212:
22866 	YYDEBUG(1212, *YYCURSOR);
22867 	yych = *++YYCURSOR;
22868 	if (yych <= 'L') {
22869 		if (yych == ')') goto yy1078;
22870 		if (yych <= '@') goto yy849;
22871 		goto yy1258;
22872 	} else {
22873 		if (yych <= 'Z') {
22874 			if (yych <= 'M') goto yy1260;
22875 			goto yy1258;
22876 		} else {
22877 			if (yych <= '`') goto yy849;
22878 			if (yych <= 'z') goto yy1259;
22879 			goto yy849;
22880 		}
22881 	}
22882 yy1213:
22883 	YYDEBUG(1213, *YYCURSOR);
22884 	yych = *++YYCURSOR;
22885 	if (yych <= '@') {
22886 		if (yych == ')') goto yy1078;
22887 		goto yy849;
22888 	} else {
22889 		if (yych <= 'Z') goto yy1258;
22890 		if (yych <= '`') goto yy849;
22891 		if (yych <= 'z') goto yy1258;
22892 		goto yy849;
22893 	}
22894 yy1214:
22895 	YYDEBUG(1214, *YYCURSOR);
22896 	++YYCURSOR;
22897 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22898 	yych = *YYCURSOR;
22899 	if (yych == 0xA0) goto yy1261;
22900 	goto yy59;
22901 yy1215:
22902 	YYDEBUG(1215, *YYCURSOR);
22903 	++YYCURSOR;
22904 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22905 	yych = *YYCURSOR;
22906 	if (yych == 0x80) goto yy1262;
22907 	goto yy59;
22908 yy1216:
22909 	YYDEBUG(1216, *YYCURSOR);
22910 	++YYCURSOR;
22911 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
22912 	yych = *YYCURSOR;
22913 yy1217:
22914 	YYDEBUG(1217, *YYCURSOR);
22915 	if (yych <= '@') {
22916 		if (yych <= '\'') {
22917 			if (yych <= '\t') {
22918 				if (yych <= 0x08) goto yy59;
22919 				goto yy1216;
22920 			} else {
22921 				if (yych == ' ') goto yy1216;
22922 				goto yy59;
22923 			}
22924 		} else {
22925 			if (yych <= '+') {
22926 				if (yych <= '(') goto yy1209;
22927 				if (yych <= '*') goto yy59;
22928 				goto yy1210;
22929 			} else {
22930 				if (yych == '-') goto yy1210;
22931 				goto yy59;
22932 			}
22933 		}
22934 	} else {
22935 		if (yych <= 'Z') {
22936 			if (yych <= 'G') {
22937 				if (yych <= 'A') goto yy1218;
22938 				if (yych <= 'F') goto yy1211;
22939 				goto yy1212;
22940 			} else {
22941 				if (yych != 'P') goto yy1211;
22942 			}
22943 		} else {
22944 			if (yych <= 'o') {
22945 				if (yych <= '`') goto yy59;
22946 				if (yych <= 'a') goto yy1219;
22947 				goto yy1213;
22948 			} else {
22949 				if (yych <= 'p') goto yy1219;
22950 				if (yych <= 'z') goto yy1213;
22951 				goto yy59;
22952 			}
22953 		}
22954 	}
22955 yy1218:
22956 	YYDEBUG(1218, *YYCURSOR);
22957 	yyaccept = 20;
22958 	yych = *(YYMARKER = ++YYCURSOR);
22959 	if (yych <= 'L') {
22960 		if (yych <= '-') {
22961 			if (yych == ')') goto yy1078;
22962 			goto yy849;
22963 		} else {
22964 			if (yych <= '.') goto yy1151;
22965 			if (yych <= '@') goto yy849;
22966 			goto yy1258;
22967 		}
22968 	} else {
22969 		if (yych <= '`') {
22970 			if (yych <= 'M') goto yy1263;
22971 			if (yych <= 'Z') goto yy1258;
22972 			goto yy849;
22973 		} else {
22974 			if (yych == 'm') goto yy1264;
22975 			if (yych <= 'z') goto yy1259;
22976 			goto yy849;
22977 		}
22978 	}
22979 yy1219:
22980 	YYDEBUG(1219, *YYCURSOR);
22981 	yyaccept = 20;
22982 	yych = *(YYMARKER = ++YYCURSOR);
22983 	if (yych <= 'L') {
22984 		if (yych <= '-') {
22985 			if (yych == ')') goto yy1078;
22986 			goto yy849;
22987 		} else {
22988 			if (yych <= '.') goto yy1151;
22989 			if (yych <= '@') goto yy849;
22990 			goto yy1258;
22991 		}
22992 	} else {
22993 		if (yych <= '`') {
22994 			if (yych <= 'M') goto yy1263;
22995 			if (yych <= 'Z') goto yy1258;
22996 			goto yy849;
22997 		} else {
22998 			if (yych == 'm') goto yy1263;
22999 			if (yych <= 'z') goto yy1258;
23000 			goto yy849;
23001 		}
23002 	}
23003 yy1220:
23004 	YYDEBUG(1220, *YYCURSOR);
23005 	++YYCURSOR;
23006 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23007 	yych = *YYCURSOR;
23008 	if (yych == 0xA0) goto yy1265;
23009 	goto yy59;
23010 yy1221:
23011 	YYDEBUG(1221, *YYCURSOR);
23012 	++YYCURSOR;
23013 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23014 	yych = *YYCURSOR;
23015 	if (yych == 0x80) goto yy1266;
23016 	goto yy59;
23017 yy1222:
23018 	YYDEBUG(1222, *YYCURSOR);
23019 	++YYCURSOR;
23020 	YYDEBUG(1223, *YYCURSOR);
23021 #line 1904 "ext/date/lib/parse_date.re"
23022 	{
23023 		DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
23024 		TIMELIB_INIT;
23025 		TIMELIB_HAVE_DATE();
23026 		s->time->m = timelib_get_month(&ptr);
23027 		s->time->d = timelib_get_nr(&ptr, 2);
23028 
23029 		TIMELIB_HAVE_TIME();
23030 		s->time->h = timelib_get_nr(&ptr, 2);
23031 		s->time->i = timelib_get_nr(&ptr, 2);
23032 		if (*ptr == ':' || *ptr == '.') {
23033 			s->time->s = timelib_get_nr(&ptr, 2);
23034 
23035 			if (*ptr == '.') {
23036 				s->time->us = timelib_get_frac_nr(&ptr);
23037 			}
23038 		}
23039 
23040 		s->time->h += timelib_meridian(&ptr, s->time->h);
23041 		TIMELIB_DEINIT;
23042 		return TIMELIB_SHORTDATE_WITH_TIME;
23043 	}
23044 #line 23045 "<stdout>"
23045 yy1224:
23046 	YYDEBUG(1224, *YYCURSOR);
23047 	yych = *++YYCURSOR;
23048 	if (yych <= '\t') {
23049 		if (yych <= 0x00) goto yy1222;
23050 		if (yych <= 0x08) goto yy59;
23051 		goto yy1222;
23052 	} else {
23053 		if (yych == ' ') goto yy1222;
23054 		goto yy59;
23055 	}
23056 yy1225:
23057 	YYDEBUG(1225, *YYCURSOR);
23058 	++YYCURSOR;
23059 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23060 	yych = *YYCURSOR;
23061 	if (yych <= '`') {
23062 		if (yych <= 'A') {
23063 			if (yych <= '@') goto yy59;
23064 			goto yy1083;
23065 		} else {
23066 			if (yych == 'P') goto yy1083;
23067 			goto yy59;
23068 		}
23069 	} else {
23070 		if (yych <= 'p') {
23071 			if (yych <= 'a') goto yy1083;
23072 			if (yych <= 'o') goto yy59;
23073 			goto yy1083;
23074 		} else {
23075 			if (yych == 0xE2) goto yy1085;
23076 			goto yy59;
23077 		}
23078 	}
23079 yy1226:
23080 	YYDEBUG(1226, *YYCURSOR);
23081 	yych = *++YYCURSOR;
23082 	if (yych == 'N') goto yy1227;
23083 	if (yych != 'n') goto yy59;
23084 yy1227:
23085 	YYDEBUG(1227, *YYCURSOR);
23086 	yych = *++YYCURSOR;
23087 	if (yych == 'I') goto yy1267;
23088 	if (yych == 'i') goto yy1267;
23089 	goto yy59;
23090 yy1228:
23091 	YYDEBUG(1228, *YYCURSOR);
23092 	yych = *++YYCURSOR;
23093 	if (yych == 'F') goto yy1268;
23094 	if (yych == 'f') goto yy1268;
23095 	goto yy59;
23096 yy1229:
23097 	YYDEBUG(1229, *YYCURSOR);
23098 	yych = *++YYCURSOR;
23099 	if (yych == 'Y') goto yy1270;
23100 	if (yych == 'y') goto yy1270;
23101 	goto yy59;
23102 yy1230:
23103 	YYDEBUG(1230, *YYCURSOR);
23104 	++YYCURSOR;
23105 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23106 	yych = *YYCURSOR;
23107 	if (yych <= 'n') {
23108 		if (yych == 'O') goto yy1228;
23109 		goto yy59;
23110 	} else {
23111 		if (yych <= 'o') goto yy1228;
23112 		if (yych == 0xC2) goto yy1160;
23113 		goto yy59;
23114 	}
23115 yy1231:
23116 	YYDEBUG(1231, *YYCURSOR);
23117 	++YYCURSOR;
23118 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23119 	yych = *YYCURSOR;
23120 	if (yych == 0xAF) goto yy1271;
23121 	goto yy59;
23122 yy1232:
23123 	YYDEBUG(1232, *YYCURSOR);
23124 	yych = *++YYCURSOR;
23125 	if (yych == 'S') goto yy1272;
23126 	if (yych == 's') goto yy1272;
23127 	goto yy59;
23128 yy1233:
23129 	YYDEBUG(1233, *YYCURSOR);
23130 	yych = *++YYCURSOR;
23131 	if (yych == 'E') goto yy1086;
23132 	if (yych == 'e') goto yy1086;
23133 	goto yy59;
23134 yy1234:
23135 	YYDEBUG(1234, *YYCURSOR);
23136 	yych = *++YYCURSOR;
23137 	if (yych == 'D') goto yy1086;
23138 	if (yych == 'd') goto yy1086;
23139 	goto yy59;
23140 yy1235:
23141 	YYDEBUG(1235, *YYCURSOR);
23142 	yych = *++YYCURSOR;
23143 	if (yych == 'F') goto yy1273;
23144 	if (yych == 'f') goto yy1273;
23145 	goto yy59;
23146 yy1236:
23147 	YYDEBUG(1236, *YYCURSOR);
23148 	yych = *++YYCURSOR;
23149 	if (yych <= '/') goto yy59;
23150 	if (yych <= '9') goto yy1275;
23151 	goto yy59;
23152 yy1237:
23153 	YYDEBUG(1237, *YYCURSOR);
23154 	yych = *++YYCURSOR;
23155 	if (yych <= '/') goto yy59;
23156 	if (yych <= '1') goto yy1275;
23157 	goto yy59;
23158 yy1238:
23159 	YYDEBUG(1238, *YYCURSOR);
23160 	yych = *++YYCURSOR;
23161 	if (yych <= '9') {
23162 		if (yych == '-') goto yy893;
23163 		if (yych <= '/') goto yy196;
23164 		goto yy1277;
23165 	} else {
23166 		if (yych <= 0xC2) {
23167 			if (yych <= 0xC1) goto yy196;
23168 			goto yy97;
23169 		} else {
23170 			if (yych == 0xE2) goto yy98;
23171 			goto yy196;
23172 		}
23173 	}
23174 yy1239:
23175 	YYDEBUG(1239, *YYCURSOR);
23176 	yych = *++YYCURSOR;
23177 	if (yych <= '/') goto yy59;
23178 	if (yych <= '1') goto yy1278;
23179 	if (yych <= '2') goto yy1279;
23180 	goto yy59;
23181 yy1240:
23182 	YYDEBUG(1240, *YYCURSOR);
23183 	yych = *++YYCURSOR;
23184 	if (yych <= '/') goto yy59;
23185 	if (yych <= '5') goto yy1280;
23186 	if (yych <= '9') goto yy1281;
23187 	goto yy59;
23188 yy1241:
23189 	YYDEBUG(1241, *YYCURSOR);
23190 	yych = *++YYCURSOR;
23191 	if (yych <= '/') goto yy59;
23192 	if (yych <= '1') goto yy1282;
23193 	if (yych <= '2') goto yy1283;
23194 	if (yych <= '9') goto yy1184;
23195 	goto yy59;
23196 yy1242:
23197 	YYDEBUG(1242, *YYCURSOR);
23198 	yych = *++YYCURSOR;
23199 	if (yych <= 0xC1) {
23200 		if (yych <= '/') goto yy196;
23201 		if (yych <= '9') goto yy1284;
23202 		goto yy196;
23203 	} else {
23204 		if (yych <= 0xC2) goto yy97;
23205 		if (yych == 0xE2) goto yy98;
23206 		goto yy196;
23207 	}
23208 yy1243:
23209 	YYDEBUG(1243, *YYCURSOR);
23210 	yych = *++YYCURSOR;
23211 	if (yych <= '/') goto yy59;
23212 	if (yych <= '5') goto yy1285;
23213 	if (yych <= '9') goto yy1286;
23214 	if (yych >= ';') goto yy59;
23215 yy1244:
23216 	YYDEBUG(1244, *YYCURSOR);
23217 	yych = *++YYCURSOR;
23218 	if (yych <= '/') goto yy59;
23219 	if (yych <= '5') goto yy1287;
23220 	goto yy59;
23221 yy1245:
23222 	YYDEBUG(1245, *YYCURSOR);
23223 	yych = *++YYCURSOR;
23224 	if (yych <= '/') goto yy59;
23225 	if (yych <= '9') goto yy1286;
23226 	goto yy59;
23227 yy1246:
23228 	YYDEBUG(1246, *YYCURSOR);
23229 	yych = *++YYCURSOR;
23230 	if (yych <= '/') goto yy59;
23231 	if (yych <= '5') goto yy1285;
23232 	if (yych <= '9') goto yy1286;
23233 	goto yy59;
23234 yy1247:
23235 	YYDEBUG(1247, *YYCURSOR);
23236 	yych = *++YYCURSOR;
23237 	if (yych <= '/') goto yy59;
23238 	if (yych <= '1') goto yy1288;
23239 	if (yych <= '2') goto yy1289;
23240 	goto yy59;
23241 yy1248:
23242 	YYDEBUG(1248, *YYCURSOR);
23243 	yych = *++YYCURSOR;
23244 	if (yych == 'M') goto yy1249;
23245 	if (yych != 'm') goto yy59;
23246 yy1249:
23247 	YYDEBUG(1249, *YYCURSOR);
23248 	yych = *++YYCURSOR;
23249 	if (yych <= 0x1F) {
23250 		if (yych <= 0x00) goto yy1290;
23251 		if (yych == '\t') goto yy1290;
23252 		goto yy59;
23253 	} else {
23254 		if (yych <= ' ') goto yy1290;
23255 		if (yych == '.') goto yy1292;
23256 		goto yy59;
23257 	}
23258 yy1250:
23259 	YYDEBUG(1250, *YYCURSOR);
23260 	++YYCURSOR;
23261 	goto yy1070;
23262 yy1251:
23263 	YYDEBUG(1251, *YYCURSOR);
23264 	yych = *++YYCURSOR;
23265 	if (yych == 'M') goto yy1252;
23266 	if (yych != 'm') goto yy59;
23267 yy1252:
23268 	YYDEBUG(1252, *YYCURSOR);
23269 	yych = *++YYCURSOR;
23270 	if (yych <= 0x1F) {
23271 		if (yych <= 0x00) goto yy1293;
23272 		if (yych == '\t') goto yy1293;
23273 		goto yy59;
23274 	} else {
23275 		if (yych <= ' ') goto yy1293;
23276 		if (yych == '.') goto yy1294;
23277 		goto yy59;
23278 	}
23279 yy1253:
23280 	YYDEBUG(1253, *YYCURSOR);
23281 	++YYCURSOR;
23282 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23283 	yych = *YYCURSOR;
23284 	if (yych <= '`') {
23285 		if (yych <= 'A') {
23286 			if (yych <= '@') goto yy59;
23287 			goto yy1203;
23288 		} else {
23289 			if (yych == 'P') goto yy1203;
23290 			goto yy59;
23291 		}
23292 	} else {
23293 		if (yych <= 'p') {
23294 			if (yych <= 'a') goto yy1203;
23295 			if (yych <= 'o') goto yy59;
23296 			goto yy1203;
23297 		} else {
23298 			if (yych == 0xC2) goto yy1204;
23299 			goto yy59;
23300 		}
23301 	}
23302 yy1254:
23303 	YYDEBUG(1254, *YYCURSOR);
23304 	++YYCURSOR;
23305 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23306 	yych = *YYCURSOR;
23307 	if (yych == 0xAF) goto yy1295;
23308 	goto yy59;
23309 yy1255:
23310 	YYDEBUG(1255, *YYCURSOR);
23311 	yyaccept = 20;
23312 	yych = *(YYMARKER = ++YYCURSOR);
23313 	if (yych <= '/') goto yy849;
23314 	if (yych <= '9') goto yy1296;
23315 	if (yych <= ':') goto yy1297;
23316 	goto yy849;
23317 yy1256:
23318 	YYDEBUG(1256, *YYCURSOR);
23319 	yyaccept = 20;
23320 	yych = *(YYMARKER = ++YYCURSOR);
23321 	if (yych <= '5') {
23322 		if (yych <= '/') goto yy849;
23323 		if (yych <= '4') goto yy1296;
23324 		goto yy1298;
23325 	} else {
23326 		if (yych <= '9') goto yy1078;
23327 		if (yych <= ':') goto yy1297;
23328 		goto yy849;
23329 	}
23330 yy1257:
23331 	YYDEBUG(1257, *YYCURSOR);
23332 	yyaccept = 20;
23333 	yych = *(YYMARKER = ++YYCURSOR);
23334 	if (yych <= '/') goto yy849;
23335 	if (yych <= '5') goto yy1298;
23336 	if (yych <= '9') goto yy1078;
23337 	if (yych <= ':') goto yy1297;
23338 	goto yy849;
23339 yy1258:
23340 	YYDEBUG(1258, *YYCURSOR);
23341 	yych = *++YYCURSOR;
23342 	if (yych <= '@') {
23343 		if (yych == ')') goto yy1078;
23344 		goto yy849;
23345 	} else {
23346 		if (yych <= 'Z') goto yy1299;
23347 		if (yych <= '`') goto yy849;
23348 		if (yych <= 'z') goto yy1299;
23349 		goto yy849;
23350 	}
23351 yy1259:
23352 	YYDEBUG(1259, *YYCURSOR);
23353 	yyaccept = 20;
23354 	yych = *(YYMARKER = ++YYCURSOR);
23355 	if (yych <= '/') {
23356 		if (yych <= ',') {
23357 			if (yych == ')') goto yy1078;
23358 			goto yy849;
23359 		} else {
23360 			if (yych == '.') goto yy849;
23361 			goto yy1300;
23362 		}
23363 	} else {
23364 		if (yych <= '^') {
23365 			if (yych <= '@') goto yy849;
23366 			if (yych <= 'Z') goto yy1299;
23367 			goto yy849;
23368 		} else {
23369 			if (yych <= '_') goto yy1300;
23370 			if (yych <= '`') goto yy849;
23371 			if (yych <= 'z') goto yy1301;
23372 			goto yy849;
23373 		}
23374 	}
23375 yy1260:
23376 	YYDEBUG(1260, *YYCURSOR);
23377 	yych = *++YYCURSOR;
23378 	if (yych <= 'S') {
23379 		if (yych == ')') goto yy1078;
23380 		if (yych <= '@') goto yy849;
23381 		goto yy1299;
23382 	} else {
23383 		if (yych <= 'Z') {
23384 			if (yych <= 'T') goto yy1302;
23385 			goto yy1299;
23386 		} else {
23387 			if (yych <= '`') goto yy849;
23388 			if (yych <= 'z') goto yy1299;
23389 			goto yy849;
23390 		}
23391 	}
23392 yy1261:
23393 	YYDEBUG(1261, *YYCURSOR);
23394 	++YYCURSOR;
23395 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23396 	yych = *YYCURSOR;
23397 	if (yych <= '@') {
23398 		if (yych <= '*') {
23399 			if (yych == '(') goto yy1209;
23400 			goto yy59;
23401 		} else {
23402 			if (yych == ',') goto yy59;
23403 			if (yych <= '-') goto yy1210;
23404 			goto yy59;
23405 		}
23406 	} else {
23407 		if (yych <= '`') {
23408 			if (yych == 'G') goto yy1212;
23409 			if (yych <= 'Z') goto yy1211;
23410 			goto yy59;
23411 		} else {
23412 			if (yych <= 'z') goto yy1213;
23413 			if (yych == 0xC2) goto yy1214;
23414 			goto yy59;
23415 		}
23416 	}
23417 yy1262:
23418 	YYDEBUG(1262, *YYCURSOR);
23419 	++YYCURSOR;
23420 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23421 	yych = *YYCURSOR;
23422 	if (yych == 0xAF) goto yy1303;
23423 	goto yy59;
23424 yy1263:
23425 	YYDEBUG(1263, *YYCURSOR);
23426 	yyaccept = 20;
23427 	yych = *(YYMARKER = ++YYCURSOR);
23428 	if (yych <= ')') {
23429 		if (yych <= '\t') {
23430 			if (yych <= 0x00) goto yy1222;
23431 			if (yych <= 0x08) goto yy849;
23432 			goto yy1222;
23433 		} else {
23434 			if (yych == ' ') goto yy1222;
23435 			if (yych <= '(') goto yy849;
23436 			goto yy1078;
23437 		}
23438 	} else {
23439 		if (yych <= '@') {
23440 			if (yych == '.') goto yy1224;
23441 			goto yy849;
23442 		} else {
23443 			if (yych <= 'Z') goto yy1299;
23444 			if (yych <= '`') goto yy849;
23445 			if (yych <= 'z') goto yy1299;
23446 			goto yy849;
23447 		}
23448 	}
23449 yy1264:
23450 	YYDEBUG(1264, *YYCURSOR);
23451 	yyaccept = 20;
23452 	yych = *(YYMARKER = ++YYCURSOR);
23453 	if (yych <= '-') {
23454 		if (yych <= 0x1F) {
23455 			if (yych <= 0x00) goto yy1222;
23456 			if (yych == '\t') goto yy1222;
23457 			goto yy849;
23458 		} else {
23459 			if (yych <= '(') {
23460 				if (yych <= ' ') goto yy1222;
23461 				goto yy849;
23462 			} else {
23463 				if (yych <= ')') goto yy1078;
23464 				if (yych <= ',') goto yy849;
23465 				goto yy1300;
23466 			}
23467 		}
23468 	} else {
23469 		if (yych <= 'Z') {
23470 			if (yych <= '.') goto yy1224;
23471 			if (yych <= '/') goto yy1300;
23472 			if (yych <= '@') goto yy849;
23473 			goto yy1299;
23474 		} else {
23475 			if (yych <= '_') {
23476 				if (yych <= '^') goto yy849;
23477 				goto yy1300;
23478 			} else {
23479 				if (yych <= '`') goto yy849;
23480 				if (yych <= 'z') goto yy1301;
23481 				goto yy849;
23482 			}
23483 		}
23484 	}
23485 yy1265:
23486 	YYDEBUG(1265, *YYCURSOR);
23487 	++YYCURSOR;
23488 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23489 	yych = *YYCURSOR;
23490 	if (yych <= 'G') {
23491 		if (yych <= ',') {
23492 			if (yych <= '(') {
23493 				if (yych <= '\'') goto yy59;
23494 				goto yy1209;
23495 			} else {
23496 				if (yych == '+') goto yy1210;
23497 				goto yy59;
23498 			}
23499 		} else {
23500 			if (yych <= '@') {
23501 				if (yych <= '-') goto yy1210;
23502 				goto yy59;
23503 			} else {
23504 				if (yych <= 'A') goto yy1218;
23505 				if (yych <= 'F') goto yy1211;
23506 				goto yy1212;
23507 			}
23508 		}
23509 	} else {
23510 		if (yych <= 'a') {
23511 			if (yych <= 'P') {
23512 				if (yych <= 'O') goto yy1211;
23513 				goto yy1218;
23514 			} else {
23515 				if (yych <= 'Z') goto yy1211;
23516 				if (yych <= '`') goto yy59;
23517 				goto yy1219;
23518 			}
23519 		} else {
23520 			if (yych <= 'z') {
23521 				if (yych == 'p') goto yy1219;
23522 				goto yy1213;
23523 			} else {
23524 				if (yych == 0xC2) goto yy1220;
23525 				goto yy59;
23526 			}
23527 		}
23528 	}
23529 yy1266:
23530 	YYDEBUG(1266, *YYCURSOR);
23531 	++YYCURSOR;
23532 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23533 	yych = *YYCURSOR;
23534 	if (yych == 0xAF) goto yy1304;
23535 	goto yy59;
23536 yy1267:
23537 	YYDEBUG(1267, *YYCURSOR);
23538 	yych = *++YYCURSOR;
23539 	if (yych == 'G') goto yy1305;
23540 	if (yych == 'g') goto yy1305;
23541 	goto yy59;
23542 yy1268:
23543 	YYDEBUG(1268, *YYCURSOR);
23544 	++YYCURSOR;
23545 	YYDEBUG(1269, *YYCURSOR);
23546 #line 1317 "ext/date/lib/parse_date.re"
23547 	{
23548 		timelib_sll i;
23549 		int         behavior = 0;
23550 		DEBUG_OUTPUT("weekdayof");
23551 		TIMELIB_INIT;
23552 		TIMELIB_HAVE_RELATIVE();
23553 		TIMELIB_HAVE_SPECIAL_RELATIVE();
23554 
23555 		i = timelib_get_relative_text(&ptr, &behavior);
23556 		timelib_eat_spaces(&ptr);
23557 		if (i > 0) { /* first, second... etc */
23558 			s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
23559 			timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_DONT_KEEP);
23560 		} else { /* last */
23561 			s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
23562 			timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
23563 		}
23564 		TIMELIB_DEINIT;
23565 		return TIMELIB_WEEK_DAY_OF_MONTH;
23566 	}
23567 #line 23568 "<stdout>"
23568 yy1270:
23569 	YYDEBUG(1270, *YYCURSOR);
23570 	yyaccept = 24;
23571 	yych = *(YYMARKER = ++YYCURSOR);
23572 	if (yych <= 'S') {
23573 		if (yych <= 0x1F) {
23574 			if (yych == '\t') goto yy1157;
23575 			goto yy982;
23576 		} else {
23577 			if (yych <= ' ') goto yy1157;
23578 			if (yych <= 'R') goto yy982;
23579 			goto yy1306;
23580 		}
23581 	} else {
23582 		if (yych <= 0xC1) {
23583 			if (yych == 's') goto yy1306;
23584 			goto yy982;
23585 		} else {
23586 			if (yych <= 0xC2) goto yy1160;
23587 			if (yych == 0xE2) goto yy1161;
23588 			goto yy982;
23589 		}
23590 	}
23591 yy1271:
23592 	YYDEBUG(1271, *YYCURSOR);
23593 	++YYCURSOR;
23594 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23595 	yych = *YYCURSOR;
23596 	if (yych <= 'n') {
23597 		if (yych == 'O') goto yy1228;
23598 		goto yy59;
23599 	} else {
23600 		if (yych <= 'o') goto yy1228;
23601 		if (yych == 0xE2) goto yy1161;
23602 		goto yy59;
23603 	}
23604 yy1272:
23605 	YYDEBUG(1272, *YYCURSOR);
23606 	yych = *++YYCURSOR;
23607 	if (yych == 'E') goto yy1307;
23608 	if (yych == 'e') goto yy1307;
23609 	goto yy59;
23610 yy1273:
23611 	YYDEBUG(1273, *YYCURSOR);
23612 	++YYCURSOR;
23613 	YYDEBUG(1274, *YYCURSOR);
23614 #line 1277 "ext/date/lib/parse_date.re"
23615 	{
23616 		DEBUG_OUTPUT("firstdayof | lastdayof");
23617 		TIMELIB_INIT;
23618 		TIMELIB_HAVE_RELATIVE();
23619 
23620 		/* skip "last day of" or "first day of" */
23621 		if (*ptr == 'l' || *ptr == 'L') {
23622 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
23623 		} else {
23624 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
23625 		}
23626 
23627 		TIMELIB_DEINIT;
23628 		return TIMELIB_LF_DAY_OF_MONTH;
23629 	}
23630 #line 23631 "<stdout>"
23631 yy1275:
23632 	YYDEBUG(1275, *YYCURSOR);
23633 	++YYCURSOR;
23634 	YYDEBUG(1276, *YYCURSOR);
23635 #line 1513 "ext/date/lib/parse_date.re"
23636 	{
23637 		DEBUG_OUTPUT("iso8601datex");
23638 		TIMELIB_INIT;
23639 		TIMELIB_HAVE_DATE();
23640 		s->time->y = timelib_get_signed_nr(s, &ptr, 19);
23641 		s->time->m = timelib_get_nr(&ptr, 2);
23642 		s->time->d = timelib_get_nr(&ptr, 2);
23643 		TIMELIB_DEINIT;
23644 		return TIMELIB_ISO_DATE;
23645 	}
23646 #line 23647 "<stdout>"
23647 yy1277:
23648 	YYDEBUG(1277, *YYCURSOR);
23649 	yych = *++YYCURSOR;
23650 	if (yych <= '9') {
23651 		if (yych == '-') goto yy893;
23652 		if (yych <= '/') goto yy196;
23653 		goto yy1308;
23654 	} else {
23655 		if (yych <= 0xC2) {
23656 			if (yych <= 0xC1) goto yy196;
23657 			goto yy97;
23658 		} else {
23659 			if (yych == 0xE2) goto yy98;
23660 			goto yy196;
23661 		}
23662 	}
23663 yy1278:
23664 	YYDEBUG(1278, *YYCURSOR);
23665 	yych = *++YYCURSOR;
23666 	if (yych <= '/') goto yy59;
23667 	if (yych <= '9') goto yy1309;
23668 	goto yy59;
23669 yy1279:
23670 	YYDEBUG(1279, *YYCURSOR);
23671 	yych = *++YYCURSOR;
23672 	if (yych <= '/') goto yy59;
23673 	if (yych <= '4') goto yy1309;
23674 	goto yy59;
23675 yy1280:
23676 	YYDEBUG(1280, *YYCURSOR);
23677 	yych = *++YYCURSOR;
23678 	if (yych <= '/') goto yy59;
23679 	if (yych <= '9') goto yy1281;
23680 	if (yych <= ':') goto yy1310;
23681 	goto yy59;
23682 yy1281:
23683 	YYDEBUG(1281, *YYCURSOR);
23684 	yych = *++YYCURSOR;
23685 	if (yych == ':') goto yy1310;
23686 	goto yy59;
23687 yy1282:
23688 	YYDEBUG(1282, *YYCURSOR);
23689 	yych = *++YYCURSOR;
23690 	if (yych <= '/') goto yy59;
23691 	if (yych <= '9') goto yy1311;
23692 	if (yych <= ':') goto yy1240;
23693 	goto yy59;
23694 yy1283:
23695 	YYDEBUG(1283, *YYCURSOR);
23696 	yych = *++YYCURSOR;
23697 	if (yych <= '/') goto yy59;
23698 	if (yych <= '4') goto yy1311;
23699 	if (yych == ':') goto yy1240;
23700 	goto yy59;
23701 yy1284:
23702 	YYDEBUG(1284, *YYCURSOR);
23703 	yych = *++YYCURSOR;
23704 	if (yych <= 0xC1) {
23705 		if (yych <= '/') goto yy196;
23706 		if (yych <= '9') goto yy1312;
23707 		goto yy196;
23708 	} else {
23709 		if (yych <= 0xC2) goto yy97;
23710 		if (yych == 0xE2) goto yy98;
23711 		goto yy196;
23712 	}
23713 yy1285:
23714 	YYDEBUG(1285, *YYCURSOR);
23715 	yych = *++YYCURSOR;
23716 	if (yych <= '/') goto yy59;
23717 	if (yych <= '5') goto yy1310;
23718 	if (yych <= '6') goto yy1313;
23719 	if (yych >= ':') goto yy59;
23720 yy1286:
23721 	YYDEBUG(1286, *YYCURSOR);
23722 	yych = *++YYCURSOR;
23723 	if (yych <= '/') goto yy59;
23724 	if (yych <= '5') goto yy1314;
23725 	if (yych <= '6') goto yy1315;
23726 	goto yy59;
23727 yy1287:
23728 	YYDEBUG(1287, *YYCURSOR);
23729 	yych = *++YYCURSOR;
23730 	if (yych <= '/') goto yy59;
23731 	if (yych <= '9') goto yy1316;
23732 	goto yy59;
23733 yy1288:
23734 	YYDEBUG(1288, *YYCURSOR);
23735 	yych = *++YYCURSOR;
23736 	if (yych <= '/') goto yy59;
23737 	if (yych <= '9') goto yy1317;
23738 	goto yy59;
23739 yy1289:
23740 	YYDEBUG(1289, *YYCURSOR);
23741 	yych = *++YYCURSOR;
23742 	if (yych <= '/') goto yy59;
23743 	if (yych <= '4') goto yy1317;
23744 	goto yy59;
23745 yy1290:
23746 	YYDEBUG(1290, *YYCURSOR);
23747 	++YYCURSOR;
23748 	YYDEBUG(1291, *YYCURSOR);
23749 #line 1357 "ext/date/lib/parse_date.re"
23750 	{
23751 		DEBUG_OUTPUT("mssqltime");
23752 		TIMELIB_INIT;
23753 		TIMELIB_HAVE_TIME();
23754 		s->time->h = timelib_get_nr(&ptr, 2);
23755 		s->time->i = timelib_get_nr(&ptr, 2);
23756 		if (*ptr == ':' || *ptr == '.') {
23757 			s->time->s = timelib_get_nr(&ptr, 2);
23758 
23759 			if (*ptr == ':' || *ptr == '.') {
23760 				s->time->us = timelib_get_frac_nr(&ptr);
23761 			}
23762 		}
23763 		timelib_eat_spaces(&ptr);
23764 		s->time->h += timelib_meridian(&ptr, s->time->h);
23765 		TIMELIB_DEINIT;
23766 		return TIMELIB_TIME24_WITH_ZONE;
23767 	}
23768 #line 23769 "<stdout>"
23769 yy1292:
23770 	YYDEBUG(1292, *YYCURSOR);
23771 	yych = *++YYCURSOR;
23772 	if (yych <= '\t') {
23773 		if (yych <= 0x00) goto yy1290;
23774 		if (yych <= 0x08) goto yy59;
23775 		goto yy1290;
23776 	} else {
23777 		if (yych == ' ') goto yy1290;
23778 		goto yy59;
23779 	}
23780 yy1293:
23781 	YYDEBUG(1293, *YYCURSOR);
23782 	++YYCURSOR;
23783 	goto yy1145;
23784 yy1294:
23785 	YYDEBUG(1294, *YYCURSOR);
23786 	yych = *++YYCURSOR;
23787 	if (yych <= '\t') {
23788 		if (yych <= 0x00) goto yy1293;
23789 		if (yych <= 0x08) goto yy59;
23790 		goto yy1293;
23791 	} else {
23792 		if (yych == ' ') goto yy1293;
23793 		goto yy59;
23794 	}
23795 yy1295:
23796 	YYDEBUG(1295, *YYCURSOR);
23797 	++YYCURSOR;
23798 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23799 	yych = *YYCURSOR;
23800 	if (yych <= '`') {
23801 		if (yych <= 'A') {
23802 			if (yych <= '@') goto yy59;
23803 			goto yy1203;
23804 		} else {
23805 			if (yych == 'P') goto yy1203;
23806 			goto yy59;
23807 		}
23808 	} else {
23809 		if (yych <= 'p') {
23810 			if (yych <= 'a') goto yy1203;
23811 			if (yych <= 'o') goto yy59;
23812 			goto yy1203;
23813 		} else {
23814 			if (yych == 0xE2) goto yy1205;
23815 			goto yy59;
23816 		}
23817 	}
23818 yy1296:
23819 	YYDEBUG(1296, *YYCURSOR);
23820 	yyaccept = 20;
23821 	yych = *(YYMARKER = ++YYCURSOR);
23822 	if (yych <= '/') goto yy849;
23823 	if (yych <= '5') goto yy1318;
23824 	if (yych <= '9') goto yy1078;
23825 	if (yych <= ':') goto yy1319;
23826 	goto yy849;
23827 yy1297:
23828 	YYDEBUG(1297, *YYCURSOR);
23829 	yych = *++YYCURSOR;
23830 	if (yych <= '/') goto yy59;
23831 	if (yych <= '5') goto yy1298;
23832 	if (yych <= '9') goto yy1078;
23833 	goto yy59;
23834 yy1298:
23835 	YYDEBUG(1298, *YYCURSOR);
23836 	yych = *++YYCURSOR;
23837 	if (yych <= '/') goto yy849;
23838 	if (yych <= '9') goto yy1078;
23839 	goto yy849;
23840 yy1299:
23841 	YYDEBUG(1299, *YYCURSOR);
23842 	yych = *++YYCURSOR;
23843 	if (yych <= '@') {
23844 		if (yych == ')') goto yy1078;
23845 		goto yy849;
23846 	} else {
23847 		if (yych <= 'Z') goto yy1320;
23848 		if (yych <= '`') goto yy849;
23849 		if (yych <= 'z') goto yy1320;
23850 		goto yy849;
23851 	}
23852 yy1300:
23853 	YYDEBUG(1300, *YYCURSOR);
23854 	++YYCURSOR;
23855 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23856 	yych = *YYCURSOR;
23857 	if (yych <= '@') goto yy59;
23858 	if (yych <= 'Z') goto yy1321;
23859 	if (yych <= '`') goto yy59;
23860 	if (yych <= 'z') goto yy1321;
23861 	goto yy59;
23862 yy1301:
23863 	YYDEBUG(1301, *YYCURSOR);
23864 	yyaccept = 20;
23865 	yych = *(YYMARKER = ++YYCURSOR);
23866 	if (yych <= '/') {
23867 		if (yych <= ',') {
23868 			if (yych == ')') goto yy1078;
23869 			goto yy849;
23870 		} else {
23871 			if (yych == '.') goto yy849;
23872 			goto yy1300;
23873 		}
23874 	} else {
23875 		if (yych <= '^') {
23876 			if (yych <= '@') goto yy849;
23877 			if (yych <= 'Z') goto yy1320;
23878 			goto yy849;
23879 		} else {
23880 			if (yych <= '_') goto yy1300;
23881 			if (yych <= '`') goto yy849;
23882 			if (yych <= 'z') goto yy1323;
23883 			goto yy849;
23884 		}
23885 	}
23886 yy1302:
23887 	YYDEBUG(1302, *YYCURSOR);
23888 	yyaccept = 20;
23889 	yych = *(YYMARKER = ++YYCURSOR);
23890 	if (yych <= ',') {
23891 		if (yych <= ')') {
23892 			if (yych <= '(') goto yy849;
23893 			goto yy1078;
23894 		} else {
23895 			if (yych == '+') goto yy1210;
23896 			goto yy849;
23897 		}
23898 	} else {
23899 		if (yych <= 'Z') {
23900 			if (yych <= '-') goto yy1210;
23901 			if (yych <= '@') goto yy849;
23902 			goto yy1320;
23903 		} else {
23904 			if (yych <= '`') goto yy849;
23905 			if (yych <= 'z') goto yy1320;
23906 			goto yy849;
23907 		}
23908 	}
23909 yy1303:
23910 	YYDEBUG(1303, *YYCURSOR);
23911 	++YYCURSOR;
23912 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23913 	yych = *YYCURSOR;
23914 	if (yych <= '@') {
23915 		if (yych <= '*') {
23916 			if (yych == '(') goto yy1209;
23917 			goto yy59;
23918 		} else {
23919 			if (yych == ',') goto yy59;
23920 			if (yych <= '-') goto yy1210;
23921 			goto yy59;
23922 		}
23923 	} else {
23924 		if (yych <= '`') {
23925 			if (yych == 'G') goto yy1212;
23926 			if (yych <= 'Z') goto yy1211;
23927 			goto yy59;
23928 		} else {
23929 			if (yych <= 'z') goto yy1213;
23930 			if (yych == 0xE2) goto yy1215;
23931 			goto yy59;
23932 		}
23933 	}
23934 yy1304:
23935 	YYDEBUG(1304, *YYCURSOR);
23936 	++YYCURSOR;
23937 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23938 	yych = *YYCURSOR;
23939 	if (yych <= 'G') {
23940 		if (yych <= ',') {
23941 			if (yych <= '(') {
23942 				if (yych <= '\'') goto yy59;
23943 				goto yy1209;
23944 			} else {
23945 				if (yych == '+') goto yy1210;
23946 				goto yy59;
23947 			}
23948 		} else {
23949 			if (yych <= '@') {
23950 				if (yych <= '-') goto yy1210;
23951 				goto yy59;
23952 			} else {
23953 				if (yych <= 'A') goto yy1218;
23954 				if (yych <= 'F') goto yy1211;
23955 				goto yy1212;
23956 			}
23957 		}
23958 	} else {
23959 		if (yych <= 'a') {
23960 			if (yych <= 'P') {
23961 				if (yych <= 'O') goto yy1211;
23962 				goto yy1218;
23963 			} else {
23964 				if (yych <= 'Z') goto yy1211;
23965 				if (yych <= '`') goto yy59;
23966 				goto yy1219;
23967 			}
23968 		} else {
23969 			if (yych <= 'z') {
23970 				if (yych == 'p') goto yy1219;
23971 				goto yy1213;
23972 			} else {
23973 				if (yych == 0xE2) goto yy1221;
23974 				goto yy59;
23975 			}
23976 		}
23977 	}
23978 yy1305:
23979 	YYDEBUG(1305, *YYCURSOR);
23980 	yych = *++YYCURSOR;
23981 	if (yych == 'H') goto yy1324;
23982 	if (yych == 'h') goto yy1324;
23983 	goto yy59;
23984 yy1306:
23985 	YYDEBUG(1306, *YYCURSOR);
23986 	yyaccept = 24;
23987 	yych = *(YYMARKER = ++YYCURSOR);
23988 	if (yych <= ' ') {
23989 		if (yych == '\t') goto yy1157;
23990 		if (yych <= 0x1F) goto yy982;
23991 		goto yy1157;
23992 	} else {
23993 		if (yych <= 0xC2) {
23994 			if (yych <= 0xC1) goto yy982;
23995 			goto yy1160;
23996 		} else {
23997 			if (yych == 0xE2) goto yy1161;
23998 			goto yy982;
23999 		}
24000 	}
24001 yy1307:
24002 	YYDEBUG(1307, *YYCURSOR);
24003 	yych = *++YYCURSOR;
24004 	if (yych == 'C') goto yy1325;
24005 	if (yych == 'c') goto yy1325;
24006 	goto yy59;
24007 yy1308:
24008 	YYDEBUG(1308, *YYCURSOR);
24009 	yych = *++YYCURSOR;
24010 	if (yych <= '9') {
24011 		if (yych == '-') goto yy893;
24012 		if (yych <= '/') goto yy196;
24013 		goto yy1326;
24014 	} else {
24015 		if (yych <= 0xC2) {
24016 			if (yych <= 0xC1) goto yy196;
24017 			goto yy97;
24018 		} else {
24019 			if (yych == 0xE2) goto yy98;
24020 			goto yy196;
24021 		}
24022 	}
24023 yy1309:
24024 	YYDEBUG(1309, *YYCURSOR);
24025 	yych = *++YYCURSOR;
24026 	if (yych == ':') goto yy1327;
24027 	goto yy59;
24028 yy1310:
24029 	YYDEBUG(1310, *YYCURSOR);
24030 	yych = *++YYCURSOR;
24031 	if (yych <= '/') goto yy59;
24032 	if (yych <= '5') goto yy1328;
24033 	if (yych <= '6') goto yy1330;
24034 	if (yych <= '9') goto yy1331;
24035 	goto yy59;
24036 yy1311:
24037 	YYDEBUG(1311, *YYCURSOR);
24038 	yych = *++YYCURSOR;
24039 	if (yych == ':') goto yy1332;
24040 	goto yy59;
24041 yy1312:
24042 	YYDEBUG(1312, *YYCURSOR);
24043 	yych = *++YYCURSOR;
24044 	if (yych == 0xC2) goto yy97;
24045 	if (yych == 0xE2) goto yy98;
24046 	goto yy196;
24047 yy1313:
24048 	YYDEBUG(1313, *YYCURSOR);
24049 	yych = *++YYCURSOR;
24050 	if (yych <= '/') goto yy59;
24051 	if (yych <= '0') goto yy1328;
24052 	if (yych <= '5') goto yy1314;
24053 	if (yych <= '6') goto yy1315;
24054 	goto yy59;
24055 yy1314:
24056 	YYDEBUG(1314, *YYCURSOR);
24057 	yych = *++YYCURSOR;
24058 	if (yych <= '/') goto yy59;
24059 	if (yych <= '9') goto yy1331;
24060 	goto yy59;
24061 yy1315:
24062 	YYDEBUG(1315, *YYCURSOR);
24063 	yych = *++YYCURSOR;
24064 	if (yych == '0') goto yy1331;
24065 	goto yy59;
24066 yy1316:
24067 	YYDEBUG(1316, *YYCURSOR);
24068 	yych = *++YYCURSOR;
24069 	if (yych == ':') goto yy1286;
24070 	goto yy59;
24071 yy1317:
24072 	YYDEBUG(1317, *YYCURSOR);
24073 	yych = *++YYCURSOR;
24074 	if (yych == ':') goto yy1244;
24075 	goto yy59;
24076 yy1318:
24077 	YYDEBUG(1318, *YYCURSOR);
24078 	yych = *++YYCURSOR;
24079 	if (yych <= '/') goto yy849;
24080 	if (yych <= '9') goto yy1333;
24081 	goto yy849;
24082 yy1319:
24083 	YYDEBUG(1319, *YYCURSOR);
24084 	yych = *++YYCURSOR;
24085 	if (yych <= '/') goto yy59;
24086 	if (yych <= '5') goto yy1334;
24087 	if (yych <= '9') goto yy1078;
24088 	goto yy59;
24089 yy1320:
24090 	YYDEBUG(1320, *YYCURSOR);
24091 	yych = *++YYCURSOR;
24092 	if (yych <= '@') {
24093 		if (yych == ')') goto yy1078;
24094 		goto yy849;
24095 	} else {
24096 		if (yych <= 'Z') goto yy1335;
24097 		if (yych <= '`') goto yy849;
24098 		if (yych <= 'z') goto yy1335;
24099 		goto yy849;
24100 	}
24101 yy1321:
24102 	YYDEBUG(1321, *YYCURSOR);
24103 	yyaccept = 20;
24104 	YYMARKER = ++YYCURSOR;
24105 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
24106 	yych = *YYCURSOR;
24107 	YYDEBUG(1322, *YYCURSOR);
24108 	if (yych <= '@') {
24109 		if (yych <= '-') {
24110 			if (yych <= ',') goto yy849;
24111 			goto yy1300;
24112 		} else {
24113 			if (yych == '/') goto yy1300;
24114 			goto yy849;
24115 		}
24116 	} else {
24117 		if (yych <= '_') {
24118 			if (yych <= 'Z') goto yy1321;
24119 			if (yych <= '^') goto yy849;
24120 			goto yy1300;
24121 		} else {
24122 			if (yych <= '`') goto yy849;
24123 			if (yych <= 'z') goto yy1321;
24124 			goto yy849;
24125 		}
24126 	}
24127 yy1323:
24128 	YYDEBUG(1323, *YYCURSOR);
24129 	yyaccept = 20;
24130 	yych = *(YYMARKER = ++YYCURSOR);
24131 	if (yych <= '/') {
24132 		if (yych <= ',') {
24133 			if (yych == ')') goto yy1078;
24134 			goto yy849;
24135 		} else {
24136 			if (yych == '.') goto yy849;
24137 			goto yy1300;
24138 		}
24139 	} else {
24140 		if (yych <= '^') {
24141 			if (yych <= '@') goto yy849;
24142 			if (yych <= 'Z') goto yy1335;
24143 			goto yy849;
24144 		} else {
24145 			if (yych <= '_') goto yy1300;
24146 			if (yych <= '`') goto yy849;
24147 			if (yych <= 'z') goto yy1336;
24148 			goto yy849;
24149 		}
24150 	}
24151 yy1324:
24152 	YYDEBUG(1324, *YYCURSOR);
24153 	yych = *++YYCURSOR;
24154 	if (yych == 'T') goto yy1086;
24155 	if (yych == 't') goto yy1086;
24156 	goto yy59;
24157 yy1325:
24158 	YYDEBUG(1325, *YYCURSOR);
24159 	yych = *++YYCURSOR;
24160 	if (yych == 'O') goto yy1167;
24161 	if (yych == 'o') goto yy1167;
24162 	goto yy59;
24163 yy1326:
24164 	YYDEBUG(1326, *YYCURSOR);
24165 	yych = *++YYCURSOR;
24166 	if (yych <= '9') {
24167 		if (yych == '-') goto yy893;
24168 		if (yych <= '/') goto yy196;
24169 		goto yy1337;
24170 	} else {
24171 		if (yych <= 0xC2) {
24172 			if (yych <= 0xC1) goto yy196;
24173 			goto yy97;
24174 		} else {
24175 			if (yych == 0xE2) goto yy98;
24176 			goto yy196;
24177 		}
24178 	}
24179 yy1327:
24180 	YYDEBUG(1327, *YYCURSOR);
24181 	yych = *++YYCURSOR;
24182 	if (yych <= '/') goto yy59;
24183 	if (yych <= '5') goto yy1338;
24184 	goto yy59;
24185 yy1328:
24186 	YYDEBUG(1328, *YYCURSOR);
24187 	yych = *++YYCURSOR;
24188 	if (yych <= '/') goto yy1329;
24189 	if (yych <= '9') goto yy1331;
24190 yy1329:
24191 	YYDEBUG(1329, *YYCURSOR);
24192 #line 1660 "ext/date/lib/parse_date.re"
24193 	{
24194 		int tz_not_found;
24195 		DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
24196 		TIMELIB_INIT;
24197 		TIMELIB_HAVE_TIME();
24198 		TIMELIB_HAVE_DATE();
24199 		s->time->y = timelib_get_nr(&ptr, 4);
24200 		s->time->m = timelib_get_nr(&ptr, 2);
24201 		s->time->d = timelib_get_nr(&ptr, 2);
24202 		s->time->h = timelib_get_nr(&ptr, 2);
24203 		s->time->i = timelib_get_nr(&ptr, 2);
24204 		s->time->s = timelib_get_nr(&ptr, 2);
24205 		if (*ptr == '.') {
24206 			s->time->us = timelib_get_frac_nr(&ptr);
24207 			if (*ptr) { /* timezone is optional */
24208 				s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24209 				if (tz_not_found) {
24210 					add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
24211 				}
24212 			}
24213 		}
24214 		TIMELIB_DEINIT;
24215 		return TIMELIB_XMLRPC_SOAP;
24216 	}
24217 #line 24218 "<stdout>"
24218 yy1330:
24219 	YYDEBUG(1330, *YYCURSOR);
24220 	yych = *++YYCURSOR;
24221 	if (yych != '0') goto yy1329;
24222 yy1331:
24223 	YYDEBUG(1331, *YYCURSOR);
24224 	++YYCURSOR;
24225 	goto yy1329;
24226 yy1332:
24227 	YYDEBUG(1332, *YYCURSOR);
24228 	yych = *++YYCURSOR;
24229 	if (yych <= '/') goto yy59;
24230 	if (yych <= '5') goto yy1339;
24231 	if (yych <= '9') goto yy1281;
24232 	goto yy59;
24233 yy1333:
24234 	YYDEBUG(1333, *YYCURSOR);
24235 	yyaccept = 20;
24236 	yych = *(YYMARKER = ++YYCURSOR);
24237 	if (yych <= '/') goto yy849;
24238 	if (yych <= '5') goto yy1340;
24239 	if (yych <= '6') goto yy1341;
24240 	goto yy849;
24241 yy1334:
24242 	YYDEBUG(1334, *YYCURSOR);
24243 	yych = *++YYCURSOR;
24244 	if (yych <= '/') goto yy849;
24245 	if (yych <= '9') goto yy1342;
24246 	goto yy849;
24247 yy1335:
24248 	YYDEBUG(1335, *YYCURSOR);
24249 	yych = *++YYCURSOR;
24250 	if (yych <= '@') {
24251 		if (yych == ')') goto yy1078;
24252 		goto yy849;
24253 	} else {
24254 		if (yych <= 'Z') goto yy1343;
24255 		if (yych <= '`') goto yy849;
24256 		if (yych <= 'z') goto yy1343;
24257 		goto yy849;
24258 	}
24259 yy1336:
24260 	YYDEBUG(1336, *YYCURSOR);
24261 	yyaccept = 20;
24262 	yych = *(YYMARKER = ++YYCURSOR);
24263 	if (yych <= '/') {
24264 		if (yych <= ',') {
24265 			if (yych == ')') goto yy1078;
24266 			goto yy849;
24267 		} else {
24268 			if (yych == '.') goto yy849;
24269 			goto yy1300;
24270 		}
24271 	} else {
24272 		if (yych <= '^') {
24273 			if (yych <= '@') goto yy849;
24274 			if (yych <= 'Z') goto yy1343;
24275 			goto yy849;
24276 		} else {
24277 			if (yych <= '_') goto yy1300;
24278 			if (yych <= '`') goto yy849;
24279 			if (yych <= 'z') goto yy1344;
24280 			goto yy849;
24281 		}
24282 	}
24283 yy1337:
24284 	YYDEBUG(1337, *YYCURSOR);
24285 	yych = *++YYCURSOR;
24286 	if (yych == '-') goto yy893;
24287 	if (yych <= '/') goto yy59;
24288 	if (yych <= '9') goto yy1345;
24289 	goto yy59;
24290 yy1338:
24291 	YYDEBUG(1338, *YYCURSOR);
24292 	yych = *++YYCURSOR;
24293 	if (yych <= '/') goto yy59;
24294 	if (yych <= '9') goto yy1346;
24295 	goto yy59;
24296 yy1339:
24297 	YYDEBUG(1339, *YYCURSOR);
24298 	yych = *++YYCURSOR;
24299 	if (yych <= '/') goto yy59;
24300 	if (yych <= '9') goto yy1347;
24301 	if (yych <= ':') goto yy1310;
24302 	goto yy59;
24303 yy1340:
24304 	YYDEBUG(1340, *YYCURSOR);
24305 	yych = *++YYCURSOR;
24306 	if (yych <= '/') goto yy59;
24307 	if (yych <= '9') goto yy1078;
24308 	goto yy59;
24309 yy1341:
24310 	YYDEBUG(1341, *YYCURSOR);
24311 	yych = *++YYCURSOR;
24312 	if (yych == '0') goto yy1078;
24313 	goto yy59;
24314 yy1342:
24315 	YYDEBUG(1342, *YYCURSOR);
24316 	yyaccept = 20;
24317 	yych = *(YYMARKER = ++YYCURSOR);
24318 	if (yych == ':') goto yy1348;
24319 	goto yy849;
24320 yy1343:
24321 	YYDEBUG(1343, *YYCURSOR);
24322 	yych = *++YYCURSOR;
24323 	if (yych == ')') goto yy1078;
24324 	goto yy849;
24325 yy1344:
24326 	YYDEBUG(1344, *YYCURSOR);
24327 	yyaccept = 20;
24328 	yych = *(YYMARKER = ++YYCURSOR);
24329 	if (yych <= '.') {
24330 		if (yych <= ')') {
24331 			if (yych <= '(') goto yy849;
24332 			goto yy1078;
24333 		} else {
24334 			if (yych == '-') goto yy1300;
24335 			goto yy849;
24336 		}
24337 	} else {
24338 		if (yych <= '_') {
24339 			if (yych <= '/') goto yy1300;
24340 			if (yych <= '^') goto yy849;
24341 			goto yy1300;
24342 		} else {
24343 			if (yych <= '`') goto yy849;
24344 			if (yych <= 'z') goto yy1349;
24345 			goto yy849;
24346 		}
24347 	}
24348 yy1345:
24349 	YYDEBUG(1345, *YYCURSOR);
24350 	yych = *++YYCURSOR;
24351 	if (yych == '-') goto yy893;
24352 	if (yych <= '/') goto yy59;
24353 	if (yych <= '9') goto yy1351;
24354 	goto yy59;
24355 yy1346:
24356 	YYDEBUG(1346, *YYCURSOR);
24357 	yych = *++YYCURSOR;
24358 	if (yych == ':') goto yy1352;
24359 	goto yy59;
24360 yy1347:
24361 	YYDEBUG(1347, *YYCURSOR);
24362 	yych = *++YYCURSOR;
24363 	if (yych == ':') goto yy1353;
24364 	goto yy59;
24365 yy1348:
24366 	YYDEBUG(1348, *YYCURSOR);
24367 	yych = *++YYCURSOR;
24368 	if (yych <= '/') goto yy59;
24369 	if (yych <= '5') goto yy1340;
24370 	if (yych <= '6') goto yy1341;
24371 	goto yy59;
24372 yy1349:
24373 	YYDEBUG(1349, *YYCURSOR);
24374 	++YYCURSOR;
24375 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
24376 	yych = *YYCURSOR;
24377 	YYDEBUG(1350, *YYCURSOR);
24378 	if (yych <= '/') {
24379 		if (yych == '-') goto yy1300;
24380 		if (yych <= '.') goto yy59;
24381 		goto yy1300;
24382 	} else {
24383 		if (yych <= '_') {
24384 			if (yych <= '^') goto yy59;
24385 			goto yy1300;
24386 		} else {
24387 			if (yych <= '`') goto yy59;
24388 			if (yych <= 'z') goto yy1349;
24389 			goto yy59;
24390 		}
24391 	}
24392 yy1351:
24393 	YYDEBUG(1351, *YYCURSOR);
24394 	yych = *++YYCURSOR;
24395 	if (yych == '-') goto yy893;
24396 	if (yych <= '/') goto yy59;
24397 	if (yych <= '9') goto yy1354;
24398 	goto yy59;
24399 yy1352:
24400 	YYDEBUG(1352, *YYCURSOR);
24401 	yych = *++YYCURSOR;
24402 	if (yych <= '/') goto yy59;
24403 	if (yych <= '5') goto yy1355;
24404 	if (yych <= '6') goto yy1356;
24405 	goto yy59;
24406 yy1353:
24407 	YYDEBUG(1353, *YYCURSOR);
24408 	yych = *++YYCURSOR;
24409 	if (yych <= '/') goto yy59;
24410 	if (yych <= '5') goto yy1357;
24411 	if (yych <= '6') goto yy1358;
24412 	if (yych <= '9') goto yy1331;
24413 	goto yy59;
24414 yy1354:
24415 	YYDEBUG(1354, *YYCURSOR);
24416 	yych = *++YYCURSOR;
24417 	if (yych == '-') goto yy893;
24418 	if (yych <= '/') goto yy59;
24419 	if (yych <= '9') goto yy1359;
24420 	goto yy59;
24421 yy1355:
24422 	YYDEBUG(1355, *YYCURSOR);
24423 	yych = *++YYCURSOR;
24424 	if (yych <= '/') goto yy59;
24425 	if (yych <= '9') goto yy1360;
24426 	goto yy59;
24427 yy1356:
24428 	YYDEBUG(1356, *YYCURSOR);
24429 	yych = *++YYCURSOR;
24430 	if (yych == '0') goto yy1360;
24431 	goto yy59;
24432 yy1357:
24433 	YYDEBUG(1357, *YYCURSOR);
24434 	yych = *++YYCURSOR;
24435 	if (yych <= '/') goto yy1329;
24436 	if (yych <= '9') goto yy1361;
24437 	goto yy1329;
24438 yy1358:
24439 	YYDEBUG(1358, *YYCURSOR);
24440 	yych = *++YYCURSOR;
24441 	if (yych == '0') goto yy1361;
24442 	goto yy1329;
24443 yy1359:
24444 	YYDEBUG(1359, *YYCURSOR);
24445 	yych = *++YYCURSOR;
24446 	if (yych == '-') goto yy893;
24447 	if (yych <= '/') goto yy59;
24448 	if (yych <= '9') goto yy1362;
24449 	goto yy59;
24450 yy1360:
24451 	YYDEBUG(1360, *YYCURSOR);
24452 	yych = *++YYCURSOR;
24453 	if (yych <= ' ') {
24454 		if (yych == '\t') goto yy1363;
24455 		if (yych <= 0x1F) goto yy59;
24456 		goto yy1363;
24457 	} else {
24458 		if (yych <= 0xC2) {
24459 			if (yych <= 0xC1) goto yy59;
24460 			goto yy1365;
24461 		} else {
24462 			if (yych == 0xE2) goto yy1366;
24463 			goto yy59;
24464 		}
24465 	}
24466 yy1361:
24467 	YYDEBUG(1361, *YYCURSOR);
24468 	yyaccept = 32;
24469 	yych = *(YYMARKER = ++YYCURSOR);
24470 	if (yych == '.') goto yy1367;
24471 	goto yy1329;
24472 yy1362:
24473 	YYDEBUG(1362, *YYCURSOR);
24474 	yych = *++YYCURSOR;
24475 	if (yych == '-') goto yy893;
24476 	goto yy59;
24477 yy1363:
24478 	YYDEBUG(1363, *YYCURSOR);
24479 	++YYCURSOR;
24480 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24481 	yych = *YYCURSOR;
24482 	YYDEBUG(1364, *YYCURSOR);
24483 	if (yych <= '*') {
24484 		if (yych <= '\t') {
24485 			if (yych <= 0x08) goto yy59;
24486 			goto yy1363;
24487 		} else {
24488 			if (yych == ' ') goto yy1363;
24489 			goto yy59;
24490 		}
24491 	} else {
24492 		if (yych <= '-') {
24493 			if (yych == ',') goto yy59;
24494 			goto yy1368;
24495 		} else {
24496 			if (yych == 'G') goto yy1369;
24497 			goto yy59;
24498 		}
24499 	}
24500 yy1365:
24501 	YYDEBUG(1365, *YYCURSOR);
24502 	++YYCURSOR;
24503 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
24504 	yych = *YYCURSOR;
24505 	if (yych == 0xA0) goto yy1370;
24506 	goto yy59;
24507 yy1366:
24508 	YYDEBUG(1366, *YYCURSOR);
24509 	++YYCURSOR;
24510 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
24511 	yych = *YYCURSOR;
24512 	if (yych == 0x80) goto yy1371;
24513 	goto yy59;
24514 yy1367:
24515 	YYDEBUG(1367, *YYCURSOR);
24516 	yych = *++YYCURSOR;
24517 	if (yych <= '/') goto yy59;
24518 	if (yych <= '9') goto yy1372;
24519 	goto yy59;
24520 yy1368:
24521 	YYDEBUG(1368, *YYCURSOR);
24522 	yych = *++YYCURSOR;
24523 	if (yych <= '/') goto yy59;
24524 	if (yych <= '1') goto yy1374;
24525 	if (yych <= '2') goto yy1376;
24526 	if (yych <= '9') goto yy1377;
24527 	goto yy59;
24528 yy1369:
24529 	YYDEBUG(1369, *YYCURSOR);
24530 	yych = *++YYCURSOR;
24531 	if (yych == 'M') goto yy1378;
24532 	goto yy59;
24533 yy1370:
24534 	YYDEBUG(1370, *YYCURSOR);
24535 	++YYCURSOR;
24536 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24537 	yych = *YYCURSOR;
24538 	if (yych <= '-') {
24539 		if (yych == '+') goto yy1368;
24540 		if (yych <= ',') goto yy59;
24541 		goto yy1368;
24542 	} else {
24543 		if (yych <= 'G') {
24544 			if (yych <= 'F') goto yy59;
24545 			goto yy1369;
24546 		} else {
24547 			if (yych == 0xC2) goto yy1365;
24548 			goto yy59;
24549 		}
24550 	}
24551 yy1371:
24552 	YYDEBUG(1371, *YYCURSOR);
24553 	++YYCURSOR;
24554 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
24555 	yych = *YYCURSOR;
24556 	if (yych == 0xAF) goto yy1379;
24557 	goto yy59;
24558 yy1372:
24559 	YYDEBUG(1372, *YYCURSOR);
24560 	yyaccept = 32;
24561 	YYMARKER = ++YYCURSOR;
24562 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24563 	yych = *YYCURSOR;
24564 	YYDEBUG(1373, *YYCURSOR);
24565 	if (yych <= '-') {
24566 		if (yych == '+') goto yy1380;
24567 		if (yych <= ',') goto yy1329;
24568 		goto yy1380;
24569 	} else {
24570 		if (yych <= '9') {
24571 			if (yych <= '/') goto yy1329;
24572 			goto yy1372;
24573 		} else {
24574 			if (yych == 'G') goto yy1381;
24575 			goto yy1329;
24576 		}
24577 	}
24578 yy1374:
24579 	YYDEBUG(1374, *YYCURSOR);
24580 	yyaccept = 33;
24581 	yych = *(YYMARKER = ++YYCURSOR);
24582 	if (yych <= '/') goto yy1375;
24583 	if (yych <= '9') goto yy1382;
24584 	if (yych <= ':') goto yy1383;
24585 yy1375:
24586 	YYDEBUG(1375, *YYCURSOR);
24587 #line 1766 "ext/date/lib/parse_date.re"
24588 	{
24589 		int tz_not_found;
24590 		DEBUG_OUTPUT("clf");
24591 		TIMELIB_INIT;
24592 		TIMELIB_HAVE_TIME();
24593 		TIMELIB_HAVE_DATE();
24594 		s->time->d = timelib_get_nr(&ptr, 2);
24595 		s->time->m = timelib_get_month(&ptr);
24596 		s->time->y = timelib_get_nr(&ptr, 4);
24597 		s->time->h = timelib_get_nr(&ptr, 2);
24598 		s->time->i = timelib_get_nr(&ptr, 2);
24599 		s->time->s = timelib_get_nr(&ptr, 2);
24600 
24601 		timelib_eat_spaces(&ptr);
24602 
24603 		s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24604 		if (tz_not_found) {
24605 			add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
24606 		}
24607 		TIMELIB_DEINIT;
24608 		return TIMELIB_CLF;
24609 	}
24610 #line 24611 "<stdout>"
24611 yy1376:
24612 	YYDEBUG(1376, *YYCURSOR);
24613 	yyaccept = 33;
24614 	yych = *(YYMARKER = ++YYCURSOR);
24615 	if (yych <= '5') {
24616 		if (yych <= '/') goto yy1375;
24617 		if (yych <= '4') goto yy1382;
24618 		goto yy1384;
24619 	} else {
24620 		if (yych <= '9') goto yy1385;
24621 		if (yych <= ':') goto yy1383;
24622 		goto yy1375;
24623 	}
24624 yy1377:
24625 	YYDEBUG(1377, *YYCURSOR);
24626 	yyaccept = 33;
24627 	yych = *(YYMARKER = ++YYCURSOR);
24628 	if (yych <= '/') goto yy1375;
24629 	if (yych <= '5') goto yy1384;
24630 	if (yych <= '9') goto yy1385;
24631 	if (yych <= ':') goto yy1383;
24632 	goto yy1375;
24633 yy1378:
24634 	YYDEBUG(1378, *YYCURSOR);
24635 	yych = *++YYCURSOR;
24636 	if (yych == 'T') goto yy1386;
24637 	goto yy59;
24638 yy1379:
24639 	YYDEBUG(1379, *YYCURSOR);
24640 	++YYCURSOR;
24641 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24642 	yych = *YYCURSOR;
24643 	if (yych <= '-') {
24644 		if (yych == '+') goto yy1368;
24645 		if (yych <= ',') goto yy59;
24646 		goto yy1368;
24647 	} else {
24648 		if (yych <= 'G') {
24649 			if (yych <= 'F') goto yy59;
24650 			goto yy1369;
24651 		} else {
24652 			if (yych == 0xE2) goto yy1366;
24653 			goto yy59;
24654 		}
24655 	}
24656 yy1380:
24657 	YYDEBUG(1380, *YYCURSOR);
24658 	yych = *++YYCURSOR;
24659 	if (yych <= '/') goto yy59;
24660 	if (yych <= '1') goto yy1387;
24661 	if (yych <= '2') goto yy1388;
24662 	if (yych <= '9') goto yy1389;
24663 	goto yy59;
24664 yy1381:
24665 	YYDEBUG(1381, *YYCURSOR);
24666 	yych = *++YYCURSOR;
24667 	if (yych == 'M') goto yy1390;
24668 	goto yy59;
24669 yy1382:
24670 	YYDEBUG(1382, *YYCURSOR);
24671 	yyaccept = 33;
24672 	yych = *(YYMARKER = ++YYCURSOR);
24673 	if (yych <= '/') goto yy1375;
24674 	if (yych <= '5') goto yy1391;
24675 	if (yych <= '9') goto yy1385;
24676 	if (yych <= ':') goto yy1392;
24677 	goto yy1375;
24678 yy1383:
24679 	YYDEBUG(1383, *YYCURSOR);
24680 	yych = *++YYCURSOR;
24681 	if (yych <= '/') goto yy59;
24682 	if (yych <= '5') goto yy1384;
24683 	if (yych <= '9') goto yy1385;
24684 	goto yy59;
24685 yy1384:
24686 	YYDEBUG(1384, *YYCURSOR);
24687 	yych = *++YYCURSOR;
24688 	if (yych <= '/') goto yy1375;
24689 	if (yych >= ':') goto yy1375;
24690 yy1385:
24691 	YYDEBUG(1385, *YYCURSOR);
24692 	++YYCURSOR;
24693 	goto yy1375;
24694 yy1386:
24695 	YYDEBUG(1386, *YYCURSOR);
24696 	yych = *++YYCURSOR;
24697 	if (yych == '+') goto yy1368;
24698 	if (yych == '-') goto yy1368;
24699 	goto yy59;
24700 yy1387:
24701 	YYDEBUG(1387, *YYCURSOR);
24702 	yyaccept = 32;
24703 	yych = *(YYMARKER = ++YYCURSOR);
24704 	if (yych <= '/') goto yy1329;
24705 	if (yych <= '9') goto yy1393;
24706 	if (yych <= ':') goto yy1394;
24707 	goto yy1329;
24708 yy1388:
24709 	YYDEBUG(1388, *YYCURSOR);
24710 	yyaccept = 32;
24711 	yych = *(YYMARKER = ++YYCURSOR);
24712 	if (yych <= '5') {
24713 		if (yych <= '/') goto yy1329;
24714 		if (yych <= '4') goto yy1393;
24715 		goto yy1328;
24716 	} else {
24717 		if (yych <= '9') goto yy1331;
24718 		if (yych <= ':') goto yy1394;
24719 		goto yy1329;
24720 	}
24721 yy1389:
24722 	YYDEBUG(1389, *YYCURSOR);
24723 	yyaccept = 32;
24724 	yych = *(YYMARKER = ++YYCURSOR);
24725 	if (yych <= '/') goto yy1329;
24726 	if (yych <= '5') goto yy1328;
24727 	if (yych <= '9') goto yy1331;
24728 	if (yych <= ':') goto yy1394;
24729 	goto yy1329;
24730 yy1390:
24731 	YYDEBUG(1390, *YYCURSOR);
24732 	yych = *++YYCURSOR;
24733 	if (yych == 'T') goto yy1395;
24734 	goto yy59;
24735 yy1391:
24736 	YYDEBUG(1391, *YYCURSOR);
24737 	yych = *++YYCURSOR;
24738 	if (yych <= '/') goto yy1375;
24739 	if (yych <= '9') goto yy1396;
24740 	goto yy1375;
24741 yy1392:
24742 	YYDEBUG(1392, *YYCURSOR);
24743 	yych = *++YYCURSOR;
24744 	if (yych <= '/') goto yy59;
24745 	if (yych <= '5') goto yy1397;
24746 	if (yych <= '9') goto yy1385;
24747 	goto yy59;
24748 yy1393:
24749 	YYDEBUG(1393, *YYCURSOR);
24750 	yyaccept = 32;
24751 	yych = *(YYMARKER = ++YYCURSOR);
24752 	if (yych <= '/') goto yy1329;
24753 	if (yych <= '5') goto yy1398;
24754 	if (yych <= '9') goto yy1331;
24755 	if (yych <= ':') goto yy1399;
24756 	goto yy1329;
24757 yy1394:
24758 	YYDEBUG(1394, *YYCURSOR);
24759 	yych = *++YYCURSOR;
24760 	if (yych <= '/') goto yy59;
24761 	if (yych <= '5') goto yy1328;
24762 	if (yych <= '9') goto yy1331;
24763 	goto yy59;
24764 yy1395:
24765 	YYDEBUG(1395, *YYCURSOR);
24766 	yych = *++YYCURSOR;
24767 	if (yych == '+') goto yy1380;
24768 	if (yych == '-') goto yy1380;
24769 	goto yy59;
24770 yy1396:
24771 	YYDEBUG(1396, *YYCURSOR);
24772 	yyaccept = 33;
24773 	yych = *(YYMARKER = ++YYCURSOR);
24774 	if (yych <= '/') goto yy1375;
24775 	if (yych <= '5') goto yy1400;
24776 	if (yych <= '6') goto yy1401;
24777 	goto yy1375;
24778 yy1397:
24779 	YYDEBUG(1397, *YYCURSOR);
24780 	yych = *++YYCURSOR;
24781 	if (yych <= '/') goto yy1375;
24782 	if (yych <= '9') goto yy1402;
24783 	goto yy1375;
24784 yy1398:
24785 	YYDEBUG(1398, *YYCURSOR);
24786 	yych = *++YYCURSOR;
24787 	if (yych <= '/') goto yy1329;
24788 	if (yych <= '9') goto yy1403;
24789 	goto yy1329;
24790 yy1399:
24791 	YYDEBUG(1399, *YYCURSOR);
24792 	yych = *++YYCURSOR;
24793 	if (yych <= '/') goto yy59;
24794 	if (yych <= '5') goto yy1404;
24795 	if (yych <= '9') goto yy1331;
24796 	goto yy59;
24797 yy1400:
24798 	YYDEBUG(1400, *YYCURSOR);
24799 	yych = *++YYCURSOR;
24800 	if (yych <= '/') goto yy59;
24801 	if (yych <= '9') goto yy1385;
24802 	goto yy59;
24803 yy1401:
24804 	YYDEBUG(1401, *YYCURSOR);
24805 	yych = *++YYCURSOR;
24806 	if (yych == '0') goto yy1385;
24807 	goto yy59;
24808 yy1402:
24809 	YYDEBUG(1402, *YYCURSOR);
24810 	yyaccept = 33;
24811 	yych = *(YYMARKER = ++YYCURSOR);
24812 	if (yych == ':') goto yy1405;
24813 	goto yy1375;
24814 yy1403:
24815 	YYDEBUG(1403, *YYCURSOR);
24816 	yyaccept = 32;
24817 	yych = *(YYMARKER = ++YYCURSOR);
24818 	if (yych <= '/') goto yy1329;
24819 	if (yych <= '5') goto yy1314;
24820 	if (yych <= '6') goto yy1315;
24821 	goto yy1329;
24822 yy1404:
24823 	YYDEBUG(1404, *YYCURSOR);
24824 	yych = *++YYCURSOR;
24825 	if (yych <= '/') goto yy1329;
24826 	if (yych <= '9') goto yy1406;
24827 	goto yy1329;
24828 yy1405:
24829 	YYDEBUG(1405, *YYCURSOR);
24830 	yych = *++YYCURSOR;
24831 	if (yych <= '/') goto yy59;
24832 	if (yych <= '5') goto yy1400;
24833 	if (yych <= '6') goto yy1401;
24834 	goto yy59;
24835 yy1406:
24836 	YYDEBUG(1406, *YYCURSOR);
24837 	yyaccept = 32;
24838 	yych = *(YYMARKER = ++YYCURSOR);
24839 	if (yych == ':') goto yy1286;
24840 	goto yy1329;
24841 }
24842 #line 1994 "ext/date/lib/parse_date.re"
24843 
24844 }
24845 
24846 #define YYMAXFILL 36
24847 
24848 
timelib_strtotime(const char * s,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)24849 timelib_time *timelib_strtotime(const char *s, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
24850 {
24851 	Scanner in;
24852 	int t;
24853 	const char *e = s + len - 1;
24854 
24855 	memset(&in, 0, sizeof(in));
24856 	in.errors = timelib_malloc(sizeof(timelib_error_container));
24857 	in.errors->warning_count = 0;
24858 	in.errors->warning_messages = NULL;
24859 	in.errors->error_count = 0;
24860 	in.errors->error_messages = NULL;
24861 
24862 	if (len > 0) {
24863 		while (isspace(*s) && s < e) {
24864 			s++;
24865 		}
24866 		while (isspace(*e) && e > s) {
24867 			e--;
24868 		}
24869 	}
24870 	if (e - s < 0) {
24871 		in.time = timelib_time_ctor();
24872 		add_error(&in, TIMELIB_ERR_EMPTY_STRING, "Empty string");
24873 		if (errors) {
24874 			*errors = in.errors;
24875 		} else {
24876 			timelib_error_container_dtor(in.errors);
24877 		}
24878 		in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->us = in.time->dst = in.time->z = TIMELIB_UNSET;
24879 		in.time->is_localtime = in.time->zone_type = 0;
24880 		return in.time;
24881 	}
24882 	e++;
24883 
24884 	in.str = timelib_malloc((e - s) + YYMAXFILL);
24885 	memset(in.str, 0, (e - s) + YYMAXFILL);
24886 	memcpy(in.str, s, (e - s));
24887 	in.lim = in.str + (e - s) + YYMAXFILL;
24888 	in.cur = in.str;
24889 	in.time = timelib_time_ctor();
24890 	in.time->y = TIMELIB_UNSET;
24891 	in.time->d = TIMELIB_UNSET;
24892 	in.time->m = TIMELIB_UNSET;
24893 	in.time->h = TIMELIB_UNSET;
24894 	in.time->i = TIMELIB_UNSET;
24895 	in.time->s = TIMELIB_UNSET;
24896 	in.time->us = TIMELIB_UNSET;
24897 	in.time->z = TIMELIB_UNSET;
24898 	in.time->dst = TIMELIB_UNSET;
24899 	in.tzdb = tzdb;
24900 	in.time->is_localtime = 0;
24901 	in.time->zone_type = 0;
24902 	in.time->relative.days = TIMELIB_UNSET;
24903 
24904 	do {
24905 		t = scan(&in, tz_get_wrapper);
24906 #ifdef DEBUG_PARSER
24907 		printf("%d\n", t);
24908 #endif
24909 	} while(t != EOI);
24910 
24911 	/* do funky checking whether the parsed time was valid time */
24912 	if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
24913 		add_warning(&in, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid");
24914 	}
24915 	/* do funky checking whether the parsed date was valid date */
24916 	if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
24917 		add_warning(&in, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid");
24918 	}
24919 
24920 	timelib_free(in.str);
24921 	if (errors) {
24922 		*errors = in.errors;
24923 	} else {
24924 		timelib_error_container_dtor(in.errors);
24925 	}
24926 	return in.time;
24927 }
24928 
24929 #define TIMELIB_CHECK_NUMBER                                           \
24930 		if (strchr("0123456789", *ptr) == NULL)                        \
24931 		{                                                              \
24932 			add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \
24933 		}
24934 #define TIMELIB_CHECK_SIGNED_NUMBER                                    \
24935 		if (strchr("+-0123456789", *ptr) == NULL)                      \
24936 		{                                                              \
24937 			add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \
24938 		}
24939 
timelib_time_reset_fields(timelib_time * time)24940 static void timelib_time_reset_fields(timelib_time *time)
24941 {
24942 	assert(time != NULL);
24943 
24944 	time->y = 1970;
24945 	time->m = 1;
24946 	time->d = 1;
24947 	time->h = time->i = time->s = 0;
24948 	time->us = 0;
24949 	time->tz_info = NULL;
24950 }
24951 
timelib_time_reset_unset_fields(timelib_time * time)24952 static void timelib_time_reset_unset_fields(timelib_time *time)
24953 {
24954 	assert(time != NULL);
24955 
24956 	if (time->y == TIMELIB_UNSET ) time->y = 1970;
24957 	if (time->m == TIMELIB_UNSET ) time->m = 1;
24958 	if (time->d == TIMELIB_UNSET ) time->d = 1;
24959 	if (time->h == TIMELIB_UNSET ) time->h = 0;
24960 	if (time->i == TIMELIB_UNSET ) time->i = 0;
24961 	if (time->s == TIMELIB_UNSET ) time->s = 0;
24962 	if (time->us == TIMELIB_UNSET ) time->us = 0;
24963 }
24964 
24965 static const timelib_format_specifier default_format_map[] = {
24966 	{'+', TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS},
24967 	{'#', TIMELIB_FORMAT_ANY_SEPARATOR},
24968 	{'j', TIMELIB_FORMAT_DAY_TWO_DIGIT},
24969 	{'d', TIMELIB_FORMAT_DAY_TWO_DIGIT_PADDED},
24970 	{'z', TIMELIB_FORMAT_DAY_OF_YEAR},
24971 	{'S', TIMELIB_FORMAT_DAY_SUFFIX},
24972 	{'U', TIMELIB_FORMAT_EPOCH_SECONDS},
24973 	{'\\', TIMELIB_FORMAT_ESCAPE},
24974 	{'h', TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX},
24975 	{'g', TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX_PADDED},
24976 	{'H', TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX},
24977 	{'G', TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX_PADDED},
24978 	{'a', TIMELIB_FORMAT_MERIDIAN},
24979 	{'A', TIMELIB_FORMAT_MERIDIAN},
24980 	{'u', TIMELIB_FORMAT_MICROSECOND_SIX_DIGIT},
24981 	{'v', TIMELIB_FORMAT_MILLISECOND_THREE_DIGIT},
24982 	{'i', TIMELIB_FORMAT_MINUTE_TWO_DIGIT},
24983 	{'n', TIMELIB_FORMAT_MONTH_TWO_DIGIT},
24984 	{'m', TIMELIB_FORMAT_MONTH_TWO_DIGIT_PADDED},
24985 	{'?', TIMELIB_FORMAT_RANDOM_CHAR},
24986 	{'!', TIMELIB_FORMAT_RESET_ALL},
24987 	{'|', TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET},
24988 	{'s', TIMELIB_FORMAT_SECOND_TWO_DIGIT},
24989 	{';', TIMELIB_FORMAT_SEPARATOR},
24990 	{':', TIMELIB_FORMAT_SEPARATOR},
24991 	{'/', TIMELIB_FORMAT_SEPARATOR},
24992 	{'.', TIMELIB_FORMAT_SEPARATOR},
24993 	{',', TIMELIB_FORMAT_SEPARATOR},
24994 	{'-', TIMELIB_FORMAT_SEPARATOR},
24995 	{'(', TIMELIB_FORMAT_SEPARATOR},
24996 	{')', TIMELIB_FORMAT_SEPARATOR},
24997 	{'*', TIMELIB_FORMAT_SKIP_TO_SEPARATOR},
24998 	{'D', TIMELIB_FORMAT_TEXTUAL_DAY_3_LETTER},
24999 	{'l', TIMELIB_FORMAT_TEXTUAL_DAY_FULL},
25000 	{'M', TIMELIB_FORMAT_TEXTUAL_MONTH_3_LETTER},
25001 	{'F', TIMELIB_FORMAT_TEXTUAL_MONTH_FULL},
25002 	{'e', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25003 	{'P', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25004 	{'p', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25005 	{'T', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25006 	{'O', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25007 	{' ', TIMELIB_FORMAT_WHITESPACE},
25008 	{'y', TIMELIB_FORMAT_YEAR_TWO_DIGIT},
25009 	{'Y', TIMELIB_FORMAT_YEAR_FOUR_DIGIT},
25010 	{'x', TIMELIB_FORMAT_YEAR_EXPANDED},
25011 	{'X', TIMELIB_FORMAT_YEAR_EXPANDED},
25012 	{'\0', TIMELIB_FORMAT_END}
25013 };
25014 
25015 static const timelib_format_config default_format_config = {
25016 	default_format_map,
25017 	// No prefix required by default.
25018 	'\0'
25019 };
25020 
timelib_lookup_format(char input,const timelib_format_specifier * format_map)25021 static timelib_format_specifier_code timelib_lookup_format(char input, const timelib_format_specifier* format_map)
25022 {
25023 	while (format_map && format_map->specifier != '\0') {
25024 		if (format_map->specifier == input) {
25025 			return format_map->code;
25026 		}
25027 		format_map++;
25028 	}
25029 	return TIMELIB_FORMAT_LITERAL;
25030 }
25031 
timelib_parse_from_format(const char * format,const char * string,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)25032 timelib_time *timelib_parse_from_format(const char *format, const char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
25033 {
25034 	return timelib_parse_from_format_with_map(format, string, len, errors, tzdb, tz_get_wrapper, &default_format_config);
25035 }
25036 
timelib_parse_from_format_with_map(const char * format,const char * string,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper,const timelib_format_config * format_config)25037 timelib_time *timelib_parse_from_format_with_map(const char *format, const char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper, const timelib_format_config* format_config)
25038 {
25039 	const char  *fptr = format;
25040 	const char  *ptr = string;
25041 	const char  *begin;
25042 	timelib_sll  tmp;
25043 	Scanner      in;
25044 	Scanner     *s = &in;
25045 	bool         allow_extra = false;
25046 	bool         prefix_found = false;
25047 	int          iso_year = TIMELIB_UNSET;
25048 	int          iso_week_of_year = TIMELIB_UNSET;
25049 	int          iso_day_of_week = TIMELIB_UNSET;
25050 	char         prefix_char = format_config->prefix_char;
25051 	const timelib_format_specifier *format_map = format_config->format_map;
25052 
25053 	memset(&in, 0, sizeof(in));
25054 	in.errors = timelib_malloc(sizeof(timelib_error_container));
25055 	in.errors->warning_count = 0;
25056 	in.errors->warning_messages = NULL;
25057 	in.errors->error_count = 0;
25058 	in.errors->error_messages = NULL;
25059 
25060 	in.time = timelib_time_ctor();
25061 	in.time->y = TIMELIB_UNSET;
25062 	in.time->d = TIMELIB_UNSET;
25063 	in.time->m = TIMELIB_UNSET;
25064 	in.time->h = TIMELIB_UNSET;
25065 	in.time->i = TIMELIB_UNSET;
25066 	in.time->s = TIMELIB_UNSET;
25067 	in.time->us = TIMELIB_UNSET;
25068 	in.time->z = TIMELIB_UNSET;
25069 	in.time->dst = TIMELIB_UNSET;
25070 	in.tzdb = tzdb;
25071 	in.time->is_localtime = 0;
25072 	in.time->zone_type = 0;
25073 
25074 	/* Loop over the format string */
25075 	while (*fptr && *ptr) {
25076 		begin = ptr;
25077 
25078 		if (prefix_char) {
25079 			/* There are 2 cases where the input string and format string
25080 			 * should match the next literal:
25081 			 *
25082 			 * 1. No prefix has been specified yet in the format, so expect 1:1
25083 			 *    match.
25084 			 * 2. Sequential prefix characters indicating that the second
25085 			 *    prefix is escaped. (e.g. "%%" is expecting literal "%")
25086 			 */
25087 			if ((!prefix_found && *fptr != prefix_char) ||
25088 				(prefix_found && *fptr == prefix_char)) {
25089 				if (*fptr != *ptr) {
25090 					add_pbf_error(s, TIMELIB_ERR_FORMAT_LITERAL_MISMATCH, "Format literal not found", string, begin);
25091 				}
25092 				ptr++;
25093 				fptr++;
25094 				prefix_found = false;
25095 				continue;
25096 			}
25097 
25098 			if (*fptr == prefix_char) {
25099 				fptr++;
25100 				prefix_found = true;
25101 				continue;
25102 			}
25103 
25104 			/* Fall through case is that the prefix has been found and the next
25105 			 * character is the format specifier. */
25106 			prefix_found = false;
25107 		}
25108 
25109 		switch (timelib_lookup_format(*fptr, format_map)) {
25110 			case TIMELIB_FORMAT_TEXTUAL_DAY_3_LETTER: /* three letter day */
25111 			case TIMELIB_FORMAT_TEXTUAL_DAY_FULL: /* full day */
25112 				{
25113 					const timelib_relunit* tmprel = 0;
25114 
25115 					tmprel = timelib_lookup_relunit(&ptr);
25116 					if (!tmprel) {
25117 						add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_DAY, "A textual day could not be found", string, begin);
25118 						break;
25119 					} else {
25120 						in.time->have_relative = 1;
25121 						in.time->relative.have_weekday_relative = 1;
25122 						in.time->relative.weekday = tmprel->multiplier;
25123 						in.time->relative.weekday_behavior = 1;
25124 					}
25125 				}
25126 				break;
25127 			case TIMELIB_FORMAT_DAY_TWO_DIGIT: /* two digit day, without leading zero */
25128 			case TIMELIB_FORMAT_DAY_TWO_DIGIT_PADDED: /* two digit day, with leading zero */
25129 				TIMELIB_CHECK_NUMBER;
25130 				if ((s->time->d = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25131 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_DAY, "A two digit day could not be found", string, begin);
25132 					break;
25133 				}
25134 
25135 				s->time->have_date = 1;
25136 				break;
25137 			case TIMELIB_FORMAT_DAY_SUFFIX: /* day suffix, ignored, nor checked */
25138 				timelib_skip_day_suffix(&ptr);
25139 				break;
25140 			case TIMELIB_FORMAT_DAY_OF_YEAR: /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
25141 				TIMELIB_CHECK_NUMBER;
25142 				if (s->time->y == TIMELIB_UNSET) {
25143 					add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "A 'day of year' can only come after a year has been found", string, begin);
25144 				}
25145 				if ((tmp = timelib_get_nr(&ptr, 3)) == TIMELIB_UNSET) {
25146 					add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_DAY_OF_YEAR, "A three digit day-of-year could not be found", string, begin);
25147 					break;
25148 				}
25149 
25150 				if (s->time->y != TIMELIB_UNSET) {
25151 					s->time->have_date = 1;
25152 					s->time->m = 1;
25153 					s->time->d = tmp + 1;
25154 					timelib_do_normalize(s->time);
25155 				}
25156 				break;
25157 
25158 			case TIMELIB_FORMAT_MONTH_TWO_DIGIT: /* two digit month, without leading zero */
25159 			case TIMELIB_FORMAT_MONTH_TWO_DIGIT_PADDED: /* two digit month, with leading zero */
25160 				TIMELIB_CHECK_NUMBER;
25161 				if ((s->time->m = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25162 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MONTH, "A two digit month could not be found", string, begin);
25163 					break;
25164 				}
25165 				s->time->have_date = 1;
25166 				break;
25167 			case TIMELIB_FORMAT_TEXTUAL_MONTH_3_LETTER: /* three letter month */
25168 			case TIMELIB_FORMAT_TEXTUAL_MONTH_FULL: /* full month */
25169 				tmp = timelib_lookup_month(&ptr);
25170 				if (!tmp) {
25171 					add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_MONTH, "A textual month could not be found", string, begin);
25172 					break;
25173 				}
25174 
25175 				s->time->have_date = 1;
25176 				s->time->m = tmp;
25177 				break;
25178 			case TIMELIB_FORMAT_YEAR_TWO_DIGIT: /* two digit year */
25179 				{
25180 					int length = 0;
25181 					TIMELIB_CHECK_NUMBER;
25182 					if ((s->time->y = timelib_get_nr_ex(&ptr, 2, &length)) == TIMELIB_UNSET) {
25183 						add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_YEAR, "A two digit year could not be found", string, begin);
25184 						break;
25185 					}
25186 
25187 					s->time->have_date = 1;
25188 					TIMELIB_PROCESS_YEAR(s->time->y, length);
25189 				}
25190 				break;
25191 			case TIMELIB_FORMAT_YEAR_FOUR_DIGIT: /* four digit year */
25192 				TIMELIB_CHECK_NUMBER;
25193 				if ((s->time->y = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
25194 					add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "A four digit year could not be found", string, begin);
25195 					break;
25196 				}
25197 
25198 				s->time->have_date = 1;
25199 				break;
25200 			case TIMELIB_FORMAT_YEAR_EXPANDED: /* optional symbol, followed by up to 19 digits */
25201 				TIMELIB_CHECK_SIGNED_NUMBER;
25202 				if ((s->time->y = timelib_get_signed_nr(s, &ptr, 19)) == TIMELIB_UNSET) {
25203 					add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "An expanded digit year could not be found", string, begin);
25204 					break;
25205 				}
25206 
25207 				s->time->have_date = 1;
25208 				break;
25209 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX: /* two digit hour, without leading zero */
25210 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX_PADDED: /* two digit hour, with leading zero */
25211 				TIMELIB_CHECK_NUMBER;
25212 				if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25213 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "A two digit hour could not be found", string, begin);
25214 					break;
25215 				}
25216 				if (s->time->h > 12) {
25217 					add_pbf_error(s, TIMELIB_ERR_HOUR_LARGER_THAN_12, "Hour cannot be higher than 12", string, begin);
25218 					break;
25219 				}
25220 
25221 				s->time->have_time = 1;
25222 				break;
25223 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX_PADDED: /* two digit hour, with leading zero */
25224 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX: /* two digit hour, without leading zero */
25225 				TIMELIB_CHECK_NUMBER;
25226 				if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25227 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "A two digit hour could not be found", string, begin);
25228 					break;
25229 				}
25230 
25231 				s->time->have_time = 1;
25232 				break;
25233 			case TIMELIB_FORMAT_MERIDIAN: /* am/pm/a.m./p.m. AM/PM/A.M./P.M. */
25234 				if (s->time->h == TIMELIB_UNSET) {
25235 					add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "Meridian can only come after an hour has been found", string, begin);
25236 				}
25237 				if ((tmp = timelib_meridian_with_check(&ptr, s->time->h)) == TIMELIB_UNSET) {
25238 					add_pbf_error(s, TIMELIB_ERR_NO_MERIDIAN, "A meridian could not be found", string, begin);
25239 					break;
25240 				}
25241 
25242 				s->time->have_time = 1;
25243 				if (s->time->h != TIMELIB_UNSET) {
25244 					s->time->h += tmp;
25245 				}
25246 				break;
25247 			case TIMELIB_FORMAT_MINUTE_TWO_DIGIT: /* two digit minute, with leading zero */
25248 				{
25249 					int length;
25250 					timelib_sll min;
25251 
25252 					TIMELIB_CHECK_NUMBER;
25253 					min = timelib_get_nr_ex(&ptr, 2, &length);
25254 					if (min == TIMELIB_UNSET || length != 2) {
25255 						add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MINUTE, "A two digit minute could not be found", string, begin);
25256 						break;
25257 					}
25258 
25259 					s->time->have_time = 1;
25260 					s->time->i = min;
25261 				}
25262 				break;
25263 			case TIMELIB_FORMAT_SECOND_TWO_DIGIT: /* two digit second, with leading zero */
25264 				{
25265 					int length;
25266 					timelib_sll sec;
25267 
25268 					TIMELIB_CHECK_NUMBER;
25269 					sec = timelib_get_nr_ex(&ptr, 2, &length);
25270 					if (sec == TIMELIB_UNSET || length != 2) {
25271 						add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_SECOND, "A two digit second could not be found", string, begin);
25272 						break;
25273 					}
25274 
25275 					s->time->have_time = 1;
25276 					s->time->s = sec;
25277 				}
25278 				break;
25279 			case TIMELIB_FORMAT_MICROSECOND_SIX_DIGIT: /* up to six digit microsecond */
25280 				{
25281 					double f;
25282 					const char *tptr;
25283 
25284 					TIMELIB_CHECK_NUMBER;
25285 					tptr = ptr;
25286 					if ((f = timelib_get_nr(&ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
25287 						add_pbf_error(s, TIMELIB_ERR_NO_SIX_DIGIT_MICROSECOND, "A six digit microsecond could not be found", string, begin);
25288 						break;
25289 					}
25290 
25291 					s->time->us = (f * pow(10, 6 - (ptr - tptr)));
25292 				}
25293 				break;
25294 			case TIMELIB_FORMAT_MILLISECOND_THREE_DIGIT: /* up to three digit millisecond */
25295 				{
25296 					double f;
25297 					const char *tptr;
25298 
25299 					TIMELIB_CHECK_NUMBER;
25300 					tptr = ptr;
25301 					if ((f = timelib_get_nr(&ptr, 3)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
25302 						add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_MILLISECOND, "A three digit millisecond could not be found", string, begin);
25303 						break;
25304 					}
25305 
25306 					s->time->us = (f * pow(10, 3 - (ptr - tptr)) * 1000);
25307 				}
25308 				break;
25309 			case TIMELIB_FORMAT_WHITESPACE: /* any sort of whitespace (' ' and \t) */
25310 				timelib_eat_spaces(&ptr);
25311 				break;
25312 			case TIMELIB_FORMAT_EPOCH_SECONDS: /* epoch seconds */
25313 				TIMELIB_CHECK_SIGNED_NUMBER;
25314 				tmp = timelib_get_signed_nr(s, &ptr, 24);
25315 				s->time->have_zone = 1;
25316 				s->time->sse = tmp;
25317 				s->time->is_localtime = 1;
25318 				s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
25319 				s->time->z = 0;
25320 				s->time->dst = 0;
25321 				timelib_update_from_sse(s->time);
25322 				break;
25323 
25324 			case TIMELIB_FORMAT_ANY_SEPARATOR: /* separation symbol */
25325 				if (timelib_lookup_format(*ptr, format_map) != TIMELIB_FORMAT_SEPARATOR) {
25326 					add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol ([;:/.,-]) could not be found", string, begin);
25327 					break;
25328 				}
25329 
25330 				++ptr;
25331 				break;
25332 
25333 			case TIMELIB_FORMAT_SEPARATOR:
25334 				if (*ptr != *fptr) {
25335 					add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol could not be found", string, begin);
25336 					break;
25337 				}
25338 
25339 				++ptr;
25340 				break;
25341 
25342 			case TIMELIB_FORMAT_RESET_ALL: /* reset all fields to default */
25343 				timelib_time_reset_fields(s->time);
25344 				break; /* break intentionally not missing */
25345 
25346 			case TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET: /* reset all fields to default when not set */
25347 				timelib_time_reset_unset_fields(s->time);
25348 				break; /* break intentionally not missing */
25349 
25350 			case TIMELIB_FORMAT_RANDOM_CHAR: /* random char */
25351 				++ptr;
25352 				break;
25353 
25354 			case TIMELIB_FORMAT_ESCAPE: /* escaped char */
25355 				if (!fptr[1]) {
25356 					add_pbf_error(s, TIMELIB_ERR_EXPECTED_ESCAPE_CHAR, "Escaped character expected", string, begin);
25357 					break;
25358 				}
25359 				fptr++;
25360 				if (*ptr != *fptr) {
25361 					add_pbf_error(s, TIMELIB_ERR_NO_ESCAPED_CHAR, "The escaped character could not be found", string, begin);
25362 					break;
25363 				}
25364 
25365 				++ptr;
25366 				break;
25367 
25368 			case TIMELIB_FORMAT_SKIP_TO_SEPARATOR: /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
25369 				timelib_eat_until_separator(&ptr);
25370 				break;
25371 
25372 			case TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS: /* allow extra chars in the format */
25373 				allow_extra = true;
25374 				break;
25375 			case TIMELIB_FORMAT_YEAR_ISO:
25376 				if ((iso_year = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
25377 					add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR_ISO, "A four digit ISO year could not be found", string, begin);
25378 					break;
25379 				}
25380 
25381 				s->time->have_date = 1;
25382 				break;
25383 			case TIMELIB_FORMAT_WEEK_OF_YEAR_ISO:
25384 				if ((iso_week_of_year = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25385 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_WEEK, "A two digit ISO week could not be found", string, begin);
25386 					break;
25387 				}
25388 				/* Range is 1 - 53  for ISO week of year */
25389 				if (iso_week_of_year < 1 || iso_week_of_year > 53) {
25390 					add_pbf_error(s, TIMELIB_ERR_INVALID_WEEK, "ISO Week must be between 1 and 53", string, begin);
25391 					break;
25392 				}
25393 
25394 				s->time->have_date = 1;
25395 				break;
25396 			case TIMELIB_FORMAT_DAY_OF_WEEK_ISO:
25397 				if ((iso_day_of_week = timelib_get_nr(&ptr, 1)) == TIMELIB_UNSET) {
25398 					add_pbf_error(s, TIMELIB_ERR_NO_DAY_OF_WEEK, "A single digit day of week could not be found", string, begin);
25399 					break;
25400 				}
25401 				if (iso_day_of_week < 1 || iso_day_of_week > 7) {
25402 					add_pbf_error(s, TIMELIB_ERR_INVALID_DAY_OF_WEEK, "Day of week must be between 1 and 7", string, begin);
25403 					break;
25404 				}
25405 
25406 				s->time->have_date = 1;
25407 				break;
25408 			case TIMELIB_FORMAT_TIMEZONE_OFFSET: /* timezone */
25409 				{
25410 					int tz_not_found;
25411 
25412 					s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
25413 					if (tz_not_found) {
25414 						add_pbf_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database", string, begin);
25415 						break;
25416 					}
25417 
25418 					s->time->have_zone = 1;
25419 				}
25420 				break;
25421 			case TIMELIB_FORMAT_TIMEZONE_OFFSET_MINUTES: /* timezone format +/-mmm */
25422 				s->time->z = timelib_parse_tz_minutes(&ptr, s->time);
25423 				if (s->time->z == TIMELIB_UNSET) {
25424 					add_pbf_error(s, TIMELIB_ERR_INVALID_TZ_OFFSET, "Invalid timezone offset in minutes", string, begin);
25425 					break;
25426 				}
25427 
25428 				s->time->have_zone = 1;
25429 				break;
25430 			case TIMELIB_FORMAT_LITERAL:
25431 			default:
25432 				if (*fptr != *ptr) {
25433 					add_pbf_error(s, TIMELIB_ERR_WRONG_FORMAT_SEP, "The format separator does not match", string, begin);
25434 				}
25435 				ptr++;
25436 		}
25437 		fptr++;
25438 	}
25439 	if (*ptr) {
25440 		if (allow_extra) {
25441 			add_pbf_warning(s, TIMELIB_WARN_TRAILING_DATA, "Trailing data", string, ptr);
25442 		} else {
25443 			add_pbf_error(s, TIMELIB_ERR_TRAILING_DATA, "Trailing data", string, ptr);
25444 		}
25445 	}
25446 
25447 	if (*fptr) {
25448 		/* Trailing reset specifiers are valid. */
25449 		int done = 0;
25450 		while (*fptr && !done) {
25451 			switch (timelib_lookup_format(*fptr, format_map)) {
25452 				case TIMELIB_FORMAT_RESET_ALL: /* reset all fields to default */
25453 					timelib_time_reset_fields(s->time);
25454 					break;
25455 
25456 				case TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET: /* reset all fields to default when not set */
25457 					timelib_time_reset_unset_fields(s->time);
25458 					break;
25459 				case TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS:
25460 					break;
25461 
25462 				default:
25463 					add_pbf_error(s, TIMELIB_ERR_DATA_MISSING, "Not enough data available to satisfy format", string, ptr);
25464 					done = 1;
25465 			}
25466 			fptr++;
25467 		}
25468 	}
25469 
25470 	/* clean up a bit */
25471 	if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET || s->time->us != TIMELIB_UNSET) {
25472 		if (s->time->h == TIMELIB_UNSET ) {
25473 			s->time->h = 0;
25474 		}
25475 		if (s->time->i == TIMELIB_UNSET ) {
25476 			s->time->i = 0;
25477 		}
25478 		if (s->time->s == TIMELIB_UNSET ) {
25479 			s->time->s = 0;
25480 		}
25481 		if (s->time->us == TIMELIB_UNSET ) {
25482 			s->time->us = 0;
25483 		}
25484 	}
25485 
25486 	/* Check for mixing of ISO dates with natural dates. */
25487 	if (s->time->y != TIMELIB_UNSET && (iso_week_of_year != TIMELIB_UNSET || iso_year != TIMELIB_UNSET || iso_day_of_week != TIMELIB_UNSET)) {
25488 		add_pbf_error(s, TIMELIB_ERR_MIX_ISO_WITH_NATURAL, "Mixing of ISO dates with natural dates is not allowed", string, ptr);
25489 	}
25490 	if (iso_year != TIMELIB_UNSET && (s->time->y != TIMELIB_UNSET || s->time->m != TIMELIB_UNSET || s->time->d != TIMELIB_UNSET)) {
25491 		add_pbf_error(s, TIMELIB_ERR_MIX_ISO_WITH_NATURAL, "Mixing of ISO dates with natural dates is not allowed", string, ptr);
25492 	}
25493 
25494 	/* Convert ISO values */
25495 	if (iso_year != TIMELIB_UNSET) {
25496 		/* Default week of year and day of week to 1. */
25497 		if (iso_week_of_year == TIMELIB_UNSET) {
25498 			iso_week_of_year = 1;
25499 		}
25500 		if (iso_day_of_week == TIMELIB_UNSET) {
25501 			iso_day_of_week = 1;
25502 		}
25503 		timelib_date_from_isodate(iso_year, iso_week_of_year, iso_day_of_week, &s->time->y, &s->time->m, &s->time->d);
25504 	} else if (iso_week_of_year != TIMELIB_UNSET || iso_day_of_week != TIMELIB_UNSET) {
25505 		add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr);
25506 	}
25507 
25508 	/* do funky checking whether the parsed time was valid time */
25509 	if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
25510 		s->time->s != TIMELIB_UNSET &&
25511 		!timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
25512 		add_pbf_warning(s, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid", string, ptr);
25513 	}
25514 	/* do funky checking whether the parsed date was valid date */
25515 	if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
25516 		s->time->d != TIMELIB_UNSET &&
25517 		!timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
25518 		add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr);
25519 	}
25520 
25521 	if (errors) {
25522 		*errors = in.errors;
25523 	} else {
25524 		timelib_error_container_dtor(in.errors);
25525 	}
25526 	return in.time;
25527 }
25528 
timelib_fill_holes(timelib_time * parsed,timelib_time * now,int options)25529 void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
25530 {
25531 	if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
25532 		parsed->h = 0;
25533 		parsed->i = 0;
25534 		parsed->s = 0;
25535 		parsed->us = 0;
25536 	}
25537 	if (
25538 		parsed->y != TIMELIB_UNSET || parsed->m != TIMELIB_UNSET || parsed->d != TIMELIB_UNSET ||
25539 		parsed->h != TIMELIB_UNSET || parsed->i != TIMELIB_UNSET || parsed->s != TIMELIB_UNSET
25540 	) {
25541 		if (parsed->us == TIMELIB_UNSET) parsed->us = 0;
25542 	} else {
25543 		if (parsed->us == TIMELIB_UNSET) parsed->us = now->us != TIMELIB_UNSET ? now->us : 0;
25544 	}
25545 	if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
25546 	if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
25547 	if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
25548 	if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
25549 	if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
25550 	if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
25551 
25552 	if (!parsed->tz_info) {
25553 		parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
25554 
25555 		if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
25556 		if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
25557 
25558 		if (!parsed->tz_abbr) {
25559 			parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25560 		}
25561 	}
25562 
25563 	if (parsed->zone_type == 0 && now->zone_type != 0) {
25564 		parsed->zone_type = now->zone_type;
25565 /*		parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25566 		parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
25567 */		parsed->is_localtime = 1;
25568 	}
25569 /*	timelib_dump_date(parsed, 2);
25570 	timelib_dump_date(now, 2);
25571 */
25572 }
25573 
timelib_timezone_id_from_abbr(const char * abbr,timelib_long gmtoffset,int isdst)25574 const char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst)
25575 {
25576 	const timelib_tz_lookup_table *tp;
25577 
25578 	tp = abbr_search(abbr, gmtoffset, isdst);
25579 	if (tp) {
25580 		return (tp->full_tz_name);
25581 	} else {
25582 		return NULL;
25583 	}
25584 }
25585 
timelib_timezone_abbreviations_list(void)25586 const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
25587 {
25588 	return timelib_timezone_lookup;
25589 }
25590 
25591 #ifdef DEBUG_PARSER_STUB
main(void)25592 int main(void)
25593 {
25594 	timelib_time time = timelib_strtotime("May 12");
25595 
25596 	printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
25597 		time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
25598 	if (time.have_relative) {
25599 		printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
25600 			time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
25601 	}
25602 	if (time.have_weekday_relative) {
25603 		printf (" / %d", time.relative.weekday);
25604 	}
25605 	if (time.have_weeknr_day) {
25606 		printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
25607 	}
25608 	return 0;
25609 }
25610 #endif
25611 
25612 /*
25613  * vim: syntax=c
25614  */
25615