[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.145.103.119: ~ $
/*  The file is autogenerated from aiohttp/hdrs.py
Run ./tools/gen.py to update it after the origin changing. */

#include "_find_header.h"

#define NEXT_CHAR() \
{ \
    count++; \
    if (count == size) { \
        /* end of search */ \
        return -1; \
    } \
    pchar++; \
    ch = *pchar; \
    last = (count == size -1); \
} while(0);

int
find_header(const char *str, int size)
{
    char *pchar = str;
    int last;
    char ch;
    int count = -1;
    pchar--;


    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto A;
        case 'a':
            if (last) {
                return -1;
            }
            goto A;
        case 'C':
            if (last) {
                return -1;
            }
            goto C;
        case 'c':
            if (last) {
                return -1;
            }
            goto C;
        case 'D':
            if (last) {
                return -1;
            }
            goto D;
        case 'd':
            if (last) {
                return -1;
            }
            goto D;
        case 'E':
            if (last) {
                return -1;
            }
            goto E;
        case 'e':
            if (last) {
                return -1;
            }
            goto E;
        case 'F':
            if (last) {
                return -1;
            }
            goto F;
        case 'f':
            if (last) {
                return -1;
            }
            goto F;
        case 'H':
            if (last) {
                return -1;
            }
            goto H;
        case 'h':
            if (last) {
                return -1;
            }
            goto H;
        case 'I':
            if (last) {
                return -1;
            }
            goto I;
        case 'i':
            if (last) {
                return -1;
            }
            goto I;
        case 'K':
            if (last) {
                return -1;
            }
            goto K;
        case 'k':
            if (last) {
                return -1;
            }
            goto K;
        case 'L':
            if (last) {
                return -1;
            }
            goto L;
        case 'l':
            if (last) {
                return -1;
            }
            goto L;
        case 'M':
            if (last) {
                return -1;
            }
            goto M;
        case 'm':
            if (last) {
                return -1;
            }
            goto M;
        case 'O':
            if (last) {
                return -1;
            }
            goto O;
        case 'o':
            if (last) {
                return -1;
            }
            goto O;
        case 'P':
            if (last) {
                return -1;
            }
            goto P;
        case 'p':
            if (last) {
                return -1;
            }
            goto P;
        case 'R':
            if (last) {
                return -1;
            }
            goto R;
        case 'r':
            if (last) {
                return -1;
            }
            goto R;
        case 'S':
            if (last) {
                return -1;
            }
            goto S;
        case 's':
            if (last) {
                return -1;
            }
            goto S;
        case 'T':
            if (last) {
                return -1;
            }
            goto T;
        case 't':
            if (last) {
                return -1;
            }
            goto T;
        case 'U':
            if (last) {
                return -1;
            }
            goto U;
        case 'u':
            if (last) {
                return -1;
            }
            goto U;
        case 'V':
            if (last) {
                return -1;
            }
            goto V;
        case 'v':
            if (last) {
                return -1;
            }
            goto V;
        case 'W':
            if (last) {
                return -1;
            }
            goto W;
        case 'w':
            if (last) {
                return -1;
            }
            goto W;
        case 'X':
            if (last) {
                return -1;
            }
            goto X;
        case 'x':
            if (last) {
                return -1;
            }
            goto X;
        default:
            return -1;
    }

A:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto AC;
        case 'c':
            if (last) {
                return -1;
            }
            goto AC;
        case 'G':
            if (last) {
                return -1;
            }
            goto AG;
        case 'g':
            if (last) {
                return -1;
            }
            goto AG;
        case 'L':
            if (last) {
                return -1;
            }
            goto AL;
        case 'l':
            if (last) {
                return -1;
            }
            goto AL;
        case 'U':
            if (last) {
                return -1;
            }
            goto AU;
        case 'u':
            if (last) {
                return -1;
            }
            goto AU;
        default:
            return -1;
    }

AC:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto ACC;
        case 'c':
            if (last) {
                return -1;
            }
            goto ACC;
        default:
            return -1;
    }

ACC:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCE;
        default:
            return -1;
    }

ACCE:
    NEXT_CHAR();
    switch (ch) {
        case 'P':
            if (last) {
                return -1;
            }
            goto ACCEP;
        case 'p':
            if (last) {
                return -1;
            }
            goto ACCEP;
        case 'S':
            if (last) {
                return -1;
            }
            goto ACCES;
        case 's':
            if (last) {
                return -1;
            }
            goto ACCES;
        default:
            return -1;
    }

ACCEP:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return 0;
            }
            goto ACCEPT;
        case 't':
            if (last) {
                return 0;
            }
            goto ACCEPT;
        default:
            return -1;
    }

ACCEPT:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto ACCEPT_;
        default:
            return -1;
    }

ACCEPT_:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto ACCEPT_C;
        case 'c':
            if (last) {
                return -1;
            }
            goto ACCEPT_C;
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCEPT_E;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCEPT_E;
        case 'L':
            if (last) {
                return -1;
            }
            goto ACCEPT_L;
        case 'l':
            if (last) {
                return -1;
            }
            goto ACCEPT_L;
        case 'R':
            if (last) {
                return -1;
            }
            goto ACCEPT_R;
        case 'r':
            if (last) {
                return -1;
            }
            goto ACCEPT_R;
        default:
            return -1;
    }

ACCEPT_C:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return -1;
            }
            goto ACCEPT_CH;
        case 'h':
            if (last) {
                return -1;
            }
            goto ACCEPT_CH;
        default:
            return -1;
    }

ACCEPT_CH:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCEPT_CHA;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCEPT_CHA;
        default:
            return -1;
    }

ACCEPT_CHA:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto ACCEPT_CHAR;
        case 'r':
            if (last) {
                return -1;
            }
            goto ACCEPT_CHAR;
        default:
            return -1;
    }

ACCEPT_CHAR:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto ACCEPT_CHARS;
        case 's':
            if (last) {
                return -1;
            }
            goto ACCEPT_CHARS;
        default:
            return -1;
    }

ACCEPT_CHARS:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCEPT_CHARSE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCEPT_CHARSE;
        default:
            return -1;
    }

ACCEPT_CHARSE:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return 1;
            }
            goto ACCEPT_CHARSET;
        case 't':
            if (last) {
                return 1;
            }
            goto ACCEPT_CHARSET;
        default:
            return -1;
    }

ACCEPT_E:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto ACCEPT_EN;
        case 'n':
            if (last) {
                return -1;
            }
            goto ACCEPT_EN;
        default:
            return -1;
    }

ACCEPT_EN:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto ACCEPT_ENC;
        case 'c':
            if (last) {
                return -1;
            }
            goto ACCEPT_ENC;
        default:
            return -1;
    }

ACCEPT_ENC:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto ACCEPT_ENCO;
        case 'o':
            if (last) {
                return -1;
            }
            goto ACCEPT_ENCO;
        default:
            return -1;
    }

ACCEPT_ENCO:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto ACCEPT_ENCOD;
        case 'd':
            if (last) {
                return -1;
            }
            goto ACCEPT_ENCOD;
        default:
            return -1;
    }

ACCEPT_ENCOD:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto ACCEPT_ENCODI;
        case 'i':
            if (last) {
                return -1;
            }
            goto ACCEPT_ENCODI;
        default:
            return -1;
    }

ACCEPT_ENCODI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto ACCEPT_ENCODIN;
        case 'n':
            if (last) {
                return -1;
            }
            goto ACCEPT_ENCODIN;
        default:
            return -1;
    }

ACCEPT_ENCODIN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return 2;
            }
            goto ACCEPT_ENCODING;
        case 'g':
            if (last) {
                return 2;
            }
            goto ACCEPT_ENCODING;
        default:
            return -1;
    }

ACCEPT_L:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCEPT_LA;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCEPT_LA;
        default:
            return -1;
    }

ACCEPT_LA:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto ACCEPT_LAN;
        case 'n':
            if (last) {
                return -1;
            }
            goto ACCEPT_LAN;
        default:
            return -1;
    }

ACCEPT_LAN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto ACCEPT_LANG;
        case 'g':
            if (last) {
                return -1;
            }
            goto ACCEPT_LANG;
        default:
            return -1;
    }

ACCEPT_LANG:
    NEXT_CHAR();
    switch (ch) {
        case 'U':
            if (last) {
                return -1;
            }
            goto ACCEPT_LANGU;
        case 'u':
            if (last) {
                return -1;
            }
            goto ACCEPT_LANGU;
        default:
            return -1;
    }

ACCEPT_LANGU:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCEPT_LANGUA;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCEPT_LANGUA;
        default:
            return -1;
    }

ACCEPT_LANGUA:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto ACCEPT_LANGUAG;
        case 'g':
            if (last) {
                return -1;
            }
            goto ACCEPT_LANGUAG;
        default:
            return -1;
    }

ACCEPT_LANGUAG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 3;
            }
            goto ACCEPT_LANGUAGE;
        case 'e':
            if (last) {
                return 3;
            }
            goto ACCEPT_LANGUAGE;
        default:
            return -1;
    }

ACCEPT_R:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCEPT_RA;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCEPT_RA;
        default:
            return -1;
    }

ACCEPT_RA:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto ACCEPT_RAN;
        case 'n':
            if (last) {
                return -1;
            }
            goto ACCEPT_RAN;
        default:
            return -1;
    }

ACCEPT_RAN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto ACCEPT_RANG;
        case 'g':
            if (last) {
                return -1;
            }
            goto ACCEPT_RANG;
        default:
            return -1;
    }

ACCEPT_RANG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCEPT_RANGE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCEPT_RANGE;
        default:
            return -1;
    }

ACCEPT_RANGE:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return 4;
            }
            goto ACCEPT_RANGES;
        case 's':
            if (last) {
                return 4;
            }
            goto ACCEPT_RANGES;
        default:
            return -1;
    }

ACCES:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto ACCESS;
        case 's':
            if (last) {
                return -1;
            }
            goto ACCESS;
        default:
            return -1;
    }

ACCESS:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto ACCESS_;
        default:
            return -1;
    }

ACCESS_:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto ACCESS_C;
        case 'c':
            if (last) {
                return -1;
            }
            goto ACCESS_C;
        default:
            return -1;
    }

ACCESS_C:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto ACCESS_CO;
        case 'o':
            if (last) {
                return -1;
            }
            goto ACCESS_CO;
        default:
            return -1;
    }

ACCESS_CO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto ACCESS_CON;
        case 'n':
            if (last) {
                return -1;
            }
            goto ACCESS_CON;
        default:
            return -1;
    }

ACCESS_CON:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto ACCESS_CONT;
        case 't':
            if (last) {
                return -1;
            }
            goto ACCESS_CONT;
        default:
            return -1;
    }

ACCESS_CONT:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTR;
        case 'r':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTR;
        default:
            return -1;
    }

ACCESS_CONTR:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTRO;
        case 'o':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTRO;
        default:
            return -1;
    }

ACCESS_CONTRO:
    NEXT_CHAR();
    switch (ch) {
        case 'L':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL;
        case 'l':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL;
        default:
            return -1;
    }

ACCESS_CONTROL:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_;
        default:
            return -1;
    }

ACCESS_CONTROL_:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_A;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_A;
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_E;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_E;
        case 'M':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_M;
        case 'm':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_M;
        case 'R':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_R;
        case 'r':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_R;
        default:
            return -1;
    }

ACCESS_CONTROL_A:
    NEXT_CHAR();
    switch (ch) {
        case 'L':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_AL;
        case 'l':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_AL;
        default:
            return -1;
    }

ACCESS_CONTROL_AL:
    NEXT_CHAR();
    switch (ch) {
        case 'L':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALL;
        case 'l':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALL;
        default:
            return -1;
    }

