Back to index

php5  5.3.10
Classes | Defines | Typedefs | Functions | Variables
parse_date.c File Reference
#include "timelib.h"
#include <stdio.h>
#include <ctype.h>
#include <math.h>
#include <assert.h>
#include <strings.h>
#include "timelib_structs.h"
#include "timezonemap.h"
#include "fallbackmap.h"

Go to the source code of this file.

Classes

struct  timelib_elems
struct  Scanner
struct  _timelib_lookup_table
struct  _timelib_relunit

Defines

#define strtoll(s, f, b)   strtol(s, f, b)
#define TIMELIB_UNSET   -99999
#define TIMELIB_SECOND   1
#define TIMELIB_MINUTE   2
#define TIMELIB_HOUR   3
#define TIMELIB_DAY   4
#define TIMELIB_MONTH   5
#define TIMELIB_YEAR   6
#define TIMELIB_WEEKDAY   7
#define TIMELIB_SPECIAL   8
#define EOI   257
#define TIME   258
#define DATE   259
#define TIMELIB_XMLRPC_SOAP   260
#define TIMELIB_TIME12   261
#define TIMELIB_TIME24   262
#define TIMELIB_GNU_NOCOLON   263
#define TIMELIB_GNU_NOCOLON_TZ   264
#define TIMELIB_ISO_NOCOLON   265
#define TIMELIB_AMERICAN   266
#define TIMELIB_ISO_DATE   267
#define TIMELIB_DATE_FULL   268
#define TIMELIB_DATE_TEXT   269
#define TIMELIB_DATE_NOCOLON   270
#define TIMELIB_PG_YEARDAY   271
#define TIMELIB_PG_TEXT   272
#define TIMELIB_PG_REVERSE   273
#define TIMELIB_CLF   274
#define TIMELIB_DATE_NO_DAY   275
#define TIMELIB_SHORTDATE_WITH_TIME   276
#define TIMELIB_DATE_FULL_POINTED   277
#define TIMELIB_TIME24_WITH_ZONE   278
#define TIMELIB_ISO_WEEK   279
#define TIMELIB_LF_DAY_OF_MONTH   280
#define TIMELIB_WEEK_DAY_OF_MONTH   281
#define TIMELIB_TIMEZONE   300
#define TIMELIB_AGO   301
#define TIMELIB_RELATIVE   310
#define TIMELIB_ERROR   999
#define BSIZE   8192
#define YYCTYPE   uchar
#define YYCURSOR   cursor
#define YYLIMIT   s->lim
#define YYMARKER   s->ptr
#define YYFILL(n)   return EOI;
#define RET(i)   {s->cur = cursor; return i;}
#define timelib_string_free   free
#define TIMELIB_HAVE_TIME()   { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } }
#define TIMELIB_UNHAVE_TIME()   { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; }
#define TIMELIB_HAVE_DATE()   { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }
#define TIMELIB_UNHAVE_DATE()   { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
#define TIMELIB_HAVE_RELATIVE()   { s->time->have_relative = 1; }
#define TIMELIB_HAVE_WEEKDAY_RELATIVE()   { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
#define TIMELIB_HAVE_SPECIAL_RELATIVE()   { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
#define TIMELIB_HAVE_TZ()   { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
#define TIMELIB_INIT   s->cur = cursor; str = timelib_string(s); ptr = str
#define TIMELIB_DEINIT   timelib_string_free(str)
#define TIMELIB_ADJUST_RELATIVE_WEEKDAY()   if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
#define TIMELIB_PROCESS_YEAR(x, l)
#define DEBUG_OUTPUT(s)
#define YYDEBUG(s, c)
#define HOUR(a)   (int)(a * 60)
#define timelib_split_free(arg)
#define YYMAXFILL   31
#define TIMELIB_CHECK_NUMBER

Typedefs

typedef unsigned char uchar
typedef struct timelib_elems timelib_elems
typedef struct Scanner Scanner
typedef struct
_timelib_lookup_table 
timelib_lookup_table
typedef struct _timelib_relunit timelib_relunit

Functions

static void add_warning (Scanner *s, char *error)
static void add_error (Scanner *s, char *error)
static void add_pbf_warning (Scanner *s, char *error, char *sptr, char *cptr)
static void add_pbf_error (Scanner *s, char *error, char *sptr, char *cptr)
static timelib_sll timelib_meridian (char **ptr, timelib_sll h)
static timelib_sll timelib_meridian_with_check (char **ptr, timelib_sll h)
static char * timelib_string (Scanner *s)
static timelib_sll timelib_get_nr_ex (char **ptr, int max_length, int *scanned_length)
static timelib_sll timelib_get_nr (char **ptr, int max_length)
static void timelib_skip_day_suffix (char **ptr)
static double timelib_get_frac_nr (char **ptr, int max_length)
static timelib_ull timelib_get_unsigned_nr (char **ptr, int max_length)
static long timelib_parse_tz_cor (char **ptr)
static timelib_sll timelib_lookup_relative_text (char **ptr, int *behavior)
static timelib_sll timelib_get_relative_text (char **ptr, int *behavior)
static long timelib_lookup_month (char **ptr)
static long timelib_get_month (char **ptr)
static void timelib_eat_spaces (char **ptr)
static void timelib_eat_until_separator (char **ptr)
static const timelib_relunittimelib_lookup_relunit (char **ptr)
static void timelib_set_relative (char **ptr, timelib_sll amount, int behavior, Scanner *s)
static const
timelib_tz_lookup_table
zone_search (const char *word, long gmtoffset, int isdst)
static long timelib_lookup_zone (char **ptr, int *dst, char **tz_abbr, int *found)
static long timelib_get_zone (char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper)
static int scan (Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
timelib_timetimelib_strtotime (char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
static void timelib_time_reset_fields (timelib_time *time)
static void timelib_time_reset_unset_fields (timelib_time *time)
timelib_timetimelib_parse_from_format (char *format, char *string, int len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
void timelib_fill_holes (timelib_time *parsed, timelib_time *now, int options)
char * timelib_timezone_id_from_abbr (const char *abbr, long gmtoffset, int isdst)
const timelib_tz_lookup_tabletimelib_timezone_abbreviations_list (void)

Variables

static const
timelib_tz_lookup_table 
timelib_timezone_lookup []
static const
timelib_tz_lookup_table 
timelib_timezone_fallbackmap []
static const
timelib_tz_lookup_table 
timelib_timezone_utc []
static timelib_relunit const timelib_relunit_lookup []
static timelib_lookup_table const timelib_reltext_lookup []
static timelib_lookup_table const timelib_month_lookup []

Class Documentation

struct timelib_elems

Definition at line 145 of file parse_date.c.

Class Members
unsigned int c
char ** v
struct Scanner

Definition at line 150 of file parse_date.c.

Collaboration diagram for Scanner:
Class Members
struct timelib_time * begin
char * cur
uchar * cur
struct timelib_time * end
struct timelib_error_container * errors
int fd
int have_begin_date
int have_date
int have_end_date
int have_period
int have_recurrences
unsigned int len
uchar * lim
unsigned int line
struct timelib_rel_time * period
uchar * pos
char * ptr
uchar * ptr
int recurrences
uchar * str
struct timelib_time * time
char * tok
uchar * tok
const timelib_tzdb * tzdb
struct _timelib_lookup_table

Definition at line 160 of file parse_date.c.

Class Members
const char * name
int type
int value
struct _timelib_relunit

Definition at line 166 of file parse_date.c.

Class Members
int multiplier
const char * name
int unit

Define Documentation

#define BSIZE   8192

Definition at line 98 of file parse_date.c.

#define DATE   259

Definition at line 61 of file parse_date.c.

#define DEBUG_OUTPUT (   s)

Definition at line 139 of file parse_date.c.

#define EOI   257

Definition at line 59 of file parse_date.c.

#define HOUR (   a)    (int)(a * 60)

Definition at line 172 of file parse_date.c.

#define RET (   i)    {s->cur = cursor; return i;}

Definition at line 106 of file parse_date.c.

#define strtoll (   s,
  f,
 
)    strtol(s, f, b)

Definition at line 44 of file parse_date.c.

#define TIME   258

Definition at line 60 of file parse_date.c.

#define TIMELIB_ADJUST_RELATIVE_WEEKDAY ( )    if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }

Definition at line 121 of file parse_date.c.

#define TIMELIB_AGO   301

Definition at line 88 of file parse_date.c.

#define TIMELIB_AMERICAN   266

Definition at line 70 of file parse_date.c.

Value:
if (strchr("0123456789", *ptr) == NULL)                        \
              {                                                              \
                     add_pbf_error(s, "Unexpected data found.", string, begin); \
              }

Definition at line 24754 of file parse_date.c.

#define TIMELIB_CLF   274

Definition at line 78 of file parse_date.c.

#define TIMELIB_DATE_FULL   268

Definition at line 72 of file parse_date.c.

#define TIMELIB_DATE_FULL_POINTED   277

Definition at line 81 of file parse_date.c.

#define TIMELIB_DATE_NO_DAY   275

Definition at line 79 of file parse_date.c.

#define TIMELIB_DATE_NOCOLON   270

Definition at line 74 of file parse_date.c.

#define TIMELIB_DATE_TEXT   269

Definition at line 73 of file parse_date.c.

#define TIMELIB_DAY   4

Definition at line 53 of file parse_date.c.

Definition at line 120 of file parse_date.c.

#define TIMELIB_ERROR   999

Definition at line 92 of file parse_date.c.

#define TIMELIB_GNU_NOCOLON   263

Definition at line 66 of file parse_date.c.

#define TIMELIB_GNU_NOCOLON_TZ   264

Definition at line 67 of file parse_date.c.

#define TIMELIB_HAVE_DATE ( )    { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }

Definition at line 112 of file parse_date.c.

#define TIMELIB_HAVE_RELATIVE ( )    { s->time->have_relative = 1; }

Definition at line 114 of file parse_date.c.

#define TIMELIB_HAVE_SPECIAL_RELATIVE ( )    { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }

Definition at line 116 of file parse_date.c.

#define TIMELIB_HAVE_TIME ( )    { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } }

Definition at line 110 of file parse_date.c.

#define TIMELIB_HAVE_TZ ( )    { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }

Definition at line 117 of file parse_date.c.

#define TIMELIB_HAVE_WEEKDAY_RELATIVE ( )    { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }

Definition at line 115 of file parse_date.c.

#define TIMELIB_HOUR   3

Definition at line 52 of file parse_date.c.

#define TIMELIB_INIT   s->cur = cursor; str = timelib_string(s); ptr = str

Definition at line 119 of file parse_date.c.

#define TIMELIB_ISO_DATE   267

Definition at line 71 of file parse_date.c.

#define TIMELIB_ISO_NOCOLON   265

Definition at line 68 of file parse_date.c.

#define TIMELIB_ISO_WEEK   279

Definition at line 83 of file parse_date.c.

#define TIMELIB_LF_DAY_OF_MONTH   280

Definition at line 84 of file parse_date.c.

#define TIMELIB_MINUTE   2

Definition at line 51 of file parse_date.c.

#define TIMELIB_MONTH   5

Definition at line 54 of file parse_date.c.

#define TIMELIB_PG_REVERSE   273

Definition at line 77 of file parse_date.c.

#define TIMELIB_PG_TEXT   272

Definition at line 76 of file parse_date.c.

#define TIMELIB_PG_YEARDAY   271

Definition at line 75 of file parse_date.c.

#define TIMELIB_PROCESS_YEAR (   x,
  l 
)
Value:
{ \
       if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
       /*     (x) = 0; */          \
       } else if ((x) < 100) {  \
              if ((x) < 70) {      \
                     (x) += 2000;     \
              } else {             \
                     (x) += 1900;     \
              }                    \
       }                        \
}

Definition at line 123 of file parse_date.c.

#define TIMELIB_RELATIVE   310

Definition at line 90 of file parse_date.c.

#define TIMELIB_SECOND   1

Definition at line 50 of file parse_date.c.

#define TIMELIB_SHORTDATE_WITH_TIME   276

Definition at line 80 of file parse_date.c.

#define TIMELIB_SPECIAL   8

Definition at line 57 of file parse_date.c.

#define timelib_split_free (   arg)
Value:
{       \
       int i;                         \
       for (i = 0; i < arg.c; i++) {  \
              free(arg.v[i]);            \
       }                              \
       if (arg.v) {                   \
              free(arg.v);               \
       }                              \
}

Definition at line 855 of file parse_date.c.

#define timelib_string_free   free

Definition at line 108 of file parse_date.c.

#define TIMELIB_TIME12   261

Definition at line 64 of file parse_date.c.

#define TIMELIB_TIME24   262

Definition at line 65 of file parse_date.c.

#define TIMELIB_TIME24_WITH_ZONE   278

Definition at line 82 of file parse_date.c.

#define TIMELIB_TIMEZONE   300

Definition at line 87 of file parse_date.c.

#define TIMELIB_UNHAVE_DATE ( )    { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }

Definition at line 113 of file parse_date.c.

#define TIMELIB_UNHAVE_TIME ( )    { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; }

Definition at line 111 of file parse_date.c.

#define TIMELIB_UNSET   -99999

Definition at line 48 of file parse_date.c.

#define TIMELIB_WEEK_DAY_OF_MONTH   281

Definition at line 85 of file parse_date.c.

#define TIMELIB_WEEKDAY   7

Definition at line 56 of file parse_date.c.

#define TIMELIB_XMLRPC_SOAP   260

Definition at line 63 of file parse_date.c.

#define TIMELIB_YEAR   6

Definition at line 55 of file parse_date.c.

#define YYCTYPE   uchar

Definition at line 100 of file parse_date.c.

#define YYCURSOR   cursor

Definition at line 101 of file parse_date.c.

#define YYDEBUG (   s,
 
)

Definition at line 140 of file parse_date.c.

#define YYFILL (   n)    return EOI;

Definition at line 104 of file parse_date.c.

#define YYLIMIT   s->lim

Definition at line 102 of file parse_date.c.

#define YYMARKER   s->ptr

Definition at line 103 of file parse_date.c.

#define YYMAXFILL   31

Definition at line 24673 of file parse_date.c.


Typedef Documentation

typedef struct Scanner Scanner
typedef struct timelib_elems timelib_elems
typedef unsigned char uchar

Definition at line 96 of file parse_date.c.


Function Documentation

static void add_error ( Scanner s,
char *  error 
) [static]

Definition at line 351 of file parse_date.c.

Here is the caller graph for this function:

static void add_pbf_error ( Scanner s,
char *  error,
char *  sptr,
char *  cptr 
) [static]

Definition at line 369 of file parse_date.c.

Here is the caller graph for this function:

static void add_pbf_warning ( Scanner s,
char *  error,
char *  sptr,
char *  cptr 
) [static]

Definition at line 360 of file parse_date.c.

Here is the caller graph for this function:

static void add_warning ( Scanner s,
char *  error 
) [static]

Definition at line 342 of file parse_date.c.

Here is the caller graph for this function:

static int scan ( Scanner s,
timelib_tz_get_wrapper  tz_get_wrapper 
) [static]

Definition at line 865 of file parse_date.c.

{
       uchar *cursor = s->cur;
       char *str, *ptr = NULL;
              
std:
       s->tok = cursor;
       s->len = 0;



{
       YYCTYPE yych;
       unsigned int yyaccept = 0;
       static const unsigned char yybm[] = {
                0,   0,   0,   0,   0,   0,   0,   0, 
                0, 100,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
              100,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0, 128,  64, 160,  96,   0, 
                2,   2,   2,   2,   2,   2,   2,   2, 
                2,   2,   0,   0,   0,   0,   0,   0, 
                0,   8,   8,   8,   8,   8,   8,   8, 
                8,   8,   8,   8,   8,   8,   8,   8, 
                8,   8,   8,   8,   8,   8,   8,   8, 
                8,   8,   8,   0,   0,   0,   0,   0, 
                0,  24,  24,  24,  88,  24,  24,  24, 
               88,  24,  24,  24,  24,  24,  88,  24, 
               24,  24,  88,  88,  88,  24,  24,  24, 
               24,  24,  24,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
                0,   0,   0,   0,   0,   0,   0,   0, 
       };

       YYDEBUG(0, *YYCURSOR);
       if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
       yych = *YYCURSOR;
       YYDEBUG(-1, yych);
       switch (yych) {
       case 0x00:
       case '\n':    goto yy52;
       case '\t':
       case ' ':     goto yy49;
       case '(':     goto yy46;
       case '+':
       case '-':     goto yy31;
       case ',':
       case '.':     goto yy51;
       case '0':     goto yy26;
       case '1':     goto yy27;
       case '2':     goto yy28;
       case '3':     goto yy29;
       case '4':
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy30;
       case '@':     goto yy12;
       case 'A':     goto yy37;
       case 'B':     goto yy18;
       case 'C':
       case 'H':
       case 'K':
       case 'Q':
       case 'R':
       case 'U':
       case 'Z':     goto yy47;
       case 'D':     goto yy41;
       case 'E':     goto yy22;
       case 'F':     goto yy14;
       case 'G':     goto yy45;
       case 'I':     goto yy32;
       case 'J':     goto yy35;
       case 'L':     goto yy16;
       case 'M':     goto yy8;
       case 'N':     goto yy6;
       case 'O':     goto yy39;
       case 'P':     goto yy24;
       case 'S':     goto yy20;
       case 'T':     goto yy10;
       case 'V':     goto yy33;
       case 'W':     goto yy43;
       case 'X':     goto yy34;
       case 'Y':     goto yy3;
       case 'a':     goto yy38;
       case 'b':     goto yy19;
       case 'c':
       case 'g':
       case 'h':
       case 'i':
       case 'k':
       case 'q':
       case 'r':
       case 'u':
       case 'v':
       case 'x':
       case 'z':     goto yy48;
       case 'd':     goto yy42;
       case 'e':     goto yy23;
       case 'f':     goto yy15;
       case 'j':     goto yy36;
       case 'l':     goto yy17;
       case 'm':     goto yy9;
       case 'n':     goto yy7;
       case 'o':     goto yy40;
       case 'p':     goto yy25;
       case 's':     goto yy21;
       case 't':     goto yy11;
       case 'w':     goto yy44;
       case 'y':     goto yy5;
       default:      goto yy54;
       }
yy2:
       YYDEBUG(2, *YYCURSOR);
       {
              DEBUG_OUTPUT("firstdayof | lastdayof");
              TIMELIB_INIT;
              TIMELIB_HAVE_RELATIVE();

              /* skip "last day of" or "first day of" */
              if (*ptr == 'l') {
                     s->time->relative.first_last_day_of = 2;
              } else {
                     s->time->relative.first_last_day_of = 1;
              }

              TIMELIB_DEINIT;
              return TIMELIB_LF_DAY_OF_MONTH;
       }
yy3:
       YYDEBUG(3, *YYCURSOR);
       ++YYCURSOR;
       if ((yych = *YYCURSOR) <= 'E') {
              if (yych <= ')') {
                     if (yych >= ')') goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'D') goto yy141;
                     goto yy1523;
              }
       } else {
              if (yych <= 'd') {
                     if (yych <= 'Z') goto yy141;
                     if (yych >= 'a') goto yy146;
              } else {
                     if (yych <= 'e') goto yy1532;
                     if (yych <= 'z') goto yy146;
              }
       }
yy4:
       YYDEBUG(4, *YYCURSOR);
       {
              int tz_not_found;
              DEBUG_OUTPUT("tzcorrection | tz");
              TIMELIB_INIT;
              TIMELIB_HAVE_TZ();
              s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
              if (tz_not_found) {
                     add_error(s, "The timezone could not be found in the database");
              }
              TIMELIB_DEINIT;
              return TIMELIB_TIMEZONE;
       }
yy5:
       YYDEBUG(5, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'E') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'D') goto yy141;
                     goto yy1523;
              }
       } else {
              if (yych <= 'd') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'e') goto yy1523;
                     if (yych <= 'z') goto yy141;
                     goto yy4;
              }
       }
yy6:
       YYDEBUG(6, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'O') {
              if (yych <= 'D') {
                     if (yych == ')') goto yy140;
                     if (yych <= '@') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'H') {
                            if (yych <= 'E') goto yy1494;
                            goto yy141;
                     } else {
                            if (yych <= 'I') goto yy1495;
                            if (yych <= 'N') goto yy141;
                            goto yy1493;
                     }
              }
       } else {
              if (yych <= 'h') {
                     if (yych <= '`') {
                            if (yych <= 'Z') goto yy141;
                            goto yy4;
                     } else {
                            if (yych == 'e') goto yy1510;
                            goto yy146;
                     }
              } else {
                     if (yych <= 'n') {
                            if (yych <= 'i') goto yy1511;
                            goto yy146;
                     } else {
                            if (yych <= 'o') goto yy1509;
                            if (yych <= 'z') goto yy146;
                            goto yy4;
                     }
              }
       }
yy7:
       YYDEBUG(7, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'O') {
              if (yych <= 'D') {
                     if (yych == ')') goto yy140;
                     if (yych <= '@') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'H') {
                            if (yych <= 'E') goto yy1494;
                            goto yy141;
                     } else {
                            if (yych <= 'I') goto yy1495;
                            if (yych <= 'N') goto yy141;
                            goto yy1493;
                     }
              }
       } else {
              if (yych <= 'h') {
                     if (yych <= '`') {
                            if (yych <= 'Z') goto yy141;
                            goto yy4;
                     } else {
                            if (yych == 'e') goto yy1494;
                            goto yy141;
                     }
              } else {
                     if (yych <= 'n') {
                            if (yych <= 'i') goto yy1495;
                            goto yy141;
                     } else {
                            if (yych <= 'o') goto yy1493;
                            if (yych <= 'z') goto yy141;
                            goto yy4;
                     }
              }
       }
yy8:
       YYDEBUG(8, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'O') {
              if (yych <= 'A') {
                     if (yych == ')') goto yy140;
                     if (yych <= '@') goto yy4;
                     goto yy1463;
              } else {
                     if (yych == 'I') goto yy1464;
                     if (yych <= 'N') goto yy141;
                     goto yy1465;
              }
       } else {
              if (yych <= 'h') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     if (yych <= 'a') goto yy1478;
                     goto yy146;
              } else {
                     if (yych <= 'n') {
                            if (yych <= 'i') goto yy1479;
                            goto yy146;
                     } else {
                            if (yych <= 'o') goto yy1480;
                            if (yych <= 'z') goto yy146;
                            goto yy4;
                     }
              }
       }
yy9:
       YYDEBUG(9, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'O') {
              if (yych <= 'A') {
                     if (yych == ')') goto yy140;
                     if (yych <= '@') goto yy4;
                     goto yy1463;
              } else {
                     if (yych == 'I') goto yy1464;
                     if (yych <= 'N') goto yy141;
                     goto yy1465;
              }
       } else {
              if (yych <= 'h') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     if (yych <= 'a') goto yy1463;
                     goto yy141;
              } else {
                     if (yych <= 'n') {
                            if (yych <= 'i') goto yy1464;
                            goto yy141;
                     } else {
                            if (yych <= 'o') goto yy1465;
                            if (yych <= 'z') goto yy141;
                            goto yy4;
                     }
              }
       }
