Back to index

php5  5.3.10
parse_date.c
Go to the documentation of this file.
00001 /* Generated by re2c 0.13.5 on Mon Dec  5 22:02:41 2011 */
00002 /*
00003    +----------------------------------------------------------------------+
00004    | PHP Version 5                                                        |
00005    +----------------------------------------------------------------------+
00006    | Copyright (c) 1997-2010 The PHP Group                                |
00007    +----------------------------------------------------------------------+
00008    | This source file is subject to version 3.01 of the PHP license,      |
00009    | that is bundled with this package in the file LICENSE, and is        |
00010    | available through the world-wide-web at the following url:           |
00011    | http://www.php.net/license/3_01.txt                                  |
00012    | If you did not receive a copy of the PHP license and are unable to   |
00013    | obtain it through the world-wide-web, please send a note to          |
00014    | license@php.net so we can mail you a copy immediately.               |
00015    +----------------------------------------------------------------------+
00016    | Authors: Derick Rethans <derick@derickrethans.nl>                    |
00017    +----------------------------------------------------------------------+
00018  */
00019 
00020 /* $Id: parse_date.c 320481 2011-12-06 06:21:08Z derick $ */
00021 
00022 #include "timelib.h"
00023 
00024 #include <stdio.h>
00025 #include <ctype.h>
00026 #include <math.h>
00027 #include <assert.h>
00028 
00029 #ifdef HAVE_STDLIB_H
00030 #include <stdlib.h>
00031 #endif
00032 #ifdef HAVE_STRING_H
00033 #include <string.h>
00034 #else
00035 #include <strings.h>
00036 #endif
00037 
00038 #if defined(_MSC_VER)
00039 # define strtoll(s, f, b) _atoi64(s)
00040 #elif !defined(HAVE_STRTOLL)
00041 # if defined(HAVE_ATOLL)
00042 #  define strtoll(s, f, b) atoll(s)
00043 # else
00044 #  define strtoll(s, f, b) strtol(s, f, b)
00045 # endif
00046 #endif
00047 
00048 #define TIMELIB_UNSET   -99999
00049 
00050 #define TIMELIB_SECOND  1
00051 #define TIMELIB_MINUTE  2
00052 #define TIMELIB_HOUR    3
00053 #define TIMELIB_DAY     4
00054 #define TIMELIB_MONTH   5
00055 #define TIMELIB_YEAR    6
00056 #define TIMELIB_WEEKDAY 7
00057 #define TIMELIB_SPECIAL 8
00058 
00059 #define EOI      257
00060 #define TIME     258
00061 #define DATE     259
00062 
00063 #define TIMELIB_XMLRPC_SOAP    260
00064 #define TIMELIB_TIME12         261
00065 #define TIMELIB_TIME24         262
00066 #define TIMELIB_GNU_NOCOLON    263
00067 #define TIMELIB_GNU_NOCOLON_TZ 264
00068 #define TIMELIB_ISO_NOCOLON    265
00069 
00070 #define TIMELIB_AMERICAN       266
00071 #define TIMELIB_ISO_DATE       267
00072 #define TIMELIB_DATE_FULL      268
00073 #define TIMELIB_DATE_TEXT      269
00074 #define TIMELIB_DATE_NOCOLON   270
00075 #define TIMELIB_PG_YEARDAY     271
00076 #define TIMELIB_PG_TEXT        272
00077 #define TIMELIB_PG_REVERSE     273
00078 #define TIMELIB_CLF            274
00079 #define TIMELIB_DATE_NO_DAY    275
00080 #define TIMELIB_SHORTDATE_WITH_TIME 276
00081 #define TIMELIB_DATE_FULL_POINTED 277
00082 #define TIMELIB_TIME24_WITH_ZONE 278
00083 #define TIMELIB_ISO_WEEK       279
00084 #define TIMELIB_LF_DAY_OF_MONTH 280
00085 #define TIMELIB_WEEK_DAY_OF_MONTH 281
00086 
00087 #define TIMELIB_TIMEZONE       300
00088 #define TIMELIB_AGO            301
00089 
00090 #define TIMELIB_RELATIVE       310
00091 
00092 #define TIMELIB_ERROR          999
00093 
00094 /* Some compilers like AIX, defines uchar in sys/types.h */
00095 #undef uchar
00096 typedef unsigned char uchar;
00097 
00098 #define   BSIZE         8192
00099 
00100 #define   YYCTYPE      uchar
00101 #define   YYCURSOR     cursor
00102 #define   YYLIMIT      s->lim
00103 #define   YYMARKER     s->ptr
00104 #define   YYFILL(n)    return EOI;
00105 
00106 #define   RET(i)       {s->cur = cursor; return i;}
00107 
00108 #define timelib_string_free free
00109 
00110 #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; } }
00111 #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; }
00112 #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; } }
00113 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
00114 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
00115 #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
00116 #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
00117 #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++; } }
00118 
00119 #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
00120 #define TIMELIB_DEINIT timelib_string_free(str)
00121 #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
00122 
00123 #define TIMELIB_PROCESS_YEAR(x, l) { \
00124        if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
00125        /*     (x) = 0; */          \
00126        } else if ((x) < 100) {  \
00127               if ((x) < 70) {      \
00128                      (x) += 2000;     \
00129               } else {             \
00130                      (x) += 1900;     \
00131               }                    \
00132        }                        \
00133 }
00134 
00135 #ifdef DEBUG_PARSER
00136 #define DEBUG_OUTPUT(s) printf("%s\n", s);
00137 #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
00138 #else
00139 #define DEBUG_OUTPUT(s)
00140 #define YYDEBUG(s,c)
00141 #endif
00142 
00143 #include "timelib_structs.h"
00144 
00145 typedef struct timelib_elems {
00146        unsigned int   c; /* Number of elements */
00147        char         **v; /* Values */
00148 } timelib_elems;
00149 
00150 typedef struct Scanner {
00151        int           fd;
00152        uchar        *lim, *str, *ptr, *cur, *tok, *pos;
00153        unsigned int  line, len;
00154        struct timelib_error_container *errors;
00155 
00156        struct timelib_time *time;
00157        const timelib_tzdb  *tzdb;
00158 } Scanner;
00159 
00160 typedef struct _timelib_lookup_table {
00161     const char *name;
00162     int         type;
00163     int         value;
00164 } timelib_lookup_table;
00165 
00166 typedef struct _timelib_relunit {
00167        const char *name;
00168        int         unit;
00169        int         multiplier;
00170 } timelib_relunit;
00171 
00172 #define HOUR(a) (int)(a * 60)
00173 
00174 /* The timezone table. */
00175 const static timelib_tz_lookup_table timelib_timezone_lookup[] = {
00176 #include "timezonemap.h"
00177        { NULL, 0, 0, NULL },
00178 };
00179 
00180 const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
00181 #include "fallbackmap.h"
00182        { NULL, 0, 0, NULL },
00183 };
00184 
00185 const static timelib_tz_lookup_table timelib_timezone_utc[] = {
00186        { "utc", 0, 0, "UTC" },
00187 };
00188 
00189 static timelib_relunit const timelib_relunit_lookup[] = {
00190        { "sec",         TIMELIB_SECOND,  1 },
00191        { "secs",        TIMELIB_SECOND,  1 },
00192        { "second",      TIMELIB_SECOND,  1 },
00193        { "seconds",     TIMELIB_SECOND,  1 },
00194        { "min",         TIMELIB_MINUTE,  1 },
00195        { "mins",        TIMELIB_MINUTE,  1 },
00196        { "minute",      TIMELIB_MINUTE,  1 },
00197        { "minutes",     TIMELIB_MINUTE,  1 },
00198        { "hour",        TIMELIB_HOUR,    1 },
00199        { "hours",       TIMELIB_HOUR,    1 },
00200        { "day",         TIMELIB_DAY,     1 },
00201        { "days",        TIMELIB_DAY,     1 },
00202        { "week",        TIMELIB_DAY,     7 },
00203        { "weeks",       TIMELIB_DAY,     7 },
00204        { "fortnight",   TIMELIB_DAY,    14 },
00205        { "fortnights",  TIMELIB_DAY,    14 },
00206        { "forthnight",  TIMELIB_DAY,    14 },
00207        { "forthnights", TIMELIB_DAY,    14 },
00208        { "month",       TIMELIB_MONTH,   1 },
00209        { "months",      TIMELIB_MONTH,   1 },
00210        { "year",        TIMELIB_YEAR,    1 },
00211        { "years",       TIMELIB_YEAR,    1 },
00212 
00213        { "monday",      TIMELIB_WEEKDAY, 1 },
00214        { "mon",         TIMELIB_WEEKDAY, 1 },
00215        { "tuesday",     TIMELIB_WEEKDAY, 2 },
00216        { "tue",         TIMELIB_WEEKDAY, 2 },
00217        { "wednesday",   TIMELIB_WEEKDAY, 3 },
00218        { "wed",         TIMELIB_WEEKDAY, 3 },
00219        { "thursday",    TIMELIB_WEEKDAY, 4 },
00220        { "thu",         TIMELIB_WEEKDAY, 4 },
00221        { "friday",      TIMELIB_WEEKDAY, 5 },
00222        { "fri",         TIMELIB_WEEKDAY, 5 },
00223        { "saturday",    TIMELIB_WEEKDAY, 6 },
00224        { "sat",         TIMELIB_WEEKDAY, 6 },
00225        { "sunday",      TIMELIB_WEEKDAY, 0 },
00226        { "sun",         TIMELIB_WEEKDAY, 0 },
00227 
00228        { "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
00229        { "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
00230        { NULL,          0,          0 }
00231 };
00232 
00233 /* The relative text table. */
00234 static timelib_lookup_table const timelib_reltext_lookup[] = {
00235        { "first",    0,  1 },
00236        { "next",     0,  1 },
00237        { "second",   0,  2 },
00238        { "third",    0,  3 },
00239        { "fourth",   0,  4 },
00240        { "fifth",    0,  5 },
00241        { "sixth",    0,  6 },
00242        { "seventh",  0,  7 },
00243        { "eight",    0,  8 },
00244        { "eighth",   0,  8 },
00245        { "ninth",    0,  9 },
00246        { "tenth",    0, 10 },
00247        { "eleventh", 0, 11 },
00248        { "twelfth",  0, 12 },
00249        { "last",     0, -1 },
00250        { "previous", 0, -1 },
00251        { "this",     1,  0 },
00252        { NULL,       1,  0 }
00253 };
00254 
00255 /* The month table. */
00256 static timelib_lookup_table const timelib_month_lookup[] = {
00257        { "jan",  0,  1 },
00258        { "feb",  0,  2 },
00259        { "mar",  0,  3 },
00260        { "apr",  0,  4 },
00261        { "may",  0,  5 },
00262        { "jun",  0,  6 },
00263        { "jul",  0,  7 },
00264        { "aug",  0,  8 },
00265        { "sep",  0,  9 },
00266        { "sept", 0,  9 },
00267        { "oct",  0, 10 },
00268        { "nov",  0, 11 },
00269        { "dec",  0, 12 },
00270        { "i",    0,  1 },
00271        { "ii",   0,  2 },
00272        { "iii",  0,  3 },
00273        { "iv",   0,  4 },
00274        { "v",    0,  5 },
00275        { "vi",   0,  6 },
00276        { "vii",  0,  7 },
00277        { "viii", 0,  8 },
00278        { "ix",   0,  9 },
00279        { "x",    0, 10 },
00280        { "xi",   0, 11 },
00281        { "xii",  0, 12 },
00282 
00283        { "january",   0,  1 },
00284        { "february",  0,  2 },
00285        { "march",     0,  3 },
00286        { "april",     0,  4 },
00287        { "may",       0,  5 },
00288        { "june",      0,  6 },
00289        { "july",      0,  7 },
00290        { "august",    0,  8 },
00291        { "september", 0,  9 },
00292        { "october",   0, 10 },
00293        { "november",  0, 11 },
00294        { "december",  0, 12 },
00295        {  NULL,       0,  0 }
00296 };
00297 
00298 #if 0
00299 static char* timelib_ltrim(char *s)
00300 {
00301        char *ptr = s;
00302        while (ptr[0] == ' ' || ptr[0] == '\t') {
00303               ptr++;
00304        }
00305        return ptr;
00306 }
00307 #endif
00308 
00309 #if 0
00310 uchar *fill(Scanner *s, uchar *cursor){
00311        if(!s->eof){
00312               unsigned int cnt = s->tok - s->bot;
00313               if(cnt){
00314                      memcpy(s->bot, s->tok, s->lim - s->tok);
00315                      s->tok = s->bot;
00316                      s->ptr -= cnt;
00317                      cursor -= cnt;
00318                      s->pos -= cnt;
00319                      s->lim -= cnt;
00320               }
00321               if((s->top - s->lim) < BSIZE){
00322                      uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
00323                      memcpy(buf, s->tok, s->lim - s->tok);
00324                      s->tok = buf;
00325                      s->ptr = &buf[s->ptr - s->bot];
00326                      cursor = &buf[cursor - s->bot];
00327                      s->pos = &buf[s->pos - s->bot];
00328                      s->lim = &buf[s->lim - s->bot];
00329                      s->top = &s->lim[BSIZE];
00330                      free(s->bot);
00331                      s->bot = buf;
00332               }
00333               if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
00334                      s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
00335               }
00336               s->lim += cnt;
00337        }
00338        return cursor;
00339 }
00340 #endif
00341 
00342 static void add_warning(Scanner *s, char *error)
00343 {
00344        s->errors->warning_count++;
00345        s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
00346        s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0;
00347        s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0;
00348        s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
00349 }
00350 
00351 static void add_error(Scanner *s, char *error)
00352 {
00353        s->errors->error_count++;
00354        s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
00355        s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0;
00356        s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0;
00357        s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
00358 }
00359 
00360 static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr)
00361 {
00362        s->errors->warning_count++;
00363        s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
00364        s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr;
00365        s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr;
00366        s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
00367 }
00368 
00369 static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr)
00370 {
00371        s->errors->error_count++;
00372        s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
00373        s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr;
00374        s->errors->error_messages[s->errors->error_count - 1].character = *cptr;
00375        s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
00376 }
00377 
00378 static timelib_sll timelib_meridian(char **ptr, timelib_sll h)
00379 {
00380        timelib_sll retval = 0;
00381 
00382        while (!strchr("AaPp", **ptr)) {
00383               ++*ptr;
00384        }
00385        if (**ptr == 'a' || **ptr == 'A') {
00386               if (h == 12) {
00387                      retval = -12;
00388               }
00389        } else if (h != 12) {
00390               retval = 12;
00391        }
00392        ++*ptr;
00393        if (**ptr == '.') {
00394               *ptr += 3;
00395        } else {
00396               ++*ptr;
00397        }
00398        return retval;
00399 }
00400 
00401 static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h)
00402 {
00403        timelib_sll retval = 0;
00404 
00405        while (!strchr("AaPp", **ptr)) {
00406               ++*ptr;
00407        }
00408        if (**ptr == 'a' || **ptr == 'A') {
00409               if (h == 12) {
00410                      retval = -12;
00411               }
00412        } else if (h != 12) {
00413               retval = 12;
00414        }
00415        ++*ptr;
00416        if (**ptr == '.') {
00417               ++*ptr;
00418               if (**ptr != 'm' && **ptr != 'M') {
00419                      return TIMELIB_UNSET;
00420               }
00421               ++*ptr;
00422               if (**ptr != '.' ) {
00423                      return TIMELIB_UNSET;
00424               }
00425               ++*ptr;
00426        } else if (**ptr == 'm' || **ptr == 'M') {
00427               ++*ptr;
00428        } else {
00429               return TIMELIB_UNSET;
00430        }
00431        return retval;
00432 }
00433 
00434 static char *timelib_string(Scanner *s)
00435 {
00436        char *tmp = calloc(1, s->cur - s->tok + 1);
00437        memcpy(tmp, s->tok, s->cur - s->tok);
00438 
00439        return tmp;
00440 }
00441 
00442 static timelib_sll timelib_get_nr_ex(char **ptr, int max_length, int *scanned_length)
00443 {
00444        char *begin, *end, *str;
00445        timelib_sll tmp_nr = TIMELIB_UNSET;
00446        int len = 0;
00447 
00448        while ((**ptr < '0') || (**ptr > '9')) {
00449               if (**ptr == '\0') {
00450                      return TIMELIB_UNSET;
00451               }
00452               ++*ptr;
00453        }
00454        begin = *ptr;
00455        while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
00456               ++*ptr;
00457               ++len;
00458        }
00459        end = *ptr;
00460        if (scanned_length) {
00461               *scanned_length = end - begin;
00462        }
00463        str = calloc(1, end - begin + 1);
00464        memcpy(str, begin, end - begin);
00465        tmp_nr = strtoll(str, NULL, 10);
00466        free(str);
00467        return tmp_nr;
00468 }
00469 
00470 static timelib_sll timelib_get_nr(char **ptr, int max_length)
00471 {
00472        return timelib_get_nr_ex(ptr, max_length, NULL);
00473 }
00474 
00475 static void timelib_skip_day_suffix(char **ptr)
00476 {
00477        if (isspace(**ptr)) {
00478               return;
00479        }
00480        if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) {
00481               *ptr += 2;
00482        }
00483 }
00484 
00485 static double timelib_get_frac_nr(char **ptr, int max_length)
00486 {
00487        char *begin, *end, *str;
00488        double tmp_nr = TIMELIB_UNSET;
00489        int len = 0;
00490 
00491        while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
00492               if (**ptr == '\0') {
00493                      return TIMELIB_UNSET;
00494               }
00495               ++*ptr;
00496        }
00497        begin = *ptr;
00498        while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) {
00499               ++*ptr;
00500               ++len;
00501        }
00502        end = *ptr;
00503        str = calloc(1, end - begin + 1);
00504        memcpy(str, begin, end - begin);
00505        if (str[0] == ':') {
00506               str[0] = '.';
00507        }
00508        tmp_nr = strtod(str, NULL);
00509        free(str);
00510        return tmp_nr;
00511 }
00512 
00513 static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length)
00514 {
00515        timelib_ull dir = 1;
00516 
00517        while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
00518               if (**ptr == '\0') {
00519                      return TIMELIB_UNSET;
00520               }
00521               ++*ptr;
00522        }
00523 
00524        while (**ptr == '+' || **ptr == '-')
00525        {
00526               if (**ptr == '-') {
00527                      dir *= -1;
00528               }
00529               ++*ptr;
00530        }
00531        return dir * timelib_get_nr(ptr, max_length);
00532 }
00533 
00534 static long timelib_parse_tz_cor(char **ptr)
00535 {
00536        char *begin = *ptr, *end;
00537        long  tmp;
00538 
00539        while (isdigit(**ptr) || **ptr == ':') {
00540               ++*ptr;
00541        }
00542        end = *ptr;
00543        switch (end - begin) {
00544               case 1:
00545               case 2:
00546                      return HOUR(strtol(begin, NULL, 10));
00547                      break;
00548               case 3:
00549               case 4:
00550                      if (begin[1] == ':') {
00551                             tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10);
00552                             return tmp;
00553                      } else if (begin[2] == ':') {
00554                             tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10);
00555                             return tmp;
00556                      } else {
00557                             tmp = strtol(begin, NULL, 10);
00558                             return HOUR(tmp / 100) + tmp % 100;
00559                      }
00560               case 5:
00561                      tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10);
00562                      return tmp;
00563        }
00564        return 0;
00565 }
00566 
00567 static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior)
00568 {
00569        char *word;
00570        char *begin = *ptr, *end;
00571        timelib_sll  value = 0;
00572        const timelib_lookup_table *tp;
00573 
00574        while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
00575               ++*ptr;
00576        }
00577        end = *ptr;
00578        word = calloc(1, end - begin + 1);
00579        memcpy(word, begin, end - begin);
00580 
00581        for (tp = timelib_reltext_lookup; tp->name; tp++) {
00582               if (strcasecmp(word, tp->name) == 0) {
00583                      value = tp->value;
00584                      *behavior = tp->type;
00585               }
00586        }
00587 
00588        free(word);
00589        return value;
00590 }
00591 
00592 static timelib_sll timelib_get_relative_text(char **ptr, int *behavior)
00593 {
00594        while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
00595               ++*ptr;
00596        }
00597        return timelib_lookup_relative_text(ptr, behavior);
00598 }
00599 
00600 static long timelib_lookup_month(char **ptr)
00601 {
00602        char *word;
00603        char *begin = *ptr, *end;
00604        long  value = 0;
00605        const timelib_lookup_table *tp;
00606 
00607        while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
00608               ++*ptr;
00609        }
00610        end = *ptr;
00611        word = calloc(1, end - begin + 1);
00612        memcpy(word, begin, end - begin);
00613 
00614        for (tp = timelib_month_lookup; tp->name; tp++) {
00615               if (strcasecmp(word, tp->name) == 0) {
00616                      value = tp->value;
00617               }
00618        }
00619 
00620        free(word);
00621        return value;
00622 }
00623 
00624 static long timelib_get_month(char **ptr)
00625 {
00626        while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
00627               ++*ptr;
00628        }
00629        return timelib_lookup_month(ptr);
00630 }
00631 
00632 static void timelib_eat_spaces(char **ptr)
00633 {
00634        while (**ptr == ' ' || **ptr == '\t') {
00635               ++*ptr;
00636        }
00637 }
00638 
00639 static void timelib_eat_until_separator(char **ptr)
00640 {
00641        ++*ptr;
00642        while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
00643               ++*ptr;
00644        }
00645 }
00646 
00647 static const timelib_relunit* timelib_lookup_relunit(char **ptr)
00648 {
00649        char *word;
00650        char *begin = *ptr, *end;
00651        const timelib_relunit *tp, *value = NULL;
00652 
00653        while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t') {
00654               ++*ptr;
00655        }
00656        end = *ptr;
00657        word = calloc(1, end - begin + 1);
00658        memcpy(word, begin, end - begin);
00659 
00660        for (tp = timelib_relunit_lookup; tp->name; tp++) {
00661               if (strcasecmp(word, tp->name) == 0) {
00662                      value = tp;
00663                      break;
00664               }
00665        }
00666 
00667        free(word);
00668        return value;
00669 }
00670 
00671 static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s)
00672 {
00673        const timelib_relunit* relunit;
00674 
00675        if (!(relunit = timelib_lookup_relunit(ptr))) {
00676               return;
00677        }
00678 
00679        switch (relunit->unit) {
00680               case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break;
00681               case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break;
00682               case TIMELIB_HOUR:   s->time->relative.h += amount * relunit->multiplier; break;
00683               case TIMELIB_DAY:    s->time->relative.d += amount * relunit->multiplier; break;
00684               case TIMELIB_MONTH:  s->time->relative.m += amount * relunit->multiplier; break;
00685               case TIMELIB_YEAR:   s->time->relative.y += amount * relunit->multiplier; break;
00686 
00687               case TIMELIB_WEEKDAY:
00688                      TIMELIB_HAVE_WEEKDAY_RELATIVE();
00689                      TIMELIB_UNHAVE_TIME();
00690                      s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
00691                      s->time->relative.weekday = relunit->multiplier;
00692                      s->time->relative.weekday_behavior = behavior;
00693                      break;
00694 
00695               case TIMELIB_SPECIAL:
00696                      TIMELIB_HAVE_SPECIAL_RELATIVE();
00697                      TIMELIB_UNHAVE_TIME();
00698                      s->time->relative.special.type = relunit->multiplier;
00699                      s->time->relative.special.amount = amount;
00700        }
00701 }
00702 
00703 const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst)
00704 {
00705        int first_found = 0;
00706        const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
00707        const timelib_tz_lookup_table  *fmp;
00708 
00709        if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) {
00710               return timelib_timezone_utc;
00711        }
00712        
00713        for (tp = timelib_timezone_lookup; tp->name; tp++) {
00714               if (strcasecmp(word, tp->name) == 0) {
00715                      if (!first_found) {
00716                             first_found = 1;
00717                             first_found_elem = tp;
00718                             if (gmtoffset == -1) {
00719                                    return tp;
00720                             }
00721                      }
00722                      if (tp->gmtoffset == gmtoffset) {
00723                             return tp;
00724                      }
00725               }
00726        }
00727        if (first_found) {
00728               return first_found_elem;
00729        }
00730 
00731        for (tp = timelib_timezone_lookup; tp->name; tp++) {
00732               if (tp->full_tz_name && strcasecmp(word, tp->full_tz_name) == 0) {
00733                      if (!first_found) {
00734                             first_found = 1;
00735                             first_found_elem = tp;
00736                             if (gmtoffset == -1) {
00737                                    return tp;
00738                             }
00739                      }
00740                      if (tp->gmtoffset == gmtoffset) {
00741                             return tp;
00742                      }
00743               }
00744        }
00745        if (first_found) {
00746               return first_found_elem;
00747        }
00748 
00749 
00750        /* Still didn't find anything, let's find the zone solely based on
00751         * offset/isdst then */
00752        for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
00753               if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) {
00754                      return fmp;
00755               }
00756        }
00757        return NULL;
00758 }
00759 
00760 static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found)
00761 {
00762        char *word;
00763        char *begin = *ptr, *end;
00764        long  value = 0;
00765        const timelib_tz_lookup_table *tp;
00766 
00767        while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') {
00768               ++*ptr;
00769        }
00770        end = *ptr;
00771        word = calloc(1, end - begin + 1);
00772        memcpy(word, begin, end - begin);
00773 
00774        if ((tp = zone_search(word, -1, 0))) {
00775               value = -tp->gmtoffset / 60;
00776               *dst = tp->type;
00777               value += tp->type * 60;
00778               *found = 1;
00779        } else {
00780               *found = 0;
00781        }
00782 
00783        *tz_abbr = word;
00784        return value;
00785 }
00786 
00787 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)
00788 {
00789        timelib_tzinfo *res;
00790        long            retval = 0;
00791 
00792        *tz_not_found = 0;
00793 
00794        while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
00795               ++*ptr;
00796        }
00797        if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
00798               *ptr += 3;
00799        }
00800        if (**ptr == '+') {
00801               ++*ptr;
00802               t->is_localtime = 1;
00803               t->zone_type = TIMELIB_ZONETYPE_OFFSET;
00804               *tz_not_found = 0;
00805               t->dst = 0;
00806 
00807               retval = -1 * timelib_parse_tz_cor(ptr);
00808        } else if (**ptr == '-') {
00809               ++*ptr;
00810               t->is_localtime = 1;
00811               t->zone_type = TIMELIB_ZONETYPE_OFFSET;
00812               *tz_not_found = 0;
00813               t->dst = 0;
00814 
00815               retval = timelib_parse_tz_cor(ptr);
00816        } else {
00817               int found = 0;
00818               long offset;
00819               char *tz_abbr;
00820 
00821               t->is_localtime = 1;
00822 
00823               offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found);
00824               if (found) {
00825                      t->zone_type = TIMELIB_ZONETYPE_ABBR;
00826               }
00827 #if 0
00828               /* If we found a TimeZone identifier, use it */
00829               if (tz_name) {
00830                      t->tz_info = timelib_parse_tzfile(tz_name);
00831                      t->zone_type = TIMELIB_ZONETYPE_ID;
00832               }
00833 #endif
00834               /* If we have a TimeZone identifier to start with, use it */
00835               if (strstr(tz_abbr, "/") || strcmp(tz_abbr, "UTC") == 0) {
00836                      if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) {
00837                             t->tz_info = res;
00838                             t->zone_type = TIMELIB_ZONETYPE_ID;
00839                             found++;
00840                      }
00841               }
00842               if (found && t->zone_type != TIMELIB_ZONETYPE_ID) {
00843                      timelib_time_tz_abbr_update(t, tz_abbr);
00844               }
00845               free(tz_abbr);
00846               *tz_not_found = (found == 0);
00847               retval = offset;
00848        }
00849        while (**ptr == ')') {
00850               ++*ptr;
00851        }
00852        return retval;
00853 }
00854 
00855 #define timelib_split_free(arg) {       \
00856        int i;                         \
00857        for (i = 0; i < arg.c; i++) {  \
00858               free(arg.v[i]);            \
00859        }                              \
00860        if (arg.v) {                   \
00861               free(arg.v);               \
00862        }                              \
00863 }
00864 
00865 static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
00866 {
00867        uchar *cursor = s->cur;
00868        char *str, *ptr = NULL;
00869               
00870 std:
00871        s->tok = cursor;
00872        s->len = 0;
00873 
00874 
00875 
00876 {
00877        YYCTYPE yych;
00878        unsigned int yyaccept = 0;
00879        static const unsigned char yybm[] = {
00880                 0,   0,   0,   0,   0,   0,   0,   0, 
00881                 0, 100,   0,   0,   0,   0,   0,   0, 
00882                 0,   0,   0,   0,   0,   0,   0,   0, 
00883                 0,   0,   0,   0,   0,   0,   0,   0, 
00884               100,   0,   0,   0,   0,   0,   0,   0, 
00885                 0,   0,   0, 128,  64, 160,  96,   0, 
00886                 2,   2,   2,   2,   2,   2,   2,   2, 
00887                 2,   2,   0,   0,   0,   0,   0,   0, 
00888                 0,   8,   8,   8,   8,   8,   8,   8, 
00889                 8,   8,   8,   8,   8,   8,   8,   8, 
00890                 8,   8,   8,   8,   8,   8,   8,   8, 
00891                 8,   8,   8,   0,   0,   0,   0,   0, 
00892                 0,  24,  24,  24,  88,  24,  24,  24, 
00893                88,  24,  24,  24,  24,  24,  88,  24, 
00894                24,  24,  88,  88,  88,  24,  24,  24, 
00895                24,  24,  24,   0,   0,   0,   0,   0, 
00896                 0,   0,   0,   0,   0,   0,   0,   0, 
00897                 0,   0,   0,   0,   0,   0,   0,   0, 
00898                 0,   0,   0,   0,   0,   0,   0,   0, 
00899                 0,   0,   0,   0,   0,   0,   0,   0, 
00900                 0,   0,   0,   0,   0,   0,   0,   0, 
00901                 0,   0,   0,   0,   0,   0,   0,   0, 
00902                 0,   0,   0,   0,   0,   0,   0,   0, 
00903                 0,   0,   0,   0,   0,   0,   0,   0, 
00904                 0,   0,   0,   0,   0,   0,   0,   0, 
00905                 0,   0,   0,   0,   0,   0,   0,   0, 
00906                 0,   0,   0,   0,   0,   0,   0,   0, 
00907                 0,   0,   0,   0,   0,   0,   0,   0, 
00908                 0,   0,   0,   0,   0,   0,   0,   0, 
00909                 0,   0,   0,   0,   0,   0,   0,   0, 
00910                 0,   0,   0,   0,   0,   0,   0,   0, 
00911                 0,   0,   0,   0,   0,   0,   0,   0, 
00912        };
00913 
00914        YYDEBUG(0, *YYCURSOR);
00915        if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
00916        yych = *YYCURSOR;
00917        YYDEBUG(-1, yych);
00918        switch (yych) {
00919        case 0x00:
00920        case '\n':    goto yy52;
00921        case '\t':
00922        case ' ':     goto yy49;
00923        case '(':     goto yy46;
00924        case '+':
00925        case '-':     goto yy31;
00926        case ',':
00927        case '.':     goto yy51;
00928        case '0':     goto yy26;
00929        case '1':     goto yy27;
00930        case '2':     goto yy28;
00931        case '3':     goto yy29;
00932        case '4':
00933        case '5':
00934        case '6':
00935        case '7':
00936        case '8':
00937        case '9':     goto yy30;
00938        case '@':     goto yy12;
00939        case 'A':     goto yy37;
00940        case 'B':     goto yy18;
00941        case 'C':
00942        case 'H':
00943        case 'K':
00944        case 'Q':
00945        case 'R':
00946        case 'U':
00947        case 'Z':     goto yy47;
00948        case 'D':     goto yy41;
00949        case 'E':     goto yy22;
00950        case 'F':     goto yy14;
00951        case 'G':     goto yy45;
00952        case 'I':     goto yy32;
00953        case 'J':     goto yy35;
00954        case 'L':     goto yy16;
00955        case 'M':     goto yy8;
00956        case 'N':     goto yy6;
00957        case 'O':     goto yy39;
00958        case 'P':     goto yy24;
00959        case 'S':     goto yy20;
00960        case 'T':     goto yy10;
00961        case 'V':     goto yy33;
00962        case 'W':     goto yy43;
00963        case 'X':     goto yy34;
00964        case 'Y':     goto yy3;
00965        case 'a':     goto yy38;
00966        case 'b':     goto yy19;
00967        case 'c':
00968        case 'g':
00969        case 'h':
00970        case 'i':
00971        case 'k':
00972        case 'q':
00973        case 'r':
00974        case 'u':
00975        case 'v':
00976        case 'x':
00977        case 'z':     goto yy48;
00978        case 'd':     goto yy42;
00979        case 'e':     goto yy23;
00980        case 'f':     goto yy15;
00981        case 'j':     goto yy36;
00982        case 'l':     goto yy17;
00983        case 'm':     goto yy9;
00984        case 'n':     goto yy7;
00985        case 'o':     goto yy40;
00986        case 'p':     goto yy25;
00987        case 's':     goto yy21;
00988        case 't':     goto yy11;
00989        case 'w':     goto yy44;
00990        case 'y':     goto yy5;
00991        default:      goto yy54;
00992        }
00993 yy2:
00994        YYDEBUG(2, *YYCURSOR);
00995        {
00996               DEBUG_OUTPUT("firstdayof | lastdayof");
00997               TIMELIB_INIT;
00998               TIMELIB_HAVE_RELATIVE();
00999 
01000               /* skip "last day of" or "first day of" */
01001               if (*ptr == 'l') {
01002                      s->time->relative.first_last_day_of = 2;
01003               } else {
01004                      s->time->relative.first_last_day_of = 1;
01005               }
01006 
01007               TIMELIB_DEINIT;
01008               return TIMELIB_LF_DAY_OF_MONTH;
01009        }
01010 yy3:
01011        YYDEBUG(3, *YYCURSOR);
01012        ++YYCURSOR;
01013        if ((yych = *YYCURSOR) <= 'E') {
01014               if (yych <= ')') {
01015                      if (yych >= ')') goto yy140;
01016               } else {
01017                      if (yych <= '@') goto yy4;
01018                      if (yych <= 'D') goto yy141;
01019                      goto yy1523;
01020               }
01021        } else {
01022               if (yych <= 'd') {
01023                      if (yych <= 'Z') goto yy141;
01024                      if (yych >= 'a') goto yy146;
01025               } else {
01026                      if (yych <= 'e') goto yy1532;
01027                      if (yych <= 'z') goto yy146;
01028               }
01029        }
01030 yy4:
01031        YYDEBUG(4, *YYCURSOR);
01032        {
01033               int tz_not_found;
01034               DEBUG_OUTPUT("tzcorrection | tz");
01035               TIMELIB_INIT;
01036               TIMELIB_HAVE_TZ();
01037               s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
01038               if (tz_not_found) {
01039                      add_error(s, "The timezone could not be found in the database");
01040               }
01041               TIMELIB_DEINIT;
01042               return TIMELIB_TIMEZONE;
01043        }
01044 yy5:
01045        YYDEBUG(5, *YYCURSOR);
01046        yych = *++YYCURSOR;
01047        if (yych <= 'E') {
01048               if (yych <= ')') {
01049                      if (yych <= '(') goto yy4;
01050                      goto yy140;
01051               } else {
01052                      if (yych <= '@') goto yy4;
01053                      if (yych <= 'D') goto yy141;
01054                      goto yy1523;
01055               }
01056        } else {
01057               if (yych <= 'd') {
01058                      if (yych <= 'Z') goto yy141;
01059                      if (yych <= '`') goto yy4;
01060                      goto yy141;
01061               } else {
01062                      if (yych <= 'e') goto yy1523;
01063                      if (yych <= 'z') goto yy141;
01064                      goto yy4;
01065               }
01066        }
01067 yy6:
01068        YYDEBUG(6, *YYCURSOR);
01069        yych = *++YYCURSOR;
01070        if (yych <= 'O') {
01071               if (yych <= 'D') {
01072                      if (yych == ')') goto yy140;
01073                      if (yych <= '@') goto yy4;
01074                      goto yy141;
01075               } else {
01076                      if (yych <= 'H') {
01077                             if (yych <= 'E') goto yy1494;
01078                             goto yy141;
01079                      } else {
01080                             if (yych <= 'I') goto yy1495;
01081                             if (yych <= 'N') goto yy141;
01082                             goto yy1493;
01083                      }
01084               }
01085        } else {
01086               if (yych <= 'h') {
01087                      if (yych <= '`') {
01088                             if (yych <= 'Z') goto yy141;
01089                             goto yy4;
01090                      } else {
01091                             if (yych == 'e') goto yy1510;
01092                             goto yy146;
01093                      }
01094               } else {
01095                      if (yych <= 'n') {
01096                             if (yych <= 'i') goto yy1511;
01097                             goto yy146;
01098                      } else {
01099                             if (yych <= 'o') goto yy1509;
01100                             if (yych <= 'z') goto yy146;
01101                             goto yy4;
01102                      }
01103               }
01104        }
01105 yy7:
01106        YYDEBUG(7, *YYCURSOR);
01107        yych = *++YYCURSOR;
01108        if (yych <= 'O') {
01109               if (yych <= 'D') {
01110                      if (yych == ')') goto yy140;
01111                      if (yych <= '@') goto yy4;
01112                      goto yy141;
01113               } else {
01114                      if (yych <= 'H') {
01115                             if (yych <= 'E') goto yy1494;
01116                             goto yy141;
01117                      } else {
01118                             if (yych <= 'I') goto yy1495;
01119                             if (yych <= 'N') goto yy141;
01120                             goto yy1493;
01121                      }
01122               }
01123        } else {
01124               if (yych <= 'h') {
01125                      if (yych <= '`') {
01126                             if (yych <= 'Z') goto yy141;
01127                             goto yy4;
01128                      } else {
01129                             if (yych == 'e') goto yy1494;
01130                             goto yy141;
01131                      }
01132               } else {
01133                      if (yych <= 'n') {
01134                             if (yych <= 'i') goto yy1495;
01135                             goto yy141;
01136                      } else {
01137                             if (yych <= 'o') goto yy1493;
01138                             if (yych <= 'z') goto yy141;
01139                             goto yy4;
01140                      }
01141               }
01142        }
01143 yy8:
01144        YYDEBUG(8, *YYCURSOR);
01145        yych = *++YYCURSOR;
01146        if (yych <= 'O') {
01147               if (yych <= 'A') {
01148                      if (yych == ')') goto yy140;
01149                      if (yych <= '@') goto yy4;
01150                      goto yy1463;
01151               } else {
01152                      if (yych == 'I') goto yy1464;
01153                      if (yych <= 'N') goto yy141;
01154                      goto yy1465;
01155               }
01156        } else {
01157               if (yych <= 'h') {
01158                      if (yych <= 'Z') goto yy141;
01159                      if (yych <= '`') goto yy4;
01160                      if (yych <= 'a') goto yy1478;
01161                      goto yy146;
01162               } else {
01163                      if (yych <= 'n') {
01164                             if (yych <= 'i') goto yy1479;
01165                             goto yy146;
01166                      } else {
01167                             if (yych <= 'o') goto yy1480;
01168                             if (yych <= 'z') goto yy146;
01169                             goto yy4;
01170                      }
01171               }
01172        }
01173 yy9:
01174        YYDEBUG(9, *YYCURSOR);
01175        yych = *++YYCURSOR;
01176        if (yych <= 'O') {
01177               if (yych <= 'A') {
01178                      if (yych == ')') goto yy140;
01179                      if (yych <= '@') goto yy4;
01180                      goto yy1463;
01181               } else {
01182                      if (yych == 'I') goto yy1464;
01183                      if (yych <= 'N') goto yy141;
01184                      goto yy1465;
01185               }
01186        } else {
01187               if (yych <= 'h') {
01188                      if (yych <= 'Z') goto yy141;
01189                      if (yych <= '`') goto yy4;
01190                      if (yych <= 'a') goto yy1463;
01191                      goto yy141;
01192               } else {
01193                      if (yych <= 'n') {
01194                             if (yych <= 'i') goto yy1464;
01195                             goto yy141;
01196                      } else {
01197                             if (yych <= 'o') goto yy1465;
01198                             if (yych <= 'z') goto yy141;
01199                             goto yy4;
01200                      }
01201               }
01202        }
01203 yy10:
01204        YYDEBUG(10, *YYCURSOR);
01205        yyaccept = 0;
01206        yych = *(YYMARKER = ++YYCURSOR);
01207        YYDEBUG(-1, yych);
01208        switch (yych) {
01209        case ')':     goto yy140;
01210        case '0':
01211        case '1':     goto yy1393;
01212        case '2':     goto yy1394;
01213        case '3':
01214        case '4':
01215        case '5':
01216        case '6':
01217        case '7':
01218        case '8':
01219        case '9':     goto yy1395;
01220        case 'A':
01221        case 'B':
01222        case 'C':
01223        case 'D':
01224        case 'F':
01225        case 'G':
01226        case 'I':
01227        case 'J':
01228        case 'K':
01229        case 'L':
01230        case 'M':
01231        case 'N':
01232        case 'P':
01233        case 'Q':
01234        case 'R':
01235        case 'S':
01236        case 'T':
01237        case 'V':
01238        case 'X':
01239        case 'Y':
01240        case 'Z':     goto yy141;
01241        case 'E':     goto yy1388;
01242        case 'H':     goto yy1389;
01243        case 'O':     goto yy1390;
01244        case 'U':     goto yy1391;
01245        case 'W':     goto yy1392;
01246        case 'a':
01247        case 'b':
01248        case 'c':
01249        case 'd':
01250        case 'f':
01251        case 'g':
01252        case 'i':
01253        case 'j':
01254        case 'k':
01255        case 'l':
01256        case 'm':
01257        case 'n':
01258        case 'p':
01259        case 'q':
01260        case 'r':
01261        case 's':
01262        case 't':
01263        case 'v':
01264        case 'x':
01265        case 'y':
01266        case 'z':     goto yy146;
01267        case 'e':     goto yy1431;
01268        case 'h':     goto yy1432;
01269        case 'o':     goto yy1433;
01270        case 'u':     goto yy1434;
01271        case 'w':     goto yy1435;
01272        default:      goto yy4;
01273        }
01274 yy11:
01275        YYDEBUG(11, *YYCURSOR);
01276        yyaccept = 0;
01277        yych = *(YYMARKER = ++YYCURSOR);
01278        YYDEBUG(-1, yych);
01279        switch (yych) {
01280        case ')':     goto yy140;
01281        case '0':
01282        case '1':     goto yy1393;
01283        case '2':     goto yy1394;
01284        case '3':
01285        case '4':
01286        case '5':
01287        case '6':
01288        case '7':
01289        case '8':
01290        case '9':     goto yy1395;
01291        case 'A':
01292        case 'B':
01293        case 'C':
01294        case 'D':
01295        case 'F':
01296        case 'G':
01297        case 'I':
01298        case 'J':
01299        case 'K':
01300        case 'L':
01301        case 'M':
01302        case 'N':
01303        case 'P':
01304        case 'Q':
01305        case 'R':
01306        case 'S':
01307        case 'T':
01308        case 'V':
01309        case 'X':
01310        case 'Y':
01311        case 'Z':
01312        case 'a':
01313        case 'b':
01314        case 'c':
01315        case 'd':
01316        case 'f':
01317        case 'g':
01318        case 'i':
01319        case 'j':
01320        case 'k':
01321        case 'l':
01322        case 'm':
01323        case 'n':
01324        case 'p':
01325        case 'q':
01326        case 'r':
01327        case 's':
01328        case 't':
01329        case 'v':
01330        case 'x':
01331        case 'y':
01332        case 'z':     goto yy141;
01333        case 'E':
01334        case 'e':     goto yy1388;
01335        case 'H':
01336        case 'h':     goto yy1389;
01337        case 'O':
01338        case 'o':     goto yy1390;
01339        case 'U':
01340        case 'u':     goto yy1391;
01341        case 'W':
01342        case 'w':     goto yy1392;
01343        default:      goto yy4;
01344        }
01345 yy12:
01346        YYDEBUG(12, *YYCURSOR);
01347        yyaccept = 1;
01348        yych = *(YYMARKER = ++YYCURSOR);
01349        if (yych == '-') goto yy1384;
01350        if (yych <= '/') goto yy13;
01351        if (yych <= '9') goto yy1385;
01352 yy13:
01353        YYDEBUG(13, *YYCURSOR);
01354        {
01355               add_error(s, "Unexpected character");
01356               goto std;
01357        }
01358 yy14:
01359        YYDEBUG(14, *YYCURSOR);
01360        yych = *++YYCURSOR;
01361        if (yych <= 'R') {
01362               if (yych <= 'E') {
01363                      if (yych <= ')') {
01364                             if (yych <= '(') goto yy4;
01365                             goto yy140;
01366                      } else {
01367                             if (yych <= '@') goto yy4;
01368                             if (yych <= 'D') goto yy141;
01369                             goto yy1320;
01370                      }
01371               } else {
01372                      if (yych <= 'N') {
01373                             if (yych == 'I') goto yy1321;
01374                             goto yy141;
01375                      } else {
01376                             if (yych <= 'O') goto yy1322;
01377                             if (yych <= 'Q') goto yy141;
01378                             goto yy1323;
01379                      }
01380               }
01381        } else {
01382               if (yych <= 'i') {
01383                      if (yych <= 'd') {
01384                             if (yych <= 'Z') goto yy141;
01385                             if (yych <= '`') goto yy4;
01386                             goto yy146;
01387                      } else {
01388                             if (yych <= 'e') goto yy1361;
01389                             if (yych <= 'h') goto yy146;
01390                             goto yy1362;
01391                      }
01392               } else {
01393                      if (yych <= 'q') {
01394                             if (yych == 'o') goto yy1363;
01395                             goto yy146;
01396                      } else {
01397                             if (yych <= 'r') goto yy1364;
01398                             if (yych <= 'z') goto yy146;
01399                             goto yy4;
01400                      }
01401               }
01402        }
01403 yy15:
01404        YYDEBUG(15, *YYCURSOR);
01405        yych = *++YYCURSOR;
01406        if (yych <= 'R') {
01407               if (yych <= 'E') {
01408                      if (yych <= ')') {
01409                             if (yych <= '(') goto yy4;
01410                             goto yy140;
01411                      } else {
01412                             if (yych <= '@') goto yy4;
01413                             if (yych <= 'D') goto yy141;
01414                             goto yy1320;
01415                      }
01416               } else {
01417                      if (yych <= 'N') {
01418                             if (yych == 'I') goto yy1321;
01419                             goto yy141;
01420                      } else {
01421                             if (yych <= 'O') goto yy1322;
01422                             if (yych <= 'Q') goto yy141;
01423                             goto yy1323;
01424                      }
01425               }
01426        } else {
01427               if (yych <= 'i') {
01428                      if (yych <= 'd') {
01429                             if (yych <= 'Z') goto yy141;
01430                             if (yych <= '`') goto yy4;
01431                             goto yy141;
01432                      } else {
01433                             if (yych <= 'e') goto yy1320;
01434                             if (yych <= 'h') goto yy141;
01435                             goto yy1321;
01436                      }
01437               } else {
01438                      if (yych <= 'q') {
01439                             if (yych == 'o') goto yy1322;
01440                             goto yy141;
01441                      } else {
01442                             if (yych <= 'r') goto yy1323;
01443                             if (yych <= 'z') goto yy141;
01444                             goto yy4;
01445                      }
01446               }
01447        }
01448 yy16:
01449        YYDEBUG(16, *YYCURSOR);
01450        yych = *++YYCURSOR;
01451        if (yych <= 'A') {
01452               if (yych == ')') goto yy140;
01453               if (yych <= '@') goto yy4;
01454               goto yy1307;
01455        } else {
01456               if (yych <= '`') {
01457                      if (yych <= 'Z') goto yy141;
01458                      goto yy4;
01459               } else {
01460                      if (yych <= 'a') goto yy1317;
01461                      if (yych <= 'z') goto yy146;
01462                      goto yy4;
01463               }
01464        }
01465 yy17:
01466        YYDEBUG(17, *YYCURSOR);
01467        yych = *++YYCURSOR;
01468        if (yych <= 'A') {
01469               if (yych == ')') goto yy140;
01470               if (yych <= '@') goto yy4;
01471               goto yy1307;
01472        } else {
01473               if (yych <= '`') {
01474                      if (yych <= 'Z') goto yy141;
01475                      goto yy4;
01476               } else {
01477                      if (yych <= 'a') goto yy1307;
01478                      if (yych <= 'z') goto yy141;
01479                      goto yy4;
01480               }
01481        }
01482 yy18:
01483        YYDEBUG(18, *YYCURSOR);
01484        yych = *++YYCURSOR;
01485        if (yych <= 'A') {
01486               if (yych == ')') goto yy140;
01487               if (yych <= '@') goto yy4;
01488               goto yy1287;
01489        } else {
01490               if (yych <= '`') {
01491                      if (yych <= 'Z') goto yy141;
01492                      goto yy4;
01493               } else {
01494                      if (yych <= 'a') goto yy1304;
01495                      if (yych <= 'z') goto yy146;
01496                      goto yy4;
01497               }
01498        }
01499 yy19:
01500        YYDEBUG(19, *YYCURSOR);
01501        yych = *++YYCURSOR;
01502        if (yych <= 'A') {
01503               if (yych == ')') goto yy140;
01504               if (yych <= '@') goto yy4;
01505               goto yy1287;
01506        } else {
01507               if (yych <= '`') {
01508                      if (yych <= 'Z') goto yy141;
01509                      goto yy4;
01510               } else {
01511                      if (yych <= 'a') goto yy1287;
01512                      if (yych <= 'z') goto yy141;
01513                      goto yy4;
01514               }
01515        }
01516 yy20:
01517        YYDEBUG(20, *YYCURSOR);
01518        yych = *++YYCURSOR;
01519        if (yych <= 'U') {
01520               if (yych <= 'D') {
01521                      if (yych <= ')') {
01522                             if (yych <= '(') goto yy4;
01523                             goto yy140;
01524                      } else {
01525                             if (yych <= '@') goto yy4;
01526                             if (yych <= 'A') goto yy1230;
01527                             goto yy141;
01528                      }
01529               } else {
01530                      if (yych <= 'H') {
01531                             if (yych <= 'E') goto yy1229;
01532                             goto yy141;
01533                      } else {
01534                             if (yych <= 'I') goto yy1231;
01535                             if (yych <= 'T') goto yy141;
01536                             goto yy1232;
01537                      }
01538               }
01539        } else {
01540               if (yych <= 'e') {
01541                      if (yych <= '`') {
01542                             if (yych <= 'Z') goto yy141;
01543                             goto yy4;
01544                      } else {
01545                             if (yych <= 'a') goto yy1259;
01546                             if (yych <= 'd') goto yy146;
01547                             goto yy1258;
01548                      }
01549               } else {
01550                      if (yych <= 't') {
01551                             if (yych == 'i') goto yy1260;
01552                             goto yy146;
01553                      } else {
01554                             if (yych <= 'u') goto yy1261;
01555                             if (yych <= 'z') goto yy146;
01556                             goto yy4;
01557                      }
01558               }
01559        }
01560 yy21:
01561        YYDEBUG(21, *YYCURSOR);
01562        yych = *++YYCURSOR;
01563        if (yych <= 'U') {
01564               if (yych <= 'D') {
01565                      if (yych <= ')') {
01566                             if (yych <= '(') goto yy4;
01567                             goto yy140;
01568                      } else {
01569                             if (yych <= '@') goto yy4;
01570                             if (yych <= 'A') goto yy1230;
01571                             goto yy141;
01572                      }
01573               } else {
01574                      if (yych <= 'H') {
01575                             if (yych <= 'E') goto yy1229;
01576                             goto yy141;
01577                      } else {
01578                             if (yych <= 'I') goto yy1231;
01579                             if (yych <= 'T') goto yy141;
01580                             goto yy1232;
01581                      }
01582               }
01583        } else {
01584               if (yych <= 'e') {
01585                      if (yych <= '`') {
01586                             if (yych <= 'Z') goto yy141;
01587                             goto yy4;
01588                      } else {
01589                             if (yych <= 'a') goto yy1230;
01590                             if (yych <= 'd') goto yy141;
01591                             goto yy1229;
01592                      }
01593               } else {
01594                      if (yych <= 't') {
01595                             if (yych == 'i') goto yy1231;
01596                             goto yy141;
01597                      } else {
01598                             if (yych <= 'u') goto yy1232;
01599                             if (yych <= 'z') goto yy141;
01600                             goto yy4;
01601                      }
01602               }
01603        }
01604 yy22:
01605        YYDEBUG(22, *YYCURSOR);
01606        yych = *++YYCURSOR;
01607        if (yych <= 'L') {
01608               if (yych <= '@') {
01609                      if (yych == ')') goto yy140;
01610                      goto yy4;
01611               } else {
01612                      if (yych == 'I') goto yy1199;
01613                      if (yych <= 'K') goto yy141;
01614                      goto yy1200;
01615               }
01616        } else {
01617               if (yych <= 'i') {
01618                      if (yych <= 'Z') goto yy141;
01619                      if (yych <= '`') goto yy4;
01620                      if (yych <= 'h') goto yy146;
01621                      goto yy1217;
01622               } else {
01623                      if (yych == 'l') goto yy1218;
01624                      if (yych <= 'z') goto yy146;
01625                      goto yy4;
01626               }
01627        }
01628 yy23:
01629        YYDEBUG(23, *YYCURSOR);
01630        yych = *++YYCURSOR;
01631        if (yych <= 'L') {
01632               if (yych <= '@') {
01633                      if (yych == ')') goto yy140;
01634                      goto yy4;
01635               } else {
01636                      if (yych == 'I') goto yy1199;
01637                      if (yych <= 'K') goto yy141;
01638                      goto yy1200;
01639               }
01640        } else {
01641               if (yych <= 'i') {
01642                      if (yych <= 'Z') goto yy141;
01643                      if (yych <= '`') goto yy4;
01644                      if (yych <= 'h') goto yy141;
01645                      goto yy1199;
01646               } else {
01647                      if (yych == 'l') goto yy1200;
01648                      if (yych <= 'z') goto yy141;
01649                      goto yy4;
01650               }
01651        }
01652 yy24:
01653        YYDEBUG(24, *YYCURSOR);
01654        yych = *++YYCURSOR;
01655        if (yych <= 'R') {
01656               if (yych <= ')') {
01657                      if (yych <= '(') goto yy4;
01658                      goto yy140;
01659               } else {
01660                      if (yych <= '@') goto yy4;
01661                      if (yych <= 'Q') goto yy141;
01662                      goto yy1098;
01663               }
01664        } else {
01665               if (yych <= 'q') {
01666                      if (yych <= 'Z') goto yy141;
01667                      if (yych <= '`') goto yy4;
01668                      goto yy146;
01669               } else {
01670                      if (yych <= 'r') goto yy1192;
01671                      if (yych <= 'z') goto yy146;
01672                      goto yy4;
01673               }
01674        }
01675 yy25:
01676        YYDEBUG(25, *YYCURSOR);
01677        yych = *++YYCURSOR;
01678        if (yych <= 'R') {
01679               if (yych <= ')') {
01680                      if (yych <= '(') goto yy4;
01681                      goto yy140;
01682               } else {
01683                      if (yych <= '@') goto yy4;
01684                      if (yych <= 'Q') goto yy141;
01685                      goto yy1098;
01686               }
01687        } else {
01688               if (yych <= 'q') {
01689                      if (yych <= 'Z') goto yy141;
01690                      if (yych <= '`') goto yy4;
01691                      goto yy141;
01692               } else {
01693                      if (yych <= 'r') goto yy1098;
01694                      if (yych <= 'z') goto yy141;
01695                      goto yy4;
01696               }
01697        }
01698 yy26:
01699        YYDEBUG(26, *YYCURSOR);
01700        yyaccept = 1;
01701        yych = *(YYMARKER = ++YYCURSOR);
01702        YYDEBUG(-1, yych);
01703        switch (yych) {
01704        case '\t':    goto yy1052;
01705        case ' ':
01706        case 'A':
01707        case 'D':
01708        case 'F':
01709        case 'H':
01710        case 'I':
01711        case 'J':
01712        case 'M':
01713        case 'N':
01714        case 'O':
01715        case 'S':
01716        case 'T':
01717        case 'V':
01718        case 'W':
01719        case 'X':
01720        case 'Y':
01721        case 'a':
01722        case 'd':
01723        case 'f':
01724        case 'h':
01725        case 'j':
01726        case 'm':
01727        case 'o':
01728        case 'w':
01729        case 'y':     goto yy1054;
01730        case '-':     goto yy473;
01731        case '.':     goto yy1064;
01732        case '/':     goto yy472;
01733        case '0':     goto yy1097;
01734        case '1':
01735        case '2':
01736        case '3':
01737        case '4':
01738        case '5':
01739        case '6':
01740        case '7':
01741        case '8':
01742        case '9':     goto yy1096;
01743        case ':':     goto yy1065;
01744        case 'n':     goto yy470;
01745        case 'r':     goto yy471;
01746        case 's':     goto yy464;
01747        case 't':     goto yy468;
01748        default:      goto yy13;
01749        }
01750 yy27:
01751        YYDEBUG(27, *YYCURSOR);
01752        yyaccept = 1;
01753        yych = *(YYMARKER = ++YYCURSOR);
01754        YYDEBUG(-1, yych);
01755        switch (yych) {
01756        case '\t':    goto yy460;
01757        case ' ':
01758        case 'A':
01759        case 'D':
01760        case 'F':
01761        case 'H':
01762        case 'I':
01763        case 'J':
01764        case 'M':
01765        case 'N':
01766        case 'O':
01767        case 'P':
01768        case 'S':
01769        case 'T':
01770        case 'V':
01771        case 'W':
01772        case 'X':
01773        case 'Y':
01774        case 'a':
01775        case 'd':
01776        case 'f':
01777        case 'h':
01778        case 'j':
01779        case 'm':
01780        case 'o':
01781        case 'p':
01782        case 'w':
01783        case 'y':     goto yy462;
01784        case '-':     goto yy473;
01785        case '.':     goto yy474;
01786        case '/':     goto yy472;
01787        case '0':
01788        case '1':
01789        case '2':     goto yy1096;
01790        case '3':
01791        case '4':
01792        case '5':
01793        case '6':
01794        case '7':
01795        case '8':
01796        case '9':     goto yy1063;
01797        case ':':     goto yy483;
01798        case 'n':     goto yy470;
01799        case 'r':     goto yy471;
01800        case 's':     goto yy464;
01801        case 't':     goto yy468;
01802        default:      goto yy13;
01803        }
01804 yy28:
01805        YYDEBUG(28, *YYCURSOR);
01806        yyaccept = 1;
01807        yych = *(YYMARKER = ++YYCURSOR);
01808        YYDEBUG(-1, yych);
01809        switch (yych) {
01810        case '\t':    goto yy460;
01811        case ' ':
01812        case 'A':
01813        case 'D':
01814        case 'F':
01815        case 'H':
01816        case 'I':
01817        case 'J':
01818        case 'M':
01819        case 'N':
01820        case 'O':
01821        case 'P':
01822        case 'S':
01823        case 'T':
01824        case 'V':
01825        case 'W':
01826        case 'X':
01827        case 'Y':
01828        case 'a':
01829        case 'd':
01830        case 'f':
01831        case 'h':
01832        case 'j':
01833        case 'm':
01834        case 'o':
01835        case 'p':
01836        case 'w':
01837        case 'y':     goto yy462;
01838        case '-':     goto yy473;
01839        case '.':     goto yy474;
01840        case '/':     goto yy472;
01841        case '0':
01842        case '1':
01843        case '2':
01844        case '3':
01845        case '4':     goto yy1063;
01846        case '5':
01847        case '6':
01848        case '7':
01849        case '8':
01850        case '9':     goto yy1050;
01851        case ':':     goto yy483;
01852        case 'n':     goto yy470;
01853        case 'r':     goto yy471;
01854        case 's':     goto yy464;
01855        case 't':     goto yy468;
01856        default:      goto yy13;
01857        }
01858 yy29:
01859        YYDEBUG(29, *YYCURSOR);
01860        yyaccept = 1;
01861        yych = *(YYMARKER = ++YYCURSOR);
01862        YYDEBUG(-1, yych);
01863        switch (yych) {
01864        case '\t':    goto yy460;
01865        case ' ':
01866        case 'A':
01867        case 'D':
01868        case 'F':
01869        case 'H':
01870        case 'I':
01871        case 'J':
01872        case 'M':
01873        case 'N':
01874        case 'O':
01875        case 'P':
01876        case 'S':
01877        case 'T':
01878        case 'V':
01879        case 'W':
01880        case 'X':
01881        case 'Y':
01882        case 'a':
01883        case 'd':
01884        case 'f':
01885        case 'h':
01886        case 'j':
01887        case 'm':
01888        case 'o':
01889        case 'p':
01890        case 'w':
01891        case 'y':     goto yy462;
01892        case '-':     goto yy473;
01893        case '.':     goto yy474;
01894        case '/':     goto yy472;
01895        case '0':
01896        case '1':     goto yy1050;
01897        case '2':
01898        case '3':
01899        case '4':
01900        case '5':
01901        case '6':
01902        case '7':
01903        case '8':
01904        case '9':     goto yy469;
01905        case ':':     goto yy483;
01906        case 'n':     goto yy470;
01907        case 'r':     goto yy471;
01908        case 's':     goto yy464;
01909        case 't':     goto yy468;
01910        default:      goto yy13;
01911        }
01912 yy30:
01913        YYDEBUG(30, *YYCURSOR);
01914        yyaccept = 1;
01915        yych = *(YYMARKER = ++YYCURSOR);
01916        YYDEBUG(-1, yych);
01917        switch (yych) {
01918        case '\t':    goto yy460;
01919        case ' ':
01920        case 'A':
01921        case 'D':
01922        case 'F':
01923        case 'H':
01924        case 'I':
01925        case 'J':
01926        case 'M':
01927        case 'N':
01928        case 'O':
01929        case 'P':
01930        case 'S':
01931        case 'T':
01932        case 'V':
01933        case 'W':
01934        case 'X':
01935        case 'Y':
01936        case 'a':
01937        case 'd':
01938        case 'f':
01939        case 'h':
01940        case 'j':
01941        case 'm':
01942        case 'o':
01943        case 'p':
01944        case 'w':
01945        case 'y':     goto yy462;
01946        case '-':     goto yy473;
01947        case '.':     goto yy474;
01948        case '/':     goto yy472;
01949        case '0':
01950        case '1':
01951        case '2':
01952        case '3':
01953        case '4':
01954        case '5':
01955        case '6':
01956        case '7':
01957        case '8':
01958        case '9':     goto yy469;
01959        case ':':     goto yy483;
01960        case 'n':     goto yy470;
01961        case 'r':     goto yy471;
01962        case 's':     goto yy464;
01963        case 't':     goto yy468;
01964        default:      goto yy13;
01965        }
01966 yy31:
01967        YYDEBUG(31, *YYCURSOR);
01968        yyaccept = 1;
01969        yych = *(YYMARKER = ++YYCURSOR);
01970        if (yybm[0+yych] & 4) {
01971               goto yy58;
01972        }
01973        YYDEBUG(-1, yych);
01974        switch (yych) {
01975        case '+':
01976        case '-':     goto yy440;
01977        case '0':
01978        case '1':     goto yy437;
01979        case '2':     goto yy438;
01980        case '3':
01981        case '4':
01982        case '5':
01983        case '6':
01984        case '7':
01985        case '8':
01986        case '9':     goto yy439;
01987        default:      goto yy13;
01988        }
01989 yy32:
01990        YYDEBUG(32, *YYCURSOR);
01991        yyaccept = 0;
01992        yych = *(YYMARKER = ++YYCURSOR);
01993        if (yych <= '9') {
01994               if (yych <= '(') {
01995                      if (yych <= '\t') {
01996                             if (yych <= 0x08) goto yy4;
01997                             goto yy196;
01998                      } else {
01999                             if (yych == ' ') goto yy196;
02000                             goto yy4;
02001                      }
02002               } else {
02003                      if (yych <= ',') {
02004                             if (yych <= ')') goto yy140;
02005                             goto yy4;
02006                      } else {
02007                             if (yych == '/') goto yy4;
02008                             goto yy196;
02009                      }
02010               }
02011        } else {
02012               if (yych <= 'V') {
02013                      if (yych <= 'H') {
02014                             if (yych <= '@') goto yy4;
02015                             goto yy141;
02016                      } else {
02017                             if (yych <= 'I') goto yy436;
02018                             if (yych <= 'U') goto yy141;
02019                             goto yy435;
02020                      }
02021               } else {
02022                      if (yych <= 'Z') {
02023                             if (yych == 'X') goto yy435;
02024                             goto yy141;
02025                      } else {
02026                             if (yych <= '`') goto yy4;
02027                             if (yych <= 'z') goto yy146;
02028                             goto yy4;
02029                      }
02030               }
02031        }
02032 yy33:
02033        YYDEBUG(33, *YYCURSOR);
02034        yyaccept = 0;
02035        yych = *(YYMARKER = ++YYCURSOR);
02036        if (yych <= '.') {
02037               if (yych <= ' ') {
02038                      if (yych == '\t') goto yy196;
02039                      if (yych <= 0x1F) goto yy4;
02040                      goto yy196;
02041               } else {
02042                      if (yych == ')') goto yy140;
02043                      if (yych <= ',') goto yy4;
02044                      goto yy196;
02045               }
02046        } else {
02047               if (yych <= 'H') {
02048                      if (yych <= '/') goto yy4;
02049                      if (yych <= '9') goto yy196;
02050                      if (yych <= '@') goto yy4;
02051                      goto yy141;
02052               } else {
02053                      if (yych <= 'Z') {
02054                             if (yych <= 'I') goto yy432;
02055                             goto yy141;
02056                      } else {
02057                             if (yych <= '`') goto yy4;
02058                             if (yych <= 'z') goto yy146;
02059                             goto yy4;
02060                      }
02061               }
02062        }
02063 yy34:
02064        YYDEBUG(34, *YYCURSOR);
02065        yyaccept = 0;
02066        yych = *(YYMARKER = ++YYCURSOR);
02067        if (yych <= '.') {
02068               if (yych <= ' ') {
02069                      if (yych == '\t') goto yy196;
02070                      if (yych <= 0x1F) goto yy4;
02071                      goto yy196;
02072               } else {
02073                      if (yych == ')') goto yy140;
02074                      if (yych <= ',') goto yy4;
02075                      goto yy196;
02076               }
02077        } else {
02078               if (yych <= 'H') {
02079                      if (yych <= '/') goto yy4;
02080                      if (yych <= '9') goto yy196;
02081                      if (yych <= '@') goto yy4;
02082                      goto yy141;
02083               } else {
02084                      if (yych <= 'Z') {
02085                             if (yych <= 'I') goto yy430;
02086                             goto yy141;
02087                      } else {
02088                             if (yych <= '`') goto yy4;
02089                             if (yych <= 'z') goto yy146;
02090                             goto yy4;
02091                      }
02092               }
02093        }
02094 yy35:
02095        YYDEBUG(35, *YYCURSOR);
02096        yych = *++YYCURSOR;
02097        if (yych <= 'U') {
02098               if (yych <= '@') {
02099                      if (yych == ')') goto yy140;
02100                      goto yy4;
02101               } else {
02102                      if (yych <= 'A') goto yy413;
02103                      if (yych <= 'T') goto yy141;
02104                      goto yy412;
02105               }
02106        } else {
02107               if (yych <= 'a') {
02108                      if (yych <= 'Z') goto yy141;
02109                      if (yych <= '`') goto yy4;
02110                      goto yy422;
02111               } else {
02112                      if (yych == 'u') goto yy421;
02113                      if (yych <= 'z') goto yy146;
02114                      goto yy4;
02115               }
02116        }
02117 yy36:
02118        YYDEBUG(36, *YYCURSOR);
02119        yych = *++YYCURSOR;
02120        if (yych <= 'U') {
02121               if (yych <= '@') {
02122                      if (yych == ')') goto yy140;
02123                      goto yy4;
02124               } else {
02125                      if (yych <= 'A') goto yy413;
02126                      if (yych <= 'T') goto yy141;
02127                      goto yy412;
02128               }
02129        } else {
02130               if (yych <= 'a') {
02131                      if (yych <= 'Z') goto yy141;
02132                      if (yych <= '`') goto yy4;
02133                      goto yy413;
02134               } else {
02135                      if (yych == 'u') goto yy412;
02136                      if (yych <= 'z') goto yy141;
02137                      goto yy4;
02138               }
02139        }
02140 yy37:
02141        YYDEBUG(37, *YYCURSOR);
02142        yych = *++YYCURSOR;
02143        if (yych <= 'U') {
02144               if (yych <= 'F') {
02145                      if (yych == ')') goto yy140;
02146                      if (yych <= '@') goto yy4;
02147                      goto yy141;
02148               } else {
02149                      if (yych <= 'O') {
02150                             if (yych <= 'G') goto yy391;
02151                             goto yy141;
02152                      } else {
02153                             if (yych <= 'P') goto yy390;
02154                             if (yych <= 'T') goto yy141;
02155                             goto yy389;
02156                      }
02157               }
02158        } else {
02159               if (yych <= 'o') {
02160                      if (yych <= '`') {
02161                             if (yych <= 'Z') goto yy141;
02162                             goto yy4;
02163                      } else {
02164                             if (yych == 'g') goto yy403;
02165                             goto yy146;
02166                      }
02167               } else {
02168                      if (yych <= 't') {
02169                             if (yych <= 'p') goto yy402;
02170                             goto yy146;
02171                      } else {
02172                             if (yych <= 'u') goto yy401;
02173                             if (yych <= 'z') goto yy146;
02174                             goto yy4;
02175                      }
02176               }
02177        }
02178 yy38:
02179        YYDEBUG(38, *YYCURSOR);
02180        yych = *++YYCURSOR;
02181        if (yych <= 'U') {
02182               if (yych <= 'F') {
02183                      if (yych == ')') goto yy140;
02184                      if (yych <= '@') goto yy4;
02185                      goto yy141;
02186               } else {
02187                      if (yych <= 'O') {
02188                             if (yych <= 'G') goto yy391;
02189                             goto yy141;
02190                      } else {
02191                             if (yych <= 'P') goto yy390;
02192                             if (yych <= 'T') goto yy141;
02193                             goto yy389;
02194                      }
02195               }
02196        } else {
02197               if (yych <= 'o') {
02198                      if (yych <= '`') {
02199                             if (yych <= 'Z') goto yy141;
02200                             goto yy4;
02201                      } else {
02202                             if (yych == 'g') goto yy391;
02203                             goto yy141;
02204                      }
02205               } else {
02206                      if (yych <= 't') {
02207                             if (yych <= 'p') goto yy390;
02208                             goto yy141;
02209                      } else {
02210                             if (yych <= 'u') goto yy389;
02211                             if (yych <= 'z') goto yy141;
02212                             goto yy4;
02213                      }
02214               }
02215        }
02216 yy39:
02217        YYDEBUG(39, *YYCURSOR);
02218        yych = *++YYCURSOR;
02219        if (yych <= 'C') {
02220               if (yych <= ')') {
02221                      if (yych <= '(') goto yy4;
02222                      goto yy140;
02223               } else {
02224                      if (yych <= '@') goto yy4;
02225                      if (yych <= 'B') goto yy141;
02226                      goto yy379;
02227               }
02228        } else {
02229               if (yych <= 'b') {
02230                      if (yych <= 'Z') goto yy141;
02231                      if (yych <= '`') goto yy4;
02232                      goto yy146;
02233               } else {
02234                      if (yych <= 'c') goto yy384;
02235                      if (yych <= 'z') goto yy146;
02236                      goto yy4;
02237               }
02238        }
02239 yy40:
02240        YYDEBUG(40, *YYCURSOR);
02241        yych = *++YYCURSOR;
02242        if (yych <= 'C') {
02243               if (yych <= ')') {
02244                      if (yych <= '(') goto yy4;
02245                      goto yy140;
02246               } else {
02247                      if (yych <= '@') goto yy4;
02248                      if (yych <= 'B') goto yy141;
02249                      goto yy379;
02250               }
02251        } else {
02252               if (yych <= 'b') {
02253                      if (yych <= 'Z') goto yy141;
02254                      if (yych <= '`') goto yy4;
02255                      goto yy141;
02256               } else {
02257                      if (yych <= 'c') goto yy379;
02258                      if (yych <= 'z') goto yy141;
02259                      goto yy4;
02260               }
02261        }
02262 yy41:
02263        YYDEBUG(41, *YYCURSOR);
02264        yych = *++YYCURSOR;
02265        if (yych <= 'E') {
02266               if (yych <= ')') {
02267                      if (yych <= '(') goto yy4;
02268                      goto yy140;
02269               } else {
02270                      if (yych <= '@') goto yy4;
02271                      if (yych <= 'D') goto yy141;
02272                      goto yy192;
02273               }
02274        } else {
02275               if (yych <= 'd') {
02276                      if (yych <= 'Z') goto yy141;
02277                      if (yych <= '`') goto yy4;
02278                      goto yy146;
02279               } else {
02280                      if (yych <= 'e') goto yy370;
02281                      if (yych <= 'z') goto yy146;
02282                      goto yy4;
02283               }
02284        }
02285 yy42:
02286        YYDEBUG(42, *YYCURSOR);
02287        yych = *++YYCURSOR;
02288        if (yych <= 'E') {
02289               if (yych <= ')') {
02290                      if (yych <= '(') goto yy4;
02291                      goto yy140;
02292               } else {
02293                      if (yych <= '@') goto yy4;
02294                      if (yych <= 'D') goto yy141;
02295                      goto yy192;
02296               }
02297        } else {
02298               if (yych <= 'd') {
02299                      if (yych <= 'Z') goto yy141;
02300                      if (yych <= '`') goto yy4;
02301                      goto yy141;
02302               } else {
02303                      if (yych <= 'e') goto yy192;
02304                      if (yych <= 'z') goto yy141;
02305                      goto yy4;
02306               }
02307        }
02308 yy43:
02309        YYDEBUG(43, *YYCURSOR);
02310        yych = *++YYCURSOR;
02311        if (yych <= 'E') {
02312               if (yych <= ')') {
02313                      if (yych <= '(') goto yy4;
02314                      goto yy140;
02315               } else {
02316                      if (yych <= '@') goto yy4;
02317                      if (yych <= 'D') goto yy141;
02318                      goto yy165;
02319               }
02320        } else {
02321               if (yych <= 'd') {
02322                      if (yych <= 'Z') goto yy141;
02323                      if (yych <= '`') goto yy4;
02324                      goto yy146;
02325               } else {
02326                      if (yych <= 'e') goto yy179;
02327                      if (yych <= 'z') goto yy146;
02328                      goto yy4;
02329               }
02330        }
02331 yy44:
02332        YYDEBUG(44, *YYCURSOR);
02333        yych = *++YYCURSOR;
02334        if (yych <= 'E') {
02335               if (yych <= ')') {
02336                      if (yych <= '(') goto yy4;
02337                      goto yy140;
02338               } else {
02339                      if (yych <= '@') goto yy4;
02340                      if (yych <= 'D') goto yy141;
02341                      goto yy165;
02342               }
02343        } else {
02344               if (yych <= 'd') {
02345                      if (yych <= 'Z') goto yy141;
02346                      if (yych <= '`') goto yy4;
02347                      goto yy141;
02348               } else {
02349                      if (yych <= 'e') goto yy165;
02350                      if (yych <= 'z') goto yy141;
02351                      goto yy4;
02352               }
02353        }
02354 yy45:
02355        YYDEBUG(45, *YYCURSOR);
02356        yych = *++YYCURSOR;
02357        if (yych <= 'L') {
02358               if (yych == ')') goto yy140;
02359               if (yych <= '@') goto yy4;
02360               goto yy141;
02361        } else {
02362               if (yych <= 'Z') {
02363                      if (yych <= 'M') goto yy157;
02364                      goto yy141;
02365               } else {
02366                      if (yych <= '`') goto yy4;
02367                      if (yych <= 'z') goto yy146;
02368                      goto yy4;
02369               }
02370        }
02371 yy46:
02372        YYDEBUG(46, *YYCURSOR);
02373        yych = *++YYCURSOR;
02374        if (yych <= '@') goto yy13;
02375        if (yych <= 'Z') goto yy156;
02376        if (yych <= '`') goto yy13;
02377        if (yych <= 'z') goto yy156;
02378        goto yy13;
02379 yy47:
02380        YYDEBUG(47, *YYCURSOR);
02381        yych = *++YYCURSOR;
02382        if (yych <= '@') {
02383               if (yych == ')') goto yy140;
02384               goto yy4;
02385        } else {
02386               if (yych <= 'Z') goto yy141;
02387               if (yych <= '`') goto yy4;
02388               if (yych <= 'z') goto yy146;
02389               goto yy4;
02390        }
02391 yy48:
02392        YYDEBUG(48, *YYCURSOR);
02393        yych = *++YYCURSOR;
02394        if (yych <= '@') {
02395               if (yych == ')') goto yy140;
02396               goto yy4;
02397        } else {
02398               if (yych <= 'Z') goto yy141;
02399               if (yych <= '`') goto yy4;
02400               if (yych <= 'z') goto yy141;
02401               goto yy4;
02402        }
02403 yy49:
02404        YYDEBUG(49, *YYCURSOR);
02405        yyaccept = 2;
02406        yych = *(YYMARKER = ++YYCURSOR);
02407        if (yybm[0+yych] & 4) {
02408               goto yy58;
02409        }
02410        if (yych <= '/') goto yy50;
02411        if (yych <= '9') goto yy55;
02412 yy50:
02413        YYDEBUG(50, *YYCURSOR);
02414        {
02415               goto std;
02416        }
02417 yy51:
02418        YYDEBUG(51, *YYCURSOR);
02419        yych = *++YYCURSOR;
02420        goto yy50;
02421 yy52:
02422        YYDEBUG(52, *YYCURSOR);
02423        ++YYCURSOR;
02424        YYDEBUG(53, *YYCURSOR);
02425        {
02426               s->pos = cursor; s->line++;
02427               goto std;
02428        }
02429 yy54:
02430        YYDEBUG(54, *YYCURSOR);
02431        yych = *++YYCURSOR;
02432        goto yy13;
02433 yy55:
02434        YYDEBUG(55, *YYCURSOR);
02435        ++YYCURSOR;
02436        if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
02437        yych = *YYCURSOR;
02438        YYDEBUG(56, *YYCURSOR);
02439        if (yybm[0+yych] & 2) {
02440               goto yy55;
02441        }
02442        if (yych <= 'W') {
02443               if (yych <= 'F') {
02444                      if (yych <= ' ') {
02445                             if (yych == '\t') goto yy60;
02446                             if (yych >= ' ') goto yy60;
02447                      } else {
02448                             if (yych == 'D') goto yy65;
02449                             if (yych >= 'F') goto yy66;
02450                      }
02451               } else {
02452                      if (yych <= 'M') {
02453                             if (yych == 'H') goto yy64;
02454                             if (yych >= 'M') goto yy63;
02455                      } else {
02456                             if (yych <= 'S') {
02457                                    if (yych >= 'S') goto yy62;
02458                             } else {
02459                                    if (yych <= 'T') goto yy69;
02460                                    if (yych >= 'W') goto yy68;
02461                             }
02462                      }
02463               }
02464        } else {
02465               if (yych <= 'l') {
02466                      if (yych <= 'd') {
02467                             if (yych == 'Y') goto yy67;
02468                             if (yych >= 'd') goto yy65;
02469                      } else {
02470                             if (yych <= 'f') {
02471                                    if (yych >= 'f') goto yy66;
02472                             } else {
02473                                    if (yych == 'h') goto yy64;
02474                             }
02475                      }
02476               } else {
02477                      if (yych <= 't') {
02478                             if (yych <= 'm') goto yy63;
02479                             if (yych <= 'r') goto yy57;
02480                             if (yych <= 's') goto yy62;
02481                             goto yy69;
02482                      } else {
02483                             if (yych <= 'w') {
02484                                    if (yych >= 'w') goto yy68;
02485                             } else {
02486                                    if (yych == 'y') goto yy67;
02487                             }
02488                      }
02489               }
02490        }
02491 yy57:
02492        YYDEBUG(57, *YYCURSOR);
02493        YYCURSOR = YYMARKER;
02494        if (yyaccept <= 16) {
02495               if (yyaccept <= 8) {
02496                      if (yyaccept <= 4) {
02497                             if (yyaccept <= 2) {
02498                                    if (yyaccept <= 1) {
02499                                           if (yyaccept <= 0) {
02500                                                  goto yy4;
02501                                           } else {
02502                                                  goto yy13;
02503                                           }
02504                                    } else {
02505                                           goto yy50;
02506                                    }
02507                             } else {
02508                                    if (yyaccept <= 3) {
02509                                           goto yy73;
02510                                    } else {
02511                                           goto yy167;
02512                                    }
02513                             }
02514                      } else {
02515                             if (yyaccept <= 6) {
02516                                    if (yyaccept <= 5) {
02517                                           goto yy194;
02518                                    } else {
02519                                           goto yy199;
02520                                    }
02521                             } else {
02522                                    if (yyaccept <= 7) {
02523                                           goto yy223;
02524                                    } else {
02525                                           goto yy295;
02526                                    }
02527                             }
02528                      }
02529               } else {
02530                      if (yyaccept <= 12) {
02531                             if (yyaccept <= 10) {
02532                                    if (yyaccept <= 9) {
02533                                           goto yy393;
02534                                    } else {
02535                                           goto yy476;
02536                                    }
02537                             } else {
02538                                    if (yyaccept <= 11) {
02539                                           goto yy491;
02540                                    } else {
02541                                           goto yy612;
02542                                    }
02543                             }
02544                      } else {
02545                             if (yyaccept <= 14) {
02546                                    if (yyaccept <= 13) {
02547                                           goto yy657;
02548                                    } else {
02549                                           goto yy667;
02550                                    }
02551                             } else {
02552                                    if (yyaccept <= 15) {
02553                                           goto yy764;
02554                                    } else {
02555                                           goto yy784;
02556                                    }
02557                             }
02558                      }
02559               }
02560        } else {
02561               if (yyaccept <= 25) {
02562                      if (yyaccept <= 21) {
02563                             if (yyaccept <= 19) {
02564                                    if (yyaccept <= 18) {
02565                                           if (yyaccept <= 17) {
02566                                                  goto yy815;
02567                                           } else {
02568                                                  goto yy822;
02569                                           }
02570                                    } else {
02571                                           goto yy849;
02572                                    }
02573                             } else {
02574                                    if (yyaccept <= 20) {
02575                                           goto yy794;
02576                                    } else {
02577                                           goto yy455;
02578                                    }
02579                             }
02580                      } else {
02581                             if (yyaccept <= 23) {
02582                                    if (yyaccept <= 22) {
02583                                           goto yy974;
02584                                    } else {
02585                                           goto yy843;
02586                                    }
02587                             } else {
02588                                    if (yyaccept <= 24) {
02589                                           goto yy1068;
02590                                    } else {
02591                                           goto yy1076;
02592                                    }
02593                             }
02594                      }
02595               } else {
02596                      if (yyaccept <= 29) {
02597                             if (yyaccept <= 27) {
02598                                    if (yyaccept <= 26) {
02599                                           goto yy1118;
02600                                    } else {
02601                                           goto yy1142;
02602                                    }
02603                             } else {
02604                                    if (yyaccept <= 28) {
02605                                           goto yy1295;
02606                                    } else {
02607                                           goto yy1417;
02608                                    }
02609                             }
02610                      } else {
02611                             if (yyaccept <= 31) {
02612                                    if (yyaccept <= 30) {
02613                                           goto yy1420;
02614                                    } else {
02615                                           goto yy1500;
02616                                    }
02617                             } else {
02618                                    if (yyaccept <= 32) {
02619                                           goto yy1508;
02620                                    } else {
02621                                           goto yy1531;
02622                                    }
02623                             }
02624                      }
02625               }
02626        }
02627 yy58:
02628        YYDEBUG(58, *YYCURSOR);
02629        ++YYCURSOR;
02630        if (YYLIMIT <= YYCURSOR) YYFILL(1);
02631        yych = *YYCURSOR;
02632        YYDEBUG(59, *YYCURSOR);
02633        if (yybm[0+yych] & 4) {
02634               goto yy58;
02635        }
02636        if (yych <= '/') goto yy57;
02637        if (yych <= '9') goto yy55;
02638        goto yy57;
02639 yy60:
02640        YYDEBUG(60, *YYCURSOR);
02641        ++YYCURSOR;
02642        if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
02643        yych = *YYCURSOR;
02644 yy61:
02645        YYDEBUG(61, *YYCURSOR);
02646        if (yych <= 'W') {
02647               if (yych <= 'F') {
02648                      if (yych <= ' ') {
02649                             if (yych == '\t') goto yy60;
02650                             if (yych <= 0x1F) goto yy57;
02651                             goto yy60;
02652                      } else {
02653                             if (yych == 'D') goto yy65;
02654                             if (yych <= 'E') goto yy57;
02655                             goto yy66;
02656                      }
02657               } else {
02658                      if (yych <= 'M') {
02659                             if (yych == 'H') goto yy64;
02660                             if (yych <= 'L') goto yy57;
02661                             goto yy63;
02662                      } else {
02663                             if (yych <= 'S') {
02664                                    if (yych <= 'R') goto yy57;
02665                             } else {
02666                                    if (yych <= 'T') goto yy69;
02667                                    if (yych <= 'V') goto yy57;
02668                                    goto yy68;
02669                             }
02670                      }
02671               }
02672        } else {
02673               if (yych <= 'l') {
02674                      if (yych <= 'd') {
02675                             if (yych == 'Y') goto yy67;
02676                             if (yych <= 'c') goto yy57;
02677                             goto yy65;
02678                      } else {
02679                             if (yych <= 'f') {
02680                                    if (yych <= 'e') goto yy57;
02681                                    goto yy66;
02682                             } else {
02683                                    if (yych == 'h') goto yy64;
02684                                    goto yy57;
02685                             }
02686                      }
02687               } else {
02688                      if (yych <= 't') {
02689                             if (yych <= 'm') goto yy63;
02690                             if (yych <= 'r') goto yy57;
02691                             if (yych >= 't') goto yy69;
02692                      } else {
02693                             if (yych <= 'w') {
02694                                    if (yych <= 'v') goto yy57;
02695                                    goto yy68;
02696                             } else {
02697                                    if (yych == 'y') goto yy67;
02698                                    goto yy57;
02699                             }
02700                      }
02701               }
02702        }
02703 yy62:
02704        YYDEBUG(62, *YYCURSOR);
02705        yych = *++YYCURSOR;
02706        if (yych <= 'U') {
02707               if (yych <= 'D') {
02708                      if (yych == 'A') goto yy127;
02709                      goto yy57;
02710               } else {
02711                      if (yych <= 'E') goto yy128;
02712                      if (yych <= 'T') goto yy57;
02713                      goto yy126;
02714               }
02715        } else {
02716               if (yych <= 'd') {
02717                      if (yych == 'a') goto yy127;
02718                      goto yy57;
02719               } else {
02720                      if (yych <= 'e') goto yy128;
02721                      if (yych == 'u') goto yy126;
02722                      goto yy57;
02723               }
02724        }
02725 yy63:
02726        YYDEBUG(63, *YYCURSOR);
02727        yych = *++YYCURSOR;
02728        if (yych <= 'O') {
02729               if (yych == 'I') goto yy118;
02730               if (yych <= 'N') goto yy57;
02731               goto yy117;
02732        } else {
02733               if (yych <= 'i') {
02734                      if (yych <= 'h') goto yy57;
02735                      goto yy118;
02736               } else {
02737                      if (yych == 'o') goto yy117;
02738                      goto yy57;
02739               }
02740        }
02741 yy64:
02742        YYDEBUG(64, *YYCURSOR);
02743        yych = *++YYCURSOR;
02744        if (yych == 'O') goto yy115;
02745        if (yych == 'o') goto yy115;
02746        goto yy57;
02747 yy65:
02748        YYDEBUG(65, *YYCURSOR);
02749        yych = *++YYCURSOR;
02750        if (yych == 'A') goto yy114;
02751        if (yych == 'a') goto yy114;
02752        goto yy57;
02753 yy66:
02754        YYDEBUG(66, *YYCURSOR);
02755        yych = *++YYCURSOR;
02756        if (yych <= 'R') {
02757               if (yych == 'O') goto yy99;
02758               if (yych <= 'Q') goto yy57;
02759               goto yy98;
02760        } else {
02761               if (yych <= 'o') {
02762                      if (yych <= 'n') goto yy57;
02763                      goto yy99;
02764               } else {
02765                      if (yych == 'r') goto yy98;
02766                      goto yy57;
02767               }
02768        }
02769 yy67:
02770        YYDEBUG(67, *YYCURSOR);
02771        yych = *++YYCURSOR;
02772        if (yych == 'E') goto yy95;
02773        if (yych == 'e') goto yy95;
02774        goto yy57;
02775 yy68:
02776        YYDEBUG(68, *YYCURSOR);
02777        yych = *++YYCURSOR;
02778        if (yych == 'E') goto yy83;
02779        if (yych == 'e') goto yy83;
02780        goto yy57;
02781 yy69:
02782        YYDEBUG(69, *YYCURSOR);
02783        yych = *++YYCURSOR;
02784        if (yych <= 'U') {
02785               if (yych == 'H') goto yy70;
02786               if (yych <= 'T') goto yy57;
02787               goto yy71;
02788        } else {
02789               if (yych <= 'h') {
02790                      if (yych <= 'g') goto yy57;
02791               } else {
02792                      if (yych == 'u') goto yy71;
02793                      goto yy57;
02794               }
02795        }
02796 yy70:
02797        YYDEBUG(70, *YYCURSOR);
02798        yych = *++YYCURSOR;
02799        if (yych == 'U') goto yy78;
02800        if (yych == 'u') goto yy78;
02801        goto yy57;
02802 yy71:
02803        YYDEBUG(71, *YYCURSOR);
02804        yych = *++YYCURSOR;
02805        if (yych == 'E') goto yy72;
02806        if (yych != 'e') goto yy57;
02807 yy72:
02808        YYDEBUG(72, *YYCURSOR);
02809        yyaccept = 3;
02810        yych = *(YYMARKER = ++YYCURSOR);
02811        if (yych == 'S') goto yy74;
02812        if (yych == 's') goto yy74;
02813 yy73:
02814        YYDEBUG(73, *YYCURSOR);
02815        {
02816               timelib_ull i;
02817               DEBUG_OUTPUT("relative");
02818               TIMELIB_INIT;
02819               TIMELIB_HAVE_RELATIVE();
02820 
02821               while(*ptr) {
02822                      i = timelib_get_unsigned_nr((char **) &ptr, 24);
02823                      timelib_eat_spaces((char **) &ptr);
02824                      timelib_set_relative((char **) &ptr, i, 1, s);
02825               }
02826               TIMELIB_DEINIT;
02827               return TIMELIB_RELATIVE;
02828        }
02829 yy74:
02830        YYDEBUG(74, *YYCURSOR);
02831        yych = *++YYCURSOR;
02832        if (yych == 'D') goto yy75;
02833        if (yych != 'd') goto yy57;
02834 yy75:
02835        YYDEBUG(75, *YYCURSOR);
02836        yych = *++YYCURSOR;
02837        if (yych == 'A') goto yy76;
02838        if (yych != 'a') goto yy57;
02839 yy76:
02840        YYDEBUG(76, *YYCURSOR);
02841        yych = *++YYCURSOR;
02842        if (yych == 'Y') goto yy77;
02843        if (yych != 'y') goto yy57;
02844 yy77:
02845        YYDEBUG(77, *YYCURSOR);
02846        yych = *++YYCURSOR;
02847        goto yy73;
02848 yy78:
02849        YYDEBUG(78, *YYCURSOR);
02850        yyaccept = 3;
02851        yych = *(YYMARKER = ++YYCURSOR);
02852        if (yych == 'R') goto yy79;
02853        if (yych != 'r') goto yy73;
02854 yy79:
02855        YYDEBUG(79, *YYCURSOR);
02856        yych = *++YYCURSOR;
02857        if (yych == 'S') goto yy80;
02858        if (yych != 's') goto yy57;
02859 yy80:
02860        YYDEBUG(80, *YYCURSOR);
02861        yych = *++YYCURSOR;
02862        if (yych == 'D') goto yy81;
02863        if (yych != 'd') goto yy57;
02864 yy81:
02865        YYDEBUG(81, *YYCURSOR);
02866        yych = *++YYCURSOR;
02867        if (yych == 'A') goto yy82;
02868        if (yych != 'a') goto yy57;
02869 yy82:
02870        YYDEBUG(82, *YYCURSOR);
02871        yych = *++YYCURSOR;
02872        if (yych == 'Y') goto yy77;
02873        if (yych == 'y') goto yy77;
02874        goto yy57;
02875 yy83:
02876        YYDEBUG(83, *YYCURSOR);
02877        yych = *++YYCURSOR;
02878        if (yych <= 'E') {
02879               if (yych <= 'C') goto yy57;
02880               if (yych <= 'D') goto yy85;
02881        } else {
02882               if (yych <= 'c') goto yy57;
02883               if (yych <= 'd') goto yy85;
02884               if (yych >= 'f') goto yy57;
02885        }
02886        YYDEBUG(84, *YYCURSOR);
02887        yych = *++YYCURSOR;
02888        if (yych == 'K') goto yy91;
02889        if (yych == 'k') goto yy91;
02890        goto yy57;
02891 yy85:
02892        YYDEBUG(85, *YYCURSOR);
02893        yyaccept = 3;
02894        yych = *(YYMARKER = ++YYCURSOR);
02895        if (yych == 'N') goto yy86;
02896        if (yych != 'n') goto yy73;
02897 yy86:
02898        YYDEBUG(86, *YYCURSOR);
02899        yych = *++YYCURSOR;
02900        if (yych == 'E') goto yy87;
02901        if (yych != 'e') goto yy57;
02902 yy87:
02903        YYDEBUG(87, *YYCURSOR);
02904        yych = *++YYCURSOR;
02905        if (yych == 'S') goto yy88;
02906        if (yych != 's') goto yy57;
02907 yy88:
02908        YYDEBUG(88, *YYCURSOR);
02909        yych = *++YYCURSOR;
02910        if (yych == 'D') goto yy89;
02911        if (yych != 'd') goto yy57;
02912 yy89:
02913        YYDEBUG(89, *YYCURSOR);
02914        yych = *++YYCURSOR;
02915        if (yych == 'A') goto yy90;
02916        if (yych != 'a') goto yy57;
02917 yy90:
02918        YYDEBUG(90, *YYCURSOR);
02919        yych = *++YYCURSOR;
02920        if (yych == 'Y') goto yy77;
02921        if (yych == 'y') goto yy77;
02922        goto yy57;
02923 yy91:
02924        YYDEBUG(91, *YYCURSOR);
02925        yyaccept = 3;
02926        yych = *(YYMARKER = ++YYCURSOR);
02927        if (yych <= 'S') {
02928               if (yych == 'D') goto yy92;
02929               if (yych <= 'R') goto yy73;
02930               goto yy77;
02931        } else {
02932               if (yych <= 'd') {
02933                      if (yych <= 'c') goto yy73;
02934               } else {
02935                      if (yych == 's') goto yy77;
02936                      goto yy73;
02937               }
02938        }
02939 yy92:
02940        YYDEBUG(92, *YYCURSOR);
02941        yych = *++YYCURSOR;
02942        if (yych == 'A') goto yy93;
02943        if (yych != 'a') goto yy57;
02944 yy93:
02945        YYDEBUG(93, *YYCURSOR);
02946        yych = *++YYCURSOR;
02947        if (yych == 'Y') goto yy94;
02948        if (yych != 'y') goto yy57;
02949 yy94:
02950        YYDEBUG(94, *YYCURSOR);
02951        yych = *++YYCURSOR;
02952        if (yych == 'S') goto yy77;
02953        if (yych == 's') goto yy77;
02954        goto yy73;
02955 yy95:
02956        YYDEBUG(95, *YYCURSOR);
02957        yych = *++YYCURSOR;
02958        if (yych == 'A') goto yy96;
02959        if (yych != 'a') goto yy57;
02960 yy96:
02961        YYDEBUG(96, *YYCURSOR);
02962        yych = *++YYCURSOR;
02963        if (yych == 'R') goto yy97;
02964        if (yych != 'r') goto yy57;
02965 yy97:
02966        YYDEBUG(97, *YYCURSOR);
02967        yych = *++YYCURSOR;
02968        if (yych == 'S') goto yy77;
02969        if (yych == 's') goto yy77;
02970        goto yy73;
02971 yy98:
02972        YYDEBUG(98, *YYCURSOR);
02973        yych = *++YYCURSOR;
02974        if (yych == 'I') goto yy111;
02975        if (yych == 'i') goto yy111;
02976        goto yy57;
02977 yy99:
02978        YYDEBUG(99, *YYCURSOR);
02979        yych = *++YYCURSOR;
02980        if (yych == 'R') goto yy100;
02981        if (yych != 'r') goto yy57;
02982 yy100:
02983        YYDEBUG(100, *YYCURSOR);
02984        yych = *++YYCURSOR;
02985        if (yych == 'T') goto yy101;
02986        if (yych != 't') goto yy57;
02987 yy101:
02988        YYDEBUG(101, *YYCURSOR);
02989        yych = *++YYCURSOR;
02990        if (yych <= 'N') {
02991               if (yych == 'H') goto yy103;
02992               if (yych <= 'M') goto yy57;
02993        } else {
02994               if (yych <= 'h') {
02995                      if (yych <= 'g') goto yy57;
02996                      goto yy103;
02997               } else {
02998                      if (yych != 'n') goto yy57;
02999               }
03000        }
03001        YYDEBUG(102, *YYCURSOR);
03002        yych = *++YYCURSOR;
03003        if (yych == 'I') goto yy108;
03004        if (yych == 'i') goto yy108;
03005        goto yy57;
03006 yy103:
03007        YYDEBUG(103, *YYCURSOR);
03008        yych = *++YYCURSOR;
03009        if (yych == 'N') goto yy104;
03010        if (yych != 'n') goto yy57;
03011 yy104:
03012        YYDEBUG(104, *YYCURSOR);
03013        yych = *++YYCURSOR;
03014        if (yych == 'I') goto yy105;
03015        if (yych != 'i') goto yy57;
03016 yy105:
03017        YYDEBUG(105, *YYCURSOR);
03018        yych = *++YYCURSOR;
03019        if (yych == 'G') goto yy106;
03020        if (yych != 'g') goto yy57;
03021 yy106:
03022        YYDEBUG(106, *YYCURSOR);
03023        yych = *++YYCURSOR;
03024        if (yych == 'H') goto yy107;
03025        if (yych != 'h') goto yy57;
03026 yy107:
03027        YYDEBUG(107, *YYCURSOR);
03028        yych = *++YYCURSOR;
03029        if (yych == 'T') goto yy97;
03030        if (yych == 't') goto yy97;
03031        goto yy57;
03032 yy108:
03033        YYDEBUG(108, *YYCURSOR);
03034        yych = *++YYCURSOR;
03035        if (yych == 'G') goto yy109;
03036        if (yych != 'g') goto yy57;
03037 yy109:
03038        YYDEBUG(109, *YYCURSOR);
03039        yych = *++YYCURSOR;
03040        if (yych == 'H') goto yy110;
03041        if (yych != 'h') goto yy57;
03042 yy110:
03043        YYDEBUG(110, *YYCURSOR);
03044        yych = *++YYCURSOR;
03045        if (yych == 'T') goto yy97;
03046        if (yych == 't') goto yy97;
03047        goto yy57;
03048 yy111:
03049        YYDEBUG(111, *YYCURSOR);
03050        yyaccept = 3;
03051        yych = *(YYMARKER = ++YYCURSOR);
03052        if (yych == 'D') goto yy112;
03053        if (yych != 'd') goto yy73;
03054 yy112:
03055        YYDEBUG(112, *YYCURSOR);
03056        yych = *++YYCURSOR;
03057        if (yych == 'A') goto yy113;
03058        if (yych != 'a') goto yy57;
03059 yy113:
03060        YYDEBUG(113, *YYCURSOR);
03061        yych = *++YYCURSOR;
03062        if (yych == 'Y') goto yy77;
03063        if (yych == 'y') goto yy77;
03064        goto yy57;
03065 yy114:
03066        YYDEBUG(114, *YYCURSOR);
03067        yych = *++YYCURSOR;
03068        if (yych == 'Y') goto yy97;
03069        if (yych == 'y') goto yy97;
03070        goto yy57;
03071 yy115:
03072        YYDEBUG(115, *YYCURSOR);
03073        yych = *++YYCURSOR;
03074        if (yych == 'U') goto yy116;
03075        if (yych != 'u') goto yy57;
03076 yy116:
03077        YYDEBUG(116, *YYCURSOR);
03078        yych = *++YYCURSOR;
03079        if (yych == 'R') goto yy97;
03080        if (yych == 'r') goto yy97;
03081        goto yy57;
03082 yy117:
03083        YYDEBUG(117, *YYCURSOR);
03084        yych = *++YYCURSOR;
03085        if (yych == 'N') goto yy122;
03086        if (yych == 'n') goto yy122;
03087        goto yy57;
03088 yy118:
03089        YYDEBUG(118, *YYCURSOR);
03090        yych = *++YYCURSOR;
03091        if (yych == 'N') goto yy119;
03092        if (yych != 'n') goto yy57;
03093 yy119:
03094        YYDEBUG(119, *YYCURSOR);
03095        yyaccept = 3;
03096        yych = *(YYMARKER = ++YYCURSOR);
03097        if (yych <= 'U') {
03098               if (yych == 'S') goto yy77;
03099               if (yych <= 'T') goto yy73;
03100        } else {
03101               if (yych <= 's') {
03102                      if (yych <= 'r') goto yy73;
03103                      goto yy77;
03104               } else {
03105                      if (yych != 'u') goto yy73;
03106               }
03107        }
03108        YYDEBUG(120, *YYCURSOR);
03109        yych = *++YYCURSOR;
03110        if (yych == 'T') goto yy121;
03111        if (yych != 't') goto yy57;
03112 yy121:
03113        YYDEBUG(121, *YYCURSOR);
03114        yych = *++YYCURSOR;
03115        if (yych == 'E') goto yy97;
03116        if (yych == 'e') goto yy97;
03117        goto yy57;
03118 yy122:
03119        YYDEBUG(122, *YYCURSOR);
03120        yyaccept = 3;
03121        yych = *(YYMARKER = ++YYCURSOR);
03122        if (yych <= 'T') {
03123               if (yych == 'D') goto yy123;
03124               if (yych <= 'S') goto yy73;
03125               goto yy124;
03126        } else {
03127               if (yych <= 'd') {
03128                      if (yych <= 'c') goto yy73;
03129               } else {
03130                      if (yych == 't') goto yy124;
03131                      goto yy73;
03132               }
03133        }
03134 yy123:
03135        YYDEBUG(123, *YYCURSOR);
03136        yych = *++YYCURSOR;
03137        if (yych == 'A') goto yy125;
03138        if (yych == 'a') goto yy125;
03139        goto yy57;
03140 yy124:
03141        YYDEBUG(124, *YYCURSOR);
03142        yych = *++YYCURSOR;
03143        if (yych == 'H') goto yy97;
03144        if (yych == 'h') goto yy97;
03145        goto yy57;
03146 yy125:
03147        YYDEBUG(125, *YYCURSOR);
03148        yych = *++YYCURSOR;
03149        if (yych == 'Y') goto yy77;
03150        if (yych == 'y') goto yy77;
03151        goto yy57;
03152 yy126:
03153        YYDEBUG(126, *YYCURSOR);
03154        yych = *++YYCURSOR;
03155        if (yych == 'N') goto yy137;
03156        if (yych == 'n') goto yy137;
03157        goto yy57;
03158 yy127:
03159        YYDEBUG(127, *YYCURSOR);
03160        yych = *++YYCURSOR;
03161        if (yych == 'T') goto yy132;
03162        if (yych == 't') goto yy132;
03163        goto yy57;
03164 yy128:
03165        YYDEBUG(128, *YYCURSOR);
03166        yych = *++YYCURSOR;
03167        if (yych == 'C') goto yy129;
03168        if (yych != 'c') goto yy57;
03169 yy129:
03170        YYDEBUG(129, *YYCURSOR);
03171        yyaccept = 3;
03172        yych = *(YYMARKER = ++YYCURSOR);
03173        if (yych <= 'S') {
03174               if (yych == 'O') goto yy130;
03175               if (yych <= 'R') goto yy73;
03176               goto yy77;
03177        } else {
03178               if (yych <= 'o') {
03179                      if (yych <= 'n') goto yy73;
03180               } else {
03181                      if (yych == 's') goto yy77;
03182                      goto yy73;
03183               }
03184        }
03185 yy130:
03186        YYDEBUG(130, *YYCURSOR);
03187        yych = *++YYCURSOR;
03188        if (yych == 'N') goto yy131;
03189        if (yych != 'n') goto yy57;
03190 yy131:
03191        YYDEBUG(131, *YYCURSOR);
03192        yych = *++YYCURSOR;
03193        if (yych == 'D') goto yy97;
03194        if (yych == 'd') goto yy97;
03195        goto yy57;
03196 yy132:
03197        YYDEBUG(132, *YYCURSOR);
03198        yyaccept = 3;
03199        yych = *(YYMARKER = ++YYCURSOR);
03200        if (yych == 'U') goto yy133;
03201        if (yych != 'u') goto yy73;
03202 yy133:
03203        YYDEBUG(133, *YYCURSOR);
03204        yych = *++YYCURSOR;
03205        if (yych == 'R') goto yy134;
03206        if (yych != 'r') goto yy57;
03207 yy134:
03208        YYDEBUG(134, *YYCURSOR);
03209        yych = *++YYCURSOR;
03210        if (yych == 'D') goto yy135;
03211        if (yych != 'd') goto yy57;
03212 yy135:
03213        YYDEBUG(135, *YYCURSOR);
03214        yych = *++YYCURSOR;
03215        if (yych == 'A') goto yy136;
03216        if (yych != 'a') goto yy57;
03217 yy136:
03218        YYDEBUG(136, *YYCURSOR);
03219        yych = *++YYCURSOR;
03220        if (yych == 'Y') goto yy77;
03221        if (yych == 'y') goto yy77;
03222        goto yy57;
03223 yy137:
03224        YYDEBUG(137, *YYCURSOR);
03225        yyaccept = 3;
03226        yych = *(YYMARKER = ++YYCURSOR);
03227        if (yych == 'D') goto yy138;
03228        if (yych != 'd') goto yy73;
03229 yy138:
03230        YYDEBUG(138, *YYCURSOR);
03231        yych = *++YYCURSOR;
03232        if (yych == 'A') goto yy139;
03233        if (yych != 'a') goto yy57;
03234 yy139:
03235        YYDEBUG(139, *YYCURSOR);
03236        yych = *++YYCURSOR;
03237        if (yych == 'Y') goto yy77;
03238        if (yych == 'y') goto yy77;
03239        goto yy57;
03240 yy140:
03241        YYDEBUG(140, *YYCURSOR);
03242        yych = *++YYCURSOR;
03243        goto yy4;
03244 yy141:
03245        YYDEBUG(141, *YYCURSOR);
03246        yych = *++YYCURSOR;
03247        if (yych <= '@') {
03248               if (yych == ')') goto yy140;
03249               goto yy4;
03250        } else {
03251               if (yych <= 'Z') goto yy142;
03252               if (yych <= '`') goto yy4;
03253               if (yych >= '{') goto yy4;
03254        }
03255 yy142:
03256        YYDEBUG(142, *YYCURSOR);
03257        yych = *++YYCURSOR;
03258        if (yych <= '@') {
03259               if (yych == ')') goto yy140;
03260               goto yy4;
03261        } else {
03262               if (yych <= 'Z') goto yy143;
03263               if (yych <= '`') goto yy4;
03264               if (yych >= '{') goto yy4;
03265        }
03266 yy143:
03267        YYDEBUG(143, *YYCURSOR);
03268        yych = *++YYCURSOR;
03269        if (yych <= '@') {
03270               if (yych == ')') goto yy140;
03271               goto yy4;
03272        } else {
03273               if (yych <= 'Z') goto yy144;
03274               if (yych <= '`') goto yy4;
03275               if (yych >= '{') goto yy4;
03276        }
03277 yy144:
03278        YYDEBUG(144, *YYCURSOR);
03279        yych = *++YYCURSOR;
03280        if (yych <= '@') {
03281               if (yych == ')') goto yy140;
03282               goto yy4;
03283        } else {
03284               if (yych <= 'Z') goto yy145;
03285               if (yych <= '`') goto yy4;
03286               if (yych >= '{') goto yy4;
03287        }
03288 yy145:
03289        YYDEBUG(145, *YYCURSOR);
03290        yych = *++YYCURSOR;
03291        if (yych == ')') goto yy140;
03292        goto yy4;
03293 yy146:
03294        YYDEBUG(146, *YYCURSOR);
03295        yyaccept = 0;
03296        yych = *(YYMARKER = ++YYCURSOR);
03297        if (yych <= '/') {
03298               if (yych <= ',') {
03299                      if (yych == ')') goto yy140;
03300                      goto yy4;
03301               } else {
03302                      if (yych == '.') goto yy4;
03303                      goto yy148;
03304               }
03305        } else {
03306               if (yych <= '^') {
03307                      if (yych <= '@') goto yy4;
03308                      if (yych <= 'Z') goto yy142;
03309                      goto yy4;
03310               } else {
03311                      if (yych <= '_') goto yy148;
03312                      if (yych <= '`') goto yy4;
03313                      if (yych >= '{') goto yy4;
03314               }
03315        }
03316 yy147:
03317        YYDEBUG(147, *YYCURSOR);
03318        yyaccept = 0;
03319        yych = *(YYMARKER = ++YYCURSOR);
03320        if (yych <= '/') {
03321               if (yych <= ',') {
03322                      if (yych == ')') goto yy140;
03323                      goto yy4;
03324               } else {
03325                      if (yych == '.') goto yy4;
03326               }
03327        } else {
03328               if (yych <= '^') {
03329                      if (yych <= '@') goto yy4;
03330                      if (yych <= 'Z') goto yy143;
03331                      goto yy4;
03332               } else {
03333                      if (yych <= '_') goto yy148;
03334                      if (yych <= '`') goto yy4;
03335                      if (yych <= 'z') goto yy151;
03336                      goto yy4;
03337               }
03338        }
03339 yy148:
03340        YYDEBUG(148, *YYCURSOR);
03341        ++YYCURSOR;
03342        if (YYLIMIT <= YYCURSOR) YYFILL(1);
03343        yych = *YYCURSOR;
03344        if (yybm[0+yych] & 8) {
03345               goto yy149;
03346        }
03347        goto yy57;
03348 yy149:
03349        YYDEBUG(149, *YYCURSOR);
03350        yyaccept = 0;
03351        YYMARKER = ++YYCURSOR;
03352        if (YYLIMIT <= YYCURSOR) YYFILL(1);
03353        yych = *YYCURSOR;
03354        YYDEBUG(150, *YYCURSOR);
03355        if (yybm[0+yych] & 8) {
03356               goto yy149;
03357        }
03358        if (yych <= '.') {
03359               if (yych == '-') goto yy148;
03360               goto yy4;
03361        } else {
03362               if (yych <= '/') goto yy148;
03363               if (yych == '_') goto yy148;
03364               goto yy4;
03365        }
03366 yy151:
03367        YYDEBUG(151, *YYCURSOR);
03368        yyaccept = 0;
03369        yych = *(YYMARKER = ++YYCURSOR);
03370        if (yych <= '/') {
03371               if (yych <= ',') {
03372                      if (yych == ')') goto yy140;
03373                      goto yy4;
03374               } else {
03375                      if (yych == '.') goto yy4;
03376                      goto yy148;
03377               }
03378        } else {
03379               if (yych <= '^') {
03380                      if (yych <= '@') goto yy4;
03381                      if (yych <= 'Z') goto yy144;
03382                      goto yy4;
03383               } else {
03384                      if (yych <= '_') goto yy148;
03385                      if (yych <= '`') goto yy4;
03386                      if (yych >= '{') goto yy4;
03387               }
03388        }
03389 yy152:
03390        YYDEBUG(152, *YYCURSOR);
03391        yyaccept = 0;
03392        yych = *(YYMARKER = ++YYCURSOR);
03393        if (yych <= '/') {
03394               if (yych <= ',') {
03395                      if (yych == ')') goto yy140;
03396                      goto yy4;
03397               } else {
03398                      if (yych == '.') goto yy4;
03399                      goto yy148;
03400               }
03401        } else {
03402               if (yych <= '^') {
03403                      if (yych <= '@') goto yy4;
03404                      if (yych <= 'Z') goto yy145;
03405                      goto yy4;
03406               } else {
03407                      if (yych <= '_') goto yy148;
03408                      if (yych <= '`') goto yy4;
03409                      if (yych >= '{') goto yy4;
03410               }
03411        }
03412 yy153:
03413        YYDEBUG(153, *YYCURSOR);
03414        yyaccept = 0;
03415        yych = *(YYMARKER = ++YYCURSOR);
03416        if (yybm[0+yych] & 16) {
03417               goto yy154;
03418        }
03419        if (yych <= '-') {
03420               if (yych == ')') goto yy140;
03421               if (yych <= ',') goto yy4;
03422               goto yy148;
03423        } else {
03424               if (yych <= '/') {
03425                      if (yych <= '.') goto yy4;
03426                      goto yy148;
03427               } else {
03428                      if (yych == '_') goto yy148;
03429                      goto yy4;
03430               }
03431        }
03432 yy154:
03433        YYDEBUG(154, *YYCURSOR);
03434        ++YYCURSOR;
03435        if (YYLIMIT <= YYCURSOR) YYFILL(1);
03436        yych = *YYCURSOR;
03437 yy155:
03438        YYDEBUG(155, *YYCURSOR);
03439        if (yybm[0+yych] & 16) {
03440               goto yy154;
03441        }
03442        if (yych <= '.') {
03443               if (yych == '-') goto yy148;
03444               goto yy57;
03445        } else {
03446               if (yych <= '/') goto yy148;
03447               if (yych == '_') goto yy148;
03448               goto yy57;
03449        }
03450 yy156:
03451        YYDEBUG(156, *YYCURSOR);
03452        yych = *++YYCURSOR;
03453        if (yych <= '@') {
03454               if (yych == ')') goto yy140;
03455               goto yy4;
03456        } else {
03457               if (yych <= 'Z') goto yy141;
03458               if (yych <= '`') goto yy4;
03459               if (yych <= 'z') goto yy141;
03460               goto yy4;
03461        }
03462 yy157:
03463        YYDEBUG(157, *YYCURSOR);
03464        yych = *++YYCURSOR;
03465        if (yych <= 'S') {
03466               if (yych == ')') goto yy140;
03467               if (yych <= '@') goto yy4;
03468               goto yy142;
03469        } else {
03470               if (yych <= 'Z') {
03471                      if (yych >= 'U') goto yy142;
03472               } else {
03473                      if (yych <= '`') goto yy4;
03474                      if (yych <= 'z') goto yy142;
03475                      goto yy4;
03476               }
03477        }
03478        YYDEBUG(158, *YYCURSOR);
03479        yyaccept = 0;
03480        yych = *(YYMARKER = ++YYCURSOR);
03481        if (yych <= ',') {
03482               if (yych <= ')') {
03483                      if (yych <= '(') goto yy4;
03484                      goto yy140;
03485               } else {
03486                      if (yych != '+') goto yy4;
03487               }
03488        } else {
03489               if (yych <= 'Z') {
03490                      if (yych <= '-') goto yy159;
03491                      if (yych <= '@') goto yy4;
03492                      goto yy143;
03493               } else {
03494                      if (yych <= '`') goto yy4;
03495                      if (yych <= 'z') goto yy143;
03496                      goto yy4;
03497               }
03498        }
03499 yy159:
03500        YYDEBUG(159, *YYCURSOR);
03501        yych = *++YYCURSOR;
03502        if (yych <= '/') goto yy57;
03503        if (yych <= '1') goto yy160;
03504        if (yych <= '2') goto yy161;
03505        if (yych <= '9') goto yy162;
03506        goto yy57;
03507 yy160:
03508        YYDEBUG(160, *YYCURSOR);
03509        yych = *++YYCURSOR;
03510        if (yych <= '/') goto yy4;
03511        if (yych <= '9') goto yy162;
03512        if (yych <= ':') goto yy163;
03513        goto yy4;
03514 yy161:
03515        YYDEBUG(161, *YYCURSOR);
03516        yych = *++YYCURSOR;
03517        if (yych <= '5') {
03518               if (yych <= '/') goto yy4;
03519               if (yych >= '5') goto yy164;
03520        } else {
03521               if (yych <= '9') goto yy140;
03522               if (yych <= ':') goto yy163;
03523               goto yy4;
03524        }
03525 yy162:
03526        YYDEBUG(162, *YYCURSOR);
03527        yych = *++YYCURSOR;
03528        if (yych <= '/') goto yy4;
03529        if (yych <= '5') goto yy164;
03530        if (yych <= '9') goto yy140;
03531        if (yych >= ';') goto yy4;
03532 yy163:
03533        YYDEBUG(163, *YYCURSOR);
03534        yych = *++YYCURSOR;
03535        if (yych <= '/') goto yy4;
03536        if (yych <= '5') goto yy164;
03537        if (yych <= '9') goto yy140;
03538        goto yy4;
03539 yy164:
03540        YYDEBUG(164, *YYCURSOR);
03541        yych = *++YYCURSOR;
03542        if (yych <= '/') goto yy4;
03543        if (yych <= '9') goto yy140;
03544        goto yy4;
03545 yy165:
03546        YYDEBUG(165, *YYCURSOR);
03547        yych = *++YYCURSOR;
03548        if (yych <= 'E') {
03549               if (yych <= '@') {
03550                      if (yych == ')') goto yy140;
03551                      goto yy4;
03552               } else {
03553                      if (yych <= 'C') goto yy142;
03554                      if (yych >= 'E') goto yy168;
03555               }
03556        } else {
03557               if (yych <= 'c') {
03558                      if (yych <= 'Z') goto yy142;
03559                      if (yych <= '`') goto yy4;
03560                      goto yy142;
03561               } else {
03562                      if (yych <= 'd') goto yy166;
03563                      if (yych <= 'e') goto yy168;
03564                      if (yych <= 'z') goto yy142;
03565                      goto yy4;
03566               }
03567        }
03568 yy166:
03569        YYDEBUG(166, *YYCURSOR);
03570        ++YYCURSOR;
03571        if ((yych = *YYCURSOR) <= 'N') {
03572               if (yych <= ')') {
03573                      if (yych >= ')') goto yy140;
03574               } else {
03575                      if (yych <= '@') goto yy167;
03576                      if (yych <= 'M') goto yy143;
03577                      goto yy174;
03578               }
03579        } else {
03580               if (yych <= 'm') {
03581                      if (yych <= 'Z') goto yy143;
03582                      if (yych >= 'a') goto yy143;
03583               } else {
03584                      if (yych <= 'n') goto yy174;
03585                      if (yych <= 'z') goto yy143;
03586               }
03587        }
03588 yy167:
03589        YYDEBUG(167, *YYCURSOR);
03590        {
03591               const timelib_relunit* relunit;
03592               DEBUG_OUTPUT("daytext");
03593               TIMELIB_INIT;
03594               TIMELIB_HAVE_RELATIVE();
03595               TIMELIB_HAVE_WEEKDAY_RELATIVE();
03596               TIMELIB_UNHAVE_TIME();
03597               relunit = timelib_lookup_relunit((char**) &ptr);
03598               s->time->relative.weekday = relunit->multiplier;
03599               if (s->time->relative.weekday_behavior != 2) {
03600                      s->time->relative.weekday_behavior = 1;
03601               }
03602               
03603               TIMELIB_DEINIT;
03604               return TIMELIB_WEEKDAY;
03605        }
03606 yy168:
03607        YYDEBUG(168, *YYCURSOR);
03608        yych = *++YYCURSOR;
03609        if (yych <= 'K') {
03610               if (yych <= ')') {
03611                      if (yych <= '(') goto yy4;
03612                      goto yy140;
03613               } else {
03614                      if (yych <= '@') goto yy4;
03615                      if (yych <= 'J') goto yy143;
03616               }
03617        } else {
03618               if (yych <= 'j') {
03619                      if (yych <= 'Z') goto yy143;
03620                      if (yych <= '`') goto yy4;
03621                      goto yy143;
03622               } else {
03623                      if (yych <= 'k') goto yy169;
03624                      if (yych <= 'z') goto yy143;
03625                      goto yy4;
03626               }
03627        }
03628 yy169:
03629        YYDEBUG(169, *YYCURSOR);
03630        yych = *++YYCURSOR;
03631        if (yych <= 'D') {
03632               if (yych <= ')') {
03633                      if (yych <= '(') goto yy4;
03634                      goto yy140;
03635               } else {
03636                      if (yych <= '@') goto yy4;
03637                      if (yych <= 'C') goto yy144;
03638               }
03639        } else {
03640               if (yych <= 'c') {
03641                      if (yych <= 'Z') goto yy144;
03642                      if (yych <= '`') goto yy4;
03643                      goto yy144;
03644               } else {
03645                      if (yych <= 'd') goto yy170;
03646                      if (yych <= 'z') goto yy144;
03647                      goto yy4;
03648               }
03649        }
03650 yy170:
03651        YYDEBUG(170, *YYCURSOR);
03652        yych = *++YYCURSOR;
03653        if (yych <= 'A') {
03654               if (yych == ')') goto yy140;
03655               if (yych <= '@') goto yy4;
03656        } else {
03657               if (yych <= '`') {
03658                      if (yych <= 'Z') goto yy145;
03659                      goto yy4;
03660               } else {
03661                      if (yych <= 'a') goto yy171;
03662                      if (yych <= 'z') goto yy145;
03663                      goto yy4;
03664               }
03665        }
03666 yy171:
03667        YYDEBUG(171, *YYCURSOR);
03668        yych = *++YYCURSOR;
03669        if (yych <= 'X') {
03670               if (yych == ')') goto yy140;
03671               goto yy4;
03672        } else {
03673               if (yych <= 'Y') goto yy172;
03674               if (yych != 'y') goto yy4;
03675        }
03676 yy172:
03677        YYDEBUG(172, *YYCURSOR);
03678        yych = *++YYCURSOR;
03679        if (yych == 'S') goto yy173;
03680        if (yych != 's') goto yy167;
03681 yy173:
03682        YYDEBUG(173, *YYCURSOR);
03683        yych = *++YYCURSOR;
03684        goto yy167;
03685 yy174:
03686        YYDEBUG(174, *YYCURSOR);
03687        yych = *++YYCURSOR;
03688        if (yych <= 'E') {
03689               if (yych <= ')') {
03690                      if (yych <= '(') goto yy4;
03691                      goto yy140;
03692               } else {
03693                      if (yych <= '@') goto yy4;
03694                      if (yych <= 'D') goto yy144;
03695               }
03696        } else {
03697               if (yych <= 'd') {
03698                      if (yych <= 'Z') goto yy144;
03699                      if (yych <= '`') goto yy4;
03700                      goto yy144;
03701               } else {
03702                      if (yych <= 'e') goto yy175;
03703                      if (yych <= 'z') goto yy144;
03704                      goto yy4;
03705               }
03706        }
03707 yy175:
03708        YYDEBUG(175, *YYCURSOR);
03709        yych = *++YYCURSOR;
03710        if (yych <= 'S') {
03711               if (yych <= ')') {
03712                      if (yych <= '(') goto yy4;
03713                      goto yy140;
03714               } else {
03715                      if (yych <= '@') goto yy4;
03716                      if (yych <= 'R') goto yy145;
03717               }
03718        } else {
03719               if (yych <= 'r') {
03720                      if (yych <= 'Z') goto yy145;
03721                      if (yych <= '`') goto yy4;
03722                      goto yy145;
03723               } else {
03724                      if (yych <= 's') goto yy176;
03725                      if (yych <= 'z') goto yy145;
03726                      goto yy4;
03727               }
03728        }
03729 yy176:
03730        YYDEBUG(176, *YYCURSOR);
03731        yyaccept = 0;
03732        yych = *(YYMARKER = ++YYCURSOR);
03733        if (yych <= 'C') {
03734               if (yych == ')') goto yy140;
03735               goto yy4;
03736        } else {
03737               if (yych <= 'D') goto yy177;
03738               if (yych != 'd') goto yy4;
03739        }
03740 yy177:
03741        YYDEBUG(177, *YYCURSOR);
03742        yych = *++YYCURSOR;
03743        if (yych == 'A') goto yy178;
03744        if (yych != 'a') goto yy57;
03745 yy178:
03746        YYDEBUG(178, *YYCURSOR);
03747        yych = *++YYCURSOR;
03748        if (yych == 'Y') goto yy173;
03749        if (yych == 'y') goto yy173;
03750        goto yy57;
03751 yy179:
03752        YYDEBUG(179, *YYCURSOR);
03753        yyaccept = 0;
03754        yych = *(YYMARKER = ++YYCURSOR);
03755        if (yych <= 'D') {
03756               if (yych <= '-') {
03757                      if (yych == ')') goto yy140;
03758                      if (yych <= ',') goto yy4;
03759                      goto yy148;
03760               } else {
03761                      if (yych <= '/') {
03762                             if (yych <= '.') goto yy4;
03763                             goto yy148;
03764                      } else {
03765                             if (yych <= '@') goto yy4;
03766                             if (yych <= 'C') goto yy142;
03767                             goto yy166;
03768                      }
03769               }
03770        } else {
03771               if (yych <= '`') {
03772                      if (yych <= 'Z') {
03773                             if (yych <= 'E') goto yy168;
03774                             goto yy142;
03775                      } else {
03776                             if (yych == '_') goto yy148;
03777                             goto yy4;
03778                      }
03779               } else {
03780                      if (yych <= 'd') {
03781                             if (yych <= 'c') goto yy147;
03782                      } else {
03783                             if (yych <= 'e') goto yy181;
03784                             if (yych <= 'z') goto yy147;
03785                             goto yy4;
03786                      }
03787               }
03788        }
03789        YYDEBUG(180, *YYCURSOR);
03790        yyaccept = 4;
03791        yych = *(YYMARKER = ++YYCURSOR);
03792        if (yych <= 'M') {
03793               if (yych <= '-') {
03794                      if (yych == ')') goto yy140;
03795                      if (yych <= ',') goto yy167;
03796                      goto yy148;
03797               } else {
03798                      if (yych == '/') goto yy148;
03799                      if (yych <= '@') goto yy167;
03800                      goto yy143;
03801               }
03802        } else {
03803               if (yych <= '_') {
03804                      if (yych <= 'N') goto yy174;
03805                      if (yych <= 'Z') goto yy143;
03806                      if (yych <= '^') goto yy167;
03807                      goto yy148;
03808               } else {
03809                      if (yych <= 'm') {
03810                             if (yych <= '`') goto yy167;
03811                             goto yy151;
03812                      } else {
03813                             if (yych <= 'n') goto yy187;
03814                             if (yych <= 'z') goto yy151;
03815                             goto yy167;
03816                      }
03817               }
03818        }
03819 yy181:
03820        YYDEBUG(181, *YYCURSOR);
03821        yyaccept = 0;
03822        yych = *(YYMARKER = ++YYCURSOR);
03823        if (yych <= 'J') {
03824               if (yych <= '-') {
03825                      if (yych == ')') goto yy140;
03826                      if (yych <= ',') goto yy4;
03827                      goto yy148;
03828               } else {
03829                      if (yych == '/') goto yy148;
03830                      if (yych <= '@') goto yy4;
03831                      goto yy143;
03832               }
03833        } else {
03834               if (yych <= '_') {
03835                      if (yych <= 'K') goto yy169;
03836                      if (yych <= 'Z') goto yy143;
03837                      if (yych <= '^') goto yy4;
03838                      goto yy148;
03839               } else {
03840                      if (yych <= 'j') {
03841                             if (yych <= '`') goto yy4;
03842                             goto yy151;
03843                      } else {
03844                             if (yych <= 'k') goto yy182;
03845                             if (yych <= 'z') goto yy151;
03846                             goto yy4;
03847                      }
03848               }
03849        }
03850 yy182:
03851        YYDEBUG(182, *YYCURSOR);
03852        yyaccept = 0;
03853        yych = *(YYMARKER = ++YYCURSOR);
03854        if (yych <= 'C') {
03855               if (yych <= '-') {
03856                      if (yych == ')') goto yy140;
03857                      if (yych <= ',') goto yy4;
03858                      goto yy148;
03859               } else {
03860                      if (yych == '/') goto yy148;
03861                      if (yych <= '@') goto yy4;
03862                      goto yy144;
03863               }
03864        } else {
03865               if (yych <= '_') {
03866                      if (yych <= 'D') goto yy170;
03867                      if (yych <= 'Z') goto yy144;
03868                      if (yych <= '^') goto yy4;
03869                      goto yy148;
03870               } else {
03871                      if (yych <= 'c') {
03872                             if (yych <= '`') goto yy4;
03873                             goto yy152;
03874                      } else {
03875                             if (yych <= 'd') goto yy183;
03876                             if (yych <= 'z') goto yy152;
03877                             goto yy4;
03878                      }
03879               }
03880        }
03881 yy183:
03882        YYDEBUG(183, *YYCURSOR);
03883        yyaccept = 0;
03884        yych = *(YYMARKER = ++YYCURSOR);
03885        if (yych <= '@') {
03886               if (yych <= ',') {
03887                      if (yych == ')') goto yy140;
03888                      goto yy4;
03889               } else {
03890                      if (yych == '.') goto yy4;
03891                      if (yych <= '/') goto yy148;
03892                      goto yy4;
03893               }
03894        } else {
03895               if (yych <= '_') {
03896                      if (yych <= 'A') goto yy171;
03897                      if (yych <= 'Z') goto yy145;
03898                      if (yych <= '^') goto yy4;
03899                      goto yy148;
03900               } else {
03901                      if (yych <= '`') goto yy4;
03902                      if (yych <= 'a') goto yy184;
03903                      if (yych <= 'z') goto yy153;
03904                      goto yy4;
03905               }
03906        }
03907 yy184:
03908        YYDEBUG(184, *YYCURSOR);
03909        yyaccept = 0;
03910        yych = *(YYMARKER = ++YYCURSOR);
03911        if (yych <= 'X') {
03912               if (yych <= ',') {
03913                      if (yych == ')') goto yy140;
03914                      goto yy4;
03915               } else {
03916                      if (yych == '.') goto yy4;
03917                      if (yych <= '/') goto yy148;
03918                      goto yy4;
03919               }
03920        } else {
03921               if (yych <= '`') {
03922                      if (yych <= 'Y') goto yy172;
03923                      if (yych == '_') goto yy148;
03924                      goto yy4;
03925               } else {
03926                      if (yych == 'y') goto yy185;
03927                      if (yych <= 'z') goto yy154;
03928                      goto yy4;
03929               }
03930        }
03931 yy185:
03932        YYDEBUG(185, *YYCURSOR);
03933        yyaccept = 4;
03934        yych = *(YYMARKER = ++YYCURSOR);
03935        if (yych <= 'S') {
03936               if (yych <= '.') {
03937                      if (yych == '-') goto yy148;
03938                      goto yy167;
03939               } else {
03940                      if (yych <= '/') goto yy148;
03941                      if (yych <= 'R') goto yy167;
03942                      goto yy173;
03943               }
03944        } else {
03945               if (yych <= '`') {
03946                      if (yych == '_') goto yy148;
03947                      goto yy167;
03948               } else {
03949                      if (yych == 's') goto yy186;
03950                      if (yych <= 'z') goto yy154;
03951                      goto yy167;
03952               }
03953        }
03954 yy186:
03955        YYDEBUG(186, *YYCURSOR);
03956        yyaccept = 4;
03957        yych = *(YYMARKER = ++YYCURSOR);
03958        if (yybm[0+yych] & 16) {
03959               goto yy154;
03960        }
03961        if (yych <= '.') {
03962               if (yych == '-') goto yy148;
03963               goto yy167;
03964        } else {
03965               if (yych <= '/') goto yy148;
03966               if (yych == '_') goto yy148;
03967               goto yy167;
03968        }
03969 yy187:
03970        YYDEBUG(187, *YYCURSOR);
03971        yyaccept = 0;
03972        yych = *(YYMARKER = ++YYCURSOR);
03973        if (yych <= 'D') {
03974               if (yych <= '-') {
03975                      if (yych == ')') goto yy140;
03976                      if (yych <= ',') goto yy4;
03977                      goto yy148;
03978               } else {
03979                      if (yych == '/') goto yy148;
03980                      if (yych <= '@') goto yy4;
03981                      goto yy144;
03982               }
03983        } else {
03984               if (yych <= '_') {
03985                      if (yych <= 'E') goto yy175;
03986                      if (yych <= 'Z') goto yy144;
03987                      if (yych <= '^') goto yy4;
03988                      goto yy148;
03989               } else {
03990                      if (yych <= 'd') {
03991                             if (yych <= '`') goto yy4;
03992                             goto yy152;
03993                      } else {
03994                             if (yych <= 'e') goto yy188;
03995                             if (yych <= 'z') goto yy152;
03996                             goto yy4;
03997                      }
03998               }
03999        }
04000 yy188:
04001        YYDEBUG(188, *YYCURSOR);
04002        yyaccept = 0;
04003        yych = *(YYMARKER = ++YYCURSOR);
04004        if (yych <= 'R') {
04005               if (yych <= '-') {
04006                      if (yych == ')') goto yy140;
04007                      if (yych <= ',') goto yy4;
04008                      goto yy148;
04009               } else {
04010                      if (yych == '/') goto yy148;
04011                      if (yych <= '@') goto yy4;
04012                      goto yy145;
04013               }
04014        } else {
04015               if (yych <= '_') {
04016                      if (yych <= 'S') goto yy176;
04017                      if (yych <= 'Z') goto yy145;
04018                      if (yych <= '^') goto yy4;
04019                      goto yy148;
04020               } else {
04021                      if (yych <= 'r') {
04022                             if (yych <= '`') goto yy4;
04023                             goto yy153;
04024                      } else {
04025                             if (yych <= 's') goto yy189;
04026                             if (yych <= 'z') goto yy153;
04027                             goto yy4;
04028                      }
04029               }
04030        }
04031 yy189:
04032        YYDEBUG(189, *YYCURSOR);
04033        yyaccept = 0;
04034        yych = *(YYMARKER = ++YYCURSOR);
04035        if (yych <= 'C') {
04036               if (yych <= ',') {
04037                      if (yych == ')') goto yy140;
04038                      goto yy4;
04039               } else {
04040                      if (yych == '.') goto yy4;
04041                      if (yych <= '/') goto yy148;
04042                      goto yy4;
04043               }
04044        } else {
04045               if (yych <= '`') {
04046                      if (yych <= 'D') goto yy177;
04047                      if (yych == '_') goto yy148;
04048                      goto yy4;
04049               } else {
04050                      if (yych == 'd') goto yy190;
04051                      if (yych <= 'z') goto yy154;
04052                      goto yy4;
04053               }
04054        }
04055 yy190:
04056        YYDEBUG(190, *YYCURSOR);
04057        yych = *++YYCURSOR;
04058        if (yych == 'A') goto yy178;
04059        if (yych != 'a') goto yy155;
04060        YYDEBUG(191, *YYCURSOR);
04061        yych = *++YYCURSOR;
04062        if (yych == 'Y') goto yy173;
04063        if (yych == 'y') goto yy186;
04064        goto yy155;
04065 yy192:
04066        YYDEBUG(192, *YYCURSOR);
04067        yych = *++YYCURSOR;
04068        if (yych <= 'C') {
04069               if (yych <= ')') {
04070                      if (yych <= '(') goto yy4;
04071                      goto yy140;
04072               } else {
04073                      if (yych <= '@') goto yy4;
04074                      if (yych <= 'B') goto yy142;
04075               }
04076        } else {
04077               if (yych <= 'b') {
04078                      if (yych <= 'Z') goto yy142;
04079                      if (yych <= '`') goto yy4;
04080                      goto yy142;
04081               } else {
04082                      if (yych <= 'c') goto yy193;
04083                      if (yych <= 'z') goto yy142;
04084                      goto yy4;
04085               }
04086        }
04087 yy193:
04088        YYDEBUG(193, *YYCURSOR);
04089        yyaccept = 5;
04090        yych = *(YYMARKER = ++YYCURSOR);
04091        if (yych <= '/') {
04092               if (yych <= '(') {
04093                      if (yych <= '\t') {
04094                             if (yych >= '\t') goto yy196;
04095                      } else {
04096                             if (yych == ' ') goto yy196;
04097                      }
04098               } else {
04099                      if (yych <= ',') {
04100                             if (yych <= ')') goto yy140;
04101                      } else {
04102                             if (yych <= '-') goto yy197;
04103                             if (yych <= '.') goto yy196;
04104                      }
04105               }
04106        } else {
04107               if (yych <= 'Z') {
04108                      if (yych <= '@') {
04109                             if (yych <= '9') goto yy196;
04110                      } else {
04111                             if (yych == 'E') goto yy202;
04112                             goto yy143;
04113                      }
04114               } else {
04115                      if (yych <= 'd') {
04116                             if (yych >= 'a') goto yy143;
04117                      } else {
04118                             if (yych <= 'e') goto yy202;
04119                             if (yych <= 'z') goto yy143;
04120                      }
04121               }
04122        }
04123 yy194:
04124        YYDEBUG(194, *YYCURSOR);
04125        {
04126               DEBUG_OUTPUT("monthtext");
04127               TIMELIB_INIT;
04128               TIMELIB_HAVE_DATE();
04129               s->time->m = timelib_lookup_month((char **) &ptr);
04130               TIMELIB_DEINIT;
04131               return TIMELIB_DATE_TEXT;
04132        }
04133 yy195:
04134        YYDEBUG(195, *YYCURSOR);
04135        ++YYCURSOR;
04136        if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
04137        yych = *YYCURSOR;
04138 yy196:
04139        YYDEBUG(196, *YYCURSOR);
04140        if (yybm[0+yych] & 32) {
04141               goto yy195;
04142        }
04143        if (yych <= '/') goto yy57;
04144        if (yych <= '2') goto yy198;
04145        if (yych <= '3') goto yy200;
04146        if (yych <= '9') goto yy201;
04147        goto yy57;
04148 yy197:
04149        YYDEBUG(197, *YYCURSOR);
04150        yych = *++YYCURSOR;
04151        if (yych <= '/') goto yy196;
04152        if (yych <= '0') goto yy357;
04153        if (yych <= '2') goto yy358;
04154        if (yych <= '3') goto yy359;
04155        goto yy196;
04156 yy198:
04157        YYDEBUG(198, *YYCURSOR);
04158        yyaccept = 6;
04159        yych = *(YYMARKER = ++YYCURSOR);
04160        if (yych <= 'm') {
04161               if (yych <= '1') {
04162                      if (yych <= '/') goto yy216;
04163                      if (yych <= '0') goto yy298;
04164                      goto yy299;
04165               } else {
04166                      if (yych <= '2') goto yy355;
04167                      if (yych <= '9') goto yy356;
04168                      goto yy216;
04169               }
04170        } else {
04171               if (yych <= 'r') {
04172                      if (yych <= 'n') goto yy212;
04173                      if (yych <= 'q') goto yy216;
04174                      goto yy213;
04175               } else {
04176                      if (yych <= 's') goto yy211;
04177                      if (yych <= 't') goto yy214;
04178                      goto yy216;
04179               }
04180        }
04181 yy199:
04182        YYDEBUG(199, *YYCURSOR);
04183        {
04184               int length = 0;
04185               DEBUG_OUTPUT("datetextual | datenoyear");
04186               TIMELIB_INIT;
04187               TIMELIB_HAVE_DATE();
04188               s->time->m = timelib_get_month((char **) &ptr);
04189               s->time->d = timelib_get_nr((char **) &ptr, 2);
04190               s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
04191               TIMELIB_PROCESS_YEAR(s->time->y, length);
04192               TIMELIB_DEINIT;
04193               return TIMELIB_DATE_TEXT;
04194        }
04195 yy200:
04196        YYDEBUG(200, *YYCURSOR);
04197        yyaccept = 6;
04198        yych = *(YYMARKER = ++YYCURSOR);
04199        if (yych <= 'm') {
04200               if (yych <= '1') {
04201                      if (yych <= '/') goto yy216;
04202                      if (yych <= '0') goto yy298;
04203                      goto yy299;
04204               } else {
04205                      if (yych <= '2') goto yy209;
04206                      if (yych <= '9') goto yy210;
04207                      goto yy216;
04208               }
04209        } else {
04210               if (yych <= 'r') {
04211                      if (yych <= 'n') goto yy212;
04212                      if (yych <= 'q') goto yy216;
04213                      goto yy213;
04214               } else {
04215                      if (yych <= 's') goto yy211;
04216                      if (yych <= 't') goto yy214;
04217                      goto yy216;
04218               }
04219        }
04220 yy201:
04221        YYDEBUG(201, *YYCURSOR);
04222        yyaccept = 6;
04223        yych = *(YYMARKER = ++YYCURSOR);
04224        if (yych <= 'm') {
04225               if (yych <= '1') {
04226                      if (yych <= '/') goto yy216;
04227                      if (yych <= '0') goto yy207;
04228                      goto yy208;
04229               } else {
04230                      if (yych <= '2') goto yy209;
04231                      if (yych <= '9') goto yy210;
04232                      goto yy216;
04233               }
04234        } else {
04235               if (yych <= 'r') {
04236                      if (yych <= 'n') goto yy212;
04237                      if (yych <= 'q') goto yy216;
04238                      goto yy213;
04239               } else {
04240                      if (yych <= 's') goto yy211;
04241                      if (yych <= 't') goto yy214;
04242                      goto yy216;
04243               }
04244        }
04245 yy202:
04246        YYDEBUG(202, *YYCURSOR);
04247        yych = *++YYCURSOR;
04248        if (yych <= 'M') {
04249               if (yych <= ')') {
04250                      if (yych <= '(') goto yy4;
04251                      goto yy140;
04252               } else {
04253                      if (yych <= '@') goto yy4;
04254                      if (yych <= 'L') goto yy144;
04255               }
04256        } else {
04257               if (yych <= 'l') {
04258                      if (yych <= 'Z') goto yy144;
04259                      if (yych <= '`') goto yy4;
04260                      goto yy144;
04261               } else {
04262                      if (yych <= 'm') goto yy203;
04263                      if (yych <= 'z') goto yy144;
04264                      goto yy4;
04265               }
04266        }
04267 yy203:
04268        YYDEBUG(203, *YYCURSOR);
04269        yych = *++YYCURSOR;
04270        if (yych <= 'B') {
04271               if (yych <= ')') {
04272                      if (yych <= '(') goto yy4;
04273                      goto yy140;
04274               } else {
04275                      if (yych <= '@') goto yy4;
04276                      if (yych <= 'A') goto yy145;
04277               }
04278        } else {
04279               if (yych <= 'a') {
04280                      if (yych <= 'Z') goto yy145;
04281                      if (yych <= '`') goto yy4;
04282                      goto yy145;
04283               } else {
04284                      if (yych <= 'b') goto yy204;
04285                      if (yych <= 'z') goto yy145;
04286                      goto yy4;
04287               }
04288        }
04289 yy204:
04290        YYDEBUG(204, *YYCURSOR);
04291        yyaccept = 0;
04292        yych = *(YYMARKER = ++YYCURSOR);
04293        if (yych <= 'D') {
04294               if (yych == ')') goto yy140;
04295               goto yy4;
04296        } else {
04297               if (yych <= 'E') goto yy205;
04298               if (yych != 'e') goto yy4;
04299        }
04300 yy205:
04301        YYDEBUG(205, *YYCURSOR);
04302        yych = *++YYCURSOR;
04303        if (yych == 'R') goto yy206;
04304        if (yych != 'r') goto yy57;
04305 yy206:
04306        YYDEBUG(206, *YYCURSOR);
04307        yyaccept = 5;
04308        yych = *(YYMARKER = ++YYCURSOR);
04309        if (yych <= ' ') {
04310               if (yych == '\t') goto yy196;
04311               if (yych <= 0x1F) goto yy194;
04312               goto yy196;
04313        } else {
04314               if (yych <= '.') {
04315                      if (yych <= ',') goto yy194;
04316                      goto yy196;
04317               } else {
04318                      if (yych <= '/') goto yy194;
04319                      if (yych <= '9') goto yy196;
04320                      goto yy194;
04321               }
04322        }
04323 yy207:
04324        YYDEBUG(207, *YYCURSOR);
04325        yych = *++YYCURSOR;
04326        if (yych <= '/') {
04327               if (yych == '.') goto yy221;
04328               goto yy57;
04329        } else {
04330               if (yych <= '0') goto yy296;
04331               if (yych <= '9') goto yy297;
04332               if (yych <= ':') goto yy221;
04333               goto yy57;
04334        }
04335 yy208:
04336        YYDEBUG(208, *YYCURSOR);
04337        yych = *++YYCURSOR;
04338        if (yych <= '/') {
04339               if (yych == '.') goto yy264;
04340               goto yy57;
04341        } else {
04342               if (yych <= '2') goto yy297;
04343               if (yych <= '9') goto yy296;
04344               if (yych <= ':') goto yy264;
04345               goto yy57;
04346        }
04347 yy209:
04348        YYDEBUG(209, *YYCURSOR);
04349        yych = *++YYCURSOR;
04350        if (yych <= '/') {
04351               if (yych == '.') goto yy264;
04352               goto yy57;
04353        } else {
04354               if (yych <= '4') goto yy296;
04355               if (yych <= '9') goto yy293;
04356               if (yych <= ':') goto yy264;
04357               goto yy57;
04358        }
04359 yy210:
04360        YYDEBUG(210, *YYCURSOR);
04361        yych = *++YYCURSOR;
04362        if (yych <= '/') {
04363               if (yych == '.') goto yy264;
04364               goto yy57;
04365        } else {
04366               if (yych <= '9') goto yy293;
04367               if (yych <= ':') goto yy264;
04368               goto yy57;
04369        }
04370 yy211:
04371        YYDEBUG(211, *YYCURSOR);
04372        yyaccept = 6;
04373        yych = *(YYMARKER = ++YYCURSOR);
04374        goto yy216;
04375 yy212:
04376        YYDEBUG(212, *YYCURSOR);
04377        yyaccept = 6;
04378        yych = *(YYMARKER = ++YYCURSOR);
04379        goto yy216;
04380 yy213:
04381        YYDEBUG(213, *YYCURSOR);
04382        yyaccept = 6;
04383        yych = *(YYMARKER = ++YYCURSOR);
04384        goto yy216;
04385 yy214:
04386        YYDEBUG(214, *YYCURSOR);
04387        yyaccept = 6;
04388        yych = *(YYMARKER = ++YYCURSOR);
04389        goto yy216;
04390 yy215:
04391        YYDEBUG(215, *YYCURSOR);
04392        yyaccept = 6;
04393        YYMARKER = ++YYCURSOR;
04394        if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18);
04395        yych = *YYCURSOR;
04396 yy216:
04397        YYDEBUG(216, *YYCURSOR);
04398        if (yybm[0+yych] & 64) {
04399               goto yy215;
04400        }
04401        if (yych <= '2') {
04402               if (yych <= '/') goto yy199;
04403               if (yych <= '0') goto yy259;
04404               if (yych <= '1') goto yy260;
04405               goto yy261;
04406        } else {
04407               if (yych <= '9') goto yy262;
04408               if (yych != 'T') goto yy199;
04409        }
04410        YYDEBUG(217, *YYCURSOR);
04411        yych = *++YYCURSOR;
04412        if (yych <= '/') goto yy57;
04413        if (yych <= '1') goto yy218;
04414        if (yych <= '2') goto yy219;
04415        if (yych <= '9') goto yy220;
04416        goto yy57;
04417 yy218:
04418        YYDEBUG(218, *YYCURSOR);
04419        yych = *++YYCURSOR;
04420        if (yych <= '/') {
04421               if (yych == '.') goto yy221;
04422               goto yy57;
04423        } else {
04424               if (yych <= '9') goto yy220;
04425               if (yych <= ':') goto yy221;
04426               goto yy57;
04427        }
04428 yy219:
04429        YYDEBUG(219, *YYCURSOR);
04430        yych = *++YYCURSOR;
04431        if (yych <= '/') {
04432               if (yych == '.') goto yy221;
04433               goto yy57;
04434        } else {
04435               if (yych <= '4') goto yy220;
04436               if (yych == ':') goto yy221;
04437               goto yy57;
04438        }
04439 yy220:
04440        YYDEBUG(220, *YYCURSOR);
04441        yych = *++YYCURSOR;
04442        if (yych == '.') goto yy221;
04443        if (yych != ':') goto yy57;
04444 yy221:
04445        YYDEBUG(221, *YYCURSOR);
04446        yych = *++YYCURSOR;
04447        if (yych <= '/') goto yy57;
04448        if (yych <= '5') goto yy222;
04449        if (yych <= '9') goto yy224;
04450        goto yy57;
04451 yy222:
04452        YYDEBUG(222, *YYCURSOR);
04453        yyaccept = 7;
04454        yych = *(YYMARKER = ++YYCURSOR);
04455        if (yych <= '/') {
04456               if (yych == '.') goto yy225;
04457        } else {
04458               if (yych <= '9') goto yy224;
04459               if (yych <= ':') goto yy225;
04460        }
04461 yy223:
04462        YYDEBUG(223, *YYCURSOR);
04463        {
04464               int tz_not_found;
04465               DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
04466               TIMELIB_INIT;
04467               TIMELIB_HAVE_DATE();
04468               s->time->m = timelib_get_month((char **) &ptr);
04469               s->time->d = timelib_get_nr((char **) &ptr, 2);
04470 
04471               TIMELIB_HAVE_TIME();
04472               s->time->h = timelib_get_nr((char **) &ptr, 2);
04473               s->time->i = timelib_get_nr((char **) &ptr, 2);
04474               if (*ptr == ':') {
04475                      s->time->s = timelib_get_nr((char **) &ptr, 2);
04476 
04477                      if (*ptr == '.') {
04478                             s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
04479                      }
04480               }
04481 
04482               if (*ptr != '\0') {
04483                      s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
04484                      if (tz_not_found) {
04485                             add_error(s, "The timezone could not be found in the database");
04486                      }
04487               }
04488               TIMELIB_DEINIT;
04489               return TIMELIB_SHORTDATE_WITH_TIME;
04490        }
04491 yy224:
04492        YYDEBUG(224, *YYCURSOR);
04493        yyaccept = 7;
04494        yych = *(YYMARKER = ++YYCURSOR);
04495        if (yych == '.') goto yy225;
04496        if (yych != ':') goto yy223;
04497 yy225:
04498        YYDEBUG(225, *YYCURSOR);
04499        yych = *++YYCURSOR;
04500        if (yych <= '/') goto yy57;
04501        if (yych <= '5') goto yy226;
04502        if (yych <= '6') goto yy227;
04503        if (yych <= '9') goto yy228;
04504        goto yy57;
04505 yy226:
04506        YYDEBUG(226, *YYCURSOR);
04507        yych = *++YYCURSOR;
04508        if (yych <= '/') goto yy223;
04509        if (yych <= '9') goto yy229;
04510        goto yy223;
04511 yy227:
04512        YYDEBUG(227, *YYCURSOR);
04513        yych = *++YYCURSOR;
04514        if (yych == '0') goto yy229;
04515        goto yy223;
04516 yy228:
04517        YYDEBUG(228, *YYCURSOR);
04518        yych = *++YYCURSOR;
04519        goto yy223;
04520 yy229:
04521        YYDEBUG(229, *YYCURSOR);
04522        yyaccept = 7;
04523        yych = *(YYMARKER = ++YYCURSOR);
04524        if (yych <= '*') {
04525               if (yych <= 0x1F) {
04526                      if (yych == '\t') goto yy231;
04527                      goto yy223;
04528               } else {
04529                      if (yych <= ' ') goto yy231;
04530                      if (yych == '(') goto yy231;
04531                      goto yy223;
04532               }
04533        } else {
04534               if (yych <= '@') {
04535                      if (yych == ',') goto yy223;
04536                      if (yych <= '-') goto yy231;
04537                      goto yy223;
04538               } else {
04539                      if (yych <= 'Z') goto yy231;
04540                      if (yych <= '`') goto yy223;
04541                      if (yych <= 'z') goto yy231;
04542                      goto yy223;
04543               }
04544        }
04545 yy230:
04546        YYDEBUG(230, *YYCURSOR);
04547        ++YYCURSOR;
04548        if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
04549        yych = *YYCURSOR;
04550 yy231:
04551        YYDEBUG(231, *YYCURSOR);
04552        if (yych <= '+') {
04553               if (yych <= ' ') {
04554                      if (yych == '\t') goto yy230;
04555                      if (yych <= 0x1F) goto yy57;
04556                      goto yy230;
04557               } else {
04558                      if (yych == '(') goto yy234;
04559                      if (yych <= '*') goto yy57;
04560                      goto yy233;
04561               }
04562        } else {
04563               if (yych <= 'F') {
04564                      if (yych == '-') goto yy233;
04565                      if (yych <= '@') goto yy57;
04566                      goto yy235;
04567               } else {
04568                      if (yych <= 'Z') {
04569                             if (yych >= 'H') goto yy235;
04570                      } else {
04571                             if (yych <= '`') goto yy57;
04572                             if (yych <= 'z') goto yy236;
04573                             goto yy57;
04574                      }
04575               }
04576        }
04577 yy232:
04578        YYDEBUG(232, *YYCURSOR);
04579        yych = *++YYCURSOR;
04580        if (yych <= 'L') {
04581               if (yych == ')') goto yy228;
04582               if (yych <= '@') goto yy223;
04583               goto yy237;
04584        } else {
04585               if (yych <= 'Z') {
04586                      if (yych <= 'M') goto yy257;
04587                      goto yy237;
04588               } else {
04589                      if (yych <= '`') goto yy223;
04590                      if (yych <= 'z') goto yy242;
04591                      goto yy223;
04592               }
04593        }
04594 yy233:
04595        YYDEBUG(233, *YYCURSOR);
04596        yych = *++YYCURSOR;
04597        if (yych <= '/') goto yy57;
04598        if (yych <= '1') goto yy252;
04599        if (yych <= '2') goto yy253;
04600        if (yych <= '9') goto yy254;
04601        goto yy57;
04602 yy234:
04603        YYDEBUG(234, *YYCURSOR);
04604        yych = *++YYCURSOR;
04605        if (yych <= '@') goto yy57;
04606        if (yych <= 'Z') goto yy236;
04607        if (yych <= '`') goto yy57;
04608        if (yych <= 'z') goto yy236;
04609        goto yy57;
04610 yy235:
04611        YYDEBUG(235, *YYCURSOR);
04612        yych = *++YYCURSOR;
04613        if (yych <= '@') {
04614               if (yych == ')') goto yy228;
04615               goto yy223;
04616        } else {
04617               if (yych <= 'Z') goto yy237;
04618               if (yych <= '`') goto yy223;
04619               if (yych <= 'z') goto yy242;
04620               goto yy223;
04621        }
04622 yy236:
04623        YYDEBUG(236, *YYCURSOR);
04624        yych = *++YYCURSOR;
04625        if (yych <= '@') {
04626               if (yych == ')') goto yy228;
04627               goto yy223;
04628        } else {
04629               if (yych <= 'Z') goto yy237;
04630               if (yych <= '`') goto yy223;
04631               if (yych >= '{') goto yy223;
04632        }
04633 yy237:
04634        YYDEBUG(237, *YYCURSOR);
04635        yych = *++YYCURSOR;
04636        if (yych <= '@') {
04637               if (yych == ')') goto yy228;
04638               goto yy223;
04639        } else {
04640               if (yych <= 'Z') goto yy238;
04641               if (yych <= '`') goto yy223;
04642               if (yych >= '{') goto yy223;
04643        }
04644 yy238:
04645        YYDEBUG(238, *YYCURSOR);
04646        yych = *++YYCURSOR;
04647        if (yych <= '@') {
04648               if (yych == ')') goto yy228;
04649               goto yy223;
04650        } else {
04651               if (yych <= 'Z') goto yy239;
04652               if (yych <= '`') goto yy223;
04653               if (yych >= '{') goto yy223;
04654        }
04655 yy239:
04656        YYDEBUG(239, *YYCURSOR);
04657        yych = *++YYCURSOR;
04658        if (yych <= '@') {
04659               if (yych == ')') goto yy228;
04660               goto yy223;
04661        } else {
04662               if (yych <= 'Z') goto yy240;
04663               if (yych <= '`') goto yy223;
04664               if (yych >= '{') goto yy223;
04665        }
04666 yy240:
04667        YYDEBUG(240, *YYCURSOR);
04668        yych = *++YYCURSOR;
04669        if (yych <= '@') {
04670               if (yych == ')') goto yy228;
04671               goto yy223;
04672        } else {
04673               if (yych <= 'Z') goto yy241;
04674               if (yych <= '`') goto yy223;
04675               if (yych >= '{') goto yy223;
04676        }
04677 yy241:
04678        YYDEBUG(241, *YYCURSOR);
04679        yych = *++YYCURSOR;
04680        if (yych == ')') goto yy228;
04681        goto yy223;
04682 yy242:
04683        YYDEBUG(242, *YYCURSOR);
04684        yyaccept = 7;
04685        yych = *(YYMARKER = ++YYCURSOR);
04686        if (yych <= '/') {
04687               if (yych <= ',') {
04688                      if (yych == ')') goto yy228;
04689                      goto yy223;
04690               } else {
04691                      if (yych == '.') goto yy223;
04692                      goto yy244;
04693               }
04694        } else {
04695               if (yych <= '^') {
04696                      if (yych <= '@') goto yy223;
04697                      if (yych <= 'Z') goto yy238;
04698                      goto yy223;
04699               } else {
04700                      if (yych <= '_') goto yy244;
04701                      if (yych <= '`') goto yy223;
04702                      if (yych >= '{') goto yy223;
04703               }
04704        }
04705 yy243:
04706        YYDEBUG(243, *YYCURSOR);
04707        yyaccept = 7;
04708        yych = *(YYMARKER = ++YYCURSOR);
04709        if (yych <= '/') {
04710               if (yych <= ',') {
04711                      if (yych == ')') goto yy228;
04712                      goto yy223;
04713               } else {
04714                      if (yych == '.') goto yy223;
04715               }
04716        } else {
04717               if (yych <= '^') {
04718                      if (yych <= '@') goto yy223;
04719                      if (yych <= 'Z') goto yy239;
04720                      goto yy223;
04721               } else {
04722                      if (yych <= '_') goto yy244;
04723                      if (yych <= '`') goto yy223;
04724                      if (yych <= 'z') goto yy247;
04725                      goto yy223;
04726               }
04727        }
04728 yy244:
04729        YYDEBUG(244, *YYCURSOR);
04730        ++YYCURSOR;
04731        if (YYLIMIT <= YYCURSOR) YYFILL(1);
04732        yych = *YYCURSOR;
04733        if (yych <= '@') goto yy57;
04734        if (yych <= 'Z') goto yy245;
04735        if (yych <= '`') goto yy57;
04736        if (yych >= '{') goto yy57;
04737 yy245:
04738        YYDEBUG(245, *YYCURSOR);
04739        yyaccept = 7;
04740        YYMARKER = ++YYCURSOR;
04741        if (YYLIMIT <= YYCURSOR) YYFILL(1);
04742        yych = *YYCURSOR;
04743        YYDEBUG(246, *YYCURSOR);
04744        if (yych <= '@') {
04745               if (yych <= '-') {
04746                      if (yych <= ',') goto yy223;
04747                      goto yy244;
04748               } else {
04749                      if (yych == '/') goto yy244;
04750                      goto yy223;
04751               }
04752        } else {
04753               if (yych <= '_') {
04754                      if (yych <= 'Z') goto yy245;
04755                      if (yych <= '^') goto yy223;
04756                      goto yy244;
04757               } else {
04758                      if (yych <= '`') goto yy223;
04759                      if (yych <= 'z') goto yy245;
04760                      goto yy223;
04761               }
04762        }
04763 yy247:
04764        YYDEBUG(247, *YYCURSOR);
04765        yyaccept = 7;
04766        yych = *(YYMARKER = ++YYCURSOR);
04767        if (yych <= '/') {
04768               if (yych <= ',') {
04769                      if (yych == ')') goto yy228;
04770                      goto yy223;
04771               } else {
04772                      if (yych == '.') goto yy223;
04773                      goto yy244;
04774               }
04775        } else {
04776               if (yych <= '^') {
04777                      if (yych <= '@') goto yy223;
04778                      if (yych <= 'Z') goto yy240;
04779                      goto yy223;
04780               } else {
04781                      if (yych <= '_') goto yy244;
04782                      if (yych <= '`') goto yy223;
04783                      if (yych >= '{') goto yy223;
04784               }
04785        }
04786        YYDEBUG(248, *YYCURSOR);
04787        yyaccept = 7;
04788        yych = *(YYMARKER = ++YYCURSOR);
04789        if (yych <= '/') {
04790               if (yych <= ',') {
04791                      if (yych == ')') goto yy228;
04792                      goto yy223;
04793               } else {
04794                      if (yych == '.') goto yy223;
04795                      goto yy244;
04796               }
04797        } else {
04798               if (yych <= '^') {
04799                      if (yych <= '@') goto yy223;
04800                      if (yych <= 'Z') goto yy241;
04801                      goto yy223;
04802               } else {
04803                      if (yych <= '_') goto yy244;
04804                      if (yych <= '`') goto yy223;
04805                      if (yych >= '{') goto yy223;
04806               }
04807        }
04808        YYDEBUG(249, *YYCURSOR);
04809        yyaccept = 7;
04810        yych = *(YYMARKER = ++YYCURSOR);
04811        if (yych <= '.') {
04812               if (yych <= ')') {
04813                      if (yych <= '(') goto yy223;
04814                      goto yy228;
04815               } else {
04816                      if (yych == '-') goto yy244;
04817                      goto yy223;
04818               }
04819        } else {
04820               if (yych <= '_') {
04821                      if (yych <= '/') goto yy244;
04822                      if (yych <= '^') goto yy223;
04823                      goto yy244;
04824               } else {
04825                      if (yych <= '`') goto yy223;
04826                      if (yych >= '{') goto yy223;
04827               }
04828        }
04829 yy250:
04830        YYDEBUG(250, *YYCURSOR);
04831        ++YYCURSOR;
04832        if (YYLIMIT <= YYCURSOR) YYFILL(1);
04833        yych = *YYCURSOR;
04834        YYDEBUG(251, *YYCURSOR);
04835        if (yych <= '/') {
04836               if (yych == '-') goto yy244;
04837               if (yych <= '.') goto yy57;
04838               goto yy244;
04839        } else {
04840               if (yych <= '_') {
04841                      if (yych <= '^') goto yy57;
04842                      goto yy244;
04843               } else {
04844                      if (yych <= '`') goto yy57;
04845                      if (yych <= 'z') goto yy250;
04846                      goto yy57;
04847               }
04848        }
04849 yy252:
04850        YYDEBUG(252, *YYCURSOR);
04851        yych = *++YYCURSOR;
04852        if (yych <= '/') goto yy223;
04853        if (yych <= '9') goto yy254;
04854        if (yych <= ':') goto yy255;
04855        goto yy223;
04856 yy253:
04857        YYDEBUG(253, *YYCURSOR);
04858        yych = *++YYCURSOR;
04859        if (yych <= '5') {
04860               if (yych <= '/') goto yy223;
04861               if (yych >= '5') goto yy256;
04862        } else {
04863               if (yych <= '9') goto yy228;
04864               if (yych <= ':') goto yy255;
04865               goto yy223;
04866        }
04867 yy254:
04868        YYDEBUG(254, *YYCURSOR);
04869        yych = *++YYCURSOR;
04870        if (yych <= '/') goto yy223;
04871        if (yych <= '5') goto yy256;
04872        if (yych <= '9') goto yy228;
04873        if (yych >= ';') goto yy223;
04874 yy255:
04875        YYDEBUG(255, *YYCURSOR);
04876        yych = *++YYCURSOR;
04877        if (yych <= '/') goto yy223;
04878        if (yych <= '5') goto yy256;
04879        if (yych <= '9') goto yy228;
04880        goto yy223;
04881 yy256:
04882        YYDEBUG(256, *YYCURSOR);
04883        yych = *++YYCURSOR;
04884        if (yych <= '/') goto yy223;
04885        if (yych <= '9') goto yy228;
04886        goto yy223;
04887 yy257:
04888        YYDEBUG(257, *YYCURSOR);
04889        yych = *++YYCURSOR;
04890        if (yych <= 'S') {
04891               if (yych == ')') goto yy228;
04892               if (yych <= '@') goto yy223;
04893               goto yy238;
04894        } else {
04895               if (yych <= 'Z') {
04896                      if (yych >= 'U') goto yy238;
04897               } else {
04898                      if (yych <= '`') goto yy223;
04899                      if (yych <= 'z') goto yy238;
04900                      goto yy223;
04901               }
04902        }
04903        YYDEBUG(258, *YYCURSOR);
04904        yyaccept = 7;
04905        yych = *(YYMARKER = ++YYCURSOR);
04906        if (yych <= ',') {
04907               if (yych <= ')') {
04908                      if (yych <= '(') goto yy223;
04909                      goto yy228;
04910               } else {
04911                      if (yych == '+') goto yy233;
04912                      goto yy223;
04913               }
04914        } else {
04915               if (yych <= 'Z') {
04916                      if (yych <= '-') goto yy233;
04917                      if (yych <= '@') goto yy223;
04918                      goto yy239;
04919               } else {
04920                      if (yych <= '`') goto yy223;
04921                      if (yych <= 'z') goto yy239;
04922                      goto yy223;
04923               }
04924        }
04925 yy259:
04926        YYDEBUG(259, *YYCURSOR);
04927        yyaccept = 6;
04928        yych = *(YYMARKER = ++YYCURSOR);
04929        if (yych <= '/') {
04930               if (yych == '.') goto yy221;
04931               goto yy199;
04932        } else {
04933               if (yych <= '0') goto yy291;
04934               if (yych <= '9') goto yy292;
04935               if (yych <= ':') goto yy221;
04936               goto yy199;
04937        }
04938 yy260:
04939        YYDEBUG(260, *YYCURSOR);
04940        yyaccept = 6;
04941        yych = *(YYMARKER = ++YYCURSOR);
04942        if (yych <= '/') {
04943               if (yych == '.') goto yy264;
04944               goto yy199;
04945        } else {
04946               if (yych <= '2') goto yy292;
04947               if (yych <= '9') goto yy291;
04948               if (yych <= ':') goto yy264;
04949               goto yy199;
04950        }
04951 yy261:
04952        YYDEBUG(261, *YYCURSOR);
04953        yyaccept = 6;
04954        yych = *(YYMARKER = ++YYCURSOR);
04955        if (yych <= '/') {
04956               if (yych == '.') goto yy264;
04957               goto yy199;
04958        } else {
04959               if (yych <= '4') goto yy291;
04960               if (yych <= '9') goto yy263;
04961               if (yych <= ':') goto yy264;
04962               goto yy199;
04963        }
04964 yy262:
04965        YYDEBUG(262, *YYCURSOR);
04966        yyaccept = 6;
04967        yych = *(YYMARKER = ++YYCURSOR);
04968        if (yych <= '/') {
04969               if (yych == '.') goto yy264;
04970               goto yy199;
04971        } else {
04972               if (yych <= '9') goto yy263;
04973               if (yych <= ':') goto yy264;
04974               goto yy199;
04975        }
04976 yy263:
04977        YYDEBUG(263, *YYCURSOR);
04978        yych = *++YYCURSOR;
04979        if (yych <= '/') goto yy199;
04980        if (yych <= '9') goto yy289;
04981        goto yy199;
04982 yy264:
04983        YYDEBUG(264, *YYCURSOR);
04984        yych = *++YYCURSOR;
04985        if (yych <= '/') goto yy57;
04986        if (yych <= '5') goto yy265;
04987        if (yych <= '9') goto yy266;
04988        goto yy57;
04989 yy265:
04990        YYDEBUG(265, *YYCURSOR);
04991        yyaccept = 7;
04992        yych = *(YYMARKER = ++YYCURSOR);
04993        if (yych <= '/') {
04994               if (yych == '.') goto yy267;
04995               goto yy223;
04996        } else {
04997               if (yych <= '9') goto yy282;
04998               if (yych <= ':') goto yy267;
04999               goto yy223;
05000        }
05001 yy266:
05002        YYDEBUG(266, *YYCURSOR);
05003        yyaccept = 7;
05004        yych = *(YYMARKER = ++YYCURSOR);
05005        if (yych == '.') goto yy267;
05006        if (yych != ':') goto yy223;
05007 yy267:
05008        YYDEBUG(267, *YYCURSOR);
05009        yych = *++YYCURSOR;
05010        if (yych <= '/') goto yy57;
05011        if (yych <= '5') goto yy268;
05012        if (yych <= '6') goto yy269;
05013        if (yych <= '9') goto yy228;
05014        goto yy57;
05015 yy268:
05016        YYDEBUG(268, *YYCURSOR);
05017        yych = *++YYCURSOR;
05018        if (yych <= '/') goto yy223;
05019        if (yych <= '9') goto yy270;
05020        goto yy223;
05021 yy269:
05022        YYDEBUG(269, *YYCURSOR);
05023        yych = *++YYCURSOR;
05024        if (yych != '0') goto yy223;
05025 yy270:
05026        YYDEBUG(270, *YYCURSOR);
05027        yyaccept = 7;
05028        yych = *(YYMARKER = ++YYCURSOR);
05029        if (yych <= '*') {
05030               if (yych <= 0x1F) {
05031                      if (yych == '\t') goto yy272;
05032                      goto yy223;
05033               } else {
05034                      if (yych <= ' ') goto yy272;
05035                      if (yych == '(') goto yy272;
05036                      goto yy223;
05037               }
05038        } else {
05039               if (yych <= '@') {
05040                      if (yych == ',') goto yy223;
05041                      if (yych <= '-') goto yy272;
05042                      goto yy223;
05043               } else {
05044                      if (yych <= 'Z') goto yy272;
05045                      if (yych <= '`') goto yy223;
05046                      if (yych <= 'z') goto yy272;
05047                      goto yy223;
05048               }
05049        }
05050 yy271:
05051        YYDEBUG(271, *YYCURSOR);
05052        ++YYCURSOR;
05053        if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
05054        yych = *YYCURSOR;
05055 yy272:
05056        YYDEBUG(272, *YYCURSOR);
05057        if (yych <= '@') {
05058               if (yych <= '\'') {
05059                      if (yych <= '\t') {
05060                             if (yych <= 0x08) goto yy57;
05061                             goto yy271;
05062                      } else {
05063                             if (yych == ' ') goto yy271;
05064                             goto yy57;
05065                      }
05066               } else {
05067                      if (yych <= '+') {
05068                             if (yych <= '(') goto yy234;
05069                             if (yych <= '*') goto yy57;
05070                             goto yy233;
05071                      } else {
05072                             if (yych == '-') goto yy233;
05073                             goto yy57;
05074                      }
05075               }
05076        } else {
05077               if (yych <= 'Z') {
05078                      if (yych <= 'G') {
05079                             if (yych <= 'A') goto yy273;
05080                             if (yych <= 'F') goto yy235;
05081                             goto yy232;
05082                      } else {
05083                             if (yych != 'P') goto yy235;
05084                      }
05085               } else {
05086                      if (yych <= 'o') {
05087                             if (yych <= '`') goto yy57;
05088                             if (yych <= 'a') goto yy274;
05089                             goto yy236;
05090                      } else {
05091                             if (yych <= 'p') goto yy274;
05092                             if (yych <= 'z') goto yy236;
05093                             goto yy57;
05094                      }
05095               }
05096        }
05097 yy273:
05098        YYDEBUG(273, *YYCURSOR);
05099        yyaccept = 7;
05100        yych = *(YYMARKER = ++YYCURSOR);
05101        if (yych <= 'L') {
05102               if (yych <= '-') {
05103                      if (yych == ')') goto yy228;
05104                      goto yy223;
05105               } else {
05106                      if (yych <= '.') goto yy275;
05107                      if (yych <= '@') goto yy223;
05108                      goto yy237;
05109               }
05110        } else {
05111               if (yych <= '`') {
05112                      if (yych <= 'M') goto yy276;
05113                      if (yych <= 'Z') goto yy237;
05114                      goto yy223;
05115               } else {
05116                      if (yych == 'm') goto yy281;
05117                      if (yych <= 'z') goto yy242;
05118                      goto yy223;
05119               }
05120        }
05121 yy274:
05122        YYDEBUG(274, *YYCURSOR);
05123        yyaccept = 7;
05124        yych = *(YYMARKER = ++YYCURSOR);
05125        if (yych <= 'L') {
05126               if (yych <= '-') {
05127                      if (yych == ')') goto yy228;
05128                      goto yy223;
05129               } else {
05130                      if (yych <= '.') goto yy275;
05131                      if (yych <= '@') goto yy223;
05132                      goto yy237;
05133               }
05134        } else {
05135               if (yych <= '`') {
05136                      if (yych <= 'M') goto yy276;
05137                      if (yych <= 'Z') goto yy237;
05138                      goto yy223;
05139               } else {
05140                      if (yych == 'm') goto yy276;
05141                      if (yych <= 'z') goto yy237;
05142                      goto yy223;
05143               }
05144        }
05145 yy275:
05146        YYDEBUG(275, *YYCURSOR);
05147        yych = *++YYCURSOR;
05148        if (yych == 'M') goto yy280;
05149        if (yych == 'm') goto yy280;
05150        goto yy57;
05151 yy276:
05152        YYDEBUG(276, *YYCURSOR);
05153        yyaccept = 7;
05154        yych = *(YYMARKER = ++YYCURSOR);
05155        if (yych <= ')') {
05156               if (yych <= '\t') {
05157                      if (yych <= 0x00) goto yy278;
05158                      if (yych <= 0x08) goto yy223;
05159                      goto yy278;
05160               } else {
05161                      if (yych == ' ') goto yy278;
05162                      if (yych <= '(') goto yy223;
05163                      goto yy228;
05164               }
05165        } else {
05166               if (yych <= '@') {
05167                      if (yych != '.') goto yy223;
05168               } else {
05169                      if (yych <= 'Z') goto yy238;
05170                      if (yych <= '`') goto yy223;
05171                      if (yych <= 'z') goto yy238;
05172                      goto yy223;
05173               }
05174        }
05175 yy277:
05176        YYDEBUG(277, *YYCURSOR);
05177        yych = *++YYCURSOR;
05178        if (yych <= '\t') {
05179               if (yych <= 0x00) goto yy278;
05180               if (yych <= 0x08) goto yy57;
05181        } else {
05182               if (yych != ' ') goto yy57;
05183        }
05184 yy278:
05185        YYDEBUG(278, *YYCURSOR);
05186        ++YYCURSOR;
05187        YYDEBUG(279, *YYCURSOR);
05188        {
05189               DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
05190               TIMELIB_INIT;
05191               TIMELIB_HAVE_DATE();
05192               s->time->m = timelib_get_month((char **) &ptr);
05193               s->time->d = timelib_get_nr((char **) &ptr, 2);
05194 
05195               TIMELIB_HAVE_TIME();
05196               s->time->h = timelib_get_nr((char **) &ptr, 2);
05197               s->time->i = timelib_get_nr((char **) &ptr, 2);
05198               if (*ptr == ':' || *ptr == '.') {
05199                      s->time->s = timelib_get_nr((char **) &ptr, 2);
05200 
05201                      if (*ptr == '.') {
05202                             s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
05203                      }
05204               }
05205 
05206               s->time->h += timelib_meridian((char **) &ptr, s->time->h);
05207               TIMELIB_DEINIT;
05208               return TIMELIB_SHORTDATE_WITH_TIME;
05209        }
05210 yy280:
05211        YYDEBUG(280, *YYCURSOR);
05212        yych = *++YYCURSOR;
05213        if (yych <= 0x1F) {
05214               if (yych <= 0x00) goto yy278;
05215               if (yych == '\t') goto yy278;
05216               goto yy57;
05217        } else {
05218               if (yych <= ' ') goto yy278;
05219               if (yych == '.') goto yy277;
05220               goto yy57;
05221        }
05222 yy281:
05223        YYDEBUG(281, *YYCURSOR);
05224        yyaccept = 7;
05225        yych = *(YYMARKER = ++YYCURSOR);
05226        if (yych <= '-') {
05227               if (yych <= 0x1F) {
05228                      if (yych <= 0x00) goto yy278;
05229                      if (yych == '\t') goto yy278;
05230                      goto yy223;
05231               } else {
05232                      if (yych <= '(') {
05233                             if (yych <= ' ') goto yy278;
05234                             goto yy223;
05235                      } else {
05236                             if (yych <= ')') goto yy228;
05237                             if (yych <= ',') goto yy223;
05238                             goto yy244;
05239                      }
05240               }
05241        } else {
05242               if (yych <= 'Z') {
05243                      if (yych <= '.') goto yy277;
05244                      if (yych <= '/') goto yy244;
05245                      if (yych <= '@') goto yy223;
05246                      goto yy238;
05247               } else {
05248                      if (yych <= '_') {
05249                             if (yych <= '^') goto yy223;
05250                             goto yy244;
05251                      } else {
05252                             if (yych <= '`') goto yy223;
05253                             if (yych <= 'z') goto yy243;
05254                             goto yy223;
05255                      }
05256               }
05257        }
05258 yy282:
05259        YYDEBUG(282, *YYCURSOR);
05260        yyaccept = 7;
05261        yych = *(YYMARKER = ++YYCURSOR);
05262        if (yych <= ':') {
05263               if (yych <= ' ') {
05264                      if (yych == '\t') goto yy283;
05265                      if (yych <= 0x1F) goto yy223;
05266               } else {
05267                      if (yych == '.') goto yy267;
05268                      if (yych <= '9') goto yy223;
05269                      goto yy267;
05270               }
05271        } else {
05272               if (yych <= 'P') {
05273                      if (yych == 'A') goto yy285;
05274                      if (yych <= 'O') goto yy223;
05275                      goto yy285;
05276               } else {
05277                      if (yych <= 'a') {
05278                             if (yych <= '`') goto yy223;
05279                             goto yy285;
05280                      } else {
05281                             if (yych == 'p') goto yy285;
05282                             goto yy223;
05283                      }
05284               }
05285        }
05286 yy283:
05287        YYDEBUG(283, *YYCURSOR);
05288        ++YYCURSOR;
05289        if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
05290        yych = *YYCURSOR;
05291        YYDEBUG(284, *YYCURSOR);
05292        if (yych <= 'A') {
05293               if (yych <= 0x1F) {
05294                      if (yych == '\t') goto yy283;
05295                      goto yy57;
05296               } else {
05297                      if (yych <= ' ') goto yy283;
05298                      if (yych <= '@') goto yy57;
05299               }
05300        } else {
05301               if (yych <= '`') {
05302                      if (yych != 'P') goto yy57;
05303               } else {
05304                      if (yych <= 'a') goto yy285;
05305                      if (yych != 'p') goto yy57;
05306               }
05307        }
05308 yy285:
05309        YYDEBUG(285, *YYCURSOR);
05310        yych = *++YYCURSOR;
05311        if (yych <= 'L') {
05312               if (yych != '.') goto yy57;
05313        } else {
05314               if (yych <= 'M') goto yy287;
05315               if (yych == 'm') goto yy287;
05316               goto yy57;
05317        }
05318 yy286:
05319        YYDEBUG(286, *YYCURSOR);
05320        yych = *++YYCURSOR;
05321        if (yych == 'M') goto yy287;
05322        if (yych != 'm') goto yy57;
05323 yy287:
05324        YYDEBUG(287, *YYCURSOR);
05325        yych = *++YYCURSOR;
05326        if (yych <= 0x1F) {
05327               if (yych <= 0x00) goto yy278;
05328               if (yych == '\t') goto yy278;
05329               goto yy57;
05330        } else {
05331               if (yych <= ' ') goto yy278;
05332               if (yych != '.') goto yy57;
05333        }
05334 yy288:
05335        YYDEBUG(288, *YYCURSOR);
05336        yych = *++YYCURSOR;
05337        if (yych <= '\t') {
05338               if (yych <= 0x00) goto yy278;
05339               if (yych <= 0x08) goto yy57;
05340               goto yy278;
05341        } else {
05342               if (yych == ' ') goto yy278;
05343               goto yy57;
05344        }
05345 yy289:
05346        YYDEBUG(289, *YYCURSOR);
05347        yych = *++YYCURSOR;
05348        if (yych <= '/') goto yy199;
05349        if (yych >= ':') goto yy199;
05350        YYDEBUG(290, *YYCURSOR);
05351        yych = *++YYCURSOR;
05352        goto yy199;
05353 yy291:
05354        YYDEBUG(291, *YYCURSOR);
05355        yyaccept = 6;
05356        yych = *(YYMARKER = ++YYCURSOR);
05357        if (yych <= '/') {
05358               if (yych == '.') goto yy221;
05359               goto yy199;
05360        } else {
05361               if (yych <= '9') goto yy289;
05362               if (yych <= ':') goto yy221;
05363               goto yy199;
05364        }
05365 yy292:
05366        YYDEBUG(292, *YYCURSOR);
05367        yyaccept = 6;
05368        yych = *(YYMARKER = ++YYCURSOR);
05369        if (yych <= '/') {
05370               if (yych == '.') goto yy264;
05371               goto yy199;
05372        } else {
05373               if (yych <= '9') goto yy289;
05374               if (yych <= ':') goto yy264;
05375               goto yy199;
05376        }
05377 yy293:
05378        YYDEBUG(293, *YYCURSOR);
05379        yych = *++YYCURSOR;
05380        if (yych <= '/') goto yy57;
05381        if (yych >= ':') goto yy57;
05382 yy294:
05383        YYDEBUG(294, *YYCURSOR);
05384        ++YYCURSOR;
05385 yy295:
05386        YYDEBUG(295, *YYCURSOR);
05387        {
05388               int length = 0;
05389               DEBUG_OUTPUT("datenoday");
05390               TIMELIB_INIT;
05391               TIMELIB_HAVE_DATE();
05392               s->time->m = timelib_get_month((char **) &ptr);
05393               s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
05394               s->time->d = 1;
05395               TIMELIB_PROCESS_YEAR(s->time->y, length);
05396               TIMELIB_DEINIT;
05397               return TIMELIB_DATE_NO_DAY;
05398        }
05399 yy296:
05400        YYDEBUG(296, *YYCURSOR);
05401        yych = *++YYCURSOR;
05402        if (yych <= '/') {
05403               if (yych == '.') goto yy221;
05404               goto yy57;
05405        } else {
05406               if (yych <= '9') goto yy294;
05407               if (yych <= ':') goto yy221;
05408               goto yy57;
05409        }
05410 yy297:
05411        YYDEBUG(297, *YYCURSOR);
05412        yych = *++YYCURSOR;
05413        if (yych <= '/') {
05414               if (yych == '.') goto yy264;
05415               goto yy57;
05416        } else {
05417               if (yych <= '9') goto yy294;
05418               if (yych <= ':') goto yy264;
05419               goto yy57;
05420        }
05421 yy298:
05422        YYDEBUG(298, *YYCURSOR);
05423        yyaccept = 6;
05424        yych = *(YYMARKER = ++YYCURSOR);
05425        if (yych <= '9') {
05426               if (yych <= '/') {
05427                      if (yych == '.') goto yy331;
05428                      goto yy216;
05429               } else {
05430                      if (yych <= '0') goto yy332;
05431                      if (yych <= '1') goto yy302;
05432                      if (yych <= '2') goto yy303;
05433                      goto yy297;
05434               }
05435        } else {
05436               if (yych <= 'q') {
05437                      if (yych <= ':') goto yy221;
05438                      if (yych == 'n') goto yy212;
05439                      goto yy216;
05440               } else {
05441                      if (yych <= 'r') goto yy213;
05442                      if (yych <= 's') goto yy211;
05443                      if (yych <= 't') goto yy214;
05444                      goto yy216;
05445               }
05446        }
05447 yy299:
05448        YYDEBUG(299, *YYCURSOR);
05449        yyaccept = 6;
05450        yych = *(YYMARKER = ++YYCURSOR);
05451        if (yych <= '9') {
05452               if (yych <= '/') {
05453                      if (yych != '.') goto yy216;
05454               } else {
05455                      if (yych <= '0') goto yy301;
05456                      if (yych <= '1') goto yy302;
05457                      if (yych <= '2') goto yy303;
05458                      goto yy297;
05459               }
05460        } else {
05461               if (yych <= 'q') {
05462                      if (yych <= ':') goto yy264;
05463                      if (yych == 'n') goto yy212;
05464                      goto yy216;
05465               } else {
05466                      if (yych <= 'r') goto yy213;
05467                      if (yych <= 's') goto yy211;
05468                      if (yych <= 't') goto yy214;
05469                      goto yy216;
05470               }
05471        }
05472 yy300:
05473        YYDEBUG(300, *YYCURSOR);
05474        yyaccept = 6;
05475        yych = *(YYMARKER = ++YYCURSOR);
05476        if (yych <= '1') {
05477               if (yych <= '/') goto yy216;
05478               if (yych <= '0') goto yy306;
05479               goto yy307;
05480        } else {
05481               if (yych <= '2') goto yy308;
05482               if (yych <= '5') goto yy309;
05483               if (yych <= '9') goto yy310;
05484               goto yy216;
05485        }
05486 yy301:
05487        YYDEBUG(301, *YYCURSOR);
05488        yych = *++YYCURSOR;
05489        if (yych <= '/') {
05490               if (yych == '.') goto yy264;
05491               goto yy57;
05492        } else {
05493               if (yych <= '0') goto yy304;
05494               if (yych <= '9') goto yy305;
05495               if (yych <= ':') goto yy264;
05496               goto yy57;
05497        }
05498 yy302:
05499        YYDEBUG(302, *YYCURSOR);
05500        yych = *++YYCURSOR;
05501        if (yych <= '/') {
05502               if (yych == '.') goto yy264;
05503               goto yy57;
05504        } else {
05505               if (yych <= '2') goto yy305;
05506               if (yych <= '9') goto yy304;
05507               if (yych <= ':') goto yy264;
05508               goto yy57;
05509        }
05510 yy303:
05511        YYDEBUG(303, *YYCURSOR);
05512        yych = *++YYCURSOR;
05513        if (yych <= '/') {
05514               if (yych == '.') goto yy264;
05515               goto yy57;
05516        } else {
05517               if (yych <= '4') goto yy304;
05518               if (yych <= '9') goto yy294;
05519               if (yych <= ':') goto yy264;
05520               goto yy57;
05521        }
05522 yy304:
05523        YYDEBUG(304, *YYCURSOR);
05524        yyaccept = 8;
05525        yych = *(YYMARKER = ++YYCURSOR);
05526        if (yych == '.') goto yy221;
05527        if (yych == ':') goto yy221;
05528        goto yy295;
05529 yy305:
05530        YYDEBUG(305, *YYCURSOR);
05531        yyaccept = 8;
05532        yych = *(YYMARKER = ++YYCURSOR);
05533        if (yych == '.') goto yy264;
05534        if (yych == ':') goto yy264;
05535        goto yy295;
05536 yy306:
05537        YYDEBUG(306, *YYCURSOR);
05538        yyaccept = 6;
05539        yych = *(YYMARKER = ++YYCURSOR);
05540        if (yych <= '/') {
05541               if (yych == '.') goto yy326;
05542               goto yy199;
05543        } else {
05544               if (yych <= '0') goto yy325;
05545               if (yych <= '9') goto yy330;
05546               if (yych <= ':') goto yy326;
05547               goto yy199;
05548        }
05549 yy307:
05550        YYDEBUG(307, *YYCURSOR);
05551        yyaccept = 6;
05552        yych = *(YYMARKER = ++YYCURSOR);
05553        if (yych <= '/') {
05554               if (yych == '.') goto yy311;
05555               goto yy199;
05556        } else {
05557               if (yych <= '2') goto yy330;
05558               if (yych <= '9') goto yy325;
05559               if (yych <= ':') goto yy311;
05560               goto yy199;
05561        }
05562 yy308:
05563        YYDEBUG(308, *YYCURSOR);
05564        yyaccept = 6;
05565        yych = *(YYMARKER = ++YYCURSOR);
05566        if (yych <= '/') {
05567               if (yych == '.') goto yy311;
05568               goto yy199;
05569        } else {
05570               if (yych <= '4') goto yy325;
05571               if (yych <= '9') goto yy324;
05572               if (yych <= ':') goto yy311;
05573               goto yy199;
05574        }
05575 yy309:
05576        YYDEBUG(309, *YYCURSOR);
05577        yyaccept = 6;
05578        yych = *(YYMARKER = ++YYCURSOR);
05579        if (yych <= '/') {
05580               if (yych == '.') goto yy311;
05581               goto yy199;
05582        } else {
05583               if (yych <= '9') goto yy324;
05584               if (yych <= ':') goto yy311;
05585               goto yy199;
05586        }
05587 yy310:
05588        YYDEBUG(310, *YYCURSOR);
05589        yyaccept = 6;
05590        yych = *(YYMARKER = ++YYCURSOR);
05591        if (yych <= '/') {
05592               if (yych != '.') goto yy199;
05593        } else {
05594               if (yych <= '9') goto yy263;
05595               if (yych >= ';') goto yy199;
05596        }
05597 yy311:
05598        YYDEBUG(311, *YYCURSOR);
05599        yych = *++YYCURSOR;
05600        if (yych <= '/') goto yy57;
05601        if (yych <= '5') goto yy312;
05602        if (yych <= '6') goto yy313;
05603        if (yych <= '9') goto yy266;
05604        goto yy57;
05605 yy312:
05606        YYDEBUG(312, *YYCURSOR);
05607        yyaccept = 7;
05608        yych = *(YYMARKER = ++YYCURSOR);
05609        if (yych <= '/') {
05610               if (yych == '.') goto yy267;
05611               goto yy223;
05612        } else {
05613               if (yych <= '9') goto yy314;
05614               if (yych <= ':') goto yy267;
05615               goto yy223;
05616        }
05617 yy313:
05618        YYDEBUG(313, *YYCURSOR);
05619        yyaccept = 7;
05620        yych = *(YYMARKER = ++YYCURSOR);
05621        if (yych <= '/') {
05622               if (yych == '.') goto yy267;
05623               goto yy223;
05624        } else {
05625               if (yych <= '0') goto yy270;
05626               if (yych == ':') goto yy267;
05627               goto yy223;
05628        }
05629 yy314:
05630        YYDEBUG(314, *YYCURSOR);
05631        yyaccept = 7;
05632        yych = *(YYMARKER = ++YYCURSOR);
05633        if (yych <= ',') {
05634               if (yych <= ' ') {
05635                      if (yych == '\t') goto yy316;
05636                      if (yych <= 0x1F) goto yy223;
05637                      goto yy316;
05638               } else {
05639                      if (yych <= '(') {
05640                             if (yych <= '\'') goto yy223;
05641                             goto yy316;
05642                      } else {
05643                             if (yych == '+') goto yy316;
05644                             goto yy223;
05645                      }
05646               }
05647        } else {
05648               if (yych <= ':') {
05649                      if (yych <= '-') goto yy316;
05650                      if (yych <= '.') goto yy267;
05651                      if (yych <= '9') goto yy223;
05652                      goto yy267;
05653               } else {
05654                      if (yych <= 'Z') {
05655                             if (yych <= '@') goto yy223;
05656                             goto yy316;
05657                      } else {
05658                             if (yych <= '`') goto yy223;
05659                             if (yych <= 'z') goto yy316;
05660                             goto yy223;
05661                      }
05662               }
05663        }
05664 yy315:
05665        YYDEBUG(315, *YYCURSOR);
05666        ++YYCURSOR;
05667        if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
05668        yych = *YYCURSOR;
05669 yy316:
05670        YYDEBUG(316, *YYCURSOR);
05671        if (yych <= '@') {
05672               if (yych <= '\'') {
05673                      if (yych <= '\t') {
05674                             if (yych <= 0x08) goto yy57;
05675                             goto yy315;
05676                      } else {
05677                             if (yych == ' ') goto yy315;
05678                             goto yy57;
05679                      }
05680               } else {
05681                      if (yych <= '+') {
05682                             if (yych <= '(') goto yy234;
05683                             if (yych <= '*') goto yy57;
05684                             goto yy233;
05685                      } else {
05686                             if (yych == '-') goto yy233;
05687                             goto yy57;
05688                      }
05689               }
05690        } else {
05691               if (yych <= 'Z') {
05692                      if (yych <= 'G') {
05693                             if (yych <= 'A') goto yy317;
05694                             if (yych <= 'F') goto yy235;
05695                             goto yy232;
05696                      } else {
05697                             if (yych != 'P') goto yy235;
05698                      }
05699               } else {
05700                      if (yych <= 'o') {
05701                             if (yych <= '`') goto yy57;
05702                             if (yych <= 'a') goto yy318;
05703                             goto yy236;
05704                      } else {
05705                             if (yych <= 'p') goto yy318;
05706                             if (yych <= 'z') goto yy236;
05707                             goto yy57;
05708                      }
05709               }
05710        }
05711 yy317:
05712        YYDEBUG(317, *YYCURSOR);
05713        yyaccept = 7;
05714        yych = *(YYMARKER = ++YYCURSOR);
05715        if (yych <= 'L') {
05716               if (yych <= '-') {
05717                      if (yych == ')') goto yy228;
05718                      goto yy223;
05719               } else {
05720                      if (yych <= '.') goto yy320;
05721                      if (yych <= '@') goto yy223;
05722                      goto yy237;
05723               }
05724        } else {
05725               if (yych <= '`') {
05726                      if (yych <= 'M') goto yy319;
05727                      if (yych <= 'Z') goto yy237;
05728                      goto yy223;
05729               } else {
05730                      if (yych == 'm') goto yy323;
05731                      if (yych <= 'z') goto yy242;
05732                      goto yy223;
05733               }
05734        }
05735 yy318:
05736        YYDEBUG(318, *YYCURSOR);
05737        yyaccept = 7;
05738        yych = *(YYMARKER = ++YYCURSOR);
05739        if (yych <= 'L') {
05740               if (yych <= '-') {
05741                      if (yych == ')') goto yy228;
05742                      goto yy223;
05743               } else {
05744                      if (yych <= '.') goto yy320;
05745                      if (yych <= '@') goto yy223;
05746                      goto yy237;
05747               }
05748        } else {
05749               if (yych <= '`') {
05750                      if (yych <= 'M') goto yy319;
05751                      if (yych <= 'Z') goto yy237;
05752                      goto yy223;
05753               } else {
05754                      if (yych == 'm') goto yy319;
05755                      if (yych <= 'z') goto yy237;
05756                      goto yy223;
05757               }
05758        }
05759 yy319:
05760        YYDEBUG(319, *YYCURSOR);
05761        yyaccept = 7;
05762        yych = *(YYMARKER = ++YYCURSOR);
05763        if (yych <= ')') {
05764               if (yych <= '\t') {
05765                      if (yych <= 0x00) goto yy278;
05766                      if (yych <= 0x08) goto yy223;
05767                      goto yy278;
05768               } else {
05769                      if (yych == ' ') goto yy278;
05770                      if (yych <= '(') goto yy223;
05771                      goto yy228;
05772               }
05773        } else {
05774               if (yych <= '@') {
05775                      if (yych == '.') goto yy322;
05776                      goto yy223;
05777               } else {
05778                      if (yych <= 'Z') goto yy238;
05779                      if (yych <= '`') goto yy223;
05780                      if (yych <= 'z') goto yy238;
05781                      goto yy223;
05782               }
05783        }
05784 yy320:
05785        YYDEBUG(320, *YYCURSOR);
05786        yych = *++YYCURSOR;
05787        if (yych == 'M') goto yy321;
05788        if (yych != 'm') goto yy57;
05789 yy321:
05790        YYDEBUG(321, *YYCURSOR);
05791        yych = *++YYCURSOR;
05792        if (yych <= 0x1F) {
05793               if (yych <= 0x00) goto yy278;
05794               if (yych == '\t') goto yy278;
05795               goto yy57;
05796        } else {
05797               if (yych <= ' ') goto yy278;
05798               if (yych != '.') goto yy57;
05799        }
05800 yy322:
05801        YYDEBUG(322, *YYCURSOR);
05802        yych = *++YYCURSOR;
05803        if (yych <= '\t') {
05804               if (yych <= 0x00) goto yy278;
05805               if (yych <= 0x08) goto yy57;
05806               goto yy278;
05807        } else {
05808               if (yych == ' ') goto yy278;
05809               goto yy57;
05810        }
05811 yy323:
05812        YYDEBUG(323, *YYCURSOR);
05813        yyaccept = 7;
05814        yych = *(YYMARKER = ++YYCURSOR);
05815        if (yych <= '-') {
05816               if (yych <= 0x1F) {
05817                      if (yych <= 0x00) goto yy278;
05818                      if (yych == '\t') goto yy278;
05819                      goto yy223;
05820               } else {
05821                      if (yych <= '(') {
05822                             if (yych <= ' ') goto yy278;
05823                             goto yy223;
05824                      } else {
05825                             if (yych <= ')') goto yy228;
05826                             if (yych <= ',') goto yy223;
05827                             goto yy244;
05828                      }
05829               }
05830        } else {
05831               if (yych <= 'Z') {
05832                      if (yych <= '.') goto yy322;
05833                      if (yych <= '/') goto yy244;
05834                      if (yych <= '@') goto yy223;
05835                      goto yy238;
05836               } else {
05837                      if (yych <= '_') {
05838                             if (yych <= '^') goto yy223;
05839                             goto yy244;
05840                      } else {
05841                             if (yych <= '`') goto yy223;
05842                             if (yych <= 'z') goto yy243;
05843                             goto yy223;
05844                      }
05845               }
05846        }
05847 yy324:
05848        YYDEBUG(324, *YYCURSOR);
05849        yyaccept = 6;
05850        yych = *(YYMARKER = ++YYCURSOR);
05851        if (yych <= ':') {
05852               if (yych <= ' ') {
05853                      if (yych == '\t') goto yy283;
05854                      if (yych <= 0x1F) goto yy199;
05855                      goto yy283;
05856               } else {
05857                      if (yych <= '.') {
05858                             if (yych <= '-') goto yy199;
05859                             goto yy267;
05860                      } else {
05861                             if (yych <= '/') goto yy199;
05862                             if (yych <= '9') goto yy289;
05863                             goto yy267;
05864                      }
05865               }
05866        } else {
05867               if (yych <= 'P') {
05868                      if (yych == 'A') goto yy285;
05869                      if (yych <= 'O') goto yy199;
05870                      goto yy285;
05871               } else {
05872                      if (yych <= 'a') {
05873                             if (yych <= '`') goto yy199;
05874                             goto yy285;
05875                      } else {
05876                             if (yych == 'p') goto yy285;
05877                             goto yy199;
05878                      }
05879               }
05880        }
05881 yy325:
05882        YYDEBUG(325, *YYCURSOR);
05883        yyaccept = 6;
05884        yych = *(YYMARKER = ++YYCURSOR);
05885        if (yych <= ':') {
05886               if (yych <= ' ') {
05887                      if (yych == '\t') goto yy283;
05888                      if (yych <= 0x1F) goto yy199;
05889                      goto yy283;
05890               } else {
05891                      if (yych <= '.') {
05892                             if (yych <= '-') goto yy199;
05893                      } else {
05894                             if (yych <= '/') goto yy199;
05895                             if (yych <= '9') goto yy289;
05896                      }
05897               }
05898        } else {
05899               if (yych <= 'P') {
05900                      if (yych == 'A') goto yy285;
05901                      if (yych <= 'O') goto yy199;
05902                      goto yy285;
05903               } else {
05904                      if (yych <= 'a') {
05905                             if (yych <= '`') goto yy199;
05906                             goto yy285;
05907                      } else {
05908                             if (yych == 'p') goto yy285;
05909                             goto yy199;
05910                      }
05911               }
05912        }
05913 yy326:
05914        YYDEBUG(326, *YYCURSOR);
05915        yych = *++YYCURSOR;
05916        if (yych <= '/') goto yy57;
05917        if (yych <= '5') goto yy327;
05918        if (yych <= '6') goto yy328;
05919        if (yych <= '9') goto yy224;
05920        goto yy57;
05921 yy327:
05922        YYDEBUG(327, *YYCURSOR);
05923        yyaccept = 7;
05924        yych = *(YYMARKER = ++YYCURSOR);
05925        if (yych <= '/') {
05926               if (yych == '.') goto yy225;
05927               goto yy223;
05928        } else {
05929               if (yych <= '9') goto yy329;
05930               if (yych <= ':') goto yy225;
05931               goto yy223;
05932        }
05933 yy328:
05934        YYDEBUG(328, *YYCURSOR);
05935        yyaccept = 7;
05936        yych = *(YYMARKER = ++YYCURSOR);
05937        if (yych <= '/') {
05938               if (yych == '.') goto yy225;
05939               goto yy223;
05940        } else {
05941               if (yych <= '0') goto yy270;
05942               if (yych == ':') goto yy225;
05943               goto yy223;
05944        }
05945 yy329:
05946        YYDEBUG(329, *YYCURSOR);
05947        yyaccept = 7;
05948        yych = *(YYMARKER = ++YYCURSOR);
05949        if (yych <= ',') {
05950               if (yych <= ' ') {
05951                      if (yych == '\t') goto yy272;
05952                      if (yych <= 0x1F) goto yy223;
05953                      goto yy272;
05954               } else {
05955                      if (yych <= '(') {
05956                             if (yych <= '\'') goto yy223;
05957                             goto yy272;
05958                      } else {
05959                             if (yych == '+') goto yy272;
05960                             goto yy223;
05961                      }
05962               }
05963        } else {
05964               if (yych <= ':') {
05965                      if (yych <= '-') goto yy272;
05966                      if (yych <= '.') goto yy225;
05967                      if (yych <= '9') goto yy223;
05968                      goto yy225;
05969               } else {
05970                      if (yych <= 'Z') {
05971                             if (yych <= '@') goto yy223;
05972                             goto yy272;
05973                      } else {
05974                             if (yych <= '`') goto yy223;
05975                             if (yych <= 'z') goto yy272;
05976                             goto yy223;
05977                      }
05978               }
05979        }
05980 yy330:
05981        YYDEBUG(330, *YYCURSOR);
05982        yyaccept = 6;
05983        yych = *(YYMARKER = ++YYCURSOR);
05984        if (yych <= ':') {
05985               if (yych <= ' ') {
05986                      if (yych == '\t') goto yy283;
05987                      if (yych <= 0x1F) goto yy199;
05988                      goto yy283;
05989               } else {
05990                      if (yych <= '.') {
05991                             if (yych <= '-') goto yy199;
05992                             goto yy311;
05993                      } else {
05994                             if (yych <= '/') goto yy199;
05995                             if (yych <= '9') goto yy289;
05996                             goto yy311;
05997                      }
05998               }
05999        } else {
06000               if (yych <= 'P') {
06001                      if (yych == 'A') goto yy285;
06002                      if (yych <= 'O') goto yy199;
06003                      goto yy285;
06004               } else {
06005                      if (yych <= 'a') {
06006                             if (yych <= '`') goto yy199;
06007                             goto yy285;
06008                      } else {
06009                             if (yych == 'p') goto yy285;
06010                             goto yy199;
06011                      }
06012               }
06013        }
06014 yy331:
06015        YYDEBUG(331, *YYCURSOR);
06016        yyaccept = 6;
06017        yych = *(YYMARKER = ++YYCURSOR);
06018        if (yych <= '1') {
06019               if (yych <= '/') goto yy216;
06020               if (yych <= '0') goto yy333;
06021               goto yy334;
06022        } else {
06023               if (yych <= '2') goto yy335;
06024               if (yych <= '5') goto yy336;
06025               if (yych <= '9') goto yy337;
06026               goto yy216;
06027        }
06028 yy332:
06029        YYDEBUG(332, *YYCURSOR);
06030        yych = *++YYCURSOR;
06031        if (yych <= '/') {
06032               if (yych == '.') goto yy221;
06033               goto yy57;
06034        } else {
06035               if (yych <= '0') goto yy304;
06036               if (yych <= '9') goto yy305;
06037               if (yych <= ':') goto yy221;
06038               goto yy57;
06039        }
06040 yy333:
06041        YYDEBUG(333, *YYCURSOR);
06042        yyaccept = 6;
06043        yych = *(YYMARKER = ++YYCURSOR);
06044        if (yych <= '/') {
06045               if (yych == '.') goto yy350;
06046               goto yy199;
06047        } else {
06048               if (yych <= '0') goto yy349;
06049               if (yych <= '9') goto yy354;
06050               if (yych <= ':') goto yy350;
06051               goto yy199;
06052        }
06053 yy334:
06054        YYDEBUG(334, *YYCURSOR);
06055        yyaccept = 6;
06056        yych = *(YYMARKER = ++YYCURSOR);
06057        if (yych <= '/') {
06058               if (yych == '.') goto yy338;
06059               goto yy199;
06060        } else {
06061               if (yych <= '2') goto yy354;
06062               if (yych <= '9') goto yy349;
06063               if (yych <= ':') goto yy338;
06064               goto yy199;
06065        }
06066 yy335:
06067        YYDEBUG(335, *YYCURSOR);
06068        yyaccept = 6;
06069        yych = *(YYMARKER = ++YYCURSOR);
06070        if (yych <= '/') {
06071               if (yych == '.') goto yy338;
06072               goto yy199;
06073        } else {
06074               if (yych <= '4') goto yy349;
06075               if (yych <= '9') goto yy348;
06076               if (yych <= ':') goto yy338;
06077               goto yy199;
06078        }
06079 yy336:
06080        YYDEBUG(336, *YYCURSOR);
06081        yyaccept = 6;
06082        yych = *(YYMARKER = ++YYCURSOR);
06083        if (yych <= '/') {
06084               if (yych == '.') goto yy338;
06085               goto yy199;
06086        } else {
06087               if (yych <= '9') goto yy348;
06088               if (yych <= ':') goto yy338;
06089               goto yy199;
06090        }
06091 yy337:
06092        YYDEBUG(337, *YYCURSOR);
06093        yyaccept = 6;
06094        yych = *(YYMARKER = ++YYCURSOR);
06095        if (yych <= '/') {
06096               if (yych != '.') goto yy199;
06097        } else {
06098               if (yych <= '9') goto yy263;
06099               if (yych >= ';') goto yy199;
06100        }
06101 yy338:
06102        YYDEBUG(338, *YYCURSOR);
06103        yych = *++YYCURSOR;
06104        if (yych <= '/') goto yy57;
06105        if (yych <= '5') goto yy339;
06106        if (yych <= '6') goto yy340;
06107        if (yych <= '9') goto yy266;
06108        goto yy57;
06109 yy339:
06110        YYDEBUG(339, *YYCURSOR);
06111        yyaccept = 7;
06112        yych = *(YYMARKER = ++YYCURSOR);
06113        if (yych <= '/') {
06114               if (yych == '.') goto yy267;
06115               goto yy223;
06116        } else {
06117               if (yych <= '9') goto yy341;
06118               if (yych <= ':') goto yy267;
06119               goto yy223;
06120        }
06121 yy340:
06122        YYDEBUG(340, *YYCURSOR);
06123        yyaccept = 7;
06124        yych = *(YYMARKER = ++YYCURSOR);
06125        if (yych <= '/') {
06126               if (yych == '.') goto yy267;
06127               goto yy223;
06128        } else {
06129               if (yych <= '0') goto yy229;
06130               if (yych == ':') goto yy267;
06131               goto yy223;
06132        }
06133 yy341:
06134        YYDEBUG(341, *YYCURSOR);
06135        yyaccept = 7;
06136        yych = *(YYMARKER = ++YYCURSOR);
06137        if (yych <= ',') {
06138               if (yych <= ' ') {
06139                      if (yych == '\t') goto yy343;
06140                      if (yych <= 0x1F) goto yy223;
06141                      goto yy343;
06142               } else {
06143                      if (yych <= '(') {
06144                             if (yych <= '\'') goto yy223;
06145                             goto yy343;
06146                      } else {
06147                             if (yych == '+') goto yy343;
06148                             goto yy223;
06149                      }
06150               }
06151        } else {
06152               if (yych <= ':') {
06153                      if (yych <= '-') goto yy343;
06154                      if (yych <= '.') goto yy267;
06155                      if (yych <= '9') goto yy223;
06156                      goto yy267;
06157               } else {
06158                      if (yych <= 'Z') {
06159                             if (yych <= '@') goto yy223;
06160                             goto yy343;
06161                      } else {
06162                             if (yych <= '`') goto yy223;
06163                             if (yych <= 'z') goto yy343;
06164                             goto yy223;
06165                      }
06166               }
06167        }
06168 yy342:
06169        YYDEBUG(342, *YYCURSOR);
06170        ++YYCURSOR;
06171        if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
06172        yych = *YYCURSOR;
06173 yy343:
06174        YYDEBUG(343, *YYCURSOR);
06175        if (yych <= '@') {
06176               if (yych <= '\'') {
06177                      if (yych <= '\t') {
06178                             if (yych <= 0x08) goto yy57;
06179                             goto yy342;
06180                      } else {
06181                             if (yych == ' ') goto yy342;
06182                             goto yy57;
06183                      }
06184               } else {
06185                      if (yych <= '+') {
06186                             if (yych <= '(') goto yy234;
06187                             if (yych <= '*') goto yy57;
06188                             goto yy233;
06189                      } else {
06190                             if (yych == '-') goto yy233;
06191                             goto yy57;
06192                      }
06193               }
06194        } else {
06195               if (yych <= 'Z') {
06196                      if (yych <= 'G') {
06197                             if (yych <= 'A') goto yy344;
06198                             if (yych <= 'F') goto yy235;
06199                             goto yy232;
06200                      } else {
06201                             if (yych != 'P') goto yy235;
06202                      }
06203               } else {
06204                      if (yych <= 'o') {
06205                             if (yych <= '`') goto yy57;
06206                             if (yych <= 'a') goto yy345;
06207                             goto yy236;
06208                      } else {
06209                             if (yych <= 'p') goto yy345;
06210                             if (yych <= 'z') goto yy236;
06211                             goto yy57;
06212                      }
06213               }
06214        }
06215 yy344:
06216        YYDEBUG(344, *YYCURSOR);
06217        yyaccept = 7;
06218        yych = *(YYMARKER = ++YYCURSOR);
06219        if (yych <= 'L') {
06220               if (yych <= '-') {
06221                      if (yych == ')') goto yy228;
06222                      goto yy223;
06223               } else {
06224                      if (yych <= '.') goto yy286;
06225                      if (yych <= '@') goto yy223;
06226                      goto yy237;
06227               }
06228        } else {
06229               if (yych <= '`') {
06230                      if (yych <= 'M') goto yy346;
06231                      if (yych <= 'Z') goto yy237;
06232                      goto yy223;
06233               } else {
06234                      if (yych == 'm') goto yy347;
06235                      if (yych <= 'z') goto yy242;
06236                      goto yy223;
06237               }
06238        }
06239 yy345:
06240        YYDEBUG(345, *YYCURSOR);
06241        yyaccept = 7;
06242        yych = *(YYMARKER = ++YYCURSOR);
06243        if (yych <= 'L') {
06244               if (yych <= '-') {
06245                      if (yych == ')') goto yy228;
06246                      goto yy223;
06247               } else {
06248                      if (yych <= '.') goto yy286;
06249                      if (yych <= '@') goto yy223;
06250                      goto yy237;
06251               }
06252        } else {
06253               if (yych <= '`') {
06254                      if (yych <= 'M') goto yy346;
06255                      if (yych <= 'Z') goto yy237;
06256                      goto yy223;
06257               } else {
06258                      if (yych == 'm') goto yy346;
06259                      if (yych <= 'z') goto yy237;
06260                      goto yy223;
06261               }
06262        }
06263 yy346:
06264        YYDEBUG(346, *YYCURSOR);
06265        yyaccept = 7;
06266        yych = *(YYMARKER = ++YYCURSOR);
06267        if (yych <= ')') {
06268               if (yych <= '\t') {
06269                      if (yych <= 0x00) goto yy278;
06270                      if (yych <= 0x08) goto yy223;
06271                      goto yy278;
06272               } else {
06273                      if (yych == ' ') goto yy278;
06274                      if (yych <= '(') goto yy223;
06275                      goto yy228;
06276               }
06277        } else {
06278               if (yych <= '@') {
06279                      if (yych == '.') goto yy288;
06280                      goto yy223;
06281               } else {
06282                      if (yych <= 'Z') goto yy238;
06283                      if (yych <= '`') goto yy223;
06284                      if (yych <= 'z') goto yy238;
06285                      goto yy223;
06286               }
06287        }
06288 yy347:
06289        YYDEBUG(347, *YYCURSOR);
06290        yyaccept = 7;
06291        yych = *(YYMARKER = ++YYCURSOR);
06292        if (yych <= '-') {
06293               if (yych <= 0x1F) {
06294                      if (yych <= 0x00) goto yy278;
06295                      if (yych == '\t') goto yy278;
06296                      goto yy223;
06297               } else {
06298                      if (yych <= '(') {
06299                             if (yych <= ' ') goto yy278;
06300                             goto yy223;
06301                      } else {
06302                             if (yych <= ')') goto yy228;
06303                             if (yych <= ',') goto yy223;
06304                             goto yy244;
06305                      }
06306               }
06307        } else {
06308               if (yych <= 'Z') {
06309                      if (yych <= '.') goto yy288;
06310                      if (yych <= '/') goto yy244;
06311                      if (yych <= '@') goto yy223;
06312                      goto yy238;
06313               } else {
06314                      if (yych <= '_') {
06315                             if (yych <= '^') goto yy223;
06316                             goto yy244;
06317                      } else {
06318                             if (yych <= '`') goto yy223;
06319                             if (yych <= 'z') goto yy243;
06320                             goto yy223;
06321                      }
06322               }
06323        }
06324 yy348:
06325        YYDEBUG(348, *YYCURSOR);
06326        yyaccept = 6;
06327        yych = *(YYMARKER = ++YYCURSOR);
06328        if (yych <= '/') {
06329               if (yych == '.') goto yy225;
06330               goto yy199;
06331        } else {
06332               if (yych <= '9') goto yy289;
06333               if (yych <= ':') goto yy225;
06334               goto yy199;
06335        }
06336 yy349:
06337        YYDEBUG(349, *YYCURSOR);
06338        yyaccept = 6;
06339        yych = *(YYMARKER = ++YYCURSOR);
06340        if (yych <= '/') {
06341               if (yych != '.') goto yy199;
06342        } else {
06343               if (yych <= '9') goto yy289;
06344               if (yych >= ';') goto yy199;
06345        }
06346 yy350:
06347        YYDEBUG(350, *YYCURSOR);
06348        yych = *++YYCURSOR;
06349        if (yych <= '/') goto yy57;
06350        if (yych <= '5') goto yy351;
06351        if (yych <= '6') goto yy352;
06352        if (yych <= '9') goto yy224;
06353        goto yy57;
06354 yy351:
06355        YYDEBUG(351, *YYCURSOR);
06356        yyaccept = 7;
06357        yych = *(YYMARKER = ++YYCURSOR);
06358        if (yych <= '/') {
06359               if (yych == '.') goto yy225;
06360               goto yy223;
06361        } else {
06362               if (yych <= '9') goto yy353;
06363               if (yych <= ':') goto yy225;
06364               goto yy223;
06365        }
06366 yy352:
06367        YYDEBUG(352, *YYCURSOR);
06368        yyaccept = 7;
06369        yych = *(YYMARKER = ++YYCURSOR);
06370        if (yych <= '/') {
06371               if (yych == '.') goto yy225;
06372               goto yy223;
06373        } else {
06374               if (yych <= '0') goto yy229;
06375               if (yych == ':') goto yy225;
06376               goto yy223;
06377        }
06378 yy353:
06379        YYDEBUG(353, *YYCURSOR);
06380        yyaccept = 7;
06381        yych = *(YYMARKER = ++YYCURSOR);
06382        if (yych <= ',') {
06383               if (yych <= ' ') {
06384                      if (yych == '\t') goto yy231;
06385                      if (yych <= 0x1F) goto yy223;
06386                      goto yy231;
06387               } else {
06388                      if (yych <= '(') {
06389                             if (yych <= '\'') goto yy223;
06390                             goto yy231;
06391                      } else {
06392                             if (yych == '+') goto yy231;
06393                             goto yy223;
06394                      }
06395               }
06396        } else {
06397               if (yych <= ':') {
06398                      if (yych <= '-') goto yy231;
06399                      if (yych <= '.') goto yy225;
06400                      if (yych <= '9') goto yy223;
06401                      goto yy225;
06402               } else {
06403                      if (yych <= 'Z') {
06404                             if (yych <= '@') goto yy223;
06405                             goto yy231;
06406                      } else {
06407                             if (yych <= '`') goto yy223;
06408                             if (yych <= 'z') goto yy231;
06409                             goto yy223;
06410                      }
06411               }
06412        }
06413 yy354:
06414        YYDEBUG(354, *YYCURSOR);
06415        yyaccept = 6;
06416        yych = *(YYMARKER = ++YYCURSOR);
06417        if (yych <= '/') {
06418               if (yych == '.') goto yy338;
06419               goto yy199;
06420        } else {
06421               if (yych <= '9') goto yy289;
06422               if (yych <= ':') goto yy338;
06423               goto yy199;
06424        }
06425 yy355:
06426        YYDEBUG(355, *YYCURSOR);
06427        yyaccept = 6;
06428        yych = *(YYMARKER = ++YYCURSOR);
06429        if (yych <= '9') {
06430               if (yych <= '/') {
06431                      if (yych == '.') goto yy300;
06432                      goto yy216;
06433               } else {
06434                      if (yych <= '0') goto yy332;
06435                      if (yych <= '1') goto yy302;
06436                      if (yych <= '2') goto yy303;
06437                      goto yy297;
06438               }
06439        } else {
06440               if (yych <= 'q') {
06441                      if (yych <= ':') goto yy264;
06442                      if (yych == 'n') goto yy212;
06443                      goto yy216;
06444               } else {
06445                      if (yych <= 'r') goto yy213;
06446                      if (yych <= 's') goto yy211;
06447                      if (yych <= 't') goto yy214;
06448                      goto yy216;
06449               }
06450        }
06451 yy356:
06452        YYDEBUG(356, *YYCURSOR);
06453        yyaccept = 6;
06454        yych = *(YYMARKER = ++YYCURSOR);
06455        if (yych <= '9') {
06456               if (yych <= '/') {
06457                      if (yych == '.') goto yy300;
06458                      goto yy216;
06459               } else {
06460                      if (yych <= '0') goto yy332;
06461                      if (yych <= '1') goto yy302;
06462                      if (yych <= '2') goto yy303;
06463                      goto yy297;
06464               }
06465        } else {
06466               if (yych <= 'q') {
06467                      if (yych <= ':') goto yy264;
06468                      if (yych == 'n') goto yy212;
06469                      goto yy216;
06470               } else {
06471                      if (yych <= 'r') goto yy213;
06472                      if (yych <= 's') goto yy211;
06473                      if (yych <= 't') goto yy214;
06474                      goto yy216;
06475               }
06476        }
06477 yy357:
06478        YYDEBUG(357, *YYCURSOR);
06479        yyaccept = 6;
06480        yych = *(YYMARKER = ++YYCURSOR);
06481        if (yych <= 'm') {
06482               if (yych <= '1') {
06483                      if (yych <= '/') goto yy216;
06484                      if (yych <= '0') goto yy360;
06485                      goto yy361;
06486               } else {
06487                      if (yych <= '2') goto yy368;
06488                      if (yych <= '9') goto yy369;
06489                      goto yy216;
06490               }
06491        } else {
06492               if (yych <= 'r') {
06493                      if (yych <= 'n') goto yy212;
06494                      if (yych <= 'q') goto yy216;
06495                      goto yy213;
06496               } else {
06497                      if (yych <= 's') goto yy211;
06498                      if (yych <= 't') goto yy214;
06499                      goto yy216;
06500               }
06501        }
06502 yy358:
06503        YYDEBUG(358, *YYCURSOR);
06504        yyaccept = 6;
06505        yych = *(YYMARKER = ++YYCURSOR);
06506        if (yych <= 'm') {
06507               if (yych <= '1') {
06508                      if (yych <= '/') goto yy216;
06509                      if (yych <= '0') goto yy360;
06510                      goto yy361;
06511               } else {
06512                      if (yych <= '2') goto yy368;
06513                      if (yych <= '9') goto yy369;
06514                      goto yy216;
06515               }
06516        } else {
06517               if (yych <= 'r') {
06518                      if (yych <= 'n') goto yy212;
06519                      if (yych <= 'q') goto yy216;
06520                      goto yy213;
06521               } else {
06522                      if (yych <= 's') goto yy211;
06523                      if (yych <= 't') goto yy214;
06524                      goto yy216;
06525               }
06526        }
06527 yy359:
06528        YYDEBUG(359, *YYCURSOR);
06529        yyaccept = 6;
06530        yych = *(YYMARKER = ++YYCURSOR);
06531        if (yych <= 'm') {
06532               if (yych <= '1') {
06533                      if (yych <= '/') goto yy216;
06534                      if (yych >= '1') goto yy361;
06535               } else {
06536                      if (yych <= '2') goto yy209;
06537                      if (yych <= '9') goto yy210;
06538                      goto yy216;
06539               }
06540        } else {
06541               if (yych <= 'r') {
06542                      if (yych <= 'n') goto yy212;
06543                      if (yych <= 'q') goto yy216;
06544                      goto yy213;
06545               } else {
06546                      if (yych <= 's') goto yy211;
06547                      if (yych <= 't') goto yy214;
06548                      goto yy216;
06549               }
06550        }
06551 yy360:
06552        YYDEBUG(360, *YYCURSOR);
06553        yyaccept = 6;
06554        yych = *(YYMARKER = ++YYCURSOR);
06555        if (yych <= '9') {
06556               if (yych <= '/') {
06557                      if (yych <= ',') goto yy216;
06558                      if (yych <= '-') goto yy362;
06559                      if (yych <= '.') goto yy331;
06560                      goto yy216;
06561               } else {
06562                      if (yych <= '0') goto yy332;
06563                      if (yych <= '1') goto yy302;
06564                      if (yych <= '2') goto yy303;
06565                      goto yy297;
06566               }
06567        } else {
06568               if (yych <= 'q') {
06569                      if (yych <= ':') goto yy221;
06570                      if (yych == 'n') goto yy212;
06571                      goto yy216;
06572               } else {
06573                      if (yych <= 'r') goto yy213;
06574                      if (yych <= 's') goto yy211;
06575                      if (yych <= 't') goto yy214;
06576                      goto yy216;
06577               }
06578        }
06579 yy361:
06580        YYDEBUG(361, *YYCURSOR);
06581        yyaccept = 6;
06582        yych = *(YYMARKER = ++YYCURSOR);
06583        if (yych <= '9') {
06584               if (yych <= '/') {
06585                      if (yych <= ',') goto yy216;
06586                      if (yych <= '-') goto yy362;
06587                      if (yych <= '.') goto yy300;
06588                      goto yy216;
06589               } else {
06590                      if (yych <= '0') goto yy301;
06591                      if (yych <= '1') goto yy302;
06592                      if (yych <= '2') goto yy303;
06593                      goto yy297;
06594               }
06595        } else {
06596               if (yych <= 'q') {
06597                      if (yych <= ':') goto yy264;
06598                      if (yych == 'n') goto yy212;
06599                      goto yy216;
06600               } else {
06601                      if (yych <= 'r') goto yy213;
06602                      if (yych <= 's') goto yy211;
06603                      if (yych <= 't') goto yy214;
06604                      goto yy216;
06605               }
06606        }
06607 yy362:
06608        YYDEBUG(362, *YYCURSOR);
06609        yych = *++YYCURSOR;
06610        if (yych <= '/') goto yy57;
06611        if (yych >= ':') goto yy57;
06612        YYDEBUG(363, *YYCURSOR);
06613        ++YYCURSOR;
06614        if ((yych = *YYCURSOR) <= '/') goto yy364;
06615        if (yych <= '9') goto yy365;
06616 yy364:
06617        YYDEBUG(364, *YYCURSOR);
06618        {
06619               int length = 0;
06620               DEBUG_OUTPUT("pgtextshort");
06621               TIMELIB_INIT;
06622               TIMELIB_HAVE_DATE();
06623               s->time->m = timelib_get_month((char **) &ptr);
06624               s->time->d = timelib_get_nr((char **) &ptr, 2);
06625               s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
06626               TIMELIB_PROCESS_YEAR(s->time->y, length);
06627               TIMELIB_DEINIT;
06628               return TIMELIB_PG_TEXT;
06629        }
06630 yy365:
06631        YYDEBUG(365, *YYCURSOR);
06632        yych = *++YYCURSOR;
06633        if (yych <= '/') goto yy364;
06634        if (yych >= ':') goto yy364;
06635        YYDEBUG(366, *YYCURSOR);
06636        yych = *++YYCURSOR;
06637        if (yych <= '/') goto yy364;
06638        if (yych >= ':') goto yy364;
06639        YYDEBUG(367, *YYCURSOR);
06640        yych = *++YYCURSOR;
06641        goto yy364;
06642 yy368:
06643        YYDEBUG(368, *YYCURSOR);
06644        yyaccept = 6;
06645        yych = *(YYMARKER = ++YYCURSOR);
06646        if (yych <= '9') {
06647               if (yych <= '/') {
06648                      if (yych <= ',') goto yy216;
06649                      if (yych <= '-') goto yy362;
06650                      if (yych <= '.') goto yy300;
06651                      goto yy216;
06652               } else {
06653                      if (yych <= '0') goto yy332;
06654                      if (yych <= '1') goto yy302;
06655                      if (yych <= '2') goto yy303;
06656                      goto yy297;
06657               }
06658        } else {
06659               if (yych <= 'q') {
06660                      if (yych <= ':') goto yy264;
06661                      if (yych == 'n') goto yy212;
06662                      goto yy216;
06663               } else {
06664                      if (yych <= 'r') goto yy213;
06665                      if (yych <= 's') goto yy211;
06666                      if (yych <= 't') goto yy214;
06667                      goto yy216;
06668               }
06669        }
06670 yy369:
06671        YYDEBUG(369, *YYCURSOR);
06672        yyaccept = 6;
06673        yych = *(YYMARKER = ++YYCURSOR);
06674        if (yych <= '9') {
06675               if (yych <= '/') {
06676                      if (yych <= ',') goto yy216;
06677                      if (yych <= '-') goto yy362;
06678                      if (yych <= '.') goto yy300;
06679                      goto yy216;
06680               } else {
06681                      if (yych <= '0') goto yy332;
06682                      if (yych <= '1') goto yy302;
06683                      if (yych <= '2') goto yy303;
06684                      goto yy297;
06685               }
06686        } else {
06687               if (yych <= 'q') {
06688                      if (yych <= ':') goto yy264;
06689                      if (yych == 'n') goto yy212;
06690                      goto yy216;
06691               } else {
06692                      if (yych <= 'r') goto yy213;
06693                      if (yych <= 's') goto yy211;
06694                      if (yych <= 't') goto yy214;
06695                      goto yy216;
06696               }
06697        }
06698 yy370:
06699        YYDEBUG(370, *YYCURSOR);
06700        yyaccept = 0;
06701        yych = *(YYMARKER = ++YYCURSOR);
06702        if (yych <= 'B') {
06703               if (yych <= '-') {
06704                      if (yych == ')') goto yy140;
06705                      if (yych <= ',') goto yy4;
06706                      goto yy148;
06707               } else {
06708                      if (yych == '/') goto yy148;
06709                      if (yych <= '@') goto yy4;
06710                      goto yy142;
06711               }
06712        } else {
06713               if (yych <= '_') {
06714                      if (yych <= 'C') goto yy193;
06715                      if (yych <= 'Z') goto yy142;
06716                      if (yych <= '^') goto yy4;
06717                      goto yy148;
06718               } else {
06719                      if (yych <= 'b') {
06720                             if (yych <= '`') goto yy4;
06721                             goto yy147;
06722                      } else {
06723                             if (yych <= 'c') goto yy371;
06724                             if (yych <= 'z') goto yy147;
06725                             goto yy4;
06726                      }
06727               }
06728        }
06729 yy371:
06730        YYDEBUG(371, *YYCURSOR);
06731        yyaccept = 5;
06732        yych = *(YYMARKER = ++YYCURSOR);
06733        if (yych <= '9') {
06734               if (yych <= '(') {
06735                      if (yych <= '\t') {
06736                             if (yych <= 0x08) goto yy194;
06737                             goto yy196;
06738                      } else {
06739                             if (yych == ' ') goto yy196;
06740                             goto yy194;
06741                      }
06742               } else {
06743                      if (yych <= '-') {
06744                             if (yych <= ')') goto yy140;
06745                             if (yych <= ',') goto yy194;
06746                      } else {
06747                             if (yych == '/') goto yy148;
06748                             goto yy196;
06749                      }
06750               }
06751        } else {
06752               if (yych <= '^') {
06753                      if (yych <= 'D') {
06754                             if (yych <= '@') goto yy194;
06755                             goto yy143;
06756                      } else {
06757                             if (yych <= 'E') goto yy202;
06758                             if (yych <= 'Z') goto yy143;
06759                             goto yy194;
06760                      }
06761               } else {
06762                      if (yych <= 'd') {
06763                             if (yych <= '_') goto yy148;
06764                             if (yych <= '`') goto yy194;
06765                             goto yy151;
06766                      } else {
06767                             if (yych <= 'e') goto yy373;
06768                             if (yych <= 'z') goto yy151;
06769                             goto yy194;
06770                      }
06771               }
06772        }
06773 yy372:
06774        YYDEBUG(372, *YYCURSOR);
06775        yych = *++YYCURSOR;
06776        if (yybm[0+yych] & 8) {
06777               goto yy149;
06778        }
06779        if (yych <= '/') goto yy196;
06780        if (yych <= '0') goto yy357;
06781        if (yych <= '2') goto yy358;
06782        if (yych <= '3') goto yy359;
06783        goto yy196;
06784 yy373:
06785        YYDEBUG(373, *YYCURSOR);
06786        yyaccept = 0;
06787        yych = *(YYMARKER = ++YYCURSOR);
06788        if (yych <= 'L') {
06789               if (yych <= '-') {
06790                      if (yych == ')') goto yy140;
06791                      if (yych <= ',') goto yy4;
06792                      goto yy148;
06793               } else {
06794                      if (yych == '/') goto yy148;
06795                      if (yych <= '@') goto yy4;
06796                      goto yy144;
06797               }
06798        } else {
06799               if (yych <= '_') {
06800                      if (yych <= 'M') goto yy203;
06801                      if (yych <= 'Z') goto yy144;
06802                      if (yych <= '^') goto yy4;
06803                      goto yy148;
06804               } else {
06805                      if (yych <= 'l') {
06806                             if (yych <= '`') goto yy4;
06807                             goto yy152;
06808                      } else {
06809                             if (yych <= 'm') goto yy374;
06810                             if (yych <= 'z') goto yy152;
06811                             goto yy4;
06812                      }
06813               }
06814        }
06815 yy374:
06816        YYDEBUG(374, *YYCURSOR);
06817        yyaccept = 0;
06818        yych = *(YYMARKER = ++YYCURSOR);
06819        if (yych <= 'A') {
06820               if (yych <= '-') {
06821                      if (yych == ')') goto yy140;
06822                      if (yych <= ',') goto yy4;
06823                      goto yy148;
06824               } else {
06825                      if (yych == '/') goto yy148;
06826                      if (yych <= '@') goto yy4;
06827                      goto yy145;
06828               }
06829        } else {
06830               if (yych <= '_') {
06831                      if (yych <= 'B') goto yy204;
06832                      if (yych <= 'Z') goto yy145;
06833                      if (yych <= '^') goto yy4;
06834                      goto yy148;
06835               } else {
06836                      if (yych <= 'a') {
06837                             if (yych <= '`') goto yy4;
06838                             goto yy153;
06839                      } else {
06840                             if (yych <= 'b') goto yy375;
06841                             if (yych <= 'z') goto yy153;
06842                             goto yy4;
06843                      }
06844               }
06845        }
06846 yy375:
06847        YYDEBUG(375, *YYCURSOR);
06848        yyaccept = 0;
06849        yych = *(YYMARKER = ++YYCURSOR);
06850        if (yych <= 'D') {
06851               if (yych <= ',') {
06852                      if (yych == ')') goto yy140;
06853                      goto yy4;
06854               } else {
06855                      if (yych == '.') goto yy4;
06856                      if (yych <= '/') goto yy148;
06857                      goto yy4;
06858               }
06859        } else {
06860               if (yych <= '`') {
06861                      if (yych <= 'E') goto yy205;
06862                      if (yych == '_') goto yy148;
06863                      goto yy4;
06864               } else {
06865                      if (yych == 'e') goto yy376;
06866                      if (yych <= 'z') goto yy154;
06867                      goto yy4;
06868               }
06869        }
06870 yy376:
06871        YYDEBUG(376, *YYCURSOR);
06872        yych = *++YYCURSOR;
06873        if (yych == 'R') goto yy206;
06874        if (yych != 'r') goto yy155;
06875 yy377:
06876        YYDEBUG(377, *YYCURSOR);
06877        yyaccept = 5;
06878        yych = *(YYMARKER = ++YYCURSOR);
06879        if (yybm[0+yych] & 16) {
06880               goto yy154;
06881        }
06882        if (yych <= '-') {
06883               if (yych <= 0x1F) {
06884                      if (yych == '\t') goto yy196;
06885                      goto yy194;
06886               } else {
06887                      if (yych <= ' ') goto yy196;
06888                      if (yych <= ',') goto yy194;
06889               }
06890        } else {
06891               if (yych <= '9') {
06892                      if (yych == '/') goto yy148;
06893                      goto yy196;
06894               } else {
06895                      if (yych == '_') goto yy148;
06896                      goto yy194;
06897               }
06898        }
06899 yy378:
06900        YYDEBUG(378, *YYCURSOR);
06901        yych = *++YYCURSOR;
06902        if (yybm[0+yych] & 8) {
06903               goto yy149;
06904        }
06905        goto yy196;
06906 yy379:
06907        YYDEBUG(379, *YYCURSOR);
06908        yych = *++YYCURSOR;
06909        if (yych <= 'T') {
06910               if (yych <= ')') {
06911                      if (yych <= '(') goto yy4;
06912                      goto yy140;
06913               } else {
06914                      if (yych <= '@') goto yy4;
06915                      if (yych <= 'S') goto yy142;
06916               }
06917        } else {
06918               if (yych <= 's') {
06919                      if (yych <= 'Z') goto yy142;
06920                      if (yych <= '`') goto yy4;
06921                      goto yy142;
06922               } else {
06923                      if (yych <= 't') goto yy380;
06924                      if (yych <= 'z') goto yy142;
06925                      goto yy4;
06926               }
06927        }
06928 yy380:
06929        YYDEBUG(380, *YYCURSOR);
06930        yyaccept = 5;
06931        yych = *(YYMARKER = ++YYCURSOR);
06932        if (yych <= '/') {
06933               if (yych <= '(') {
06934                      if (yych <= '\t') {
06935                             if (yych <= 0x08) goto yy194;
06936                             goto yy196;
06937                      } else {
06938                             if (yych == ' ') goto yy196;
06939                             goto yy194;
06940                      }
06941               } else {
06942                      if (yych <= ',') {
06943                             if (yych <= ')') goto yy140;
06944                             goto yy194;
06945                      } else {
06946                             if (yych <= '-') goto yy197;
06947                             if (yych <= '.') goto yy196;
06948                             goto yy194;
06949                      }
06950               }
06951        } else {
06952               if (yych <= 'Z') {
06953                      if (yych <= '@') {
06954                             if (yych <= '9') goto yy196;
06955                             goto yy194;
06956                      } else {
06957                             if (yych != 'O') goto yy143;
06958                      }
06959               } else {
06960                      if (yych <= 'n') {
06961                             if (yych <= '`') goto yy194;
06962                             goto yy143;
06963                      } else {
06964                             if (yych <= 'o') goto yy381;
06965                             if (yych <= 'z') goto yy143;
06966                             goto yy194;
06967                      }
06968               }
06969        }
06970 yy381:
06971        YYDEBUG(381, *YYCURSOR);
06972        yych = *++YYCURSOR;
06973        if (yych <= 'B') {
06974               if (yych <= ')') {
06975                      if (yych <= '(') goto yy4;
06976                      goto yy140;
06977               } else {
06978                      if (yych <= '@') goto yy4;
06979                      if (yych <= 'A') goto yy144;
06980               }
06981        } else {
06982               if (yych <= 'a') {
06983                      if (yych <= 'Z') goto yy144;
06984                      if (yych <= '`') goto yy4;
06985                      goto yy144;
06986               } else {
06987                      if (yych <= 'b') goto yy382;
06988                      if (yych <= 'z') goto yy144;
06989                      goto yy4;
06990               }
06991        }
06992 yy382:
06993        YYDEBUG(382, *YYCURSOR);
06994        yych = *++YYCURSOR;
06995        if (yych <= 'E') {
06996               if (yych <= ')') {
06997                      if (yych <= '(') goto yy4;
06998                      goto yy140;
06999               } else {
07000                      if (yych <= '@') goto yy4;
07001                      if (yych <= 'D') goto yy145;
07002               }
07003        } else {
07004               if (yych <= 'd') {
07005                      if (yych <= 'Z') goto yy145;
07006                      if (yych <= '`') goto yy4;
07007                      goto yy145;
07008               } else {
07009                      if (yych <= 'e') goto yy383;
07010                      if (yych <= 'z') goto yy145;
07011                      goto yy4;
07012               }
07013        }
07014 yy383:
07015        YYDEBUG(383, *YYCURSOR);
07016        yych = *++YYCURSOR;
07017        if (yych <= 'Q') {
07018               if (yych == ')') goto yy140;
07019               goto yy4;
07020        } else {
07021               if (yych <= 'R') goto yy206;
07022               if (yych == 'r') goto yy206;
07023               goto yy4;
07024        }
07025 yy384:
07026        YYDEBUG(384, *YYCURSOR);
07027        yyaccept = 0;
07028        yych = *(YYMARKER = ++YYCURSOR);
07029        if (yych <= 'S') {
07030               if (yych <= '-') {
07031                      if (yych == ')') goto yy140;
07032                      if (yych <= ',') goto yy4;
07033                      goto yy148;
07034               } else {
07035                      if (yych == '/') goto yy148;
07036                      if (yych <= '@') goto yy4;
07037                      goto yy142;
07038               }
07039        } else {
07040               if (yych <= '_') {
07041                      if (yych <= 'T') goto yy380;
07042                      if (yych <= 'Z') goto yy142;
07043                      if (yych <= '^') goto yy4;
07044                      goto yy148;
07045               } else {
07046                      if (yych <= 's') {
07047                             if (yych <= '`') goto yy4;
07048                             goto yy147;
07049                      } else {
07050                             if (yych <= 't') goto yy385;
07051                             if (yych <= 'z') goto yy147;
07052                             goto yy4;
07053                      }
07054               }
07055        }
07056 yy385:
07057        YYDEBUG(385, *YYCURSOR);
07058        yyaccept = 5;
07059        yych = *(YYMARKER = ++YYCURSOR);
07060        if (yych <= '9') {
07061               if (yych <= '(') {
07062                      if (yych <= '\t') {
07063                             if (yych <= 0x08) goto yy194;
07064                             goto yy196;
07065                      } else {
07066                             if (yych == ' ') goto yy196;
07067                             goto yy194;
07068                      }
07069               } else {
07070                      if (yych <= '-') {
07071                             if (yych <= ')') goto yy140;
07072                             if (yych <= ',') goto yy194;
07073                             goto yy372;
07074                      } else {
07075                             if (yych == '/') goto yy148;
07076                             goto yy196;
07077                      }
07078               }
07079        } else {
07080               if (yych <= '^') {
07081                      if (yych <= 'N') {
07082                             if (yych <= '@') goto yy194;
07083                             goto yy143;
07084                      } else {
07085                             if (yych <= 'O') goto yy381;
07086                             if (yych <= 'Z') goto yy143;
07087                             goto yy194;
07088                      }
07089               } else {
07090                      if (yych <= 'n') {
07091                             if (yych <= '_') goto yy148;
07092                             if (yych <= '`') goto yy194;
07093                             goto yy151;
07094                      } else {
07095                             if (yych <= 'o') goto yy386;
07096                             if (yych <= 'z') goto yy151;
07097                             goto yy194;
07098                      }
07099               }
07100        }
07101 yy386:
07102        YYDEBUG(386, *YYCURSOR);
07103        yyaccept = 0;
07104        yych = *(YYMARKER = ++YYCURSOR);
07105        if (yych <= 'A') {
07106               if (yych <= '-') {
07107                      if (yych == ')') goto yy140;
07108                      if (yych <= ',') goto yy4;
07109                      goto yy148;
07110               } else {
07111                      if (yych == '/') goto yy148;
07112                      if (yych <= '@') goto yy4;
07113                      goto yy144;
07114               }
07115        } else {
07116               if (yych <= '_') {
07117                      if (yych <= 'B') goto yy382;
07118                      if (yych <= 'Z') goto yy144;
07119                      if (yych <= '^') goto yy4;
07120                      goto yy148;
07121               } else {
07122                      if (yych <= 'a') {
07123                             if (yych <= '`') goto yy4;
07124                             goto yy152;
07125                      } else {
07126                             if (yych <= 'b') goto yy387;
07127                             if (yych <= 'z') goto yy152;
07128                             goto yy4;
07129                      }
07130               }
07131        }
07132 yy387:
07133        YYDEBUG(387, *YYCURSOR);
07134        yyaccept = 0;
07135        yych = *(YYMARKER = ++YYCURSOR);
07136        if (yych <= 'D') {
07137               if (yych <= '-') {
07138                      if (yych == ')') goto yy140;
07139                      if (yych <= ',') goto yy4;
07140                      goto yy148;
07141               } else {
07142                      if (yych == '/') goto yy148;
07143                      if (yych <= '@') goto yy4;
07144                      goto yy145;
07145               }
07146        } else {
07147               if (yych <= '_') {
07148                      if (yych <= 'E') goto yy383;
07149                      if (yych <= 'Z') goto yy145;
07150                      if (yych <= '^') goto yy4;
07151                      goto yy148;
07152               } else {
07153                      if (yych <= 'd') {
07154                             if (yych <= '`') goto yy4;
07155                             goto yy153;
07156                      } else {
07157                             if (yych <= 'e') goto yy388;
07158                             if (yych <= 'z') goto yy153;
07159                             goto yy4;
07160                      }
07161               }
07162        }
07163 yy388:
07164        YYDEBUG(388, *YYCURSOR);
07165        yyaccept = 0;
07166        yych = *(YYMARKER = ++YYCURSOR);
07167        if (yych <= 'Q') {
07168               if (yych <= ',') {
07169                      if (yych == ')') goto yy140;
07170                      goto yy4;
07171               } else {
07172                      if (yych == '.') goto yy4;
07173                      if (yych <= '/') goto yy148;
07174                      goto yy4;
07175               }
07176        } else {
07177               if (yych <= '`') {
07178                      if (yych <= 'R') goto yy206;
07179                      if (yych == '_') goto yy148;
07180                      goto yy4;
07181               } else {
07182                      if (yych == 'r') goto yy377;
07183                      if (yych <= 'z') goto yy154;
07184                      goto yy4;
07185               }
07186        }
07187 yy389:
07188        YYDEBUG(389, *YYCURSOR);
07189        yych = *++YYCURSOR;
07190        if (yych <= 'G') {
07191               if (yych <= ')') {
07192                      if (yych <= '(') goto yy4;
07193                      goto yy140;
07194               } else {
07195                      if (yych <= '@') goto yy4;
07196                      if (yych <= 'F') goto yy142;
07197                      goto yy397;
07198               }
07199        } else {
07200               if (yych <= 'f') {
07201                      if (yych <= 'Z') goto yy142;
07202                      if (yych <= '`') goto yy4;
07203                      goto yy142;
07204               } else {
07205                      if (yych <= 'g') goto yy397;
07206                      if (yych <= 'z') goto yy142;
07207                      goto yy4;
07208               }
07209        }
07210 yy390:
07211        YYDEBUG(390, *YYCURSOR);
07212        yych = *++YYCURSOR;
07213        if (yych <= 'R') {
07214               if (yych <= ')') {
07215                      if (yych <= '(') goto yy4;
07216                      goto yy140;
07217               } else {
07218                      if (yych <= '@') goto yy4;
07219                      if (yych <= 'Q') goto yy142;
07220                      goto yy394;
07221               }
07222        } else {
07223               if (yych <= 'q') {
07224                      if (yych <= 'Z') goto yy142;
07225                      if (yych <= '`') goto yy4;
07226                      goto yy142;
07227               } else {
07228                      if (yych <= 'r') goto yy394;
07229                      if (yych <= 'z') goto yy142;
07230                      goto yy4;
07231               }
07232        }
07233 yy391:
07234        YYDEBUG(391, *YYCURSOR);
07235        yych = *++YYCURSOR;
07236        if (yych <= 'O') {
07237               if (yych <= ')') {
07238                      if (yych <= '(') goto yy4;
07239                      goto yy140;
07240               } else {
07241                      if (yych <= '@') goto yy4;
07242                      if (yych <= 'N') goto yy142;
07243               }
07244        } else {
07245               if (yych <= 'n') {
07246                      if (yych <= 'Z') goto yy142;
07247                      if (yych <= '`') goto yy4;
07248                      goto yy142;
07249               } else {
07250                      if (yych <= 'o') goto yy392;
07251                      if (yych <= 'z') goto yy142;
07252                      goto yy4;
07253               }
07254        }
07255 yy392:
07256        YYDEBUG(392, *YYCURSOR);
07257        ++YYCURSOR;
07258        if ((yych = *YYCURSOR) <= '@') {
07259               if (yych == ')') goto yy140;
07260        } else {
07261               if (yych <= 'Z') goto yy143;
07262               if (yych <= '`') goto yy393;
07263               if (yych <= 'z') goto yy143;
07264        }
07265 yy393:
07266        YYDEBUG(393, *YYCURSOR);
07267        {
07268               DEBUG_OUTPUT("ago");
07269               TIMELIB_INIT;
07270               s->time->relative.y = 0 - s->time->relative.y;
07271               s->time->relative.m = 0 - s->time->relative.m;
07272               s->time->relative.d = 0 - s->time->relative.d;
07273               s->time->relative.h = 0 - s->time->relative.h;
07274               s->time->relative.i = 0 - s->time->relative.i;
07275               s->time->relative.s = 0 - s->time->relative.s;
07276               s->time->relative.weekday = 0 - s->time->relative.weekday;
07277               if (s->time->relative.weekday == 0) {
07278                      s->time->relative.weekday = -7;
07279               }
07280               if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
07281                      s->time->relative.special.amount = 0 - s->time->relative.special.amount;
07282               }
07283               TIMELIB_DEINIT;
07284               return TIMELIB_AGO;
07285        }
07286 yy394:
07287        YYDEBUG(394, *YYCURSOR);
07288        yyaccept = 5;
07289        yych = *(YYMARKER = ++YYCURSOR);
07290        if (yych <= '/') {
07291               if (yych <= '(') {
07292                      if (yych <= '\t') {
07293                             if (yych <= 0x08) goto yy194;
07294                             goto yy196;
07295                      } else {
07296                             if (yych == ' ') goto yy196;
07297                             goto yy194;
07298                      }
07299               } else {
07300                      if (yych <= ',') {
07301                             if (yych <= ')') goto yy140;
07302                             goto yy194;
07303                      } else {
07304                             if (yych <= '-') goto yy197;
07305                             if (yych <= '.') goto yy196;
07306                             goto yy194;
07307                      }
07308               }
07309        } else {
07310               if (yych <= 'Z') {
07311                      if (yych <= '@') {
07312                             if (yych <= '9') goto yy196;
07313                             goto yy194;
07314                      } else {
07315                             if (yych != 'I') goto yy143;
07316                      }
07317               } else {
07318                      if (yych <= 'h') {
07319                             if (yych <= '`') goto yy194;
07320                             goto yy143;
07321                      } else {
07322                             if (yych <= 'i') goto yy395;
07323                             if (yych <= 'z') goto yy143;
07324                             goto yy194;
07325                      }
07326               }
07327        }
07328 yy395:
07329        YYDEBUG(395, *YYCURSOR);
07330        yych = *++YYCURSOR;
07331        if (yych <= 'L') {
07332               if (yych <= ')') {
07333                      if (yych <= '(') goto yy4;
07334                      goto yy140;
07335               } else {
07336                      if (yych <= '@') goto yy4;
07337                      if (yych <= 'K') goto yy144;
07338               }
07339        } else {
07340               if (yych <= 'k') {
07341                      if (yych <= 'Z') goto yy144;
07342                      if (yych <= '`') goto yy4;
07343                      goto yy144;
07344               } else {
07345                      if (yych <= 'l') goto yy396;
07346                      if (yych <= 'z') goto yy144;
07347                      goto yy4;
07348               }
07349        }
07350 yy396:
07351        YYDEBUG(396, *YYCURSOR);
07352        yyaccept = 5;
07353        yych = *(YYMARKER = ++YYCURSOR);
07354        if (yych <= ',') {
07355               if (yych <= 0x1F) {
07356                      if (yych == '\t') goto yy196;
07357                      goto yy194;
07358               } else {
07359                      if (yych <= ' ') goto yy196;
07360                      if (yych == ')') goto yy140;
07361                      goto yy194;
07362               }
07363        } else {
07364               if (yych <= '@') {
07365                      if (yych == '/') goto yy194;
07366                      if (yych <= '9') goto yy196;
07367                      goto yy194;
07368               } else {
07369                      if (yych <= 'Z') goto yy145;
07370                      if (yych <= '`') goto yy194;
07371                      if (yych <= 'z') goto yy145;
07372                      goto yy194;
07373               }
07374        }
07375 yy397:
07376        YYDEBUG(397, *YYCURSOR);
07377        yyaccept = 5;
07378        yych = *(YYMARKER = ++YYCURSOR);
07379        if (yych <= '/') {
07380               if (yych <= '(') {
07381                      if (yych <= '\t') {
07382                             if (yych <= 0x08) goto yy194;
07383                             goto yy196;
07384                      } else {
07385                             if (yych == ' ') goto yy196;
07386                             goto yy194;
07387                      }
07388               } else {
07389                      if (yych <= ',') {
07390                             if (yych <= ')') goto yy140;
07391                             goto yy194;
07392                      } else {
07393                             if (yych <= '-') goto yy197;
07394                             if (yych <= '.') goto yy196;
07395                             goto yy194;
07396                      }
07397               }
07398        } else {
07399               if (yych <= 'Z') {
07400                      if (yych <= '@') {
07401                             if (yych <= '9') goto yy196;
07402                             goto yy194;
07403                      } else {
07404                             if (yych != 'U') goto yy143;
07405                      }
07406               } else {
07407                      if (yych <= 't') {
07408                             if (yych <= '`') goto yy194;
07409                             goto yy143;
07410                      } else {
07411                             if (yych <= 'u') goto yy398;
07412                             if (yych <= 'z') goto yy143;
07413                             goto yy194;
07414                      }
07415               }
07416        }
07417 yy398:
07418        YYDEBUG(398, *YYCURSOR);
07419        yych = *++YYCURSOR;
07420        if (yych <= 'S') {
07421               if (yych <= ')') {
07422                      if (yych <= '(') goto yy4;
07423                      goto yy140;
07424               } else {
07425                      if (yych <= '@') goto yy4;
07426                      if (yych <= 'R') goto yy144;
07427               }
07428        } else {
07429               if (yych <= 'r') {
07430                      if (yych <= 'Z') goto yy144;
07431                      if (yych <= '`') goto yy4;
07432                      goto yy144;
07433               } else {
07434                      if (yych <= 's') goto yy399;
07435                      if (yych <= 'z') goto yy144;
07436                      goto yy4;
07437               }
07438        }
07439 yy399:
07440        YYDEBUG(399, *YYCURSOR);
07441        yych = *++YYCURSOR;
07442        if (yych <= 'T') {
07443               if (yych <= ')') {
07444                      if (yych <= '(') goto yy4;
07445                      goto yy140;
07446               } else {
07447                      if (yych <= '@') goto yy4;
07448                      if (yych <= 'S') goto yy145;
07449               }
07450        } else {
07451               if (yych <= 's') {
07452                      if (yych <= 'Z') goto yy145;
07453                      if (yych <= '`') goto yy4;
07454                      goto yy145;
07455               } else {
07456                      if (yych <= 't') goto yy400;
07457                      if (yych <= 'z') goto yy145;
07458                      goto yy4;
07459               }
07460        }
07461 yy400:
07462        YYDEBUG(400, *YYCURSOR);
07463        yyaccept = 5;
07464        yych = *(YYMARKER = ++YYCURSOR);
07465        if (yych <= '(') {
07466               if (yych <= '\t') {
07467                      if (yych <= 0x08) goto yy194;
07468                      goto yy196;
07469               } else {
07470                      if (yych == ' ') goto yy196;
07471                      goto yy194;
07472               }
07473        } else {
07474               if (yych <= '.') {
07475                      if (yych <= ')') goto yy140;
07476                      if (yych <= ',') goto yy194;
07477                      goto yy196;
07478               } else {
07479                      if (yych <= '/') goto yy194;
07480                      if (yych <= '9') goto yy196;
07481                      goto yy194;
07482               }
07483        }
07484 yy401:
07485        YYDEBUG(401, *YYCURSOR);
07486        yyaccept = 0;
07487        yych = *(YYMARKER = ++YYCURSOR);
07488        if (yych <= 'F') {
07489               if (yych <= '-') {
07490                      if (yych == ')') goto yy140;
07491                      if (yych <= ',') goto yy4;
07492                      goto yy148;
07493               } else {
07494                      if (yych == '/') goto yy148;
07495                      if (yych <= '@') goto yy4;
07496                      goto yy142;
07497               }
07498        } else {
07499               if (yych <= '_') {
07500                      if (yych <= 'G') goto yy397;
07501                      if (yych <= 'Z') goto yy142;
07502                      if (yych <= '^') goto yy4;
07503                      goto yy148;
07504               } else {
07505                      if (yych <= 'f') {
07506                             if (yych <= '`') goto yy4;
07507                             goto yy147;
07508                      } else {
07509                             if (yych <= 'g') goto yy408;
07510                             if (yych <= 'z') goto yy147;
07511                             goto yy4;
07512                      }
07513               }
07514        }
07515 yy402:
07516        YYDEBUG(402, *YYCURSOR);
07517        yyaccept = 0;
07518        yych = *(YYMARKER = ++YYCURSOR);
07519        if (yych <= 'Q') {
07520               if (yych <= '-') {
07521                      if (yych == ')') goto yy140;
07522                      if (yych <= ',') goto yy4;
07523                      goto yy148;
07524               } else {
07525                      if (yych == '/') goto yy148;
07526                      if (yych <= '@') goto yy4;
07527                      goto yy142;
07528               }
07529        } else {
07530               if (yych <= '_') {
07531                      if (yych <= 'R') goto yy394;
07532                      if (yych <= 'Z') goto yy142;
07533                      if (yych <= '^') goto yy4;
07534                      goto yy148;
07535               } else {
07536                      if (yych <= 'q') {
07537                             if (yych <= '`') goto yy4;
07538                             goto yy147;
07539                      } else {
07540                             if (yych <= 'r') goto yy405;
07541                             if (yych <= 'z') goto yy147;
07542                             goto yy4;
07543                      }
07544               }
07545        }
07546 yy403:
07547        YYDEBUG(403, *YYCURSOR);
07548        yyaccept = 0;
07549        yych = *(YYMARKER = ++YYCURSOR);
07550        if (yych <= 'N') {
07551               if (yych <= '-') {
07552                      if (yych == ')') goto yy140;
07553                      if (yych <= ',') goto yy4;
07554                      goto yy148;
07555               } else {
07556                      if (yych == '/') goto yy148;
07557                      if (yych <= '@') goto yy4;
07558                      goto yy142;
07559               }
07560        } else {
07561               if (yych <= '_') {
07562                      if (yych <= 'O') goto yy392;
07563                      if (yych <= 'Z') goto yy142;
07564                      if (yych <= '^') goto yy4;
07565                      goto yy148;
07566               } else {
07567                      if (yych <= 'n') {
07568                             if (yych <= '`') goto yy4;
07569                             goto yy147;
07570                      } else {
07571                             if (yych <= 'o') goto yy404;
07572                             if (yych <= 'z') goto yy147;
07573                             goto yy4;
07574                      }
07575               }
07576        }
07577 yy404:
07578        YYDEBUG(404, *YYCURSOR);
07579        yyaccept = 9;
07580        yych = *(YYMARKER = ++YYCURSOR);
07581        if (yych <= '/') {
07582               if (yych <= ',') {
07583                      if (yych == ')') goto yy140;
07584                      goto yy393;
07585               } else {
07586                      if (yych == '.') goto yy393;
07587                      goto yy148;
07588               }
07589        } else {
07590               if (yych <= '^') {
07591                      if (yych <= '@') goto yy393;
07592                      if (yych <= 'Z') goto yy143;
07593                      goto yy393;
07594               } else {
07595                      if (yych <= '_') goto yy148;
07596                      if (yych <= '`') goto yy393;
07597                      if (yych <= 'z') goto yy151;
07598                      goto yy393;
07599               }
07600        }
07601 yy405:
07602        YYDEBUG(405, *YYCURSOR);
07603        yyaccept = 5;
07604        yych = *(YYMARKER = ++YYCURSOR);
07605        if (yych <= '9') {
07606               if (yych <= '(') {
07607                      if (yych <= '\t') {
07608                             if (yych <= 0x08) goto yy194;
07609                             goto yy196;
07610                      } else {
07611                             if (yych == ' ') goto yy196;
07612                             goto yy194;
07613                      }
07614               } else {
07615                      if (yych <= '-') {
07616                             if (yych <= ')') goto yy140;
07617                             if (yych <= ',') goto yy194;
07618                             goto yy372;
07619                      } else {
07620                             if (yych == '/') goto yy148;
07621                             goto yy196;
07622                      }
07623               }
07624        } else {
07625               if (yych <= '^') {
07626                      if (yych <= 'H') {
07627                             if (yych <= '@') goto yy194;
07628                             goto yy143;
07629                      } else {
07630                             if (yych <= 'I') goto yy395;
07631                             if (yych <= 'Z') goto yy143;
07632                             goto yy194;
07633                      }
07634               } else {
07635                      if (yych <= 'h') {
07636                             if (yych <= '_') goto yy148;
07637                             if (yych <= '`') goto yy194;
07638                             goto yy151;
07639                      } else {
07640                             if (yych <= 'i') goto yy406;
07641                             if (yych <= 'z') goto yy151;
07642                             goto yy194;
07643                      }
07644               }
07645        }
07646 yy406:
07647        YYDEBUG(406, *YYCURSOR);
07648        yyaccept = 0;
07649        yych = *(YYMARKER = ++YYCURSOR);
07650        if (yych <= 'K') {
07651               if (yych <= '-') {
07652                      if (yych == ')') goto yy140;
07653                      if (yych <= ',') goto yy4;
07654                      goto yy148;
07655               } else {
07656                      if (yych == '/') goto yy148;
07657                      if (yych <= '@') goto yy4;
07658                      goto yy144;
07659               }
07660        } else {
07661               if (yych <= '_') {
07662                      if (yych <= 'L') goto yy396;
07663                      if (yych <= 'Z') goto yy144;
07664                      if (yych <= '^') goto yy4;
07665                      goto yy148;
07666               } else {
07667                      if (yych <= 'k') {
07668                             if (yych <= '`') goto yy4;
07669                             goto yy152;
07670                      } else {
07671                             if (yych <= 'l') goto yy407;
07672                             if (yych <= 'z') goto yy152;
07673                             goto yy4;
07674                      }
07675               }
07676        }
07677 yy407:
07678        YYDEBUG(407, *YYCURSOR);
07679        yyaccept = 5;
07680        yych = *(YYMARKER = ++YYCURSOR);
07681        if (yych <= '.') {
07682               if (yych <= ' ') {
07683                      if (yych == '\t') goto yy196;
07684                      if (yych <= 0x1F) goto yy194;
07685                      goto yy196;
07686               } else {
07687                      if (yych <= ')') {
07688                             if (yych <= '(') goto yy194;
07689                             goto yy140;
07690                      } else {
07691                             if (yych <= ',') goto yy194;
07692                             if (yych <= '-') goto yy378;
07693                             goto yy196;
07694                      }
07695               }
07696        } else {
07697               if (yych <= 'Z') {
07698                      if (yych <= '/') goto yy148;
07699                      if (yych <= '9') goto yy196;
07700                      if (yych <= '@') goto yy194;
07701                      goto yy145;
07702               } else {
07703                      if (yych <= '_') {
07704                             if (yych <= '^') goto yy194;
07705                             goto yy148;
07706                      } else {
07707                             if (yych <= '`') goto yy194;
07708                             if (yych <= 'z') goto yy153;
07709                             goto yy194;
07710                      }
07711               }
07712        }
07713 yy408:
07714        YYDEBUG(408, *YYCURSOR);
07715        yyaccept = 5;
07716        yych = *(YYMARKER = ++YYCURSOR);
07717        if (yych <= '9') {
07718               if (yych <= '(') {
07719                      if (yych <= '\t') {
07720                             if (yych <= 0x08) goto yy194;
07721                             goto yy196;
07722                      } else {
07723                             if (yych == ' ') goto yy196;
07724                             goto yy194;
07725                      }
07726               } else {
07727                      if (yych <= '-') {
07728                             if (yych <= ')') goto yy140;
07729                             if (yych <= ',') goto yy194;
07730                             goto yy372;
07731                      } else {
07732                             if (yych == '/') goto yy148;
07733                             goto yy196;
07734                      }
07735               }
07736        } else {
07737               if (yych <= '^') {
07738                      if (yych <= 'T') {
07739                             if (yych <= '@') goto yy194;
07740                             goto yy143;
07741                      } else {
07742                             if (yych <= 'U') goto yy398;
07743                             if (yych <= 'Z') goto yy143;
07744                             goto yy194;
07745                      }
07746               } else {
07747                      if (yych <= 't') {
07748                             if (yych <= '_') goto yy148;
07749                             if (yych <= '`') goto yy194;
07750                             goto yy151;
07751                      } else {
07752                             if (yych <= 'u') goto yy409;
07753                             if (yych <= 'z') goto yy151;
07754                             goto yy194;
07755                      }
07756               }
07757        }
07758 yy409:
07759        YYDEBUG(409, *YYCURSOR);
07760        yyaccept = 0;
07761        yych = *(YYMARKER = ++YYCURSOR);
07762        if (yych <= 'R') {
07763               if (yych <= '-') {
07764                      if (yych == ')') goto yy140;
07765                      if (yych <= ',') goto yy4;
07766                      goto yy148;
07767               } else {
07768                      if (yych == '/') goto yy148;
07769                      if (yych <= '@') goto yy4;
07770                      goto yy144;
07771               }
07772        } else {
07773               if (yych <= '_') {
07774                      if (yych <= 'S') goto yy399;
07775                      if (yych <= 'Z') goto yy144;
07776                      if (yych <= '^') goto yy4;
07777                      goto yy148;
07778               } else {
07779                      if (yych <= 'r') {
07780                             if (yych <= '`') goto yy4;
07781                             goto yy152;
07782                      } else {
07783                             if (yych <= 's') goto yy410;
07784                             if (yych <= 'z') goto yy152;
07785                             goto yy4;
07786                      }
07787               }
07788        }
07789 yy410:
07790        YYDEBUG(410, *YYCURSOR);
07791        yyaccept = 0;
07792        yych = *(YYMARKER = ++YYCURSOR);
07793        if (yych <= 'S') {
07794               if (yych <= '-') {
07795                      if (yych == ')') goto yy140;
07796                      if (yych <= ',') goto yy4;
07797                      goto yy148;
07798               } else {
07799                      if (yych == '/') goto yy148;
07800                      if (yych <= '@') goto yy4;
07801                      goto yy145;
07802               }
07803        } else {
07804               if (yych <= '_') {
07805                      if (yych <= 'T') goto yy400;
07806                      if (yych <= 'Z') goto yy145;
07807                      if (yych <= '^') goto yy4;
07808                      goto yy148;
07809               } else {
07810                      if (yych <= 's') {
07811                             if (yych <= '`') goto yy4;
07812                             goto yy153;
07813                      } else {
07814                             if (yych <= 't') goto yy411;
07815                             if (yych <= 'z') goto yy153;
07816                             goto yy4;
07817                      }
07818               }
07819        }
07820 yy411:
07821        YYDEBUG(411, *YYCURSOR);
07822        yyaccept = 5;
07823        yych = *(YYMARKER = ++YYCURSOR);
07824        if (yybm[0+yych] & 16) {
07825               goto yy154;
07826        }
07827        if (yych <= ',') {
07828               if (yych <= 0x1F) {
07829                      if (yych == '\t') goto yy196;
07830                      goto yy194;
07831               } else {
07832                      if (yych <= ' ') goto yy196;
07833                      if (yych == ')') goto yy140;
07834                      goto yy194;
07835               }
07836        } else {
07837               if (yych <= '/') {
07838                      if (yych <= '-') goto yy378;
07839                      if (yych <= '.') goto yy196;
07840                      goto yy148;
07841               } else {
07842                      if (yych <= '9') goto yy196;
07843                      if (yych == '_') goto yy148;
07844                      goto yy194;
07845               }
07846        }
07847 yy412:
07848        YYDEBUG(412, *YYCURSOR);
07849        yych = *++YYCURSOR;
07850        if (yych <= 'N') {
07851               if (yych <= '@') {
07852                      if (yych == ')') goto yy140;
07853                      goto yy4;
07854               } else {
07855                      if (yych == 'L') goto yy419;
07856                      if (yych <= 'M') goto yy142;
07857                      goto yy418;
07858               }
07859        } else {
07860               if (yych <= 'l') {
07861                      if (yych <= 'Z') goto yy142;
07862                      if (yych <= '`') goto yy4;
07863                      if (yych <= 'k') goto yy142;
07864                      goto yy419;
07865               } else {
07866                      if (yych == 'n') goto yy418;
07867                      if (yych <= 'z') goto yy142;
07868                      goto yy4;
07869               }
07870        }
07871 yy413:
07872        YYDEBUG(413, *YYCURSOR);
07873        yych = *++YYCURSOR;
07874        if (yych <= 'N') {
07875               if (yych <= ')') {
07876                      if (yych <= '(') goto yy4;
07877                      goto yy140;
07878               } else {
07879                      if (yych <= '@') goto yy4;
07880                      if (yych <= 'M') goto yy142;
07881               }
07882        } else {
07883               if (yych <= 'm') {
07884                      if (yych <= 'Z') goto yy142;
07885                      if (yych <= '`') goto yy4;
07886                      goto yy142;
07887               } else {
07888                      if (yych <= 'n') goto yy414;
07889                      if (yych <= 'z') goto yy142;
07890                      goto yy4;
07891               }
07892        }
07893 yy414:
07894        YYDEBUG(414, *YYCURSOR);
07895        yyaccept = 5;
07896        yych = *(YYMARKER = ++YYCURSOR);
07897        if (yych <= '/') {
07898               if (yych <= '(') {
07899                      if (yych <= '\t') {
07900                             if (yych <= 0x08) goto yy194;
07901                             goto yy196;
07902                      } else {
07903                             if (yych == ' ') goto yy196;
07904                             goto yy194;
07905                      }
07906               } else {
07907                      if (yych <= ',') {
07908                             if (yych <= ')') goto yy140;
07909                             goto yy194;
07910                      } else {
07911                             if (yych <= '-') goto yy197;
07912                             if (yych <= '.') goto yy196;
07913                             goto yy194;
07914                      }
07915               }
07916        } else {
07917               if (yych <= 'Z') {
07918                      if (yych <= '@') {
07919                             if (yych <= '9') goto yy196;
07920                             goto yy194;
07921                      } else {
07922                             if (yych != 'U') goto yy143;
07923                      }
07924               } else {
07925                      if (yych <= 't') {
07926                             if (yych <= '`') goto yy194;
07927                             goto yy143;
07928                      } else {
07929                             if (yych <= 'u') goto yy415;
07930                             if (yych <= 'z') goto yy143;
07931                             goto yy194;
07932                      }
07933               }
07934        }
07935 yy415:
07936        YYDEBUG(415, *YYCURSOR);
07937        yych = *++YYCURSOR;
07938        if (yych <= 'A') {
07939               if (yych == ')') goto yy140;
07940               if (yych <= '@') goto yy4;
07941        } else {
07942               if (yych <= '`') {
07943                      if (yych <= 'Z') goto yy144;
07944                      goto yy4;
07945               } else {
07946                      if (yych <= 'a') goto yy416;
07947                      if (yych <= 'z') goto yy144;
07948                      goto yy4;
07949               }
07950        }
07951 yy416:
07952        YYDEBUG(416, *YYCURSOR);
07953        yych = *++YYCURSOR;
07954        if (yych <= 'R') {
07955               if (yych <= ')') {
07956                      if (yych <= '(') goto yy4;
07957                      goto yy140;
07958               } else {
07959                      if (yych <= '@') goto yy4;
07960                      if (yych <= 'Q') goto yy145;
07961               }
07962        } else {
07963               if (yych <= 'q') {
07964                      if (yych <= 'Z') goto yy145;
07965                      if (yych <= '`') goto yy4;
07966                      goto yy145;
07967               } else {
07968                      if (yych <= 'r') goto yy417;
07969                      if (yych <= 'z') goto yy145;
07970                      goto yy4;
07971               }
07972        }
07973 yy417:
07974        YYDEBUG(417, *YYCURSOR);
07975        yych = *++YYCURSOR;
07976        if (yych <= 'X') {
07977               if (yych == ')') goto yy140;
07978               goto yy4;
07979        } else {
07980               if (yych <= 'Y') goto yy206;
07981               if (yych == 'y') goto yy206;
07982               goto yy4;
07983        }
07984 yy418:
07985        YYDEBUG(418, *YYCURSOR);
07986        yyaccept = 5;
07987        yych = *(YYMARKER = ++YYCURSOR);
07988        if (yych <= '/') {
07989               if (yych <= '(') {
07990                      if (yych <= '\t') {
07991                             if (yych <= 0x08) goto yy194;
07992                             goto yy196;
07993                      }