ACCESS_CONTROL_ALL:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLO;
        case 'o':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLO;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLO:
    NEXT_CHAR();
    switch (ch) {
        case 'W':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW;
        case 'w':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_C;
        case 'c':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_C;
        case 'H':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_H;
        case 'h':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_H;
        case 'M':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_M;
        case 'm':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_M;
        case 'O':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_O;
        case 'o':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_O;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_C:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CR;
        case 'r':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CR;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_CR:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CRE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CRE;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_CRE:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CRED;
        case 'd':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CRED;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_CRED:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDE;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_CREDE:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDEN;
        case 'n':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDEN;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_CREDEN:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDENT;
        case 't':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDENT;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_CREDENT:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDENTI;
        case 'i':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDENTI;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_CREDENTI:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDENTIA;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDENTIA;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_CREDENTIA:
    NEXT_CHAR();
    switch (ch) {
        case 'L':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDENTIAL;
        case 'l':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_CREDENTIAL;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_CREDENTIAL:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return 5;
            }
            goto ACCESS_CONTROL_ALLOW_CREDENTIALS;
        case 's':
            if (last) {
                return 5;
            }
            goto ACCESS_CONTROL_ALLOW_CREDENTIALS;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_H:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_HE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_HE;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_HE:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_HEA;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_HEA;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_HEA:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_HEAD;
        case 'd':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_HEAD;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_HEAD:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_HEADE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_HEADE;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_HEADE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_HEADER;
        case 'r':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_HEADER;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_HEADER:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return 6;
            }
            goto ACCESS_CONTROL_ALLOW_HEADERS;
        case 's':
            if (last) {
                return 6;
            }
            goto ACCESS_CONTROL_ALLOW_HEADERS;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_M:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_ME;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_ME;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_ME:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_MET;
        case 't':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_MET;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_MET:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_METH;
        case 'h':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_METH;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_METH:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_METHO;
        case 'o':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_METHO;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_METHO:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_METHOD;
        case 'd':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_METHOD;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_METHOD:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return 7;
            }
            goto ACCESS_CONTROL_ALLOW_METHODS;
        case 's':
            if (last) {
                return 7;
            }
            goto ACCESS_CONTROL_ALLOW_METHODS;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_O:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_OR;
        case 'r':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_OR;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_OR:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_ORI;
        case 'i':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_ORI;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_ORI:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_ORIG;
        case 'g':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_ORIG;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_ORIG:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_ORIGI;
        case 'i':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_ALLOW_ORIGI;
        default:
            return -1;
    }

ACCESS_CONTROL_ALLOW_ORIGI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return 8;
            }
            goto ACCESS_CONTROL_ALLOW_ORIGIN;
        case 'n':
            if (last) {
                return 8;
            }
            goto ACCESS_CONTROL_ALLOW_ORIGIN;
        default:
            return -1;
    }

ACCESS_CONTROL_E:
    NEXT_CHAR();
    switch (ch) {
        case 'X':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EX;
        case 'x':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EX;
        default:
            return -1;
    }

ACCESS_CONTROL_EX:
    NEXT_CHAR();
    switch (ch) {
        case 'P':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXP;
        case 'p':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXP;
        default:
            return -1;
    }

ACCESS_CONTROL_EXP:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPO;
        case 'o':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPO;
        default:
            return -1;
    }

ACCESS_CONTROL_EXPO:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOS;
        case 's':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOS;
        default:
            return -1;
    }

ACCESS_CONTROL_EXPOS:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE;
        default:
            return -1;
    }

ACCESS_CONTROL_EXPOSE:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_;
        default:
            return -1;
    }

ACCESS_CONTROL_EXPOSE_:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_H;
        case 'h':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_H;
        default:
            return -1;
    }

ACCESS_CONTROL_EXPOSE_H:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_HE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_HE;
        default:
            return -1;
    }

ACCESS_CONTROL_EXPOSE_HE:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_HEA;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_HEA;
        default:
            return -1;
    }

ACCESS_CONTROL_EXPOSE_HEA:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_HEAD;
        case 'd':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_HEAD;
        default:
            return -1;
    }

ACCESS_CONTROL_EXPOSE_HEAD:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_HEADE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_HEADE;
        default:
            return -1;
    }

ACCESS_CONTROL_EXPOSE_HEADE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_HEADER;
        case 'r':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_EXPOSE_HEADER;
        default:
            return -1;
    }

ACCESS_CONTROL_EXPOSE_HEADER:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return 9;
            }
            goto ACCESS_CONTROL_EXPOSE_HEADERS;
        case 's':
            if (last) {
                return 9;
            }
            goto ACCESS_CONTROL_EXPOSE_HEADERS;
        default:
            return -1;
    }

ACCESS_CONTROL_M:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_MA;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_MA;
        default:
            return -1;
    }

ACCESS_CONTROL_MA:
    NEXT_CHAR();
    switch (ch) {
        case 'X':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_MAX;
        case 'x':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_MAX;
        default:
            return -1;
    }

ACCESS_CONTROL_MAX:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_MAX_;
        default:
            return -1;
    }

ACCESS_CONTROL_MAX_:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_MAX_A;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_MAX_A;
        default:
            return -1;
    }

ACCESS_CONTROL_MAX_A:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_MAX_AG;
        case 'g':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_MAX_AG;
        default:
            return -1;
    }

ACCESS_CONTROL_MAX_AG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 10;
            }
            goto ACCESS_CONTROL_MAX_AGE;
        case 'e':
            if (last) {
                return 10;
            }
            goto ACCESS_CONTROL_MAX_AGE;
        default:
            return -1;
    }

ACCESS_CONTROL_R:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_RE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_RE;
        default:
            return -1;
    }

ACCESS_CONTROL_RE:
    NEXT_CHAR();
    switch (ch) {
        case 'Q':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQ;
        case 'q':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQ;
        default:
            return -1;
    }

ACCESS_CONTROL_REQ:
    NEXT_CHAR();
    switch (ch) {
        case 'U':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQU;
        case 'u':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQU;
        default:
            return -1;
    }

ACCESS_CONTROL_REQU:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUE;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUE:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUES;
        case 's':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUES;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUES:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST;
        case 't':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_H;
        case 'h':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_H;
        case 'M':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_M;
        case 'm':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_M;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_H:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_HE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_HE;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_HE:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_HEA;
        case 'a':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_HEA;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_HEA:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_HEAD;
        case 'd':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_HEAD;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_HEAD:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_HEADE;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_HEADE;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_HEADE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_HEADER;
        case 'r':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_HEADER;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_HEADER:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return 11;
            }
            goto ACCESS_CONTROL_REQUEST_HEADERS;
        case 's':
            if (last) {
                return 11;
            }
            goto ACCESS_CONTROL_REQUEST_HEADERS;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_M:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_ME;
        case 'e':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_ME;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_ME:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_MET;
        case 't':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_MET;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_MET:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_METH;
        case 'h':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_METH;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_METH:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_METHO;
        case 'o':
            if (last) {
                return -1;
            }
            goto ACCESS_CONTROL_REQUEST_METHO;
        default:
            return -1;
    }

ACCESS_CONTROL_REQUEST_METHO:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return 12;
            }
            goto ACCESS_CONTROL_REQUEST_METHOD;
        case 'd':
            if (last) {
                return 12;
            }
            goto ACCESS_CONTROL_REQUEST_METHOD;
        default:
            return -1;
    }

AG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 13;
            }
            goto AGE;
        case 'e':
            if (last) {
                return 13;
            }
            goto AGE;
        default:
            return -1;
    }

AL:
    NEXT_CHAR();
    switch (ch) {
        case 'L':
            if (last) {
                return -1;
            }
            goto ALL;
        case 'l':
            if (last) {
                return -1;
            }
            goto ALL;
        default:
            return -1;
    }

ALL:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto ALLO;
        case 'o':
            if (last) {
                return -1;
            }
            goto ALLO;
        default:
            return -1;
    }

ALLO:
    NEXT_CHAR();
    switch (ch) {
        case 'W':
            if (last) {
                return 14;
            }
            goto ALLOW;
        case 'w':
            if (last) {
                return 14;
            }
            goto ALLOW;
        default:
            return -1;
    }

AU:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto AUT;
        case 't':
            if (last) {
                return -1;
            }
            goto AUT;
        default:
            return -1;
    }

AUT:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return -1;
            }
            goto AUTH;
        case 'h':
            if (last) {
                return -1;
            }
            goto AUTH;
        default:
            return -1;
    }

AUTH:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto AUTHO;
        case 'o':
            if (last) {
                return -1;
            }
            goto AUTHO;
        default:
            return -1;
    }

AUTHO:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto AUTHOR;
        case 'r':
            if (last) {
                return -1;
            }
            goto AUTHOR;
        default:
            return -1;
    }

AUTHOR:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto AUTHORI;
        case 'i':
            if (last) {
                return -1;
            }
            goto AUTHORI;
        default:
            return -1;
    }

AUTHORI:
    NEXT_CHAR();
    switch (ch) {
        case 'Z':
            if (last) {
                return -1;
            }
            goto AUTHORIZ;
        case 'z':
            if (last) {
                return -1;
            }
            goto AUTHORIZ;
        default:
            return -1;
    }

AUTHORIZ:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto AUTHORIZA;
        case 'a':
            if (last) {
                return -1;
            }
            goto AUTHORIZA;
        default:
            return -1;
    }

AUTHORIZA:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto AUTHORIZAT;
        case 't':
            if (last) {
                return -1;
            }
            goto AUTHORIZAT;
        default:
            return -1;
    }

AUTHORIZAT:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto AUTHORIZATI;
        case 'i':
            if (last) {
                return -1;
            }
            goto AUTHORIZATI;
        default:
            return -1;
    }

AUTHORIZATI:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto AUTHORIZATIO;
        case 'o':
            if (last) {
                return -1;
            }
            goto AUTHORIZATIO;
        default:
            return -1;
    }

AUTHORIZATIO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return 15;
            }
            goto AUTHORIZATION;
        case 'n':
            if (last) {
                return 15;
            }
            goto AUTHORIZATION;
        default:
            return -1;
    }

C:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto CA;
        case 'a':
            if (last) {
                return -1;
            }
            goto CA;
        case 'O':
            if (last) {
                return -1;
            }
            goto CO;
        case 'o':
            if (last) {
                return -1;
            }
            goto CO;
        default:
            return -1;
    }

CA:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto CAC;
        case 'c':
            if (last) {
                return -1;
            }
            goto CAC;
        default:
            return -1;
    }

CAC:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return -1;
            }
            goto CACH;
        case 'h':
            if (last) {
                return -1;
            }
            goto CACH;
        default:
            return -1;
    }

CACH:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto CACHE;
        case 'e':
            if (last) {
                return -1;
            }
            goto CACHE;
        default:
            return -1;
    }

CACHE:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto CACHE_;
        default:
            return -1;
    }

CACHE_:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto CACHE_C;
        case 'c':
            if (last) {
                return -1;
            }
            goto CACHE_C;
        default:
            return -1;
    }

CACHE_C:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto CACHE_CO;
        case 'o':
            if (last) {
                return -1;
            }
            goto CACHE_CO;
        default:
            return -1;
    }

CACHE_CO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CACHE_CON;
        case 'n':
            if (last) {
                return -1;
            }
            goto CACHE_CON;
        default:
            return -1;
    }

CACHE_CON:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto CACHE_CONT;
        case 't':
            if (last) {
                return -1;
            }
            goto CACHE_CONT;
        default:
            return -1;
    }

CACHE_CONT:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto CACHE_CONTR;
        case 'r':
            if (last) {
                return -1;
            }
            goto CACHE_CONTR;
        default:
            return -1;
    }

CACHE_CONTR:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto CACHE_CONTRO;
        case 'o':
            if (last) {
                return -1;
            }
            goto CACHE_CONTRO;
        default:
            return -1;
    }

CACHE_CONTRO:
    NEXT_CHAR();
    switch (ch) {
        case 'L':
            if (last) {
                return 16;
            }
            goto CACHE_CONTROL;
        case 'l':
            if (last) {
                return 16;
            }
            goto CACHE_CONTROL;
        default:
            return -1;
    }

CO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CON;
        case 'n':
            if (last) {
                return -1;
            }
            goto CON;
        case 'O':
            if (last) {
                return -1;
            }
            goto COO;
        case 'o':
            if (last) {
                return -1;
            }
            goto COO;
        default:
            return -1;
    }

CON:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CONN;
        case 'n':
            if (last) {
                return -1;
            }
            goto CONN;
        case 'T':
            if (last) {
                return -1;
            }
            goto CONT;
        case 't':
            if (last) {
                return -1;
            }
            goto CONT;
        default:
            return -1;
    }

CONN:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto CONNE;
        case 'e':
            if (last) {
                return -1;
            }
            goto CONNE;
        default:
            return -1;
    }

CONNE:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto CONNEC;
        case 'c':
            if (last) {
                return -1;
            }
            goto CONNEC;
        default:
            return -1;
    }

CONNEC:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto CONNECT;
        case 't':
            if (last) {
                return -1;
            }
            goto CONNECT;
        default:
            return -1;
    }

CONNECT:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto CONNECTI;
        case 'i':
            if (last) {
                return -1;
            }
            goto CONNECTI;
        default:
            return -1;
    }

CONNECTI:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto CONNECTIO;
        case 'o':
            if (last) {
                return -1;
            }
            goto CONNECTIO;
        default:
            return -1;
    }