yy10:
       YYDEBUG(10, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       YYDEBUG(-1, yych);
       switch (yych) {
       case ')':     goto yy140;
       case '0':
       case '1':     goto yy1393;
       case '2':     goto yy1394;
       case '3':
       case '4':
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy1395;
       case 'A':
       case 'B':
       case 'C':
       case 'D':
       case 'F':
       case 'G':
       case 'I':
       case 'J':
       case 'K':
       case 'L':
       case 'M':
       case 'N':
       case 'P':
       case 'Q':
       case 'R':
       case 'S':
       case 'T':
       case 'V':
       case 'X':
       case 'Y':
       case 'Z':     goto yy141;
       case 'E':     goto yy1388;
       case 'H':     goto yy1389;
       case 'O':     goto yy1390;
       case 'U':     goto yy1391;
       case 'W':     goto yy1392;
       case 'a':
       case 'b':
       case 'c':
       case 'd':
       case 'f':
       case 'g':
       case 'i':
       case 'j':
       case 'k':
       case 'l':
       case 'm':
       case 'n':
       case 'p':
       case 'q':
       case 'r':
       case 's':
       case 't':
       case 'v':
       case 'x':
       case 'y':
       case 'z':     goto yy146;
       case 'e':     goto yy1431;
       case 'h':     goto yy1432;
       case 'o':     goto yy1433;
       case 'u':     goto yy1434;
       case 'w':     goto yy1435;
       default:      goto yy4;
       }
yy11:
       YYDEBUG(11, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       YYDEBUG(-1, yych);
       switch (yych) {
       case ')':     goto yy140;
       case '0':
       case '1':     goto yy1393;
       case '2':     goto yy1394;
       case '3':
       case '4':
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy1395;
       case 'A':
       case 'B':
       case 'C':
       case 'D':
       case 'F':
       case 'G':
       case 'I':
       case 'J':
       case 'K':
       case 'L':
       case 'M':
       case 'N':
       case 'P':
       case 'Q':
       case 'R':
       case 'S':
       case 'T':
       case 'V':
       case 'X':
       case 'Y':
       case 'Z':
       case 'a':
       case 'b':
       case 'c':
       case 'd':
       case 'f':
       case 'g':
       case 'i':
       case 'j':
       case 'k':
       case 'l':
       case 'm':
       case 'n':
       case 'p':
       case 'q':
       case 'r':
       case 's':
       case 't':
       case 'v':
       case 'x':
       case 'y':
       case 'z':     goto yy141;
       case 'E':
       case 'e':     goto yy1388;
       case 'H':
       case 'h':     goto yy1389;
       case 'O':
       case 'o':     goto yy1390;
       case 'U':
       case 'u':     goto yy1391;
       case 'W':
       case 'w':     goto yy1392;
       default:      goto yy4;
       }
yy12:
       YYDEBUG(12, *YYCURSOR);
       yyaccept = 1;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == '-') goto yy1384;
       if (yych <= '/') goto yy13;
       if (yych <= '9') goto yy1385;
yy13:
       YYDEBUG(13, *YYCURSOR);
       {
              add_error(s, "Unexpected character");
              goto std;
       }
yy14:
       YYDEBUG(14, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'R') {
              if (yych <= 'E') {
                     if (yych <= ')') {
                            if (yych <= '(') goto yy4;
                            goto yy140;
                     } else {
                            if (yych <= '@') goto yy4;
                            if (yych <= 'D') goto yy141;
                            goto yy1320;
                     }
              } else {
                     if (yych <= 'N') {
                            if (yych == 'I') goto yy1321;
                            goto yy141;
                     } else {
                            if (yych <= 'O') goto yy1322;
                            if (yych <= 'Q') goto yy141;
                            goto yy1323;
                     }
              }
       } else {
              if (yych <= 'i') {
                     if (yych <= 'd') {
                            if (yych <= 'Z') goto yy141;
                            if (yych <= '`') goto yy4;
                            goto yy146;
                     } else {
                            if (yych <= 'e') goto yy1361;
                            if (yych <= 'h') goto yy146;
                            goto yy1362;
                     }
              } else {
                     if (yych <= 'q') {
                            if (yych == 'o') goto yy1363;
                            goto yy146;
                     } else {
                            if (yych <= 'r') goto yy1364;
                            if (yych <= 'z') goto yy146;
                            goto yy4;
                     }
              }
       }
yy15:
       YYDEBUG(15, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'R') {
              if (yych <= 'E') {
                     if (yych <= ')') {
                            if (yych <= '(') goto yy4;
                            goto yy140;
                     } else {
                            if (yych <= '@') goto yy4;
                            if (yych <= 'D') goto yy141;
                            goto yy1320;
                     }
              } else {
                     if (yych <= 'N') {
                            if (yych == 'I') goto yy1321;
                            goto yy141;
                     } else {
                            if (yych <= 'O') goto yy1322;
                            if (yych <= 'Q') goto yy141;
                            goto yy1323;
                     }
              }
       } else {
              if (yych <= 'i') {
                     if (yych <= 'd') {
                            if (yych <= 'Z') goto yy141;
                            if (yych <= '`') goto yy4;
                            goto yy141;
                     } else {
                            if (yych <= 'e') goto yy1320;
                            if (yych <= 'h') goto yy141;
                            goto yy1321;
                     }
              } else {
                     if (yych <= 'q') {
                            if (yych == 'o') goto yy1322;
                            goto yy141;
                     } else {
                            if (yych <= 'r') goto yy1323;
                            if (yych <= 'z') goto yy141;
                            goto yy4;
                     }
              }
       }
yy16:
       YYDEBUG(16, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'A') {
              if (yych == ')') goto yy140;
              if (yych <= '@') goto yy4;
              goto yy1307;
       } else {
              if (yych <= '`') {
                     if (yych <= 'Z') goto yy141;
                     goto yy4;
              } else {
                     if (yych <= 'a') goto yy1317;
                     if (yych <= 'z') goto yy146;
                     goto yy4;
              }
       }
yy17:
       YYDEBUG(17, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'A') {
              if (yych == ')') goto yy140;
              if (yych <= '@') goto yy4;
              goto yy1307;
       } else {
              if (yych <= '`') {
                     if (yych <= 'Z') goto yy141;
                     goto yy4;
              } else {
                     if (yych <= 'a') goto yy1307;
                     if (yych <= 'z') goto yy141;
                     goto yy4;
              }
       }
yy18:
       YYDEBUG(18, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'A') {
              if (yych == ')') goto yy140;
              if (yych <= '@') goto yy4;
              goto yy1287;
       } else {
              if (yych <= '`') {
                     if (yych <= 'Z') goto yy141;
                     goto yy4;
              } else {
                     if (yych <= 'a') goto yy1304;
                     if (yych <= 'z') goto yy146;
                     goto yy4;
              }
       }
yy19:
       YYDEBUG(19, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'A') {
              if (yych == ')') goto yy140;
              if (yych <= '@') goto yy4;
              goto yy1287;
       } else {
              if (yych <= '`') {
                     if (yych <= 'Z') goto yy141;
                     goto yy4;
              } else {
                     if (yych <= 'a') goto yy1287;
                     if (yych <= 'z') goto yy141;
                     goto yy4;
              }
       }
yy20:
       YYDEBUG(20, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych <= 'D') {
                     if (yych <= ')') {
                            if (yych <= '(') goto yy4;
                            goto yy140;
                     } else {
                            if (yych <= '@') goto yy4;
                            if (yych <= 'A') goto yy1230;
                            goto yy141;
                     }
              } else {
                     if (yych <= 'H') {
                            if (yych <= 'E') goto yy1229;
                            goto yy141;
                     } else {
                            if (yych <= 'I') goto yy1231;
                            if (yych <= 'T') goto yy141;
                            goto yy1232;
                     }
              }
       } else {
              if (yych <= 'e') {
                     if (yych <= '`') {
                            if (yych <= 'Z') goto yy141;
                            goto yy4;
                     } else {
                            if (yych <= 'a') goto yy1259;
                            if (yych <= 'd') goto yy146;
                            goto yy1258;
                     }
              } else {
                     if (yych <= 't') {
                            if (yych == 'i') goto yy1260;
                            goto yy146;
                     } else {
                            if (yych <= 'u') goto yy1261;
                            if (yych <= 'z') goto yy146;
                            goto yy4;
                     }
              }
       }
yy21:
       YYDEBUG(21, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych <= 'D') {
                     if (yych <= ')') {
                            if (yych <= '(') goto yy4;
                            goto yy140;
                     } else {
                            if (yych <= '@') goto yy4;
                            if (yych <= 'A') goto yy1230;
                            goto yy141;
                     }
              } else {
                     if (yych <= 'H') {
                            if (yych <= 'E') goto yy1229;
                            goto yy141;
                     } else {
                            if (yych <= 'I') goto yy1231;
                            if (yych <= 'T') goto yy141;
                            goto yy1232;
                     }
              }
       } else {
              if (yych <= 'e') {
                     if (yych <= '`') {
                            if (yych <= 'Z') goto yy141;
                            goto yy4;
                     } else {
                            if (yych <= 'a') goto yy1230;
                            if (yych <= 'd') goto yy141;
                            goto yy1229;
                     }
              } else {
                     if (yych <= 't') {
                            if (yych == 'i') goto yy1231;
                            goto yy141;
                     } else {
                            if (yych <= 'u') goto yy1232;
                            if (yych <= 'z') goto yy141;
                            goto yy4;
                     }
              }
       }
yy22:
       YYDEBUG(22, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'L') {
              if (yych <= '@') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == 'I') goto yy1199;
                     if (yych <= 'K') goto yy141;
                     goto yy1200;
              }
       } else {
              if (yych <= 'i') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     if (yych <= 'h') goto yy146;
                     goto yy1217;
              } else {
                     if (yych == 'l') goto yy1218;
                     if (yych <= 'z') goto yy146;
                     goto yy4;
              }
       }
yy23:
       YYDEBUG(23, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'L') {
              if (yych <= '@') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == 'I') goto yy1199;
                     if (yych <= 'K') goto yy141;
                     goto yy1200;
              }
       } else {
              if (yych <= 'i') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     if (yych <= 'h') goto yy141;
                     goto yy1199;
              } else {
                     if (yych == 'l') goto yy1200;
                     if (yych <= 'z') goto yy141;
                     goto yy4;
              }
       }
yy24:
       YYDEBUG(24, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'R') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'Q') goto yy141;
                     goto yy1098;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy146;
              } else {
                     if (yych <= 'r') goto yy1192;
                     if (yych <= 'z') goto yy146;
                     goto yy4;
              }
       }
yy25:
       YYDEBUG(25, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'R') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'Q') goto yy141;
                     goto yy1098;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'r') goto yy1098;
                     if (yych <= 'z') goto yy141;
                     goto yy4;
              }
       }
yy26:
       YYDEBUG(26, *YYCURSOR);
       yyaccept = 1;
       yych = *(YYMARKER = ++YYCURSOR);
       YYDEBUG(-1, yych);
       switch (yych) {
       case '\t':    goto yy1052;
       case ' ':
       case 'A':
       case 'D':
       case 'F':
       case 'H':
       case 'I':
       case 'J':
       case 'M':
       case 'N':
       case 'O':
       case 'S':
       case 'T':
       case 'V':
       case 'W':
       case 'X':
       case 'Y':
       case 'a':
       case 'd':
       case 'f':
       case 'h':
       case 'j':
       case 'm':
       case 'o':
       case 'w':
       case 'y':     goto yy1054;
       case '-':     goto yy473;
       case '.':     goto yy1064;
       case '/':     goto yy472;
       case '0':     goto yy1097;
       case '1':
       case '2':
       case '3':
       case '4':
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy1096;
       case ':':     goto yy1065;
       case 'n':     goto yy470;
       case 'r':     goto yy471;
       case 's':     goto yy464;
       case 't':     goto yy468;
       default:      goto yy13;
       }
yy27:
       YYDEBUG(27, *YYCURSOR);
       yyaccept = 1;
       yych = *(YYMARKER = ++YYCURSOR);
       YYDEBUG(-1, yych);
       switch (yych) {
       case '\t':    goto yy460;
       case ' ':
       case 'A':
       case 'D':
       case 'F':
       case 'H':
       case 'I':
       case 'J':
       case 'M':
       case 'N':
       case 'O':
       case 'P':
       case 'S':
       case 'T':
       case 'V':
       case 'W':
       case 'X':
       case 'Y':
       case 'a':
       case 'd':
       case 'f':
       case 'h':
       case 'j':
       case 'm':
       case 'o':
       case 'p':
       case 'w':
       case 'y':     goto yy462;
       case '-':     goto yy473;
       case '.':     goto yy474;
       case '/':     goto yy472;
       case '0':
       case '1':
       case '2':     goto yy1096;
       case '3':
       case '4':
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy1063;
       case ':':     goto yy483;
       case 'n':     goto yy470;
       case 'r':     goto yy471;
       case 's':     goto yy464;
       case 't':     goto yy468;
       default:      goto yy13;
       }
yy28:
       YYDEBUG(28, *YYCURSOR);
       yyaccept = 1;
       yych = *(YYMARKER = ++YYCURSOR);
       YYDEBUG(-1, yych);
       switch (yych) {
       case '\t':    goto yy460;
       case ' ':
       case 'A':
       case 'D':
       case 'F':
       case 'H':
       case 'I':
       case 'J':
       case 'M':
       case 'N':
       case 'O':
       case 'P':
       case 'S':
       case 'T':
       case 'V':
       case 'W':
       case 'X':
       case 'Y':
       case 'a':
       case 'd':
       case 'f':
       case 'h':
       case 'j':
       case 'm':
       case 'o':
       case 'p':
       case 'w':
       case 'y':     goto yy462;
       case '-':     goto yy473;
       case '.':     goto yy474;
       case '/':     goto yy472;
       case '0':
       case '1':
       case '2':
       case '3':
       case '4':     goto yy1063;
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy1050;
       case ':':     goto yy483;
       case 'n':     goto yy470;
       case 'r':     goto yy471;
       case 's':     goto yy464;
       case 't':     goto yy468;
       default:      goto yy13;
       }
yy29:
       YYDEBUG(29, *YYCURSOR);
       yyaccept = 1;
       yych = *(YYMARKER = ++YYCURSOR);
       YYDEBUG(-1, yych);
       switch (yych) {
       case '\t':    goto yy460;
       case ' ':
       case 'A':
       case 'D':
       case 'F':
       case 'H':
       case 'I':
       case 'J':
       case 'M':
       case 'N':
       case 'O':
       case 'P':
       case 'S':
       case 'T':
       case 'V':
       case 'W':
       case 'X':
       case 'Y':
       case 'a':
       case 'd':
       case 'f':
       case 'h':
       case 'j':
       case 'm':
       case 'o':
       case 'p':
       case 'w':
       case 'y':     goto yy462;
       case '-':     goto yy473;
       case '.':     goto yy474;
       case '/':     goto yy472;
       case '0':
       case '1':     goto yy1050;
       case '2':
       case '3':
       case '4':
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy469;
       case ':':     goto yy483;
       case 'n':     goto yy470;
       case 'r':     goto yy471;
       case 's':     goto yy464;
       case 't':     goto yy468;
       default:      goto yy13;
       }
yy30:
       YYDEBUG(30, *YYCURSOR);
       yyaccept = 1;
       yych = *(YYMARKER = ++YYCURSOR);
       YYDEBUG(-1, yych);
       switch (yych) {
       case '\t':    goto yy460;
       case ' ':
       case 'A':
       case 'D':
       case 'F':
       case 'H':
       case 'I':
       case 'J':
       case 'M':
       case 'N':
       case 'O':
       case 'P':
       case 'S':
       case 'T':
       case 'V':
       case 'W':
       case 'X':
       case 'Y':
       case 'a':
       case 'd':
       case 'f':
       case 'h':
       case 'j':
       case 'm':
       case 'o':
       case 'p':
       case 'w':
       case 'y':     goto yy462;
       case '-':     goto yy473;
       case '.':     goto yy474;
       case '/':     goto yy472;
       case '0':
       case '1':
       case '2':
       case '3':
       case '4':
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy469;
       case ':':     goto yy483;
       case 'n':     goto yy470;
       case 'r':     goto yy471;
       case 's':     goto yy464;
       case 't':     goto yy468;
       default:      goto yy13;
       }
yy31:
       YYDEBUG(31, *YYCURSOR);
       yyaccept = 1;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yybm[0+yych] & 4) {
              goto yy58;
       }
       YYDEBUG(-1, yych);
       switch (yych) {
       case '+':
       case '-':     goto yy440;
       case '0':
       case '1':     goto yy437;
       case '2':     goto yy438;
       case '3':
       case '4':
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy439;
       default:      goto yy13;
       }
yy32:
       YYDEBUG(32, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy4;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy4;
                     }
              } else {
                     if (yych <= ',') {
                            if (yych <= ')') goto yy140;
                            goto yy4;
                     } else {
                            if (yych == '/') goto yy4;
                            goto yy196;
                     }
              }
       } else {
              if (yych <= 'V') {
                     if (yych <= 'H') {
                            if (yych <= '@') goto yy4;
                            goto yy141;
                     } else {
                            if (yych <= 'I') goto yy436;
                            if (yych <= 'U') goto yy141;
                            goto yy435;
                     }
              } else {
                     if (yych <= 'Z') {
                            if (yych == 'X') goto yy435;
                            goto yy141;
                     } else {
                            if (yych <= '`') goto yy4;
                            if (yych <= 'z') goto yy146;
                            goto yy4;
                     }
              }
       }
yy33:
       YYDEBUG(33, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '.') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy196;
                     if (yych <= 0x1F) goto yy4;
                     goto yy196;
              } else {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy196;
              }
       } else {
              if (yych <= 'H') {
                     if (yych <= '/') goto yy4;
                     if (yych <= '9') goto yy196;
                     if (yych <= '@') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'Z') {
                            if (yych <= 'I') goto yy432;
                            goto yy141;
                     } else {
                            if (yych <= '`') goto yy4;
                            if (yych <= 'z') goto yy146;
                            goto yy4;
                     }
              }
       }
yy34:
       YYDEBUG(34, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '.') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy196;
                     if (yych <= 0x1F) goto yy4;
                     goto yy196;
              } else {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy196;
              }
       } else {
              if (yych <= 'H') {
                     if (yych <= '/') goto yy4;
                     if (yych <= '9') goto yy196;
                     if (yych <= '@') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'Z') {
                            if (yych <= 'I') goto yy430;
                            goto yy141;
                     } else {
                            if (yych <= '`') goto yy4;
                            if (yych <= 'z') goto yy146;
                            goto yy4;
                     }
              }
       }
yy35:
       YYDEBUG(35, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych <= '@') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych <= 'A') goto yy413;
                     if (yych <= 'T') goto yy141;
                     goto yy412;
              }
       } else {
              if (yych <= 'a') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy422;
              } else {
                     if (yych == 'u') goto yy421;
                     if (yych <= 'z') goto yy146;
                     goto yy4;
              }
       }
yy36:
       YYDEBUG(36, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych <= '@') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych <= 'A') goto yy413;
                     if (yych <= 'T') goto yy141;
                     goto yy412;
              }
       } else {
              if (yych <= 'a') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy413;
              } else {
                     if (yych == 'u') goto yy412;
                     if (yych <= 'z') goto yy141;
                     goto yy4;
              }
       }
yy37:
       YYDEBUG(37, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych <= 'F') {
                     if (yych == ')') goto yy140;
                     if (yych <= '@') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'O') {
                            if (yych <= 'G') goto yy391;
                            goto yy141;
                     } else {
                            if (yych <= 'P') goto yy390;
                            if (yych <= 'T') goto yy141;
                            goto yy389;
                     }
              }
       } else {
              if (yych <= 'o') {
                     if (yych <= '`') {
                            if (yych <= 'Z') goto yy141;
                            goto yy4;
                     } else {
                            if (yych == 'g') goto yy403;
                            goto yy146;
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= 'p') goto yy402;
                            goto yy146;
                     } else {
                            if (yych <= 'u') goto yy401;
                            if (yych <= 'z') goto yy146;
                            goto yy4;
                     }
              }
       }
yy38:
       YYDEBUG(38, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych <= 'F') {
                     if (yych == ')') goto yy140;
                     if (yych <= '@') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'O') {
                            if (yych <= 'G') goto yy391;
                            goto yy141;
                     } else {
                            if (yych <= 'P') goto yy390;
                            if (yych <= 'T') goto yy141;
                            goto yy389;
                     }
              }
       } else {
              if (yych <= 'o') {
                     if (yych <= '`') {
                            if (yych <= 'Z') goto yy141;
                            goto yy4;
                     } else {
                            if (yych == 'g') goto yy391;
                            goto yy141;
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= 'p') goto yy390;
                            goto yy141;
                     } else {
                            if (yych <= 'u') goto yy389;
                            if (yych <= 'z') goto yy141;
                            goto yy4;
                     }
              }
       }
yy39:
       YYDEBUG(39, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'C') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'B') goto yy141;
                     goto yy379;
              }
       } else {
              if (yych <= 'b') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy146;
              } else {
                     if (yych <= 'c') goto yy384;
                     if (yych <= 'z') goto yy146;
                     goto yy4;
              }
       }
yy40:
       YYDEBUG(40, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'C') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'B') goto yy141;
                     goto yy379;
              }
       } else {
              if (yych <= 'b') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'c') goto yy379;
                     if (yych <= 'z') goto yy141;
                     goto yy4;
              }
       }
yy41:
       YYDEBUG(41, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'E') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'D') goto yy141;
                     goto yy192;
              }
       } else {
              if (yych <= 'd') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy146;
              } else {
                     if (yych <= 'e') goto yy370;
                     if (yych <= 'z') goto yy146;
                     goto yy4;
              }
       }
yy42:
       YYDEBUG(42, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'E') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'D') goto yy141;
                     goto yy192;
              }
       } else {
              if (yych <= 'd') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'e') goto yy192;
                     if (yych <= 'z') goto yy141;
                     goto yy4;
              }
       }
yy43:
       YYDEBUG(43, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'E') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'D') goto yy141;
                     goto yy165;
              }
       } else {
              if (yych <= 'd') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy146;
              } else {
                     if (yych <= 'e') goto yy179;
                     if (yych <= 'z') goto yy146;
                     goto yy4;
              }
       }
yy44:
       YYDEBUG(44, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'E') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'D') goto yy141;
                     goto yy165;
              }
       } else {
              if (yych <= 'd') {
                     if (yych <= 'Z') goto yy141;
                     if (yych <= '`') goto yy4;
                     goto yy141;
              } else {
                     if (yych <= 'e') goto yy165;
                     if (yych <= 'z') goto yy141;
                     goto yy4;
              }
       }
yy45:
       YYDEBUG(45, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'L') {
              if (yych == ')') goto yy140;
              if (yych <= '@') goto yy4;
              goto yy141;
       } else {
              if (yych <= 'Z') {
                     if (yych <= 'M') goto yy157;
                     goto yy141;
              } else {
                     if (yych <= '`') goto yy4;
                     if (yych <= 'z') goto yy146;
                     goto yy4;
              }
       }
yy46:
       YYDEBUG(46, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') goto yy13;
       if (yych <= 'Z') goto yy156;
       if (yych <= '`') goto yy13;
       if (yych <= 'z') goto yy156;
       goto yy13;
yy47:
       YYDEBUG(47, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'Z') goto yy141;
              if (yych <= '`') goto yy4;
              if (yych <= 'z') goto yy146;
              goto yy4;
       }
yy48:
       YYDEBUG(48, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'Z') goto yy141;
              if (yych <= '`') goto yy4;
              if (yych <= 'z') goto yy141;
              goto yy4;
       }
yy49:
       YYDEBUG(49, *YYCURSOR);
       yyaccept = 2;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yybm[0+yych] & 4) {
              goto yy58;
       }
       if (yych <= '/') goto yy50;
       if (yych <= '9') goto yy55;
yy50:
       YYDEBUG(50, *YYCURSOR);
       {
              goto std;
       }
yy51:
       YYDEBUG(51, *YYCURSOR);
       yych = *++YYCURSOR;
       goto yy50;
yy52:
       YYDEBUG(52, *YYCURSOR);
       ++YYCURSOR;
       YYDEBUG(53, *YYCURSOR);
       {
              s->pos = cursor; s->line++;
              goto std;
       }
yy54:
       YYDEBUG(54, *YYCURSOR);
       yych = *++YYCURSOR;
       goto yy13;
yy55:
       YYDEBUG(55, *YYCURSOR);
       ++YYCURSOR;
       if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
       yych = *YYCURSOR;
       YYDEBUG(56, *YYCURSOR);
       if (yybm[0+yych] & 2) {
              goto yy55;
       }
       if (yych <= 'W') {
              if (yych <= 'F') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy60;
                            if (yych >= ' ') goto yy60;
                     } else {
                            if (yych == 'D') goto yy65;
                            if (yych >= 'F') goto yy66;
                     }
              } else {
                     if (yych <= 'M') {
                            if (yych == 'H') goto yy64;
                            if (yych >= 'M') goto yy63;
                     } else {
                            if (yych <= 'S') {
                                   if (yych >= 'S') goto yy62;
                            } else {
                                   if (yych <= 'T') goto yy69;
                                   if (yych >= 'W') goto yy68;
                            }
                     }
              }
       } else {
              if (yych <= 'l') {
                     if (yych <= 'd') {
                            if (yych == 'Y') goto yy67;
                            if (yych >= 'd') goto yy65;
                     } else {
                            if (yych <= 'f') {
                                   if (yych >= 'f') goto yy66;
                            } else {
                                   if (yych == 'h') goto yy64;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= 'm') goto yy63;
                            if (yych <= 'r') goto yy57;
                            if (yych <= 's') goto yy62;
                            goto yy69;
                     } else {
                            if (yych <= 'w') {
                                   if (yych >= 'w') goto yy68;
                            } else {
                                   if (yych == 'y') goto yy67;
                            }
                     }
              }
       }
yy57:
       YYDEBUG(57, *YYCURSOR);
       YYCURSOR = YYMARKER;
       if (yyaccept <= 16) {
              if (yyaccept <= 8) {
                     if (yyaccept <= 4) {
                            if (yyaccept <= 2) {
                                   if (yyaccept <= 1) {
                                          if (yyaccept <= 0) {
                                                 goto yy4;
                                          } else {
                                                 goto yy13;
                                          }
                                   } else {
                                          goto yy50;
                                   }
                            } else {
                                   if (yyaccept <= 3) {
                                          goto yy73;
                                   } else {
                                          goto yy167;
                                   }
                            }
                     } else {
                            if (yyaccept <= 6) {
                                   if (yyaccept <= 5) {
                                          goto yy194;
                                   } else {
                                          goto yy199;
                                   }
                            } else {
                                   if (yyaccept <= 7) {
                                          goto yy223;
                                   } else {
                                          goto yy295;
                                   }
                            }
                     }
              } else {
                     if (yyaccept <= 12) {
                            if (yyaccept <= 10) {
                                   if (yyaccept <= 9) {
                                          goto yy393;
                                   } else {
                                          goto yy476;
                                   }
                            } else {
                                   if (yyaccept <= 11) {
                                          goto yy491;
                                   } else {
                                          goto yy612;
                                   }
                            }
                     } else {
                            if (yyaccept <= 14) {
                                   if (yyaccept <= 13) {
                                          goto yy657;
                                   } else {
                                          goto yy667;
                                   }
                            } else {
                                   if (yyaccept <= 15) {
                                          goto yy764;
                                   } else {
                                          goto yy784;
                                   }
                            }
                     }
              }
       } else {
              if (yyaccept <= 25) {
                     if (yyaccept <= 21) {
                            if (yyaccept <= 19) {
                                   if (yyaccept <= 18) {
                                          if (yyaccept <= 17) {
                                                 goto yy815;
                                          } else {
                                                 goto yy822;
                                          }
                                   } else {
                                          goto yy849;
                                   }
                            } else {
                                   if (yyaccept <= 20) {
                                          goto yy794;
                                   } else {
                                          goto yy455;
                                   }
                            }
                     } else {
                            if (yyaccept <= 23) {
                                   if (yyaccept <= 22) {
                                          goto yy974;
                                   } else {
                                          goto yy843;
                                   }
                            } else {
                                   if (yyaccept <= 24) {
                                          goto yy1068;
                                   } else {
                                          goto yy1076;
                                   }
                            }
                     }
              } else {
                     if (yyaccept <= 29) {
                            if (yyaccept <= 27) {
                                   if (yyaccept <= 26) {
                                          goto yy1118;
                                   } else {
                                          goto yy1142;
                                   }
                            } else {
                                   if (yyaccept <= 28) {
                                          goto yy1295;
                                   } else {
                                          goto yy1417;
                                   }
                            }
                     } else {
                            if (yyaccept <= 31) {
                                   if (yyaccept <= 30) {
                                          goto yy1420;
                                   } else {
                                          goto yy1500;
                                   }
                            } else {
                                   if (yyaccept <= 32) {
                                          goto yy1508;
                                   } else {
                                          goto yy1531;
                                   }
                            }
                     }
              }
       }
yy58:
       YYDEBUG(58, *YYCURSOR);
       ++YYCURSOR;
       if (YYLIMIT <= YYCURSOR) YYFILL(1);
       yych = *YYCURSOR;
       YYDEBUG(59, *YYCURSOR);
       if (yybm[0+yych] & 4) {
              goto yy58;
       }
       if (yych <= '/') goto yy57;
       if (yych <= '9') goto yy55;
       goto yy57;
yy60:
       YYDEBUG(60, *YYCURSOR);
       ++YYCURSOR;
       if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
       yych = *YYCURSOR;
yy61:
       YYDEBUG(61, *YYCURSOR);
       if (yych <= 'W') {
              if (yych <= 'F') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy60;
                            if (yych <= 0x1F) goto yy57;
                            goto yy60;
                     } else {
                            if (yych == 'D') goto yy65;
                            if (yych <= 'E') goto yy57;
                            goto yy66;
                     }
              } else {
                     if (yych <= 'M') {
                            if (yych == 'H') goto yy64;
                            if (yych <= 'L') goto yy57;
                            goto yy63;
                     } else {
                            if (yych <= 'S') {
                                   if (yych <= 'R') goto yy57;
                            } else {
                                   if (yych <= 'T') goto yy69;
                                   if (yych <= 'V') goto yy57;
                                   goto yy68;
                            }
                     }
              }
       } else {
              if (yych <= 'l') {
                     if (yych <= 'd') {
                            if (yych == 'Y') goto yy67;
                            if (yych <= 'c') goto yy57;
                            goto yy65;
                     } else {
                            if (yych <= 'f') {
                                   if (yych <= 'e') goto yy57;
                                   goto yy66;
                            } else {
                                   if (yych == 'h') goto yy64;
                                   goto yy57;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= 'm') goto yy63;
                            if (yych <= 'r') goto yy57;
                            if (yych >= 't') goto yy69;
                     } else {
                            if (yych <= 'w') {
                                   if (yych <= 'v') goto yy57;
                                   goto yy68;
                            } else {
                                   if (yych == 'y') goto yy67;
                                   goto yy57;
                            }
                     }
              }
       }
yy62:
       YYDEBUG(62, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych <= 'D') {
                     if (yych == 'A') goto yy127;
                     goto yy57;
              } else {
                     if (yych <= 'E') goto yy128;
                     if (yych <= 'T') goto yy57;
                     goto yy126;
              }
       } else {
              if (yych <= 'd') {
                     if (yych == 'a') goto yy127;
                     goto yy57;
              } else {
                     if (yych <= 'e') goto yy128;
                     if (yych == 'u') goto yy126;
                     goto yy57;
              }
       }
yy63:
       YYDEBUG(63, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'O') {
              if (yych == 'I') goto yy118;
              if (yych <= 'N') goto yy57;
              goto yy117;
       } else {
              if (yych <= 'i') {
                     if (yych <= 'h') goto yy57;
                     goto yy118;
              } else {
                     if (yych == 'o') goto yy117;
                     goto yy57;
              }
       }
yy64:
       YYDEBUG(64, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'O') goto yy115;
       if (yych == 'o') goto yy115;
       goto yy57;
yy65:
       YYDEBUG(65, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy114;
       if (yych == 'a') goto yy114;
       goto yy57;
yy66:
       YYDEBUG(66, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'R') {
              if (yych == 'O') goto yy99;
              if (yych <= 'Q') goto yy57;
              goto yy98;
       } else {
              if (yych <= 'o') {
                     if (yych <= 'n') goto yy57;
                     goto yy99;
              } else {
                     if (yych == 'r') goto yy98;
                     goto yy57;
              }
       }
yy67:
       YYDEBUG(67, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'E') goto yy95;
       if (yych == 'e') goto yy95;
       goto yy57;
yy68:
       YYDEBUG(68, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'E') goto yy83;
       if (yych == 'e') goto yy83;
       goto yy57;
yy69:
       YYDEBUG(69, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych == 'H') goto yy70;
              if (yych <= 'T') goto yy57;
              goto yy71;
       } else {
              if (yych <= 'h') {
                     if (yych <= 'g') goto yy57;
              } else {
                     if (yych == 'u') goto yy71;
                     goto yy57;
              }
       }
yy70:
       YYDEBUG(70, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'U') goto yy78;
       if (yych == 'u') goto yy78;
       goto yy57;
yy71:
       YYDEBUG(71, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'E') goto yy72;
       if (yych != 'e') goto yy57;
yy72:
       YYDEBUG(72, *YYCURSOR);
       yyaccept = 3;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == 'S') goto yy74;
       if (yych == 's') goto yy74;
yy73:
       YYDEBUG(73, *YYCURSOR);
       {
              timelib_ull i;
              DEBUG_OUTPUT("relative");
              TIMELIB_INIT;
              TIMELIB_HAVE_RELATIVE();

              while(*ptr) {
                     i = timelib_get_unsigned_nr((char **) &ptr, 24);
                     timelib_eat_spaces((char **) &ptr);
                     timelib_set_relative((char **) &ptr, i, 1, s);
              }
              TIMELIB_DEINIT;
              return TIMELIB_RELATIVE;
       }
yy74:
       YYDEBUG(74, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'D') goto yy75;
       if (yych != 'd') goto yy57;
yy75:
       YYDEBUG(75, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy76;
       if (yych != 'a') goto yy57;
yy76:
       YYDEBUG(76, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy77;
       if (yych != 'y') goto yy57;
yy77:
       YYDEBUG(77, *YYCURSOR);
       yych = *++YYCURSOR;
       goto yy73;
yy78:
       YYDEBUG(78, *YYCURSOR);
       yyaccept = 3;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == 'R') goto yy79;
       if (yych != 'r') goto yy73;
yy79:
       YYDEBUG(79, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'S') goto yy80;
       if (yych != 's') goto yy57;
yy80:
       YYDEBUG(80, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'D') goto yy81;
       if (yych != 'd') goto yy57;
yy81:
       YYDEBUG(81, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy82;
       if (yych != 'a') goto yy57;
yy82:
       YYDEBUG(82, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy77;
       if (yych == 'y') goto yy77;
       goto yy57;
yy83:
       YYDEBUG(83, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'E') {
              if (yych <= 'C') goto yy57;
              if (yych <= 'D') goto yy85;
       } else {
              if (yych <= 'c') goto yy57;
              if (yych <= 'd') goto yy85;
              if (yych >= 'f') goto yy57;
       }
       YYDEBUG(84, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'K') goto yy91;
       if (yych == 'k') goto yy91;
       goto yy57;
yy85:
       YYDEBUG(85, *YYCURSOR);
       yyaccept = 3;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == 'N') goto yy86;
       if (yych != 'n') goto yy73;
yy86:
       YYDEBUG(86, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'E') goto yy87;
       if (yych != 'e') goto yy57;
yy87:
       YYDEBUG(87, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'S') goto yy88;
       if (yych != 's') goto yy57;
yy88:
       YYDEBUG(88, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'D') goto yy89;
       if (yych != 'd') goto yy57;
yy89:
       YYDEBUG(89, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy90;
       if (yych != 'a') goto yy57;
yy90:
       YYDEBUG(90, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy77;
       if (yych == 'y') goto yy77;
       goto yy57;
yy91:
       YYDEBUG(91, *YYCURSOR);
       yyaccept = 3;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'S') {
              if (yych == 'D') goto yy92;
              if (yych <= 'R') goto yy73;
              goto yy77;
       } else {
              if (yych <= 'd') {
                     if (yych <= 'c') goto yy73;
              } else {
                     if (yych == 's') goto yy77;
                     goto yy73;
              }
       }
yy92:
       YYDEBUG(92, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy93;
       if (yych != 'a') goto yy57;
yy93:
       YYDEBUG(93, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy94;
       if (yych != 'y') goto yy57;
yy94:
       YYDEBUG(94, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'S') goto yy77;
       if (yych == 's') goto yy77;
       goto yy73;
yy95:
       YYDEBUG(95, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy96;
       if (yych != 'a') goto yy57;
yy96:
       YYDEBUG(96, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'R') goto yy97;
       if (yych != 'r') goto yy57;
yy97:
       YYDEBUG(97, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'S') goto yy77;
       if (yych == 's') goto yy77;
       goto yy73;
yy98:
       YYDEBUG(98, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'I') goto yy111;
       if (yych == 'i') goto yy111;
       goto yy57;
yy99:
       YYDEBUG(99, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'R') goto yy100;
       if (yych != 'r') goto yy57;
yy100:
       YYDEBUG(100, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'T') goto yy101;
       if (yych != 't') goto yy57;
yy101:
       YYDEBUG(101, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'N') {
              if (yych == 'H') goto yy103;
              if (yych <= 'M') goto yy57;
       } else {
              if (yych <= 'h') {
                     if (yych <= 'g') goto yy57;
                     goto yy103;
              } else {
                     if (yych != 'n') goto yy57;
              }
       }
       YYDEBUG(102, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'I') goto yy108;
       if (yych == 'i') goto yy108;
       goto yy57;
yy103:
       YYDEBUG(103, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'N') goto yy104;
       if (yych != 'n') goto yy57;
yy104:
       YYDEBUG(104, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'I') goto yy105;
       if (yych != 'i') goto yy57;
yy105:
       YYDEBUG(105, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'G') goto yy106;
       if (yych != 'g') goto yy57;
yy106:
       YYDEBUG(106, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'H') goto yy107;
       if (yych != 'h') goto yy57;
yy107:
       YYDEBUG(107, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'T') goto yy97;
       if (yych == 't') goto yy97;
       goto yy57;
yy108:
       YYDEBUG(108, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'G') goto yy109;
       if (yych != 'g') goto yy57;
yy109:
       YYDEBUG(109, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'H') goto yy110;
       if (yych != 'h') goto yy57;
yy110:
       YYDEBUG(110, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'T') goto yy97;
       if (yych == 't') goto yy97;
       goto yy57;
yy111:
       YYDEBUG(111, *YYCURSOR);
       yyaccept = 3;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == 'D') goto yy112;
       if (yych != 'd') goto yy73;
yy112:
       YYDEBUG(112, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy113;
       if (yych != 'a') goto yy57;
yy113:
       YYDEBUG(113, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy77;
       if (yych == 'y') goto yy77;
       goto yy57;
yy114:
       YYDEBUG(114, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy97;
       if (yych == 'y') goto yy97;
       goto yy57;
yy115:
       YYDEBUG(115, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'U') goto yy116;
       if (yych != 'u') goto yy57;
yy116:
       YYDEBUG(116, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'R') goto yy97;
       if (yych == 'r') goto yy97;
       goto yy57;
yy117:
       YYDEBUG(117, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'N') goto yy122;
       if (yych == 'n') goto yy122;
       goto yy57;
yy118:
       YYDEBUG(118, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'N') goto yy119;
       if (yych != 'n') goto yy57;
yy119:
       YYDEBUG(119, *YYCURSOR);
       yyaccept = 3;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'U') {
              if (yych == 'S') goto yy77;
              if (yych <= 'T') goto yy73;
       } else {
              if (yych <= 's') {
                     if (yych <= 'r') goto yy73;
                     goto yy77;
              } else {
                     if (yych != 'u') goto yy73;
              }
       }
       YYDEBUG(120, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'T') goto yy121;
       if (yych != 't') goto yy57;
yy121:
       YYDEBUG(121, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'E') goto yy97;
       if (yych == 'e') goto yy97;
       goto yy57;
yy122:
       YYDEBUG(122, *YYCURSOR);
       yyaccept = 3;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'T') {
              if (yych == 'D') goto yy123;
              if (yych <= 'S') goto yy73;
              goto yy124;
       } else {
              if (yych <= 'd') {
                     if (yych <= 'c') goto yy73;
              } else {
                     if (yych == 't') goto yy124;
                     goto yy73;
              }
       }
yy123:
       YYDEBUG(123, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy125;
       if (yych == 'a') goto yy125;
       goto yy57;
yy124:
       YYDEBUG(124, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'H') goto yy97;
       if (yych == 'h') goto yy97;
       goto yy57;
yy125:
       YYDEBUG(125, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy77;
       if (yych == 'y') goto yy77;
       goto yy57;
yy126:
       YYDEBUG(126, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'N') goto yy137;
       if (yych == 'n') goto yy137;
       goto yy57;
yy127:
       YYDEBUG(127, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'T') goto yy132;
       if (yych == 't') goto yy132;
       goto yy57;
yy128:
       YYDEBUG(128, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'C') goto yy129;
       if (yych != 'c') goto yy57;
yy129:
       YYDEBUG(129, *YYCURSOR);
       yyaccept = 3;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'S') {
              if (yych == 'O') goto yy130;
              if (yych <= 'R') goto yy73;
              goto yy77;
       } else {
              if (yych <= 'o') {
                     if (yych <= 'n') goto yy73;
              } else {
                     if (yych == 's') goto yy77;
                     goto yy73;
              }
       }
yy130:
       YYDEBUG(130, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'N') goto yy131;
       if (yych != 'n') goto yy57;
yy131:
       YYDEBUG(131, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'D') goto yy97;
       if (yych == 'd') goto yy97;
       goto yy57;
yy132:
       YYDEBUG(132, *YYCURSOR);
       yyaccept = 3;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == 'U') goto yy133;
       if (yych != 'u') goto yy73;
yy133:
       YYDEBUG(133, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'R') goto yy134;
       if (yych != 'r') goto yy57;
yy134:
       YYDEBUG(134, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'D') goto yy135;
       if (yych != 'd') goto yy57;
yy135:
       YYDEBUG(135, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy136;
       if (yych != 'a') goto yy57;
yy136:
       YYDEBUG(136, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy77;
       if (yych == 'y') goto yy77;
       goto yy57;
yy137:
       YYDEBUG(137, *YYCURSOR);
       yyaccept = 3;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == 'D') goto yy138;
       if (yych != 'd') goto yy73;
yy138:
       YYDEBUG(138, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy139;
       if (yych != 'a') goto yy57;
yy139:
       YYDEBUG(139, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy77;
       if (yych == 'y') goto yy77;
       goto yy57;
yy140:
       YYDEBUG(140, *YYCURSOR);
       yych = *++YYCURSOR;
       goto yy4;
yy141:
       YYDEBUG(141, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'Z') goto yy142;
              if (yych <= '`') goto yy4;
              if (yych >= '{') goto yy4;
       }
yy142:
       YYDEBUG(142, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'Z') goto yy143;
              if (yych <= '`') goto yy4;
              if (yych >= '{') goto yy4;
       }
yy143:
       YYDEBUG(143, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'Z') goto yy144;
              if (yych <= '`') goto yy4;
              if (yych >= '{') goto yy4;
       }
yy144:
       YYDEBUG(144, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'Z') goto yy145;
              if (yych <= '`') goto yy4;
              if (yych >= '{') goto yy4;
       }
yy145:
       YYDEBUG(145, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == ')') goto yy140;
       goto yy4;
yy146:
       YYDEBUG(146, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
                     goto yy148;
              }
       } else {
              if (yych <= '^') {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'Z') goto yy142;
                     goto yy4;
              } else {
                     if (yych <= '_') goto yy148;
                     if (yych <= '`') goto yy4;
                     if (yych >= '{') goto yy4;
              }
       }
yy147:
       YYDEBUG(147, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
              }
       } else {
              if (yych <= '^') {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'Z') goto yy143;
                     goto yy4;
              } else {
                     if (yych <= '_') goto yy148;
                     if (yych <= '`') goto yy4;
                     if (yych <= 'z') goto yy151;
                     goto yy4;
              }
       }
yy148:
       YYDEBUG(148, *YYCURSOR);
       ++YYCURSOR;
       if (YYLIMIT <= YYCURSOR) YYFILL(1);
       yych = *YYCURSOR;
       if (yybm[0+yych] & 8) {
              goto yy149;
       }
       goto yy57;
yy149:
       YYDEBUG(149, *YYCURSOR);
       yyaccept = 0;
       YYMARKER = ++YYCURSOR;
       if (YYLIMIT <= YYCURSOR) YYFILL(1);
       yych = *YYCURSOR;
       YYDEBUG(150, *YYCURSOR);
       if (yybm[0+yych] & 8) {
              goto yy149;
       }
       if (yych <= '.') {
              if (yych == '-') goto yy148;
              goto yy4;
       } else {
              if (yych <= '/') goto yy148;
              if (yych == '_') goto yy148;
              goto yy4;
       }
yy151:
       YYDEBUG(151, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
                     goto yy148;
              }
       } else {
              if (yych <= '^') {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'Z') goto yy144;
                     goto yy4;
              } else {
                     if (yych <= '_') goto yy148;
                     if (yych <= '`') goto yy4;
                     if (yych >= '{') goto yy4;
              }
       }
yy152:
       YYDEBUG(152, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
                     goto yy148;
              }
       } else {
              if (yych <= '^') {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'Z') goto yy145;
                     goto yy4;
              } else {
                     if (yych <= '_') goto yy148;
                     if (yych <= '`') goto yy4;
                     if (yych >= '{') goto yy4;
              }
       }
yy153:
       YYDEBUG(153, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yybm[0+yych] & 16) {
              goto yy154;
       }
       if (yych <= '-') {
              if (yych == ')') goto yy140;
              if (yych <= ',') goto yy4;
              goto yy148;
       } else {
              if (yych <= '/') {
                     if (yych <= '.') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '_') goto yy148;
                     goto yy4;
              }
       }
yy154:
       YYDEBUG(154, *YYCURSOR);
       ++YYCURSOR;
       if (YYLIMIT <= YYCURSOR) YYFILL(1);
       yych = *YYCURSOR;
yy155:
       YYDEBUG(155, *YYCURSOR);
       if (yybm[0+yych] & 16) {
              goto yy154;
       }
       if (yych <= '.') {
              if (yych == '-') goto yy148;
              goto yy57;
       } else {
              if (yych <= '/') goto yy148;
              if (yych == '_') goto yy148;
              goto yy57;
       }
yy156:
       YYDEBUG(156, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'Z') goto yy141;
              if (yych <= '`') goto yy4;
              if (yych <= 'z') goto yy141;
              goto yy4;
       }
yy157:
       YYDEBUG(157, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'S') {
              if (yych == ')') goto yy140;
              if (yych <= '@') goto yy4;
              goto yy142;
       } else {
              if (yych <= 'Z') {
                     if (yych >= 'U') goto yy142;
              } else {
                     if (yych <= '`') goto yy4;
                     if (yych <= 'z') goto yy142;
                     goto yy4;
              }
       }
       YYDEBUG(158, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych != '+') goto yy4;
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '-') goto yy159;
                     if (yych <= '@') goto yy4;
                     goto yy143;
              } else {
                     if (yych <= '`') goto yy4;
                     if (yych <= 'z') goto yy143;
                     goto yy4;
              }
       }
yy159:
       YYDEBUG(159, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '1') goto yy160;
       if (yych <= '2') goto yy161;
       if (yych <= '9') goto yy162;
       goto yy57;
yy160:
       YYDEBUG(160, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy4;
       if (yych <= '9') goto yy162;
       if (yych <= ':') goto yy163;
       goto yy4;
yy161:
       YYDEBUG(161, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '5') {
              if (yych <= '/') goto yy4;
              if (yych >= '5') goto yy164;
       } else {
              if (yych <= '9') goto yy140;
              if (yych <= ':') goto yy163;
              goto yy4;
       }
yy162:
       YYDEBUG(162, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy4;
       if (yych <= '5') goto yy164;
       if (yych <= '9') goto yy140;
       if (yych >= ';') goto yy4;
yy163:
       YYDEBUG(163, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy4;
       if (yych <= '5') goto yy164;
       if (yych <= '9') goto yy140;
       goto yy4;
yy164:
       YYDEBUG(164, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy4;
       if (yych <= '9') goto yy140;
       goto yy4;
yy165:
       YYDEBUG(165, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'E') {
              if (yych <= '@') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych <= 'C') goto yy142;
                     if (yych >= 'E') goto yy168;
              }
       } else {
              if (yych <= 'c') {
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '`') goto yy4;
                     goto yy142;
              } else {
                     if (yych <= 'd') goto yy166;
                     if (yych <= 'e') goto yy168;
                     if (yych <= 'z') goto yy142;
                     goto yy4;
              }
       }
yy166:
       YYDEBUG(166, *YYCURSOR);
       ++YYCURSOR;
       if ((yych = *YYCURSOR) <= 'N') {
              if (yych <= ')') {
                     if (yych >= ')') goto yy140;
              } else {
                     if (yych <= '@') goto yy167;
                     if (yych <= 'M') goto yy143;
                     goto yy174;
              }
       } else {
              if (yych <= 'm') {
                     if (yych <= 'Z') goto yy143;
                     if (yych >= 'a') goto yy143;
              } else {
                     if (yych <= 'n') goto yy174;
                     if (yych <= 'z') goto yy143;
              }
       }
yy167:
       YYDEBUG(167, *YYCURSOR);
       {
              const timelib_relunit* relunit;
              DEBUG_OUTPUT("daytext");
              TIMELIB_INIT;
              TIMELIB_HAVE_RELATIVE();
              TIMELIB_HAVE_WEEKDAY_RELATIVE();
              TIMELIB_UNHAVE_TIME();
              relunit = timelib_lookup_relunit((char**) &ptr);
              s->time->relative.weekday = relunit->multiplier;
              if (s->time->relative.weekday_behavior != 2) {
                     s->time->relative.weekday_behavior = 1;
              }
              
              TIMELIB_DEINIT;
              return TIMELIB_WEEKDAY;
       }
yy168:
       YYDEBUG(168, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'K') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'J') goto yy143;
              }
       } else {
              if (yych <= 'j') {
                     if (yych <= 'Z') goto yy143;
                     if (yych <= '`') goto yy4;
                     goto yy143;
              } else {
                     if (yych <= 'k') goto yy169;
                     if (yych <= 'z') goto yy143;
                     goto yy4;
              }
       }