CONNECTIO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return 17;
            }
            goto CONNECTION;
        case 'n':
            if (last) {
                return 17;
            }
            goto CONNECTION;
        default:
            return -1;
    }

CONT:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto CONTE;
        case 'e':
            if (last) {
                return -1;
            }
            goto CONTE;
        default:
            return -1;
    }

CONTE:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CONTEN;
        case 'n':
            if (last) {
                return -1;
            }
            goto CONTEN;
        default:
            return -1;
    }

CONTEN:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto CONTENT;
        case 't':
            if (last) {
                return -1;
            }
            goto CONTENT;
        default:
            return -1;
    }

CONTENT:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto CONTENT_;
        default:
            return -1;
    }

CONTENT_:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto CONTENT_D;
        case 'd':
            if (last) {
                return -1;
            }
            goto CONTENT_D;
        case 'E':
            if (last) {
                return -1;
            }
            goto CONTENT_E;
        case 'e':
            if (last) {
                return -1;
            }
            goto CONTENT_E;
        case 'L':
            if (last) {
                return -1;
            }
            goto CONTENT_L;
        case 'l':
            if (last) {
                return -1;
            }
            goto CONTENT_L;
        case 'M':
            if (last) {
                return -1;
            }
            goto CONTENT_M;
        case 'm':
            if (last) {
                return -1;
            }
            goto CONTENT_M;
        case 'R':
            if (last) {
                return -1;
            }
            goto CONTENT_R;
        case 'r':
            if (last) {
                return -1;
            }
            goto CONTENT_R;
        case 'T':
            if (last) {
                return -1;
            }
            goto CONTENT_T;
        case 't':
            if (last) {
                return -1;
            }
            goto CONTENT_T;
        default:
            return -1;
    }

CONTENT_D:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto CONTENT_DI;
        case 'i':
            if (last) {
                return -1;
            }
            goto CONTENT_DI;
        default:
            return -1;
    }

CONTENT_DI:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto CONTENT_DIS;
        case 's':
            if (last) {
                return -1;
            }
            goto CONTENT_DIS;
        default:
            return -1;
    }

CONTENT_DIS:
    NEXT_CHAR();
    switch (ch) {
        case 'P':
            if (last) {
                return -1;
            }
            goto CONTENT_DISP;
        case 'p':
            if (last) {
                return -1;
            }
            goto CONTENT_DISP;
        default:
            return -1;
    }

CONTENT_DISP:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPO;
        case 'o':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPO;
        default:
            return -1;
    }

CONTENT_DISPO:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPOS;
        case 's':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPOS;
        default:
            return -1;
    }

CONTENT_DISPOS:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPOSI;
        case 'i':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPOSI;
        default:
            return -1;
    }

CONTENT_DISPOSI:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPOSIT;
        case 't':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPOSIT;
        default:
            return -1;
    }

CONTENT_DISPOSIT:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPOSITI;
        case 'i':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPOSITI;
        default:
            return -1;
    }

CONTENT_DISPOSITI:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPOSITIO;
        case 'o':
            if (last) {
                return -1;
            }
            goto CONTENT_DISPOSITIO;
        default:
            return -1;
    }

CONTENT_DISPOSITIO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return 18;
            }
            goto CONTENT_DISPOSITION;
        case 'n':
            if (last) {
                return 18;
            }
            goto CONTENT_DISPOSITION;
        default:
            return -1;
    }

CONTENT_E:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CONTENT_EN;
        case 'n':
            if (last) {
                return -1;
            }
            goto CONTENT_EN;
        default:
            return -1;
    }

CONTENT_EN:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto CONTENT_ENC;
        case 'c':
            if (last) {
                return -1;
            }
            goto CONTENT_ENC;
        default:
            return -1;
    }

CONTENT_ENC:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto CONTENT_ENCO;
        case 'o':
            if (last) {
                return -1;
            }
            goto CONTENT_ENCO;
        default:
            return -1;
    }

CONTENT_ENCO:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto CONTENT_ENCOD;
        case 'd':
            if (last) {
                return -1;
            }
            goto CONTENT_ENCOD;
        default:
            return -1;
    }

CONTENT_ENCOD:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto CONTENT_ENCODI;
        case 'i':
            if (last) {
                return -1;
            }
            goto CONTENT_ENCODI;
        default:
            return -1;
    }

CONTENT_ENCODI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CONTENT_ENCODIN;
        case 'n':
            if (last) {
                return -1;
            }
            goto CONTENT_ENCODIN;
        default:
            return -1;
    }

CONTENT_ENCODIN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return 19;
            }
            goto CONTENT_ENCODING;
        case 'g':
            if (last) {
                return 19;
            }
            goto CONTENT_ENCODING;
        default:
            return -1;
    }

CONTENT_L:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto CONTENT_LA;
        case 'a':
            if (last) {
                return -1;
            }
            goto CONTENT_LA;
        case 'E':
            if (last) {
                return -1;
            }
            goto CONTENT_LE;
        case 'e':
            if (last) {
                return -1;
            }
            goto CONTENT_LE;
        case 'O':
            if (last) {
                return -1;
            }
            goto CONTENT_LO;
        case 'o':
            if (last) {
                return -1;
            }
            goto CONTENT_LO;
        default:
            return -1;
    }

CONTENT_LA:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CONTENT_LAN;
        case 'n':
            if (last) {
                return -1;
            }
            goto CONTENT_LAN;
        default:
            return -1;
    }

CONTENT_LAN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto CONTENT_LANG;
        case 'g':
            if (last) {
                return -1;
            }
            goto CONTENT_LANG;
        default:
            return -1;
    }

CONTENT_LANG:
    NEXT_CHAR();
    switch (ch) {
        case 'U':
            if (last) {
                return -1;
            }
            goto CONTENT_LANGU;
        case 'u':
            if (last) {
                return -1;
            }
            goto CONTENT_LANGU;
        default:
            return -1;
    }

CONTENT_LANGU:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto CONTENT_LANGUA;
        case 'a':
            if (last) {
                return -1;
            }
            goto CONTENT_LANGUA;
        default:
            return -1;
    }

CONTENT_LANGUA:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto CONTENT_LANGUAG;
        case 'g':
            if (last) {
                return -1;
            }
            goto CONTENT_LANGUAG;
        default:
            return -1;
    }

CONTENT_LANGUAG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 20;
            }
            goto CONTENT_LANGUAGE;
        case 'e':
            if (last) {
                return 20;
            }
            goto CONTENT_LANGUAGE;
        default:
            return -1;
    }

CONTENT_LE:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CONTENT_LEN;
        case 'n':
            if (last) {
                return -1;
            }
            goto CONTENT_LEN;
        default:
            return -1;
    }

CONTENT_LEN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto CONTENT_LENG;
        case 'g':
            if (last) {
                return -1;
            }
            goto CONTENT_LENG;
        default:
            return -1;
    }

CONTENT_LENG:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto CONTENT_LENGT;
        case 't':
            if (last) {
                return -1;
            }
            goto CONTENT_LENGT;
        default:
            return -1;
    }

CONTENT_LENGT:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return 21;
            }
            goto CONTENT_LENGTH;
        case 'h':
            if (last) {
                return 21;
            }
            goto CONTENT_LENGTH;
        default:
            return -1;
    }

CONTENT_LO:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto CONTENT_LOC;
        case 'c':
            if (last) {
                return -1;
            }
            goto CONTENT_LOC;
        default:
            return -1;
    }

CONTENT_LOC:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto CONTENT_LOCA;
        case 'a':
            if (last) {
                return -1;
            }
            goto CONTENT_LOCA;
        default:
            return -1;
    }

CONTENT_LOCA:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto CONTENT_LOCAT;
        case 't':
            if (last) {
                return -1;
            }
            goto CONTENT_LOCAT;
        default:
            return -1;
    }

CONTENT_LOCAT:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto CONTENT_LOCATI;
        case 'i':
            if (last) {
                return -1;
            }
            goto CONTENT_LOCATI;
        default:
            return -1;
    }

CONTENT_LOCATI:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto CONTENT_LOCATIO;
        case 'o':
            if (last) {
                return -1;
            }
            goto CONTENT_LOCATIO;
        default:
            return -1;
    }

CONTENT_LOCATIO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return 22;
            }
            goto CONTENT_LOCATION;
        case 'n':
            if (last) {
                return 22;
            }
            goto CONTENT_LOCATION;
        default:
            return -1;
    }

CONTENT_M:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto CONTENT_MD;
        case 'd':
            if (last) {
                return -1;
            }
            goto CONTENT_MD;
        default:
            return -1;
    }

CONTENT_MD:
    NEXT_CHAR();
    switch (ch) {
        case '5':
            if (last) {
                return 23;
            }
            goto CONTENT_MD5;
        default:
            return -1;
    }

CONTENT_R:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto CONTENT_RA;
        case 'a':
            if (last) {
                return -1;
            }
            goto CONTENT_RA;
        default:
            return -1;
    }

CONTENT_RA:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CONTENT_RAN;
        case 'n':
            if (last) {
                return -1;
            }
            goto CONTENT_RAN;
        default:
            return -1;
    }

CONTENT_RAN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto CONTENT_RANG;
        case 'g':
            if (last) {
                return -1;
            }
            goto CONTENT_RANG;
        default:
            return -1;
    }

CONTENT_RANG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 24;
            }
            goto CONTENT_RANGE;
        case 'e':
            if (last) {
                return 24;
            }
            goto CONTENT_RANGE;
        default:
            return -1;
    }

CONTENT_T:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto CONTENT_TR;
        case 'r':
            if (last) {
                return -1;
            }
            goto CONTENT_TR;
        case 'Y':
            if (last) {
                return -1;
            }
            goto CONTENT_TY;
        case 'y':
            if (last) {
                return -1;
            }
            goto CONTENT_TY;
        default:
            return -1;
    }

CONTENT_TR:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto CONTENT_TRA;
        case 'a':
            if (last) {
                return -1;
            }
            goto CONTENT_TRA;
        default:
            return -1;
    }

CONTENT_TRA:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CONTENT_TRAN;
        case 'n':
            if (last) {
                return -1;
            }
            goto CONTENT_TRAN;
        default:
            return -1;
    }

CONTENT_TRAN:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANS;
        case 's':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANS;
        default:
            return -1;
    }

CONTENT_TRANS:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSF;
        case 'f':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSF;
        default:
            return -1;
    }

CONTENT_TRANSF:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFE;
        case 'e':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFE;
        default:
            return -1;
    }

CONTENT_TRANSFE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER;
        case 'r':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER;
        default:
            return -1;
    }

CONTENT_TRANSFER:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_;
        default:
            return -1;
    }

CONTENT_TRANSFER_:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_E;
        case 'e':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_E;
        default:
            return -1;
    }

CONTENT_TRANSFER_E:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_EN;
        case 'n':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_EN;
        default:
            return -1;
    }

CONTENT_TRANSFER_EN:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_ENC;
        case 'c':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_ENC;
        default:
            return -1;
    }

CONTENT_TRANSFER_ENC:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_ENCO;
        case 'o':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_ENCO;
        default:
            return -1;
    }

CONTENT_TRANSFER_ENCO:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_ENCOD;
        case 'd':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_ENCOD;
        default:
            return -1;
    }

CONTENT_TRANSFER_ENCOD:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_ENCODI;
        case 'i':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_ENCODI;
        default:
            return -1;
    }

CONTENT_TRANSFER_ENCODI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_ENCODIN;
        case 'n':
            if (last) {
                return -1;
            }
            goto CONTENT_TRANSFER_ENCODIN;
        default:
            return -1;
    }

CONTENT_TRANSFER_ENCODIN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return 25;
            }
            goto CONTENT_TRANSFER_ENCODING;
        case 'g':
            if (last) {
                return 25;
            }
            goto CONTENT_TRANSFER_ENCODING;
        default:
            return -1;
    }

CONTENT_TY:
    NEXT_CHAR();
    switch (ch) {
        case 'P':
            if (last) {
                return -1;
            }
            goto CONTENT_TYP;
        case 'p':
            if (last) {
                return -1;
            }
            goto CONTENT_TYP;
        default:
            return -1;
    }

CONTENT_TYP:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 26;
            }
            goto CONTENT_TYPE;
        case 'e':
            if (last) {
                return 26;
            }
            goto CONTENT_TYPE;
        default:
            return -1;
    }

COO:
    NEXT_CHAR();
    switch (ch) {
        case 'K':
            if (last) {
                return -1;
            }
            goto COOK;
        case 'k':
            if (last) {
                return -1;
            }
            goto COOK;
        default:
            return -1;
    }