yy169:
       YYDEBUG(169, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'D') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'C') goto yy144;
              }
       } else {
              if (yych <= 'c') {
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '`') goto yy4;
                     goto yy144;
              } else {
                     if (yych <= 'd') goto yy170;
                     if (yych <= 'z') goto yy144;
                     goto yy4;
              }
       }
yy170:
       YYDEBUG(170, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'A') {
              if (yych == ')') goto yy140;
              if (yych <= '@') goto yy4;
       } else {
              if (yych <= '`') {
                     if (yych <= 'Z') goto yy145;
                     goto yy4;
              } else {
                     if (yych <= 'a') goto yy171;
                     if (yych <= 'z') goto yy145;
                     goto yy4;
              }
       }
yy171:
       YYDEBUG(171, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'X') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'Y') goto yy172;
              if (yych != 'y') goto yy4;
       }
yy172:
       YYDEBUG(172, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'S') goto yy173;
       if (yych != 's') goto yy167;
yy173:
       YYDEBUG(173, *YYCURSOR);
       yych = *++YYCURSOR;
       goto yy167;
yy174:
       YYDEBUG(174, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'E') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'D') goto yy144;
              }
       } else {
              if (yych <= 'd') {
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '`') goto yy4;
                     goto yy144;
              } else {
                     if (yych <= 'e') goto yy175;
                     if (yych <= 'z') goto yy144;
                     goto yy4;
              }
       }
yy175:
       YYDEBUG(175, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'S') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'R') goto yy145;
              }
       } else {
              if (yych <= 'r') {
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '`') goto yy4;
                     goto yy145;
              } else {
                     if (yych <= 's') goto yy176;
                     if (yych <= 'z') goto yy145;
                     goto yy4;
              }
       }
yy176:
       YYDEBUG(176, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'C') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'D') goto yy177;
              if (yych != 'd') goto yy4;
       }
yy177:
       YYDEBUG(177, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy178;
       if (yych != 'a') goto yy57;
yy178:
       YYDEBUG(178, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy173;
       if (yych == 'y') goto yy173;
       goto yy57;
yy179:
       YYDEBUG(179, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'D') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= '/') {
                            if (yych <= '.') goto yy4;
                            goto yy148;
                     } else {
                            if (yych <= '@') goto yy4;
                            if (yych <= 'C') goto yy142;
                            goto yy166;
                     }
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'Z') {
                            if (yych <= 'E') goto yy168;
                            goto yy142;
                     } else {
                            if (yych == '_') goto yy148;
                            goto yy4;
                     }
              } else {
                     if (yych <= 'd') {
                            if (yych <= 'c') goto yy147;
                     } else {
                            if (yych <= 'e') goto yy181;
                            if (yych <= 'z') goto yy147;
                            goto yy4;
                     }
              }
       }
       YYDEBUG(180, *YYCURSOR);
       yyaccept = 4;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'M') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy167;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy167;
                     goto yy143;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'N') goto yy174;
                     if (yych <= 'Z') goto yy143;
                     if (yych <= '^') goto yy167;
                     goto yy148;
              } else {
                     if (yych <= 'm') {
                            if (yych <= '`') goto yy167;
                            goto yy151;
                     } else {
                            if (yych <= 'n') goto yy187;
                            if (yych <= 'z') goto yy151;
                            goto yy167;
                     }
              }
       }
yy181:
       YYDEBUG(181, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'J') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy143;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'K') goto yy169;
                     if (yych <= 'Z') goto yy143;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'j') {
                            if (yych <= '`') goto yy4;
                            goto yy151;
                     } else {
                            if (yych <= 'k') goto yy182;
                            if (yych <= 'z') goto yy151;
                            goto yy4;
                     }
              }
       }
yy182:
       YYDEBUG(182, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'C') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy144;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'D') goto yy170;
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'c') {
                            if (yych <= '`') goto yy4;
                            goto yy152;
                     } else {
                            if (yych <= 'd') goto yy183;
                            if (yych <= 'z') goto yy152;
                            goto yy4;
                     }
              }
       }
yy183:
       YYDEBUG(183, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '@') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
                     if (yych <= '/') goto yy148;
                     goto yy4;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'A') goto yy171;
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= '`') goto yy4;
                     if (yych <= 'a') goto yy184;
                     if (yych <= 'z') goto yy153;
                     goto yy4;
              }
       }
yy184:
       YYDEBUG(184, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'X') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
                     if (yych <= '/') goto yy148;
                     goto yy4;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'Y') goto yy172;
                     if (yych == '_') goto yy148;
                     goto yy4;
              } else {
                     if (yych == 'y') goto yy185;
                     if (yych <= 'z') goto yy154;
                     goto yy4;
              }
       }
yy185:
       YYDEBUG(185, *YYCURSOR);
       yyaccept = 4;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'S') {
              if (yych <= '.') {
                     if (yych == '-') goto yy148;
                     goto yy167;
              } else {
                     if (yych <= '/') goto yy148;
                     if (yych <= 'R') goto yy167;
                     goto yy173;
              }
       } else {
              if (yych <= '`') {
                     if (yych == '_') goto yy148;
                     goto yy167;
              } else {
                     if (yych == 's') goto yy186;
                     if (yych <= 'z') goto yy154;
                     goto yy167;
              }
       }
yy186:
       YYDEBUG(186, *YYCURSOR);
       yyaccept = 4;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yybm[0+yych] & 16) {
              goto yy154;
       }
       if (yych <= '.') {
              if (yych == '-') goto yy148;
              goto yy167;
       } else {
              if (yych <= '/') goto yy148;
              if (yych == '_') goto yy148;
              goto yy167;
       }
yy187:
       YYDEBUG(187, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'D') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy144;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'E') goto yy175;
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'd') {
                            if (yych <= '`') goto yy4;
                            goto yy152;
                     } else {
                            if (yych <= 'e') goto yy188;
                            if (yych <= 'z') goto yy152;
                            goto yy4;
                     }
              }
       }
yy188:
       YYDEBUG(188, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'R') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy145;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'S') goto yy176;
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'r') {
                            if (yych <= '`') goto yy4;
                            goto yy153;
                     } else {
                            if (yych <= 's') goto yy189;
                            if (yych <= 'z') goto yy153;
                            goto yy4;
                     }
              }
       }
yy189:
       YYDEBUG(189, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'C') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
                     if (yych <= '/') goto yy148;
                     goto yy4;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'D') goto yy177;
                     if (yych == '_') goto yy148;
                     goto yy4;
              } else {
                     if (yych == 'd') goto yy190;
                     if (yych <= 'z') goto yy154;
                     goto yy4;
              }
       }
yy190:
       YYDEBUG(190, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'A') goto yy178;
       if (yych != 'a') goto yy155;
       YYDEBUG(191, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'Y') goto yy173;
       if (yych == 'y') goto yy186;
       goto yy155;
yy192:
       YYDEBUG(192, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'C') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'B') goto yy142;
              }
       } else {
              if (yych <= 'b') {
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '`') goto yy4;
                     goto yy142;
              } else {
                     if (yych <= 'c') goto yy193;
                     if (yych <= 'z') goto yy142;
                     goto yy4;
              }
       }
yy193:
       YYDEBUG(193, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych >= '\t') goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                     }
              } else {
                     if (yych <= ',') {
                            if (yych <= ')') goto yy140;
                     } else {
                            if (yych <= '-') goto yy197;
                            if (yych <= '.') goto yy196;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '@') {
                            if (yych <= '9') goto yy196;
                     } else {
                            if (yych == 'E') goto yy202;
                            goto yy143;
                     }
              } else {
                     if (yych <= 'd') {
                            if (yych >= 'a') goto yy143;
                     } else {
                            if (yych <= 'e') goto yy202;
                            if (yych <= 'z') goto yy143;
                     }
              }
       }
yy194:
       YYDEBUG(194, *YYCURSOR);
       {
              DEBUG_OUTPUT("monthtext");
              TIMELIB_INIT;
              TIMELIB_HAVE_DATE();
              s->time->m = timelib_lookup_month((char **) &ptr);
              TIMELIB_DEINIT;
              return TIMELIB_DATE_TEXT;
       }
yy195:
       YYDEBUG(195, *YYCURSOR);
       ++YYCURSOR;
       if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
       yych = *YYCURSOR;
yy196:
       YYDEBUG(196, *YYCURSOR);
       if (yybm[0+yych] & 32) {
              goto yy195;
       }
       if (yych <= '/') goto yy57;
       if (yych <= '2') goto yy198;
       if (yych <= '3') goto yy200;
       if (yych <= '9') goto yy201;
       goto yy57;
yy197:
       YYDEBUG(197, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy196;
       if (yych <= '0') goto yy357;
       if (yych <= '2') goto yy358;
       if (yych <= '3') goto yy359;
       goto yy196;
yy198:
       YYDEBUG(198, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'm') {
              if (yych <= '1') {
                     if (yych <= '/') goto yy216;
                     if (yych <= '0') goto yy298;
                     goto yy299;
              } else {
                     if (yych <= '2') goto yy355;
                     if (yych <= '9') goto yy356;
                     goto yy216;
              }
       } else {
              if (yych <= 'r') {
                     if (yych <= 'n') goto yy212;
                     if (yych <= 'q') goto yy216;
                     goto yy213;
              } else {
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy199:
       YYDEBUG(199, *YYCURSOR);
       {
              int length = 0;
              DEBUG_OUTPUT("datetextual | datenoyear");
              TIMELIB_INIT;
              TIMELIB_HAVE_DATE();
              s->time->m = timelib_get_month((char **) &ptr);
              s->time->d = timelib_get_nr((char **) &ptr, 2);
              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
              TIMELIB_PROCESS_YEAR(s->time->y, length);
              TIMELIB_DEINIT;
              return TIMELIB_DATE_TEXT;
       }
yy200:
       YYDEBUG(200, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'm') {
              if (yych <= '1') {
                     if (yych <= '/') goto yy216;
                     if (yych <= '0') goto yy298;
                     goto yy299;
              } else {
                     if (yych <= '2') goto yy209;
                     if (yych <= '9') goto yy210;
                     goto yy216;
              }
       } else {
              if (yych <= 'r') {
                     if (yych <= 'n') goto yy212;
                     if (yych <= 'q') goto yy216;
                     goto yy213;
              } else {
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy201:
       YYDEBUG(201, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'm') {
              if (yych <= '1') {
                     if (yych <= '/') goto yy216;
                     if (yych <= '0') goto yy207;
                     goto yy208;
              } else {
                     if (yych <= '2') goto yy209;
                     if (yych <= '9') goto yy210;
                     goto yy216;
              }
       } else {
              if (yych <= 'r') {
                     if (yych <= 'n') goto yy212;
                     if (yych <= 'q') goto yy216;
                     goto yy213;
              } else {
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy202:
       YYDEBUG(202, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'M') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'L') goto yy144;
              }
       } else {
              if (yych <= 'l') {
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '`') goto yy4;
                     goto yy144;
              } else {
                     if (yych <= 'm') goto yy203;
                     if (yych <= 'z') goto yy144;
                     goto yy4;
              }
       }
yy203:
       YYDEBUG(203, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'B') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'A') goto yy145;
              }
       } else {
              if (yych <= 'a') {
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '`') goto yy4;
                     goto yy145;
              } else {
                     if (yych <= 'b') goto yy204;
                     if (yych <= 'z') goto yy145;
                     goto yy4;
              }
       }
yy204:
       YYDEBUG(204, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'D') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'E') goto yy205;
              if (yych != 'e') goto yy4;
       }
yy205:
       YYDEBUG(205, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'R') goto yy206;
       if (yych != 'r') goto yy57;
yy206:
       YYDEBUG(206, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ' ') {
              if (yych == '\t') goto yy196;
              if (yych <= 0x1F) goto yy194;
              goto yy196;
       } else {
              if (yych <= '.') {
                     if (yych <= ',') goto yy194;
                     goto yy196;
              } else {
                     if (yych <= '/') goto yy194;
                     if (yych <= '9') goto yy196;
                     goto yy194;
              }
       }
yy207:
       YYDEBUG(207, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy221;
              goto yy57;
       } else {
              if (yych <= '0') goto yy296;
              if (yych <= '9') goto yy297;
              if (yych <= ':') goto yy221;
              goto yy57;
       }
yy208:
       YYDEBUG(208, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy57;
       } else {
              if (yych <= '2') goto yy297;
              if (yych <= '9') goto yy296;
              if (yych <= ':') goto yy264;
              goto yy57;
       }
yy209:
       YYDEBUG(209, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy57;
       } else {
              if (yych <= '4') goto yy296;
              if (yych <= '9') goto yy293;
              if (yych <= ':') goto yy264;
              goto yy57;
       }
yy210:
       YYDEBUG(210, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy57;
       } else {
              if (yych <= '9') goto yy293;
              if (yych <= ':') goto yy264;
              goto yy57;
       }
yy211:
       YYDEBUG(211, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       goto yy216;
yy212:
       YYDEBUG(212, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       goto yy216;
yy213:
       YYDEBUG(213, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       goto yy216;
yy214:
       YYDEBUG(214, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       goto yy216;
yy215:
       YYDEBUG(215, *YYCURSOR);
       yyaccept = 6;
       YYMARKER = ++YYCURSOR;
       if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18);
       yych = *YYCURSOR;
yy216:
       YYDEBUG(216, *YYCURSOR);
       if (yybm[0+yych] & 64) {
              goto yy215;
       }
       if (yych <= '2') {
              if (yych <= '/') goto yy199;
              if (yych <= '0') goto yy259;
              if (yych <= '1') goto yy260;
              goto yy261;
       } else {
              if (yych <= '9') goto yy262;
              if (yych != 'T') goto yy199;
       }
       YYDEBUG(217, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '1') goto yy218;
       if (yych <= '2') goto yy219;
       if (yych <= '9') goto yy220;
       goto yy57;
yy218:
       YYDEBUG(218, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy221;
              goto yy57;
       } else {
              if (yych <= '9') goto yy220;
              if (yych <= ':') goto yy221;
              goto yy57;
       }
yy219:
       YYDEBUG(219, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy221;
              goto yy57;
       } else {
              if (yych <= '4') goto yy220;
              if (yych == ':') goto yy221;
              goto yy57;
       }
yy220:
       YYDEBUG(220, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == '.') goto yy221;
       if (yych != ':') goto yy57;
yy221:
       YYDEBUG(221, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '5') goto yy222;
       if (yych <= '9') goto yy224;
       goto yy57;
yy222:
       YYDEBUG(222, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy225;
       } else {
              if (yych <= '9') goto yy224;
              if (yych <= ':') goto yy225;
       }
yy223:
       YYDEBUG(223, *YYCURSOR);
       {
              int tz_not_found;
              DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
              TIMELIB_INIT;
              TIMELIB_HAVE_DATE();
              s->time->m = timelib_get_month((char **) &ptr);
              s->time->d = timelib_get_nr((char **) &ptr, 2);

              TIMELIB_HAVE_TIME();
              s->time->h = timelib_get_nr((char **) &ptr, 2);
              s->time->i = timelib_get_nr((char **) &ptr, 2);
              if (*ptr == ':') {
                     s->time->s = timelib_get_nr((char **) &ptr, 2);

                     if (*ptr == '.') {
                            s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
                     }
              }

              if (*ptr != '\0') {
                     s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
                     if (tz_not_found) {
                            add_error(s, "The timezone could not be found in the database");
                     }
              }
              TIMELIB_DEINIT;
              return TIMELIB_SHORTDATE_WITH_TIME;
       }
yy224:
       YYDEBUG(224, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == '.') goto yy225;
       if (yych != ':') goto yy223;
yy225:
       YYDEBUG(225, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '5') goto yy226;
       if (yych <= '6') goto yy227;
       if (yych <= '9') goto yy228;
       goto yy57;
yy226:
       YYDEBUG(226, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy223;
       if (yych <= '9') goto yy229;
       goto yy223;
yy227:
       YYDEBUG(227, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == '0') goto yy229;
       goto yy223;
yy228:
       YYDEBUG(228, *YYCURSOR);
       yych = *++YYCURSOR;
       goto yy223;
yy229:
       YYDEBUG(229, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '*') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy231;
                     goto yy223;
              } else {
                     if (yych <= ' ') goto yy231;
                     if (yych == '(') goto yy231;
                     goto yy223;
              }
       } else {
              if (yych <= '@') {
                     if (yych == ',') goto yy223;
                     if (yych <= '-') goto yy231;
                     goto yy223;
              } else {
                     if (yych <= 'Z') goto yy231;
                     if (yych <= '`') goto yy223;
                     if (yych <= 'z') goto yy231;
                     goto yy223;
              }
       }
yy230:
       YYDEBUG(230, *YYCURSOR);
       ++YYCURSOR;
       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
       yych = *YYCURSOR;
yy231:
       YYDEBUG(231, *YYCURSOR);
       if (yych <= '+') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy230;
                     if (yych <= 0x1F) goto yy57;
                     goto yy230;
              } else {
                     if (yych == '(') goto yy234;
                     if (yych <= '*') goto yy57;
                     goto yy233;
              }
       } else {
              if (yych <= 'F') {
                     if (yych == '-') goto yy233;
                     if (yych <= '@') goto yy57;
                     goto yy235;
              } else {
                     if (yych <= 'Z') {
                            if (yych >= 'H') goto yy235;
                     } else {
                            if (yych <= '`') goto yy57;
                            if (yych <= 'z') goto yy236;
                            goto yy57;
                     }
              }
       }
yy232:
       YYDEBUG(232, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'L') {
              if (yych == ')') goto yy228;
              if (yych <= '@') goto yy223;
              goto yy237;
       } else {
              if (yych <= 'Z') {
                     if (yych <= 'M') goto yy257;
                     goto yy237;
              } else {
                     if (yych <= '`') goto yy223;
                     if (yych <= 'z') goto yy242;
                     goto yy223;
              }
       }
yy233:
       YYDEBUG(233, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '1') goto yy252;
       if (yych <= '2') goto yy253;
       if (yych <= '9') goto yy254;
       goto yy57;
yy234:
       YYDEBUG(234, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') goto yy57;
       if (yych <= 'Z') goto yy236;
       if (yych <= '`') goto yy57;
       if (yych <= 'z') goto yy236;
       goto yy57;
yy235:
       YYDEBUG(235, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy228;
              goto yy223;
       } else {
              if (yych <= 'Z') goto yy237;
              if (yych <= '`') goto yy223;
              if (yych <= 'z') goto yy242;
              goto yy223;
       }
yy236:
       YYDEBUG(236, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy228;
              goto yy223;
       } else {
              if (yych <= 'Z') goto yy237;
              if (yych <= '`') goto yy223;
              if (yych >= '{') goto yy223;
       }
yy237:
       YYDEBUG(237, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy228;
              goto yy223;
       } else {
              if (yych <= 'Z') goto yy238;
              if (yych <= '`') goto yy223;
              if (yych >= '{') goto yy223;
       }
yy238:
       YYDEBUG(238, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy228;
              goto yy223;
       } else {
              if (yych <= 'Z') goto yy239;
              if (yych <= '`') goto yy223;
              if (yych >= '{') goto yy223;
       }
yy239:
       YYDEBUG(239, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy228;
              goto yy223;
       } else {
              if (yych <= 'Z') goto yy240;
              if (yych <= '`') goto yy223;
              if (yych >= '{') goto yy223;
       }
yy240:
       YYDEBUG(240, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '@') {
              if (yych == ')') goto yy228;
              goto yy223;
       } else {
              if (yych <= 'Z') goto yy241;
              if (yych <= '`') goto yy223;
              if (yych >= '{') goto yy223;
       }
yy241:
       YYDEBUG(241, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == ')') goto yy228;
       goto yy223;
yy242:
       YYDEBUG(242, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= ',') {
                     if (yych == ')') goto yy228;
                     goto yy223;
              } else {
                     if (yych == '.') goto yy223;
                     goto yy244;
              }
       } else {
              if (yych <= '^') {
                     if (yych <= '@') goto yy223;
                     if (yych <= 'Z') goto yy238;
                     goto yy223;
              } else {
                     if (yych <= '_') goto yy244;
                     if (yych <= '`') goto yy223;
                     if (yych >= '{') goto yy223;
              }
       }
yy243:
       YYDEBUG(243, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= ',') {
                     if (yych == ')') goto yy228;
                     goto yy223;
              } else {
                     if (yych == '.') goto yy223;
              }
       } else {
              if (yych <= '^') {
                     if (yych <= '@') goto yy223;
                     if (yych <= 'Z') goto yy239;
                     goto yy223;
              } else {
                     if (yych <= '_') goto yy244;
                     if (yych <= '`') goto yy223;
                     if (yych <= 'z') goto yy247;
                     goto yy223;
              }
       }
yy244:
       YYDEBUG(244, *YYCURSOR);
       ++YYCURSOR;
       if (YYLIMIT <= YYCURSOR) YYFILL(1);
       yych = *YYCURSOR;
       if (yych <= '@') goto yy57;
       if (yych <= 'Z') goto yy245;
       if (yych <= '`') goto yy57;
       if (yych >= '{') goto yy57;
yy245:
       YYDEBUG(245, *YYCURSOR);
       yyaccept = 7;
       YYMARKER = ++YYCURSOR;
       if (YYLIMIT <= YYCURSOR) YYFILL(1);
       yych = *YYCURSOR;
       YYDEBUG(246, *YYCURSOR);
       if (yych <= '@') {
              if (yych <= '-') {
                     if (yych <= ',') goto yy223;
                     goto yy244;
              } else {
                     if (yych == '/') goto yy244;
                     goto yy223;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'Z') goto yy245;
                     if (yych <= '^') goto yy223;
                     goto yy244;
              } else {
                     if (yych <= '`') goto yy223;
                     if (yych <= 'z') goto yy245;
                     goto yy223;
              }
       }
yy247:
       YYDEBUG(247, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= ',') {
                     if (yych == ')') goto yy228;
                     goto yy223;
              } else {
                     if (yych == '.') goto yy223;
                     goto yy244;
              }
       } else {
              if (yych <= '^') {
                     if (yych <= '@') goto yy223;
                     if (yych <= 'Z') goto yy240;
                     goto yy223;
              } else {
                     if (yych <= '_') goto yy244;
                     if (yych <= '`') goto yy223;
                     if (yych >= '{') goto yy223;
              }
       }
       YYDEBUG(248, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= ',') {
                     if (yych == ')') goto yy228;
                     goto yy223;
              } else {
                     if (yych == '.') goto yy223;
                     goto yy244;
              }
       } else {
              if (yych <= '^') {
                     if (yych <= '@') goto yy223;
                     if (yych <= 'Z') goto yy241;
                     goto yy223;
              } else {
                     if (yych <= '_') goto yy244;
                     if (yych <= '`') goto yy223;
                     if (yych >= '{') goto yy223;
              }
       }
       YYDEBUG(249, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '.') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy223;
                     goto yy228;
              } else {
                     if (yych == '-') goto yy244;
                     goto yy223;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= '/') goto yy244;
                     if (yych <= '^') goto yy223;
                     goto yy244;
              } else {
                     if (yych <= '`') goto yy223;
                     if (yych >= '{') goto yy223;
              }
       }
yy250:
       YYDEBUG(250, *YYCURSOR);
       ++YYCURSOR;
       if (YYLIMIT <= YYCURSOR) YYFILL(1);
       yych = *YYCURSOR;
       YYDEBUG(251, *YYCURSOR);
       if (yych <= '/') {
              if (yych == '-') goto yy244;
              if (yych <= '.') goto yy57;
              goto yy244;
       } else {
              if (yych <= '_') {
                     if (yych <= '^') goto yy57;
                     goto yy244;
              } else {
                     if (yych <= '`') goto yy57;
                     if (yych <= 'z') goto yy250;
                     goto yy57;
              }
       }