COOK:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto COOKI;
        case 'i':
            if (last) {
                return -1;
            }
            goto COOKI;
        default:
            return -1;
    }

COOKI:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 27;
            }
            goto COOKIE;
        case 'e':
            if (last) {
                return 27;
            }
            goto COOKIE;
        default:
            return -1;
    }

D:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto DA;
        case 'a':
            if (last) {
                return -1;
            }
            goto DA;
        case 'E':
            if (last) {
                return -1;
            }
            goto DE;
        case 'e':
            if (last) {
                return -1;
            }
            goto DE;
        case 'I':
            if (last) {
                return -1;
            }
            goto DI;
        case 'i':
            if (last) {
                return -1;
            }
            goto DI;
        default:
            return -1;
    }

DA:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto DAT;
        case 't':
            if (last) {
                return -1;
            }
            goto DAT;
        default:
            return -1;
    }

DAT:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 28;
            }
            goto DATE;
        case 'e':
            if (last) {
                return 28;
            }
            goto DATE;
        default:
            return -1;
    }

DE:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto DES;
        case 's':
            if (last) {
                return -1;
            }
            goto DES;
        default:
            return -1;
    }

DES:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto DEST;
        case 't':
            if (last) {
                return -1;
            }
            goto DEST;
        default:
            return -1;
    }

DEST:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto DESTI;
        case 'i':
            if (last) {
                return -1;
            }
            goto DESTI;
        default:
            return -1;
    }

DESTI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto DESTIN;
        case 'n':
            if (last) {
                return -1;
            }
            goto DESTIN;
        default:
            return -1;
    }

DESTIN:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto DESTINA;
        case 'a':
            if (last) {
                return -1;
            }
            goto DESTINA;
        default:
            return -1;
    }

DESTINA:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto DESTINAT;
        case 't':
            if (last) {
                return -1;
            }
            goto DESTINAT;
        default:
            return -1;
    }

DESTINAT:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto DESTINATI;
        case 'i':
            if (last) {
                return -1;
            }
            goto DESTINATI;
        default:
            return -1;
    }

DESTINATI:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto DESTINATIO;
        case 'o':
            if (last) {
                return -1;
            }
            goto DESTINATIO;
        default:
            return -1;
    }

DESTINATIO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return 29;
            }
            goto DESTINATION;
        case 'n':
            if (last) {
                return 29;
            }
            goto DESTINATION;
        default:
            return -1;
    }

DI:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto DIG;
        case 'g':
            if (last) {
                return -1;
            }
            goto DIG;
        default:
            return -1;
    }

DIG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto DIGE;
        case 'e':
            if (last) {
                return -1;
            }
            goto DIGE;
        default:
            return -1;
    }

DIGE:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto DIGES;
        case 's':
            if (last) {
                return -1;
            }
            goto DIGES;
        default:
            return -1;
    }

DIGES:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return 30;
            }
            goto DIGEST;
        case 't':
            if (last) {
                return 30;
            }
            goto DIGEST;
        default:
            return -1;
    }

E:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto ET;
        case 't':
            if (last) {
                return -1;
            }
            goto ET;
        case 'X':
            if (last) {
                return -1;
            }
            goto EX;
        case 'x':
            if (last) {
                return -1;
            }
            goto EX;
        default:
            return -1;
    }

ET:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto ETA;
        case 'a':
            if (last) {
                return -1;
            }
            goto ETA;
        default:
            return -1;
    }

ETA:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return 31;
            }
            goto ETAG;
        case 'g':
            if (last) {
                return 31;
            }
            goto ETAG;
        default:
            return -1;
    }

EX:
    NEXT_CHAR();
    switch (ch) {
        case 'P':
            if (last) {
                return -1;
            }
            goto EXP;
        case 'p':
            if (last) {
                return -1;
            }
            goto EXP;
        default:
            return -1;
    }

EXP:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto EXPE;
        case 'e':
            if (last) {
                return -1;
            }
            goto EXPE;
        case 'I':
            if (last) {
                return -1;
            }
            goto EXPI;
        case 'i':
            if (last) {
                return -1;
            }
            goto EXPI;
        default:
            return -1;
    }

EXPE:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto EXPEC;
        case 'c':
            if (last) {
                return -1;
            }
            goto EXPEC;
        default:
            return -1;
    }

EXPEC:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return 32;
            }
            goto EXPECT;
        case 't':
            if (last) {
                return 32;
            }
            goto EXPECT;
        default:
            return -1;
    }

EXPI:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto EXPIR;
        case 'r':
            if (last) {
                return -1;
            }
            goto EXPIR;
        default:
            return -1;
    }

EXPIR:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto EXPIRE;
        case 'e':
            if (last) {
                return -1;
            }
            goto EXPIRE;
        default:
            return -1;
    }

EXPIRE:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return 33;
            }
            goto EXPIRES;
        case 's':
            if (last) {
                return 33;
            }
            goto EXPIRES;
        default:
            return -1;
    }

F:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto FO;
        case 'o':
            if (last) {
                return -1;
            }
            goto FO;
        case 'R':
            if (last) {
                return -1;
            }
            goto FR;
        case 'r':
            if (last) {
                return -1;
            }
            goto FR;
        default:
            return -1;
    }

FO:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto FOR;
        case 'r':
            if (last) {
                return -1;
            }
            goto FOR;
        default:
            return -1;
    }

FOR:
    NEXT_CHAR();
    switch (ch) {
        case 'W':
            if (last) {
                return -1;
            }
            goto FORW;
        case 'w':
            if (last) {
                return -1;
            }
            goto FORW;
        default:
            return -1;
    }

FORW:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto FORWA;
        case 'a':
            if (last) {
                return -1;
            }
            goto FORWA;
        default:
            return -1;
    }

FORWA:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto FORWAR;
        case 'r':
            if (last) {
                return -1;
            }
            goto FORWAR;
        default:
            return -1;
    }

FORWAR:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto FORWARD;
        case 'd':
            if (last) {
                return -1;
            }
            goto FORWARD;
        default:
            return -1;
    }

FORWARD:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto FORWARDE;
        case 'e':
            if (last) {
                return -1;
            }
            goto FORWARDE;
        default:
            return -1;
    }

FORWARDE:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return 34;
            }
            goto FORWARDED;
        case 'd':
            if (last) {
                return 34;
            }
            goto FORWARDED;
        default:
            return -1;
    }

FR:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto FRO;
        case 'o':
            if (last) {
                return -1;
            }
            goto FRO;
        default:
            return -1;
    }

FRO:
    NEXT_CHAR();
    switch (ch) {
        case 'M':
            if (last) {
                return 35;
            }
            goto FROM;
        case 'm':
            if (last) {
                return 35;
            }
            goto FROM;
        default:
            return -1;
    }

H:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto HO;
        case 'o':
            if (last) {
                return -1;
            }
            goto HO;
        default:
            return -1;
    }

HO:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto HOS;
        case 's':
            if (last) {
                return -1;
            }
            goto HOS;
        default:
            return -1;
    }

HOS:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return 36;
            }
            goto HOST;
        case 't':
            if (last) {
                return 36;
            }
            goto HOST;
        default:
            return -1;
    }

I:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto IF;
        case 'f':
            if (last) {
                return -1;
            }
            goto IF;
        default:
            return -1;
    }

IF:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto IF_;
        default:
            return -1;
    }

IF_:
    NEXT_CHAR();
    switch (ch) {
        case 'M':
            if (last) {
                return -1;
            }
            goto IF_M;
        case 'm':
            if (last) {
                return -1;
            }
            goto IF_M;
        case 'N':
            if (last) {
                return -1;
            }
            goto IF_N;
        case 'n':
            if (last) {
                return -1;
            }
            goto IF_N;
        case 'R':
            if (last) {
                return -1;
            }
            goto IF_R;
        case 'r':
            if (last) {
                return -1;
            }
            goto IF_R;
        case 'U':
            if (last) {
                return -1;
            }
            goto IF_U;
        case 'u':
            if (last) {
                return -1;
            }
            goto IF_U;
        default:
            return -1;
    }

IF_M:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto IF_MA;
        case 'a':
            if (last) {
                return -1;
            }
            goto IF_MA;
        case 'O':
            if (last) {
                return -1;
            }
            goto IF_MO;
        case 'o':
            if (last) {
                return -1;
            }
            goto IF_MO;
        default:
            return -1;
    }

IF_MA:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto IF_MAT;
        case 't':
            if (last) {
                return -1;
            }
            goto IF_MAT;
        default:
            return -1;
    }

IF_MAT:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto IF_MATC;
        case 'c':
            if (last) {
                return -1;
            }
            goto IF_MATC;
        default:
            return -1;
    }

IF_MATC:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return 37;
            }
            goto IF_MATCH;
        case 'h':
            if (last) {
                return 37;
            }
            goto IF_MATCH;
        default:
            return -1;
    }

IF_MO:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto IF_MOD;
        case 'd':
            if (last) {
                return -1;
            }
            goto IF_MOD;
        default:
            return -1;
    }

IF_MOD:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto IF_MODI;
        case 'i':
            if (last) {
                return -1;
            }
            goto IF_MODI;
        default:
            return -1;
    }

IF_MODI:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto IF_MODIF;
        case 'f':
            if (last) {
                return -1;
            }
            goto IF_MODIF;
        default:
            return -1;
    }

IF_MODIF:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto IF_MODIFI;
        case 'i':
            if (last) {
                return -1;
            }
            goto IF_MODIFI;
        default:
            return -1;
    }

IF_MODIFI:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto IF_MODIFIE;
        case 'e':
            if (last) {
                return -1;
            }
            goto IF_MODIFIE;
        default:
            return -1;
    }

IF_MODIFIE:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED;
        case 'd':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED;
        default:
            return -1;
    }

IF_MODIFIED:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED_;
        default:
            return -1;
    }

IF_MODIFIED_:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED_S;
        case 's':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED_S;
        default:
            return -1;
    }

IF_MODIFIED_S:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED_SI;
        case 'i':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED_SI;
        default:
            return -1;
    }

IF_MODIFIED_SI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED_SIN;
        case 'n':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED_SIN;
        default:
            return -1;
    }

IF_MODIFIED_SIN:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED_SINC;
        case 'c':
            if (last) {
                return -1;
            }
            goto IF_MODIFIED_SINC;
        default:
            return -1;
    }

IF_MODIFIED_SINC:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 38;
            }
            goto IF_MODIFIED_SINCE;
        case 'e':
            if (last) {
                return 38;
            }
            goto IF_MODIFIED_SINCE;
        default:
            return -1;
    }

IF_N:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto IF_NO;
        case 'o':
            if (last) {
                return -1;
            }
            goto IF_NO;
        default:
            return -1;
    }

IF_NO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto IF_NON;
        case 'n':
            if (last) {
                return -1;
            }
            goto IF_NON;
        default:
            return -1;
    }

IF_NON:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto IF_NONE;
        case 'e':
            if (last) {
                return -1;
            }
            goto IF_NONE;
        default:
            return -1;
    }

IF_NONE:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto IF_NONE_;
        default:
            return -1;
    }

IF_NONE_:
    NEXT_CHAR();
    switch (ch) {
        case 'M':
            if (last) {
                return -1;
            }
            goto IF_NONE_M;
        case 'm':
            if (last) {
                return -1;
            }
            goto IF_NONE_M;
        default:
            return -1;
    }

IF_NONE_M:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto IF_NONE_MA;
        case 'a':
            if (last) {
                return -1;
            }
            goto IF_NONE_MA;
        default:
            return -1;
    }

IF_NONE_MA:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto IF_NONE_MAT;
        case 't':
            if (last) {
                return -1;
            }
            goto IF_NONE_MAT;
        default:
            return -1;
    }

IF_NONE_MAT:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto IF_NONE_MATC;
        case 'c':
            if (last) {
                return -1;
            }
            goto IF_NONE_MATC;
        default:
            return -1;
    }

IF_NONE_MATC:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return 39;
            }
            goto IF_NONE_MATCH;
        case 'h':
            if (last) {
                return 39;
            }
            goto IF_NONE_MATCH;
        default:
            return -1;
    }

IF_R:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto IF_RA;
        case 'a':
            if (last) {
                return -1;
            }
            goto IF_RA;
        default:
            return -1;
    }

IF_RA:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto IF_RAN;
        case 'n':
            if (last) {
                return -1;
            }
            goto IF_RAN;
        default:
            return -1;
    }

IF_RAN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto IF_RANG;
        case 'g':
            if (last) {
                return -1;
            }
            goto IF_RANG;
        default:
            return -1;
    }

IF_RANG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 40;
            }
            goto IF_RANGE;
        case 'e':
            if (last) {
                return 40;
            }
            goto IF_RANGE;
        default:
            return -1;
    }

IF_U:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto IF_UN;
        case 'n':
            if (last) {
                return -1;
            }
            goto IF_UN;
        default:
            return -1;
    }

IF_UN:
    NEXT_CHAR();
    switch (ch) {
        case 'M':
            if (last) {
                return -1;
            }
            goto IF_UNM;
        case 'm':
            if (last) {
                return -1;
            }
            goto IF_UNM;
        default:
            return -1;
    }

IF_UNM:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto IF_UNMO;
        case 'o':
            if (last) {
                return -1;
            }
            goto IF_UNMO;
        default:
            return -1;
    }

IF_UNMO:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto IF_UNMOD;
        case 'd':
            if (last) {
                return -1;
            }
            goto IF_UNMOD;
        default:
            return -1;
    }

IF_UNMOD:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto IF_UNMODI;
        case 'i':
            if (last) {
                return -1;
            }
            goto IF_UNMODI;
        default:
            return -1;
    }

IF_UNMODI:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto IF_UNMODIF;
        case 'f':
            if (last) {
                return -1;
            }
            goto IF_UNMODIF;
        default:
            return -1;
    }

IF_UNMODIF:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFI;
        case 'i':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFI;
        default:
            return -1;
    }

IF_UNMODIFI:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIE;
        case 'e':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIE;
        default:
            return -1;
    }

IF_UNMODIFIE:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED;
        case 'd':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED;
        default:
            return -1;
    }

IF_UNMODIFIED:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED_;
        default:
            return -1;
    }

IF_UNMODIFIED_:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED_S;
        case 's':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED_S;
        default:
            return -1;
    }

IF_UNMODIFIED_S:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED_SI;
        case 'i':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED_SI;
        default:
            return -1;
    }

IF_UNMODIFIED_SI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED_SIN;
        case 'n':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED_SIN;
        default:
            return -1;
    }

IF_UNMODIFIED_SIN:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED_SINC;
        case 'c':
            if (last) {
                return -1;
            }
            goto IF_UNMODIFIED_SINC;
        default:
            return -1;
    }

IF_UNMODIFIED_SINC:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 41;
            }
            goto IF_UNMODIFIED_SINCE;
        case 'e':
            if (last) {
                return 41;
            }
            goto IF_UNMODIFIED_SINCE;
        default:
            return -1;
    }

K:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto KE;
        case 'e':
            if (last) {
                return -1;
            }
            goto KE;
        default:
            return -1;
    }

KE:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto KEE;
        case 'e':
            if (last) {
                return -1;
            }
            goto KEE;
        default:
            return -1;
    }

KEE:
    NEXT_CHAR();
    switch (ch) {
        case 'P':
            if (last) {
                return -1;
            }
            goto KEEP;
        case 'p':
            if (last) {
                return -1;
            }
            goto KEEP;
        default:
            return -1;
    }

KEEP:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto KEEP_;
        default:
            return -1;
    }

KEEP_:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto KEEP_A;
        case 'a':
            if (last) {
                return -1;
            }
            goto KEEP_A;
        default:
            return -1;
    }

KEEP_A:
    NEXT_CHAR();
    switch (ch) {
        case 'L':
            if (last) {
                return -1;
            }
            goto KEEP_AL;
        case 'l':
            if (last) {
                return -1;
            }
            goto KEEP_AL;
        default:
            return -1;
    }

KEEP_AL:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto KEEP_ALI;
        case 'i':
            if (last) {
                return -1;
            }
            goto KEEP_ALI;
        default:
            return -1;
    }

KEEP_ALI:
    NEXT_CHAR();
    switch (ch) {
        case 'V':
            if (last) {
                return -1;
            }
            goto KEEP_ALIV;
        case 'v':
            if (last) {
                return -1;
            }
            goto KEEP_ALIV;
        default:
            return -1;
    }

KEEP_ALIV:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 42;
            }
            goto KEEP_ALIVE;
        case 'e':
            if (last) {
                return 42;
            }
            goto KEEP_ALIVE;
        default:
            return -1;
    }

L:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto LA;
        case 'a':
            if (last) {
                return -1;
            }
            goto LA;
        case 'I':
            if (last) {
                return -1;
            }
            goto LI;
        case 'i':
            if (last) {
                return -1;
            }
            goto LI;
        case 'O':
            if (last) {
                return -1;
            }
            goto LO;
        case 'o':
            if (last) {
                return -1;
            }
            goto LO;
        default:
            return -1;
    }

LA:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto LAS;
        case 's':
            if (last) {
                return -1;
            }
            goto LAS;
        default:
            return -1;
    }

LAS:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto LAST;
        case 't':
            if (last) {
                return -1;
            }
            goto LAST;
        default:
            return -1;
    }

LAST:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto LAST_;
        default:
            return -1;
    }

LAST_:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto LAST_E;
        case 'e':
            if (last) {
                return -1;
            }
            goto LAST_E;
        case 'M':
            if (last) {
                return -1;
            }
            goto LAST_M;
        case 'm':
            if (last) {
                return -1;
            }
            goto LAST_M;
        default:
            return -1;
    }

LAST_E:
    NEXT_CHAR();
    switch (ch) {
        case 'V':
            if (last) {
                return -1;
            }
            goto LAST_EV;
        case 'v':
            if (last) {
                return -1;
            }
            goto LAST_EV;
        default:
            return -1;
    }

LAST_EV:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto LAST_EVE;
        case 'e':
            if (last) {
                return -1;
            }
            goto LAST_EVE;
        default:
            return -1;
    }

LAST_EVE:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto LAST_EVEN;
        case 'n':
            if (last) {
                return -1;
            }
            goto LAST_EVEN;
        default:
            return -1;
    }

LAST_EVEN:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto LAST_EVENT;
        case 't':
            if (last) {
                return -1;
            }
            goto LAST_EVENT;
        default:
            return -1;
    }

LAST_EVENT:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto LAST_EVENT_;
        default:
            return -1;
    }

LAST_EVENT_:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto LAST_EVENT_I;
        case 'i':
            if (last) {
                return -1;
            }
            goto LAST_EVENT_I;
        default:
            return -1;
    }

LAST_EVENT_I:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return 43;
            }
            goto LAST_EVENT_ID;
        case 'd':
            if (last) {
                return 43;
            }
            goto LAST_EVENT_ID;
        default:
            return -1;
    }

LAST_M:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto LAST_MO;
        case 'o':
            if (last) {
                return -1;
            }
            goto LAST_MO;
        default:
            return -1;
    }

LAST_MO:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto LAST_MOD;
        case 'd':
            if (last) {
                return -1;
            }
            goto LAST_MOD;
        default:
            return -1;
    }

LAST_MOD:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto LAST_MODI;
        case 'i':
            if (last) {
                return -1;
            }
            goto LAST_MODI;
        default:
            return -1;
    }

LAST_MODI:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto LAST_MODIF;
        case 'f':
            if (last) {
                return -1;
            }
            goto LAST_MODIF;
        default:
            return -1;
    }

LAST_MODIF:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto LAST_MODIFI;
        case 'i':
            if (last) {
                return -1;
            }
            goto LAST_MODIFI;
        default:
            return -1;
    }

LAST_MODIFI:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto LAST_MODIFIE;
        case 'e':
            if (last) {
                return -1;
            }
            goto LAST_MODIFIE;
        default:
            return -1;
    }

LAST_MODIFIE:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return 44;
            }
            goto LAST_MODIFIED;
        case 'd':
            if (last) {
                return 44;
            }
            goto LAST_MODIFIED;
        default:
            return -1;
    }

LI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto LIN;
        case 'n':
            if (last) {
                return -1;
            }
            goto LIN;
        default:
            return -1;
    }

LIN:
    NEXT_CHAR();
    switch (ch) {
        case 'K':
            if (last) {
                return 45;
            }
            goto LINK;
        case 'k':
            if (last) {
                return 45;
            }
            goto LINK;
        default:
            return -1;
    }

LO:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto LOC;
        case 'c':
            if (last) {
                return -1;
            }
            goto LOC;
        default:
            return -1;
    }

LOC:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto LOCA;
        case 'a':
            if (last) {
                return -1;
            }
            goto LOCA;
        default:
            return -1;
    }

LOCA:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto LOCAT;
        case 't':
            if (last) {
                return -1;
            }
            goto LOCAT;
        default:
            return -1;
    }

LOCAT:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto LOCATI;
        case 'i':
            if (last) {
                return -1;
            }
            goto LOCATI;
        default:
            return -1;
    }

LOCATI:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto LOCATIO;
        case 'o':
            if (last) {
                return -1;
            }
            goto LOCATIO;
        default:
            return -1;
    }

LOCATIO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return 46;
            }
            goto LOCATION;
        case 'n':
            if (last) {
                return 46;
            }
            goto LOCATION;
        default:
            return -1;
    }

M:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto MA;
        case 'a':
            if (last) {
                return -1;
            }
            goto MA;
        default:
            return -1;
    }

MA:
    NEXT_CHAR();
    switch (ch) {
        case 'X':
            if (last) {
                return -1;
            }
            goto MAX;
        case 'x':
            if (last) {
                return -1;
            }
            goto MAX;
        default:
            return -1;
    }

MAX:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto MAX_;
        default:
            return -1;
    }

MAX_:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto MAX_F;
        case 'f':
            if (last) {
                return -1;
            }
            goto MAX_F;
        default:
            return -1;
    }

MAX_F:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto MAX_FO;
        case 'o':
            if (last) {
                return -1;
            }
            goto MAX_FO;
        default:
            return -1;
    }

MAX_FO:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto MAX_FOR;
        case 'r':
            if (last) {
                return -1;
            }
            goto MAX_FOR;
        default:
            return -1;
    }

MAX_FOR:
    NEXT_CHAR();
    switch (ch) {
        case 'W':
            if (last) {
                return -1;
            }
            goto MAX_FORW;
        case 'w':
            if (last) {
                return -1;
            }
            goto MAX_FORW;
        default:
            return -1;
    }

MAX_FORW:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto MAX_FORWA;
        case 'a':
            if (last) {
                return -1;
            }
            goto MAX_FORWA;
        default:
            return -1;
    }

MAX_FORWA:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto MAX_FORWAR;
        case 'r':
            if (last) {
                return -1;
            }
            goto MAX_FORWAR;
        default:
            return -1;
    }

MAX_FORWAR:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto MAX_FORWARD;
        case 'd':
            if (last) {
                return -1;
            }
            goto MAX_FORWARD;
        default:
            return -1;
    }

MAX_FORWARD:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return 47;
            }
            goto MAX_FORWARDS;
        case 's':
            if (last) {
                return 47;
            }
            goto MAX_FORWARDS;
        default:
            return -1;
    }

O:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto OR;
        case 'r':
            if (last) {
                return -1;
            }
            goto OR;
        default:
            return -1;
    }

OR:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto ORI;
        case 'i':
            if (last) {
                return -1;
            }
            goto ORI;
        default:
            return -1;
    }

ORI:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto ORIG;
        case 'g':
            if (last) {
                return -1;
            }
            goto ORIG;
        default:
            return -1;
    }

ORIG:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto ORIGI;
        case 'i':
            if (last) {
                return -1;
            }
            goto ORIGI;
        default:
            return -1;
    }

ORIGI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return 48;
            }
            goto ORIGIN;
        case 'n':
            if (last) {
                return 48;
            }
            goto ORIGIN;
        default:
            return -1;
    }

P:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto PR;
        case 'r':
            if (last) {
                return -1;
            }
            goto PR;
        default:
            return -1;
    }

PR:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto PRA;
        case 'a':
            if (last) {
                return -1;
            }
            goto PRA;
        case 'O':
            if (last) {
                return -1;
            }
            goto PRO;
        case 'o':
            if (last) {
                return -1;
            }
            goto PRO;
        default:
            return -1;
    }

PRA:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto PRAG;
        case 'g':
            if (last) {
                return -1;
            }
            goto PRAG;
        default:
            return -1;
    }

PRAG:
    NEXT_CHAR();
    switch (ch) {
        case 'M':
            if (last) {
                return -1;
            }
            goto PRAGM;
        case 'm':
            if (last) {
                return -1;
            }
            goto PRAGM;
        default:
            return -1;
    }

PRAGM:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return 49;
            }
            goto PRAGMA;
        case 'a':
            if (last) {
                return 49;
            }
            goto PRAGMA;
        default:
            return -1;
    }