yy252:
       YYDEBUG(252, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy223;
       if (yych <= '9') goto yy254;
       if (yych <= ':') goto yy255;
       goto yy223;
yy253:
       YYDEBUG(253, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '5') {
              if (yych <= '/') goto yy223;
              if (yych >= '5') goto yy256;
       } else {
              if (yych <= '9') goto yy228;
              if (yych <= ':') goto yy255;
              goto yy223;
       }
yy254:
       YYDEBUG(254, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy223;
       if (yych <= '5') goto yy256;
       if (yych <= '9') goto yy228;
       if (yych >= ';') goto yy223;
yy255:
       YYDEBUG(255, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy223;
       if (yych <= '5') goto yy256;
       if (yych <= '9') goto yy228;
       goto yy223;
yy256:
       YYDEBUG(256, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy223;
       if (yych <= '9') goto yy228;
       goto yy223;
yy257:
       YYDEBUG(257, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'S') {
              if (yych == ')') goto yy228;
              if (yych <= '@') goto yy223;
              goto yy238;
       } else {
              if (yych <= 'Z') {
                     if (yych >= 'U') goto yy238;
              } else {
                     if (yych <= '`') goto yy223;
                     if (yych <= 'z') goto yy238;
                     goto yy223;
              }
       }
       YYDEBUG(258, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy223;
                     goto yy228;
              } else {
                     if (yych == '+') goto yy233;
                     goto yy223;
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '-') goto yy233;
                     if (yych <= '@') goto yy223;
                     goto yy239;
              } else {
                     if (yych <= '`') goto yy223;
                     if (yych <= 'z') goto yy239;
                     goto yy223;
              }
       }
yy259:
       YYDEBUG(259, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy221;
              goto yy199;
       } else {
              if (yych <= '0') goto yy291;
              if (yych <= '9') goto yy292;
              if (yych <= ':') goto yy221;
              goto yy199;
       }
yy260:
       YYDEBUG(260, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy199;
       } else {
              if (yych <= '2') goto yy292;
              if (yych <= '9') goto yy291;
              if (yych <= ':') goto yy264;
              goto yy199;
       }
yy261:
       YYDEBUG(261, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy199;
       } else {
              if (yych <= '4') goto yy291;
              if (yych <= '9') goto yy263;
              if (yych <= ':') goto yy264;
              goto yy199;
       }
yy262:
       YYDEBUG(262, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy199;
       } else {
              if (yych <= '9') goto yy263;
              if (yych <= ':') goto yy264;
              goto yy199;
       }
yy263:
       YYDEBUG(263, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy199;
       if (yych <= '9') goto yy289;
       goto yy199;
yy264:
       YYDEBUG(264, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '5') goto yy265;
       if (yych <= '9') goto yy266;
       goto yy57;
yy265:
       YYDEBUG(265, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy267;
              goto yy223;
       } else {
              if (yych <= '9') goto yy282;
              if (yych <= ':') goto yy267;
              goto yy223;
       }
yy266:
       YYDEBUG(266, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == '.') goto yy267;
       if (yych != ':') goto yy223;
yy267:
       YYDEBUG(267, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '5') goto yy268;
       if (yych <= '6') goto yy269;
       if (yych <= '9') goto yy228;
       goto yy57;
yy268:
       YYDEBUG(268, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy223;
       if (yych <= '9') goto yy270;
       goto yy223;
yy269:
       YYDEBUG(269, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych != '0') goto yy223;
yy270:
       YYDEBUG(270, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '*') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy272;
                     goto yy223;
              } else {
                     if (yych <= ' ') goto yy272;
                     if (yych == '(') goto yy272;
                     goto yy223;
              }
       } else {
              if (yych <= '@') {
                     if (yych == ',') goto yy223;
                     if (yych <= '-') goto yy272;
                     goto yy223;
              } else {
                     if (yych <= 'Z') goto yy272;
                     if (yych <= '`') goto yy223;
                     if (yych <= 'z') goto yy272;
                     goto yy223;
              }
       }
yy271:
       YYDEBUG(271, *YYCURSOR);
       ++YYCURSOR;
       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
       yych = *YYCURSOR;
yy272:
       YYDEBUG(272, *YYCURSOR);
       if (yych <= '@') {
              if (yych <= '\'') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy57;
                            goto yy271;
                     } else {
                            if (yych == ' ') goto yy271;
                            goto yy57;
                     }
              } else {
                     if (yych <= '+') {
                            if (yych <= '(') goto yy234;
                            if (yych <= '*') goto yy57;
                            goto yy233;
                     } else {
                            if (yych == '-') goto yy233;
                            goto yy57;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= 'G') {
                            if (yych <= 'A') goto yy273;
                            if (yych <= 'F') goto yy235;
                            goto yy232;
                     } else {
                            if (yych != 'P') goto yy235;
                     }
              } else {
                     if (yych <= 'o') {
                            if (yych <= '`') goto yy57;
                            if (yych <= 'a') goto yy274;
                            goto yy236;
                     } else {
                            if (yych <= 'p') goto yy274;
                            if (yych <= 'z') goto yy236;
                            goto yy57;
                     }
              }
       }
yy273:
       YYDEBUG(273, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'L') {
              if (yych <= '-') {
                     if (yych == ')') goto yy228;
                     goto yy223;
              } else {
                     if (yych <= '.') goto yy275;
                     if (yych <= '@') goto yy223;
                     goto yy237;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'M') goto yy276;
                     if (yych <= 'Z') goto yy237;
                     goto yy223;
              } else {
                     if (yych == 'm') goto yy281;
                     if (yych <= 'z') goto yy242;
                     goto yy223;
              }
       }
yy274:
       YYDEBUG(274, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'L') {
              if (yych <= '-') {
                     if (yych == ')') goto yy228;
                     goto yy223;
              } else {
                     if (yych <= '.') goto yy275;
                     if (yych <= '@') goto yy223;
                     goto yy237;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'M') goto yy276;
                     if (yych <= 'Z') goto yy237;
                     goto yy223;
              } else {
                     if (yych == 'm') goto yy276;
                     if (yych <= 'z') goto yy237;
                     goto yy223;
              }
       }
yy275:
       YYDEBUG(275, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'M') goto yy280;
       if (yych == 'm') goto yy280;
       goto yy57;
yy276:
       YYDEBUG(276, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ')') {
              if (yych <= '\t') {
                     if (yych <= 0x00) goto yy278;
                     if (yych <= 0x08) goto yy223;
                     goto yy278;
              } else {
                     if (yych == ' ') goto yy278;
                     if (yych <= '(') goto yy223;
                     goto yy228;
              }
       } else {
              if (yych <= '@') {
                     if (yych != '.') goto yy223;
              } else {
                     if (yych <= 'Z') goto yy238;
                     if (yych <= '`') goto yy223;
                     if (yych <= 'z') goto yy238;
                     goto yy223;
              }
       }
yy277:
       YYDEBUG(277, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '\t') {
              if (yych <= 0x00) goto yy278;
              if (yych <= 0x08) goto yy57;
       } else {
              if (yych != ' ') goto yy57;
       }
yy278:
       YYDEBUG(278, *YYCURSOR);
       ++YYCURSOR;
       YYDEBUG(279, *YYCURSOR);
       {
              DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
              TIMELIB_INIT;
              TIMELIB_HAVE_DATE();
              s->time->m = timelib_get_month((char **) &ptr);
              s->time->d = timelib_get_nr((char **) &ptr, 2);

              TIMELIB_HAVE_TIME();
              s->time->h = timelib_get_nr((char **) &ptr, 2);
              s->time->i = timelib_get_nr((char **) &ptr, 2);
              if (*ptr == ':' || *ptr == '.') {
                     s->time->s = timelib_get_nr((char **) &ptr, 2);

                     if (*ptr == '.') {
                            s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
                     }
              }

              s->time->h += timelib_meridian((char **) &ptr, s->time->h);
              TIMELIB_DEINIT;
              return TIMELIB_SHORTDATE_WITH_TIME;
       }
yy280:
       YYDEBUG(280, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 0x1F) {
              if (yych <= 0x00) goto yy278;
              if (yych == '\t') goto yy278;
              goto yy57;
       } else {
              if (yych <= ' ') goto yy278;
              if (yych == '.') goto yy277;
              goto yy57;
       }
yy281:
       YYDEBUG(281, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '-') {
              if (yych <= 0x1F) {
                     if (yych <= 0x00) goto yy278;
                     if (yych == '\t') goto yy278;
                     goto yy223;
              } else {
                     if (yych <= '(') {
                            if (yych <= ' ') goto yy278;
                            goto yy223;
                     } else {
                            if (yych <= ')') goto yy228;
                            if (yych <= ',') goto yy223;
                            goto yy244;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '.') goto yy277;
                     if (yych <= '/') goto yy244;
                     if (yych <= '@') goto yy223;
                     goto yy238;
              } else {
                     if (yych <= '_') {
                            if (yych <= '^') goto yy223;
                            goto yy244;
                     } else {
                            if (yych <= '`') goto yy223;
                            if (yych <= 'z') goto yy243;
                            goto yy223;
                     }
              }
       }
yy282:
       YYDEBUG(282, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ':') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy283;
                     if (yych <= 0x1F) goto yy223;
              } else {
                     if (yych == '.') goto yy267;
                     if (yych <= '9') goto yy223;
                     goto yy267;
              }
       } else {
              if (yych <= 'P') {
                     if (yych == 'A') goto yy285;
                     if (yych <= 'O') goto yy223;
                     goto yy285;
              } else {
                     if (yych <= 'a') {
                            if (yych <= '`') goto yy223;
                            goto yy285;
                     } else {
                            if (yych == 'p') goto yy285;
                            goto yy223;
                     }
              }
       }
yy283:
       YYDEBUG(283, *YYCURSOR);
       ++YYCURSOR;
       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
       yych = *YYCURSOR;
       YYDEBUG(284, *YYCURSOR);
       if (yych <= 'A') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy283;
                     goto yy57;
              } else {
                     if (yych <= ' ') goto yy283;
                     if (yych <= '@') goto yy57;
              }
       } else {
              if (yych <= '`') {
                     if (yych != 'P') goto yy57;
              } else {
                     if (yych <= 'a') goto yy285;
                     if (yych != 'p') goto yy57;
              }
       }
yy285:
       YYDEBUG(285, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'L') {
              if (yych != '.') goto yy57;
       } else {
              if (yych <= 'M') goto yy287;
              if (yych == 'm') goto yy287;
              goto yy57;
       }
yy286:
       YYDEBUG(286, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'M') goto yy287;
       if (yych != 'm') goto yy57;
yy287:
       YYDEBUG(287, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 0x1F) {
              if (yych <= 0x00) goto yy278;
              if (yych == '\t') goto yy278;
              goto yy57;
       } else {
              if (yych <= ' ') goto yy278;
              if (yych != '.') goto yy57;
       }
yy288:
       YYDEBUG(288, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '\t') {
              if (yych <= 0x00) goto yy278;
              if (yych <= 0x08) goto yy57;
              goto yy278;
       } else {
              if (yych == ' ') goto yy278;
              goto yy57;
       }
yy289:
       YYDEBUG(289, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy199;
       if (yych >= ':') goto yy199;
       YYDEBUG(290, *YYCURSOR);
       yych = *++YYCURSOR;
       goto yy199;
yy291:
       YYDEBUG(291, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy221;
              goto yy199;
       } else {
              if (yych <= '9') goto yy289;
              if (yych <= ':') goto yy221;
              goto yy199;
       }
yy292:
       YYDEBUG(292, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy199;
       } else {
              if (yych <= '9') goto yy289;
              if (yych <= ':') goto yy264;
              goto yy199;
       }
yy293:
       YYDEBUG(293, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych >= ':') goto yy57;
yy294:
       YYDEBUG(294, *YYCURSOR);
       ++YYCURSOR;
yy295:
       YYDEBUG(295, *YYCURSOR);
       {
              int length = 0;
              DEBUG_OUTPUT("datenoday");
              TIMELIB_INIT;
              TIMELIB_HAVE_DATE();
              s->time->m = timelib_get_month((char **) &ptr);
              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
              s->time->d = 1;
              TIMELIB_PROCESS_YEAR(s->time->y, length);
              TIMELIB_DEINIT;
              return TIMELIB_DATE_NO_DAY;
       }
yy296:
       YYDEBUG(296, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy221;
              goto yy57;
       } else {
              if (yych <= '9') goto yy294;
              if (yych <= ':') goto yy221;
              goto yy57;
       }
yy297:
       YYDEBUG(297, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy57;
       } else {
              if (yych <= '9') goto yy294;
              if (yych <= ':') goto yy264;
              goto yy57;
       }
yy298:
       YYDEBUG(298, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '/') {
                     if (yych == '.') goto yy331;
                     goto yy216;
              } else {
                     if (yych <= '0') goto yy332;
                     if (yych <= '1') goto yy302;
                     if (yych <= '2') goto yy303;
                     goto yy297;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= ':') goto yy221;
                     if (yych == 'n') goto yy212;
                     goto yy216;
              } else {
                     if (yych <= 'r') goto yy213;
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy299:
       YYDEBUG(299, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '/') {
                     if (yych != '.') goto yy216;
              } else {
                     if (yych <= '0') goto yy301;
                     if (yych <= '1') goto yy302;
                     if (yych <= '2') goto yy303;
                     goto yy297;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= ':') goto yy264;
                     if (yych == 'n') goto yy212;
                     goto yy216;
              } else {
                     if (yych <= 'r') goto yy213;
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy300:
       YYDEBUG(300, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '1') {
              if (yych <= '/') goto yy216;
              if (yych <= '0') goto yy306;
              goto yy307;
       } else {
              if (yych <= '2') goto yy308;
              if (yych <= '5') goto yy309;
              if (yych <= '9') goto yy310;
              goto yy216;
       }
yy301:
       YYDEBUG(301, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy57;
       } else {
              if (yych <= '0') goto yy304;
              if (yych <= '9') goto yy305;
              if (yych <= ':') goto yy264;
              goto yy57;
       }
yy302:
       YYDEBUG(302, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy57;
       } else {
              if (yych <= '2') goto yy305;
              if (yych <= '9') goto yy304;
              if (yych <= ':') goto yy264;
              goto yy57;
       }
yy303:
       YYDEBUG(303, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy264;
              goto yy57;
       } else {
              if (yych <= '4') goto yy304;
              if (yych <= '9') goto yy294;
              if (yych <= ':') goto yy264;
              goto yy57;
       }
yy304:
       YYDEBUG(304, *YYCURSOR);
       yyaccept = 8;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == '.') goto yy221;
       if (yych == ':') goto yy221;
       goto yy295;
yy305:
       YYDEBUG(305, *YYCURSOR);
       yyaccept = 8;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == '.') goto yy264;
       if (yych == ':') goto yy264;
       goto yy295;
yy306:
       YYDEBUG(306, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy326;
              goto yy199;
       } else {
              if (yych <= '0') goto yy325;
              if (yych <= '9') goto yy330;
              if (yych <= ':') goto yy326;
              goto yy199;
       }
yy307:
       YYDEBUG(307, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy311;
              goto yy199;
       } else {
              if (yych <= '2') goto yy330;
              if (yych <= '9') goto yy325;
              if (yych <= ':') goto yy311;
              goto yy199;
       }
yy308:
       YYDEBUG(308, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy311;
              goto yy199;
       } else {
              if (yych <= '4') goto yy325;
              if (yych <= '9') goto yy324;
              if (yych <= ':') goto yy311;
              goto yy199;
       }
yy309:
       YYDEBUG(309, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy311;
              goto yy199;
       } else {
              if (yych <= '9') goto yy324;
              if (yych <= ':') goto yy311;
              goto yy199;
       }
yy310:
       YYDEBUG(310, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych != '.') goto yy199;
       } else {
              if (yych <= '9') goto yy263;
              if (yych >= ';') goto yy199;
       }
yy311:
       YYDEBUG(311, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '5') goto yy312;
       if (yych <= '6') goto yy313;
       if (yych <= '9') goto yy266;
       goto yy57;
yy312:
       YYDEBUG(312, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy267;
              goto yy223;
       } else {
              if (yych <= '9') goto yy314;
              if (yych <= ':') goto yy267;
              goto yy223;
       }
yy313:
       YYDEBUG(313, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy267;
              goto yy223;
       } else {
              if (yych <= '0') goto yy270;
              if (yych == ':') goto yy267;
              goto yy223;
       }
yy314:
       YYDEBUG(314, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy316;
                     if (yych <= 0x1F) goto yy223;
                     goto yy316;
              } else {
                     if (yych <= '(') {
                            if (yych <= '\'') goto yy223;
                            goto yy316;
                     } else {
                            if (yych == '+') goto yy316;
                            goto yy223;
                     }
              }
       } else {
              if (yych <= ':') {
                     if (yych <= '-') goto yy316;
                     if (yych <= '.') goto yy267;
                     if (yych <= '9') goto yy223;
                     goto yy267;
              } else {
                     if (yych <= 'Z') {
                            if (yych <= '@') goto yy223;
                            goto yy316;
                     } else {
                            if (yych <= '`') goto yy223;
                            if (yych <= 'z') goto yy316;
                            goto yy223;
                     }
              }
       }
yy315:
       YYDEBUG(315, *YYCURSOR);
       ++YYCURSOR;
       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
       yych = *YYCURSOR;
yy316:
       YYDEBUG(316, *YYCURSOR);
       if (yych <= '@') {
              if (yych <= '\'') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy57;
                            goto yy315;
                     } else {
                            if (yych == ' ') goto yy315;
                            goto yy57;
                     }
              } else {
                     if (yych <= '+') {
                            if (yych <= '(') goto yy234;
                            if (yych <= '*') goto yy57;
                            goto yy233;
                     } else {
                            if (yych == '-') goto yy233;
                            goto yy57;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= 'G') {
                            if (yych <= 'A') goto yy317;
                            if (yych <= 'F') goto yy235;
                            goto yy232;
                     } else {
                            if (yych != 'P') goto yy235;
                     }
              } else {
                     if (yych <= 'o') {
                            if (yych <= '`') goto yy57;
                            if (yych <= 'a') goto yy318;
                            goto yy236;
                     } else {
                            if (yych <= 'p') goto yy318;
                            if (yych <= 'z') goto yy236;
                            goto yy57;
                     }
              }
       }
yy317:
       YYDEBUG(317, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'L') {
              if (yych <= '-') {
                     if (yych == ')') goto yy228;
                     goto yy223;
              } else {
                     if (yych <= '.') goto yy320;
                     if (yych <= '@') goto yy223;
                     goto yy237;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'M') goto yy319;
                     if (yych <= 'Z') goto yy237;
                     goto yy223;
              } else {
                     if (yych == 'm') goto yy323;
                     if (yych <= 'z') goto yy242;
                     goto yy223;
              }
       }
yy318:
       YYDEBUG(318, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'L') {
              if (yych <= '-') {
                     if (yych == ')') goto yy228;
                     goto yy223;
              } else {
                     if (yych <= '.') goto yy320;
                     if (yych <= '@') goto yy223;
                     goto yy237;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'M') goto yy319;
                     if (yych <= 'Z') goto yy237;
                     goto yy223;
              } else {
                     if (yych == 'm') goto yy319;
                     if (yych <= 'z') goto yy237;
                     goto yy223;
              }
       }
yy319:
       YYDEBUG(319, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ')') {
              if (yych <= '\t') {
                     if (yych <= 0x00) goto yy278;
                     if (yych <= 0x08) goto yy223;
                     goto yy278;
              } else {
                     if (yych == ' ') goto yy278;
                     if (yych <= '(') goto yy223;
                     goto yy228;
              }
       } else {
              if (yych <= '@') {
                     if (yych == '.') goto yy322;
                     goto yy223;
              } else {
                     if (yych <= 'Z') goto yy238;
                     if (yych <= '`') goto yy223;
                     if (yych <= 'z') goto yy238;
                     goto yy223;
              }
       }
yy320:
       YYDEBUG(320, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'M') goto yy321;
       if (yych != 'm') goto yy57;
yy321:
       YYDEBUG(321, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 0x1F) {
              if (yych <= 0x00) goto yy278;
              if (yych == '\t') goto yy278;
              goto yy57;
       } else {
              if (yych <= ' ') goto yy278;
              if (yych != '.') goto yy57;
       }
yy322:
       YYDEBUG(322, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '\t') {
              if (yych <= 0x00) goto yy278;
              if (yych <= 0x08) goto yy57;
              goto yy278;
       } else {
              if (yych == ' ') goto yy278;
              goto yy57;
       }
yy323:
       YYDEBUG(323, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '-') {
              if (yych <= 0x1F) {
                     if (yych <= 0x00) goto yy278;
                     if (yych == '\t') goto yy278;
                     goto yy223;
              } else {
                     if (yych <= '(') {
                            if (yych <= ' ') goto yy278;
                            goto yy223;
                     } else {
                            if (yych <= ')') goto yy228;
                            if (yych <= ',') goto yy223;
                            goto yy244;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '.') goto yy322;
                     if (yych <= '/') goto yy244;
                     if (yych <= '@') goto yy223;
                     goto yy238;
              } else {
                     if (yych <= '_') {
                            if (yych <= '^') goto yy223;
                            goto yy244;
                     } else {
                            if (yych <= '`') goto yy223;
                            if (yych <= 'z') goto yy243;
                            goto yy223;
                     }
              }
       }
yy324:
       YYDEBUG(324, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ':') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy283;
                     if (yych <= 0x1F) goto yy199;
                     goto yy283;
              } else {
                     if (yych <= '.') {
                            if (yych <= '-') goto yy199;
                            goto yy267;
                     } else {
                            if (yych <= '/') goto yy199;
                            if (yych <= '9') goto yy289;
                            goto yy267;
                     }
              }
       } else {
              if (yych <= 'P') {
                     if (yych == 'A') goto yy285;
                     if (yych <= 'O') goto yy199;
                     goto yy285;
              } else {
                     if (yych <= 'a') {
                            if (yych <= '`') goto yy199;
                            goto yy285;
                     } else {
                            if (yych == 'p') goto yy285;
                            goto yy199;
                     }
              }
       }
yy325:
       YYDEBUG(325, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ':') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy283;
                     if (yych <= 0x1F) goto yy199;
                     goto yy283;
              } else {
                     if (yych <= '.') {
                            if (yych <= '-') goto yy199;
                     } else {
                            if (yych <= '/') goto yy199;
                            if (yych <= '9') goto yy289;
                     }
              }
       } else {
              if (yych <= 'P') {
                     if (yych == 'A') goto yy285;
                     if (yych <= 'O') goto yy199;
                     goto yy285;
              } else {
                     if (yych <= 'a') {
                            if (yych <= '`') goto yy199;
                            goto yy285;
                     } else {
                            if (yych == 'p') goto yy285;
                            goto yy199;
                     }
              }
       }
yy326:
       YYDEBUG(326, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '5') goto yy327;
       if (yych <= '6') goto yy328;
       if (yych <= '9') goto yy224;
       goto yy57;
yy327:
       YYDEBUG(327, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy225;
              goto yy223;
       } else {
              if (yych <= '9') goto yy329;
              if (yych <= ':') goto yy225;
              goto yy223;
       }
yy328:
       YYDEBUG(328, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy225;
              goto yy223;
       } else {
              if (yych <= '0') goto yy270;
              if (yych == ':') goto yy225;
              goto yy223;
       }
yy329:
       YYDEBUG(329, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy272;
                     if (yych <= 0x1F) goto yy223;
                     goto yy272;
              } else {
                     if (yych <= '(') {
                            if (yych <= '\'') goto yy223;
                            goto yy272;
                     } else {
                            if (yych == '+') goto yy272;
                            goto yy223;
                     }
              }
       } else {
              if (yych <= ':') {
                     if (yych <= '-') goto yy272;
                     if (yych <= '.') goto yy225;
                     if (yych <= '9') goto yy223;
                     goto yy225;
              } else {
                     if (yych <= 'Z') {
                            if (yych <= '@') goto yy223;
                            goto yy272;
                     } else {
                            if (yych <= '`') goto yy223;
                            if (yych <= 'z') goto yy272;
                            goto yy223;
                     }
              }
       }