PRO:
    NEXT_CHAR();
    switch (ch) {
        case 'X':
            if (last) {
                return -1;
            }
            goto PROX;
        case 'x':
            if (last) {
                return -1;
            }
            goto PROX;
        default:
            return -1;
    }

PROX:
    NEXT_CHAR();
    switch (ch) {
        case 'Y':
            if (last) {
                return -1;
            }
            goto PROXY;
        case 'y':
            if (last) {
                return -1;
            }
            goto PROXY;
        default:
            return -1;
    }

PROXY:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto PROXY_;
        default:
            return -1;
    }

PROXY_:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto PROXY_A;
        case 'a':
            if (last) {
                return -1;
            }
            goto PROXY_A;
        default:
            return -1;
    }

PROXY_A:
    NEXT_CHAR();
    switch (ch) {
        case 'U':
            if (last) {
                return -1;
            }
            goto PROXY_AU;
        case 'u':
            if (last) {
                return -1;
            }
            goto PROXY_AU;
        default:
            return -1;
    }

PROXY_AU:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto PROXY_AUT;
        case 't':
            if (last) {
                return -1;
            }
            goto PROXY_AUT;
        default:
            return -1;
    }

PROXY_AUT:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return -1;
            }
            goto PROXY_AUTH;
        case 'h':
            if (last) {
                return -1;
            }
            goto PROXY_AUTH;
        default:
            return -1;
    }

PROXY_AUTH:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHE;
        case 'e':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHE;
        case 'O':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHO;
        case 'o':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHO;
        default:
            return -1;
    }

PROXY_AUTHE:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHEN;
        case 'n':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHEN;
        default:
            return -1;
    }

PROXY_AUTHEN:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHENT;
        case 't':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHENT;
        default:
            return -1;
    }

PROXY_AUTHENT:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHENTI;
        case 'i':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHENTI;
        default:
            return -1;
    }

PROXY_AUTHENTI:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHENTIC;
        case 'c':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHENTIC;
        default:
            return -1;
    }

PROXY_AUTHENTIC:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHENTICA;
        case 'a':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHENTICA;
        default:
            return -1;
    }

PROXY_AUTHENTICA:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHENTICAT;
        case 't':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHENTICAT;
        default:
            return -1;
    }

PROXY_AUTHENTICAT:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 50;
            }
            goto PROXY_AUTHENTICATE;
        case 'e':
            if (last) {
                return 50;
            }
            goto PROXY_AUTHENTICATE;
        default:
            return -1;
    }

PROXY_AUTHO:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHOR;
        case 'r':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHOR;
        default:
            return -1;
    }

PROXY_AUTHOR:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORI;
        case 'i':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORI;
        default:
            return -1;
    }

PROXY_AUTHORI:
    NEXT_CHAR();
    switch (ch) {
        case 'Z':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORIZ;
        case 'z':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORIZ;
        default:
            return -1;
    }

PROXY_AUTHORIZ:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORIZA;
        case 'a':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORIZA;
        default:
            return -1;
    }

PROXY_AUTHORIZA:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORIZAT;
        case 't':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORIZAT;
        default:
            return -1;
    }

PROXY_AUTHORIZAT:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORIZATI;
        case 'i':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORIZATI;
        default:
            return -1;
    }

PROXY_AUTHORIZATI:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORIZATIO;
        case 'o':
            if (last) {
                return -1;
            }
            goto PROXY_AUTHORIZATIO;
        default:
            return -1;
    }

PROXY_AUTHORIZATIO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return 51;
            }
            goto PROXY_AUTHORIZATION;
        case 'n':
            if (last) {
                return 51;
            }
            goto PROXY_AUTHORIZATION;
        default:
            return -1;
    }

R:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto RA;
        case 'a':
            if (last) {
                return -1;
            }
            goto RA;
        case 'E':
            if (last) {
                return -1;
            }
            goto RE;
        case 'e':
            if (last) {
                return -1;
            }
            goto RE;
        default:
            return -1;
    }

RA:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto RAN;
        case 'n':
            if (last) {
                return -1;
            }
            goto RAN;
        default:
            return -1;
    }

RAN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto RANG;
        case 'g':
            if (last) {
                return -1;
            }
            goto RANG;
        default:
            return -1;
    }

RANG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 52;
            }
            goto RANGE;
        case 'e':
            if (last) {
                return 52;
            }
            goto RANGE;
        default:
            return -1;
    }

RE:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto REF;
        case 'f':
            if (last) {
                return -1;
            }
            goto REF;
        case 'T':
            if (last) {
                return -1;
            }
            goto RET;
        case 't':
            if (last) {
                return -1;
            }
            goto RET;
        default:
            return -1;
    }

REF:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto REFE;
        case 'e':
            if (last) {
                return -1;
            }
            goto REFE;
        default:
            return -1;
    }

REFE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto REFER;
        case 'r':
            if (last) {
                return -1;
            }
            goto REFER;
        default:
            return -1;
    }

REFER:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto REFERE;
        case 'e':
            if (last) {
                return -1;
            }
            goto REFERE;
        default:
            return -1;
    }

REFERE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return 53;
            }
            goto REFERER;
        case 'r':
            if (last) {
                return 53;
            }
            goto REFERER;
        default:
            return -1;
    }

RET:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto RETR;
        case 'r':
            if (last) {
                return -1;
            }
            goto RETR;
        default:
            return -1;
    }

RETR:
    NEXT_CHAR();
    switch (ch) {
        case 'Y':
            if (last) {
                return -1;
            }
            goto RETRY;
        case 'y':
            if (last) {
                return -1;
            }
            goto RETRY;
        default:
            return -1;
    }

RETRY:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto RETRY_;
        default:
            return -1;
    }

RETRY_:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto RETRY_A;
        case 'a':
            if (last) {
                return -1;
            }
            goto RETRY_A;
        default:
            return -1;
    }

RETRY_A:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto RETRY_AF;
        case 'f':
            if (last) {
                return -1;
            }
            goto RETRY_AF;
        default:
            return -1;
    }

RETRY_AF:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto RETRY_AFT;
        case 't':
            if (last) {
                return -1;
            }
            goto RETRY_AFT;
        default:
            return -1;
    }

RETRY_AFT:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto RETRY_AFTE;
        case 'e':
            if (last) {
                return -1;
            }
            goto RETRY_AFTE;
        default:
            return -1;
    }

RETRY_AFTE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return 54;
            }
            goto RETRY_AFTER;
        case 'r':
            if (last) {
                return 54;
            }
            goto RETRY_AFTER;
        default:
            return -1;
    }

S:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto SE;
        case 'e':
            if (last) {
                return -1;
            }
            goto SE;
        default:
            return -1;
    }

SE:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto SEC;
        case 'c':
            if (last) {
                return -1;
            }
            goto SEC;
        case 'R':
            if (last) {
                return -1;
            }
            goto SER;
        case 'r':
            if (last) {
                return -1;
            }
            goto SER;
        case 'T':
            if (last) {
                return -1;
            }
            goto SET;
        case 't':
            if (last) {
                return -1;
            }
            goto SET;
        default:
            return -1;
    }

SEC:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto SEC_;
        default:
            return -1;
    }

SEC_:
    NEXT_CHAR();
    switch (ch) {
        case 'W':
            if (last) {
                return -1;
            }
            goto SEC_W;
        case 'w':
            if (last) {
                return -1;
            }
            goto SEC_W;
        default:
            return -1;
    }

SEC_W:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto SEC_WE;
        case 'e':
            if (last) {
                return -1;
            }
            goto SEC_WE;
        default:
            return -1;
    }

SEC_WE:
    NEXT_CHAR();
    switch (ch) {
        case 'B':
            if (last) {
                return -1;
            }
            goto SEC_WEB;
        case 'b':
            if (last) {
                return -1;
            }
            goto SEC_WEB;
        default:
            return -1;
    }

SEC_WEB:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto SEC_WEBS;
        case 's':
            if (last) {
                return -1;
            }
            goto SEC_WEBS;
        default:
            return -1;
    }

SEC_WEBS:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto SEC_WEBSO;
        case 'o':
            if (last) {
                return -1;
            }
            goto SEC_WEBSO;
        default:
            return -1;
    }

SEC_WEBSO:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOC;
        case 'c':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOC;
        default:
            return -1;
    }

SEC_WEBSOC:
    NEXT_CHAR();
    switch (ch) {
        case 'K':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCK;
        case 'k':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCK;
        default:
            return -1;
    }

SEC_WEBSOCK:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKE;
        case 'e':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKE;
        default:
            return -1;
    }

SEC_WEBSOCKE:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET;
        case 't':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET;
        default:
            return -1;
    }

SEC_WEBSOCKET:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_;
        default:
            return -1;
    }

SEC_WEBSOCKET_:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_A;
        case 'a':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_A;
        case 'E':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_E;
        case 'e':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_E;
        case 'K':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_K;
        case 'k':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_K;
        case 'P':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_P;
        case 'p':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_P;
        case 'V':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_V;
        case 'v':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_V;
        default:
            return -1;
    }

SEC_WEBSOCKET_A:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_AC;
        case 'c':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_AC;
        default:
            return -1;
    }

SEC_WEBSOCKET_AC:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_ACC;
        case 'c':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_ACC;
        default:
            return -1;
    }

SEC_WEBSOCKET_ACC:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_ACCE;
        case 'e':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_ACCE;
        default:
            return -1;
    }

SEC_WEBSOCKET_ACCE:
    NEXT_CHAR();
    switch (ch) {
        case 'P':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_ACCEP;
        case 'p':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_ACCEP;
        default:
            return -1;
    }

SEC_WEBSOCKET_ACCEP:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return 55;
            }
            goto SEC_WEBSOCKET_ACCEPT;
        case 't':
            if (last) {
                return 55;
            }
            goto SEC_WEBSOCKET_ACCEPT;
        default:
            return -1;
    }

SEC_WEBSOCKET_E:
    NEXT_CHAR();
    switch (ch) {
        case 'X':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EX;
        case 'x':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EX;
        default:
            return -1;
    }

SEC_WEBSOCKET_EX:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXT;
        case 't':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXT;
        default:
            return -1;
    }

SEC_WEBSOCKET_EXT:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTE;
        case 'e':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTE;
        default:
            return -1;
    }

SEC_WEBSOCKET_EXTE:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTEN;
        case 'n':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTEN;
        default:
            return -1;
    }

SEC_WEBSOCKET_EXTEN:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTENS;
        case 's':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTENS;
        default:
            return -1;
    }

SEC_WEBSOCKET_EXTENS:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTENSI;
        case 'i':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTENSI;
        default:
            return -1;
    }

SEC_WEBSOCKET_EXTENSI:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTENSIO;
        case 'o':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTENSIO;
        default:
            return -1;
    }

SEC_WEBSOCKET_EXTENSIO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTENSION;
        case 'n':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_EXTENSION;
        default:
            return -1;
    }

SEC_WEBSOCKET_EXTENSION:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return 56;
            }
            goto SEC_WEBSOCKET_EXTENSIONS;
        case 's':
            if (last) {
                return 56;
            }
            goto SEC_WEBSOCKET_EXTENSIONS;
        default:
            return -1;
    }

SEC_WEBSOCKET_K:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_KE;
        case 'e':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_KE;
        default:
            return -1;
    }

SEC_WEBSOCKET_KE:
    NEXT_CHAR();
    switch (ch) {
        case 'Y':
            if (last) {
                return 57;
            }
            goto SEC_WEBSOCKET_KEY;
        case 'y':
            if (last) {
                return 57;
            }
            goto SEC_WEBSOCKET_KEY;
        default:
            return -1;
    }

SEC_WEBSOCKET_KEY:
    NEXT_CHAR();
    switch (ch) {
        case '1':
            if (last) {
                return 58;
            }
            goto SEC_WEBSOCKET_KEY1;
        default:
            return -1;
    }

SEC_WEBSOCKET_P:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PR;
        case 'r':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PR;
        default:
            return -1;
    }

SEC_WEBSOCKET_PR:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PRO;
        case 'o':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PRO;
        default:
            return -1;
    }

SEC_WEBSOCKET_PRO:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PROT;
        case 't':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PROT;
        default:
            return -1;
    }

SEC_WEBSOCKET_PROT:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PROTO;
        case 'o':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PROTO;
        default:
            return -1;
    }

SEC_WEBSOCKET_PROTO:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PROTOC;
        case 'c':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PROTOC;
        default:
            return -1;
    }

SEC_WEBSOCKET_PROTOC:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PROTOCO;
        case 'o':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_PROTOCO;
        default:
            return -1;
    }