yy330:
       YYDEBUG(330, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ':') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy283;
                     if (yych <= 0x1F) goto yy199;
                     goto yy283;
              } else {
                     if (yych <= '.') {
                            if (yych <= '-') goto yy199;
                            goto yy311;
                     } else {
                            if (yych <= '/') goto yy199;
                            if (yych <= '9') goto yy289;
                            goto yy311;
                     }
              }
       } else {
              if (yych <= 'P') {
                     if (yych == 'A') goto yy285;
                     if (yych <= 'O') goto yy199;
                     goto yy285;
              } else {
                     if (yych <= 'a') {
                            if (yych <= '`') goto yy199;
                            goto yy285;
                     } else {
                            if (yych == 'p') goto yy285;
                            goto yy199;
                     }
              }
       }
yy331:
       YYDEBUG(331, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '1') {
              if (yych <= '/') goto yy216;
              if (yych <= '0') goto yy333;
              goto yy334;
       } else {
              if (yych <= '2') goto yy335;
              if (yych <= '5') goto yy336;
              if (yych <= '9') goto yy337;
              goto yy216;
       }
yy332:
       YYDEBUG(332, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') {
              if (yych == '.') goto yy221;
              goto yy57;
       } else {
              if (yych <= '0') goto yy304;
              if (yych <= '9') goto yy305;
              if (yych <= ':') goto yy221;
              goto yy57;
       }
yy333:
       YYDEBUG(333, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy350;
              goto yy199;
       } else {
              if (yych <= '0') goto yy349;
              if (yych <= '9') goto yy354;
              if (yych <= ':') goto yy350;
              goto yy199;
       }
yy334:
       YYDEBUG(334, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy338;
              goto yy199;
       } else {
              if (yych <= '2') goto yy354;
              if (yych <= '9') goto yy349;
              if (yych <= ':') goto yy338;
              goto yy199;
       }
yy335:
       YYDEBUG(335, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy338;
              goto yy199;
       } else {
              if (yych <= '4') goto yy349;
              if (yych <= '9') goto yy348;
              if (yych <= ':') goto yy338;
              goto yy199;
       }
yy336:
       YYDEBUG(336, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy338;
              goto yy199;
       } else {
              if (yych <= '9') goto yy348;
              if (yych <= ':') goto yy338;
              goto yy199;
       }
yy337:
       YYDEBUG(337, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych != '.') goto yy199;
       } else {
              if (yych <= '9') goto yy263;
              if (yych >= ';') goto yy199;
       }
yy338:
       YYDEBUG(338, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '5') goto yy339;
       if (yych <= '6') goto yy340;
       if (yych <= '9') goto yy266;
       goto yy57;
yy339:
       YYDEBUG(339, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy267;
              goto yy223;
       } else {
              if (yych <= '9') goto yy341;
              if (yych <= ':') goto yy267;
              goto yy223;
       }
yy340:
       YYDEBUG(340, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy267;
              goto yy223;
       } else {
              if (yych <= '0') goto yy229;
              if (yych == ':') goto yy267;
              goto yy223;
       }
yy341:
       YYDEBUG(341, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy343;
                     if (yych <= 0x1F) goto yy223;
                     goto yy343;
              } else {
                     if (yych <= '(') {
                            if (yych <= '\'') goto yy223;
                            goto yy343;
                     } else {
                            if (yych == '+') goto yy343;
                            goto yy223;
                     }
              }
       } else {
              if (yych <= ':') {
                     if (yych <= '-') goto yy343;
                     if (yych <= '.') goto yy267;
                     if (yych <= '9') goto yy223;
                     goto yy267;
              } else {
                     if (yych <= 'Z') {
                            if (yych <= '@') goto yy223;
                            goto yy343;
                     } else {
                            if (yych <= '`') goto yy223;
                            if (yych <= 'z') goto yy343;
                            goto yy223;
                     }
              }
       }
yy342:
       YYDEBUG(342, *YYCURSOR);
       ++YYCURSOR;
       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
       yych = *YYCURSOR;
yy343:
       YYDEBUG(343, *YYCURSOR);
       if (yych <= '@') {
              if (yych <= '\'') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy57;
                            goto yy342;
                     } else {
                            if (yych == ' ') goto yy342;
                            goto yy57;
                     }
              } else {
                     if (yych <= '+') {
                            if (yych <= '(') goto yy234;
                            if (yych <= '*') goto yy57;
                            goto yy233;
                     } else {
                            if (yych == '-') goto yy233;
                            goto yy57;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= 'G') {
                            if (yych <= 'A') goto yy344;
                            if (yych <= 'F') goto yy235;
                            goto yy232;
                     } else {
                            if (yych != 'P') goto yy235;
                     }
              } else {
                     if (yych <= 'o') {
                            if (yych <= '`') goto yy57;
                            if (yych <= 'a') goto yy345;
                            goto yy236;
                     } else {
                            if (yych <= 'p') goto yy345;
                            if (yych <= 'z') goto yy236;
                            goto yy57;
                     }
              }
       }
yy344:
       YYDEBUG(344, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'L') {
              if (yych <= '-') {
                     if (yych == ')') goto yy228;
                     goto yy223;
              } else {
                     if (yych <= '.') goto yy286;
                     if (yych <= '@') goto yy223;
                     goto yy237;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'M') goto yy346;
                     if (yych <= 'Z') goto yy237;
                     goto yy223;
              } else {
                     if (yych == 'm') goto yy347;
                     if (yych <= 'z') goto yy242;
                     goto yy223;
              }
       }
yy345:
       YYDEBUG(345, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'L') {
              if (yych <= '-') {
                     if (yych == ')') goto yy228;
                     goto yy223;
              } else {
                     if (yych <= '.') goto yy286;
                     if (yych <= '@') goto yy223;
                     goto yy237;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'M') goto yy346;
                     if (yych <= 'Z') goto yy237;
                     goto yy223;
              } else {
                     if (yych == 'm') goto yy346;
                     if (yych <= 'z') goto yy237;
                     goto yy223;
              }
       }
yy346:
       YYDEBUG(346, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ')') {
              if (yych <= '\t') {
                     if (yych <= 0x00) goto yy278;
                     if (yych <= 0x08) goto yy223;
                     goto yy278;
              } else {
                     if (yych == ' ') goto yy278;
                     if (yych <= '(') goto yy223;
                     goto yy228;
              }
       } else {
              if (yych <= '@') {
                     if (yych == '.') goto yy288;
                     goto yy223;
              } else {
                     if (yych <= 'Z') goto yy238;
                     if (yych <= '`') goto yy223;
                     if (yych <= 'z') goto yy238;
                     goto yy223;
              }
       }
yy347:
       YYDEBUG(347, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '-') {
              if (yych <= 0x1F) {
                     if (yych <= 0x00) goto yy278;
                     if (yych == '\t') goto yy278;
                     goto yy223;
              } else {
                     if (yych <= '(') {
                            if (yych <= ' ') goto yy278;
                            goto yy223;
                     } else {
                            if (yych <= ')') goto yy228;
                            if (yych <= ',') goto yy223;
                            goto yy244;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '.') goto yy288;
                     if (yych <= '/') goto yy244;
                     if (yych <= '@') goto yy223;
                     goto yy238;
              } else {
                     if (yych <= '_') {
                            if (yych <= '^') goto yy223;
                            goto yy244;
                     } else {
                            if (yych <= '`') goto yy223;
                            if (yych <= 'z') goto yy243;
                            goto yy223;
                     }
              }
       }
yy348:
       YYDEBUG(348, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy225;
              goto yy199;
       } else {
              if (yych <= '9') goto yy289;
              if (yych <= ':') goto yy225;
              goto yy199;
       }
yy349:
       YYDEBUG(349, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych != '.') goto yy199;
       } else {
              if (yych <= '9') goto yy289;
              if (yych >= ';') goto yy199;
       }
yy350:
       YYDEBUG(350, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '5') goto yy351;
       if (yych <= '6') goto yy352;
       if (yych <= '9') goto yy224;
       goto yy57;
yy351:
       YYDEBUG(351, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy225;
              goto yy223;
       } else {
              if (yych <= '9') goto yy353;
              if (yych <= ':') goto yy225;
              goto yy223;
       }
yy352:
       YYDEBUG(352, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy225;
              goto yy223;
       } else {
              if (yych <= '0') goto yy229;
              if (yych == ':') goto yy225;
              goto yy223;
       }
yy353:
       YYDEBUG(353, *YYCURSOR);
       yyaccept = 7;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy231;
                     if (yych <= 0x1F) goto yy223;
                     goto yy231;
              } else {
                     if (yych <= '(') {
                            if (yych <= '\'') goto yy223;
                            goto yy231;
                     } else {
                            if (yych == '+') goto yy231;
                            goto yy223;
                     }
              }
       } else {
              if (yych <= ':') {
                     if (yych <= '-') goto yy231;
                     if (yych <= '.') goto yy225;
                     if (yych <= '9') goto yy223;
                     goto yy225;
              } else {
                     if (yych <= 'Z') {
                            if (yych <= '@') goto yy223;
                            goto yy231;
                     } else {
                            if (yych <= '`') goto yy223;
                            if (yych <= 'z') goto yy231;
                            goto yy223;
                     }
              }
       }
yy354:
       YYDEBUG(354, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy338;
              goto yy199;
       } else {
              if (yych <= '9') goto yy289;
              if (yych <= ':') goto yy338;
              goto yy199;
       }
yy355:
       YYDEBUG(355, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '/') {
                     if (yych == '.') goto yy300;
                     goto yy216;
              } else {
                     if (yych <= '0') goto yy332;
                     if (yych <= '1') goto yy302;
                     if (yych <= '2') goto yy303;
                     goto yy297;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= ':') goto yy264;
                     if (yych == 'n') goto yy212;
                     goto yy216;
              } else {
                     if (yych <= 'r') goto yy213;
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy356:
       YYDEBUG(356, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '/') {
                     if (yych == '.') goto yy300;
                     goto yy216;
              } else {
                     if (yych <= '0') goto yy332;
                     if (yych <= '1') goto yy302;
                     if (yych <= '2') goto yy303;
                     goto yy297;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= ':') goto yy264;
                     if (yych == 'n') goto yy212;
                     goto yy216;
              } else {
                     if (yych <= 'r') goto yy213;
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy357:
       YYDEBUG(357, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'm') {
              if (yych <= '1') {
                     if (yych <= '/') goto yy216;
                     if (yych <= '0') goto yy360;
                     goto yy361;
              } else {
                     if (yych <= '2') goto yy368;
                     if (yych <= '9') goto yy369;
                     goto yy216;
              }
       } else {
              if (yych <= 'r') {
                     if (yych <= 'n') goto yy212;
                     if (yych <= 'q') goto yy216;
                     goto yy213;
              } else {
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy358:
       YYDEBUG(358, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'm') {
              if (yych <= '1') {
                     if (yych <= '/') goto yy216;
                     if (yych <= '0') goto yy360;
                     goto yy361;
              } else {
                     if (yych <= '2') goto yy368;
                     if (yych <= '9') goto yy369;
                     goto yy216;
              }
       } else {
              if (yych <= 'r') {
                     if (yych <= 'n') goto yy212;
                     if (yych <= 'q') goto yy216;
                     goto yy213;
              } else {
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy359:
       YYDEBUG(359, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'm') {
              if (yych <= '1') {
                     if (yych <= '/') goto yy216;
                     if (yych >= '1') goto yy361;
              } else {
                     if (yych <= '2') goto yy209;
                     if (yych <= '9') goto yy210;
                     goto yy216;
              }
       } else {
              if (yych <= 'r') {
                     if (yych <= 'n') goto yy212;
                     if (yych <= 'q') goto yy216;
                     goto yy213;
              } else {
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy360:
       YYDEBUG(360, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '/') {
                     if (yych <= ',') goto yy216;
                     if (yych <= '-') goto yy362;
                     if (yych <= '.') goto yy331;
                     goto yy216;
              } else {
                     if (yych <= '0') goto yy332;
                     if (yych <= '1') goto yy302;
                     if (yych <= '2') goto yy303;
                     goto yy297;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= ':') goto yy221;
                     if (yych == 'n') goto yy212;
                     goto yy216;
              } else {
                     if (yych <= 'r') goto yy213;
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy361:
       YYDEBUG(361, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '/') {
                     if (yych <= ',') goto yy216;
                     if (yych <= '-') goto yy362;
                     if (yych <= '.') goto yy300;
                     goto yy216;
              } else {
                     if (yych <= '0') goto yy301;
                     if (yych <= '1') goto yy302;
                     if (yych <= '2') goto yy303;
                     goto yy297;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= ':') goto yy264;
                     if (yych == 'n') goto yy212;
                     goto yy216;
              } else {
                     if (yych <= 'r') goto yy213;
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy362:
       YYDEBUG(362, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych >= ':') goto yy57;
       YYDEBUG(363, *YYCURSOR);
       ++YYCURSOR;
       if ((yych = *YYCURSOR) <= '/') goto yy364;
       if (yych <= '9') goto yy365;
yy364:
       YYDEBUG(364, *YYCURSOR);
       {
              int length = 0;
              DEBUG_OUTPUT("pgtextshort");
              TIMELIB_INIT;
              TIMELIB_HAVE_DATE();
              s->time->m = timelib_get_month((char **) &ptr);
              s->time->d = timelib_get_nr((char **) &ptr, 2);
              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
              TIMELIB_PROCESS_YEAR(s->time->y, length);
              TIMELIB_DEINIT;
              return TIMELIB_PG_TEXT;
       }
yy365:
       YYDEBUG(365, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy364;
       if (yych >= ':') goto yy364;
       YYDEBUG(366, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy364;
       if (yych >= ':') goto yy364;
       YYDEBUG(367, *YYCURSOR);
       yych = *++YYCURSOR;
       goto yy364;
yy368:
       YYDEBUG(368, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '/') {
                     if (yych <= ',') goto yy216;
                     if (yych <= '-') goto yy362;
                     if (yych <= '.') goto yy300;
                     goto yy216;
              } else {
                     if (yych <= '0') goto yy332;
                     if (yych <= '1') goto yy302;
                     if (yych <= '2') goto yy303;
                     goto yy297;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= ':') goto yy264;
                     if (yych == 'n') goto yy212;
                     goto yy216;
              } else {
                     if (yych <= 'r') goto yy213;
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy369:
       YYDEBUG(369, *YYCURSOR);
       yyaccept = 6;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '/') {
                     if (yych <= ',') goto yy216;
                     if (yych <= '-') goto yy362;
                     if (yych <= '.') goto yy300;
                     goto yy216;
              } else {
                     if (yych <= '0') goto yy332;
                     if (yych <= '1') goto yy302;
                     if (yych <= '2') goto yy303;
                     goto yy297;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= ':') goto yy264;
                     if (yych == 'n') goto yy212;
                     goto yy216;
              } else {
                     if (yych <= 'r') goto yy213;
                     if (yych <= 's') goto yy211;
                     if (yych <= 't') goto yy214;
                     goto yy216;
              }
       }
yy370:
       YYDEBUG(370, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'B') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy142;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'C') goto yy193;
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'b') {
                            if (yych <= '`') goto yy4;
                            goto yy147;
                     } else {
                            if (yych <= 'c') goto yy371;
                            if (yych <= 'z') goto yy147;
                            goto yy4;
                     }
              }
       }
yy371:
       YYDEBUG(371, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= '-') {
                            if (yych <= ')') goto yy140;
                            if (yych <= ',') goto yy194;
                     } else {
                            if (yych == '/') goto yy148;
                            goto yy196;
                     }
              }
       } else {
              if (yych <= '^') {
                     if (yych <= 'D') {
                            if (yych <= '@') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'E') goto yy202;
                            if (yych <= 'Z') goto yy143;
                            goto yy194;
                     }
              } else {
                     if (yych <= 'd') {
                            if (yych <= '_') goto yy148;
                            if (yych <= '`') goto yy194;
                            goto yy151;
                     } else {
                            if (yych <= 'e') goto yy373;
                            if (yych <= 'z') goto yy151;
                            goto yy194;
                     }
              }
       }
yy372:
       YYDEBUG(372, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yybm[0+yych] & 8) {
              goto yy149;
       }
       if (yych <= '/') goto yy196;
       if (yych <= '0') goto yy357;
       if (yych <= '2') goto yy358;
       if (yych <= '3') goto yy359;
       goto yy196;
yy373:
       YYDEBUG(373, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'L') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy144;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'M') goto yy203;
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'l') {
                            if (yych <= '`') goto yy4;
                            goto yy152;
                     } else {
                            if (yych <= 'm') goto yy374;
                            if (yych <= 'z') goto yy152;
                            goto yy4;
                     }
              }
       }
yy374:
       YYDEBUG(374, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'A') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy145;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'B') goto yy204;
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'a') {
                            if (yych <= '`') goto yy4;
                            goto yy153;
                     } else {
                            if (yych <= 'b') goto yy375;
                            if (yych <= 'z') goto yy153;
                            goto yy4;
                     }
              }
       }
yy375:
       YYDEBUG(375, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'D') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
                     if (yych <= '/') goto yy148;
                     goto yy4;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'E') goto yy205;
                     if (yych == '_') goto yy148;
                     goto yy4;
              } else {
                     if (yych == 'e') goto yy376;
                     if (yych <= 'z') goto yy154;
                     goto yy4;
              }
       }
yy376:
       YYDEBUG(376, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'R') goto yy206;
       if (yych != 'r') goto yy155;
yy377:
       YYDEBUG(377, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yybm[0+yych] & 16) {
              goto yy154;
       }
       if (yych <= '-') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy196;
                     goto yy194;
              } else {
                     if (yych <= ' ') goto yy196;
                     if (yych <= ',') goto yy194;
              }
       } else {
              if (yych <= '9') {
                     if (yych == '/') goto yy148;
                     goto yy196;
              } else {
                     if (yych == '_') goto yy148;
                     goto yy194;
              }
       }
yy378:
       YYDEBUG(378, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yybm[0+yych] & 8) {
              goto yy149;
       }
       goto yy196;
yy379:
       YYDEBUG(379, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'T') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'S') goto yy142;
              }
       } else {
              if (yych <= 's') {
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '`') goto yy4;
                     goto yy142;
              } else {
                     if (yych <= 't') goto yy380;
                     if (yych <= 'z') goto yy142;
                     goto yy4;
              }
       }
yy380:
       YYDEBUG(380, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= ',') {
                            if (yych <= ')') goto yy140;
                            goto yy194;
                     } else {
                            if (yych <= '-') goto yy197;
                            if (yych <= '.') goto yy196;
                            goto yy194;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '@') {
                            if (yych <= '9') goto yy196;
                            goto yy194;
                     } else {
                            if (yych != 'O') goto yy143;
                     }
              } else {
                     if (yych <= 'n') {
                            if (yych <= '`') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'o') goto yy381;
                            if (yych <= 'z') goto yy143;
                            goto yy194;
                     }
              }
       }
yy381:
       YYDEBUG(381, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'B') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'A') goto yy144;
              }
       } else {
              if (yych <= 'a') {
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '`') goto yy4;
                     goto yy144;
              } else {
                     if (yych <= 'b') goto yy382;
                     if (yych <= 'z') goto yy144;
                     goto yy4;
              }
       }
yy382:
       YYDEBUG(382, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'E') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'D') goto yy145;
              }
       } else {
              if (yych <= 'd') {
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '`') goto yy4;
                     goto yy145;
              } else {
                     if (yych <= 'e') goto yy383;
                     if (yych <= 'z') goto yy145;
                     goto yy4;
              }
       }
yy383:
       YYDEBUG(383, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'Q') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'R') goto yy206;
              if (yych == 'r') goto yy206;
              goto yy4;
       }
yy384:
       YYDEBUG(384, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'S') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy142;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'T') goto yy380;
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 's') {
                            if (yych <= '`') goto yy4;
                            goto yy147;
                     } else {
                            if (yych <= 't') goto yy385;
                            if (yych <= 'z') goto yy147;
                            goto yy4;
                     }
              }
       }
yy385:
       YYDEBUG(385, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= '-') {
                            if (yych <= ')') goto yy140;
                            if (yych <= ',') goto yy194;
                            goto yy372;
                     } else {
                            if (yych == '/') goto yy148;
                            goto yy196;
                     }
              }
       } else {
              if (yych <= '^') {
                     if (yych <= 'N') {
                            if (yych <= '@') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'O') goto yy381;
                            if (yych <= 'Z') goto yy143;
                            goto yy194;
                     }
              } else {
                     if (yych <= 'n') {
                            if (yych <= '_') goto yy148;
                            if (yych <= '`') goto yy194;
                            goto yy151;
                     } else {
                            if (yych <= 'o') goto yy386;
                            if (yych <= 'z') goto yy151;
                            goto yy194;
                     }
              }
       }
yy386:
       YYDEBUG(386, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'A') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy144;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'B') goto yy382;
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'a') {
                            if (yych <= '`') goto yy4;
                            goto yy152;
                     } else {
                            if (yych <= 'b') goto yy387;
                            if (yych <= 'z') goto yy152;
                            goto yy4;
                     }
              }
       }
yy387:
       YYDEBUG(387, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'D') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy145;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'E') goto yy383;
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'd') {
                            if (yych <= '`') goto yy4;
                            goto yy153;
                     } else {
                            if (yych <= 'e') goto yy388;
                            if (yych <= 'z') goto yy153;
                            goto yy4;
                     }
              }
       }
yy388:
       YYDEBUG(388, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'Q') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
                     if (yych <= '/') goto yy148;
                     goto yy4;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'R') goto yy206;
                     if (yych == '_') goto yy148;
                     goto yy4;
              } else {
                     if (yych == 'r') goto yy377;
                     if (yych <= 'z') goto yy154;
                     goto yy4;
              }
       }
yy389:
       YYDEBUG(389, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'G') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'F') goto yy142;
                     goto yy397;
              }
       } else {
              if (yych <= 'f') {
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '`') goto yy4;
                     goto yy142;
              } else {
                     if (yych <= 'g') goto yy397;
                     if (yych <= 'z') goto yy142;
                     goto yy4;
              }
       }
yy390:
       YYDEBUG(390, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'R') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'Q') goto yy142;
                     goto yy394;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '`') goto yy4;
                     goto yy142;
              } else {
                     if (yych <= 'r') goto yy394;
                     if (yych <= 'z') goto yy142;
                     goto yy4;
              }
       }
yy391:
       YYDEBUG(391, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'O') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'N') goto yy142;
              }
       } else {
              if (yych <= 'n') {
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '`') goto yy4;
                     goto yy142;
              } else {
                     if (yych <= 'o') goto yy392;
                     if (yych <= 'z') goto yy142;
                     goto yy4;
              }
       }
yy392:
       YYDEBUG(392, *YYCURSOR);
       ++YYCURSOR;
       if ((yych = *YYCURSOR) <= '@') {
              if (yych == ')') goto yy140;
       } else {
              if (yych <= 'Z') goto yy143;
              if (yych <= '`') goto yy393;
              if (yych <= 'z') goto yy143;
       }
yy393:
       YYDEBUG(393, *YYCURSOR);
       {
              DEBUG_OUTPUT("ago");
              TIMELIB_INIT;
              s->time->relative.y = 0 - s->time->relative.y;
              s->time->relative.m = 0 - s->time->relative.m;
              s->time->relative.d = 0 - s->time->relative.d;
              s->time->relative.h = 0 - s->time->relative.h;
              s->time->relative.i = 0 - s->time->relative.i;
              s->time->relative.s = 0 - s->time->relative.s;
              s->time->relative.weekday = 0 - s->time->relative.weekday;
              if (s->time->relative.weekday == 0) {
                     s->time->relative.weekday = -7;
              }
              if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
                     s->time->relative.special.amount = 0 - s->time->relative.special.amount;
              }
              TIMELIB_DEINIT;
              return TIMELIB_AGO;
       }
yy394:
       YYDEBUG(394, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= ',') {
                            if (yych <= ')') goto yy140;
                            goto yy194;
                     } else {
                            if (yych <= '-') goto yy197;
                            if (yych <= '.') goto yy196;
                            goto yy194;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '@') {
                            if (yych <= '9') goto yy196;
                            goto yy194;
                     } else {
                            if (yych != 'I') goto yy143;
                     }
              } else {
                     if (yych <= 'h') {
                            if (yych <= '`') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'i') goto yy395;
                            if (yych <= 'z') goto yy143;
                            goto yy194;
                     }
              }
       }