SEC_WEBSOCKET_PROTOCO:
    NEXT_CHAR();
    switch (ch) {
        case 'L':
            if (last) {
                return 59;
            }
            goto SEC_WEBSOCKET_PROTOCOL;
        case 'l':
            if (last) {
                return 59;
            }
            goto SEC_WEBSOCKET_PROTOCOL;
        default:
            return -1;
    }

SEC_WEBSOCKET_V:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_VE;
        case 'e':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_VE;
        default:
            return -1;
    }

SEC_WEBSOCKET_VE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_VER;
        case 'r':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_VER;
        default:
            return -1;
    }

SEC_WEBSOCKET_VER:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_VERS;
        case 's':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_VERS;
        default:
            return -1;
    }

SEC_WEBSOCKET_VERS:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_VERSI;
        case 'i':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_VERSI;
        default:
            return -1;
    }

SEC_WEBSOCKET_VERSI:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_VERSIO;
        case 'o':
            if (last) {
                return -1;
            }
            goto SEC_WEBSOCKET_VERSIO;
        default:
            return -1;
    }

SEC_WEBSOCKET_VERSIO:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return 60;
            }
            goto SEC_WEBSOCKET_VERSION;
        case 'n':
            if (last) {
                return 60;
            }
            goto SEC_WEBSOCKET_VERSION;
        default:
            return -1;
    }

SER:
    NEXT_CHAR();
    switch (ch) {
        case 'V':
            if (last) {
                return -1;
            }
            goto SERV;
        case 'v':
            if (last) {
                return -1;
            }
            goto SERV;
        default:
            return -1;
    }

SERV:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto SERVE;
        case 'e':
            if (last) {
                return -1;
            }
            goto SERVE;
        default:
            return -1;
    }

SERVE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return 61;
            }
            goto SERVER;
        case 'r':
            if (last) {
                return 61;
            }
            goto SERVER;
        default:
            return -1;
    }

SET:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto SET_;
        default:
            return -1;
    }

SET_:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto SET_C;
        case 'c':
            if (last) {
                return -1;
            }
            goto SET_C;
        default:
            return -1;
    }

SET_C:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto SET_CO;
        case 'o':
            if (last) {
                return -1;
            }
            goto SET_CO;
        default:
            return -1;
    }

SET_CO:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto SET_COO;
        case 'o':
            if (last) {
                return -1;
            }
            goto SET_COO;
        default:
            return -1;
    }

SET_COO:
    NEXT_CHAR();
    switch (ch) {
        case 'K':
            if (last) {
                return -1;
            }
            goto SET_COOK;
        case 'k':
            if (last) {
                return -1;
            }
            goto SET_COOK;
        default:
            return -1;
    }

SET_COOK:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto SET_COOKI;
        case 'i':
            if (last) {
                return -1;
            }
            goto SET_COOKI;
        default:
            return -1;
    }

SET_COOKI:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 62;
            }
            goto SET_COOKIE;
        case 'e':
            if (last) {
                return 62;
            }
            goto SET_COOKIE;
        default:
            return -1;
    }

T:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 63;
            }
            goto TE;
        case 'e':
            if (last) {
                return 63;
            }
            goto TE;
        case 'R':
            if (last) {
                return -1;
            }
            goto TR;
        case 'r':
            if (last) {
                return -1;
            }
            goto TR;
        default:
            return -1;
    }

TR:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto TRA;
        case 'a':
            if (last) {
                return -1;
            }
            goto TRA;
        default:
            return -1;
    }

TRA:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto TRAI;
        case 'i':
            if (last) {
                return -1;
            }
            goto TRAI;
        case 'N':
            if (last) {
                return -1;
            }
            goto TRAN;
        case 'n':
            if (last) {
                return -1;
            }
            goto TRAN;
        default:
            return -1;
    }

TRAI:
    NEXT_CHAR();
    switch (ch) {
        case 'L':
            if (last) {
                return -1;
            }
            goto TRAIL;
        case 'l':
            if (last) {
                return -1;
            }
            goto TRAIL;
        default:
            return -1;
    }

TRAIL:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto TRAILE;
        case 'e':
            if (last) {
                return -1;
            }
            goto TRAILE;
        default:
            return -1;
    }

TRAILE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return 64;
            }
            goto TRAILER;
        case 'r':
            if (last) {
                return 64;
            }
            goto TRAILER;
        default:
            return -1;
    }

TRAN:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto TRANS;
        case 's':
            if (last) {
                return -1;
            }
            goto TRANS;
        default:
            return -1;
    }

TRANS:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto TRANSF;
        case 'f':
            if (last) {
                return -1;
            }
            goto TRANSF;
        default:
            return -1;
    }

TRANSF:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto TRANSFE;
        case 'e':
            if (last) {
                return -1;
            }
            goto TRANSFE;
        default:
            return -1;
    }

TRANSFE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto TRANSFER;
        case 'r':
            if (last) {
                return -1;
            }
            goto TRANSFER;
        default:
            return -1;
    }

TRANSFER:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto TRANSFER_;
        default:
            return -1;
    }

TRANSFER_:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto TRANSFER_E;
        case 'e':
            if (last) {
                return -1;
            }
            goto TRANSFER_E;
        default:
            return -1;
    }

TRANSFER_E:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto TRANSFER_EN;
        case 'n':
            if (last) {
                return -1;
            }
            goto TRANSFER_EN;
        default:
            return -1;
    }

TRANSFER_EN:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto TRANSFER_ENC;
        case 'c':
            if (last) {
                return -1;
            }
            goto TRANSFER_ENC;
        default:
            return -1;
    }

TRANSFER_ENC:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto TRANSFER_ENCO;
        case 'o':
            if (last) {
                return -1;
            }
            goto TRANSFER_ENCO;
        default:
            return -1;
    }

TRANSFER_ENCO:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto TRANSFER_ENCOD;
        case 'd':
            if (last) {
                return -1;
            }
            goto TRANSFER_ENCOD;
        default:
            return -1;
    }

TRANSFER_ENCOD:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto TRANSFER_ENCODI;
        case 'i':
            if (last) {
                return -1;
            }
            goto TRANSFER_ENCODI;
        default:
            return -1;
    }

TRANSFER_ENCODI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto TRANSFER_ENCODIN;
        case 'n':
            if (last) {
                return -1;
            }
            goto TRANSFER_ENCODIN;
        default:
            return -1;
    }

TRANSFER_ENCODIN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return 65;
            }
            goto TRANSFER_ENCODING;
        case 'g':
            if (last) {
                return 65;
            }
            goto TRANSFER_ENCODING;
        default:
            return -1;
    }

U:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto UR;
        case 'r':
            if (last) {
                return -1;
            }
            goto UR;
        case 'P':
            if (last) {
                return -1;
            }
            goto UP;
        case 'p':
            if (last) {
                return -1;
            }
            goto UP;
        case 'S':
            if (last) {
                return -1;
            }
            goto US;
        case 's':
            if (last) {
                return -1;
            }
            goto US;
        default:
            return -1;
    }

UR:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return 66;
            }
            goto URI;
        case 'i':
            if (last) {
                return 66;
            }
            goto URI;
        default:
            return -1;
    }

UP:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto UPG;
        case 'g':
            if (last) {
                return -1;
            }
            goto UPG;
        default:
            return -1;
    }

UPG:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto UPGR;
        case 'r':
            if (last) {
                return -1;
            }
            goto UPGR;
        default:
            return -1;
    }

UPGR:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto UPGRA;
        case 'a':
            if (last) {
                return -1;
            }
            goto UPGRA;
        default:
            return -1;
    }

UPGRA:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto UPGRAD;
        case 'd':
            if (last) {
                return -1;
            }
            goto UPGRAD;
        default:
            return -1;
    }

UPGRAD:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 67;
            }
            goto UPGRADE;
        case 'e':
            if (last) {
                return 67;
            }
            goto UPGRADE;
        default:
            return -1;
    }

US:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto USE;
        case 'e':
            if (last) {
                return -1;
            }
            goto USE;
        default:
            return -1;
    }

USE:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto USER;
        case 'r':
            if (last) {
                return -1;
            }
            goto USER;
        default:
            return -1;
    }

USER:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto USER_;
        default:
            return -1;
    }

USER_:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto USER_A;
        case 'a':
            if (last) {
                return -1;
            }
            goto USER_A;
        default:
            return -1;
    }

USER_A:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto USER_AG;
        case 'g':
            if (last) {
                return -1;
            }
            goto USER_AG;
        default:
            return -1;
    }

USER_AG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto USER_AGE;
        case 'e':
            if (last) {
                return -1;
            }
            goto USER_AGE;
        default:
            return -1;
    }

USER_AGE:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto USER_AGEN;
        case 'n':
            if (last) {
                return -1;
            }
            goto USER_AGEN;
        default:
            return -1;
    }

USER_AGEN:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return 68;
            }
            goto USER_AGENT;
        case 't':
            if (last) {
                return 68;
            }
            goto USER_AGENT;
        default:
            return -1;
    }

V:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto VA;
        case 'a':
            if (last) {
                return -1;
            }
            goto VA;
        case 'I':
            if (last) {
                return -1;
            }
            goto VI;
        case 'i':
            if (last) {
                return -1;
            }
            goto VI;
        default:
            return -1;
    }

VA:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto VAR;
        case 'r':
            if (last) {
                return -1;
            }
            goto VAR;
        default:
            return -1;
    }

VAR:
    NEXT_CHAR();
    switch (ch) {
        case 'Y':
            if (last) {
                return 69;
            }
            goto VARY;
        case 'y':
            if (last) {
                return 69;
            }
            goto VARY;
        default:
            return -1;
    }

VI:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return 70;
            }
            goto VIA;
        case 'a':
            if (last) {
                return 70;
            }
            goto VIA;
        default:
            return -1;
    }

W:
    NEXT_CHAR();
    switch (ch) {
        case 'W':
            if (last) {
                return -1;
            }
            goto WW;
        case 'w':
            if (last) {
                return -1;
            }
            goto WW;
        case 'A':
            if (last) {
                return -1;
            }
            goto WA;
        case 'a':
            if (last) {
                return -1;
            }
            goto WA;
        default:
            return -1;
    }

WW:
    NEXT_CHAR();
    switch (ch) {
        case 'W':
            if (last) {
                return -1;
            }
            goto WWW;
        case 'w':
            if (last) {
                return -1;
            }
            goto WWW;
        default:
            return -1;
    }

WWW:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto WWW_;
        default:
            return -1;
    }

WWW_:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto WWW_A;
        case 'a':
            if (last) {
                return -1;
            }
            goto WWW_A;
        default:
            return -1;
    }

WWW_A:
    NEXT_CHAR();
    switch (ch) {
        case 'U':
            if (last) {
                return -1;
            }
            goto WWW_AU;
        case 'u':
            if (last) {
                return -1;
            }
            goto WWW_AU;
        default:
            return -1;
    }

WWW_AU:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto WWW_AUT;
        case 't':
            if (last) {
                return -1;
            }
            goto WWW_AUT;
        default:
            return -1;
    }

WWW_AUT:
    NEXT_CHAR();
    switch (ch) {
        case 'H':
            if (last) {
                return -1;
            }
            goto WWW_AUTH;
        case 'h':
            if (last) {
                return -1;
            }
            goto WWW_AUTH;
        default:
            return -1;
    }

WWW_AUTH:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto WWW_AUTHE;
        case 'e':
            if (last) {
                return -1;
            }
            goto WWW_AUTHE;
        default:
            return -1;
    }

WWW_AUTHE:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto WWW_AUTHEN;
        case 'n':
            if (last) {
                return -1;
            }
            goto WWW_AUTHEN;
        default:
            return -1;
    }

WWW_AUTHEN:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto WWW_AUTHENT;
        case 't':
            if (last) {
                return -1;
            }
            goto WWW_AUTHENT;
        default:
            return -1;
    }

WWW_AUTHENT:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto WWW_AUTHENTI;
        case 'i':
            if (last) {
                return -1;
            }
            goto WWW_AUTHENTI;
        default:
            return -1;
    }

WWW_AUTHENTI:
    NEXT_CHAR();
    switch (ch) {
        case 'C':
            if (last) {
                return -1;
            }
            goto WWW_AUTHENTIC;
        case 'c':
            if (last) {
                return -1;
            }
            goto WWW_AUTHENTIC;
        default:
            return -1;
    }

WWW_AUTHENTIC:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto WWW_AUTHENTICA;
        case 'a':
            if (last) {
                return -1;
            }
            goto WWW_AUTHENTICA;
        default:
            return -1;
    }

WWW_AUTHENTICA:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto WWW_AUTHENTICAT;
        case 't':
            if (last) {
                return -1;
            }
            goto WWW_AUTHENTICAT;
        default:
            return -1;
    }

WWW_AUTHENTICAT:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return 71;
            }
            goto WWW_AUTHENTICATE;
        case 'e':
            if (last) {
                return 71;
            }
            goto WWW_AUTHENTICATE;
        default:
            return -1;
    }

WA:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto WAN;
        case 'n':
            if (last) {
                return -1;
            }
            goto WAN;
        case 'R':
            if (last) {
                return -1;
            }
            goto WAR;
        case 'r':
            if (last) {
                return -1;
            }
            goto WAR;
        default:
            return -1;
    }

WAN:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto WANT;
        case 't':
            if (last) {
                return -1;
            }
            goto WANT;
        default:
            return -1;
    }

WANT:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto WANT_;
        default:
            return -1;
    }

WANT_:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto WANT_D;
        case 'd':
            if (last) {
                return -1;
            }
            goto WANT_D;
        default:
            return -1;
    }

WANT_D:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto WANT_DI;
        case 'i':
            if (last) {
                return -1;
            }
            goto WANT_DI;
        default:
            return -1;
    }

WANT_DI:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return -1;
            }
            goto WANT_DIG;
        case 'g':
            if (last) {
                return -1;
            }
            goto WANT_DIG;
        default:
            return -1;
    }

WANT_DIG:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto WANT_DIGE;
        case 'e':
            if (last) {
                return -1;
            }
            goto WANT_DIGE;
        default:
            return -1;
    }

WANT_DIGE:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto WANT_DIGES;
        case 's':
            if (last) {
                return -1;
            }
            goto WANT_DIGES;
        default:
            return -1;
    }

WANT_DIGES:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return 72;
            }
            goto WANT_DIGEST;
        case 't':
            if (last) {
                return 72;
            }
            goto WANT_DIGEST;
        default:
            return -1;
    }

WAR:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto WARN;
        case 'n':
            if (last) {
                return -1;
            }
            goto WARN;
        default:
            return -1;
    }

WARN:
    NEXT_CHAR();
    switch (ch) {
        case 'I':
            if (last) {
                return -1;
            }
            goto WARNI;
        case 'i':
            if (last) {
                return -1;
            }
            goto WARNI;
        default:
            return -1;
    }

WARNI:
    NEXT_CHAR();
    switch (ch) {
        case 'N':
            if (last) {
                return -1;
            }
            goto WARNIN;
        case 'n':
            if (last) {
                return -1;
            }
            goto WARNIN;
        default:
            return -1;
    }

WARNIN:
    NEXT_CHAR();
    switch (ch) {
        case 'G':
            if (last) {
                return 73;
            }
            goto WARNING;
        case 'g':
            if (last) {
                return 73;
            }
            goto WARNING;
        default:
            return -1;
    }

X:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto X_;
        default:
            return -1;
    }

X_:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto X_F;
        case 'f':
            if (last) {
                return -1;
            }
            goto X_F;
        default:
            return -1;
    }

X_F:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto X_FO;
        case 'o':
            if (last) {
                return -1;
            }
            goto X_FO;
        default:
            return -1;
    }

X_FO:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto X_FOR;
        case 'r':
            if (last) {
                return -1;
            }
            goto X_FOR;
        default:
            return -1;
    }

X_FOR:
    NEXT_CHAR();
    switch (ch) {
        case 'W':
            if (last) {
                return -1;
            }
            goto X_FORW;
        case 'w':
            if (last) {
                return -1;
            }
            goto X_FORW;
        default:
            return -1;
    }

X_FORW:
    NEXT_CHAR();
    switch (ch) {
        case 'A':
            if (last) {
                return -1;
            }
            goto X_FORWA;
        case 'a':
            if (last) {
                return -1;
            }
            goto X_FORWA;
        default:
            return -1;
    }

X_FORWA:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto X_FORWAR;
        case 'r':
            if (last) {
                return -1;
            }
            goto X_FORWAR;
        default:
            return -1;
    }

X_FORWAR:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto X_FORWARD;
        case 'd':
            if (last) {
                return -1;
            }
            goto X_FORWARD;
        default:
            return -1;
    }

X_FORWARD:
    NEXT_CHAR();
    switch (ch) {
        case 'E':
            if (last) {
                return -1;
            }
            goto X_FORWARDE;
        case 'e':
            if (last) {
                return -1;
            }
            goto X_FORWARDE;
        default:
            return -1;
    }

X_FORWARDE:
    NEXT_CHAR();
    switch (ch) {
        case 'D':
            if (last) {
                return -1;
            }
            goto X_FORWARDED;
        case 'd':
            if (last) {
                return -1;
            }
            goto X_FORWARDED;
        default:
            return -1;
    }

X_FORWARDED:
    NEXT_CHAR();
    switch (ch) {
        case '-':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_;
        default:
            return -1;
    }

X_FORWARDED_:
    NEXT_CHAR();
    switch (ch) {
        case 'F':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_F;
        case 'f':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_F;
        case 'H':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_H;
        case 'h':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_H;
        case 'P':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_P;
        case 'p':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_P;
        default:
            return -1;
    }

X_FORWARDED_F:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_FO;
        case 'o':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_FO;
        default:
            return -1;
    }

X_FORWARDED_FO:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return 74;
            }
            goto X_FORWARDED_FOR;
        case 'r':
            if (last) {
                return 74;
            }
            goto X_FORWARDED_FOR;
        default:
            return -1;
    }

X_FORWARDED_H:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_HO;
        case 'o':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_HO;
        default:
            return -1;
    }

X_FORWARDED_HO:
    NEXT_CHAR();
    switch (ch) {
        case 'S':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_HOS;
        case 's':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_HOS;
        default:
            return -1;
    }

X_FORWARDED_HOS:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return 75;
            }
            goto X_FORWARDED_HOST;
        case 't':
            if (last) {
                return 75;
            }
            goto X_FORWARDED_HOST;
        default:
            return -1;
    }

X_FORWARDED_P:
    NEXT_CHAR();
    switch (ch) {
        case 'R':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_PR;
        case 'r':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_PR;
        default:
            return -1;
    }

X_FORWARDED_PR:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_PRO;
        case 'o':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_PRO;
        default:
            return -1;
    }

X_FORWARDED_PRO:
    NEXT_CHAR();
    switch (ch) {
        case 'T':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_PROT;
        case 't':
            if (last) {
                return -1;
            }
            goto X_FORWARDED_PROT;
        default:
            return -1;
    }

X_FORWARDED_PROT:
    NEXT_CHAR();
    switch (ch) {
        case 'O':
            if (last) {
                return 76;
            }
            goto X_FORWARDED_PROTO;
        case 'o':
            if (last) {
                return 76;
            }
            goto X_FORWARDED_PROTO;
        default:
            return -1;
    }

ACCEPT_CHARSET:
ACCEPT_ENCODING:
ACCEPT_LANGUAGE:
ACCEPT_RANGES:
ACCESS_CONTROL_ALLOW_CREDENTIALS:
ACCESS_CONTROL_ALLOW_HEADERS:
ACCESS_CONTROL_ALLOW_METHODS:
ACCESS_CONTROL_ALLOW_ORIGIN:
ACCESS_CONTROL_EXPOSE_HEADERS:
ACCESS_CONTROL_MAX_AGE:
ACCESS_CONTROL_REQUEST_HEADERS:
ACCESS_CONTROL_REQUEST_METHOD:
AGE:
ALLOW:
AUTHORIZATION:
CACHE_CONTROL:
CONNECTION:
CONTENT_DISPOSITION:
CONTENT_ENCODING:
CONTENT_LANGUAGE:
CONTENT_LENGTH:
CONTENT_LOCATION:
CONTENT_MD5:
CONTENT_RANGE:
CONTENT_TRANSFER_ENCODING:
CONTENT_TYPE:
COOKIE:
DATE:
DESTINATION:
DIGEST:
ETAG:
EXPECT:
EXPIRES:
FORWARDED:
FROM:
HOST:
IF_MATCH:
IF_MODIFIED_SINCE:
IF_NONE_MATCH:
IF_RANGE:
IF_UNMODIFIED_SINCE:
KEEP_ALIVE:
LAST_EVENT_ID:
LAST_MODIFIED:
LINK:
LOCATION:
MAX_FORWARDS:
ORIGIN:
PRAGMA:
PROXY_AUTHENTICATE:
PROXY_AUTHORIZATION:
RANGE:
REFERER:
RETRY_AFTER:
SEC_WEBSOCKET_ACCEPT:
SEC_WEBSOCKET_EXTENSIONS:
SEC_WEBSOCKET_KEY1:
SEC_WEBSOCKET_PROTOCOL:
SEC_WEBSOCKET_VERSION:
SERVER:
SET_COOKIE:
TE:
TRAILER:
TRANSFER_ENCODING:
UPGRADE:
URI:
USER_AGENT:
VARY:
VIA:
WANT_DIGEST:
WARNING:
WWW_AUTHENTICATE:
X_FORWARDED_FOR:
X_FORWARDED_HOST:
X_FORWARDED_PROTO:
missing:
    /* nothing found */
    return -1;
}

Filemanager

Name Type Size Permission Actions
.hash Folder 0755
__pycache__ Folder 0755
__init__.py File 6.77 KB 0644
_cparser.pxd File 3.87 KB 0644
_find_header.c File 183.17 KB 0644
_find_header.h File 170 B 0644
_find_header.pxd File 68 B 0644
_frozenlist.c File 287.3 KB 0644
_frozenlist.cpython-38-x86_64-linux-gnu.so File 337.8 KB 0755
_frozenlist.pyx File 2.54 KB 0644
_headers.pxi File 1.96 KB 0644
_helpers.c File 207.02 KB 0644
_helpers.cpython-38-x86_64-linux-gnu.so File 223.16 KB 0755
_helpers.pyi File 202 B 0644
_helpers.pyx File 1.02 KB 0644
_http_parser.c File 987.82 KB 0644
_http_parser.cpython-38-x86_64-linux-gnu.so File 2.17 MB 0755
_http_parser.pyx File 28.34 KB 0644
_http_writer.c File 208.03 KB 0644
_http_writer.cpython-38-x86_64-linux-gnu.so File 199.89 KB 0755
_http_writer.pyx File 4.1 KB 0644
_websocket.c File 134.21 KB 0644
_websocket.cpython-38-x86_64-linux-gnu.so File 98.52 KB 0755
_websocket.pyx File 1.52 KB 0644
abc.py File 5.12 KB 0644
base_protocol.py File 2.64 KB 0644
client.py File 42.89 KB 0644
client_exceptions.py File 8.33 KB 0644
client_proto.py File 7.97 KB 0644
client_reqrep.py File 35.58 KB 0644
client_ws.py File 10.05 KB 0644
connector.py File 41.96 KB 0644
cookiejar.py File 11.88 KB 0644
formdata.py File 5.94 KB 0644
frozenlist.py File 1.68 KB 0644
frozenlist.pyi File 1.4 KB 0644
hdrs.py File 3.37 KB 0644
helpers.py File 22.38 KB 0644
http.py File 1.78 KB 0644
http_exceptions.py File 2.53 KB 0644
http_parser.py File 30.06 KB 0644
http_websocket.py File 24.51 KB 0644
http_writer.py File 5.22 KB 0644
locks.py File 1.19 KB 0644
log.py File 325 B 0644
multipart.py File 31.5 KB 0644
payload.py File 13.02 KB 0644
payload_streamer.py File 2.05 KB 0644
py.typed File 7 B 0644
pytest_plugin.py File 10.75 KB 0644
resolver.py File 4.5 KB 0644
signals.py File 852 B 0644
signals.pyi File 319 B 0644
streams.py File 20.05 KB 0644
tcp_helpers.py File 962 B 0644
test_utils.py File 19.78 KB 0644
tracing.py File 14.03 KB 0644
typedefs.py File 1.34 KB 0644
web.py File 17.46 KB 0644
web_app.py File 16.65 KB 0644
web_exceptions.py File 9.87 KB 0644
web_fileresponse.py File 8.81 KB 0644
web_log.py File 7.32 KB 0644
web_middlewares.py File 4.09 KB 0644
web_protocol.py File 22.71 KB 0644
web_request.py File 25.83 KB 0644
web_response.py File 25.59 KB 0644
web_routedef.py File 5.97 KB 0644
web_runner.py File 10.93 KB 0644
web_server.py File 2.01 KB 0644
web_urldispatcher.py File 38.61 KB 0644
web_ws.py File 16.39 KB 0644
worker.py File 7.83 KB 0644