yy395:
       YYDEBUG(395, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'L') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'K') goto yy144;
              }
       } else {
              if (yych <= 'k') {
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '`') goto yy4;
                     goto yy144;
              } else {
                     if (yych <= 'l') goto yy396;
                     if (yych <= 'z') goto yy144;
                     goto yy4;
              }
       }
yy396:
       YYDEBUG(396, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy196;
                     goto yy194;
              } else {
                     if (yych <= ' ') goto yy196;
                     if (yych == ')') goto yy140;
                     goto yy194;
              }
       } else {
              if (yych <= '@') {
                     if (yych == '/') goto yy194;
                     if (yych <= '9') goto yy196;
                     goto yy194;
              } else {
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '`') goto yy194;
                     if (yych <= 'z') goto yy145;
                     goto yy194;
              }
       }
yy397:
       YYDEBUG(397, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= ',') {
                            if (yych <= ')') goto yy140;
                            goto yy194;
                     } else {
                            if (yych <= '-') goto yy197;
                            if (yych <= '.') goto yy196;
                            goto yy194;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '@') {
                            if (yych <= '9') goto yy196;
                            goto yy194;
                     } else {
                            if (yych != 'U') goto yy143;
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= '`') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'u') goto yy398;
                            if (yych <= 'z') goto yy143;
                            goto yy194;
                     }
              }
       }
yy398:
       YYDEBUG(398, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'S') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'R') goto yy144;
              }
       } else {
              if (yych <= 'r') {
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '`') goto yy4;
                     goto yy144;
              } else {
                     if (yych <= 's') goto yy399;
                     if (yych <= 'z') goto yy144;
                     goto yy4;
              }
       }
yy399:
       YYDEBUG(399, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'T') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'S') goto yy145;
              }
       } else {
              if (yych <= 's') {
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '`') goto yy4;
                     goto yy145;
              } else {
                     if (yych <= 't') goto yy400;
                     if (yych <= 'z') goto yy145;
                     goto yy4;
              }
       }
yy400:
       YYDEBUG(400, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '(') {
              if (yych <= '\t') {
                     if (yych <= 0x08) goto yy194;
                     goto yy196;
              } else {
                     if (yych == ' ') goto yy196;
                     goto yy194;
              }
       } else {
              if (yych <= '.') {
                     if (yych <= ')') goto yy140;
                     if (yych <= ',') goto yy194;
                     goto yy196;
              } else {
                     if (yych <= '/') goto yy194;
                     if (yych <= '9') goto yy196;
                     goto yy194;
              }
       }
yy401:
       YYDEBUG(401, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'F') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy142;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'G') goto yy397;
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'f') {
                            if (yych <= '`') goto yy4;
                            goto yy147;
                     } else {
                            if (yych <= 'g') goto yy408;
                            if (yych <= 'z') goto yy147;
                            goto yy4;
                     }
              }
       }
yy402:
       YYDEBUG(402, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'Q') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy142;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'R') goto yy394;
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'q') {
                            if (yych <= '`') goto yy4;
                            goto yy147;
                     } else {
                            if (yych <= 'r') goto yy405;
                            if (yych <= 'z') goto yy147;
                            goto yy4;
                     }
              }
       }
yy403:
       YYDEBUG(403, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'N') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy142;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'O') goto yy392;
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'n') {
                            if (yych <= '`') goto yy4;
                            goto yy147;
                     } else {
                            if (yych <= 'o') goto yy404;
                            if (yych <= 'z') goto yy147;
                            goto yy4;
                     }
              }
       }
yy404:
       YYDEBUG(404, *YYCURSOR);
       yyaccept = 9;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy393;
              } else {
                     if (yych == '.') goto yy393;
                     goto yy148;
              }
       } else {
              if (yych <= '^') {
                     if (yych <= '@') goto yy393;
                     if (yych <= 'Z') goto yy143;
                     goto yy393;
              } else {
                     if (yych <= '_') goto yy148;
                     if (yych <= '`') goto yy393;
                     if (yych <= 'z') goto yy151;
                     goto yy393;
              }
       }
yy405:
       YYDEBUG(405, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= '-') {
                            if (yych <= ')') goto yy140;
                            if (yych <= ',') goto yy194;
                            goto yy372;
                     } else {
                            if (yych == '/') goto yy148;
                            goto yy196;
                     }
              }
       } else {
              if (yych <= '^') {
                     if (yych <= 'H') {
                            if (yych <= '@') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'I') goto yy395;
                            if (yych <= 'Z') goto yy143;
                            goto yy194;
                     }
              } else {
                     if (yych <= 'h') {
                            if (yych <= '_') goto yy148;
                            if (yych <= '`') goto yy194;
                            goto yy151;
                     } else {
                            if (yych <= 'i') goto yy406;
                            if (yych <= 'z') goto yy151;
                            goto yy194;
                     }
              }
       }
yy406:
       YYDEBUG(406, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'K') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy144;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'L') goto yy396;
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'k') {
                            if (yych <= '`') goto yy4;
                            goto yy152;
                     } else {
                            if (yych <= 'l') goto yy407;
                            if (yych <= 'z') goto yy152;
                            goto yy4;
                     }
              }
       }
yy407:
       YYDEBUG(407, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '.') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy196;
                     if (yych <= 0x1F) goto yy194;
                     goto yy196;
              } else {
                     if (yych <= ')') {
                            if (yych <= '(') goto yy194;
                            goto yy140;
                     } else {
                            if (yych <= ',') goto yy194;
                            if (yych <= '-') goto yy378;
                            goto yy196;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '/') goto yy148;
                     if (yych <= '9') goto yy196;
                     if (yych <= '@') goto yy194;
                     goto yy145;
              } else {
                     if (yych <= '_') {
                            if (yych <= '^') goto yy194;
                            goto yy148;
                     } else {
                            if (yych <= '`') goto yy194;
                            if (yych <= 'z') goto yy153;
                            goto yy194;
                     }
              }
       }
yy408:
       YYDEBUG(408, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= '-') {
                            if (yych <= ')') goto yy140;
                            if (yych <= ',') goto yy194;
                            goto yy372;
                     } else {
                            if (yych == '/') goto yy148;
                            goto yy196;
                     }
              }
       } else {
              if (yych <= '^') {
                     if (yych <= 'T') {
                            if (yych <= '@') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'U') goto yy398;
                            if (yych <= 'Z') goto yy143;
                            goto yy194;
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= '_') goto yy148;
                            if (yych <= '`') goto yy194;
                            goto yy151;
                     } else {
                            if (yych <= 'u') goto yy409;
                            if (yych <= 'z') goto yy151;
                            goto yy194;
                     }
              }
       }
yy409:
       YYDEBUG(409, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'R') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy144;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'S') goto yy399;
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'r') {
                            if (yych <= '`') goto yy4;
                            goto yy152;
                     } else {
                            if (yych <= 's') goto yy410;
                            if (yych <= 'z') goto yy152;
                            goto yy4;
                     }
              }
       }
yy410:
       YYDEBUG(410, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'S') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy145;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'T') goto yy400;
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 's') {
                            if (yych <= '`') goto yy4;
                            goto yy153;
                     } else {
                            if (yych <= 't') goto yy411;
                            if (yych <= 'z') goto yy153;
                            goto yy4;
                     }
              }
       }
yy411:
       YYDEBUG(411, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yybm[0+yych] & 16) {
              goto yy154;
       }
       if (yych <= ',') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy196;
                     goto yy194;
              } else {
                     if (yych <= ' ') goto yy196;
                     if (yych == ')') goto yy140;
                     goto yy194;
              }
       } else {
              if (yych <= '/') {
                     if (yych <= '-') goto yy378;
                     if (yych <= '.') goto yy196;
                     goto yy148;
              } else {
                     if (yych <= '9') goto yy196;
                     if (yych == '_') goto yy148;
                     goto yy194;
              }
       }
yy412:
       YYDEBUG(412, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'N') {
              if (yych <= '@') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == 'L') goto yy419;
                     if (yych <= 'M') goto yy142;
                     goto yy418;
              }
       } else {
              if (yych <= 'l') {
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '`') goto yy4;
                     if (yych <= 'k') goto yy142;
                     goto yy419;
              } else {
                     if (yych == 'n') goto yy418;
                     if (yych <= 'z') goto yy142;
                     goto yy4;
              }
       }
yy413:
       YYDEBUG(413, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'N') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'M') goto yy142;
              }
       } else {
              if (yych <= 'm') {
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '`') goto yy4;
                     goto yy142;
              } else {
                     if (yych <= 'n') goto yy414;
                     if (yych <= 'z') goto yy142;
                     goto yy4;
              }
       }
yy414:
       YYDEBUG(414, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= ',') {
                            if (yych <= ')') goto yy140;
                            goto yy194;
                     } else {
                            if (yych <= '-') goto yy197;
                            if (yych <= '.') goto yy196;
                            goto yy194;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '@') {
                            if (yych <= '9') goto yy196;
                            goto yy194;
                     } else {
                            if (yych != 'U') goto yy143;
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= '`') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'u') goto yy415;
                            if (yych <= 'z') goto yy143;
                            goto yy194;
                     }
              }
       }
yy415:
       YYDEBUG(415, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'A') {
              if (yych == ')') goto yy140;
              if (yych <= '@') goto yy4;
       } else {
              if (yych <= '`') {
                     if (yych <= 'Z') goto yy144;
                     goto yy4;
              } else {
                     if (yych <= 'a') goto yy416;
                     if (yych <= 'z') goto yy144;
                     goto yy4;
              }
       }
yy416:
       YYDEBUG(416, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'R') {
              if (yych <= ')') {
                     if (yych <= '(') goto yy4;
                     goto yy140;
              } else {
                     if (yych <= '@') goto yy4;
                     if (yych <= 'Q') goto yy145;
              }
       } else {
              if (yych <= 'q') {
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '`') goto yy4;
                     goto yy145;
              } else {
                     if (yych <= 'r') goto yy417;
                     if (yych <= 'z') goto yy145;
                     goto yy4;
              }
       }
yy417:
       YYDEBUG(417, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'X') {
              if (yych == ')') goto yy140;
              goto yy4;
       } else {
              if (yych <= 'Y') goto yy206;
              if (yych == 'y') goto yy206;
              goto yy4;
       }
yy418:
       YYDEBUG(418, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= ',') {
                            if (yych <= ')') goto yy140;
                            goto yy194;
                     } else {
                            if (yych <= '-') goto yy197;
                            if (yych <= '.') goto yy196;
                            goto yy194;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '@') {
                            if (yych <= '9') goto yy196;
                            goto yy194;
                     } else {
                            if (yych == 'E') goto yy420;
                            goto yy143;
                     }
              } else {
                     if (yych <= 'd') {
                            if (yych <= '`') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'e') goto yy420;
                            if (yych <= 'z') goto yy143;
                            goto yy194;
                     }
              }
       }
yy419:
       YYDEBUG(419, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= ',') {
                            if (yych <= ')') goto yy140;
                            goto yy194;
                     } else {
                            if (yych <= '-') goto yy197;
                            if (yych <= '.') goto yy196;
                            goto yy194;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '@') {
                            if (yych <= '9') goto yy196;
                            goto yy194;
                     } else {
                            if (yych != 'Y') goto yy143;
                     }
              } else {
                     if (yych <= 'x') {
                            if (yych <= '`') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'y') goto yy420;
                            if (yych <= 'z') goto yy143;
                            goto yy194;
                     }
              }
       }
yy420:
       YYDEBUG(420, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy196;
                     goto yy194;
              } else {
                     if (yych <= ' ') goto yy196;
                     if (yych == ')') goto yy140;
                     goto yy194;
              }
       } else {
              if (yych <= '@') {
                     if (yych == '/') goto yy194;
                     if (yych <= '9') goto yy196;
                     goto yy194;
              } else {
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '`') goto yy194;
                     if (yych <= 'z') goto yy144;
                     goto yy194;
              }
       }
yy421:
       YYDEBUG(421, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'M') {
              if (yych <= '.') {
                     if (yych <= ')') {
                            if (yych <= '(') goto yy4;
                            goto yy140;
                     } else {
                            if (yych == '-') goto yy148;
                            goto yy4;
                     }
              } else {
                     if (yych <= '@') {
                            if (yych <= '/') goto yy148;
                            goto yy4;
                     } else {
                            if (yych == 'L') goto yy419;
                            goto yy142;
                     }
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'Z') {
                            if (yych <= 'N') goto yy418;
                            goto yy142;
                     } else {
                            if (yych == '_') goto yy148;
                            goto yy4;
                     }
              } else {
                     if (yych <= 'm') {
                            if (yych == 'l') goto yy428;
                            goto yy147;
                     } else {
                            if (yych <= 'n') goto yy427;
                            if (yych <= 'z') goto yy147;
                            goto yy4;
                     }
              }
       }
yy422:
       YYDEBUG(422, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'M') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy142;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'N') goto yy414;
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'm') {
                            if (yych <= '`') goto yy4;
                            goto yy147;
                     } else {
                            if (yych <= 'n') goto yy423;
                            if (yych <= 'z') goto yy147;
                            goto yy4;
                     }
              }
       }
yy423:
       YYDEBUG(423, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= '-') {
                            if (yych <= ')') goto yy140;
                            if (yych <= ',') goto yy194;
                            goto yy372;
                     } else {
                            if (yych == '/') goto yy148;
                            goto yy196;
                     }
              }
       } else {
              if (yych <= '^') {
                     if (yych <= 'T') {
                            if (yych <= '@') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'U') goto yy415;
                            if (yych <= 'Z') goto yy143;
                            goto yy194;
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= '_') goto yy148;
                            if (yych <= '`') goto yy194;
                            goto yy151;
                     } else {
                            if (yych <= 'u') goto yy424;
                            if (yych <= 'z') goto yy151;
                            goto yy194;
                     }
              }
       }
yy424:
       YYDEBUG(424, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '@') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
                     if (yych <= '/') goto yy148;
                     goto yy4;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'A') goto yy416;
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= '`') goto yy4;
                     if (yych <= 'a') goto yy425;
                     if (yych <= 'z') goto yy152;
                     goto yy4;
              }
       }
yy425:
       YYDEBUG(425, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'Q') {
              if (yych <= '-') {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy148;
              } else {
                     if (yych == '/') goto yy148;
                     if (yych <= '@') goto yy4;
                     goto yy145;
              }
       } else {
              if (yych <= '_') {
                     if (yych <= 'R') goto yy417;
                     if (yych <= 'Z') goto yy145;
                     if (yych <= '^') goto yy4;
                     goto yy148;
              } else {
                     if (yych <= 'q') {
                            if (yych <= '`') goto yy4;
                            goto yy153;
                     } else {
                            if (yych <= 'r') goto yy426;
                            if (yych <= 'z') goto yy153;
                            goto yy4;
                     }
              }
       }
yy426:
       YYDEBUG(426, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'X') {
              if (yych <= ',') {
                     if (yych == ')') goto yy140;
                     goto yy4;
              } else {
                     if (yych == '.') goto yy4;
                     if (yych <= '/') goto yy148;
                     goto yy4;
              }
       } else {
              if (yych <= '`') {
                     if (yych <= 'Y') goto yy206;
                     if (yych == '_') goto yy148;
                     goto yy4;
              } else {
                     if (yych == 'y') goto yy377;
                     if (yych <= 'z') goto yy154;
                     goto yy4;
              }
       }
yy427:
       YYDEBUG(427, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= '-') {
                            if (yych <= ')') goto yy140;
                            if (yych <= ',') goto yy194;
                            goto yy372;
                     } else {
                            if (yych == '/') goto yy148;
                            goto yy196;
                     }
              }
       } else {
              if (yych <= '^') {
                     if (yych <= 'D') {
                            if (yych <= '@') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'E') goto yy420;
                            if (yych <= 'Z') goto yy143;
                            goto yy194;
                     }
              } else {
                     if (yych <= 'd') {
                            if (yych <= '_') goto yy148;
                            if (yych <= '`') goto yy194;
                            goto yy151;
                     } else {
                            if (yych <= 'e') goto yy429;
                            if (yych <= 'z') goto yy151;
                            goto yy194;
                     }
              }
       }
yy428:
       YYDEBUG(428, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '9') {
              if (yych <= '(') {
                     if (yych <= '\t') {
                            if (yych <= 0x08) goto yy194;
                            goto yy196;
                     } else {
                            if (yych == ' ') goto yy196;
                            goto yy194;
                     }
              } else {
                     if (yych <= '-') {
                            if (yych <= ')') goto yy140;
                            if (yych <= ',') goto yy194;
                            goto yy372;
                     } else {
                            if (yych == '/') goto yy148;
                            goto yy196;
                     }
              }
       } else {
              if (yych <= '^') {
                     if (yych <= 'X') {
                            if (yych <= '@') goto yy194;
                            goto yy143;
                     } else {
                            if (yych <= 'Y') goto yy420;
                            if (yych <= 'Z') goto yy143;
                            goto yy194;
                     }
              } else {
                     if (yych <= 'x') {
                            if (yych <= '_') goto yy148;
                            if (yych <= '`') goto yy194;
                            goto yy151;
                     } else {
                            if (yych <= 'y') goto yy429;
                            if (yych <= 'z') goto yy151;
                            goto yy194;
                     }
              }
       }
yy429:
       YYDEBUG(429, *YYCURSOR);
       yyaccept = 5;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '.') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy196;
                     if (yych <= 0x1F) goto yy194;
                     goto yy196;
              } else {
                     if (yych <= ')') {
                            if (yych <= '(') goto yy194;
                            goto yy140;
                     } else {
                            if (yych <= ',') goto yy194;
                            if (yych <= '-') goto yy378;
                            goto yy196;
                     }
              }
       } else {
              if (yych <= 'Z') {
                     if (yych <= '/') goto yy148;
                     if (yych <= '9') goto yy196;
                     if (yych <= '@') goto yy194;
                     goto yy144;
              } else {
                     if (yych <= '_') {
                            if (yych <= '^') goto yy194;
                            goto yy148;
                     } else {
                            if (yych <= '`') goto yy194;
                            if (yych <= 'z') goto yy152;
                            goto yy194;
                     }
              }
       }
yy430:
       YYDEBUG(430, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '.') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy196;
                     if (yych <= 0x1F) goto yy4;
                     goto yy196;
              } else {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy196;
              }
       } else {
              if (yych <= 'H') {
                     if (yych <= '/') goto yy4;
                     if (yych <= '9') goto yy196;
                     if (yych <= '@') goto yy4;
                     goto yy142;
              } else {
                     if (yych <= 'Z') {
                            if (yych >= 'J') goto yy142;
                     } else {
                            if (yych <= '`') goto yy4;
                            if (yych <= 'z') goto yy142;
                            goto yy4;
                     }
              }
       }
yy431:
       YYDEBUG(431, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy196;
                     goto yy4;
              } else {
                     if (yych <= ' ') goto yy196;
                     if (yych == ')') goto yy140;
                     goto yy4;
              }
       } else {
              if (yych <= '@') {
                     if (yych == '/') goto yy4;
                     if (yych <= '9') goto yy196;
                     goto yy4;
              } else {
                     if (yych <= 'Z') goto yy143;
                     if (yych <= '`') goto yy4;
                     if (yych <= 'z') goto yy143;
                     goto yy4;
              }
       }
yy432:
       YYDEBUG(432, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '.') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy196;
                     if (yych <= 0x1F) goto yy4;
                     goto yy196;
              } else {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy196;
              }
       } else {
              if (yych <= 'H') {
                     if (yych <= '/') goto yy4;
                     if (yych <= '9') goto yy196;
                     if (yych <= '@') goto yy4;
                     goto yy142;
              } else {
                     if (yych <= 'Z') {
                            if (yych >= 'J') goto yy142;
                     } else {
                            if (yych <= '`') goto yy4;
                            if (yych <= 'z') goto yy142;
                            goto yy4;
                     }
              }
       }
       YYDEBUG(433, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '.') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy196;
                     if (yych <= 0x1F) goto yy4;
                     goto yy196;
              } else {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy196;
              }
       } else {
              if (yych <= 'H') {
                     if (yych <= '/') goto yy4;
                     if (yych <= '9') goto yy196;
                     if (yych <= '@') goto yy4;
                     goto yy143;
              } else {
                     if (yych <= 'Z') {
                            if (yych >= 'J') goto yy143;
                     } else {
                            if (yych <= '`') goto yy4;
                            if (yych <= 'z') goto yy143;
                            goto yy4;
                     }
              }
       }
       YYDEBUG(434, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy196;
                     goto yy4;
              } else {
                     if (yych <= ' ') goto yy196;
                     if (yych == ')') goto yy140;
                     goto yy4;
              }
       } else {
              if (yych <= '@') {
                     if (yych == '/') goto yy4;
                     if (yych <= '9') goto yy196;
                     goto yy4;
              } else {
                     if (yych <= 'Z') goto yy144;
                     if (yych <= '`') goto yy4;
                     if (yych <= 'z') goto yy144;
                     goto yy4;
              }
       }
yy435:
       YYDEBUG(435, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy196;
                     goto yy4;
              } else {
                     if (yych <= ' ') goto yy196;
                     if (yych == ')') goto yy140;
                     goto yy4;
              }
       } else {
              if (yych <= '@') {
                     if (yych == '/') goto yy4;
                     if (yych <= '9') goto yy196;
                     goto yy4;
              } else {
                     if (yych <= 'Z') goto yy142;
                     if (yych <= '`') goto yy4;
                     if (yych <= 'z') goto yy142;
                     goto yy4;
              }
       }
yy436:
       YYDEBUG(436, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '.') {
              if (yych <= ' ') {
                     if (yych == '\t') goto yy196;
                     if (yych <= 0x1F) goto yy4;
                     goto yy196;
              } else {
                     if (yych == ')') goto yy140;
                     if (yych <= ',') goto yy4;
                     goto yy196;
              }
       } else {
              if (yych <= 'H') {
                     if (yych <= '/') goto yy4;
                     if (yych <= '9') goto yy196;
                     if (yych <= '@') goto yy4;
                     goto yy142;
              } else {
                     if (yych <= 'Z') {
                            if (yych <= 'I') goto yy431;
                            goto yy142;
                     } else {
                            if (yych <= '`') goto yy4;
                            if (yych <= 'z') goto yy142;
                            goto yy4;
                     }
              }
       }
yy437:
       YYDEBUG(437, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'V') {
              if (yych <= 'D') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy61;
                            if (yych <= 0x1F) goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= '9') {
                                   if (yych <= '/') goto yy4;
                                   goto yy457;
                            } else {
                                   if (yych <= ':') goto yy163;
                                   if (yych <= 'C') goto yy4;
                                   goto yy61;
                            }
                     }
              } else {
                     if (yych <= 'H') {
                            if (yych == 'F') goto yy61;
                            if (yych <= 'G') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'M') {
                                   if (yych <= 'L') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych <= 'R') goto yy4;
                                   if (yych <= 'T') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       } else {
              if (yych <= 'h') {
                     if (yych <= 'c') {
                            if (yych == 'X') goto yy4;
                            if (yych <= 'Y') goto yy61;
                            goto yy4;
                     } else {
                            if (yych <= 'e') {
                                   if (yych <= 'd') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych == 'g') goto yy4;
                                   goto yy61;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych == 'm') goto yy61;
                            if (yych <= 'r') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'w') {
                                   if (yych <= 'v') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'y') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       }
yy438:
       YYDEBUG(438, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'T') {
              if (yych <= ':') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy61;
                            if (yych <= 0x1F) goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= '4') {
                                   if (yych <= '/') goto yy4;
                                   goto yy457;
                            } else {
                                   if (yych <= '5') goto yy442;
                                   if (yych <= '9') goto yy443;
                                   goto yy163;
                            }
                     }
              } else {
                     if (yych <= 'G') {
                            if (yych <= 'D') {
                                   if (yych <= 'C') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'F') goto yy61;
                                   goto yy4;
                            }
                     } else {
                            if (yych <= 'L') {
                                   if (yych <= 'H') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych <= 'M') goto yy61;
                                   if (yych <= 'R') goto yy4;
                                   goto yy61;
                            }
                     }
              }
       } else {
              if (yych <= 'g') {
                     if (yych <= 'Y') {
                            if (yych == 'W') goto yy61;
                            if (yych <= 'X') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'd') {
                                   if (yych <= 'c') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'f') goto yy61;
                                   goto yy4;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= 'l') {
                                   if (yych <= 'h') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych <= 'm') goto yy61;
                                   if (yych <= 'r') goto yy4;
                                   goto yy61;
                            }
                     } else {
                            if (yych <= 'w') {
                                   if (yych <= 'v') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'y') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       }
yy439:
       YYDEBUG(439, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'T') {
              if (yych <= 'C') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy61;
                            if (yych <= 0x1F) goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= '5') {
                                   if (yych <= '/') goto yy4;
                                   goto yy442;
                            } else {
                                   if (yych <= '9') goto yy443;
                                   if (yych <= ':') goto yy163;
                                   goto yy4;
                            }
                     }
              } else {
                     if (yych <= 'G') {
                            if (yych == 'E') goto yy4;
                            if (yych <= 'F') goto yy61;
                            goto yy4;
                     } else {
                            if (yych <= 'L') {
                                   if (yych <= 'H') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych <= 'M') goto yy61;
                                   if (yych <= 'R') goto yy4;
                                   goto yy61;
                            }
                     }
              }
       } else {
              if (yych <= 'g') {
                     if (yych <= 'Y') {
                            if (yych == 'W') goto yy61;
                            if (yych <= 'X') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'd') {
                                   if (yych <= 'c') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'f') goto yy61;
                                   goto yy4;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= 'l') {
                                   if (yych <= 'h') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych <= 'm') goto yy61;
                                   if (yych <= 'r') goto yy4;
                                   goto yy61;
                            }
                     } else {
                            if (yych <= 'w') {
                                   if (yych <= 'v') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'y') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       }
yy440:
       YYDEBUG(440, *YYCURSOR);
       ++YYCURSOR;
       if (YYLIMIT <= YYCURSOR) YYFILL(1);
       yych = *YYCURSOR;
       YYDEBUG(441, *YYCURSOR);
       if (yybm[0+yych] & 4) {
              goto yy58;
       }
       if (yych <= ',') {
              if (yych == '+') goto yy440;
              goto yy57;
       } else {
              if (yych <= '-') goto yy440;
              if (yych <= '/') goto yy57;
              if (yych <= '9') goto yy55;
              goto yy57;
       }
yy442:
       YYDEBUG(442, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'V') {
              if (yych <= 'D') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy61;
                            if (yych <= 0x1F) goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= '/') goto yy4;
                            if (yych <= '9') goto yy456;
                            if (yych <= 'C') goto yy4;
                            goto yy61;
                     }
              } else {
                     if (yych <= 'H') {
                            if (yych == 'F') goto yy61;
                            if (yych <= 'G') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'M') {
                                   if (yych <= 'L') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych <= 'R') goto yy4;
                                   if (yych <= 'T') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       } else {
              if (yych <= 'h') {
                     if (yych <= 'c') {
                            if (yych == 'X') goto yy4;
                            if (yych <= 'Y') goto yy61;
                            goto yy4;
                     } else {
                            if (yych <= 'e') {
                                   if (yych <= 'd') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych == 'g') goto yy4;
                                   goto yy61;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych == 'm') goto yy61;
                            if (yych <= 'r') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'w') {
                                   if (yych <= 'v') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'y') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       }
yy443:
       YYDEBUG(443, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'V') {
              if (yych <= 'D') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy61;
                            if (yych <= 0x1F) goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= '/') goto yy4;
                            if (yych <= '9') goto yy444;
                            if (yych <= 'C') goto yy4;
                            goto yy61;
                     }
              } else {
                     if (yych <= 'H') {
                            if (yych == 'F') goto yy61;
                            if (yych <= 'G') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'M') {
                                   if (yych <= 'L') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych <= 'R') goto yy4;
                                   if (yych <= 'T') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       } else {
              if (yych <= 'h') {
                     if (yych <= 'c') {
                            if (yych == 'X') goto yy4;
                            if (yych <= 'Y') goto yy61;
                            goto yy4;
                     } else {
                            if (yych <= 'e') {
                                   if (yych <= 'd') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych == 'g') goto yy4;
                                   goto yy61;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych == 'm') goto yy61;
                            if (yych <= 'r') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'w') {
                                   if (yych <= 'v') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'y') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       }
yy444:
       YYDEBUG(444, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy61;
       if (yych >= ':') goto yy61;
yy445:
       YYDEBUG(445, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yybm[0+yych] & 2) {
              goto yy55;
       }
       if (yych != '-') goto yy61;
yy446:
       YYDEBUG(446, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '0') goto yy447;
       if (yych <= '1') goto yy448;
       goto yy57;
yy447:
       YYDEBUG(447, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '9') goto yy449;
       goto yy57;
yy448:
       YYDEBUG(448, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych >= '3') goto yy57;
yy449:
       YYDEBUG(449, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych != '-') goto yy57;
       YYDEBUG(450, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '0') goto yy451;
       if (yych <= '2') goto yy452;
       if (yych <= '3') goto yy453;
       goto yy57;
yy451:
       YYDEBUG(451, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '9') goto yy454;
       goto yy57;
yy452:
       YYDEBUG(452, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '9') goto yy454;
       goto yy57;
yy453:
       YYDEBUG(453, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych >= '2') goto yy57;
yy454:
       YYDEBUG(454, *YYCURSOR);
       ++YYCURSOR;
yy455:
       YYDEBUG(455, *YYCURSOR);
       {
              DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
              TIMELIB_INIT;
              TIMELIB_HAVE_DATE();
              s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4);
              s->time->m = timelib_get_nr((char **) &ptr, 2);
              s->time->d = timelib_get_nr((char **) &ptr, 2);
              TIMELIB_DEINIT;
              return TIMELIB_ISO_DATE;
       }
yy456:
       YYDEBUG(456, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'V') {
              if (yych <= 'D') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy61;
                            if (yych <= 0x1F) goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= '/') goto yy4;
                            if (yych <= '9') goto yy445;
                            if (yych <= 'C') goto yy4;
                            goto yy61;
                     }
              } else {
                     if (yych <= 'H') {
                            if (yych == 'F') goto yy61;
                            if (yych <= 'G') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'M') {
                                   if (yych <= 'L') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych <= 'R') goto yy4;
                                   if (yych <= 'T') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       } else {
              if (yych <= 'h') {
                     if (yych <= 'c') {
                            if (yych == 'X') goto yy4;
                            if (yych <= 'Y') goto yy61;
                            goto yy4;
                     } else {
                            if (yych <= 'e') {
                                   if (yych <= 'd') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych == 'g') goto yy4;
                                   goto yy61;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych == 'm') goto yy61;
                            if (yych <= 'r') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'w') {
                                   if (yych <= 'v') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'y') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       }
yy457:
       YYDEBUG(457, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'T') {
              if (yych <= 'C') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy61;
                            if (yych <= 0x1F) goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= '5') {
                                   if (yych <= '/') goto yy4;
                            } else {
                                   if (yych <= '9') goto yy456;
                                   if (yych <= ':') goto yy163;
                                   goto yy4;
                            }
                     }
              } else {
                     if (yych <= 'G') {
                            if (yych == 'E') goto yy4;
                            if (yych <= 'F') goto yy61;
                            goto yy4;
                     } else {
                            if (yych <= 'L') {
                                   if (yych <= 'H') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych <= 'M') goto yy61;
                                   if (yych <= 'R') goto yy4;
                                   goto yy61;
                            }
                     }
              }
       } else {
              if (yych <= 'g') {
                     if (yych <= 'Y') {
                            if (yych == 'W') goto yy61;
                            if (yych <= 'X') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'd') {
                                   if (yych <= 'c') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'f') goto yy61;
                                   goto yy4;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych <= 'l') {
                                   if (yych <= 'h') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych <= 'm') goto yy61;
                                   if (yych <= 'r') goto yy4;
                                   goto yy61;
                            }
                     } else {
                            if (yych <= 'w') {
                                   if (yych <= 'v') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'y') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       }
       YYDEBUG(458, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= 'V') {
              if (yych <= 'D') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy61;
                            if (yych <= 0x1F) goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= '/') goto yy4;
                            if (yych <= '9') goto yy459;
                            if (yych <= 'C') goto yy4;
                            goto yy61;
                     }
              } else {
                     if (yych <= 'H') {
                            if (yych == 'F') goto yy61;
                            if (yych <= 'G') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'M') {
                                   if (yych <= 'L') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych <= 'R') goto yy4;
                                   if (yych <= 'T') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       } else {
              if (yych <= 'h') {
                     if (yych <= 'c') {
                            if (yych == 'X') goto yy4;
                            if (yych <= 'Y') goto yy61;
                            goto yy4;
                     } else {
                            if (yych <= 'e') {
                                   if (yych <= 'd') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych == 'g') goto yy4;
                                   goto yy61;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych == 'm') goto yy61;
                            if (yych <= 'r') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'w') {
                                   if (yych <= 'v') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'y') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       }
yy459:
       YYDEBUG(459, *YYCURSOR);
       yyaccept = 0;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yybm[0+yych] & 2) {
              goto yy55;
       }
       if (yych <= 'V') {
              if (yych <= 'D') {
                     if (yych <= ' ') {
                            if (yych == '\t') goto yy61;
                            if (yych <= 0x1F) goto yy4;
                            goto yy61;
                     } else {
                            if (yych == '-') goto yy446;
                            if (yych <= 'C') goto yy4;
                            goto yy61;
                     }
              } else {
                     if (yych <= 'H') {
                            if (yych == 'F') goto yy61;
                            if (yych <= 'G') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'M') {
                                   if (yych <= 'L') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych <= 'R') goto yy4;
                                   if (yych <= 'T') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       } else {
              if (yych <= 'h') {
                     if (yych <= 'c') {
                            if (yych == 'X') goto yy4;
                            if (yych <= 'Y') goto yy61;
                            goto yy4;
                     } else {
                            if (yych <= 'e') {
                                   if (yych <= 'd') goto yy61;
                                   goto yy4;
                            } else {
                                   if (yych == 'g') goto yy4;
                                   goto yy61;
                            }
                     }
              } else {
                     if (yych <= 't') {
                            if (yych == 'm') goto yy61;
                            if (yych <= 'r') goto yy4;
                            goto yy61;
                     } else {
                            if (yych <= 'w') {
                                   if (yych <= 'v') goto yy4;
                                   goto yy61;
                            } else {
                                   if (yych == 'y') goto yy61;
                                   goto yy4;
                            }
                     }
              }
       }
yy460:
       YYDEBUG(460, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy462;
       if (yych <= '0') goto yy736;
       if (yych <= '1') goto yy737;
       if (yych <= '9') goto yy738;
       goto yy462;
yy461:
       YYDEBUG(461, *YYCURSOR);
       ++YYCURSOR;
       if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
       yych = *YYCURSOR;
yy462:
       YYDEBUG(462, *YYCURSOR);
       YYDEBUG(-1, yych);
       switch (yych) {
       case '\t':
       case ' ':     goto yy461;
       case '-':
       case '.':     goto yy577;
       case 'A':
       case 'a':     goto yy480;
       case 'D':
       case 'd':     goto yy466;
       case 'F':
       case 'f':     goto yy467;
       case 'H':
       case 'h':     goto yy64;
       case 'I':     goto yy475;
       case 'J':
       case 'j':     goto yy479;
       case 'M':
       case 'm':     goto yy465;
       case 'N':
       case 'n':     goto yy482;
       case 'O':
       case 'o':     goto yy481;
       case 'P':
       case 'p':     goto yy484;
       case 'S':
       case 's':     goto yy463;
       case 'T':
       case 't':     goto yy69;
       case 'V':     goto yy477;
       case 'W':
       case 'w':     goto yy68;
       case 'X':     goto yy478;
       case 'Y':
       case 'y':     goto yy67;
       default:      goto yy57;
       }
yy463:
       YYDEBUG(463, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych <= 'D') {
                     if (yych == 'A') goto yy127;
                     goto yy57;
              } else {
                     if (yych <= 'E') goto yy1049;
                     if (yych <= 'T') goto yy57;
                     goto yy126;
              }
       } else {
              if (yych <= 'd') {
                     if (yych == 'a') goto yy127;
                     goto yy57;
              } else {
                     if (yych <= 'e') goto yy1049;
                     if (yych == 'u') goto yy126;
                     goto yy57;
              }
       }
yy464:
       YYDEBUG(464, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '`') {
              if (yych <= 'D') {
                     if (yych == 'A') goto yy127;
                     goto yy57;
              } else {
                     if (yych <= 'E') goto yy1049;
                     if (yych == 'U') goto yy126;
                     goto yy57;
              }
       } else {
              if (yych <= 'e') {
                     if (yych <= 'a') goto yy127;
                     if (yych <= 'd') goto yy57;
                     goto yy1049;
              } else {
                     if (yych <= 's') goto yy57;
                     if (yych <= 't') goto yy729;
                     if (yych <= 'u') goto yy126;
                     goto yy57;
              }
       }
yy465:
       YYDEBUG(465, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'O') {
              if (yych <= 'H') {
                     if (yych == 'A') goto yy592;
                     goto yy57;
              } else {
                     if (yych <= 'I') goto yy118;
                     if (yych <= 'N') goto yy57;
                     goto yy117;
              }
       } else {
              if (yych <= 'h') {
                     if (yych == 'a') goto yy592;
                     goto yy57;
              } else {
                     if (yych <= 'i') goto yy118;
                     if (yych == 'o') goto yy117;
                     goto yy57;
              }
       }
yy466:
       YYDEBUG(466, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'E') {
              if (yych == 'A') goto yy114;
              if (yych <= 'D') goto yy57;
              goto yy579;
       } else {
              if (yych <= 'a') {
                     if (yych <= '`') goto yy57;
                     goto yy114;
              } else {
                     if (yych == 'e') goto yy579;
                     goto yy57;
              }
       }
yy467:
       YYDEBUG(467, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'R') {
              if (yych <= 'N') {
                     if (yych == 'E') goto yy595;
                     goto yy57;
              } else {
                     if (yych <= 'O') goto yy99;
                     if (yych <= 'Q') goto yy57;
                     goto yy98;
              }
       } else {
              if (yych <= 'n') {
                     if (yych == 'e') goto yy595;
                     goto yy57;
              } else {
                     if (yych <= 'o') goto yy99;
                     if (yych == 'r') goto yy98;
                     goto yy57;
              }
       }
yy468:
       YYDEBUG(468, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych == 'H') goto yy70;
              if (yych <= 'T') goto yy57;
              goto yy71;
       } else {
              if (yych <= 'h') {
                     if (yych <= 'g') goto yy57;
                     goto yy1048;
              } else {
                     if (yych == 'u') goto yy71;
                     goto yy57;
              }
       }
yy469:
       YYDEBUG(469, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == '-') goto yy742;
       if (yych <= '/') goto yy61;
       if (yych <= '9') goto yy741;
       goto yy61;
yy470:
       YYDEBUG(470, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'c') {
              if (yych == 'O') goto yy530;
              goto yy57;
       } else {
              if (yych <= 'd') goto yy729;
              if (yych == 'o') goto yy530;
              goto yy57;
       }
yy471:
       YYDEBUG(471, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'd') goto yy729;
       goto yy57;
yy472:
       YYDEBUG(472, *YYCURSOR);
       yych = *++YYCURSOR;
       YYDEBUG(-1, yych);
       switch (yych) {
       case '0':
       case '1':
       case '2':     goto yy666;
       case '3':     goto yy668;
       case '4':
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy669;
       case 'A':
       case 'a':     goto yy673;
       case 'D':
       case 'd':     goto yy677;
       case 'F':
       case 'f':     goto yy671;
       case 'J':
       case 'j':     goto yy670;
       case 'M':
       case 'm':     goto yy672;
       case 'N':
       case 'n':     goto yy676;
       case 'O':
       case 'o':     goto yy675;
       case 'S':
       case 's':     goto yy674;
       default:      goto yy57;
       }
yy473:
       YYDEBUG(473, *YYCURSOR);
       yych = *++YYCURSOR;
       YYDEBUG(-1, yych);
       switch (yych) {
       case '0':     goto yy616;
       case '1':     goto yy617;
       case '2':
       case '3':
       case '4':
       case '5':
       case '6':
       case '7':
       case '8':
       case '9':     goto yy618;
       case 'A':
       case 'a':     goto yy622;
       case 'D':
       case 'd':     goto yy626;
       case 'F':
       case 'f':     goto yy620;
       case 'J':
       case 'j':     goto yy619;
       case 'M':
       case 'm':     goto yy621;
       case 'N':
       case 'n':     goto yy625;
       case 'O':
       case 'o':     goto yy624;
       case 'S':
       case 's':     goto yy623;
       default:      goto yy578;
       }
yy474:
       YYDEBUG(474, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '1') {
              if (yych <= '/') goto yy578;
              if (yych <= '0') goto yy568;
              goto yy569;
       } else {
              if (yych <= '5') goto yy570;
              if (yych <= '9') goto yy571;
              goto yy578;
       }
yy475:
       YYDEBUG(475, *YYCURSOR);
       yyaccept = 10;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych <= 0x1F) {
                     if (yych == '\t') goto yy532;
              } else {
                     if (yych <= ' ') goto yy532;
                     if (yych <= ',') goto yy476;
                     if (yych <= '.') goto yy532;
              }
       } else {
              if (yych <= 'U') {
                     if (yych <= '9') goto yy534;
                     if (yych == 'I') goto yy567;
              } else {
                     if (yych == 'W') goto yy476;
                     if (yych <= 'X') goto yy540;
              }
       }
yy476:
       YYDEBUG(476, *YYCURSOR);
       {
              DEBUG_OUTPUT("datenoyearrev");
              TIMELIB_INIT;
              TIMELIB_HAVE_DATE();
              s->time->d = timelib_get_nr((char **) &ptr, 2);
              timelib_skip_day_suffix((char **) &ptr);
              s->time->m = timelib_get_month((char **) &ptr);
              TIMELIB_DEINIT;
              return TIMELIB_DATE_TEXT;
       }
yy477:
       YYDEBUG(477, *YYCURSOR);
       yyaccept = 10;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= '\t') {
                     if (yych <= 0x08) goto yy476;
                     goto yy532;
              } else {
                     if (yych == ' ') goto yy532;
                     goto yy476;
              }
       } else {
              if (yych <= '9') {
                     if (yych <= '.') goto yy532;
                     if (yych <= '/') goto yy476;
                     goto yy534;
              } else {
                     if (yych == 'I') goto yy565;
                     goto yy476;
              }
       }
yy478:
       YYDEBUG(478, *YYCURSOR);
       yyaccept = 10;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= ',') {
              if (yych <= '\t') {
                     if (yych <= 0x08) goto yy476;
                     goto yy532;
              } else {
                     if (yych == ' ') goto yy532;
                     goto yy476;
              }
       } else {
              if (yych <= '9') {
                     if (yych <= '.') goto yy532;
                     if (yych <= '/') goto yy476;
                     goto yy534;
              } else {
                     if (yych == 'I') goto yy564;
                     goto yy476;
              }
       }
yy479:
       YYDEBUG(479, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'U') {
              if (yych == 'A') goto yy557;
              if (yych <= 'T') goto yy57;
              goto yy556;
       } else {
              if (yych <= 'a') {
                     if (yych <= '`') goto yy57;
                     goto yy557;
              } else {
                     if (yych == 'u') goto yy556;
                     goto yy57;
              }
       }
yy480:
       YYDEBUG(480, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'T') {
              if (yych <= 'L') {
                     if (yych == '.') goto yy485;
                     goto yy57;
              } else {
                     if (yych <= 'M') goto yy486;
                     if (yych == 'P') goto yy550;
                     goto yy57;
              }
       } else {
              if (yych <= 'o') {
                     if (yych <= 'U') goto yy549;
                     if (yych == 'm') goto yy486;
                     goto yy57;
              } else {
                     if (yych <= 'p') goto yy550;
                     if (yych == 'u') goto yy549;
                     goto yy57;
              }
       }
yy481:
       YYDEBUG(481, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'C') goto yy544;
       if (yych == 'c') goto yy544;
       goto yy57;
yy482:
       YYDEBUG(482, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'O') goto yy530;
       if (yych == 'o') goto yy530;
       goto yy57;
yy483:
       YYDEBUG(483, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '5') goto yy490;
       if (yych <= '9') goto yy492;
       goto yy57;
yy484:
       YYDEBUG(484, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 'L') {
              if (yych != '.') goto yy57;
       } else {
              if (yych <= 'M') goto yy486;
              if (yych == 'm') goto yy486;
              goto yy57;
       }
yy485:
       YYDEBUG(485, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych == 'M') goto yy486;
       if (yych != 'm') goto yy57;
yy486:
       YYDEBUG(486, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= 0x1F) {
              if (yych <= 0x00) goto yy488;
              if (yych == '\t') goto yy488;
              goto yy57;
       } else {
              if (yych <= ' ') goto yy488;
              if (yych != '.') goto yy57;
       }
       YYDEBUG(487, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '\t') {
              if (yych <= 0x00) goto yy488;
              if (yych <= 0x08) goto yy57;
       } else {
              if (yych != ' ') goto yy57;
       }
yy488:
       YYDEBUG(488, *YYCURSOR);
       ++YYCURSOR;
       YYDEBUG(489, *YYCURSOR);
       {
              DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
              TIMELIB_INIT;
              TIMELIB_HAVE_TIME();
              s->time->h = timelib_get_nr((char **) &ptr, 2);
              if (*ptr == ':' || *ptr == '.') {
                     s->time->i = timelib_get_nr((char **) &ptr, 2);
                     if (*ptr == ':' || *ptr == '.') {
                            s->time->s = timelib_get_nr((char **) &ptr, 2);
                     }
              }
              s->time->h += timelib_meridian((char **) &ptr, s->time->h);
              TIMELIB_DEINIT;
              return TIMELIB_TIME12;
       }
yy490:
       YYDEBUG(490, *YYCURSOR);
       yyaccept = 11;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '/') {
              if (yych == '.') goto yy493;
       } else {
              if (yych <= '9') goto yy507;
              if (yych <= ':') goto yy493;
       }
yy491:
       YYDEBUG(491, *YYCURSOR);
       {
              int tz_not_found;
              DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
              TIMELIB_INIT;
              TIMELIB_HAVE_TIME();
              s->time->h = timelib_get_nr((char **) &ptr, 2);
              s->time->i = timelib_get_nr((char **) &ptr, 2);
              if (*ptr == ':' || *ptr == '.') {
                     s->time->s = timelib_get_nr((char **) &ptr, 2);

                     if (*ptr == '.') {
                            s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
                     }
              }

              if (*ptr != '\0') {
                     s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
                     if (tz_not_found) {
                            add_error(s, "The timezone could not be found in the database");
                     }
              }
              TIMELIB_DEINIT;
              return TIMELIB_TIME24_WITH_ZONE;
       }
yy492:
       YYDEBUG(492, *YYCURSOR);
       yyaccept = 11;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == '.') goto yy493;
       if (yych != ':') goto yy491;
yy493:
       YYDEBUG(493, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych <= '5') goto yy494;
       if (yych <= '6') goto yy495;
       if (yych <= '9') goto yy496;
       goto yy57;
yy494:
       YYDEBUG(494, *YYCURSOR);
       yyaccept = 11;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == '.') goto yy497;
       if (yych <= '/') goto yy491;
       if (yych <= '9') goto yy500;
       goto yy491;
yy495:
       YYDEBUG(495, *YYCURSOR);
       yyaccept = 11;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych == '.') goto yy497;
       if (yych == '0') goto yy500;
       goto yy491;
yy496:
       YYDEBUG(496, *YYCURSOR);
       yyaccept = 11;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych != '.') goto yy491;
yy497:
       YYDEBUG(497, *YYCURSOR);
       yych = *++YYCURSOR;
       if (yych <= '/') goto yy57;
       if (yych >= ':') goto yy57;
yy498:
       YYDEBUG(498, *YYCURSOR);
       ++YYCURSOR;
       if (YYLIMIT <= YYCURSOR) YYFILL(1);
       yych = *YYCURSOR;
       YYDEBUG(499, *YYCURSOR);
       if (yych <= '/') goto yy491;
       if (yych <= '9') goto yy498;
       goto yy491;
yy500:
       YYDEBUG(500, *YYCURSOR);
       yyaccept = 11;
       yych = *(YYMARKER = ++YYCURSOR);
       if (yych <= '@') {
              if (yych <= 0x1F) {
                     if (yych !=