diff --git a/lib/commonmarker/src/arena.c b/lib/commonmarker/src/arena.c index 83a15255..da1a70e9 100644 --- a/lib/commonmarker/src/arena.c +++ b/lib/commonmarker/src/arena.c @@ -68,15 +68,16 @@ static void *arena_calloc(size_t nmem, size_t size) { const size_t align = sizeof(size_t) - 1; sz = (sz + align) & ~align; + struct arena_chunk *chunk; if (sz > A->sz) { - A->prev = alloc_arena_chunk(sz, A->prev); - return (uint8_t *) A->prev->ptr + sizeof(size_t); + A->prev = chunk = alloc_arena_chunk(sz, A->prev); + } else if (sz > A->sz - A->used) { + A = chunk = alloc_arena_chunk(A->sz + A->sz / 2, A); + } else { + chunk = A; } - if (sz > A->sz - A->used) { - A = alloc_arena_chunk(A->sz + A->sz / 2, A); - } - void *ptr = (uint8_t *) A->ptr + A->used; - A->used += sz; + void *ptr = (uint8_t *) chunk->ptr + chunk->used; + chunk->used += sz; *((size_t *) ptr) = sz - sizeof(size_t); return (uint8_t *) ptr + sizeof(size_t); } @@ -98,6 +99,6 @@ static void arena_free(void *ptr) { cmark_mem CMARK_ARENA_MEM_ALLOCATOR = {arena_calloc, arena_realloc, arena_free}; -cmark_mem *cmark_get_arena_mem_allocator() { +cmark_mem *cmark_get_arena_mem_allocator(void) { return &CMARK_ARENA_MEM_ALLOCATOR; } diff --git a/lib/commonmarker/src/blocks.c b/lib/commonmarker/src/blocks.c index 812713ed..3b5da56b 100644 --- a/lib/commonmarker/src/blocks.c +++ b/lib/commonmarker/src/blocks.c @@ -8,6 +8,7 @@ #include #include #include +#include #include "cmark_ctype.h" #include "syntax_extension.h" @@ -26,6 +27,14 @@ #define CODE_INDENT 4 #define TAB_STOP 4 +/** + * Very deeply nested lists can cause quadratic performance issues. + * This constant is used in open_new_blocks() to limit the nesting + * depth. It is unlikely that a non-contrived markdown document will + * be nested this deeply. + */ +#define MAX_LIST_DEPTH 100 + #ifndef MIN #define MIN(x, y) ((x < y) ? x : y) #endif @@ -639,6 +648,14 @@ static cmark_node *finalize_document(cmark_parser *parser) { } finalize(parser, parser->root); + + // Limit total size of extra content created from reference links to + // document size to avoid superlinear growth. Always allow 100KB. + if (parser->total_size > 100000) + parser->refmap->max_ref_size = parser->total_size; + else + parser->refmap->max_ref_size = 100000; + process_inlines(parser, parser->refmap, parser->options); if (parser->options & CMARK_OPT_FOOTNOTES) process_footnotes(parser); @@ -698,6 +715,11 @@ static void S_parser_feed(cmark_parser *parser, const unsigned char *buffer, const unsigned char *end = buffer + len; static const uint8_t repl[] = {239, 191, 189}; + if (len > UINT_MAX - parser->total_size) + parser->total_size = UINT_MAX; + else + parser->total_size += len; + if (parser->last_buffer_ended_with_cr && *buffer == '\n') { // skip NL if last buffer ended with CR ; see #117 buffer++; @@ -1105,10 +1127,11 @@ static void open_new_blocks(cmark_parser *parser, cmark_node **container, bool has_content; int save_offset; int save_column; + size_t depth = 0; while (cont_type != CMARK_NODE_CODE_BLOCK && cont_type != CMARK_NODE_HTML_BLOCK) { - + depth++; S_find_first_nonspace(parser, input); indented = parser->indent >= CODE_INDENT; @@ -1194,15 +1217,17 @@ static void open_new_blocks(cmark_parser *parser, cmark_node **container, parser->first_nonspace + 1); S_advance_offset(parser, input, input->len - 1 - parser->offset, false); } else if (!indented && - parser->options & CMARK_OPT_FOOTNOTES && + (parser->options & CMARK_OPT_FOOTNOTES) && + depth < MAX_LIST_DEPTH && (matched = scan_footnote_definition(input, parser->first_nonspace))) { cmark_chunk c = cmark_chunk_dup(input, parser->first_nonspace + 2, matched - 2); - cmark_chunk_to_cstr(parser->mem, &c); while (c.data[c.len - 1] != ']') --c.len; --c.len; + cmark_chunk_to_cstr(parser->mem, &c); + S_advance_offset(parser, input, parser->first_nonspace + matched - parser->offset, false); *container = add_child(parser, *container, CMARK_NODE_FOOTNOTE_DEFINITION, parser->first_nonspace + matched + 1); (*container)->as.literal = c; @@ -1210,6 +1235,7 @@ static void open_new_blocks(cmark_parser *parser, cmark_node **container, (*container)->internal_offset = matched; } else if ((!indented || cont_type == CMARK_NODE_LIST) && parser->indent < 4 && + depth < MAX_LIST_DEPTH && (matched = parse_list_marker( parser->mem, input, parser->first_nonspace, (*container)->type == CMARK_NODE_PARAGRAPH, &data))) { diff --git a/lib/commonmarker/src/cmark-gfm-extension_api.h b/lib/commonmarker/src/cmark-gfm-extension_api.h index 9403c4f0..bb92a59b 100644 --- a/lib/commonmarker/src/cmark-gfm-extension_api.h +++ b/lib/commonmarker/src/cmark-gfm-extension_api.h @@ -114,6 +114,7 @@ typedef struct delimiter { struct delimiter *previous; struct delimiter *next; cmark_node *inl_text; + bufsize_t position; bufsize_t length; unsigned char delim_char; int can_open; diff --git a/lib/commonmarker/src/cmark-gfm.h b/lib/commonmarker/src/cmark-gfm.h index 6fb28693..0544057a 100644 --- a/lib/commonmarker/src/cmark-gfm.h +++ b/lib/commonmarker/src/cmark-gfm.h @@ -111,13 +111,13 @@ typedef struct cmark_mem { * realloc and free. */ CMARK_GFM_EXPORT -cmark_mem *cmark_get_default_mem_allocator(); +cmark_mem *cmark_get_default_mem_allocator(void); /** An arena allocator; uses system calloc to allocate large * slabs of memory. Memory in these slabs is not reused at all. */ CMARK_GFM_EXPORT -cmark_mem *cmark_get_arena_mem_allocator(); +cmark_mem *cmark_get_arena_mem_allocator(void); /** Resets the arena allocator, quickly returning all used memory * to the operating system. @@ -225,6 +225,11 @@ CMARK_GFM_EXPORT cmark_node *cmark_node_first_child(cmark_node *node); */ CMARK_GFM_EXPORT cmark_node *cmark_node_last_child(cmark_node *node); +/** Returns the footnote reference of 'node', or NULL if 'node' doesn't have a + * footnote reference. + */ +CMARK_GFM_EXPORT cmark_node *cmark_node_parent_footnote_def(cmark_node *node); + /** * ## Iterator * @@ -408,6 +413,17 @@ CMARK_GFM_EXPORT int cmark_node_get_list_tight(cmark_node *node); */ CMARK_GFM_EXPORT int cmark_node_set_list_tight(cmark_node *node, int tight); +/** + * Returns item index of 'node'. This is only used when rendering output + * formats such as commonmark, which need to output the index. It is not + * required for formats such as html or latex. + */ +CMARK_GFM_EXPORT int cmark_node_get_item_index(cmark_node *node); + +/** Sets item index of 'node'. Returns 1 on success, 0 on failure. + */ +CMARK_GFM_EXPORT int cmark_node_set_item_index(cmark_node *node, int idx); + /** Returns the info string from a fenced code block. */ CMARK_GFM_EXPORT const char *cmark_node_get_fence_info(cmark_node *node); diff --git a/lib/commonmarker/src/cmark.c b/lib/commonmarker/src/cmark.c index b3fad4b0..68c40c47 100644 --- a/lib/commonmarker/src/cmark.c +++ b/lib/commonmarker/src/cmark.c @@ -10,9 +10,9 @@ cmark_node_type CMARK_NODE_LAST_BLOCK = CMARK_NODE_FOOTNOTE_DEFINITION; cmark_node_type CMARK_NODE_LAST_INLINE = CMARK_NODE_FOOTNOTE_REFERENCE; -int cmark_version() { return CMARK_GFM_VERSION; } +int cmark_version(void) { return CMARK_GFM_VERSION; } -const char *cmark_version_string() { return CMARK_GFM_VERSION_STRING; } +const char *cmark_version_string(void) { return CMARK_GFM_VERSION_STRING; } static void *xcalloc(size_t nmem, size_t size) { void *ptr = calloc(nmem, size); @@ -38,7 +38,7 @@ static void xfree(void *ptr) { cmark_mem CMARK_DEFAULT_MEM_ALLOCATOR = {xcalloc, xrealloc, xfree}; -cmark_mem *cmark_get_default_mem_allocator() { +cmark_mem *cmark_get_default_mem_allocator(void) { return &CMARK_DEFAULT_MEM_ALLOCATOR; } diff --git a/lib/commonmarker/src/commonmark.c b/lib/commonmarker/src/commonmark.c index f2148250..987b4731 100644 --- a/lib/commonmarker/src/commonmark.c +++ b/lib/commonmarker/src/commonmark.c @@ -153,23 +153,8 @@ static bool is_autolink(cmark_node *node) { link_text->as.literal.len) == 0); } -// if node is a block node, returns node. -// otherwise returns first block-level node that is an ancestor of node. -// if there is no block-level ancestor, returns NULL. -static cmark_node *get_containing_block(cmark_node *node) { - while (node) { - if (CMARK_NODE_BLOCK_P(node)) { - return node; - } else { - node = node->parent; - } - } - return NULL; -} - static int S_render_node(cmark_renderer *renderer, cmark_node *node, cmark_event_type ev_type, int options) { - cmark_node *tmp; int list_number; cmark_delim_type list_delim; int numticks; @@ -180,7 +165,7 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node, char fencechar[2] = {'\0', '\0'}; size_t info_len, code_len; char listmarker[LISTMARKER_SIZE]; - char *emph_delim; + const char *emph_delim; bool first_in_list_item; bufsize_t marker_width; bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options) && @@ -189,14 +174,17 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node, // Don't adjust tight list status til we've started the list. // Otherwise we loose the blank line between a paragraph and // a following list. - if (!(node->type == CMARK_NODE_ITEM && node->prev == NULL && entering)) { - tmp = get_containing_block(node); - renderer->in_tight_list_item = - tmp && // tmp might be NULL if there is no containing block - ((tmp->type == CMARK_NODE_ITEM && - cmark_node_get_list_tight(tmp->parent)) || - (tmp && tmp->parent && tmp->parent->type == CMARK_NODE_ITEM && - cmark_node_get_list_tight(tmp->parent->parent))); + if (entering) { + if (node->parent && node->parent->type == CMARK_NODE_ITEM) { + renderer->in_tight_list_item = node->parent->parent->as.list.tight; + } + } else { + if (node->type == CMARK_NODE_LIST) { + renderer->in_tight_list_item = + node->parent && + node->parent->type == CMARK_NODE_ITEM && + node->parent->parent->as.list.tight; + } } if (node->extension && node->extension->commonmark_render_func) { @@ -225,8 +213,7 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node, // this ensures that a following indented code block or list will be // inteprereted correctly. CR(); - // MBGJ: Do not output html in parser - //LIT(""); + LIT(""); BLANKLINE(); } break; @@ -235,13 +222,8 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node, if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) { marker_width = 4; } else { - list_number = cmark_node_get_list_start(node->parent); + list_number = cmark_node_get_item_index(node); list_delim = cmark_node_get_list_delim(node->parent); - tmp = node; - while (tmp->prev) { - tmp = tmp->prev; - list_number += 1; - } // we ensure a width of at least 4 so // we get nice transition from single digits // to double @@ -406,10 +388,12 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node, break; case CMARK_NODE_STRONG: - if (entering) { - LIT("**"); - } else { - LIT("**"); + if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) { + if (entering) { + LIT("**"); + } else { + LIT("**"); + } } break; diff --git a/lib/commonmarker/src/html.c b/lib/commonmarker/src/html.c index 12d3c3e9..22513c93 100644 --- a/lib/commonmarker/src/html.c +++ b/lib/commonmarker/src/html.c @@ -63,10 +63,16 @@ static bool S_put_footnote_backref(cmark_html_renderer *renderer, cmark_strbuf * if (renderer->written_footnote_ix >= renderer->footnote_ix) return false; renderer->written_footnote_ix = renderer->footnote_ix; + char m[32]; + snprintf(m, sizeof(m), "%d", renderer->written_footnote_ix); cmark_strbuf_puts(html, "as.literal.data, node->as.literal.len); - cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref aria-label=\"Back to content\">↩"); + cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref data-footnote-backref-idx=\""); + cmark_strbuf_puts(html, m); + cmark_strbuf_puts(html, "\" aria-label=\"Back to reference "); + cmark_strbuf_puts(html, m); + cmark_strbuf_puts(html, "\">↩"); if (node->footnote.def_count > 1) { @@ -78,7 +84,15 @@ static bool S_put_footnote_backref(cmark_html_renderer *renderer, cmark_strbuf * houdini_escape_href(html, node->as.literal.data, node->as.literal.len); cmark_strbuf_puts(html, "-"); cmark_strbuf_puts(html, n); - cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref aria-label=\"Back to content\">↩"); + cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref data-footnote-backref-idx=\""); + cmark_strbuf_puts(html, m); + cmark_strbuf_puts(html, "-"); + cmark_strbuf_puts(html, n); + cmark_strbuf_puts(html, "\" aria-label=\"Back to reference "); + cmark_strbuf_puts(html, m); + cmark_strbuf_puts(html, "-"); + cmark_strbuf_puts(html, n); + cmark_strbuf_puts(html, "\">↩"); cmark_strbuf_puts(html, n); cmark_strbuf_puts(html, ""); } @@ -350,10 +364,12 @@ static int S_render_node(cmark_html_renderer *renderer, cmark_node *node, break; case CMARK_NODE_STRONG: - if (entering) { - cmark_strbuf_puts(html, ""); - } else { - cmark_strbuf_puts(html, ""); + if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) { + if (entering) { + cmark_strbuf_puts(html, ""); + } else { + cmark_strbuf_puts(html, ""); + } } break; diff --git a/lib/commonmarker/src/inlines.c b/lib/commonmarker/src/inlines.c index 4a118a63..30f2c170 100644 --- a/lib/commonmarker/src/inlines.c +++ b/lib/commonmarker/src/inlines.c @@ -35,17 +35,24 @@ static const char *RIGHTSINGLEQUOTE = "\xE2\x80\x99"; typedef struct bracket { struct bracket *previous; - struct delimiter *previous_delimiter; cmark_node *inl_text; bufsize_t position; bool image; bool active; bool bracket_after; + bool in_bracket_image0; + bool in_bracket_image1; } bracket; +#define FLAG_SKIP_HTML_CDATA (1u << 0) +#define FLAG_SKIP_HTML_DECLARATION (1u << 1) +#define FLAG_SKIP_HTML_PI (1u << 2) +#define FLAG_SKIP_HTML_COMMENT (1u << 3) + typedef struct subject{ cmark_mem *mem; cmark_chunk input; + unsigned flags; int line; bufsize_t pos; int block_offset; @@ -55,6 +62,7 @@ typedef struct subject{ bracket *last_bracket; bufsize_t backticks[MAXBACKTICKS + 1]; bool scanned_for_backticks; + bool no_link_openers; } subject; // Extensions may populate this. @@ -109,6 +117,24 @@ static cmark_node *make_str_with_entities(subject *subj, } } +// Like cmark_node_append_child but without costly sanity checks. +// Assumes that child was newly created. +static void append_child(cmark_node *node, cmark_node *child) { + cmark_node *old_last_child = node->last_child; + + child->next = NULL; + child->prev = old_last_child; + child->parent = node; + node->last_child = child; + + if (old_last_child) { + old_last_child->next = child; + } else { + // Also set first_child if node previously had no children. + node->first_child = child; + } +} + // Duplicate a chunk by creating a copy of the buffer not by reusing the // buffer like cmark_chunk_dup does. static cmark_chunk chunk_clone(cmark_mem *mem, cmark_chunk *src) { @@ -152,7 +178,7 @@ static CMARK_INLINE cmark_node *make_autolink(subject *subj, link->start_line = link->end_line = subj->line; link->start_column = start_column + 1; link->end_column = end_column + 1; - cmark_node_append_child(link, make_str_with_entities(subj, start_column + 1, end_column - 1, &url)); + append_child(link, make_str_with_entities(subj, start_column + 1, end_column - 1, &url)); return link; } @@ -161,6 +187,7 @@ static void subject_from_buf(cmark_mem *mem, int line_number, int block_offset, int i; e->mem = mem; e->input = *chunk; + e->flags = 0; e->line = line_number; e->pos = 0; e->block_offset = block_offset; @@ -172,6 +199,7 @@ static void subject_from_buf(cmark_mem *mem, int line_number, int block_offset, e->backticks[i] = 0; } e->scanned_for_backticks = false; + e->no_link_openers = true; } static CMARK_INLINE int isbacktick(int c) { return (c == '`'); } @@ -503,6 +531,7 @@ static void push_delimiter(subject *subj, unsigned char c, bool can_open, delim->can_open = can_open; delim->can_close = can_close; delim->inl_text = inl_text; + delim->position = subj->pos; delim->length = inl_text->as.literal.len; delim->previous = subj->last_delim; delim->next = NULL; @@ -516,15 +545,24 @@ static void push_bracket(subject *subj, bool image, cmark_node *inl_text) { bracket *b = (bracket *)subj->mem->calloc(1, sizeof(bracket)); if (subj->last_bracket != NULL) { subj->last_bracket->bracket_after = true; + b->in_bracket_image0 = subj->last_bracket->in_bracket_image0; + b->in_bracket_image1 = subj->last_bracket->in_bracket_image1; } b->image = image; b->active = true; b->inl_text = inl_text; b->previous = subj->last_bracket; - b->previous_delimiter = subj->last_delim; b->position = subj->pos; b->bracket_after = false; + if (image) { + b->in_bracket_image1 = true; + } else { + b->in_bracket_image0 = true; + } subj->last_bracket = b; + if (!image) { + subj->no_link_openers = false; + } } // Assumes the subject has a c at the current position. @@ -631,12 +669,13 @@ static cmark_syntax_extension *get_extension_for_special_char(cmark_parser *pars return NULL; } -static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *stack_bottom) { - delimiter *closer = subj->last_delim; +static void process_emphasis(cmark_parser *parser, subject *subj, bufsize_t stack_bottom) { + delimiter *candidate; + delimiter *closer = NULL; delimiter *opener; delimiter *old_closer; bool opener_found; - delimiter *openers_bottom[3][128]; + bufsize_t openers_bottom[3][128]; int i; // initialize openers_bottom: @@ -649,8 +688,10 @@ static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *sta } // move back to first relevant delim. - while (closer != NULL && closer->previous != stack_bottom) { - closer = closer->previous; + candidate = subj->last_delim; + while (candidate != NULL && candidate->position >= stack_bottom) { + closer = candidate; + candidate = candidate->previous; } // now move forward, looking for closers, and handling each @@ -660,8 +701,8 @@ static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *sta // Now look backwards for first matching opener: opener = closer->previous; opener_found = false; - while (opener != NULL && opener != stack_bottom && - opener != openers_bottom[closer->length % 3][closer->delim_char]) { + while (opener != NULL && opener->position >= stack_bottom && + opener->position >= openers_bottom[closer->length % 3][closer->delim_char]) { if (opener->can_open && opener->delim_char == closer->delim_char) { // interior closer of size 2 can't match opener of size 1 // or of size 1 can't match 2 @@ -687,27 +728,29 @@ static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *sta } else { closer = closer->next; } - } else if (closer->delim_char == '\'') { + } else if (closer->delim_char == '\'' || closer->delim_char == '"') { cmark_chunk_free(subj->mem, &closer->inl_text->as.literal); - closer->inl_text->as.literal = cmark_chunk_literal(RIGHTSINGLEQUOTE); - if (opener_found) { - cmark_chunk_free(subj->mem, &opener->inl_text->as.literal); - opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE); + if (closer->delim_char == '\'') { + closer->inl_text->as.literal = cmark_chunk_literal(RIGHTSINGLEQUOTE); + } else { + closer->inl_text->as.literal = cmark_chunk_literal(RIGHTDOUBLEQUOTE); } closer = closer->next; - } else if (closer->delim_char == '"') { - cmark_chunk_free(subj->mem, &closer->inl_text->as.literal); - closer->inl_text->as.literal = cmark_chunk_literal(RIGHTDOUBLEQUOTE); if (opener_found) { cmark_chunk_free(subj->mem, &opener->inl_text->as.literal); - opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE); + if (old_closer->delim_char == '\'') { + opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE); + } else { + opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE); + } + remove_delimiter(subj, opener); + remove_delimiter(subj, old_closer); } - closer = closer->next; } if (!opener_found) { // set lower bound for future searches for openers openers_bottom[old_closer->length % 3][old_closer->delim_char] = - old_closer->previous; + old_closer->position; if (!old_closer->can_open) { // we can remove a closer that can't be an // opener, once we've seen there's no @@ -720,7 +763,8 @@ static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *sta } } // free all delimiters in list until stack_bottom: - while (subj->last_delim != NULL && subj->last_delim != stack_bottom) { + while (subj->last_delim != NULL && + subj->last_delim->position >= stack_bottom) { remove_delimiter(subj, subj->last_delim); } } @@ -759,7 +803,8 @@ static delimiter *S_insert_emph(subject *subj, delimiter *opener, tmp = opener_inl->next; while (tmp && tmp != closer_inl) { tmpnext = tmp->next; - cmark_node_append_child(emph, tmp); + cmark_node_unlink(tmp); + append_child(emph, tmp); tmp = tmpnext; } cmark_node_insert_after(opener_inl, emph); @@ -890,7 +935,63 @@ static cmark_node *handle_pointy_brace(subject *subj, int options) { } // finally, try to match an html tag - matchlen = scan_html_tag(&subj->input, subj->pos); + if (subj->pos + 2 <= subj->input.len) { + int c = subj->input.data[subj->pos]; + if (c == '!' && (subj->flags & FLAG_SKIP_HTML_COMMENT) == 0) { + c = subj->input.data[subj->pos+1]; + if (c == '-' && subj->input.data[subj->pos+2] == '-') { + if (subj->input.data[subj->pos+3] == '>') { + matchlen = 4; + } else if (subj->input.data[subj->pos+3] == '-' && + subj->input.data[subj->pos+4] == '>') { + matchlen = 5; + } else { + matchlen = scan_html_comment(&subj->input, subj->pos + 1); + if (matchlen > 0) { + matchlen += 1; // prefix "<" + } else { // no match through end of input: set a flag so + // we don't reparse looking for -->: + subj->flags |= FLAG_SKIP_HTML_COMMENT; + } + } + } else if (c == '[') { + if ((subj->flags & FLAG_SKIP_HTML_CDATA) == 0) { + matchlen = scan_html_cdata(&subj->input, subj->pos + 2); + if (matchlen > 0) { + // The regex doesn't require the final "]]>". But if we're not at + // the end of input, it must come after the match. Otherwise, + // disable subsequent scans to avoid quadratic behavior. + matchlen += 5; // prefix "![", suffix "]]>" + if (subj->pos + matchlen > subj->input.len) { + subj->flags |= FLAG_SKIP_HTML_CDATA; + matchlen = 0; + } + } + } + } else if ((subj->flags & FLAG_SKIP_HTML_DECLARATION) == 0) { + matchlen = scan_html_declaration(&subj->input, subj->pos + 1); + if (matchlen > 0) { + matchlen += 2; // prefix "!", suffix ">" + if (subj->pos + matchlen > subj->input.len) { + subj->flags |= FLAG_SKIP_HTML_DECLARATION; + matchlen = 0; + } + } + } + } else if (c == '?') { + if ((subj->flags & FLAG_SKIP_HTML_PI) == 0) { + // Note that we allow an empty match. + matchlen = scan_html_pi(&subj->input, subj->pos + 1); + matchlen += 3; // prefix "?", suffix "?>" + if (subj->pos + matchlen > subj->input.len) { + subj->flags |= FLAG_SKIP_HTML_PI; + matchlen = 0; + } + } + } else { + matchlen = scan_html_tag(&subj->input, subj->pos); + } + } if (matchlen > 0) { contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1); subj->pos += matchlen; @@ -1056,16 +1157,16 @@ static cmark_node *handle_close_bracket(cmark_parser *parser, subject *subj) { return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]")); } - if (!opener->active) { + // If we got here, we matched a potential link/image text. + // Now we check to see if it's a link/image. + is_image = opener->image; + + if (!is_image && subj->no_link_openers) { // take delimiter off stack pop_bracket(subj); return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]")); } - // If we got here, we matched a potential link/image text. - // Now we check to see if it's a link/image. - is_image = opener->image; - after_link_text_pos = subj->pos; // First, look for an inline link. @@ -1184,7 +1285,7 @@ static cmark_node *handle_close_bracket(cmark_parser *parser, subject *subj) { // being replacing the opening '[' text node with a `^footnote-ref]` node. cmark_node_insert_before(opener->inl_text, fnref); - process_emphasis(parser, subj, opener->previous_delimiter); + process_emphasis(parser, subj, opener->position); // sometimes, the footnote reference text gets parsed into multiple nodes // i.e. '[^example]' parsed into '[', '^exam', 'ple]'. // this happens for ex with the autolink extension. when the autolinker @@ -1229,31 +1330,22 @@ static cmark_node *handle_close_bracket(cmark_parser *parser, subject *subj) { tmp = opener->inl_text->next; while (tmp) { tmpnext = tmp->next; - cmark_node_append_child(inl, tmp); + cmark_node_unlink(tmp); + append_child(inl, tmp); tmp = tmpnext; } // Free the bracket [: cmark_node_free(opener->inl_text); - process_emphasis(parser, subj, opener->previous_delimiter); + process_emphasis(parser, subj, opener->position); pop_bracket(subj); - // Now, if we have a link, we also want to deactivate earlier link - // delimiters. (This code can be removed if we decide to allow links + // Now, if we have a link, we also want to deactivate links until + // we get a new opener. (This code can be removed if we decide to allow links // inside links.) if (!is_image) { - opener = subj->last_bracket; - while (opener != NULL) { - if (!opener->image) { - if (!opener->active) { - break; - } else { - opener->active = false; - } - } - opener = opener->previous; - } + subj->no_link_openers = true; } return NULL; @@ -1431,7 +1523,7 @@ static int parse_inline(cmark_parser *parser, subject *subj, cmark_node *parent, new_inl = make_str(subj, startpos, endpos - 1, contents); } if (new_inl != NULL) { - cmark_node_append_child(parent, new_inl); + append_child(parent, new_inl); } return 1; @@ -1450,7 +1542,7 @@ void cmark_parse_inlines(cmark_parser *parser, while (!is_eof(&subj) && parse_inline(parser, &subj, parent, options)) ; - process_emphasis(parser, &subj, NULL); + process_emphasis(parser, &subj, 0); // free bracket and delim stack while (subj.last_delim) { remove_delimiter(&subj, subj.last_delim); @@ -1662,10 +1754,15 @@ cmark_chunk *cmark_inline_parser_get_chunk(cmark_inline_parser *parser) { } int cmark_inline_parser_in_bracket(cmark_inline_parser *parser, int image) { - for (bracket *b = parser->last_bracket; b; b = b->previous) - if (b->active && b->image == (image != 0)) - return 1; - return 0; + bracket *b = parser->last_bracket; + if (!b) { + return 0; + } + if (image != 0) { + return b->in_bracket_image1; + } else { + return b->in_bracket_image0; + } } void cmark_node_unput(cmark_node *node, int n) { diff --git a/lib/commonmarker/src/latex.c b/lib/commonmarker/src/latex.c index 8be15b0d..1a6367a4 100644 --- a/lib/commonmarker/src/latex.c +++ b/lib/commonmarker/src/latex.c @@ -385,10 +385,12 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node, break; case CMARK_NODE_STRONG: - if (entering) { - LIT("\\textbf{"); - } else { - LIT("}"); + if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) { + if (entering) { + LIT("\\textbf{"); + } else { + LIT("}"); + } } break; diff --git a/lib/commonmarker/src/man.c b/lib/commonmarker/src/man.c index 441a96e4..634fd9d0 100644 --- a/lib/commonmarker/src/man.c +++ b/lib/commonmarker/src/man.c @@ -74,7 +74,6 @@ static void S_outc(cmark_renderer *renderer, cmark_node *node, static int S_render_node(cmark_renderer *renderer, cmark_node *node, cmark_event_type ev_type, int options) { - cmark_node *tmp; int list_number; bool entering = (ev_type == CMARK_EVENT_ENTER); bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options); @@ -123,12 +122,7 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node, if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) { LIT("\\[bu] 2"); } else { - list_number = cmark_node_get_list_start(node->parent); - tmp = node; - while (tmp->prev) { - tmp = tmp->prev; - list_number += 1; - } + list_number = cmark_node_get_item_index(node); char list_number_s[LIST_NUMBER_SIZE]; snprintf(list_number_s, LIST_NUMBER_SIZE, "\"%d.\" 4", list_number); LIT(list_number_s); @@ -225,10 +219,12 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node, break; case CMARK_NODE_STRONG: - if (entering) { - LIT("\\f[B]"); - } else { - LIT("\\f[]"); + if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) { + if (entering) { + LIT("\\f[B]"); + } else { + LIT("\\f[]"); + } } break; diff --git a/lib/commonmarker/src/map.c b/lib/commonmarker/src/map.c index 9a418dfd..f60f8fc6 100644 --- a/lib/commonmarker/src/map.c +++ b/lib/commonmarker/src/map.c @@ -51,7 +51,7 @@ refsearch(const void *label, const void *p2) { } static void sort_map(cmark_map *map) { - unsigned int i = 0, last = 0, size = map->size; + size_t i = 0, last = 0, size = map->size; cmark_map_entry *r = map->refs, **sorted = NULL; sorted = (cmark_map_entry **)map->mem->calloc(size, sizeof(cmark_map_entry *)); @@ -73,6 +73,7 @@ static void sort_map(cmark_map *map) { cmark_map_entry *cmark_map_lookup(cmark_map *map, cmark_chunk *label) { cmark_map_entry **ref = NULL; + cmark_map_entry *r = NULL; unsigned char *norm; if (label->len < 1 || label->len > MAX_LINK_LABEL_LENGTH) @@ -91,10 +92,15 @@ cmark_map_entry *cmark_map_lookup(cmark_map *map, cmark_chunk *label) { ref = (cmark_map_entry **)bsearch(norm, map->sorted, map->size, sizeof(cmark_map_entry *), refsearch); map->mem->free(norm); - if (!ref) - return NULL; + if (ref != NULL) { + r = ref[0]; + /* Check for expansion limit */ + if (r->size > map->max_ref_size - map->ref_size) + return NULL; + map->ref_size += r->size; + } - return ref[0]; + return r; } void cmark_map_free(cmark_map *map) { @@ -118,5 +124,6 @@ cmark_map *cmark_map_new(cmark_mem *mem, cmark_map_free_f free) { cmark_map *map = (cmark_map *)mem->calloc(1, sizeof(cmark_map)); map->mem = mem; map->free = free; + map->max_ref_size = UINT_MAX; return map; } diff --git a/lib/commonmarker/src/map.h b/lib/commonmarker/src/map.h index aa4c06e5..cc9b1f30 100644 --- a/lib/commonmarker/src/map.h +++ b/lib/commonmarker/src/map.h @@ -10,7 +10,8 @@ extern "C" { struct cmark_map_entry { struct cmark_map_entry *next; unsigned char *label; - unsigned int age; + size_t age; + size_t size; }; typedef struct cmark_map_entry cmark_map_entry; @@ -23,7 +24,9 @@ struct cmark_map { cmark_mem *mem; cmark_map_entry *refs; cmark_map_entry **sorted; - unsigned int size; + size_t size; + size_t ref_size; + size_t max_ref_size; cmark_map_free_f free; }; diff --git a/lib/commonmarker/src/node.c b/lib/commonmarker/src/node.c index 0118d651..e7a9606d 100644 --- a/lib/commonmarker/src/node.c +++ b/lib/commonmarker/src/node.c @@ -5,10 +5,42 @@ #include "node.h" #include "syntax_extension.h" +/** + * Expensive safety checks are off by default, but can be enabled + * by calling cmark_enable_safety_checks(). + */ +static bool enable_safety_checks = false; + +void cmark_enable_safety_checks(bool enable) { + enable_safety_checks = enable; +} + static void S_node_unlink(cmark_node *node); #define NODE_MEM(node) cmark_node_mem(node) +void cmark_register_node_flag(cmark_node_internal_flags *flags) { + static cmark_node_internal_flags nextflag = CMARK_NODE__REGISTER_FIRST; + + // flags should be a pointer to a global variable and this function + // should only be called once to initialize its value. + if (*flags) { + fprintf(stderr, "flag initialization error in cmark_register_node_flag\n"); + abort(); + } + + // Check that we haven't run out of bits. + if (nextflag == 0) { + fprintf(stderr, "too many flags in cmark_register_node_flag\n"); + abort(); + } + + *flags = nextflag; + nextflag <<= 1; +} + +void cmark_init_standard_node_flags(void) {} + bool cmark_node_can_contain_type(cmark_node *node, cmark_node_type child_type) { if (child_type == CMARK_NODE_DOCUMENT) { return false; @@ -48,8 +80,6 @@ bool cmark_node_can_contain_type(cmark_node *node, cmark_node_type child_type) { } static bool S_can_contain(cmark_node *node, cmark_node *child) { - cmark_node *cur; - if (node == NULL || child == NULL) { return false; } @@ -57,14 +87,16 @@ static bool S_can_contain(cmark_node *node, cmark_node *child) { return 0; } - // Verify that child is not an ancestor of node or equal to node. - cur = node; - do { - if (cur == child) { - return false; - } - cur = cur->parent; - } while (cur != NULL); + if (enable_safety_checks) { + // Verify that child is not an ancestor of node or equal to node. + cmark_node *cur = node; + do { + if (cur == child) { + return false; + } + cur = cur->parent; + } while (cur != NULL); + } return cmark_node_can_contain_type(node, (cmark_node_type) child->type); } @@ -301,6 +333,14 @@ cmark_node *cmark_node_last_child(cmark_node *node) { } } +cmark_node *cmark_node_parent_footnote_def(cmark_node *node) { + if (node == NULL) { + return NULL; + } else { + return node->parent_footnote_def; + } +} + void *cmark_node_get_user_data(cmark_node *node) { if (node == NULL) { return NULL; @@ -337,6 +377,7 @@ const char *cmark_node_get_literal(cmark_node *node) { case CMARK_NODE_HTML_INLINE: case CMARK_NODE_CODE: case CMARK_NODE_FOOTNOTE_REFERENCE: + case CMARK_NODE_FOOTNOTE_DEFINITION: return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.literal); case CMARK_NODE_CODE_BLOCK: @@ -524,6 +565,31 @@ int cmark_node_set_list_tight(cmark_node *node, int tight) { } } +int cmark_node_get_item_index(cmark_node *node) { + if (node == NULL) { + return 0; + } + + if (node->type == CMARK_NODE_ITEM) { + return node->as.list.start; + } else { + return 0; + } +} + +int cmark_node_set_item_index(cmark_node *node, int idx) { + if (node == NULL || idx < 0) { + return 0; + } + + if (node->type == CMARK_NODE_ITEM) { + node->as.list.start = idx; + return 1; + } else { + return 0; + } +} + const char *cmark_node_get_fence_info(cmark_node *node) { if (node == NULL) { return NULL; diff --git a/lib/commonmarker/src/node.h b/lib/commonmarker/src/node.h index b094c16e..73ca7605 100644 --- a/lib/commonmarker/src/node.h +++ b/lib/commonmarker/src/node.h @@ -52,8 +52,14 @@ enum cmark_node__internal_flags { CMARK_NODE__OPEN = (1 << 0), CMARK_NODE__LAST_LINE_BLANK = (1 << 1), CMARK_NODE__LAST_LINE_CHECKED = (1 << 2), + + // Extensions can register custom flags by calling `cmark_register_node_flag`. + // This is the starting value for the custom flags. + CMARK_NODE__REGISTER_FIRST = (1 << 3), }; +typedef uint16_t cmark_node_internal_flags; + struct cmark_node { cmark_strbuf content; @@ -72,10 +78,18 @@ struct cmark_node { int end_column; int internal_offset; uint16_t type; - uint16_t flags; + cmark_node_internal_flags flags; cmark_syntax_extension *extension; + /** + * Used during cmark_render() to cache the most recent non-NULL + * extension, if you go up the parent chain like this: + * + * node->parent->...parent->extension + */ + cmark_syntax_extension *ancestor_extension; + union { int ref_ix; int def_count; @@ -91,10 +105,31 @@ struct cmark_node { cmark_link link; cmark_custom custom; int html_block_type; + int cell_index; // For keeping track of TABLE_CELL table alignments void *opaque; } as; }; +/** + * Syntax extensions can use this function to register a custom node + * flag. The flags are stored in the `flags` field of the `cmark_node` + * struct. The `flags` parameter should be the address of a global variable + * which will store the flag value. + */ +CMARK_GFM_EXPORT +void cmark_register_node_flag(cmark_node_internal_flags *flags); + +/** + * DEPRECATED. + * + * This function was added in cmark-gfm version 0.29.0.gfm.7, and was + * required to be called at program start time, which caused + * backwards-compatibility issues in applications that use cmark-gfm as a + * library. It is now a no-op. + */ +CMARK_GFM_EXPORT +void cmark_init_standard_node_flags(void); + static CMARK_INLINE cmark_mem *cmark_node_mem(cmark_node *node) { return node->content.mem; } @@ -118,6 +153,13 @@ static CMARK_INLINE bool CMARK_NODE_INLINE_P(cmark_node *node) { CMARK_GFM_EXPORT bool cmark_node_can_contain_type(cmark_node *node, cmark_node_type child_type); +/** + * Enable (or disable) extra safety checks. These extra checks cause + * extra performance overhead (in some cases quadratic), so they are only + * intended to be used during testing. + */ +CMARK_GFM_EXPORT void cmark_enable_safety_checks(bool enable); + #ifdef __cplusplus } #endif diff --git a/lib/commonmarker/src/parser.h b/lib/commonmarker/src/parser.h index 245580b8..436c53f5 100644 --- a/lib/commonmarker/src/parser.h +++ b/lib/commonmarker/src/parser.h @@ -46,6 +46,7 @@ struct cmark_parser { /* Options set by the user, see the Options section in cmark.h */ int options; bool last_buffer_ended_with_cr; + size_t total_size; cmark_llist *syntax_extensions; cmark_llist *inline_syntax_extensions; cmark_ispunct_func backslash_ispunct; diff --git a/lib/commonmarker/src/plaintext.c b/lib/commonmarker/src/plaintext.c index b25e4a39..0c7d257b 100644 --- a/lib/commonmarker/src/plaintext.c +++ b/lib/commonmarker/src/plaintext.c @@ -16,23 +16,8 @@ static CMARK_INLINE void outc(cmark_renderer *renderer, cmark_node *node, cmark_render_code_point(renderer, c); } -// if node is a block node, returns node. -// otherwise returns first block-level node that is an ancestor of node. -// if there is no block-level ancestor, returns NULL. -static cmark_node *get_containing_block(cmark_node *node) { - while (node) { - if (CMARK_NODE_BLOCK_P(node)) { - return node; - } else { - node = node->parent; - } - } - return NULL; -} - static int S_render_node(cmark_renderer *renderer, cmark_node *node, cmark_event_type ev_type, int options) { - cmark_node *tmp; int list_number; cmark_delim_type list_delim; int i; @@ -46,14 +31,17 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node, // Don't adjust tight list status til we've started the list. // Otherwise we loose the blank line between a paragraph and // a following list. - if (!(node->type == CMARK_NODE_ITEM && node->prev == NULL && entering)) { - tmp = get_containing_block(node); - renderer->in_tight_list_item = - tmp && // tmp might be NULL if there is no containing block - ((tmp->type == CMARK_NODE_ITEM && - cmark_node_get_list_tight(tmp->parent)) || - (tmp && tmp->parent && tmp->parent->type == CMARK_NODE_ITEM && - cmark_node_get_list_tight(tmp->parent->parent))); + if (entering) { + if (node->parent && node->parent->type == CMARK_NODE_ITEM) { + renderer->in_tight_list_item = node->parent->parent->as.list.tight; + } + } else { + if (node->type == CMARK_NODE_LIST) { + renderer->in_tight_list_item = + node->parent && + node->parent->type == CMARK_NODE_ITEM && + node->parent->parent->as.list.tight; + } } if (node->extension && node->extension->plaintext_render_func) { @@ -79,13 +67,8 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node, if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) { marker_width = 4; } else { - list_number = cmark_node_get_list_start(node->parent); + list_number = cmark_node_get_item_index(node); list_delim = cmark_node_get_list_delim(node->parent); - tmp = node; - while (tmp->prev) { - tmp = tmp->prev; - list_number += 1; - } // we ensure a width of at least 4 so // we get nice transition from single digits // to double diff --git a/lib/commonmarker/src/references.c b/lib/commonmarker/src/references.c index 7e7f34b3..0c9d3995 100644 --- a/lib/commonmarker/src/references.c +++ b/lib/commonmarker/src/references.c @@ -32,6 +32,7 @@ void cmark_reference_create(cmark_map *map, cmark_chunk *label, ref->title = cmark_clean_title(map->mem, title); ref->entry.age = map->size; ref->entry.next = map->refs; + ref->entry.size = ref->url.len + ref->title.len; map->refs = (cmark_map_entry *)ref; map->size++; diff --git a/lib/commonmarker/src/render.c b/lib/commonmarker/src/render.c index 02e9e838..1a0d2ae8 100644 --- a/lib/commonmarker/src/render.c +++ b/lib/commonmarker/src/render.c @@ -31,13 +31,7 @@ static void S_out(cmark_renderer *renderer, cmark_node *node, cmark_chunk remainder = cmark_chunk_literal(""); int k = renderer->buffer->size - 1; - cmark_syntax_extension *ext = NULL; - cmark_node *n = node; - while (n && !ext) { - ext = n->extension; - if (!ext) - n = n->parent; - } + cmark_syntax_extension *ext = node->ancestor_extension; if (ext && !ext->commonmark_escape_func) ext = NULL; @@ -182,6 +176,20 @@ char *cmark_render(cmark_mem *mem, cmark_node *root, int options, int width, while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) { cur = cmark_iter_get_node(iter); + if (cur->extension) { + cur->ancestor_extension = cur->extension; + } else if (cur->parent) { + cur->ancestor_extension = cur->parent->ancestor_extension; + } + if (cur->type == CMARK_NODE_ITEM) { + // Calculate the list item's index, for the benefit of output formats + // like commonmark and plaintext. + if (cur->prev) { + cmark_node_set_item_index(cur, 1 + cmark_node_get_item_index(cur->prev)); + } else { + cmark_node_set_item_index(cur, cmark_node_get_list_start(cur->parent)); + } + } if (!render_node(&renderer, cur, ev_type, options)) { // a false value causes us to skip processing // the node's contents. this is used for diff --git a/lib/commonmarker/src/scanners.c b/lib/commonmarker/src/scanners.c index dfa6e5c1..19720601 100644 --- a/lib/commonmarker/src/scanners.c +++ b/lib/commonmarker/src/scanners.c @@ -1,10520 +1,14056 @@ -/* Generated by re2c 1.1.1 */ -#include -#include "chunk.h" +/* Generated by re2c 3.0 */ #include "scanners.h" +#include "chunk.h" +#include -bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset) -{ - bufsize_t res; - unsigned char *ptr = (unsigned char *)c->data; +bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, + bufsize_t offset) { + bufsize_t res; + unsigned char *ptr = (unsigned char *)c->data; - if (ptr == NULL || offset > c->len) { - return 0; - } else { - unsigned char lim = ptr[c->len]; + if (ptr == NULL || offset > c->len) { + return 0; + } else { + unsigned char lim = ptr[c->len]; - ptr[c->len] = '\0'; - res = scanner(ptr + offset); - ptr[c->len] = lim; - } + ptr[c->len] = '\0'; + res = scanner(ptr + offset); + ptr[c->len] = lim; + } - return res; + return res; } - - // Try to match a scheme including colon. -bufsize_t _scan_scheme(const unsigned char *p) -{ +bufsize_t _scan_scheme(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - yych = *p; - if (yych <= '@') goto yy2; - if (yych <= 'Z') goto yy4; - if (yych <= '`') goto yy2; - if (yych <= 'z') goto yy4; -yy2: - ++p; -yy3: - { return 0; } -yy4: - yych = *(marker = ++p); - if (yych <= '/') { - if (yych <= '+') { - if (yych <= '*') goto yy3; - } else { - if (yych <= ',') goto yy3; - if (yych >= '/') goto yy3; - } - } else { - if (yych <= 'Z') { - if (yych <= '9') goto yy5; - if (yych <= '@') goto yy3; - } else { - if (yych <= '`') goto yy3; - if (yych >= '{') goto yy3; - } - } -yy5: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy7; - } else { - if (yych != '/') goto yy7; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych >= 'A') goto yy7; - } else { - if (yych <= '`') goto yy6; - if (yych <= 'z') goto yy7; - } - } -yy6: - p = marker; - goto yy3; -yy7: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy10; - goto yy6; - } else { - if (yych == '/') goto yy6; - goto yy10; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - goto yy10; - } else { - if (yych <= '`') goto yy6; - if (yych <= 'z') goto yy10; - goto yy6; - } - } -yy8: - ++p; - { return (bufsize_t)(p - start); } -yy10: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych == ':') goto yy8; - goto yy6; -} - + { + unsigned char yych; + yych = *p; + if (yych <= '@') + goto yy1; + if (yych <= 'Z') + goto yy3; + if (yych <= '`') + goto yy1; + if (yych <= 'z') + goto yy3; + yy1: + ++p; + yy2 : { return 0; } + yy3: + yych = *(marker = ++p); + if (yych <= '/') { + if (yych <= '+') { + if (yych <= '*') + goto yy2; + } else { + if (yych <= ',') + goto yy2; + if (yych >= '/') + goto yy2; + } + } else { + if (yych <= 'Z') { + if (yych <= '9') + goto yy4; + if (yych <= '@') + goto yy2; + } else { + if (yych <= '`') + goto yy2; + if (yych >= '{') + goto yy2; + } + } + yy4: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy6; + } else { + if (yych != '/') + goto yy6; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych >= 'A') + goto yy6; + } else { + if (yych <= '`') + goto yy5; + if (yych <= 'z') + goto yy6; + } + } + yy5: + p = marker; + goto yy2; + yy6: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy8; + goto yy5; + } else { + if (yych == '/') + goto yy5; + goto yy8; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + goto yy8; + } else { + if (yych <= '`') + goto yy5; + if (yych <= 'z') + goto yy8; + goto yy5; + } + } + yy7: + ++p; + { return (bufsize_t)(p - start); } + yy8: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych == ':') + goto yy7; + goto yy5; + } } // Try to match URI autolink after first <, returning number of chars matched. -bufsize_t _scan_autolink_uri(const unsigned char *p) -{ +bufsize_t _scan_autolink_uri(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 0, 128, 0, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '@') goto yy41; - if (yych <= 'Z') goto yy43; - if (yych <= '`') goto yy41; - if (yych <= 'z') goto yy43; -yy41: - ++p; -yy42: - { return 0; } -yy43: - yych = *(marker = ++p); - if (yych <= '/') { - if (yych <= '+') { - if (yych <= '*') goto yy42; - } else { - if (yych <= ',') goto yy42; - if (yych >= '/') goto yy42; - } - } else { - if (yych <= 'Z') { - if (yych <= '9') goto yy44; - if (yych <= '@') goto yy42; - } else { - if (yych <= '`') goto yy42; - if (yych >= '{') goto yy42; - } - } -yy44: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy46; - } else { - if (yych != '/') goto yy46; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych >= 'A') goto yy46; - } else { - if (yych <= '`') goto yy45; - if (yych <= 'z') goto yy46; - } - } -yy45: - p = marker; - goto yy42; -yy46: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy49; - goto yy45; - } else { - if (yych == '/') goto yy45; - goto yy49; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - goto yy49; - } else { - if (yych <= '`') goto yy45; - if (yych <= 'z') goto yy49; - goto yy45; - } - } -yy47: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy47; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '<') goto yy45; - if (yych <= '>') goto yy50; - goto yy45; - } else { - if (yych <= 0xDF) goto yy52; - if (yych <= 0xE0) goto yy53; - goto yy54; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy55; - if (yych <= 0xEF) goto yy54; - goto yy56; - } else { - if (yych <= 0xF3) goto yy57; - if (yych <= 0xF4) goto yy58; - goto yy45; - } - } -yy49: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy59; - goto yy45; - } else { - if (yych == '/') goto yy45; - goto yy59; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - goto yy59; - } else { - if (yych <= '`') goto yy45; - if (yych <= 'z') goto yy59; - goto yy45; - } - } -yy50: - ++p; - { return (bufsize_t)(p - start); } -yy52: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0xBF) goto yy47; - goto yy45; -yy53: - yych = *++p; - if (yych <= 0x9F) goto yy45; - if (yych <= 0xBF) goto yy52; - goto yy45; -yy54: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0xBF) goto yy52; - goto yy45; -yy55: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0x9F) goto yy52; - goto yy45; -yy56: - yych = *++p; - if (yych <= 0x8F) goto yy45; - if (yych <= 0xBF) goto yy54; - goto yy45; -yy57: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0xBF) goto yy54; - goto yy45; -yy58: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0x8F) goto yy54; - goto yy45; -yy59: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych == ':') goto yy47; - goto yy45; + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 0, 128, 0, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= '@') + goto yy10; + if (yych <= 'Z') + goto yy12; + if (yych <= '`') + goto yy10; + if (yych <= 'z') + goto yy12; + yy10: + ++p; + yy11 : { return 0; } + yy12: + yych = *(marker = ++p); + if (yych <= '/') { + if (yych <= '+') { + if (yych <= '*') + goto yy11; + } else { + if (yych <= ',') + goto yy11; + if (yych >= '/') + goto yy11; + } + } else { + if (yych <= 'Z') { + if (yych <= '9') + goto yy13; + if (yych <= '@') + goto yy11; + } else { + if (yych <= '`') + goto yy11; + if (yych >= '{') + goto yy11; + } + } + yy13: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy15; + } else { + if (yych != '/') + goto yy15; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych >= 'A') + goto yy15; + } else { + if (yych <= '`') + goto yy14; + if (yych <= 'z') + goto yy15; + } + } + yy14: + p = marker; + goto yy11; + yy15: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy17; + goto yy14; + } else { + if (yych == '/') + goto yy14; + goto yy17; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + goto yy17; + } else { + if (yych <= '`') + goto yy14; + if (yych <= 'z') + goto yy17; + goto yy14; + } + } + yy16: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy16; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '<') + goto yy14; + if (yych <= '>') + goto yy18; + goto yy14; + } else { + if (yych <= 0xDF) + goto yy19; + if (yych <= 0xE0) + goto yy20; + goto yy21; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy22; + if (yych <= 0xEF) + goto yy21; + goto yy23; + } else { + if (yych <= 0xF3) + goto yy24; + if (yych <= 0xF4) + goto yy25; + goto yy14; + } + } + yy17: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy26; + goto yy14; + } else { + if (yych == '/') + goto yy14; + goto yy26; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + goto yy26; + } else { + if (yych <= '`') + goto yy14; + if (yych <= 'z') + goto yy26; + goto yy14; + } + } + yy18: + ++p; + { return (bufsize_t)(p - start); } + yy19: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0xBF) + goto yy16; + goto yy14; + yy20: + yych = *++p; + if (yych <= 0x9F) + goto yy14; + if (yych <= 0xBF) + goto yy19; + goto yy14; + yy21: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0xBF) + goto yy19; + goto yy14; + yy22: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0x9F) + goto yy19; + goto yy14; + yy23: + yych = *++p; + if (yych <= 0x8F) + goto yy14; + if (yych <= 0xBF) + goto yy21; + goto yy14; + yy24: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0xBF) + goto yy21; + goto yy14; + yy25: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0x8F) + goto yy21; + goto yy14; + yy26: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych == ':') + goto yy16; + goto yy14; + } } +// Try to match email autolink after first <, returning num of chars matched. +bufsize_t _scan_autolink_email(const unsigned char *p) { + const unsigned char *marker = NULL; + const unsigned char *start = p; + + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, 0, 128, 128, 128, 128, 128, 0, 0, + 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 128, 0, 128, 0, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= '9') { + if (yych <= '\'') { + if (yych == '!') + goto yy30; + if (yych >= '#') + goto yy30; + } else { + if (yych <= ')') + goto yy28; + if (yych != ',') + goto yy30; + } + } else { + if (yych <= '?') { + if (yych == '=') + goto yy30; + if (yych >= '?') + goto yy30; + } else { + if (yych <= 'Z') { + if (yych >= 'A') + goto yy30; + } else { + if (yych <= ']') + goto yy28; + if (yych <= '~') + goto yy30; + } + } + } + yy28: + ++p; + yy29 : { return 0; } + yy30: + yych = *(marker = ++p); + if (yych <= ',') { + if (yych <= '"') { + if (yych == '!') + goto yy32; + goto yy29; + } else { + if (yych <= '\'') + goto yy32; + if (yych <= ')') + goto yy29; + if (yych <= '+') + goto yy32; + goto yy29; + } + } else { + if (yych <= '>') { + if (yych <= '9') + goto yy32; + if (yych == '=') + goto yy32; + goto yy29; + } else { + if (yych <= 'Z') + goto yy32; + if (yych <= ']') + goto yy29; + if (yych <= '~') + goto yy32; + goto yy29; + } + } + yy31: + yych = *++p; + yy32: + if (yybm[0 + yych] & 128) { + goto yy31; + } + if (yych <= '>') + goto yy33; + if (yych <= '@') + goto yy34; + yy33: + p = marker; + goto yy29; + yy34: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy33; + if (yych >= ':') + goto yy33; + } else { + if (yych <= 'Z') + goto yy35; + if (yych <= '`') + goto yy33; + if (yych >= '{') + goto yy33; + } + yy35: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy36; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy36; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy36; + goto yy33; + } + } + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy38; + if (yych <= '/') + goto yy33; + goto yy39; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy39; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy39; + goto yy33; + } + } + yy36: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych <= '-') + goto yy38; + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy39; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy39; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy39; + goto yy33; + } + } + yy37: + ++p; + { return (bufsize_t)(p - start); } + yy38: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy40; + if (yych <= '/') + goto yy33; + goto yy41; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy41; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy41; + goto yy33; + } + } + yy39: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy41; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy41; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy41; + goto yy33; + } + } + yy40: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy42; + if (yych <= '/') + goto yy33; + goto yy43; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy43; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy43; + goto yy33; + } + } + yy41: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy43; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy43; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy43; + goto yy33; + } + } + yy42: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy44; + if (yych <= '/') + goto yy33; + goto yy45; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy45; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy45; + goto yy33; + } + } + yy43: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy45; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy45; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy45; + goto yy33; + } + } + yy44: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy46; + if (yych <= '/') + goto yy33; + goto yy47; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy47; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy47; + goto yy33; + } + } + yy45: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy47; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy47; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy47; + goto yy33; + } + } + yy46: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy48; + if (yych <= '/') + goto yy33; + goto yy49; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy49; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy49; + goto yy33; + } + } + yy47: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy49; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy49; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy49; + goto yy33; + } + } + yy48: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy50; + if (yych <= '/') + goto yy33; + goto yy51; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy51; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy51; + goto yy33; + } + } + yy49: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy51; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy51; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy51; + goto yy33; + } + } + yy50: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy52; + if (yych <= '/') + goto yy33; + goto yy53; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy53; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy53; + goto yy33; + } + } + yy51: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy53; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy53; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy53; + goto yy33; + } + } + yy52: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy54; + if (yych <= '/') + goto yy33; + goto yy55; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy55; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy55; + goto yy33; + } + } + yy53: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy55; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy55; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy55; + goto yy33; + } + } + yy54: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy56; + if (yych <= '/') + goto yy33; + goto yy57; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy57; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy57; + goto yy33; + } + } + yy55: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy57; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy57; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy57; + goto yy33; + } + } + yy56: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy58; + if (yych <= '/') + goto yy33; + goto yy59; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy59; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy59; + goto yy33; + } + } + yy57: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy59; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy59; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy59; + goto yy33; + } + } + yy58: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy60; + if (yych <= '/') + goto yy33; + goto yy61; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy61; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy61; + goto yy33; + } + } + yy59: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy61; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy61; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy61; + goto yy33; + } + } + yy60: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy62; + if (yych <= '/') + goto yy33; + goto yy63; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy63; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy63; + goto yy33; + } + } + yy61: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy63; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy63; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy63; + goto yy33; + } + } + yy62: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy64; + if (yych <= '/') + goto yy33; + goto yy65; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy65; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy65; + goto yy33; + } + } + yy63: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy65; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy65; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy65; + goto yy33; + } + } + yy64: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy66; + if (yych <= '/') + goto yy33; + goto yy67; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy67; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy67; + goto yy33; + } + } + yy65: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy67; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy67; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy67; + goto yy33; + } + } + yy66: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy68; + if (yych <= '/') + goto yy33; + goto yy69; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy69; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy69; + goto yy33; + } + } + yy67: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy69; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy69; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy69; + goto yy33; + } + } + yy68: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy70; + if (yych <= '/') + goto yy33; + goto yy71; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy71; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy71; + goto yy33; + } + } + yy69: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy71; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy71; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy71; + goto yy33; + } + } + yy70: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy72; + if (yych <= '/') + goto yy33; + goto yy73; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy73; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy73; + goto yy33; + } + } + yy71: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy73; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy73; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy73; + goto yy33; + } + } + yy72: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy74; + if (yych <= '/') + goto yy33; + goto yy75; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy75; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy75; + goto yy33; + } + } + yy73: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy75; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy75; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy75; + goto yy33; + } + } + yy74: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy76; + if (yych <= '/') + goto yy33; + goto yy77; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy77; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy77; + goto yy33; + } + } + yy75: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy77; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy77; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy77; + goto yy33; + } + } + yy76: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy78; + if (yych <= '/') + goto yy33; + goto yy79; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy79; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy79; + goto yy33; + } + } + yy77: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy79; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy79; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy79; + goto yy33; + } + } + yy78: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy80; + if (yych <= '/') + goto yy33; + goto yy81; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy81; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy81; + goto yy33; + } + } + yy79: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy81; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy81; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy81; + goto yy33; + } + } + yy80: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy82; + if (yych <= '/') + goto yy33; + goto yy83; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy83; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy83; + goto yy33; + } + } + yy81: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy83; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy83; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy83; + goto yy33; + } + } + yy82: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy84; + if (yych <= '/') + goto yy33; + goto yy85; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy85; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy85; + goto yy33; + } + } + yy83: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy85; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy85; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy85; + goto yy33; + } + } + yy84: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy86; + if (yych <= '/') + goto yy33; + goto yy87; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy87; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy87; + goto yy33; + } + } + yy85: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy87; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy87; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy87; + goto yy33; + } + } + yy86: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy88; + if (yych <= '/') + goto yy33; + goto yy89; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy89; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy89; + goto yy33; + } + } + yy87: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy89; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy89; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy89; + goto yy33; + } + } + yy88: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy90; + if (yych <= '/') + goto yy33; + goto yy91; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy91; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy91; + goto yy33; + } + } + yy89: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy91; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy91; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy91; + goto yy33; + } + } + yy90: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy92; + if (yych <= '/') + goto yy33; + goto yy93; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy93; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy93; + goto yy33; + } + } + yy91: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy93; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy93; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy93; + goto yy33; + } + } + yy92: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy94; + if (yych <= '/') + goto yy33; + goto yy95; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy95; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy95; + goto yy33; + } + } + yy93: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy95; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy95; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy95; + goto yy33; + } + } + yy94: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy96; + if (yych <= '/') + goto yy33; + goto yy97; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy97; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy97; + goto yy33; + } + } + yy95: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy97; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy97; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy97; + goto yy33; + } + } + yy96: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy98; + if (yych <= '/') + goto yy33; + goto yy99; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy99; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy99; + goto yy33; + } + } + yy97: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy99; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy99; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy99; + goto yy33; + } + } + yy98: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy100; + if (yych <= '/') + goto yy33; + goto yy101; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy101; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy101; + goto yy33; + } + } + yy99: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy101; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy101; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy101; + goto yy33; + } + } + yy100: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy102; + if (yych <= '/') + goto yy33; + goto yy103; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy103; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy103; + goto yy33; + } + } + yy101: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy103; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy103; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy103; + goto yy33; + } + } + yy102: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy104; + if (yych <= '/') + goto yy33; + goto yy105; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy105; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy105; + goto yy33; + } + } + yy103: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy105; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy105; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy105; + goto yy33; + } + } + yy104: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy106; + if (yych <= '/') + goto yy33; + goto yy107; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy107; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy107; + goto yy33; + } + } + yy105: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy107; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy107; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy107; + goto yy33; + } + } + yy106: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy108; + if (yych <= '/') + goto yy33; + goto yy109; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy109; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy109; + goto yy33; + } + } + yy107: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy109; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy109; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy109; + goto yy33; + } + } + yy108: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy110; + if (yych <= '/') + goto yy33; + goto yy111; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy111; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy111; + goto yy33; + } + } + yy109: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy111; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy111; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy111; + goto yy33; + } + } + yy110: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy112; + if (yych <= '/') + goto yy33; + goto yy113; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy113; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy113; + goto yy33; + } + } + yy111: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy113; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy113; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy113; + goto yy33; + } + } + yy112: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy114; + if (yych <= '/') + goto yy33; + goto yy115; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy115; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy115; + goto yy33; + } + } + yy113: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy115; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy115; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy115; + goto yy33; + } + } + yy114: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy116; + if (yych <= '/') + goto yy33; + goto yy117; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy117; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy117; + goto yy33; + } + } + yy115: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy117; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy117; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy117; + goto yy33; + } + } + yy116: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy118; + if (yych <= '/') + goto yy33; + goto yy119; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy119; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy119; + goto yy33; + } + } + yy117: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy119; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy119; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy119; + goto yy33; + } + } + yy118: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy120; + if (yych <= '/') + goto yy33; + goto yy121; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy121; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy121; + goto yy33; + } + } + yy119: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy121; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy121; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy121; + goto yy33; + } + } + yy120: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy122; + if (yych <= '/') + goto yy33; + goto yy123; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy123; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy123; + goto yy33; + } + } + yy121: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy123; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy123; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy123; + goto yy33; + } + } + yy122: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy124; + if (yych <= '/') + goto yy33; + goto yy125; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy125; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy125; + goto yy33; + } + } + yy123: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy125; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy125; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy125; + goto yy33; + } + } + yy124: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy126; + if (yych <= '/') + goto yy33; + goto yy127; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy127; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy127; + goto yy33; + } + } + yy125: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy127; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy127; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy127; + goto yy33; + } + } + yy126: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy128; + if (yych <= '/') + goto yy33; + goto yy129; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy129; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy129; + goto yy33; + } + } + yy127: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy129; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy129; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy129; + goto yy33; + } + } + yy128: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy130; + if (yych <= '/') + goto yy33; + goto yy131; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy131; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy131; + goto yy33; + } + } + yy129: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy131; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy131; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy131; + goto yy33; + } + } + yy130: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy132; + if (yych <= '/') + goto yy33; + goto yy133; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy133; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy133; + goto yy33; + } + } + yy131: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy133; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy133; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy133; + goto yy33; + } + } + yy132: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy134; + if (yych <= '/') + goto yy33; + goto yy135; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy135; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy135; + goto yy33; + } + } + yy133: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy135; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy135; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy135; + goto yy33; + } + } + yy134: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy136; + if (yych <= '/') + goto yy33; + goto yy137; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy137; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy137; + goto yy33; + } + } + yy135: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy137; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy137; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy137; + goto yy33; + } + } + yy136: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy138; + if (yych <= '/') + goto yy33; + goto yy139; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy139; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy139; + goto yy33; + } + } + yy137: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy139; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy139; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy139; + goto yy33; + } + } + yy138: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy140; + if (yych <= '/') + goto yy33; + goto yy141; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy141; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy141; + goto yy33; + } + } + yy139: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy141; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy141; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy141; + goto yy33; + } + } + yy140: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy142; + if (yych <= '/') + goto yy33; + goto yy143; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy143; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy143; + goto yy33; + } + } + yy141: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy143; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy143; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy143; + goto yy33; + } + } + yy142: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy144; + if (yych <= '/') + goto yy33; + goto yy145; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy145; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy145; + goto yy33; + } + } + yy143: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy145; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy145; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy145; + goto yy33; + } + } + yy144: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy146; + if (yych <= '/') + goto yy33; + goto yy147; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy147; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy147; + goto yy33; + } + } + yy145: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy147; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy147; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy147; + goto yy33; + } + } + yy146: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy148; + if (yych <= '/') + goto yy33; + goto yy149; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy149; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy149; + goto yy33; + } + } + yy147: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy149; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy149; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy149; + goto yy33; + } + } + yy148: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy150; + if (yych <= '/') + goto yy33; + goto yy151; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy151; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy151; + goto yy33; + } + } + yy149: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy151; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy151; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy151; + goto yy33; + } + } + yy150: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy152; + if (yych <= '/') + goto yy33; + goto yy153; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy153; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy153; + goto yy33; + } + } + yy151: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy153; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy153; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy153; + goto yy33; + } + } + yy152: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy154; + if (yych <= '/') + goto yy33; + goto yy155; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy155; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy155; + goto yy33; + } + } + yy153: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy155; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy155; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy155; + goto yy33; + } + } + yy154: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy156; + if (yych <= '/') + goto yy33; + goto yy157; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy157; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy157; + goto yy33; + } + } + yy155: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy157; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy157; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy157; + goto yy33; + } + } + yy156: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy158; + goto yy33; + } else { + if (yych <= 'Z') + goto yy158; + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy158; + goto yy33; + } + yy157: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= '-') + goto yy33; + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych >= ':') + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + } else { + if (yych <= '`') + goto yy33; + if (yych >= '{') + goto yy33; + } + } + yy158: + yych = *++p; + if (yych == '.') + goto yy34; + if (yych == '>') + goto yy37; + goto yy33; + } } -// Try to match email autolink after first <, returning num of chars matched. -bufsize_t _scan_autolink_email(const unsigned char *p) -{ +// Try to match an HTML tag after first <, returning num of chars matched. +bufsize_t _scan_html_tag(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 128, 128, 128, 128, 128, - 0, 0, 128, 128, 0, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 128, 0, 128, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 0, 0, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '9') { - if (yych <= '\'') { - if (yych == '!') goto yy91; - if (yych >= '#') goto yy91; - } else { - if (yych <= ')') goto yy89; - if (yych != ',') goto yy91; - } - } else { - if (yych <= '?') { - if (yych == '=') goto yy91; - if (yych >= '?') goto yy91; - } else { - if (yych <= 'Z') { - if (yych >= 'A') goto yy91; - } else { - if (yych <= ']') goto yy89; - if (yych <= '~') goto yy91; - } - } - } -yy89: - ++p; -yy90: - { return 0; } -yy91: - yych = *(marker = ++p); - if (yych <= ',') { - if (yych <= '"') { - if (yych == '!') goto yy93; - goto yy90; - } else { - if (yych <= '\'') goto yy93; - if (yych <= ')') goto yy90; - if (yych <= '+') goto yy93; - goto yy90; - } - } else { - if (yych <= '>') { - if (yych <= '9') goto yy93; - if (yych == '=') goto yy93; - goto yy90; - } else { - if (yych <= 'Z') goto yy93; - if (yych <= ']') goto yy90; - if (yych <= '~') goto yy93; - goto yy90; - } - } -yy92: - yych = *++p; -yy93: - if (yybm[0+yych] & 128) { - goto yy92; - } - if (yych <= '>') goto yy94; - if (yych <= '@') goto yy95; -yy94: - p = marker; - goto yy90; -yy95: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy94; - if (yych >= ':') goto yy94; - } else { - if (yych <= 'Z') goto yy96; - if (yych <= '`') goto yy94; - if (yych >= '{') goto yy94; - } -yy96: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy98; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy98; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy98; - goto yy94; - } - } - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy101; - if (yych <= '/') goto yy94; - goto yy102; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy102; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy102; - goto yy94; - } - } -yy98: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych <= '-') goto yy101; - goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy102; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy102; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy102; - goto yy94; - } - } -yy99: - ++p; - { return (bufsize_t)(p - start); } -yy101: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy103; - if (yych <= '/') goto yy94; - goto yy104; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy104; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy104; - goto yy94; - } - } -yy102: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy104; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy104; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy104; - goto yy94; - } - } -yy103: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy105; - if (yych <= '/') goto yy94; - goto yy106; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy106; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy106; - goto yy94; - } - } -yy104: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy106; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy106; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy106; - goto yy94; - } - } -yy105: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy107; - if (yych <= '/') goto yy94; - goto yy108; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy108; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy108; - goto yy94; - } - } -yy106: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy108; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy108; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy108; - goto yy94; - } - } -yy107: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy109; - if (yych <= '/') goto yy94; - goto yy110; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy110; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy110; - goto yy94; - } - } -yy108: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy110; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy110; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy110; - goto yy94; - } - } -yy109: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy111; - if (yych <= '/') goto yy94; - goto yy112; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy112; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy112; - goto yy94; - } - } -yy110: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy112; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy112; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy112; - goto yy94; - } - } -yy111: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy113; - if (yych <= '/') goto yy94; - goto yy114; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy114; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy114; - goto yy94; - } - } -yy112: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy114; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy114; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy114; - goto yy94; - } - } -yy113: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy115; - if (yych <= '/') goto yy94; - goto yy116; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy116; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy116; - goto yy94; - } - } -yy114: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy116; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy116; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy116; - goto yy94; - } - } -yy115: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy117; - if (yych <= '/') goto yy94; - goto yy118; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy118; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy118; - goto yy94; - } - } -yy116: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy118; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy118; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy118; - goto yy94; - } - } -yy117: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy119; - if (yych <= '/') goto yy94; - goto yy120; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy120; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy120; - goto yy94; - } - } -yy118: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy120; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy120; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy120; - goto yy94; - } - } -yy119: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy121; - if (yych <= '/') goto yy94; - goto yy122; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy122; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy122; - goto yy94; - } - } -yy120: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy122; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy122; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy122; - goto yy94; - } - } -yy121: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy123; - if (yych <= '/') goto yy94; - goto yy124; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy124; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy124; - goto yy94; - } - } -yy122: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy124; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy124; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy124; - goto yy94; - } - } -yy123: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy125; - if (yych <= '/') goto yy94; - goto yy126; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy126; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy126; - goto yy94; - } - } -yy124: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy126; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy126; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy126; - goto yy94; - } - } -yy125: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy127; - if (yych <= '/') goto yy94; - goto yy128; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy128; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy128; - goto yy94; - } - } -yy126: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy128; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy128; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy128; - goto yy94; - } - } -yy127: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy129; - if (yych <= '/') goto yy94; - goto yy130; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy130; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy130; - goto yy94; - } - } -yy128: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy130; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy130; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy130; - goto yy94; - } - } -yy129: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy131; - if (yych <= '/') goto yy94; - goto yy132; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy132; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy132; - goto yy94; - } - } -yy130: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy132; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy132; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy132; - goto yy94; - } - } -yy131: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy133; - if (yych <= '/') goto yy94; - goto yy134; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy134; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy134; - goto yy94; - } - } -yy132: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy134; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy134; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy134; - goto yy94; - } - } -yy133: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy135; - if (yych <= '/') goto yy94; - goto yy136; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy136; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy136; - goto yy94; - } - } -yy134: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy136; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy136; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy136; - goto yy94; - } - } -yy135: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy137; - if (yych <= '/') goto yy94; - goto yy138; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy138; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy138; - goto yy94; - } - } -yy136: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy138; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy138; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy138; - goto yy94; - } - } -yy137: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy139; - if (yych <= '/') goto yy94; - goto yy140; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy140; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy140; - goto yy94; - } - } -yy138: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy140; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy140; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy140; - goto yy94; - } - } -yy139: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy141; - if (yych <= '/') goto yy94; - goto yy142; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy142; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy142; - goto yy94; - } - } -yy140: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy142; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy142; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy142; - goto yy94; - } - } -yy141: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy143; - if (yych <= '/') goto yy94; - goto yy144; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy144; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy144; - goto yy94; - } - } -yy142: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy144; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy144; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy144; - goto yy94; - } - } -yy143: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy145; - if (yych <= '/') goto yy94; - goto yy146; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy146; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy146; - goto yy94; - } - } -yy144: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy146; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy146; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy146; - goto yy94; - } - } -yy145: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy147; - if (yych <= '/') goto yy94; - goto yy148; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy148; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy148; - goto yy94; - } - } -yy146: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy148; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy148; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy148; - goto yy94; - } - } -yy147: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy149; - if (yych <= '/') goto yy94; - goto yy150; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy150; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy150; - goto yy94; - } - } -yy148: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy150; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy150; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy150; - goto yy94; - } - } -yy149: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy151; - if (yych <= '/') goto yy94; - goto yy152; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy152; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy152; - goto yy94; - } - } -yy150: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy152; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy152; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy152; - goto yy94; - } - } -yy151: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy153; - if (yych <= '/') goto yy94; - goto yy154; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy154; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy154; - goto yy94; - } - } -yy152: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy154; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy154; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy154; - goto yy94; - } - } -yy153: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy155; - if (yych <= '/') goto yy94; - goto yy156; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy156; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy156; - goto yy94; - } - } -yy154: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy156; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy156; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy156; - goto yy94; - } - } -yy155: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy157; - if (yych <= '/') goto yy94; - goto yy158; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy158; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy158; - goto yy94; - } - } -yy156: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy158; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy158; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy158; - goto yy94; - } - } -yy157: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy159; - if (yych <= '/') goto yy94; - goto yy160; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy160; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy160; - goto yy94; - } - } -yy158: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy160; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy160; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy160; - goto yy94; - } - } -yy159: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy161; - if (yych <= '/') goto yy94; - goto yy162; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy162; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy162; - goto yy94; - } - } -yy160: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy162; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy162; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy162; - goto yy94; - } - } -yy161: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy163; - if (yych <= '/') goto yy94; - goto yy164; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy164; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy164; - goto yy94; - } - } -yy162: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy164; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy164; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy164; - goto yy94; - } - } -yy163: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy165; - if (yych <= '/') goto yy94; - goto yy166; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy166; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy166; - goto yy94; - } - } -yy164: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy166; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy166; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy166; - goto yy94; - } - } -yy165: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy167; - if (yych <= '/') goto yy94; - goto yy168; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy168; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy168; - goto yy94; - } - } -yy166: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy168; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy168; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy168; - goto yy94; - } - } -yy167: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy169; - if (yych <= '/') goto yy94; - goto yy170; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy170; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy170; - goto yy94; - } - } -yy168: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy170; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy170; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy170; - goto yy94; - } - } -yy169: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy171; - if (yych <= '/') goto yy94; - goto yy172; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy172; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy172; - goto yy94; - } - } -yy170: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy172; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy172; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy172; - goto yy94; - } - } -yy171: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy173; - if (yych <= '/') goto yy94; - goto yy174; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy174; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy174; - goto yy94; - } - } -yy172: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy174; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy174; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy174; - goto yy94; - } - } -yy173: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy175; - if (yych <= '/') goto yy94; - goto yy176; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy176; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy176; - goto yy94; - } - } -yy174: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy176; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy176; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy176; - goto yy94; - } - } -yy175: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy177; - if (yych <= '/') goto yy94; - goto yy178; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy178; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy178; - goto yy94; - } - } -yy176: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy178; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy178; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy178; - goto yy94; - } - } -yy177: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy179; - if (yych <= '/') goto yy94; - goto yy180; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy180; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy180; - goto yy94; - } - } -yy178: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy180; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy180; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy180; - goto yy94; - } - } -yy179: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy181; - if (yych <= '/') goto yy94; - goto yy182; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy182; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy182; - goto yy94; - } - } -yy180: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy182; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy182; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy182; - goto yy94; - } - } -yy181: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy183; - if (yych <= '/') goto yy94; - goto yy184; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy184; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy184; - goto yy94; - } - } -yy182: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy184; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy184; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy184; - goto yy94; - } - } -yy183: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy185; - if (yych <= '/') goto yy94; - goto yy186; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy186; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy186; - goto yy94; - } - } -yy184: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy186; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy186; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy186; - goto yy94; - } - } -yy185: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy187; - if (yych <= '/') goto yy94; - goto yy188; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy188; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy188; - goto yy94; - } - } -yy186: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy188; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy188; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy188; - goto yy94; - } - } -yy187: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy189; - if (yych <= '/') goto yy94; - goto yy190; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy190; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy190; - goto yy94; - } - } -yy188: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy190; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy190; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy190; - goto yy94; - } - } -yy189: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy191; - if (yych <= '/') goto yy94; - goto yy192; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy192; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy192; - goto yy94; - } - } -yy190: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy192; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy192; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy192; - goto yy94; - } - } -yy191: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy193; - if (yych <= '/') goto yy94; - goto yy194; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy194; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy194; - goto yy94; - } - } -yy192: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy194; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy194; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy194; - goto yy94; - } - } -yy193: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy195; - if (yych <= '/') goto yy94; - goto yy196; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy196; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy196; - goto yy94; - } - } -yy194: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy196; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy196; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy196; - goto yy94; - } - } -yy195: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy197; - if (yych <= '/') goto yy94; - goto yy198; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy198; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy198; - goto yy94; - } - } -yy196: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy198; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy198; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy198; - goto yy94; - } - } -yy197: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy199; - if (yych <= '/') goto yy94; - goto yy200; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy200; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy200; - goto yy94; - } - } -yy198: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy200; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy200; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy200; - goto yy94; - } - } -yy199: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy201; - if (yych <= '/') goto yy94; - goto yy202; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy202; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy202; - goto yy94; - } - } -yy200: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy202; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy202; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy202; - goto yy94; - } - } -yy201: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy203; - if (yych <= '/') goto yy94; - goto yy204; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy204; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy204; - goto yy94; - } - } -yy202: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy204; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy204; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy204; - goto yy94; - } - } -yy203: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy205; - if (yych <= '/') goto yy94; - goto yy206; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy206; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy206; - goto yy94; - } - } -yy204: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy206; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy206; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy206; - goto yy94; - } - } -yy205: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy207; - if (yych <= '/') goto yy94; - goto yy208; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy208; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy208; - goto yy94; - } - } -yy206: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy208; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy208; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy208; - goto yy94; - } - } -yy207: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy209; - if (yych <= '/') goto yy94; - goto yy210; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy210; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy210; - goto yy94; - } - } -yy208: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy210; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy210; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy210; - goto yy94; - } - } -yy209: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy211; - if (yych <= '/') goto yy94; - goto yy212; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy212; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy212; - goto yy94; - } - } -yy210: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy212; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy212; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy212; - goto yy94; - } - } -yy211: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy213; - if (yych <= '/') goto yy94; - goto yy214; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy214; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy214; - goto yy94; - } - } -yy212: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy214; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy214; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy214; - goto yy94; - } - } -yy213: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy215; - if (yych <= '/') goto yy94; - goto yy216; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy216; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy216; - goto yy94; - } - } -yy214: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy216; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy216; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy216; - goto yy94; - } - } -yy215: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy217; - if (yych <= '/') goto yy94; - goto yy218; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy218; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy218; - goto yy94; - } - } -yy216: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy218; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy218; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy218; - goto yy94; - } - } -yy217: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy219; - if (yych <= '/') goto yy94; - goto yy220; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy220; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy220; - goto yy94; - } - } -yy218: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy220; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy220; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy220; - goto yy94; - } - } -yy219: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy221; - goto yy94; - } else { - if (yych <= 'Z') goto yy221; - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy221; - goto yy94; - } -yy220: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= '-') goto yy94; - goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych >= ':') goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - } else { - if (yych <= '`') goto yy94; - if (yych >= '{') goto yy94; - } - } -yy221: - yych = *++p; - if (yych == '.') goto yy95; - if (yych == '>') goto yy99; - goto yy94; + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 224, 224, 224, 224, 224, 224, 224, 224, 200, 200, 200, 200, 200, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 224, 224, 224, 224, 200, 224, 128, 224, 224, 224, 224, 64, 224, 224, + 224, 224, 224, 244, 240, 224, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 240, 224, 192, 192, 192, 224, 224, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 224, 224, 224, 224, 240, 192, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 224, 224, 224, + 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= '@') { + if (yych == '/') + goto yy162; + } else { + if (yych <= 'Z') + goto yy163; + if (yych <= '`') + goto yy160; + if (yych <= 'z') + goto yy163; + } + yy160: + ++p; + yy161 : { return 0; } + yy162: + yych = *(marker = ++p); + if (yych <= '@') + goto yy161; + if (yych <= 'Z') + goto yy164; + if (yych <= '`') + goto yy161; + if (yych <= 'z') + goto yy164; + goto yy161; + yy163: + yych = *(marker = ++p); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy161; + if (yych <= '\r') + goto yy168; + goto yy161; + } else { + if (yych <= ' ') + goto yy168; + if (yych == '-') + goto yy168; + goto yy161; + } + } else { + if (yych <= '@') { + if (yych <= '9') + goto yy168; + if (yych == '>') + goto yy168; + goto yy161; + } else { + if (yych <= 'Z') + goto yy168; + if (yych <= '`') + goto yy161; + if (yych <= 'z') + goto yy168; + goto yy161; + } + } + yy164: + yych = *++p; + if (yybm[0 + yych] & 4) { + goto yy164; + } + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy165; + if (yych <= '\r') + goto yy171; + } else { + if (yych <= ' ') + goto yy171; + if (yych == '>') + goto yy170; + } + yy165: + p = marker; + goto yy161; + yy166: + yych = *++p; + if (yybm[0 + yych] & 8) { + goto yy166; + } + if (yych <= '>') { + if (yych <= '9') { + if (yych == '/') + goto yy169; + goto yy165; + } else { + if (yych <= ':') + goto yy172; + if (yych <= '=') + goto yy165; + goto yy170; + } + } else { + if (yych <= '^') { + if (yych <= '@') + goto yy165; + if (yych <= 'Z') + goto yy172; + goto yy165; + } else { + if (yych == '`') + goto yy165; + if (yych <= 'z') + goto yy172; + goto yy165; + } + } + yy167: + yych = *++p; + yy168: + if (yybm[0 + yych] & 8) { + goto yy166; + } + if (yych <= '=') { + if (yych <= '.') { + if (yych == '-') + goto yy167; + goto yy165; + } else { + if (yych <= '/') + goto yy169; + if (yych <= '9') + goto yy167; + goto yy165; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy170; + if (yych <= '@') + goto yy165; + goto yy167; + } else { + if (yych <= '`') + goto yy165; + if (yych <= 'z') + goto yy167; + goto yy165; + } + } + yy169: + yych = *++p; + if (yych != '>') + goto yy165; + yy170: + ++p; + { return (bufsize_t)(p - start); } + yy171: + yych = *++p; + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy165; + if (yych <= '\r') + goto yy171; + goto yy165; + } else { + if (yych <= ' ') + goto yy171; + if (yych == '>') + goto yy170; + goto yy165; + } + yy172: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy172; + } + if (yych <= ',') { + if (yych <= '\r') { + if (yych <= 0x08) + goto yy165; + } else { + if (yych != ' ') + goto yy165; + } + } else { + if (yych <= '<') { + if (yych <= '/') + goto yy169; + goto yy165; + } else { + if (yych <= '=') + goto yy174; + if (yych <= '>') + goto yy170; + goto yy165; + } + } + yy173: + yych = *++p; + if (yych <= '<') { + if (yych <= ' ') { + if (yych <= 0x08) + goto yy165; + if (yych <= '\r') + goto yy173; + if (yych <= 0x1F) + goto yy165; + goto yy173; + } else { + if (yych <= '/') { + if (yych <= '.') + goto yy165; + goto yy169; + } else { + if (yych == ':') + goto yy172; + goto yy165; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '=') + goto yy174; + if (yych <= '>') + goto yy170; + if (yych <= '@') + goto yy165; + goto yy172; + } else { + if (yych <= '_') { + if (yych <= '^') + goto yy165; + goto yy172; + } else { + if (yych <= '`') + goto yy165; + if (yych <= 'z') + goto yy172; + goto yy165; + } + } + } + yy174: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy175; + } + if (yych <= 0xE0) { + if (yych <= '"') { + if (yych <= 0x00) + goto yy165; + if (yych <= ' ') + goto yy174; + goto yy176; + } else { + if (yych <= '\'') + goto yy177; + if (yych <= 0xC1) + goto yy165; + if (yych <= 0xDF) + goto yy178; + goto yy179; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy181; + goto yy180; + } else { + if (yych <= 0xF0) + goto yy182; + if (yych <= 0xF3) + goto yy183; + if (yych <= 0xF4) + goto yy184; + goto yy165; + } + } + yy175: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy175; + } + if (yych <= 0xE0) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy165; + if (yych <= ' ') + goto yy166; + goto yy165; + } else { + if (yych <= '>') + goto yy170; + if (yych <= 0xC1) + goto yy165; + if (yych <= 0xDF) + goto yy178; + goto yy179; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy181; + goto yy180; + } else { + if (yych <= 0xF0) + goto yy182; + if (yych <= 0xF3) + goto yy183; + if (yych <= 0xF4) + goto yy184; + goto yy165; + } + } + yy176: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy176; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy165; + if (yych <= '"') + goto yy185; + goto yy165; + } else { + if (yych <= 0xDF) + goto yy186; + if (yych <= 0xE0) + goto yy187; + goto yy188; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy189; + if (yych <= 0xEF) + goto yy188; + goto yy190; + } else { + if (yych <= 0xF3) + goto yy191; + if (yych <= 0xF4) + goto yy192; + goto yy165; + } + } + yy177: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy177; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy165; + if (yych <= '\'') + goto yy185; + goto yy165; + } else { + if (yych <= 0xDF) + goto yy193; + if (yych <= 0xE0) + goto yy194; + goto yy195; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy196; + if (yych <= 0xEF) + goto yy195; + goto yy197; + } else { + if (yych <= 0xF3) + goto yy198; + if (yych <= 0xF4) + goto yy199; + goto yy165; + } + } + yy178: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy175; + goto yy165; + yy179: + yych = *++p; + if (yych <= 0x9F) + goto yy165; + if (yych <= 0xBF) + goto yy178; + goto yy165; + yy180: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy178; + goto yy165; + yy181: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x9F) + goto yy178; + goto yy165; + yy182: + yych = *++p; + if (yych <= 0x8F) + goto yy165; + if (yych <= 0xBF) + goto yy180; + goto yy165; + yy183: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy180; + goto yy165; + yy184: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x8F) + goto yy180; + goto yy165; + yy185: + yych = *++p; + if (yybm[0 + yych] & 8) { + goto yy166; + } + if (yych == '/') + goto yy169; + if (yych == '>') + goto yy170; + goto yy165; + yy186: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy176; + goto yy165; + yy187: + yych = *++p; + if (yych <= 0x9F) + goto yy165; + if (yych <= 0xBF) + goto yy186; + goto yy165; + yy188: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy186; + goto yy165; + yy189: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x9F) + goto yy186; + goto yy165; + yy190: + yych = *++p; + if (yych <= 0x8F) + goto yy165; + if (yych <= 0xBF) + goto yy188; + goto yy165; + yy191: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy188; + goto yy165; + yy192: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x8F) + goto yy188; + goto yy165; + yy193: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy177; + goto yy165; + yy194: + yych = *++p; + if (yych <= 0x9F) + goto yy165; + if (yych <= 0xBF) + goto yy193; + goto yy165; + yy195: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy193; + goto yy165; + yy196: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x9F) + goto yy193; + goto yy165; + yy197: + yych = *++p; + if (yych <= 0x8F) + goto yy165; + if (yych <= 0xBF) + goto yy195; + goto yy165; + yy198: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy195; + goto yy165; + yy199: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x8F) + goto yy195; + goto yy165; + } } +// Try to (liberally) match an HTML tag after first <, returning num of chars +// matched. +bufsize_t _scan_liberal_html_tag(const unsigned char *p) { + const unsigned char *marker = NULL; + const unsigned char *start = p; + + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= 0xE0) { + if (yych <= '\n') { + if (yych <= 0x00) + goto yy201; + if (yych <= '\t') + goto yy203; + } else { + if (yych <= 0x7F) + goto yy203; + if (yych <= 0xC1) + goto yy201; + if (yych <= 0xDF) + goto yy204; + goto yy205; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy207; + goto yy206; + } else { + if (yych <= 0xF0) + goto yy208; + if (yych <= 0xF3) + goto yy209; + if (yych <= 0xF4) + goto yy210; + } + } + yy201: + ++p; + yy202 : { return 0; } + yy203: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy202; + if (yych <= '\t') + goto yy212; + goto yy202; + } else { + if (yych <= 0x7F) + goto yy212; + if (yych <= 0xC1) + goto yy202; + if (yych <= 0xF4) + goto yy212; + goto yy202; + } + yy204: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0xBF) + goto yy211; + goto yy202; + yy205: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy202; + if (yych <= 0xBF) + goto yy216; + goto yy202; + yy206: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0xBF) + goto yy216; + goto yy202; + yy207: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0x9F) + goto yy216; + goto yy202; + yy208: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy202; + if (yych <= 0xBF) + goto yy218; + goto yy202; + yy209: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0xBF) + goto yy218; + goto yy202; + yy210: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0x8F) + goto yy218; + goto yy202; + yy211: + yych = *++p; + yy212: + if (yybm[0 + yych] & 64) { + goto yy211; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy213; + if (yych <= '>') + goto yy214; + } else { + if (yych <= 0xDF) + goto yy216; + if (yych <= 0xE0) + goto yy217; + goto yy218; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy219; + if (yych <= 0xEF) + goto yy218; + goto yy220; + } else { + if (yych <= 0xF3) + goto yy221; + if (yych <= 0xF4) + goto yy222; + } + } + yy213: + p = marker; + if (yyaccept == 0) { + goto yy202; + } else { + goto yy215; + } + yy214: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy211; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy215; + if (yych <= '>') + goto yy214; + } else { + if (yych <= 0xDF) + goto yy216; + if (yych <= 0xE0) + goto yy217; + goto yy218; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy219; + if (yych <= 0xEF) + goto yy218; + goto yy220; + } else { + if (yych <= 0xF3) + goto yy221; + if (yych <= 0xF4) + goto yy222; + } + } + yy215 : { return (bufsize_t)(p - start); } + yy216: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0xBF) + goto yy211; + goto yy213; + yy217: + yych = *++p; + if (yych <= 0x9F) + goto yy213; + if (yych <= 0xBF) + goto yy216; + goto yy213; + yy218: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0xBF) + goto yy216; + goto yy213; + yy219: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0x9F) + goto yy216; + goto yy213; + yy220: + yych = *++p; + if (yych <= 0x8F) + goto yy213; + if (yych <= 0xBF) + goto yy218; + goto yy213; + yy221: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0xBF) + goto yy218; + goto yy213; + yy222: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0x8F) + goto yy218; + goto yy213; + } } -// Try to match an HTML tag after first <, returning num of chars matched. -bufsize_t _scan_html_tag(const unsigned char *p) -{ +bufsize_t _scan_html_comment(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - /* table 1 .. 8: 0 */ - 0, 250, 250, 250, 250, 250, 250, 250, - 250, 235, 235, 235, 235, 235, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, - 235, 250, 202, 250, 250, 250, 250, 170, - 250, 250, 250, 250, 250, 246, 254, 250, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 250, 234, 234, 232, 250, - 250, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 250, 250, 122, 250, 254, - 234, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 250, 250, 250, 250, 250, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - /* table 9 .. 11: 256 */ - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 192, 128, 128, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 128, 128, 128, 128, 128, 0, - 128, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 128, 128, 128, 128, 128, - 128, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 128, 128, 128, 128, 128, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '>') { - if (yych <= '!') { - if (yych >= '!') goto yy226; - } else { - if (yych == '/') goto yy227; - } - } else { - if (yych <= 'Z') { - if (yych <= '?') goto yy228; - if (yych >= 'A') goto yy229; - } else { - if (yych <= '`') goto yy224; - if (yych <= 'z') goto yy229; - } - } -yy224: - ++p; -yy225: - { return 0; } -yy226: - yych = *(marker = ++p); - if (yybm[256+yych] & 32) { - goto yy232; - } - if (yych == '-') goto yy230; - if (yych <= '@') goto yy225; - if (yych <= '[') goto yy234; - goto yy225; -yy227: - yych = *(marker = ++p); - if (yych <= '@') goto yy225; - if (yych <= 'Z') goto yy235; - if (yych <= '`') goto yy225; - if (yych <= 'z') goto yy235; - goto yy225; -yy228: - yych = *(marker = ++p); - if (yych <= 0x00) goto yy225; - if (yych <= 0x7F) goto yy238; - if (yych <= 0xC1) goto yy225; - if (yych <= 0xF4) goto yy238; - goto yy225; -yy229: - yych = *(marker = ++p); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy225; - if (yych <= '\r') goto yy250; - goto yy225; - } else { - if (yych <= ' ') goto yy250; - if (yych == '-') goto yy250; - goto yy225; - } - } else { - if (yych <= '@') { - if (yych <= '9') goto yy250; - if (yych == '>') goto yy250; - goto yy225; - } else { - if (yych <= 'Z') goto yy250; - if (yych <= '`') goto yy225; - if (yych <= 'z') goto yy250; - goto yy225; - } - } -yy230: - yych = *++p; - if (yych == '-') goto yy254; -yy231: - p = marker; - goto yy225; -yy232: - yych = *++p; - if (yybm[256+yych] & 32) { - goto yy232; - } - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy255; - if (yych == ' ') goto yy255; - goto yy231; -yy234: - yych = *++p; - if (yych == 'C') goto yy257; - if (yych == 'c') goto yy257; - goto yy231; -yy235: - yych = *++p; - if (yybm[256+yych] & 64) { - goto yy235; - } - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy258; - goto yy231; - } else { - if (yych <= ' ') goto yy258; - if (yych == '>') goto yy252; - goto yy231; - } -yy237: - yych = *++p; -yy238: - if (yybm[256+yych] & 128) { - goto yy237; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych >= '@') goto yy231; - } else { - if (yych <= 0xDF) goto yy240; - if (yych <= 0xE0) goto yy241; - goto yy242; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy243; - if (yych <= 0xEF) goto yy242; - goto yy244; - } else { - if (yych <= 0xF3) goto yy245; - if (yych <= 0xF4) goto yy246; - goto yy231; - } - } - yych = *++p; - if (yych <= 0xE0) { - if (yych <= '>') { - if (yych <= 0x00) goto yy231; - if (yych <= '=') goto yy237; - goto yy252; - } else { - if (yych <= 0x7F) goto yy237; - if (yych <= 0xC1) goto yy231; - if (yych >= 0xE0) goto yy241; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy243; - goto yy242; - } else { - if (yych <= 0xF0) goto yy244; - if (yych <= 0xF3) goto yy245; - if (yych <= 0xF4) goto yy246; - goto yy231; - } - } -yy240: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy237; - goto yy231; -yy241: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy240; - goto yy231; -yy242: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy240; - goto yy231; -yy243: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy240; - goto yy231; -yy244: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy242; - goto yy231; -yy245: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy242; - goto yy231; -yy246: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy242; - goto yy231; -yy247: - yych = *++p; - if (yybm[0+yych] & 1) { - goto yy247; - } - if (yych <= '>') { - if (yych <= '9') { - if (yych == '/') goto yy251; - goto yy231; - } else { - if (yych <= ':') goto yy260; - if (yych <= '=') goto yy231; - goto yy252; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy231; - if (yych <= 'Z') goto yy260; - goto yy231; - } else { - if (yych == '`') goto yy231; - if (yych <= 'z') goto yy260; - goto yy231; - } - } -yy249: - yych = *++p; -yy250: - if (yybm[0+yych] & 1) { - goto yy247; - } - if (yych <= '=') { - if (yych <= '.') { - if (yych == '-') goto yy249; - goto yy231; - } else { - if (yych <= '/') goto yy251; - if (yych <= '9') goto yy249; - goto yy231; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy252; - if (yych <= '@') goto yy231; - goto yy249; - } else { - if (yych <= '`') goto yy231; - if (yych <= 'z') goto yy249; - goto yy231; - } - } -yy251: - yych = *++p; - if (yych != '>') goto yy231; -yy252: - ++p; - { return (bufsize_t)(p - start); } -yy254: - yych = *++p; - if (yych == '-') goto yy264; - if (yych == '>') goto yy231; - goto yy263; -yy255: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy255; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '>') goto yy252; - goto yy231; - } else { - if (yych <= 0xDF) goto yy272; - if (yych <= 0xE0) goto yy273; - goto yy274; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy275; - if (yych <= 0xEF) goto yy274; - goto yy276; - } else { - if (yych <= 0xF3) goto yy277; - if (yych <= 0xF4) goto yy278; - goto yy231; - } - } -yy257: - yych = *++p; - if (yych == 'D') goto yy279; - if (yych == 'd') goto yy279; - goto yy231; -yy258: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy258; - goto yy231; - } else { - if (yych <= ' ') goto yy258; - if (yych == '>') goto yy252; - goto yy231; - } -yy260: - yych = *++p; - if (yybm[0+yych] & 4) { - goto yy260; - } - if (yych <= ',') { - if (yych <= '\r') { - if (yych <= 0x08) goto yy231; - goto yy280; - } else { - if (yych == ' ') goto yy280; - goto yy231; - } - } else { - if (yych <= '<') { - if (yych <= '/') goto yy251; - goto yy231; - } else { - if (yych <= '=') goto yy282; - if (yych <= '>') goto yy252; - goto yy231; - } - } -yy262: - yych = *++p; -yy263: - if (yybm[0+yych] & 8) { - goto yy262; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '-') goto yy284; - goto yy231; - } else { - if (yych <= 0xDF) goto yy265; - if (yych <= 0xE0) goto yy266; - goto yy267; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy268; - if (yych <= 0xEF) goto yy267; - goto yy269; - } else { - if (yych <= 0xF3) goto yy270; - if (yych <= 0xF4) goto yy271; - goto yy231; - } - } -yy264: - yych = *++p; - if (yych == '-') goto yy251; - if (yych == '>') goto yy231; - goto yy263; -yy265: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy262; - goto yy231; -yy266: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy265; - goto yy231; -yy267: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy265; - goto yy231; -yy268: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy265; - goto yy231; -yy269: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy267; - goto yy231; -yy270: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy267; - goto yy231; -yy271: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy267; - goto yy231; -yy272: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy255; - goto yy231; -yy273: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy272; - goto yy231; -yy274: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy272; - goto yy231; -yy275: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy272; - goto yy231; -yy276: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy274; - goto yy231; -yy277: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy274; - goto yy231; -yy278: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy274; - goto yy231; -yy279: - yych = *++p; - if (yych == 'A') goto yy285; - if (yych == 'a') goto yy285; - goto yy231; -yy280: - yych = *++p; - if (yych <= '<') { - if (yych <= ' ') { - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy280; - if (yych <= 0x1F) goto yy231; - goto yy280; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy231; - goto yy251; - } else { - if (yych == ':') goto yy260; - goto yy231; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '=') goto yy282; - if (yych <= '>') goto yy252; - if (yych <= '@') goto yy231; - goto yy260; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy231; - goto yy260; - } else { - if (yych <= '`') goto yy231; - if (yych <= 'z') goto yy260; - goto yy231; - } - } - } -yy282: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy286; - } - if (yych <= 0xE0) { - if (yych <= '"') { - if (yych <= 0x00) goto yy231; - if (yych <= ' ') goto yy282; - goto yy288; - } else { - if (yych <= '\'') goto yy290; - if (yych <= 0xC1) goto yy231; - if (yych <= 0xDF) goto yy292; - goto yy293; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy295; - goto yy294; - } else { - if (yych <= 0xF0) goto yy296; - if (yych <= 0xF3) goto yy297; - if (yych <= 0xF4) goto yy298; - goto yy231; - } - } -yy284: - yych = *++p; - if (yybm[0+yych] & 8) { - goto yy262; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '-') goto yy251; - goto yy231; - } else { - if (yych <= 0xDF) goto yy265; - if (yych <= 0xE0) goto yy266; - goto yy267; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy268; - if (yych <= 0xEF) goto yy267; - goto yy269; - } else { - if (yych <= 0xF3) goto yy270; - if (yych <= 0xF4) goto yy271; - goto yy231; - } - } -yy285: - yych = *++p; - if (yych == 'T') goto yy299; - if (yych == 't') goto yy299; - goto yy231; -yy286: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy286; - } - if (yych <= 0xE0) { - if (yych <= '=') { - if (yych <= 0x00) goto yy231; - if (yych <= ' ') goto yy247; - goto yy231; - } else { - if (yych <= '>') goto yy252; - if (yych <= 0xC1) goto yy231; - if (yych <= 0xDF) goto yy292; - goto yy293; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy295; - goto yy294; - } else { - if (yych <= 0xF0) goto yy296; - if (yych <= 0xF3) goto yy297; - if (yych <= 0xF4) goto yy298; - goto yy231; - } - } -yy288: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy288; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '"') goto yy300; - goto yy231; - } else { - if (yych <= 0xDF) goto yy301; - if (yych <= 0xE0) goto yy302; - goto yy303; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy304; - if (yych <= 0xEF) goto yy303; - goto yy305; - } else { - if (yych <= 0xF3) goto yy306; - if (yych <= 0xF4) goto yy307; - goto yy231; - } - } -yy290: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy290; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '\'') goto yy300; - goto yy231; - } else { - if (yych <= 0xDF) goto yy308; - if (yych <= 0xE0) goto yy309; - goto yy310; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy311; - if (yych <= 0xEF) goto yy310; - goto yy312; - } else { - if (yych <= 0xF3) goto yy313; - if (yych <= 0xF4) goto yy314; - goto yy231; - } - } -yy292: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy286; - goto yy231; -yy293: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy292; - goto yy231; -yy294: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy292; - goto yy231; -yy295: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy292; - goto yy231; -yy296: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy294; - goto yy231; -yy297: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy294; - goto yy231; -yy298: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy294; - goto yy231; -yy299: - yych = *++p; - if (yych == 'A') goto yy315; - if (yych == 'a') goto yy315; - goto yy231; -yy300: - yych = *++p; - if (yybm[0+yych] & 1) { - goto yy247; - } - if (yych == '/') goto yy251; - if (yych == '>') goto yy252; - goto yy231; -yy301: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy288; - goto yy231; -yy302: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy301; - goto yy231; -yy303: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy301; - goto yy231; -yy304: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy301; - goto yy231; -yy305: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy303; - goto yy231; -yy306: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy303; - goto yy231; -yy307: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy303; - goto yy231; -yy308: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy290; - goto yy231; -yy309: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy308; - goto yy231; -yy310: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy308; - goto yy231; -yy311: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy308; - goto yy231; -yy312: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy310; - goto yy231; -yy313: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy310; - goto yy231; -yy314: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy310; - goto yy231; -yy315: - yych = *++p; - if (yych != '[') goto yy231; -yy316: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy316; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych >= '^') goto yy231; - } else { - if (yych <= 0xDF) goto yy319; - if (yych <= 0xE0) goto yy320; - goto yy321; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy322; - if (yych <= 0xEF) goto yy321; - goto yy323; - } else { - if (yych <= 0xF3) goto yy324; - if (yych <= 0xF4) goto yy325; - goto yy231; - } - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy316; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= ']') goto yy326; - goto yy231; - } else { - if (yych <= 0xDF) goto yy319; - if (yych <= 0xE0) goto yy320; - goto yy321; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy322; - if (yych <= 0xEF) goto yy321; - goto yy323; - } else { - if (yych <= 0xF3) goto yy324; - if (yych <= 0xF4) goto yy325; - goto yy231; - } - } -yy319: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy316; - goto yy231; -yy320: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy319; - goto yy231; -yy321: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy319; - goto yy231; -yy322: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy319; - goto yy231; -yy323: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy321; - goto yy231; -yy324: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy321; - goto yy231; -yy325: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy321; - goto yy231; -yy326: - yych = *++p; - if (yych <= 0xE0) { - if (yych <= '>') { - if (yych <= 0x00) goto yy231; - if (yych <= '=') goto yy316; - goto yy252; - } else { - if (yych <= 0x7F) goto yy316; - if (yych <= 0xC1) goto yy231; - if (yych <= 0xDF) goto yy319; - goto yy320; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy322; - goto yy321; - } else { - if (yych <= 0xF0) goto yy323; - if (yych <= 0xF3) goto yy324; - if (yych <= 0xF4) goto yy325; - goto yy231; - } - } + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych == '-') + goto yy225; + ++p; + yy224 : { return 0; } + yy225: + yych = *(marker = ++p); + if (yych != '-') + goto yy224; + yy226: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy226; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy227; + if (yych <= '-') + goto yy228; + } else { + if (yych <= 0xDF) + goto yy229; + if (yych <= 0xE0) + goto yy230; + goto yy231; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy232; + if (yych <= 0xEF) + goto yy231; + goto yy233; + } else { + if (yych <= 0xF3) + goto yy234; + if (yych <= 0xF4) + goto yy235; + } + } + yy227: + p = marker; + goto yy224; + yy228: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy226; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy227; + if (yych <= '-') + goto yy236; + goto yy227; + } else { + if (yych <= 0xDF) + goto yy229; + if (yych <= 0xE0) + goto yy230; + goto yy231; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy232; + if (yych <= 0xEF) + goto yy231; + goto yy233; + } else { + if (yych <= 0xF3) + goto yy234; + if (yych <= 0xF4) + goto yy235; + goto yy227; + } + } + yy229: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0xBF) + goto yy226; + goto yy227; + yy230: + yych = *++p; + if (yych <= 0x9F) + goto yy227; + if (yych <= 0xBF) + goto yy229; + goto yy227; + yy231: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0xBF) + goto yy229; + goto yy227; + yy232: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0x9F) + goto yy229; + goto yy227; + yy233: + yych = *++p; + if (yych <= 0x8F) + goto yy227; + if (yych <= 0xBF) + goto yy231; + goto yy227; + yy234: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0xBF) + goto yy231; + goto yy227; + yy235: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0x8F) + goto yy231; + goto yy227; + yy236: + yych = *++p; + if (yych <= 0xE0) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy227; + if (yych <= '=') + goto yy226; + } else { + if (yych <= 0x7F) + goto yy226; + if (yych <= 0xC1) + goto yy227; + if (yych <= 0xDF) + goto yy229; + goto yy230; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy232; + goto yy231; + } else { + if (yych <= 0xF0) + goto yy233; + if (yych <= 0xF3) + goto yy234; + if (yych <= 0xF4) + goto yy235; + goto yy227; + } + } + ++p; + { return (bufsize_t)(p - start); } + } } +bufsize_t _scan_html_pi(const unsigned char *p) { + const unsigned char *marker = NULL; + const unsigned char *start = p; + + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yybm[0 + yych] & 128) { + goto yy240; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy238; + if (yych <= '?') + goto yy243; + } else { + if (yych <= 0xDF) + goto yy244; + if (yych <= 0xE0) + goto yy245; + goto yy246; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy247; + if (yych <= 0xEF) + goto yy246; + goto yy248; + } else { + if (yych <= 0xF3) + goto yy249; + if (yych <= 0xF4) + goto yy250; + } + } + yy238: + ++p; + yy239 : { return 0; } + yy240: + yyaccept = 0; + yych = *(marker = ++p); + yy241: + if (yybm[0 + yych] & 128) { + goto yy240; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy242; + if (yych <= '?') + goto yy251; + } else { + if (yych <= 0xDF) + goto yy253; + if (yych <= 0xE0) + goto yy254; + goto yy255; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy256; + if (yych <= 0xEF) + goto yy255; + goto yy257; + } else { + if (yych <= 0xF3) + goto yy258; + if (yych <= 0xF4) + goto yy259; + } + } + yy242 : { return (bufsize_t)(p - start); } + yy243: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= '?') { + if (yych <= 0x00) + goto yy239; + if (yych <= '=') + goto yy241; + if (yych <= '>') + goto yy239; + goto yy240; + } else { + if (yych <= 0x7F) + goto yy241; + if (yych <= 0xC1) + goto yy239; + if (yych <= 0xF4) + goto yy241; + goto yy239; + } + yy244: + yych = *++p; + if (yych <= 0x7F) + goto yy239; + if (yych <= 0xBF) + goto yy240; + goto yy239; + yy245: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy239; + if (yych <= 0xBF) + goto yy253; + goto yy239; + yy246: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0xBF) + goto yy253; + goto yy239; + yy247: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0x9F) + goto yy253; + goto yy239; + yy248: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy239; + if (yych <= 0xBF) + goto yy255; + goto yy239; + yy249: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0xBF) + goto yy255; + goto yy239; + yy250: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0x8F) + goto yy255; + goto yy239; + yy251: + yych = *++p; + if (yych <= 0xE0) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy252; + if (yych <= '=') + goto yy240; + } else { + if (yych <= 0x7F) + goto yy240; + if (yych <= 0xC1) + goto yy252; + if (yych <= 0xDF) + goto yy253; + goto yy254; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy256; + goto yy255; + } else { + if (yych <= 0xF0) + goto yy257; + if (yych <= 0xF3) + goto yy258; + if (yych <= 0xF4) + goto yy259; + } + } + yy252: + p = marker; + if (yyaccept == 0) { + goto yy242; + } else { + goto yy239; + } + yy253: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0xBF) + goto yy240; + goto yy252; + yy254: + yych = *++p; + if (yych <= 0x9F) + goto yy252; + if (yych <= 0xBF) + goto yy253; + goto yy252; + yy255: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0xBF) + goto yy253; + goto yy252; + yy256: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0x9F) + goto yy253; + goto yy252; + yy257: + yych = *++p; + if (yych <= 0x8F) + goto yy252; + if (yych <= 0xBF) + goto yy255; + goto yy252; + yy258: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0xBF) + goto yy255; + goto yy252; + yy259: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0x8F) + goto yy255; + goto yy252; + } } -// Try to (liberally) match an HTML tag after first <, returning num of chars matched. -bufsize_t _scan_liberal_html_tag(const unsigned char *p) -{ +bufsize_t _scan_html_declaration(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 128, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xE0) { - if (yych <= '\n') { - if (yych <= 0x00) goto yy329; - if (yych <= '\t') goto yy331; - } else { - if (yych <= 0x7F) goto yy331; - if (yych <= 0xC1) goto yy329; - if (yych <= 0xDF) goto yy332; - goto yy333; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy335; - goto yy334; - } else { - if (yych <= 0xF0) goto yy336; - if (yych <= 0xF3) goto yy337; - if (yych <= 0xF4) goto yy338; - } - } -yy329: - ++p; -yy330: - { return 0; } -yy331: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy330; - if (yych <= '\t') goto yy340; - goto yy330; - } else { - if (yych <= 0x7F) goto yy340; - if (yych <= 0xC1) goto yy330; - if (yych <= 0xF4) goto yy340; - goto yy330; - } -yy332: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0xBF) goto yy339; - goto yy330; -yy333: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy330; - if (yych <= 0xBF) goto yy345; - goto yy330; -yy334: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0xBF) goto yy345; - goto yy330; -yy335: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0x9F) goto yy345; - goto yy330; -yy336: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy330; - if (yych <= 0xBF) goto yy347; - goto yy330; -yy337: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0xBF) goto yy347; - goto yy330; -yy338: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0x8F) goto yy347; - goto yy330; -yy339: - yych = *++p; -yy340: - if (yybm[0+yych] & 64) { - goto yy339; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy341; - if (yych <= '>') goto yy342; - } else { - if (yych <= 0xDF) goto yy345; - if (yych <= 0xE0) goto yy346; - goto yy347; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy348; - if (yych <= 0xEF) goto yy347; - goto yy349; - } else { - if (yych <= 0xF3) goto yy350; - if (yych <= 0xF4) goto yy351; - } - } -yy341: - p = marker; - if (yyaccept == 0) { - goto yy330; - } else { - goto yy344; - } -yy342: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy339; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy344; - if (yych <= '>') goto yy342; - } else { - if (yych <= 0xDF) goto yy345; - if (yych <= 0xE0) goto yy346; - goto yy347; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy348; - if (yych <= 0xEF) goto yy347; - goto yy349; - } else { - if (yych <= 0xF3) goto yy350; - if (yych <= 0xF4) goto yy351; - } - } -yy344: - { return (bufsize_t)(p - start); } -yy345: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0xBF) goto yy339; - goto yy341; -yy346: - yych = *++p; - if (yych <= 0x9F) goto yy341; - if (yych <= 0xBF) goto yy345; - goto yy341; -yy347: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0xBF) goto yy345; - goto yy341; -yy348: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0x9F) goto yy345; - goto yy341; -yy349: - yych = *++p; - if (yych <= 0x8F) goto yy341; - if (yych <= 0xBF) goto yy347; - goto yy341; -yy350: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0xBF) goto yy347; - goto yy341; -yy351: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0x8F) goto yy347; - goto yy341; + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 0, 64, 64, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= '@') + goto yy261; + if (yych <= 'Z') + goto yy263; + yy261: + ++p; + yy262 : { return 0; } + yy263: + yyaccept = 0; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy266; + } + if (yych <= 0x08) + goto yy262; + if (yych <= '\r') + goto yy264; + if (yych != ' ') + goto yy262; + yy264: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy264; + } + if (yych <= 0xED) { + if (yych <= 0xDF) { + if (yych >= 0xC2) + goto yy268; + } else { + if (yych <= 0xE0) + goto yy269; + if (yych <= 0xEC) + goto yy270; + goto yy271; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy270; + goto yy272; + } else { + if (yych <= 0xF3) + goto yy273; + if (yych <= 0xF4) + goto yy274; + } + } + yy265 : { return (bufsize_t)(p - start); } + yy266: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy266; + } + if (yych <= 0x08) + goto yy267; + if (yych <= '\r') + goto yy264; + if (yych == ' ') + goto yy264; + yy267: + p = marker; + if (yyaccept == 0) { + goto yy262; + } else { + goto yy265; + } + yy268: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0xBF) + goto yy264; + goto yy267; + yy269: + yych = *++p; + if (yych <= 0x9F) + goto yy267; + if (yych <= 0xBF) + goto yy268; + goto yy267; + yy270: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0xBF) + goto yy268; + goto yy267; + yy271: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0x9F) + goto yy268; + goto yy267; + yy272: + yych = *++p; + if (yych <= 0x8F) + goto yy267; + if (yych <= 0xBF) + goto yy270; + goto yy267; + yy273: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0xBF) + goto yy270; + goto yy267; + yy274: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0x8F) + goto yy270; + goto yy267; + } } +bufsize_t _scan_html_cdata(const unsigned char *p) { + const unsigned char *marker = NULL; + const unsigned char *start = p; + + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych == 'C') + goto yy277; + if (yych == 'c') + goto yy277; + ++p; + yy276 : { return 0; } + yy277: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'D') + goto yy278; + if (yych != 'd') + goto yy276; + yy278: + yych = *++p; + if (yych == 'A') + goto yy280; + if (yych == 'a') + goto yy280; + yy279: + p = marker; + if (yyaccept == 0) { + goto yy276; + } else { + goto yy284; + } + yy280: + yych = *++p; + if (yych == 'T') + goto yy281; + if (yych != 't') + goto yy279; + yy281: + yych = *++p; + if (yych == 'A') + goto yy282; + if (yych != 'a') + goto yy279; + yy282: + yych = *++p; + if (yych != '[') + goto yy279; + yy283: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy283; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy284; + if (yych <= ']') + goto yy285; + } else { + if (yych <= 0xDF) + goto yy286; + if (yych <= 0xE0) + goto yy287; + goto yy288; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy289; + if (yych <= 0xEF) + goto yy288; + goto yy290; + } else { + if (yych <= 0xF3) + goto yy291; + if (yych <= 0xF4) + goto yy292; + } + } + yy284 : { return (bufsize_t)(p - start); } + yy285: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy283; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy279; + if (yych <= ']') + goto yy293; + goto yy279; + } else { + if (yych <= 0xDF) + goto yy286; + if (yych <= 0xE0) + goto yy287; + goto yy288; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy289; + if (yych <= 0xEF) + goto yy288; + goto yy290; + } else { + if (yych <= 0xF3) + goto yy291; + if (yych <= 0xF4) + goto yy292; + goto yy279; + } + } + yy286: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0xBF) + goto yy283; + goto yy279; + yy287: + yych = *++p; + if (yych <= 0x9F) + goto yy279; + if (yych <= 0xBF) + goto yy286; + goto yy279; + yy288: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0xBF) + goto yy286; + goto yy279; + yy289: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0x9F) + goto yy286; + goto yy279; + yy290: + yych = *++p; + if (yych <= 0x8F) + goto yy279; + if (yych <= 0xBF) + goto yy288; + goto yy279; + yy291: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0xBF) + goto yy288; + goto yy279; + yy292: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0x8F) + goto yy288; + goto yy279; + yy293: + yych = *++p; + if (yych <= 0xE0) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy279; + if (yych <= '=') + goto yy283; + goto yy279; + } else { + if (yych <= 0x7F) + goto yy283; + if (yych <= 0xC1) + goto yy279; + if (yych <= 0xDF) + goto yy286; + goto yy287; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy289; + goto yy288; + } else { + if (yych <= 0xF0) + goto yy290; + if (yych <= 0xF3) + goto yy291; + if (yych <= 0xF4) + goto yy292; + goto yy279; + } + } + } } // Try to match an HTML block tag start line, returning // an integer code for the type of block (1-6, matching the spec). // #7 is handled by a separate function, below. -bufsize_t _scan_html_block_start(const unsigned char *p) -{ +bufsize_t _scan_html_block_start(const unsigned char *p) { const unsigned char *marker = NULL; -{ - unsigned char yych; - yych = *p; - if (yych == '<') goto yy356; - ++p; -yy355: - { return 0; } -yy356: - yych = *(marker = ++p); - switch (yych) { - case '!': goto yy357; - case '/': goto yy359; - case '?': goto yy360; - case 'A': - case 'a': goto yy362; - case 'B': - case 'b': goto yy363; - case 'C': - case 'c': goto yy364; - case 'D': - case 'd': goto yy365; - case 'F': - case 'f': goto yy366; - case 'H': - case 'h': goto yy367; - case 'I': - case 'i': goto yy368; - case 'L': - case 'l': goto yy369; - case 'M': - case 'm': goto yy370; - case 'N': - case 'n': goto yy371; - case 'O': - case 'o': goto yy372; - case 'P': - case 'p': goto yy373; - case 'S': - case 's': goto yy374; - case 'T': - case 't': goto yy375; - case 'U': - case 'u': goto yy376; - default: goto yy355; - } -yy357: - yych = *++p; - if (yych <= '@') { - if (yych == '-') goto yy377; - } else { - if (yych <= 'Z') goto yy378; - if (yych <= '[') goto yy380; - } -yy358: - p = marker; - goto yy355; -yy359: - yych = *++p; - switch (yych) { - case 'A': - case 'a': goto yy362; - case 'B': - case 'b': goto yy363; - case 'C': - case 'c': goto yy364; - case 'D': - case 'd': goto yy365; - case 'F': - case 'f': goto yy366; - case 'H': - case 'h': goto yy367; - case 'I': - case 'i': goto yy368; - case 'L': - case 'l': goto yy369; - case 'M': - case 'm': goto yy370; - case 'N': - case 'n': goto yy371; - case 'O': - case 'o': goto yy372; - case 'P': - case 'p': goto yy381; - case 'S': - case 's': goto yy382; - case 'T': - case 't': goto yy375; - case 'U': - case 'u': goto yy376; - default: goto yy358; - } -yy360: - ++p; - { return 3; } -yy362: - yych = *++p; - if (yych <= 'S') { - if (yych <= 'D') { - if (yych <= 'C') goto yy358; - goto yy383; - } else { - if (yych <= 'Q') goto yy358; - if (yych <= 'R') goto yy384; - goto yy385; - } - } else { - if (yych <= 'q') { - if (yych == 'd') goto yy383; - goto yy358; - } else { - if (yych <= 'r') goto yy384; - if (yych <= 's') goto yy385; - goto yy358; - } - } -yy363: - yych = *++p; - if (yych <= 'O') { - if (yych <= 'K') { - if (yych == 'A') goto yy386; - goto yy358; - } else { - if (yych <= 'L') goto yy387; - if (yych <= 'N') goto yy358; - goto yy388; - } - } else { - if (yych <= 'k') { - if (yych == 'a') goto yy386; - goto yy358; - } else { - if (yych <= 'l') goto yy387; - if (yych == 'o') goto yy388; - goto yy358; - } - } -yy364: - yych = *++p; - if (yych <= 'O') { - if (yych <= 'D') { - if (yych == 'A') goto yy389; - goto yy358; - } else { - if (yych <= 'E') goto yy390; - if (yych <= 'N') goto yy358; - goto yy391; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy389; - goto yy358; - } else { - if (yych <= 'e') goto yy390; - if (yych == 'o') goto yy391; - goto yy358; - } - } -yy365: - yych = *++p; - switch (yych) { - case 'D': - case 'L': - case 'T': - case 'd': - case 'l': - case 't': goto yy392; - case 'E': - case 'e': goto yy393; - case 'I': - case 'i': goto yy394; - default: goto yy358; - } -yy366: - yych = *++p; - if (yych <= 'R') { - if (yych <= 'N') { - if (yych == 'I') goto yy395; - goto yy358; - } else { - if (yych <= 'O') goto yy396; - if (yych <= 'Q') goto yy358; - goto yy397; - } - } else { - if (yych <= 'n') { - if (yych == 'i') goto yy395; - goto yy358; - } else { - if (yych <= 'o') goto yy396; - if (yych == 'r') goto yy397; - goto yy358; - } - } -yy367: - yych = *++p; - if (yych <= 'S') { - if (yych <= 'D') { - if (yych <= '0') goto yy358; - if (yych <= '6') goto yy392; - goto yy358; - } else { - if (yych <= 'E') goto yy398; - if (yych == 'R') goto yy392; - goto yy358; - } - } else { - if (yych <= 'q') { - if (yych <= 'T') goto yy399; - if (yych == 'e') goto yy398; - goto yy358; - } else { - if (yych <= 'r') goto yy392; - if (yych == 't') goto yy399; - goto yy358; - } - } -yy368: - yych = *++p; - if (yych == 'F') goto yy400; - if (yych == 'f') goto yy400; - goto yy358; -yy369: - yych = *++p; - if (yych <= 'I') { - if (yych == 'E') goto yy401; - if (yych <= 'H') goto yy358; - goto yy402; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy358; - goto yy401; - } else { - if (yych == 'i') goto yy402; - goto yy358; - } - } -yy370: - yych = *++p; - if (yych <= 'E') { - if (yych == 'A') goto yy403; - if (yych <= 'D') goto yy358; - goto yy404; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy358; - goto yy403; - } else { - if (yych == 'e') goto yy404; - goto yy358; - } - } -yy371: - yych = *++p; - if (yych <= 'O') { - if (yych == 'A') goto yy405; - if (yych <= 'N') goto yy358; - goto yy406; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy358; - goto yy405; - } else { - if (yych == 'o') goto yy406; - goto yy358; - } - } -yy372: - yych = *++p; - if (yych <= 'P') { - if (yych == 'L') goto yy392; - if (yych <= 'O') goto yy358; - goto yy407; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy358; - goto yy392; - } else { - if (yych == 'p') goto yy407; - goto yy358; - } - } -yy373: - yych = *++p; - if (yych <= '>') { - if (yych <= ' ') { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - if (yych <= 0x1F) goto yy358; - goto yy408; - } else { - if (yych == '/') goto yy410; - if (yych <= '=') goto yy358; - goto yy408; - } - } else { - if (yych <= 'R') { - if (yych == 'A') goto yy411; - if (yych <= 'Q') goto yy358; - goto yy412; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy358; - goto yy411; - } else { - if (yych == 'r') goto yy412; - goto yy358; - } - } - } -yy374: - yych = *++p; - switch (yych) { - case 'C': - case 'c': goto yy413; - case 'E': - case 'e': goto yy414; - case 'O': - case 'o': goto yy415; - case 'T': - case 't': goto yy416; - case 'U': - case 'u': goto yy417; - default: goto yy358; - } -yy375: - yych = *++p; - switch (yych) { - case 'A': - case 'a': goto yy418; - case 'B': - case 'b': goto yy419; - case 'D': - case 'd': goto yy392; - case 'F': - case 'f': goto yy420; - case 'H': - case 'h': goto yy421; - case 'I': - case 'i': goto yy422; - case 'R': - case 'r': goto yy423; - default: goto yy358; - } -yy376: - yych = *++p; - if (yych == 'L') goto yy392; - if (yych == 'l') goto yy392; - goto yy358; -yy377: - yych = *++p; - if (yych == '-') goto yy424; - goto yy358; -yy378: - ++p; - { return 4; } -yy380: - yych = *++p; - if (yych == 'C') goto yy426; - if (yych == 'c') goto yy426; - goto yy358; -yy381: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= '@') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'A') goto yy411; - if (yych == 'a') goto yy411; - goto yy358; - } - } -yy382: - yych = *++p; - if (yych <= 'U') { - if (yych <= 'N') { - if (yych == 'E') goto yy414; - goto yy358; - } else { - if (yych <= 'O') goto yy415; - if (yych <= 'T') goto yy358; - goto yy417; - } - } else { - if (yych <= 'n') { - if (yych == 'e') goto yy414; - goto yy358; - } else { - if (yych <= 'o') goto yy415; - if (yych == 'u') goto yy417; - goto yy358; - } - } -yy383: - yych = *++p; - if (yych == 'D') goto yy427; - if (yych == 'd') goto yy427; - goto yy358; -yy384: - yych = *++p; - if (yych == 'T') goto yy428; - if (yych == 't') goto yy428; - goto yy358; -yy385: - yych = *++p; - if (yych == 'I') goto yy429; - if (yych == 'i') goto yy429; - goto yy358; -yy386: - yych = *++p; - if (yych == 'S') goto yy430; - if (yych == 's') goto yy430; - goto yy358; -yy387: - yych = *++p; - if (yych == 'O') goto yy431; - if (yych == 'o') goto yy431; - goto yy358; -yy388: - yych = *++p; - if (yych == 'D') goto yy432; - if (yych == 'd') goto yy432; - goto yy358; -yy389: - yych = *++p; - if (yych == 'P') goto yy433; - if (yych == 'p') goto yy433; - goto yy358; -yy390: - yych = *++p; - if (yych == 'N') goto yy434; - if (yych == 'n') goto yy434; - goto yy358; -yy391: - yych = *++p; - if (yych == 'L') goto yy435; - if (yych == 'l') goto yy435; - goto yy358; -yy392: - yych = *++p; - if (yych <= ' ') { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - if (yych <= 0x1F) goto yy358; - goto yy408; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy358; - goto yy410; - } else { - if (yych == '>') goto yy408; - goto yy358; - } - } -yy393: - yych = *++p; - if (yych == 'T') goto yy436; - if (yych == 't') goto yy436; - goto yy358; -yy394: - yych = *++p; - if (yych <= 'V') { - if (yych <= 'Q') { - if (yych == 'A') goto yy437; - goto yy358; - } else { - if (yych <= 'R') goto yy392; - if (yych <= 'U') goto yy358; - goto yy392; - } - } else { - if (yych <= 'q') { - if (yych == 'a') goto yy437; - goto yy358; - } else { - if (yych <= 'r') goto yy392; - if (yych == 'v') goto yy392; - goto yy358; - } - } -yy395: - yych = *++p; - if (yych <= 'G') { - if (yych == 'E') goto yy438; - if (yych <= 'F') goto yy358; - goto yy439; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy358; - goto yy438; - } else { - if (yych == 'g') goto yy439; - goto yy358; - } - } -yy396: - yych = *++p; - if (yych <= 'R') { - if (yych == 'O') goto yy434; - if (yych <= 'Q') goto yy358; - goto yy440; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy358; - goto yy434; - } else { - if (yych == 'r') goto yy440; - goto yy358; - } - } -yy397: - yych = *++p; - if (yych == 'A') goto yy441; - if (yych == 'a') goto yy441; - goto yy358; -yy398: - yych = *++p; - if (yych == 'A') goto yy442; - if (yych == 'a') goto yy442; - goto yy358; -yy399: - yych = *++p; - if (yych == 'M') goto yy376; - if (yych == 'm') goto yy376; - goto yy358; -yy400: - yych = *++p; - if (yych == 'R') goto yy443; - if (yych == 'r') goto yy443; - goto yy358; -yy401: - yych = *++p; - if (yych == 'G') goto yy444; - if (yych == 'g') goto yy444; - goto yy358; -yy402: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'M') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'N') goto yy445; - if (yych == 'n') goto yy445; - goto yy358; - } - } -yy403: - yych = *++p; - if (yych == 'I') goto yy446; - if (yych == 'i') goto yy446; - goto yy358; -yy404: - yych = *++p; - if (yych == 'N') goto yy447; - if (yych == 'n') goto yy447; - goto yy358; -yy405: - yych = *++p; - if (yych == 'V') goto yy392; - if (yych == 'v') goto yy392; - goto yy358; -yy406: - yych = *++p; - if (yych == 'F') goto yy448; - if (yych == 'f') goto yy448; - goto yy358; -yy407: - yych = *++p; - if (yych == 'T') goto yy449; - if (yych == 't') goto yy449; - goto yy358; -yy408: - ++p; - { return 6; } -yy410: - yych = *++p; - if (yych == '>') goto yy408; - goto yy358; -yy411: - yych = *++p; - if (yych == 'R') goto yy450; - if (yych == 'r') goto yy450; - goto yy358; -yy412: - yych = *++p; - if (yych == 'E') goto yy451; - if (yych == 'e') goto yy451; - goto yy358; -yy413: - yych = *++p; - if (yych == 'R') goto yy452; - if (yych == 'r') goto yy452; - goto yy358; -yy414: - yych = *++p; - if (yych == 'C') goto yy433; - if (yych == 'c') goto yy433; - goto yy358; -yy415: - yych = *++p; - if (yych == 'U') goto yy453; - if (yych == 'u') goto yy453; - goto yy358; -yy416: - yych = *++p; - if (yych == 'Y') goto yy454; - if (yych == 'y') goto yy454; - goto yy358; -yy417: - yych = *++p; - if (yych == 'M') goto yy455; - if (yych == 'm') goto yy455; - goto yy358; -yy418: - yych = *++p; - if (yych == 'B') goto yy456; - if (yych == 'b') goto yy456; - goto yy358; -yy419: - yych = *++p; - if (yych == 'O') goto yy388; - if (yych == 'o') goto yy388; - goto yy358; -yy420: - yych = *++p; - if (yych == 'O') goto yy457; - if (yych == 'o') goto yy457; - goto yy358; -yy421: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'D') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'E') goto yy458; - if (yych == 'e') goto yy458; - goto yy358; - } - } -yy422: - yych = *++p; - if (yych == 'T') goto yy456; - if (yych == 't') goto yy456; - goto yy358; -yy423: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= '@') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'A') goto yy459; - if (yych == 'a') goto yy459; - goto yy358; - } - } -yy424: - ++p; - { return 2; } -yy426: - yych = *++p; - if (yych == 'D') goto yy460; - if (yych == 'd') goto yy460; - goto yy358; -yy427: - yych = *++p; - if (yych == 'R') goto yy461; - if (yych == 'r') goto yy461; - goto yy358; -yy428: - yych = *++p; - if (yych == 'I') goto yy462; - if (yych == 'i') goto yy462; - goto yy358; -yy429: - yych = *++p; - if (yych == 'D') goto yy463; - if (yych == 'd') goto yy463; - goto yy358; -yy430: - yych = *++p; - if (yych == 'E') goto yy464; - if (yych == 'e') goto yy464; - goto yy358; -yy431: - yych = *++p; - if (yych == 'C') goto yy465; - if (yych == 'c') goto yy465; - goto yy358; -yy432: - yych = *++p; - if (yych == 'Y') goto yy392; - if (yych == 'y') goto yy392; - goto yy358; -yy433: - yych = *++p; - if (yych == 'T') goto yy466; - if (yych == 't') goto yy466; - goto yy358; -yy434: - yych = *++p; - if (yych == 'T') goto yy467; - if (yych == 't') goto yy467; - goto yy358; -yy435: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'F') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'G') goto yy468; - if (yych == 'g') goto yy468; - goto yy358; - } - } -yy436: - yych = *++p; - if (yych == 'A') goto yy469; - if (yych == 'a') goto yy469; - goto yy358; -yy437: - yych = *++p; - if (yych == 'L') goto yy470; - if (yych == 'l') goto yy470; - goto yy358; -yy438: - yych = *++p; - if (yych == 'L') goto yy471; - if (yych == 'l') goto yy471; - goto yy358; -yy439: - yych = *++p; - if (yych <= 'U') { - if (yych == 'C') goto yy472; - if (yych <= 'T') goto yy358; - goto yy473; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy358; - goto yy472; - } else { - if (yych == 'u') goto yy473; - goto yy358; - } - } -yy440: - yych = *++p; - if (yych == 'M') goto yy392; - if (yych == 'm') goto yy392; - goto yy358; -yy441: - yych = *++p; - if (yych == 'M') goto yy474; - if (yych == 'm') goto yy474; - goto yy358; -yy442: - yych = *++p; - if (yych == 'D') goto yy475; - if (yych == 'd') goto yy475; - goto yy358; -yy443: - yych = *++p; - if (yych == 'A') goto yy476; - if (yych == 'a') goto yy476; - goto yy358; -yy444: - yych = *++p; - if (yych == 'E') goto yy477; - if (yych == 'e') goto yy477; - goto yy358; -yy445: - yych = *++p; - if (yych == 'K') goto yy392; - if (yych == 'k') goto yy392; - goto yy358; -yy446: - yych = *++p; - if (yych == 'N') goto yy392; - if (yych == 'n') goto yy392; - goto yy358; -yy447: - yych = *++p; - if (yych == 'U') goto yy478; - if (yych == 'u') goto yy478; - goto yy358; -yy448: - yych = *++p; - if (yych == 'R') goto yy479; - if (yych == 'r') goto yy479; - goto yy358; -yy449: - yych = *++p; - if (yych <= 'I') { - if (yych == 'G') goto yy468; - if (yych <= 'H') goto yy358; - goto yy480; - } else { - if (yych <= 'g') { - if (yych <= 'f') goto yy358; - goto yy468; - } else { - if (yych == 'i') goto yy480; - goto yy358; - } - } -yy450: - yych = *++p; - if (yych == 'A') goto yy440; - if (yych == 'a') goto yy440; - goto yy358; -yy451: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy481; - goto yy358; - } else { - if (yych <= ' ') goto yy481; - if (yych == '>') goto yy481; - goto yy358; - } -yy452: - yych = *++p; - if (yych == 'I') goto yy483; - if (yych == 'i') goto yy483; - goto yy358; -yy453: - yych = *++p; - if (yych == 'R') goto yy484; - if (yych == 'r') goto yy484; - goto yy358; -yy454: - yych = *++p; - if (yych == 'L') goto yy412; - if (yych == 'l') goto yy412; - goto yy358; -yy455: - yych = *++p; - if (yych == 'M') goto yy485; - if (yych == 'm') goto yy485; - goto yy358; -yy456: - yych = *++p; - if (yych == 'L') goto yy463; - if (yych == 'l') goto yy463; - goto yy358; -yy457: - yych = *++p; - if (yych == 'O') goto yy486; - if (yych == 'o') goto yy486; - goto yy358; -yy458: - yych = *++p; - if (yych == 'A') goto yy487; - if (yych == 'a') goto yy487; - goto yy358; -yy459: - yych = *++p; - if (yych == 'C') goto yy445; - if (yych == 'c') goto yy445; - goto yy358; -yy460: - yych = *++p; - if (yych == 'A') goto yy488; - if (yych == 'a') goto yy488; - goto yy358; -yy461: - yych = *++p; - if (yych == 'E') goto yy489; - if (yych == 'e') goto yy489; - goto yy358; -yy462: - yych = *++p; - if (yych == 'C') goto yy456; - if (yych == 'c') goto yy456; - goto yy358; -yy463: - yych = *++p; - if (yych == 'E') goto yy392; - if (yych == 'e') goto yy392; - goto yy358; -yy464: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'E') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'F') goto yy490; - if (yych == 'f') goto yy490; - goto yy358; - } - } -yy465: - yych = *++p; - if (yych == 'K') goto yy491; - if (yych == 'k') goto yy491; - goto yy358; -yy466: - yych = *++p; - if (yych == 'I') goto yy480; - if (yych == 'i') goto yy480; - goto yy358; -yy467: - yych = *++p; - if (yych == 'E') goto yy492; - if (yych == 'e') goto yy492; - goto yy358; -yy468: - yych = *++p; - if (yych == 'R') goto yy493; - if (yych == 'r') goto yy493; - goto yy358; -yy469: - yych = *++p; - if (yych == 'I') goto yy494; - if (yych == 'i') goto yy494; - goto yy358; -yy470: - yych = *++p; - if (yych == 'O') goto yy495; - if (yych == 'o') goto yy495; - goto yy358; -yy471: - yych = *++p; - if (yych == 'D') goto yy496; - if (yych == 'd') goto yy496; - goto yy358; -yy472: - yych = *++p; - if (yych == 'A') goto yy389; - if (yych == 'a') goto yy389; - goto yy358; -yy473: - yych = *++p; - if (yych == 'R') goto yy463; - if (yych == 'r') goto yy463; - goto yy358; -yy474: - yych = *++p; - if (yych == 'E') goto yy497; - if (yych == 'e') goto yy497; - goto yy358; -yy475: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'D') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'E') goto yy492; - if (yych == 'e') goto yy492; - goto yy358; - } - } -yy476: - yych = *++p; - if (yych == 'M') goto yy463; - if (yych == 'm') goto yy463; - goto yy358; -yy477: - yych = *++p; - if (yych == 'N') goto yy487; - if (yych == 'n') goto yy487; - goto yy358; -yy478: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'H') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'I') goto yy498; - if (yych == 'i') goto yy498; - goto yy358; - } - } -yy479: - yych = *++p; - if (yych == 'A') goto yy499; - if (yych == 'a') goto yy499; - goto yy358; -yy480: - yych = *++p; - if (yych == 'O') goto yy446; - if (yych == 'o') goto yy446; - goto yy358; -yy481: - ++p; - { return 1; } -yy483: - yych = *++p; - if (yych == 'P') goto yy500; - if (yych == 'p') goto yy500; - goto yy358; -yy484: - yych = *++p; - if (yych == 'C') goto yy463; - if (yych == 'c') goto yy463; - goto yy358; -yy485: - yych = *++p; - if (yych == 'A') goto yy501; - if (yych == 'a') goto yy501; - goto yy358; -yy486: - yych = *++p; - if (yych == 'T') goto yy392; - if (yych == 't') goto yy392; - goto yy358; -yy487: - yych = *++p; - if (yych == 'D') goto yy392; - if (yych == 'd') goto yy392; - goto yy358; -yy488: - yych = *++p; - if (yych == 'T') goto yy502; - if (yych == 't') goto yy502; - goto yy358; -yy489: - yych = *++p; - if (yych == 'S') goto yy503; - if (yych == 's') goto yy503; - goto yy358; -yy490: - yych = *++p; - if (yych == 'O') goto yy504; - if (yych == 'o') goto yy504; - goto yy358; -yy491: - yych = *++p; - if (yych == 'Q') goto yy505; - if (yych == 'q') goto yy505; - goto yy358; -yy492: - yych = *++p; - if (yych == 'R') goto yy392; - if (yych == 'r') goto yy392; - goto yy358; -yy493: - yych = *++p; - if (yych == 'O') goto yy506; - if (yych == 'o') goto yy506; - goto yy358; -yy494: - yych = *++p; - if (yych == 'L') goto yy503; - if (yych == 'l') goto yy503; - goto yy358; -yy495: - yych = *++p; - if (yych == 'G') goto yy392; - if (yych == 'g') goto yy392; - goto yy358; -yy496: - yych = *++p; - if (yych == 'S') goto yy507; - if (yych == 's') goto yy507; - goto yy358; -yy497: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'R') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'S') goto yy507; - if (yych == 's') goto yy507; - goto yy358; - } - } -yy498: - yych = *++p; - if (yych == 'T') goto yy508; - if (yych == 't') goto yy508; - goto yy358; -yy499: - yych = *++p; - if (yych == 'M') goto yy509; - if (yych == 'm') goto yy509; - goto yy358; -yy500: - yych = *++p; - if (yych == 'T') goto yy451; - if (yych == 't') goto yy451; - goto yy358; -yy501: - yych = *++p; - if (yych == 'R') goto yy432; - if (yych == 'r') goto yy432; - goto yy358; -yy502: - yych = *++p; - if (yych == 'A') goto yy510; - if (yych == 'a') goto yy510; - goto yy358; -yy503: - yych = *++p; - if (yych == 'S') goto yy392; - if (yych == 's') goto yy392; - goto yy358; -yy504: - yych = *++p; - if (yych == 'N') goto yy486; - if (yych == 'n') goto yy486; - goto yy358; -yy505: - yych = *++p; - if (yych == 'U') goto yy511; - if (yych == 'u') goto yy511; - goto yy358; -yy506: - yych = *++p; - if (yych == 'U') goto yy512; - if (yych == 'u') goto yy512; - goto yy358; -yy507: - yych = *++p; - if (yych == 'E') goto yy486; - if (yych == 'e') goto yy486; - goto yy358; -yy508: - yych = *++p; - if (yych == 'E') goto yy440; - if (yych == 'e') goto yy440; - goto yy358; -yy509: - yych = *++p; - if (yych == 'E') goto yy503; - if (yych == 'e') goto yy503; - goto yy358; -yy510: - yych = *++p; - if (yych == '[') goto yy513; - goto yy358; -yy511: - yych = *++p; - if (yych == 'O') goto yy515; - if (yych == 'o') goto yy515; - goto yy358; -yy512: - yych = *++p; - if (yych == 'P') goto yy392; - if (yych == 'p') goto yy392; - goto yy358; -yy513: - ++p; - { return 5; } -yy515: - yych = *++p; - if (yych == 'T') goto yy463; - if (yych == 't') goto yy463; - goto yy358; -} - + { + unsigned char yych; + yych = *p; + if (yych == '<') + goto yy296; + ++p; + yy295 : { return 0; } + yy296: + yych = *(marker = ++p); + switch (yych) { + case '!': + goto yy297; + case '/': + goto yy299; + case '?': + goto yy300; + case 'A': + case 'a': + goto yy301; + case 'B': + case 'b': + goto yy302; + case 'C': + case 'c': + goto yy303; + case 'D': + case 'd': + goto yy304; + case 'F': + case 'f': + goto yy305; + case 'H': + case 'h': + goto yy306; + case 'I': + case 'i': + goto yy307; + case 'L': + case 'l': + goto yy308; + case 'M': + case 'm': + goto yy309; + case 'N': + case 'n': + goto yy310; + case 'O': + case 'o': + goto yy311; + case 'P': + case 'p': + goto yy312; + case 'S': + case 's': + goto yy313; + case 'T': + case 't': + goto yy314; + case 'U': + case 'u': + goto yy315; + default: + goto yy295; + } + yy297: + yych = *++p; + if (yych <= '@') { + if (yych == '-') + goto yy316; + } else { + if (yych <= 'Z') + goto yy317; + if (yych <= '[') + goto yy318; + } + yy298: + p = marker; + goto yy295; + yy299: + yych = *++p; + switch (yych) { + case 'A': + case 'a': + goto yy301; + case 'B': + case 'b': + goto yy302; + case 'C': + case 'c': + goto yy303; + case 'D': + case 'd': + goto yy304; + case 'F': + case 'f': + goto yy305; + case 'H': + case 'h': + goto yy306; + case 'I': + case 'i': + goto yy307; + case 'L': + case 'l': + goto yy308; + case 'M': + case 'm': + goto yy309; + case 'N': + case 'n': + goto yy310; + case 'O': + case 'o': + goto yy311; + case 'P': + case 'p': + goto yy319; + case 'S': + case 's': + goto yy320; + case 'T': + case 't': + goto yy321; + case 'U': + case 'u': + goto yy315; + default: + goto yy298; + } + yy300: + ++p; + { return 3; } + yy301: + yych = *++p; + if (yych <= 'S') { + if (yych <= 'D') { + if (yych <= 'C') + goto yy298; + goto yy322; + } else { + if (yych <= 'Q') + goto yy298; + if (yych <= 'R') + goto yy323; + goto yy324; + } + } else { + if (yych <= 'q') { + if (yych == 'd') + goto yy322; + goto yy298; + } else { + if (yych <= 'r') + goto yy323; + if (yych <= 's') + goto yy324; + goto yy298; + } + } + yy302: + yych = *++p; + if (yych <= 'O') { + if (yych <= 'K') { + if (yych == 'A') + goto yy325; + goto yy298; + } else { + if (yych <= 'L') + goto yy326; + if (yych <= 'N') + goto yy298; + goto yy327; + } + } else { + if (yych <= 'k') { + if (yych == 'a') + goto yy325; + goto yy298; + } else { + if (yych <= 'l') + goto yy326; + if (yych == 'o') + goto yy327; + goto yy298; + } + } + yy303: + yych = *++p; + if (yych <= 'O') { + if (yych <= 'D') { + if (yych == 'A') + goto yy328; + goto yy298; + } else { + if (yych <= 'E') + goto yy329; + if (yych <= 'N') + goto yy298; + goto yy330; + } + } else { + if (yych <= 'd') { + if (yych == 'a') + goto yy328; + goto yy298; + } else { + if (yych <= 'e') + goto yy329; + if (yych == 'o') + goto yy330; + goto yy298; + } + } + yy304: + yych = *++p; + switch (yych) { + case 'D': + case 'L': + case 'T': + case 'd': + case 'l': + case 't': + goto yy331; + case 'E': + case 'e': + goto yy332; + case 'I': + case 'i': + goto yy333; + default: + goto yy298; + } + yy305: + yych = *++p; + if (yych <= 'R') { + if (yych <= 'N') { + if (yych == 'I') + goto yy334; + goto yy298; + } else { + if (yych <= 'O') + goto yy335; + if (yych <= 'Q') + goto yy298; + goto yy336; + } + } else { + if (yych <= 'n') { + if (yych == 'i') + goto yy334; + goto yy298; + } else { + if (yych <= 'o') + goto yy335; + if (yych == 'r') + goto yy336; + goto yy298; + } + } + yy306: + yych = *++p; + if (yych <= 'S') { + if (yych <= 'D') { + if (yych <= '0') + goto yy298; + if (yych <= '6') + goto yy331; + goto yy298; + } else { + if (yych <= 'E') + goto yy337; + if (yych == 'R') + goto yy331; + goto yy298; + } + } else { + if (yych <= 'q') { + if (yych <= 'T') + goto yy338; + if (yych == 'e') + goto yy337; + goto yy298; + } else { + if (yych <= 'r') + goto yy331; + if (yych == 't') + goto yy338; + goto yy298; + } + } + yy307: + yych = *++p; + if (yych == 'F') + goto yy339; + if (yych == 'f') + goto yy339; + goto yy298; + yy308: + yych = *++p; + if (yych <= 'I') { + if (yych == 'E') + goto yy340; + if (yych <= 'H') + goto yy298; + goto yy341; + } else { + if (yych <= 'e') { + if (yych <= 'd') + goto yy298; + goto yy340; + } else { + if (yych == 'i') + goto yy341; + goto yy298; + } + } + yy309: + yych = *++p; + if (yych <= 'E') { + if (yych == 'A') + goto yy342; + if (yych <= 'D') + goto yy298; + goto yy343; + } else { + if (yych <= 'a') { + if (yych <= '`') + goto yy298; + goto yy342; + } else { + if (yych == 'e') + goto yy343; + goto yy298; + } + } + yy310: + yych = *++p; + if (yych <= 'O') { + if (yych == 'A') + goto yy344; + if (yych <= 'N') + goto yy298; + goto yy345; + } else { + if (yych <= 'a') { + if (yych <= '`') + goto yy298; + goto yy344; + } else { + if (yych == 'o') + goto yy345; + goto yy298; + } + } + yy311: + yych = *++p; + if (yych <= 'P') { + if (yych == 'L') + goto yy331; + if (yych <= 'O') + goto yy298; + goto yy346; + } else { + if (yych <= 'l') { + if (yych <= 'k') + goto yy298; + goto yy331; + } else { + if (yych == 'p') + goto yy346; + goto yy298; + } + } + yy312: + yych = *++p; + if (yych <= '>') { + if (yych <= ' ') { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + if (yych <= 0x1F) + goto yy298; + goto yy347; + } else { + if (yych == '/') + goto yy348; + if (yych <= '=') + goto yy298; + goto yy347; + } + } else { + if (yych <= 'R') { + if (yych == 'A') + goto yy349; + if (yych <= 'Q') + goto yy298; + goto yy350; + } else { + if (yych <= 'a') { + if (yych <= '`') + goto yy298; + goto yy349; + } else { + if (yych == 'r') + goto yy350; + goto yy298; + } + } + } + yy313: + yych = *++p; + switch (yych) { + case 'C': + case 'c': + goto yy351; + case 'E': + case 'e': + goto yy352; + case 'O': + case 'o': + goto yy353; + case 'T': + case 't': + goto yy354; + case 'U': + case 'u': + goto yy355; + default: + goto yy298; + } + yy314: + yych = *++p; + switch (yych) { + case 'A': + case 'a': + goto yy356; + case 'B': + case 'b': + goto yy357; + case 'D': + case 'd': + goto yy331; + case 'E': + case 'e': + goto yy358; + case 'F': + case 'f': + goto yy359; + case 'H': + case 'h': + goto yy360; + case 'I': + case 'i': + goto yy361; + case 'R': + case 'r': + goto yy362; + default: + goto yy298; + } + yy315: + yych = *++p; + if (yych == 'L') + goto yy331; + if (yych == 'l') + goto yy331; + goto yy298; + yy316: + yych = *++p; + if (yych == '-') + goto yy363; + goto yy298; + yy317: + ++p; + { return 4; } + yy318: + yych = *++p; + if (yych == 'C') + goto yy364; + if (yych == 'c') + goto yy364; + goto yy298; + yy319: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= '@') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'A') + goto yy349; + if (yych == 'a') + goto yy349; + goto yy298; + } + } + yy320: + yych = *++p; + if (yych <= 'U') { + if (yych <= 'N') { + if (yych == 'E') + goto yy352; + goto yy298; + } else { + if (yych <= 'O') + goto yy353; + if (yych <= 'T') + goto yy298; + goto yy355; + } + } else { + if (yych <= 'n') { + if (yych == 'e') + goto yy352; + goto yy298; + } else { + if (yych <= 'o') + goto yy353; + if (yych == 'u') + goto yy355; + goto yy298; + } + } + yy321: + yych = *++p; + switch (yych) { + case 'A': + case 'a': + goto yy356; + case 'B': + case 'b': + goto yy357; + case 'D': + case 'd': + goto yy331; + case 'F': + case 'f': + goto yy359; + case 'H': + case 'h': + goto yy360; + case 'I': + case 'i': + goto yy361; + case 'R': + case 'r': + goto yy362; + default: + goto yy298; + } + yy322: + yych = *++p; + if (yych == 'D') + goto yy365; + if (yych == 'd') + goto yy365; + goto yy298; + yy323: + yych = *++p; + if (yych == 'T') + goto yy366; + if (yych == 't') + goto yy366; + goto yy298; + yy324: + yych = *++p; + if (yych == 'I') + goto yy367; + if (yych == 'i') + goto yy367; + goto yy298; + yy325: + yych = *++p; + if (yych == 'S') + goto yy368; + if (yych == 's') + goto yy368; + goto yy298; + yy326: + yych = *++p; + if (yych == 'O') + goto yy369; + if (yych == 'o') + goto yy369; + goto yy298; + yy327: + yych = *++p; + if (yych == 'D') + goto yy370; + if (yych == 'd') + goto yy370; + goto yy298; + yy328: + yych = *++p; + if (yych == 'P') + goto yy371; + if (yych == 'p') + goto yy371; + goto yy298; + yy329: + yych = *++p; + if (yych == 'N') + goto yy372; + if (yych == 'n') + goto yy372; + goto yy298; + yy330: + yych = *++p; + if (yych == 'L') + goto yy373; + if (yych == 'l') + goto yy373; + goto yy298; + yy331: + yych = *++p; + if (yych <= ' ') { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + if (yych <= 0x1F) + goto yy298; + goto yy347; + } else { + if (yych <= '/') { + if (yych <= '.') + goto yy298; + goto yy348; + } else { + if (yych == '>') + goto yy347; + goto yy298; + } + } + yy332: + yych = *++p; + if (yych == 'T') + goto yy374; + if (yych == 't') + goto yy374; + goto yy298; + yy333: + yych = *++p; + if (yych <= 'V') { + if (yych <= 'Q') { + if (yych == 'A') + goto yy375; + goto yy298; + } else { + if (yych <= 'R') + goto yy331; + if (yych <= 'U') + goto yy298; + goto yy331; + } + } else { + if (yych <= 'q') { + if (yych == 'a') + goto yy375; + goto yy298; + } else { + if (yych <= 'r') + goto yy331; + if (yych == 'v') + goto yy331; + goto yy298; + } + } + yy334: + yych = *++p; + if (yych <= 'G') { + if (yych == 'E') + goto yy376; + if (yych <= 'F') + goto yy298; + goto yy377; + } else { + if (yych <= 'e') { + if (yych <= 'd') + goto yy298; + goto yy376; + } else { + if (yych == 'g') + goto yy377; + goto yy298; + } + } + yy335: + yych = *++p; + if (yych <= 'R') { + if (yych == 'O') + goto yy372; + if (yych <= 'Q') + goto yy298; + goto yy378; + } else { + if (yych <= 'o') { + if (yych <= 'n') + goto yy298; + goto yy372; + } else { + if (yych == 'r') + goto yy378; + goto yy298; + } + } + yy336: + yych = *++p; + if (yych == 'A') + goto yy379; + if (yych == 'a') + goto yy379; + goto yy298; + yy337: + yych = *++p; + if (yych == 'A') + goto yy380; + if (yych == 'a') + goto yy380; + goto yy298; + yy338: + yych = *++p; + if (yych == 'M') + goto yy315; + if (yych == 'm') + goto yy315; + goto yy298; + yy339: + yych = *++p; + if (yych == 'R') + goto yy381; + if (yych == 'r') + goto yy381; + goto yy298; + yy340: + yych = *++p; + if (yych == 'G') + goto yy382; + if (yych == 'g') + goto yy382; + goto yy298; + yy341: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'M') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'N') + goto yy383; + if (yych == 'n') + goto yy383; + goto yy298; + } + } + yy342: + yych = *++p; + if (yych == 'I') + goto yy384; + if (yych == 'i') + goto yy384; + goto yy298; + yy343: + yych = *++p; + if (yych == 'N') + goto yy385; + if (yych == 'n') + goto yy385; + goto yy298; + yy344: + yych = *++p; + if (yych == 'V') + goto yy331; + if (yych == 'v') + goto yy331; + goto yy298; + yy345: + yych = *++p; + if (yych == 'F') + goto yy386; + if (yych == 'f') + goto yy386; + goto yy298; + yy346: + yych = *++p; + if (yych == 'T') + goto yy387; + if (yych == 't') + goto yy387; + goto yy298; + yy347: + ++p; + { return 6; } + yy348: + yych = *++p; + if (yych == '>') + goto yy347; + goto yy298; + yy349: + yych = *++p; + if (yych == 'R') + goto yy388; + if (yych == 'r') + goto yy388; + goto yy298; + yy350: + yych = *++p; + if (yych == 'E') + goto yy389; + if (yych == 'e') + goto yy389; + goto yy298; + yy351: + yych = *++p; + if (yych == 'R') + goto yy390; + if (yych == 'r') + goto yy390; + goto yy298; + yy352: + yych = *++p; + if (yych == 'C') + goto yy371; + if (yych == 'c') + goto yy371; + goto yy298; + yy353: + yych = *++p; + if (yych == 'U') + goto yy391; + if (yych == 'u') + goto yy391; + goto yy298; + yy354: + yych = *++p; + if (yych == 'Y') + goto yy392; + if (yych == 'y') + goto yy392; + goto yy298; + yy355: + yych = *++p; + if (yych == 'M') + goto yy393; + if (yych == 'm') + goto yy393; + goto yy298; + yy356: + yych = *++p; + if (yych == 'B') + goto yy394; + if (yych == 'b') + goto yy394; + goto yy298; + yy357: + yych = *++p; + if (yych == 'O') + goto yy327; + if (yych == 'o') + goto yy327; + goto yy298; + yy358: + yych = *++p; + if (yych == 'X') + goto yy395; + if (yych == 'x') + goto yy395; + goto yy298; + yy359: + yych = *++p; + if (yych == 'O') + goto yy396; + if (yych == 'o') + goto yy396; + goto yy298; + yy360: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'D') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'E') + goto yy397; + if (yych == 'e') + goto yy397; + goto yy298; + } + } + yy361: + yych = *++p; + if (yych == 'T') + goto yy394; + if (yych == 't') + goto yy394; + goto yy298; + yy362: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= '@') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'A') + goto yy398; + if (yych == 'a') + goto yy398; + goto yy298; + } + } + yy363: + ++p; + { return 2; } + yy364: + yych = *++p; + if (yych == 'D') + goto yy399; + if (yych == 'd') + goto yy399; + goto yy298; + yy365: + yych = *++p; + if (yych == 'R') + goto yy400; + if (yych == 'r') + goto yy400; + goto yy298; + yy366: + yych = *++p; + if (yych == 'I') + goto yy401; + if (yych == 'i') + goto yy401; + goto yy298; + yy367: + yych = *++p; + if (yych == 'D') + goto yy402; + if (yych == 'd') + goto yy402; + goto yy298; + yy368: + yych = *++p; + if (yych == 'E') + goto yy403; + if (yych == 'e') + goto yy403; + goto yy298; + yy369: + yych = *++p; + if (yych == 'C') + goto yy404; + if (yych == 'c') + goto yy404; + goto yy298; + yy370: + yych = *++p; + if (yych == 'Y') + goto yy331; + if (yych == 'y') + goto yy331; + goto yy298; + yy371: + yych = *++p; + if (yych == 'T') + goto yy405; + if (yych == 't') + goto yy405; + goto yy298; + yy372: + yych = *++p; + if (yych == 'T') + goto yy406; + if (yych == 't') + goto yy406; + goto yy298; + yy373: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'F') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'G') + goto yy407; + if (yych == 'g') + goto yy407; + goto yy298; + } + } + yy374: + yych = *++p; + if (yych == 'A') + goto yy408; + if (yych == 'a') + goto yy408; + goto yy298; + yy375: + yych = *++p; + if (yych == 'L') + goto yy409; + if (yych == 'l') + goto yy409; + goto yy298; + yy376: + yych = *++p; + if (yych == 'L') + goto yy410; + if (yych == 'l') + goto yy410; + goto yy298; + yy377: + yych = *++p; + if (yych <= 'U') { + if (yych == 'C') + goto yy411; + if (yych <= 'T') + goto yy298; + goto yy412; + } else { + if (yych <= 'c') { + if (yych <= 'b') + goto yy298; + goto yy411; + } else { + if (yych == 'u') + goto yy412; + goto yy298; + } + } + yy378: + yych = *++p; + if (yych == 'M') + goto yy331; + if (yych == 'm') + goto yy331; + goto yy298; + yy379: + yych = *++p; + if (yych == 'M') + goto yy413; + if (yych == 'm') + goto yy413; + goto yy298; + yy380: + yych = *++p; + if (yych == 'D') + goto yy414; + if (yych == 'd') + goto yy414; + goto yy298; + yy381: + yych = *++p; + if (yych == 'A') + goto yy415; + if (yych == 'a') + goto yy415; + goto yy298; + yy382: + yych = *++p; + if (yych == 'E') + goto yy416; + if (yych == 'e') + goto yy416; + goto yy298; + yy383: + yych = *++p; + if (yych == 'K') + goto yy331; + if (yych == 'k') + goto yy331; + goto yy298; + yy384: + yych = *++p; + if (yych == 'N') + goto yy331; + if (yych == 'n') + goto yy331; + goto yy298; + yy385: + yych = *++p; + if (yych == 'U') + goto yy417; + if (yych == 'u') + goto yy417; + goto yy298; + yy386: + yych = *++p; + if (yych == 'R') + goto yy418; + if (yych == 'r') + goto yy418; + goto yy298; + yy387: + yych = *++p; + if (yych <= 'I') { + if (yych == 'G') + goto yy407; + if (yych <= 'H') + goto yy298; + goto yy419; + } else { + if (yych <= 'g') { + if (yych <= 'f') + goto yy298; + goto yy407; + } else { + if (yych == 'i') + goto yy419; + goto yy298; + } + } + yy388: + yych = *++p; + if (yych == 'A') + goto yy378; + if (yych == 'a') + goto yy378; + goto yy298; + yy389: + yych = *++p; + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy420; + goto yy298; + } else { + if (yych <= ' ') + goto yy420; + if (yych == '>') + goto yy420; + goto yy298; + } + yy390: + yych = *++p; + if (yych == 'I') + goto yy421; + if (yych == 'i') + goto yy421; + goto yy298; + yy391: + yych = *++p; + if (yych == 'R') + goto yy422; + if (yych == 'r') + goto yy422; + goto yy298; + yy392: + yych = *++p; + if (yych == 'L') + goto yy350; + if (yych == 'l') + goto yy350; + goto yy298; + yy393: + yych = *++p; + if (yych == 'M') + goto yy423; + if (yych == 'm') + goto yy423; + goto yy298; + yy394: + yych = *++p; + if (yych == 'L') + goto yy402; + if (yych == 'l') + goto yy402; + goto yy298; + yy395: + yych = *++p; + if (yych == 'T') + goto yy424; + if (yych == 't') + goto yy424; + goto yy298; + yy396: + yych = *++p; + if (yych == 'O') + goto yy425; + if (yych == 'o') + goto yy425; + goto yy298; + yy397: + yych = *++p; + if (yych == 'A') + goto yy426; + if (yych == 'a') + goto yy426; + goto yy298; + yy398: + yych = *++p; + if (yych == 'C') + goto yy383; + if (yych == 'c') + goto yy383; + goto yy298; + yy399: + yych = *++p; + if (yych == 'A') + goto yy427; + if (yych == 'a') + goto yy427; + goto yy298; + yy400: + yych = *++p; + if (yych == 'E') + goto yy428; + if (yych == 'e') + goto yy428; + goto yy298; + yy401: + yych = *++p; + if (yych == 'C') + goto yy394; + if (yych == 'c') + goto yy394; + goto yy298; + yy402: + yych = *++p; + if (yych == 'E') + goto yy331; + if (yych == 'e') + goto yy331; + goto yy298; + yy403: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'E') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'F') + goto yy429; + if (yych == 'f') + goto yy429; + goto yy298; + } + } + yy404: + yych = *++p; + if (yych == 'K') + goto yy430; + if (yych == 'k') + goto yy430; + goto yy298; + yy405: + yych = *++p; + if (yych == 'I') + goto yy419; + if (yych == 'i') + goto yy419; + goto yy298; + yy406: + yych = *++p; + if (yych == 'E') + goto yy431; + if (yych == 'e') + goto yy431; + goto yy298; + yy407: + yych = *++p; + if (yych == 'R') + goto yy432; + if (yych == 'r') + goto yy432; + goto yy298; + yy408: + yych = *++p; + if (yych == 'I') + goto yy433; + if (yych == 'i') + goto yy433; + goto yy298; + yy409: + yych = *++p; + if (yych == 'O') + goto yy434; + if (yych == 'o') + goto yy434; + goto yy298; + yy410: + yych = *++p; + if (yych == 'D') + goto yy435; + if (yych == 'd') + goto yy435; + goto yy298; + yy411: + yych = *++p; + if (yych == 'A') + goto yy328; + if (yych == 'a') + goto yy328; + goto yy298; + yy412: + yych = *++p; + if (yych == 'R') + goto yy402; + if (yych == 'r') + goto yy402; + goto yy298; + yy413: + yych = *++p; + if (yych == 'E') + goto yy436; + if (yych == 'e') + goto yy436; + goto yy298; + yy414: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'D') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'E') + goto yy431; + if (yych == 'e') + goto yy431; + goto yy298; + } + } + yy415: + yych = *++p; + if (yych == 'M') + goto yy402; + if (yych == 'm') + goto yy402; + goto yy298; + yy416: + yych = *++p; + if (yych == 'N') + goto yy426; + if (yych == 'n') + goto yy426; + goto yy298; + yy417: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'H') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'I') + goto yy437; + if (yych == 'i') + goto yy437; + goto yy298; + } + } + yy418: + yych = *++p; + if (yych == 'A') + goto yy438; + if (yych == 'a') + goto yy438; + goto yy298; + yy419: + yych = *++p; + if (yych == 'O') + goto yy384; + if (yych == 'o') + goto yy384; + goto yy298; + yy420: + ++p; + { return 1; } + yy421: + yych = *++p; + if (yych == 'P') + goto yy439; + if (yych == 'p') + goto yy439; + goto yy298; + yy422: + yych = *++p; + if (yych == 'C') + goto yy402; + if (yych == 'c') + goto yy402; + goto yy298; + yy423: + yych = *++p; + if (yych == 'A') + goto yy440; + if (yych == 'a') + goto yy440; + goto yy298; + yy424: + yych = *++p; + if (yych == 'A') + goto yy441; + if (yych == 'a') + goto yy441; + goto yy298; + yy425: + yych = *++p; + if (yych == 'T') + goto yy331; + if (yych == 't') + goto yy331; + goto yy298; + yy426: + yych = *++p; + if (yych == 'D') + goto yy331; + if (yych == 'd') + goto yy331; + goto yy298; + yy427: + yych = *++p; + if (yych == 'T') + goto yy442; + if (yych == 't') + goto yy442; + goto yy298; + yy428: + yych = *++p; + if (yych == 'S') + goto yy443; + if (yych == 's') + goto yy443; + goto yy298; + yy429: + yych = *++p; + if (yych == 'O') + goto yy444; + if (yych == 'o') + goto yy444; + goto yy298; + yy430: + yych = *++p; + if (yych == 'Q') + goto yy445; + if (yych == 'q') + goto yy445; + goto yy298; + yy431: + yych = *++p; + if (yych == 'R') + goto yy331; + if (yych == 'r') + goto yy331; + goto yy298; + yy432: + yych = *++p; + if (yych == 'O') + goto yy446; + if (yych == 'o') + goto yy446; + goto yy298; + yy433: + yych = *++p; + if (yych == 'L') + goto yy443; + if (yych == 'l') + goto yy443; + goto yy298; + yy434: + yych = *++p; + if (yych == 'G') + goto yy331; + if (yych == 'g') + goto yy331; + goto yy298; + yy435: + yych = *++p; + if (yych == 'S') + goto yy447; + if (yych == 's') + goto yy447; + goto yy298; + yy436: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'R') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'S') + goto yy447; + if (yych == 's') + goto yy447; + goto yy298; + } + } + yy437: + yych = *++p; + if (yych == 'T') + goto yy448; + if (yych == 't') + goto yy448; + goto yy298; + yy438: + yych = *++p; + if (yych == 'M') + goto yy449; + if (yych == 'm') + goto yy449; + goto yy298; + yy439: + yych = *++p; + if (yych == 'T') + goto yy389; + if (yych == 't') + goto yy389; + goto yy298; + yy440: + yych = *++p; + if (yych == 'R') + goto yy370; + if (yych == 'r') + goto yy370; + goto yy298; + yy441: + yych = *++p; + if (yych == 'R') + goto yy450; + if (yych == 'r') + goto yy450; + goto yy298; + yy442: + yych = *++p; + if (yych == 'A') + goto yy451; + if (yych == 'a') + goto yy451; + goto yy298; + yy443: + yych = *++p; + if (yych == 'S') + goto yy331; + if (yych == 's') + goto yy331; + goto yy298; + yy444: + yych = *++p; + if (yych == 'N') + goto yy425; + if (yych == 'n') + goto yy425; + goto yy298; + yy445: + yych = *++p; + if (yych == 'U') + goto yy452; + if (yych == 'u') + goto yy452; + goto yy298; + yy446: + yych = *++p; + if (yych == 'U') + goto yy453; + if (yych == 'u') + goto yy453; + goto yy298; + yy447: + yych = *++p; + if (yych == 'E') + goto yy425; + if (yych == 'e') + goto yy425; + goto yy298; + yy448: + yych = *++p; + if (yych == 'E') + goto yy378; + if (yych == 'e') + goto yy378; + goto yy298; + yy449: + yych = *++p; + if (yych == 'E') + goto yy443; + if (yych == 'e') + goto yy443; + goto yy298; + yy450: + yych = *++p; + if (yych == 'E') + goto yy454; + if (yych == 'e') + goto yy454; + goto yy298; + yy451: + yych = *++p; + if (yych == '[') + goto yy455; + goto yy298; + yy452: + yych = *++p; + if (yych == 'O') + goto yy456; + if (yych == 'o') + goto yy456; + goto yy298; + yy453: + yych = *++p; + if (yych == 'P') + goto yy331; + if (yych == 'p') + goto yy331; + goto yy298; + yy454: + yych = *++p; + if (yych == 'A') + goto yy389; + if (yych == 'a') + goto yy389; + goto yy298; + yy455: + ++p; + { return 5; } + yy456: + yych = *++p; + if (yych == 'T') + goto yy402; + if (yych == 't') + goto yy402; + goto yy298; + } } // Try to match an HTML block tag start line of type 7, returning // 7 if successful, 0 if not. -bufsize_t _scan_html_block_start_7(const unsigned char *p) -{ +bufsize_t _scan_html_block_start_7(const unsigned char *p) { const unsigned char *marker = NULL; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 224, 224, 224, 224, 224, 224, 224, - 224, 198, 210, 194, 198, 194, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 198, 224, 128, 224, 224, 224, 224, 64, - 224, 224, 224, 224, 224, 233, 232, 224, - 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 232, 224, 192, 192, 192, 224, - 224, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 224, 224, 224, 224, 232, - 192, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 224, 224, 224, 224, 224, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '<') goto yy520; - ++p; -yy519: - { return 0; } -yy520: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '@') { - if (yych != '/') goto yy519; - } else { - if (yych <= 'Z') goto yy523; - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy523; - goto yy519; - } - yych = *++p; - if (yych <= '@') goto yy522; - if (yych <= 'Z') goto yy525; - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy525; -yy522: - p = marker; - if (yyaccept == 0) { - goto yy519; - } else { - goto yy538; - } -yy523: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy527; - } - if (yych <= '=') { - if (yych <= '.') { - if (yych == '-') goto yy523; - goto yy522; - } else { - if (yych <= '/') goto yy529; - if (yych <= '9') goto yy523; - goto yy522; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy530; - if (yych <= '@') goto yy522; - goto yy523; - } else { - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy523; - goto yy522; - } - } -yy525: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy522; - if (yych <= '\r') goto yy532; - goto yy522; - } else { - if (yych <= ' ') goto yy532; - if (yych == '-') goto yy525; - goto yy522; - } - } else { - if (yych <= '@') { - if (yych <= '9') goto yy525; - if (yych == '>') goto yy530; - goto yy522; - } else { - if (yych <= 'Z') goto yy525; - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy525; - goto yy522; - } - } -yy527: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy527; - } - if (yych <= '>') { - if (yych <= '9') { - if (yych != '/') goto yy522; - } else { - if (yych <= ':') goto yy534; - if (yych <= '=') goto yy522; - goto yy530; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy522; - if (yych <= 'Z') goto yy534; - goto yy522; - } else { - if (yych == '`') goto yy522; - if (yych <= 'z') goto yy534; - goto yy522; - } - } -yy529: - yych = *++p; - if (yych != '>') goto yy522; -yy530: - yych = *++p; - if (yybm[0+yych] & 4) { - goto yy530; - } - if (yych <= 0x08) goto yy522; - if (yych <= '\n') goto yy536; - if (yych <= '\v') goto yy522; - if (yych <= '\r') goto yy539; - goto yy522; -yy532: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy522; - if (yych <= '\r') goto yy532; - goto yy522; - } else { - if (yych <= ' ') goto yy532; - if (yych == '>') goto yy530; - goto yy522; - } -yy534: - yych = *++p; - if (yybm[0+yych] & 8) { - goto yy534; - } - if (yych <= ',') { - if (yych <= '\r') { - if (yych <= 0x08) goto yy522; - goto yy540; - } else { - if (yych == ' ') goto yy540; - goto yy522; - } - } else { - if (yych <= '<') { - if (yych <= '/') goto yy529; - goto yy522; - } else { - if (yych <= '=') goto yy542; - if (yych <= '>') goto yy530; - goto yy522; - } - } -yy536: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 4) { - goto yy530; - } - if (yych <= 0x08) goto yy538; - if (yych <= '\n') goto yy536; - if (yych <= '\v') goto yy538; - if (yych <= '\r') goto yy539; -yy538: - { return 7; } -yy539: - ++p; - goto yy538; -yy540: - yych = *++p; - if (yych <= '<') { - if (yych <= ' ') { - if (yych <= 0x08) goto yy522; - if (yych <= '\r') goto yy540; - if (yych <= 0x1F) goto yy522; - goto yy540; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy522; - goto yy529; - } else { - if (yych == ':') goto yy534; - goto yy522; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '=') goto yy542; - if (yych <= '>') goto yy530; - if (yych <= '@') goto yy522; - goto yy534; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy522; - goto yy534; - } else { - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy534; - goto yy522; - } - } - } -yy542: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy544; - } - if (yych <= 0xE0) { - if (yych <= '"') { - if (yych <= 0x00) goto yy522; - if (yych <= ' ') goto yy542; - goto yy546; - } else { - if (yych <= '\'') goto yy548; - if (yych <= 0xC1) goto yy522; - if (yych <= 0xDF) goto yy550; - goto yy551; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy553; - goto yy552; - } else { - if (yych <= 0xF0) goto yy554; - if (yych <= 0xF3) goto yy555; - if (yych <= 0xF4) goto yy556; - goto yy522; - } - } -yy544: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy544; - } - if (yych <= 0xE0) { - if (yych <= '=') { - if (yych <= 0x00) goto yy522; - if (yych <= ' ') goto yy527; - goto yy522; - } else { - if (yych <= '>') goto yy530; - if (yych <= 0xC1) goto yy522; - if (yych <= 0xDF) goto yy550; - goto yy551; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy553; - goto yy552; - } else { - if (yych <= 0xF0) goto yy554; - if (yych <= 0xF3) goto yy555; - if (yych <= 0xF4) goto yy556; - goto yy522; - } - } -yy546: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy546; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy522; - if (yych <= '"') goto yy557; - goto yy522; - } else { - if (yych <= 0xDF) goto yy558; - if (yych <= 0xE0) goto yy559; - goto yy560; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy561; - if (yych <= 0xEF) goto yy560; - goto yy562; - } else { - if (yych <= 0xF3) goto yy563; - if (yych <= 0xF4) goto yy564; - goto yy522; - } - } -yy548: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy548; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy522; - if (yych <= '\'') goto yy557; - goto yy522; - } else { - if (yych <= 0xDF) goto yy565; - if (yych <= 0xE0) goto yy566; - goto yy567; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy568; - if (yych <= 0xEF) goto yy567; - goto yy569; - } else { - if (yych <= 0xF3) goto yy570; - if (yych <= 0xF4) goto yy571; - goto yy522; - } - } -yy550: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy544; - goto yy522; -yy551: - yych = *++p; - if (yych <= 0x9F) goto yy522; - if (yych <= 0xBF) goto yy550; - goto yy522; -yy552: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy550; - goto yy522; -yy553: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x9F) goto yy550; - goto yy522; -yy554: - yych = *++p; - if (yych <= 0x8F) goto yy522; - if (yych <= 0xBF) goto yy552; - goto yy522; -yy555: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy552; - goto yy522; -yy556: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x8F) goto yy552; - goto yy522; -yy557: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy527; - } - if (yych == '/') goto yy529; - if (yych == '>') goto yy530; - goto yy522; -yy558: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy546; - goto yy522; -yy559: - yych = *++p; - if (yych <= 0x9F) goto yy522; - if (yych <= 0xBF) goto yy558; - goto yy522; -yy560: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy558; - goto yy522; -yy561: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x9F) goto yy558; - goto yy522; -yy562: - yych = *++p; - if (yych <= 0x8F) goto yy522; - if (yych <= 0xBF) goto yy560; - goto yy522; -yy563: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy560; - goto yy522; -yy564: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x8F) goto yy560; - goto yy522; -yy565: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy548; - goto yy522; -yy566: - yych = *++p; - if (yych <= 0x9F) goto yy522; - if (yych <= 0xBF) goto yy565; - goto yy522; -yy567: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy565; - goto yy522; -yy568: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x9F) goto yy565; - goto yy522; -yy569: - yych = *++p; - if (yych <= 0x8F) goto yy522; - if (yych <= 0xBF) goto yy567; - goto yy522; -yy570: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy567; - goto yy522; -yy571: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x8F) goto yy567; - goto yy522; -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 224, 224, 224, 224, 224, 224, 224, 224, 198, 210, 194, 198, 194, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 224, 224, 224, 224, 198, 224, 128, 224, 224, 224, 224, 64, 224, 224, + 224, 224, 224, 233, 232, 224, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 232, 224, 192, 192, 192, 224, 224, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, 224, 232, 192, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, + 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych == '<') + goto yy459; + ++p; + yy458 : { return 0; } + yy459: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '@') { + if (yych != '/') + goto yy458; + } else { + if (yych <= 'Z') + goto yy461; + if (yych <= '`') + goto yy458; + if (yych <= 'z') + goto yy461; + goto yy458; + } + yych = *++p; + if (yych <= '@') + goto yy460; + if (yych <= 'Z') + goto yy462; + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy462; + yy460: + p = marker; + if (yyaccept == 0) { + goto yy458; + } else { + goto yy469; + } + yy461: + yych = *++p; + if (yybm[0 + yych] & 2) { + goto yy463; + } + if (yych <= '=') { + if (yych <= '.') { + if (yych == '-') + goto yy461; + goto yy460; + } else { + if (yych <= '/') + goto yy464; + if (yych <= '9') + goto yy461; + goto yy460; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy465; + if (yych <= '@') + goto yy460; + goto yy461; + } else { + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy461; + goto yy460; + } + } + yy462: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy460; + if (yych <= '\r') + goto yy466; + goto yy460; + } else { + if (yych <= ' ') + goto yy466; + if (yych == '-') + goto yy462; + goto yy460; + } + } else { + if (yych <= '@') { + if (yych <= '9') + goto yy462; + if (yych == '>') + goto yy465; + goto yy460; + } else { + if (yych <= 'Z') + goto yy462; + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy462; + goto yy460; + } + } + yy463: + yych = *++p; + if (yybm[0 + yych] & 2) { + goto yy463; + } + if (yych <= '>') { + if (yych <= '9') { + if (yych != '/') + goto yy460; + } else { + if (yych <= ':') + goto yy467; + if (yych <= '=') + goto yy460; + goto yy465; + } + } else { + if (yych <= '^') { + if (yych <= '@') + goto yy460; + if (yych <= 'Z') + goto yy467; + goto yy460; + } else { + if (yych == '`') + goto yy460; + if (yych <= 'z') + goto yy467; + goto yy460; + } + } + yy464: + yych = *++p; + if (yych != '>') + goto yy460; + yy465: + yych = *++p; + if (yybm[0 + yych] & 4) { + goto yy465; + } + if (yych <= 0x08) + goto yy460; + if (yych <= '\n') + goto yy468; + if (yych <= '\v') + goto yy460; + if (yych <= '\r') + goto yy470; + goto yy460; + yy466: + yych = *++p; + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy460; + if (yych <= '\r') + goto yy466; + goto yy460; + } else { + if (yych <= ' ') + goto yy466; + if (yych == '>') + goto yy465; + goto yy460; + } + yy467: + yych = *++p; + if (yybm[0 + yych] & 8) { + goto yy467; + } + if (yych <= ',') { + if (yych <= '\r') { + if (yych <= 0x08) + goto yy460; + goto yy471; + } else { + if (yych == ' ') + goto yy471; + goto yy460; + } + } else { + if (yych <= '<') { + if (yych <= '/') + goto yy464; + goto yy460; + } else { + if (yych <= '=') + goto yy472; + if (yych <= '>') + goto yy465; + goto yy460; + } + } + yy468: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 4) { + goto yy465; + } + if (yych <= 0x08) + goto yy469; + if (yych <= '\n') + goto yy468; + if (yych <= '\v') + goto yy469; + if (yych <= '\r') + goto yy470; + yy469 : { return 7; } + yy470: + ++p; + goto yy469; + yy471: + yych = *++p; + if (yych <= '<') { + if (yych <= ' ') { + if (yych <= 0x08) + goto yy460; + if (yych <= '\r') + goto yy471; + if (yych <= 0x1F) + goto yy460; + goto yy471; + } else { + if (yych <= '/') { + if (yych <= '.') + goto yy460; + goto yy464; + } else { + if (yych == ':') + goto yy467; + goto yy460; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '=') + goto yy472; + if (yych <= '>') + goto yy465; + if (yych <= '@') + goto yy460; + goto yy467; + } else { + if (yych <= '_') { + if (yych <= '^') + goto yy460; + goto yy467; + } else { + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy467; + goto yy460; + } + } + } + yy472: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy473; + } + if (yych <= 0xE0) { + if (yych <= '"') { + if (yych <= 0x00) + goto yy460; + if (yych <= ' ') + goto yy472; + goto yy474; + } else { + if (yych <= '\'') + goto yy475; + if (yych <= 0xC1) + goto yy460; + if (yych <= 0xDF) + goto yy476; + goto yy477; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy479; + goto yy478; + } else { + if (yych <= 0xF0) + goto yy480; + if (yych <= 0xF3) + goto yy481; + if (yych <= 0xF4) + goto yy482; + goto yy460; + } + } + yy473: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy473; + } + if (yych <= 0xE0) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy460; + if (yych <= ' ') + goto yy463; + goto yy460; + } else { + if (yych <= '>') + goto yy465; + if (yych <= 0xC1) + goto yy460; + if (yych <= 0xDF) + goto yy476; + goto yy477; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy479; + goto yy478; + } else { + if (yych <= 0xF0) + goto yy480; + if (yych <= 0xF3) + goto yy481; + if (yych <= 0xF4) + goto yy482; + goto yy460; + } + } + yy474: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy474; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy460; + if (yych <= '"') + goto yy483; + goto yy460; + } else { + if (yych <= 0xDF) + goto yy484; + if (yych <= 0xE0) + goto yy485; + goto yy486; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy487; + if (yych <= 0xEF) + goto yy486; + goto yy488; + } else { + if (yych <= 0xF3) + goto yy489; + if (yych <= 0xF4) + goto yy490; + goto yy460; + } + } + yy475: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy475; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy460; + if (yych <= '\'') + goto yy483; + goto yy460; + } else { + if (yych <= 0xDF) + goto yy491; + if (yych <= 0xE0) + goto yy492; + goto yy493; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy494; + if (yych <= 0xEF) + goto yy493; + goto yy495; + } else { + if (yych <= 0xF3) + goto yy496; + if (yych <= 0xF4) + goto yy497; + goto yy460; + } + } + yy476: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy473; + goto yy460; + yy477: + yych = *++p; + if (yych <= 0x9F) + goto yy460; + if (yych <= 0xBF) + goto yy476; + goto yy460; + yy478: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy476; + goto yy460; + yy479: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x9F) + goto yy476; + goto yy460; + yy480: + yych = *++p; + if (yych <= 0x8F) + goto yy460; + if (yych <= 0xBF) + goto yy478; + goto yy460; + yy481: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy478; + goto yy460; + yy482: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x8F) + goto yy478; + goto yy460; + yy483: + yych = *++p; + if (yybm[0 + yych] & 2) { + goto yy463; + } + if (yych == '/') + goto yy464; + if (yych == '>') + goto yy465; + goto yy460; + yy484: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy474; + goto yy460; + yy485: + yych = *++p; + if (yych <= 0x9F) + goto yy460; + if (yych <= 0xBF) + goto yy484; + goto yy460; + yy486: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy484; + goto yy460; + yy487: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x9F) + goto yy484; + goto yy460; + yy488: + yych = *++p; + if (yych <= 0x8F) + goto yy460; + if (yych <= 0xBF) + goto yy486; + goto yy460; + yy489: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy486; + goto yy460; + yy490: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x8F) + goto yy486; + goto yy460; + yy491: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy475; + goto yy460; + yy492: + yych = *++p; + if (yych <= 0x9F) + goto yy460; + if (yych <= 0xBF) + goto yy491; + goto yy460; + yy493: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy491; + goto yy460; + yy494: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x9F) + goto yy491; + goto yy460; + yy495: + yych = *++p; + if (yych <= 0x8F) + goto yy460; + if (yych <= 0xBF) + goto yy493; + goto yy460; + yy496: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy493; + goto yy460; + yy497: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x8F) + goto yy493; + goto yy460; + } } // Try to match an HTML block end line of type 1 -bufsize_t _scan_html_block_end_1(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_1(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 128, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= ';') { - if (yych <= 0x00) goto yy574; - if (yych != '\n') goto yy576; - } else { - if (yych <= '<') goto yy577; - if (yych <= 0x7F) goto yy576; - if (yych >= 0xC2) goto yy578; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy579; - if (yych == 0xED) goto yy581; - goto yy580; - } else { - if (yych <= 0xF0) goto yy582; - if (yych <= 0xF3) goto yy583; - if (yych <= 0xF4) goto yy584; - } - } -yy574: - ++p; -yy575: - { return 0; } -yy576: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy575; - if (yych <= '\t') goto yy586; - goto yy575; - } else { - if (yych <= 0x7F) goto yy586; - if (yych <= 0xC1) goto yy575; - if (yych <= 0xF4) goto yy586; - goto yy575; - } -yy577: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '.') { - if (yych <= 0x00) goto yy575; - if (yych == '\n') goto yy575; - goto yy586; - } else { - if (yych <= 0x7F) { - if (yych <= '/') goto yy597; - goto yy586; - } else { - if (yych <= 0xC1) goto yy575; - if (yych <= 0xF4) goto yy586; - goto yy575; - } - } -yy578: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0xBF) goto yy585; - goto yy575; -yy579: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy575; - if (yych <= 0xBF) goto yy590; - goto yy575; -yy580: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0xBF) goto yy590; - goto yy575; -yy581: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0x9F) goto yy590; - goto yy575; -yy582: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy575; - if (yych <= 0xBF) goto yy592; - goto yy575; -yy583: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0xBF) goto yy592; - goto yy575; -yy584: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0x8F) goto yy592; - goto yy575; -yy585: - yych = *++p; -yy586: - if (yybm[0+yych] & 64) { - goto yy585; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy587; - if (yych <= '<') goto yy588; - } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - } - } -yy587: - p = marker; - if (yyaccept == 0) { - goto yy575; - } else { - goto yy607; - } -yy588: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 0xDF) { - if (yych <= '.') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; - } else { - if (yych <= '/') goto yy597; - if (yych <= 0x7F) goto yy585; - if (yych <= 0xC1) goto yy587; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy591; - if (yych == 0xED) goto yy593; - goto yy592; - } else { - if (yych <= 0xF0) goto yy594; - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } -yy590: - yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0xBF) goto yy585; - goto yy587; -yy591: - yych = *++p; - if (yych <= 0x9F) goto yy587; - if (yych <= 0xBF) goto yy590; - goto yy587; -yy592: - yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0xBF) goto yy590; - goto yy587; -yy593: - yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0x9F) goto yy590; - goto yy587; -yy594: - yych = *++p; - if (yych <= 0x8F) goto yy587; - if (yych <= 0xBF) goto yy592; - goto yy587; -yy595: - yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0xBF) goto yy592; - goto yy587; -yy596: - yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0x8F) goto yy592; - goto yy587; -yy597: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 's') { - if (yych <= 'P') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy587; - goto yy585; - } else { - if (yych <= '\n') goto yy587; - if (yych <= 'O') goto yy585; - } - } else { - if (yych <= 'o') { - if (yych == 'S') goto yy599; - goto yy585; - } else { - if (yych <= 'p') goto yy598; - if (yych <= 'r') goto yy585; - goto yy599; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy585; - goto yy587; - } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } - } -yy598: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 0xC1) { - if (yych <= 'Q') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; - } else { - if (yych <= 'q') { - if (yych <= 'R') goto yy600; - goto yy585; - } else { - if (yych <= 'r') goto yy600; - if (yych <= 0x7F) goto yy585; - goto yy587; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } - } -yy599: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 't') { - if (yych <= 'C') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy587; - goto yy585; - } else { - if (yych <= '\n') goto yy587; - if (yych <= 'B') goto yy585; - goto yy601; - } - } else { - if (yych <= 'b') { - if (yych == 'T') goto yy602; - goto yy585; - } else { - if (yych <= 'c') goto yy601; - if (yych <= 's') goto yy585; - goto yy602; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy585; - goto yy587; - } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } - } -yy600: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 0xC1) { - if (yych <= 'D') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; - } else { - if (yych <= 'd') { - if (yych <= 'E') goto yy603; - goto yy585; - } else { - if (yych <= 'e') goto yy603; - if (yych <= 0x7F) goto yy585; - goto yy587; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } - } -yy601: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 0xC1) { - if (yych <= 'Q') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; - } else { - if (yych <= 'q') { - if (yych <= 'R') goto yy604; - goto yy585; - } else { - if (yych <= 'r') goto yy604; - if (yych <= 0x7F) goto yy585; - goto yy587; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } - } -yy602: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 0xC1) { - if (yych <= 'X') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; - } else { - if (yych <= 'x') { - if (yych <= 'Y') goto yy605; - goto yy585; - } else { - if (yych <= 'y') goto yy605; - if (yych <= 0x7F) goto yy585; - goto yy587; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } - } -yy603: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; - } else { - if (yych <= '>') goto yy606; - if (yych <= 0x7F) goto yy585; - if (yych <= 0xC1) goto yy587; - goto yy590; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy591; - if (yych == 0xED) goto yy593; - goto yy592; - } else { - if (yych <= 0xF0) goto yy594; - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } -yy604: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 0xC1) { - if (yych <= 'H') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; - } else { - if (yych <= 'h') { - if (yych <= 'I') goto yy608; - goto yy585; - } else { - if (yych <= 'i') goto yy608; - if (yych <= 0x7F) goto yy585; - goto yy587; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } - } -yy605: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 0xC1) { - if (yych <= 'K') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; - } else { - if (yych <= 'k') { - if (yych <= 'L') goto yy600; - goto yy585; - } else { - if (yych <= 'l') goto yy600; - if (yych <= 0x7F) goto yy585; - goto yy587; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } - } -yy606: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy585; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy607; - if (yych <= '<') goto yy588; - } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - } - } -yy607: - { return (bufsize_t)(p - start); } -yy608: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 0xC1) { - if (yych <= 'O') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; - } else { - if (yych <= 'o') { - if (yych >= 'Q') goto yy585; - } else { - if (yych <= 'p') goto yy609; - if (yych <= 0x7F) goto yy585; - goto yy587; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } - } -yy609: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy588; - } - if (yych <= 0xC1) { - if (yych <= 'S') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; - } else { - if (yych <= 's') { - if (yych <= 'T') goto yy603; - goto yy585; - } else { - if (yych <= 't') goto yy603; - if (yych <= 0x7F) goto yy585; - goto yy587; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; - } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; - } - } - } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= 0xDF) { + if (yych <= ';') { + if (yych <= 0x00) + goto yy499; + if (yych != '\n') + goto yy501; + } else { + if (yych <= '<') + goto yy502; + if (yych <= 0x7F) + goto yy501; + if (yych >= 0xC2) + goto yy503; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy504; + if (yych == 0xED) + goto yy506; + goto yy505; + } else { + if (yych <= 0xF0) + goto yy507; + if (yych <= 0xF3) + goto yy508; + if (yych <= 0xF4) + goto yy509; + } + } + yy499: + ++p; + yy500 : { return 0; } + yy501: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy500; + if (yych <= '\t') + goto yy511; + goto yy500; + } else { + if (yych <= 0x7F) + goto yy511; + if (yych <= 0xC1) + goto yy500; + if (yych <= 0xF4) + goto yy511; + goto yy500; + } + yy502: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '.') { + if (yych <= 0x00) + goto yy500; + if (yych == '\n') + goto yy500; + goto yy511; + } else { + if (yych <= 0x7F) { + if (yych <= '/') + goto yy521; + goto yy511; + } else { + if (yych <= 0xC1) + goto yy500; + if (yych <= 0xF4) + goto yy511; + goto yy500; + } + } + yy503: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0xBF) + goto yy510; + goto yy500; + yy504: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy500; + if (yych <= 0xBF) + goto yy514; + goto yy500; + yy505: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0xBF) + goto yy514; + goto yy500; + yy506: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0x9F) + goto yy514; + goto yy500; + yy507: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy500; + if (yych <= 0xBF) + goto yy516; + goto yy500; + yy508: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0xBF) + goto yy516; + goto yy500; + yy509: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0x8F) + goto yy516; + goto yy500; + yy510: + yych = *++p; + yy511: + if (yybm[0 + yych] & 64) { + goto yy510; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy512; + if (yych <= '<') + goto yy513; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + } + } + yy512: + p = marker; + if (yyaccept == 0) { + goto yy500; + } else { + goto yy534; + } + yy513: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xDF) { + if (yych <= '.') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '/') + goto yy521; + if (yych <= 0x7F) + goto yy510; + if (yych <= 0xC1) + goto yy512; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy515; + if (yych == 0xED) + goto yy517; + goto yy516; + } else { + if (yych <= 0xF0) + goto yy518; + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + yy514: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0xBF) + goto yy510; + goto yy512; + yy515: + yych = *++p; + if (yych <= 0x9F) + goto yy512; + if (yych <= 0xBF) + goto yy514; + goto yy512; + yy516: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0xBF) + goto yy514; + goto yy512; + yy517: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0x9F) + goto yy514; + goto yy512; + yy518: + yych = *++p; + if (yych <= 0x8F) + goto yy512; + if (yych <= 0xBF) + goto yy516; + goto yy512; + yy519: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0xBF) + goto yy516; + goto yy512; + yy520: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0x8F) + goto yy516; + goto yy512; + yy521: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 's') { + if (yych <= 'R') { + if (yych <= '\n') { + if (yych <= 0x00) + goto yy512; + if (yych <= '\t') + goto yy510; + goto yy512; + } else { + if (yych != 'P') + goto yy510; + } + } else { + if (yych <= 'o') { + if (yych <= 'S') + goto yy523; + if (yych <= 'T') + goto yy524; + goto yy510; + } else { + if (yych <= 'p') + goto yy522; + if (yych <= 'r') + goto yy510; + goto yy523; + } + } + } else { + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 't') + goto yy524; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy522: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'Q') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'q') { + if (yych <= 'R') + goto yy525; + goto yy510; + } else { + if (yych <= 'r') + goto yy525; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy523: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 't') { + if (yych <= 'C') { + if (yych <= '\t') { + if (yych <= 0x00) + goto yy512; + goto yy510; + } else { + if (yych <= '\n') + goto yy512; + if (yych <= 'B') + goto yy510; + goto yy526; + } + } else { + if (yych <= 'b') { + if (yych == 'T') + goto yy527; + goto yy510; + } else { + if (yych <= 'c') + goto yy526; + if (yych <= 's') + goto yy510; + goto yy527; + } + } + } else { + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x7F) + goto yy510; + goto yy512; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy524: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'D') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'd') { + if (yych <= 'E') + goto yy528; + goto yy510; + } else { + if (yych <= 'e') + goto yy528; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy525: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'D') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'd') { + if (yych <= 'E') + goto yy529; + goto yy510; + } else { + if (yych <= 'e') + goto yy529; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy526: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'Q') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'q') { + if (yych <= 'R') + goto yy530; + goto yy510; + } else { + if (yych <= 'r') + goto yy530; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy527: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'X') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'x') { + if (yych <= 'Y') + goto yy531; + goto yy510; + } else { + if (yych <= 'y') + goto yy531; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy528: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'W') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'w') { + if (yych <= 'X') + goto yy532; + goto yy510; + } else { + if (yych <= 'x') + goto yy532; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy529: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '>') + goto yy533; + if (yych <= 0x7F) + goto yy510; + if (yych <= 0xC1) + goto yy512; + goto yy514; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy515; + if (yych == 0xED) + goto yy517; + goto yy516; + } else { + if (yych <= 0xF0) + goto yy518; + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + yy530: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'H') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'h') { + if (yych <= 'I') + goto yy535; + goto yy510; + } else { + if (yych <= 'i') + goto yy535; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy531: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'K') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'k') { + if (yych <= 'L') + goto yy525; + goto yy510; + } else { + if (yych <= 'l') + goto yy525; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy532: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'S') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 's') { + if (yych <= 'T') + goto yy536; + goto yy510; + } else { + if (yych <= 't') + goto yy536; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy533: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy510; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy534; + if (yych <= '<') + goto yy513; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + } + } + yy534 : { return (bufsize_t)(p - start); } + yy535: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'O') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'o') { + if (yych <= 'P') + goto yy537; + goto yy510; + } else { + if (yych <= 'p') + goto yy537; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy536: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= '@') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '`') { + if (yych <= 'A') + goto yy538; + goto yy510; + } else { + if (yych <= 'a') + goto yy538; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy537: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'S') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 's') { + if (yych <= 'T') + goto yy529; + goto yy510; + } else { + if (yych <= 't') + goto yy529; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy538: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'Q') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'q') { + if (yych >= 'S') + goto yy510; + } else { + if (yych <= 'r') + goto yy539; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy539: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'D') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'd') { + if (yych >= 'F') + goto yy510; + } else { + if (yych <= 'e') + goto yy540; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy540: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= '@') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '`') { + if (yych <= 'A') + goto yy529; + goto yy510; + } else { + if (yych <= 'a') + goto yy529; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + } } // Try to match an HTML block end line of type 2 -bufsize_t _scan_html_block_end_2(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_2(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 128, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= ',') { - if (yych <= 0x00) goto yy612; - if (yych != '\n') goto yy614; - } else { - if (yych <= '-') goto yy615; - if (yych <= 0x7F) goto yy614; - if (yych >= 0xC2) goto yy616; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy617; - if (yych == 0xED) goto yy619; - goto yy618; - } else { - if (yych <= 0xF0) goto yy620; - if (yych <= 0xF3) goto yy621; - if (yych <= 0xF4) goto yy622; - } - } -yy612: - ++p; -yy613: - { return 0; } -yy614: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy613; - if (yych <= '\t') goto yy624; - goto yy613; - } else { - if (yych <= 0x7F) goto yy624; - if (yych <= 0xC1) goto yy613; - if (yych <= 0xF4) goto yy624; - goto yy613; - } -yy615: - yyaccept = 0; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy634; - } - if (yych <= '\n') { - if (yych <= 0x00) goto yy613; - if (yych <= '\t') goto yy624; - goto yy613; - } else { - if (yych <= 0x7F) goto yy624; - if (yych <= 0xC1) goto yy613; - if (yych <= 0xF4) goto yy624; - goto yy613; - } -yy616: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0xBF) goto yy623; - goto yy613; -yy617: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy613; - if (yych <= 0xBF) goto yy627; - goto yy613; -yy618: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0xBF) goto yy627; - goto yy613; -yy619: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0x9F) goto yy627; - goto yy613; -yy620: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy613; - if (yych <= 0xBF) goto yy629; - goto yy613; -yy621: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0xBF) goto yy629; - goto yy613; -yy622: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0x8F) goto yy629; - goto yy613; -yy623: - yych = *++p; -yy624: - if (yybm[0+yych] & 64) { - goto yy623; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy625; - if (yych <= '-') goto yy626; - } else { - if (yych <= 0xDF) goto yy627; - if (yych <= 0xE0) goto yy628; - goto yy629; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy630; - if (yych <= 0xEF) goto yy629; - goto yy631; - } else { - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; - } - } -yy625: - p = marker; - if (yyaccept == 0) { - goto yy613; - } else { - goto yy637; - } -yy626: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy623; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy625; - if (yych <= '-') goto yy634; - goto yy625; - } else { - if (yych <= 0xDF) goto yy627; - if (yych <= 0xE0) goto yy628; - goto yy629; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy630; - if (yych <= 0xEF) goto yy629; - goto yy631; - } else { - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; - goto yy625; - } - } -yy627: - yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0xBF) goto yy623; - goto yy625; -yy628: - yych = *++p; - if (yych <= 0x9F) goto yy625; - if (yych <= 0xBF) goto yy627; - goto yy625; -yy629: - yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0xBF) goto yy627; - goto yy625; -yy630: - yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0x9F) goto yy627; - goto yy625; -yy631: - yych = *++p; - if (yych <= 0x8F) goto yy625; - if (yych <= 0xBF) goto yy629; - goto yy625; -yy632: - yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0xBF) goto yy629; - goto yy625; -yy633: - yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0x8F) goto yy629; - goto yy625; -yy634: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy634; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy625; - if (yych == '\n') goto yy625; - goto yy623; - } else { - if (yych <= '>') goto yy636; - if (yych <= 0x7F) goto yy623; - if (yych <= 0xC1) goto yy625; - goto yy627; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy628; - if (yych == 0xED) goto yy630; - goto yy629; - } else { - if (yych <= 0xF0) goto yy631; - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; - goto yy625; - } - } -yy636: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy623; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy637; - if (yych <= '-') goto yy626; - } else { - if (yych <= 0xDF) goto yy627; - if (yych <= 0xE0) goto yy628; - goto yy629; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy630; - if (yych <= 0xEF) goto yy629; - goto yy631; - } else { - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; - } - } -yy637: - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= 0xDF) { + if (yych <= ',') { + if (yych <= 0x00) + goto yy542; + if (yych != '\n') + goto yy544; + } else { + if (yych <= '-') + goto yy545; + if (yych <= 0x7F) + goto yy544; + if (yych >= 0xC2) + goto yy546; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy547; + if (yych == 0xED) + goto yy549; + goto yy548; + } else { + if (yych <= 0xF0) + goto yy550; + if (yych <= 0xF3) + goto yy551; + if (yych <= 0xF4) + goto yy552; + } + } + yy542: + ++p; + yy543 : { return 0; } + yy544: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy543; + if (yych <= '\t') + goto yy554; + goto yy543; + } else { + if (yych <= 0x7F) + goto yy554; + if (yych <= 0xC1) + goto yy543; + if (yych <= 0xF4) + goto yy554; + goto yy543; + } + yy545: + yyaccept = 0; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy564; + } + if (yych <= '\n') { + if (yych <= 0x00) + goto yy543; + if (yych <= '\t') + goto yy554; + goto yy543; + } else { + if (yych <= 0x7F) + goto yy554; + if (yych <= 0xC1) + goto yy543; + if (yych <= 0xF4) + goto yy554; + goto yy543; + } + yy546: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0xBF) + goto yy553; + goto yy543; + yy547: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy543; + if (yych <= 0xBF) + goto yy557; + goto yy543; + yy548: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0xBF) + goto yy557; + goto yy543; + yy549: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0x9F) + goto yy557; + goto yy543; + yy550: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy543; + if (yych <= 0xBF) + goto yy559; + goto yy543; + yy551: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0xBF) + goto yy559; + goto yy543; + yy552: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0x8F) + goto yy559; + goto yy543; + yy553: + yych = *++p; + yy554: + if (yybm[0 + yych] & 64) { + goto yy553; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy555; + if (yych <= '-') + goto yy556; + } else { + if (yych <= 0xDF) + goto yy557; + if (yych <= 0xE0) + goto yy558; + goto yy559; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy560; + if (yych <= 0xEF) + goto yy559; + goto yy561; + } else { + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + } + } + yy555: + p = marker; + if (yyaccept == 0) { + goto yy543; + } else { + goto yy566; + } + yy556: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy553; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy555; + if (yych <= '-') + goto yy564; + goto yy555; + } else { + if (yych <= 0xDF) + goto yy557; + if (yych <= 0xE0) + goto yy558; + goto yy559; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy560; + if (yych <= 0xEF) + goto yy559; + goto yy561; + } else { + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + goto yy555; + } + } + yy557: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0xBF) + goto yy553; + goto yy555; + yy558: + yych = *++p; + if (yych <= 0x9F) + goto yy555; + if (yych <= 0xBF) + goto yy557; + goto yy555; + yy559: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0xBF) + goto yy557; + goto yy555; + yy560: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0x9F) + goto yy557; + goto yy555; + yy561: + yych = *++p; + if (yych <= 0x8F) + goto yy555; + if (yych <= 0xBF) + goto yy559; + goto yy555; + yy562: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0xBF) + goto yy559; + goto yy555; + yy563: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0x8F) + goto yy559; + goto yy555; + yy564: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy564; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy555; + if (yych == '\n') + goto yy555; + goto yy553; + } else { + if (yych <= '>') + goto yy565; + if (yych <= 0x7F) + goto yy553; + if (yych <= 0xC1) + goto yy555; + goto yy557; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy558; + if (yych == 0xED) + goto yy560; + goto yy559; + } else { + if (yych <= 0xF0) + goto yy561; + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + goto yy555; + } + } + yy565: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy553; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy566; + if (yych <= '-') + goto yy556; + } else { + if (yych <= 0xDF) + goto yy557; + if (yych <= 0xE0) + goto yy558; + goto yy559; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy560; + if (yych <= 0xEF) + goto yy559; + goto yy561; + } else { + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + } + } + yy566 : { return (bufsize_t)(p - start); } + } } // Try to match an HTML block end line of type 3 -bufsize_t _scan_html_block_end_3(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_3(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 128, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= '>') { - if (yych <= 0x00) goto yy640; - if (yych != '\n') goto yy642; - } else { - if (yych <= '?') goto yy643; - if (yych <= 0x7F) goto yy642; - if (yych >= 0xC2) goto yy644; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy645; - if (yych == 0xED) goto yy647; - goto yy646; - } else { - if (yych <= 0xF0) goto yy648; - if (yych <= 0xF3) goto yy649; - if (yych <= 0xF4) goto yy650; - } - } -yy640: - ++p; -yy641: - { return 0; } -yy642: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy641; - if (yych <= '\t') goto yy652; - goto yy641; - } else { - if (yych <= 0x7F) goto yy652; - if (yych <= 0xC1) goto yy641; - if (yych <= 0xF4) goto yy652; - goto yy641; - } -yy643: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '=') { - if (yych <= 0x00) goto yy641; - if (yych == '\n') goto yy641; - goto yy652; - } else { - if (yych <= 0x7F) { - if (yych <= '>') goto yy663; - goto yy652; - } else { - if (yych <= 0xC1) goto yy641; - if (yych <= 0xF4) goto yy652; - goto yy641; - } - } -yy644: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0xBF) goto yy651; - goto yy641; -yy645: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy641; - if (yych <= 0xBF) goto yy656; - goto yy641; -yy646: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0xBF) goto yy656; - goto yy641; -yy647: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0x9F) goto yy656; - goto yy641; -yy648: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy641; - if (yych <= 0xBF) goto yy658; - goto yy641; -yy649: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0xBF) goto yy658; - goto yy641; -yy650: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0x8F) goto yy658; - goto yy641; -yy651: - yych = *++p; -yy652: - if (yybm[0+yych] & 64) { - goto yy651; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy653; - if (yych <= '?') goto yy654; - } else { - if (yych <= 0xDF) goto yy656; - if (yych <= 0xE0) goto yy657; - goto yy658; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy659; - if (yych <= 0xEF) goto yy658; - goto yy660; - } else { - if (yych <= 0xF3) goto yy661; - if (yych <= 0xF4) goto yy662; - } - } -yy653: - p = marker; - if (yyaccept == 0) { - goto yy641; - } else { - goto yy664; - } -yy654: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy654; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy653; - if (yych == '\n') goto yy653; - goto yy651; - } else { - if (yych <= '>') goto yy663; - if (yych <= 0x7F) goto yy651; - if (yych <= 0xC1) goto yy653; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy657; - if (yych == 0xED) goto yy659; - goto yy658; - } else { - if (yych <= 0xF0) goto yy660; - if (yych <= 0xF3) goto yy661; - if (yych <= 0xF4) goto yy662; - goto yy653; - } - } -yy656: - yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0xBF) goto yy651; - goto yy653; -yy657: - yych = *++p; - if (yych <= 0x9F) goto yy653; - if (yych <= 0xBF) goto yy656; - goto yy653; -yy658: - yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0xBF) goto yy656; - goto yy653; -yy659: - yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0x9F) goto yy656; - goto yy653; -yy660: - yych = *++p; - if (yych <= 0x8F) goto yy653; - if (yych <= 0xBF) goto yy658; - goto yy653; -yy661: - yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0xBF) goto yy658; - goto yy653; -yy662: - yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0x8F) goto yy658; - goto yy653; -yy663: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy651; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy664; - if (yych <= '?') goto yy654; - } else { - if (yych <= 0xDF) goto yy656; - if (yych <= 0xE0) goto yy657; - goto yy658; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy659; - if (yych <= 0xEF) goto yy658; - goto yy660; - } else { - if (yych <= 0xF3) goto yy661; - if (yych <= 0xF4) goto yy662; - } - } -yy664: - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= 0xDF) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy568; + if (yych != '\n') + goto yy570; + } else { + if (yych <= '?') + goto yy571; + if (yych <= 0x7F) + goto yy570; + if (yych >= 0xC2) + goto yy572; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy573; + if (yych == 0xED) + goto yy575; + goto yy574; + } else { + if (yych <= 0xF0) + goto yy576; + if (yych <= 0xF3) + goto yy577; + if (yych <= 0xF4) + goto yy578; + } + } + yy568: + ++p; + yy569 : { return 0; } + yy570: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy569; + if (yych <= '\t') + goto yy580; + goto yy569; + } else { + if (yych <= 0x7F) + goto yy580; + if (yych <= 0xC1) + goto yy569; + if (yych <= 0xF4) + goto yy580; + goto yy569; + } + yy571: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '=') { + if (yych <= 0x00) + goto yy569; + if (yych == '\n') + goto yy569; + goto yy580; + } else { + if (yych <= 0x7F) { + if (yych <= '>') + goto yy590; + goto yy580; + } else { + if (yych <= 0xC1) + goto yy569; + if (yych <= 0xF4) + goto yy580; + goto yy569; + } + } + yy572: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0xBF) + goto yy579; + goto yy569; + yy573: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy569; + if (yych <= 0xBF) + goto yy583; + goto yy569; + yy574: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0xBF) + goto yy583; + goto yy569; + yy575: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0x9F) + goto yy583; + goto yy569; + yy576: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy569; + if (yych <= 0xBF) + goto yy585; + goto yy569; + yy577: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0xBF) + goto yy585; + goto yy569; + yy578: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0x8F) + goto yy585; + goto yy569; + yy579: + yych = *++p; + yy580: + if (yybm[0 + yych] & 64) { + goto yy579; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy581; + if (yych <= '?') + goto yy582; + } else { + if (yych <= 0xDF) + goto yy583; + if (yych <= 0xE0) + goto yy584; + goto yy585; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy586; + if (yych <= 0xEF) + goto yy585; + goto yy587; + } else { + if (yych <= 0xF3) + goto yy588; + if (yych <= 0xF4) + goto yy589; + } + } + yy581: + p = marker; + if (yyaccept == 0) { + goto yy569; + } else { + goto yy591; + } + yy582: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy582; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy581; + if (yych == '\n') + goto yy581; + goto yy579; + } else { + if (yych <= '>') + goto yy590; + if (yych <= 0x7F) + goto yy579; + if (yych <= 0xC1) + goto yy581; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy584; + if (yych == 0xED) + goto yy586; + goto yy585; + } else { + if (yych <= 0xF0) + goto yy587; + if (yych <= 0xF3) + goto yy588; + if (yych <= 0xF4) + goto yy589; + goto yy581; + } + } + yy583: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0xBF) + goto yy579; + goto yy581; + yy584: + yych = *++p; + if (yych <= 0x9F) + goto yy581; + if (yych <= 0xBF) + goto yy583; + goto yy581; + yy585: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0xBF) + goto yy583; + goto yy581; + yy586: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0x9F) + goto yy583; + goto yy581; + yy587: + yych = *++p; + if (yych <= 0x8F) + goto yy581; + if (yych <= 0xBF) + goto yy585; + goto yy581; + yy588: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0xBF) + goto yy585; + goto yy581; + yy589: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0x8F) + goto yy585; + goto yy581; + yy590: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy579; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy591; + if (yych <= '?') + goto yy582; + } else { + if (yych <= 0xDF) + goto yy583; + if (yych <= 0xE0) + goto yy584; + goto yy585; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy586; + if (yych <= 0xEF) + goto yy585; + goto yy587; + } else { + if (yych <= 0xF3) + goto yy588; + if (yych <= 0xF4) + goto yy589; + } + } + yy591 : { return (bufsize_t)(p - start); } + } } // Try to match an HTML block end line of type 4 -bufsize_t _scan_html_block_end_4(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_4(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 64, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yybm[0+yych] & 64) { - goto yy670; - } - if (yych <= 0xE0) { - if (yych <= '\n') { - if (yych <= 0x00) goto yy667; - if (yych <= '\t') goto yy669; - } else { - if (yych <= 0x7F) goto yy669; - if (yych <= 0xC1) goto yy667; - if (yych <= 0xDF) goto yy673; - goto yy674; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy676; - goto yy675; - } else { - if (yych <= 0xF0) goto yy677; - if (yych <= 0xF3) goto yy678; - if (yych <= 0xF4) goto yy679; - } - } -yy667: - ++p; -yy668: - { return 0; } -yy669: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy668; - if (yych <= '\t') goto yy681; - goto yy668; - } else { - if (yych <= 0x7F) goto yy681; - if (yych <= 0xC1) goto yy668; - if (yych <= 0xF4) goto yy681; - goto yy668; - } -yy670: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy680; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy672; - if (yych <= '>') goto yy670; - } else { - if (yych <= 0xDF) goto yy683; - if (yych <= 0xE0) goto yy684; - goto yy685; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy686; - if (yych <= 0xEF) goto yy685; - goto yy687; - } else { - if (yych <= 0xF3) goto yy688; - if (yych <= 0xF4) goto yy689; - } - } -yy672: - { return (bufsize_t)(p - start); } -yy673: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0xBF) goto yy680; - goto yy668; -yy674: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy668; - if (yych <= 0xBF) goto yy683; - goto yy668; -yy675: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0xBF) goto yy683; - goto yy668; -yy676: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0x9F) goto yy683; - goto yy668; -yy677: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy668; - if (yych <= 0xBF) goto yy685; - goto yy668; -yy678: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0xBF) goto yy685; - goto yy668; -yy679: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0x8F) goto yy685; - goto yy668; -yy680: - yych = *++p; -yy681: - if (yybm[0+yych] & 128) { - goto yy680; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy682; - if (yych <= '>') goto yy670; - } else { - if (yych <= 0xDF) goto yy683; - if (yych <= 0xE0) goto yy684; - goto yy685; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy686; - if (yych <= 0xEF) goto yy685; - goto yy687; - } else { - if (yych <= 0xF3) goto yy688; - if (yych <= 0xF4) goto yy689; - } - } -yy682: - p = marker; - if (yyaccept == 0) { - goto yy668; - } else { - goto yy672; - } -yy683: - yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0xBF) goto yy680; - goto yy682; -yy684: - yych = *++p; - if (yych <= 0x9F) goto yy682; - if (yych <= 0xBF) goto yy683; - goto yy682; -yy685: - yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0xBF) goto yy683; - goto yy682; -yy686: - yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0x9F) goto yy683; - goto yy682; -yy687: - yych = *++p; - if (yych <= 0x8F) goto yy682; - if (yych <= 0xBF) goto yy685; - goto yy682; -yy688: - yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0xBF) goto yy685; - goto yy682; -yy689: - yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0x8F) goto yy685; - goto yy682; -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 64, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yybm[0 + yych] & 64) { + goto yy596; + } + if (yych <= 0xE0) { + if (yych <= '\n') { + if (yych <= 0x00) + goto yy593; + if (yych <= '\t') + goto yy595; + } else { + if (yych <= 0x7F) + goto yy595; + if (yych <= 0xC1) + goto yy593; + if (yych <= 0xDF) + goto yy598; + goto yy599; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy601; + goto yy600; + } else { + if (yych <= 0xF0) + goto yy602; + if (yych <= 0xF3) + goto yy603; + if (yych <= 0xF4) + goto yy604; + } + } + yy593: + ++p; + yy594 : { return 0; } + yy595: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy594; + if (yych <= '\t') + goto yy606; + goto yy594; + } else { + if (yych <= 0x7F) + goto yy606; + if (yych <= 0xC1) + goto yy594; + if (yych <= 0xF4) + goto yy606; + goto yy594; + } + yy596: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy605; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy597; + if (yych <= '>') + goto yy596; + } else { + if (yych <= 0xDF) + goto yy608; + if (yych <= 0xE0) + goto yy609; + goto yy610; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy611; + if (yych <= 0xEF) + goto yy610; + goto yy612; + } else { + if (yych <= 0xF3) + goto yy613; + if (yych <= 0xF4) + goto yy614; + } + } + yy597 : { return (bufsize_t)(p - start); } + yy598: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0xBF) + goto yy605; + goto yy594; + yy599: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy594; + if (yych <= 0xBF) + goto yy608; + goto yy594; + yy600: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0xBF) + goto yy608; + goto yy594; + yy601: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0x9F) + goto yy608; + goto yy594; + yy602: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy594; + if (yych <= 0xBF) + goto yy610; + goto yy594; + yy603: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0xBF) + goto yy610; + goto yy594; + yy604: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0x8F) + goto yy610; + goto yy594; + yy605: + yych = *++p; + yy606: + if (yybm[0 + yych] & 128) { + goto yy605; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy607; + if (yych <= '>') + goto yy596; + } else { + if (yych <= 0xDF) + goto yy608; + if (yych <= 0xE0) + goto yy609; + goto yy610; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy611; + if (yych <= 0xEF) + goto yy610; + goto yy612; + } else { + if (yych <= 0xF3) + goto yy613; + if (yych <= 0xF4) + goto yy614; + } + } + yy607: + p = marker; + if (yyaccept == 0) { + goto yy594; + } else { + goto yy597; + } + yy608: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0xBF) + goto yy605; + goto yy607; + yy609: + yych = *++p; + if (yych <= 0x9F) + goto yy607; + if (yych <= 0xBF) + goto yy608; + goto yy607; + yy610: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0xBF) + goto yy608; + goto yy607; + yy611: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0x9F) + goto yy608; + goto yy607; + yy612: + yych = *++p; + if (yych <= 0x8F) + goto yy607; + if (yych <= 0xBF) + goto yy610; + goto yy607; + yy613: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0xBF) + goto yy610; + goto yy607; + yy614: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0x8F) + goto yy610; + goto yy607; + } } // Try to match an HTML block end line of type 5 -bufsize_t _scan_html_block_end_5(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_5(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 128, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy692; - if (yych != '\n') goto yy694; - } else { - if (yych <= ']') goto yy695; - if (yych <= 0x7F) goto yy694; - if (yych >= 0xC2) goto yy696; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy697; - if (yych == 0xED) goto yy699; - goto yy698; - } else { - if (yych <= 0xF0) goto yy700; - if (yych <= 0xF3) goto yy701; - if (yych <= 0xF4) goto yy702; - } - } -yy692: - ++p; -yy693: - { return 0; } -yy694: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy693; - if (yych <= '\t') goto yy704; - goto yy693; - } else { - if (yych <= 0x7F) goto yy704; - if (yych <= 0xC1) goto yy693; - if (yych <= 0xF4) goto yy704; - goto yy693; - } -yy695: - yyaccept = 0; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy714; - } - if (yych <= '\n') { - if (yych <= 0x00) goto yy693; - if (yych <= '\t') goto yy704; - goto yy693; - } else { - if (yych <= 0x7F) goto yy704; - if (yych <= 0xC1) goto yy693; - if (yych <= 0xF4) goto yy704; - goto yy693; - } -yy696: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0xBF) goto yy703; - goto yy693; -yy697: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy693; - if (yych <= 0xBF) goto yy707; - goto yy693; -yy698: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0xBF) goto yy707; - goto yy693; -yy699: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0x9F) goto yy707; - goto yy693; -yy700: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy693; - if (yych <= 0xBF) goto yy709; - goto yy693; -yy701: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0xBF) goto yy709; - goto yy693; -yy702: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0x8F) goto yy709; - goto yy693; -yy703: - yych = *++p; -yy704: - if (yybm[0+yych] & 64) { - goto yy703; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy705; - if (yych <= ']') goto yy706; - } else { - if (yych <= 0xDF) goto yy707; - if (yych <= 0xE0) goto yy708; - goto yy709; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy710; - if (yych <= 0xEF) goto yy709; - goto yy711; - } else { - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; - } - } -yy705: - p = marker; - if (yyaccept == 0) { - goto yy693; - } else { - goto yy717; - } -yy706: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy703; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy705; - if (yych <= ']') goto yy714; - goto yy705; - } else { - if (yych <= 0xDF) goto yy707; - if (yych <= 0xE0) goto yy708; - goto yy709; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy710; - if (yych <= 0xEF) goto yy709; - goto yy711; - } else { - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; - goto yy705; - } - } -yy707: - yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0xBF) goto yy703; - goto yy705; -yy708: - yych = *++p; - if (yych <= 0x9F) goto yy705; - if (yych <= 0xBF) goto yy707; - goto yy705; -yy709: - yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0xBF) goto yy707; - goto yy705; -yy710: - yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0x9F) goto yy707; - goto yy705; -yy711: - yych = *++p; - if (yych <= 0x8F) goto yy705; - if (yych <= 0xBF) goto yy709; - goto yy705; -yy712: - yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0xBF) goto yy709; - goto yy705; -yy713: - yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0x8F) goto yy709; - goto yy705; -yy714: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy714; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy705; - if (yych == '\n') goto yy705; - goto yy703; - } else { - if (yych <= '>') goto yy716; - if (yych <= 0x7F) goto yy703; - if (yych <= 0xC1) goto yy705; - goto yy707; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy708; - if (yych == 0xED) goto yy710; - goto yy709; - } else { - if (yych <= 0xF0) goto yy711; - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; - goto yy705; - } - } -yy716: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy703; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy717; - if (yych <= ']') goto yy706; - } else { - if (yych <= 0xDF) goto yy707; - if (yych <= 0xE0) goto yy708; - goto yy709; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy710; - if (yych <= 0xEF) goto yy709; - goto yy711; - } else { - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; - } - } -yy717: - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= 0xDF) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy616; + if (yych != '\n') + goto yy618; + } else { + if (yych <= ']') + goto yy619; + if (yych <= 0x7F) + goto yy618; + if (yych >= 0xC2) + goto yy620; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy621; + if (yych == 0xED) + goto yy623; + goto yy622; + } else { + if (yych <= 0xF0) + goto yy624; + if (yych <= 0xF3) + goto yy625; + if (yych <= 0xF4) + goto yy626; + } + } + yy616: + ++p; + yy617 : { return 0; } + yy618: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy617; + if (yych <= '\t') + goto yy628; + goto yy617; + } else { + if (yych <= 0x7F) + goto yy628; + if (yych <= 0xC1) + goto yy617; + if (yych <= 0xF4) + goto yy628; + goto yy617; + } + yy619: + yyaccept = 0; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy638; + } + if (yych <= '\n') { + if (yych <= 0x00) + goto yy617; + if (yych <= '\t') + goto yy628; + goto yy617; + } else { + if (yych <= 0x7F) + goto yy628; + if (yych <= 0xC1) + goto yy617; + if (yych <= 0xF4) + goto yy628; + goto yy617; + } + yy620: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0xBF) + goto yy627; + goto yy617; + yy621: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy617; + if (yych <= 0xBF) + goto yy631; + goto yy617; + yy622: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0xBF) + goto yy631; + goto yy617; + yy623: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0x9F) + goto yy631; + goto yy617; + yy624: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy617; + if (yych <= 0xBF) + goto yy633; + goto yy617; + yy625: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0xBF) + goto yy633; + goto yy617; + yy626: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0x8F) + goto yy633; + goto yy617; + yy627: + yych = *++p; + yy628: + if (yybm[0 + yych] & 64) { + goto yy627; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy629; + if (yych <= ']') + goto yy630; + } else { + if (yych <= 0xDF) + goto yy631; + if (yych <= 0xE0) + goto yy632; + goto yy633; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy634; + if (yych <= 0xEF) + goto yy633; + goto yy635; + } else { + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + } + } + yy629: + p = marker; + if (yyaccept == 0) { + goto yy617; + } else { + goto yy640; + } + yy630: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy627; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy629; + if (yych <= ']') + goto yy638; + goto yy629; + } else { + if (yych <= 0xDF) + goto yy631; + if (yych <= 0xE0) + goto yy632; + goto yy633; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy634; + if (yych <= 0xEF) + goto yy633; + goto yy635; + } else { + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + goto yy629; + } + } + yy631: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0xBF) + goto yy627; + goto yy629; + yy632: + yych = *++p; + if (yych <= 0x9F) + goto yy629; + if (yych <= 0xBF) + goto yy631; + goto yy629; + yy633: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0xBF) + goto yy631; + goto yy629; + yy634: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0x9F) + goto yy631; + goto yy629; + yy635: + yych = *++p; + if (yych <= 0x8F) + goto yy629; + if (yych <= 0xBF) + goto yy633; + goto yy629; + yy636: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0xBF) + goto yy633; + goto yy629; + yy637: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0x8F) + goto yy633; + goto yy629; + yy638: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy638; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy629; + if (yych == '\n') + goto yy629; + goto yy627; + } else { + if (yych <= '>') + goto yy639; + if (yych <= 0x7F) + goto yy627; + if (yych <= 0xC1) + goto yy629; + goto yy631; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy632; + if (yych == 0xED) + goto yy634; + goto yy633; + } else { + if (yych <= 0xF0) + goto yy635; + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + goto yy629; + } + } + yy639: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy627; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy640; + if (yych <= ']') + goto yy630; + } else { + if (yych <= 0xDF) + goto yy631; + if (yych <= 0xE0) + goto yy632; + goto yy633; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy634; + if (yych <= 0xEF) + goto yy633; + goto yy635; + } else { + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + } + } + yy640 : { return (bufsize_t)(p - start); } + } } // Try to match a link title (in single quotes, in double quotes, or // in parentheses), returning number of chars matched. Allow one // level of internal nesting (quotes within quotes). -bufsize_t _scan_link_title(const unsigned char *p) -{ +bufsize_t _scan_link_title(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 192, 208, 208, 208, 208, 144, - 80, 80, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 32, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '&') { - if (yych == '"') goto yy722; - } else { - if (yych <= '\'') goto yy723; - if (yych <= '(') goto yy724; - } - ++p; -yy721: - { return 0; } -yy722: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x00) goto yy721; - if (yych <= 0x7F) goto yy726; - if (yych <= 0xC1) goto yy721; - if (yych <= 0xF4) goto yy726; - goto yy721; -yy723: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x00) goto yy721; - if (yych <= 0x7F) goto yy740; - if (yych <= 0xC1) goto yy721; - if (yych <= 0xF4) goto yy740; - goto yy721; -yy724: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '(') { - if (yych <= 0x00) goto yy721; - if (yych <= '\'') goto yy753; - goto yy721; - } else { - if (yych <= 0x7F) goto yy753; - if (yych <= 0xC1) goto yy721; - if (yych <= 0xF4) goto yy753; - goto yy721; - } -yy725: - yych = *++p; -yy726: - if (yybm[0+yych] & 16) { - goto yy725; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych <= '"') goto yy728; - goto yy730; - } else { - if (yych <= 0xC1) goto yy727; - if (yych <= 0xDF) goto yy732; - goto yy733; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy735; - goto yy734; - } else { - if (yych <= 0xF0) goto yy736; - if (yych <= 0xF3) goto yy737; - if (yych <= 0xF4) goto yy738; - } - } -yy727: - p = marker; - if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy721; - } else { - goto yy729; - } - } else { - if (yyaccept == 2) { - goto yy742; - } else { - goto yy755; - } - } -yy728: - ++p; -yy729: - { return (bufsize_t)(p - start); } -yy730: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy725; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych <= '"') goto yy765; - goto yy730; - } else { - if (yych <= 0xC1) goto yy727; - if (yych >= 0xE0) goto yy733; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy735; - goto yy734; - } else { - if (yych <= 0xF0) goto yy736; - if (yych <= 0xF3) goto yy737; - if (yych <= 0xF4) goto yy738; - goto yy727; - } - } -yy732: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy725; - goto yy727; -yy733: - yych = *++p; - if (yych <= 0x9F) goto yy727; - if (yych <= 0xBF) goto yy732; - goto yy727; -yy734: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy732; - goto yy727; -yy735: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x9F) goto yy732; - goto yy727; -yy736: - yych = *++p; - if (yych <= 0x8F) goto yy727; - if (yych <= 0xBF) goto yy734; - goto yy727; -yy737: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy734; - goto yy727; -yy738: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x8F) goto yy734; - goto yy727; -yy739: - yych = *++p; -yy740: - if (yybm[0+yych] & 64) { - goto yy739; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych >= '(') goto yy743; - } else { - if (yych <= 0xC1) goto yy727; - if (yych <= 0xDF) goto yy745; - goto yy746; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy748; - goto yy747; - } else { - if (yych <= 0xF0) goto yy749; - if (yych <= 0xF3) goto yy750; - if (yych <= 0xF4) goto yy751; - goto yy727; - } - } -yy741: - ++p; -yy742: - { return (bufsize_t)(p - start); } -yy743: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy739; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych <= '\'') goto yy766; - goto yy743; - } else { - if (yych <= 0xC1) goto yy727; - if (yych >= 0xE0) goto yy746; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy748; - goto yy747; - } else { - if (yych <= 0xF0) goto yy749; - if (yych <= 0xF3) goto yy750; - if (yych <= 0xF4) goto yy751; - goto yy727; - } - } -yy745: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy739; - goto yy727; -yy746: - yych = *++p; - if (yych <= 0x9F) goto yy727; - if (yych <= 0xBF) goto yy745; - goto yy727; -yy747: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy745; - goto yy727; -yy748: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x9F) goto yy745; - goto yy727; -yy749: - yych = *++p; - if (yych <= 0x8F) goto yy727; - if (yych <= 0xBF) goto yy747; - goto yy727; -yy750: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy747; - goto yy727; -yy751: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x8F) goto yy747; - goto yy727; -yy752: - yych = *++p; -yy753: - if (yybm[0+yych] & 128) { - goto yy752; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '(') goto yy727; - if (yych >= '*') goto yy756; - } else { - if (yych <= 0xC1) goto yy727; - if (yych <= 0xDF) goto yy758; - goto yy759; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy761; - goto yy760; - } else { - if (yych <= 0xF0) goto yy762; - if (yych <= 0xF3) goto yy763; - if (yych <= 0xF4) goto yy764; - goto yy727; - } - } -yy754: - ++p; -yy755: - { return (bufsize_t)(p - start); } -yy756: - yych = *++p; - if (yych <= 0xDF) { - if (yych <= '[') { - if (yych <= 0x00) goto yy727; - if (yych == ')') goto yy767; - goto yy752; - } else { - if (yych <= '\\') goto yy756; - if (yych <= 0x7F) goto yy752; - if (yych <= 0xC1) goto yy727; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy759; - if (yych == 0xED) goto yy761; - goto yy760; - } else { - if (yych <= 0xF0) goto yy762; - if (yych <= 0xF3) goto yy763; - if (yych <= 0xF4) goto yy764; - goto yy727; - } - } -yy758: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy752; - goto yy727; -yy759: - yych = *++p; - if (yych <= 0x9F) goto yy727; - if (yych <= 0xBF) goto yy758; - goto yy727; -yy760: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy758; - goto yy727; -yy761: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x9F) goto yy758; - goto yy727; -yy762: - yych = *++p; - if (yych <= 0x8F) goto yy727; - if (yych <= 0xBF) goto yy760; - goto yy727; -yy763: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy760; - goto yy727; -yy764: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x8F) goto yy760; - goto yy727; -yy765: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 16) { - goto yy725; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy729; - if (yych <= '"') goto yy728; - goto yy730; - } else { - if (yych <= 0xC1) goto yy729; - if (yych <= 0xDF) goto yy732; - goto yy733; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy735; - goto yy734; - } else { - if (yych <= 0xF0) goto yy736; - if (yych <= 0xF3) goto yy737; - if (yych <= 0xF4) goto yy738; - goto yy729; - } - } -yy766: - yyaccept = 2; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy739; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy742; - if (yych <= '\'') goto yy741; - goto yy743; - } else { - if (yych <= 0xC1) goto yy742; - if (yych <= 0xDF) goto yy745; - goto yy746; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy748; - goto yy747; - } else { - if (yych <= 0xF0) goto yy749; - if (yych <= 0xF3) goto yy750; - if (yych <= 0xF4) goto yy751; - goto yy742; - } - } -yy767: - yyaccept = 3; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy752; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '(') goto yy755; - if (yych <= ')') goto yy754; - goto yy756; - } else { - if (yych <= 0xC1) goto yy755; - if (yych <= 0xDF) goto yy758; - goto yy759; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy761; - goto yy760; - } else { - if (yych <= 0xF0) goto yy762; - if (yych <= 0xF3) goto yy763; - if (yych <= 0xF4) goto yy764; - goto yy755; - } - } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 80, 80, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 32, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= '&') { + if (yych == '"') + goto yy643; + } else { + if (yych <= '\'') + goto yy644; + if (yych <= '(') + goto yy645; + } + ++p; + yy642 : { return 0; } + yy643: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x00) + goto yy642; + if (yych <= 0x7F) + goto yy647; + if (yych <= 0xC1) + goto yy642; + if (yych <= 0xF4) + goto yy647; + goto yy642; + yy644: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x00) + goto yy642; + if (yych <= 0x7F) + goto yy660; + if (yych <= 0xC1) + goto yy642; + if (yych <= 0xF4) + goto yy660; + goto yy642; + yy645: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '(') { + if (yych <= 0x00) + goto yy642; + if (yych <= '\'') + goto yy672; + goto yy642; + } else { + if (yych <= 0x7F) + goto yy672; + if (yych <= 0xC1) + goto yy642; + if (yych <= 0xF4) + goto yy672; + goto yy642; + } + yy646: + yych = *++p; + yy647: + if (yybm[0 + yych] & 16) { + goto yy646; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych <= '"') + goto yy649; + goto yy651; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych <= 0xDF) + goto yy652; + goto yy653; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy655; + goto yy654; + } else { + if (yych <= 0xF0) + goto yy656; + if (yych <= 0xF3) + goto yy657; + if (yych <= 0xF4) + goto yy658; + } + } + yy648: + p = marker; + if (yyaccept <= 1) { + if (yyaccept == 0) { + goto yy642; + } else { + goto yy650; + } + } else { + if (yyaccept == 2) { + goto yy662; + } else { + goto yy674; + } + } + yy649: + ++p; + yy650 : { return (bufsize_t)(p - start); } + yy651: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy646; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych <= '"') + goto yy683; + goto yy651; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych >= 0xE0) + goto yy653; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy655; + goto yy654; + } else { + if (yych <= 0xF0) + goto yy656; + if (yych <= 0xF3) + goto yy657; + if (yych <= 0xF4) + goto yy658; + goto yy648; + } + } + yy652: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy646; + goto yy648; + yy653: + yych = *++p; + if (yych <= 0x9F) + goto yy648; + if (yych <= 0xBF) + goto yy652; + goto yy648; + yy654: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy652; + goto yy648; + yy655: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x9F) + goto yy652; + goto yy648; + yy656: + yych = *++p; + if (yych <= 0x8F) + goto yy648; + if (yych <= 0xBF) + goto yy654; + goto yy648; + yy657: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy654; + goto yy648; + yy658: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x8F) + goto yy654; + goto yy648; + yy659: + yych = *++p; + yy660: + if (yybm[0 + yych] & 64) { + goto yy659; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych >= '(') + goto yy663; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych <= 0xDF) + goto yy664; + goto yy665; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy667; + goto yy666; + } else { + if (yych <= 0xF0) + goto yy668; + if (yych <= 0xF3) + goto yy669; + if (yych <= 0xF4) + goto yy670; + goto yy648; + } + } + yy661: + ++p; + yy662 : { return (bufsize_t)(p - start); } + yy663: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy659; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych <= '\'') + goto yy684; + goto yy663; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych >= 0xE0) + goto yy665; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy667; + goto yy666; + } else { + if (yych <= 0xF0) + goto yy668; + if (yych <= 0xF3) + goto yy669; + if (yych <= 0xF4) + goto yy670; + goto yy648; + } + } + yy664: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy659; + goto yy648; + yy665: + yych = *++p; + if (yych <= 0x9F) + goto yy648; + if (yych <= 0xBF) + goto yy664; + goto yy648; + yy666: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy664; + goto yy648; + yy667: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x9F) + goto yy664; + goto yy648; + yy668: + yych = *++p; + if (yych <= 0x8F) + goto yy648; + if (yych <= 0xBF) + goto yy666; + goto yy648; + yy669: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy666; + goto yy648; + yy670: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x8F) + goto yy666; + goto yy648; + yy671: + yych = *++p; + yy672: + if (yybm[0 + yych] & 128) { + goto yy671; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= '(') + goto yy648; + if (yych >= '*') + goto yy675; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych <= 0xDF) + goto yy676; + goto yy677; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy679; + goto yy678; + } else { + if (yych <= 0xF0) + goto yy680; + if (yych <= 0xF3) + goto yy681; + if (yych <= 0xF4) + goto yy682; + goto yy648; + } + } + yy673: + ++p; + yy674 : { return (bufsize_t)(p - start); } + yy675: + yych = *++p; + if (yych <= 0xDF) { + if (yych <= '[') { + if (yych <= 0x00) + goto yy648; + if (yych == ')') + goto yy685; + goto yy671; + } else { + if (yych <= '\\') + goto yy675; + if (yych <= 0x7F) + goto yy671; + if (yych <= 0xC1) + goto yy648; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy677; + if (yych == 0xED) + goto yy679; + goto yy678; + } else { + if (yych <= 0xF0) + goto yy680; + if (yych <= 0xF3) + goto yy681; + if (yych <= 0xF4) + goto yy682; + goto yy648; + } + } + yy676: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy671; + goto yy648; + yy677: + yych = *++p; + if (yych <= 0x9F) + goto yy648; + if (yych <= 0xBF) + goto yy676; + goto yy648; + yy678: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy676; + goto yy648; + yy679: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x9F) + goto yy676; + goto yy648; + yy680: + yych = *++p; + if (yych <= 0x8F) + goto yy648; + if (yych <= 0xBF) + goto yy678; + goto yy648; + yy681: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy678; + goto yy648; + yy682: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x8F) + goto yy678; + goto yy648; + yy683: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 16) { + goto yy646; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy650; + if (yych <= '"') + goto yy649; + goto yy651; + } else { + if (yych <= 0xC1) + goto yy650; + if (yych <= 0xDF) + goto yy652; + goto yy653; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy655; + goto yy654; + } else { + if (yych <= 0xF0) + goto yy656; + if (yych <= 0xF3) + goto yy657; + if (yych <= 0xF4) + goto yy658; + goto yy650; + } + } + yy684: + yyaccept = 2; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy659; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy662; + if (yych <= '\'') + goto yy661; + goto yy663; + } else { + if (yych <= 0xC1) + goto yy662; + if (yych <= 0xDF) + goto yy664; + goto yy665; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy667; + goto yy666; + } else { + if (yych <= 0xF0) + goto yy668; + if (yych <= 0xF3) + goto yy669; + if (yych <= 0xF4) + goto yy670; + goto yy662; + } + } + yy685: + yyaccept = 3; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy671; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= '(') + goto yy674; + if (yych <= ')') + goto yy673; + goto yy675; + } else { + if (yych <= 0xC1) + goto yy674; + if (yych <= 0xDF) + goto yy676; + goto yy677; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy679; + goto yy678; + } else { + if (yych <= 0xF0) + goto yy680; + if (yych <= 0xF3) + goto yy681; + if (yych <= 0xF4) + goto yy682; + goto yy674; + } + } + } } // Match space characters, including newlines. -bufsize_t _scan_spacechars(const unsigned char *p) -{ - const unsigned char *start = p; \ - -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 128, 128, 128, 128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yybm[0+yych] & 128) { - goto yy772; - } - ++p; - { return 0; } -yy772: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy772; - } - { return (bufsize_t)(p - start); } -} +bufsize_t _scan_spacechars(const unsigned char *p) { + const unsigned char *start = p; + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + yych = *p; + if (yybm[0 + yych] & 128) { + goto yy687; + } + ++p; + { return 0; } + yy687: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy687; + } + { return (bufsize_t)(p - start); } + } } // Match ATX heading start. -bufsize_t _scan_atx_heading_start(const unsigned char *p) -{ +bufsize_t _scan_atx_heading_start(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '#') goto yy779; - ++p; -yy778: - { return 0; } -yy779: - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy780; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy778; - if (yych <= '\n') goto yy783; - goto yy778; - } else { - if (yych <= '\r') goto yy783; - if (yych == '#') goto yy784; - goto yy778; - } -yy780: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy780; - } -yy782: - { return (bufsize_t)(p - start); } -yy783: - ++p; - goto yy782; -yy784: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy780; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - } else { - if (yych <= '\r') goto yy783; - if (yych == '#') goto yy786; - } -yy785: - p = marker; - goto yy778; -yy786: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy780; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - goto yy785; - } else { - if (yych <= '\r') goto yy783; - if (yych != '#') goto yy785; - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy780; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - goto yy785; - } else { - if (yych <= '\r') goto yy783; - if (yych != '#') goto yy785; - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy780; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - goto yy785; - } else { - if (yych <= '\r') goto yy783; - if (yych != '#') goto yy785; - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy780; - } - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - if (yych == '\r') goto yy783; - goto yy785; -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + yych = *p; + if (yych == '#') + goto yy690; + ++p; + yy689 : { return 0; } + yy690: + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy689; + if (yych <= '\n') + goto yy693; + goto yy689; + } else { + if (yych <= '\r') + goto yy693; + if (yych == '#') + goto yy694; + goto yy689; + } + yy691: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + yy692 : { return (bufsize_t)(p - start); } + yy693: + ++p; + goto yy692; + yy694: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + } else { + if (yych <= '\r') + goto yy693; + if (yych == '#') + goto yy696; + } + yy695: + p = marker; + goto yy689; + yy696: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + goto yy695; + } else { + if (yych <= '\r') + goto yy693; + if (yych != '#') + goto yy695; + } + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + goto yy695; + } else { + if (yych <= '\r') + goto yy693; + if (yych != '#') + goto yy695; + } + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + goto yy695; + } else { + if (yych <= '\r') + goto yy693; + if (yych != '#') + goto yy695; + } + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + if (yych == '\r') + goto yy693; + goto yy695; + } } // Match setext heading line. Return 1 for level-1 heading, // 2 for level-2, 0 for no match. -bufsize_t _scan_setext_heading_line(const unsigned char *p) -{ +bufsize_t _scan_setext_heading_line(const unsigned char *p) { const unsigned char *marker = NULL; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 32, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '-') goto yy794; - if (yych == '=') goto yy795; - ++p; -yy793: - { return 0; } -yy794: - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy801; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy793; - if (yych <= '\n') goto yy797; - goto yy793; - } else { - if (yych <= '\r') goto yy797; - if (yych == ' ') goto yy797; - goto yy793; - } -yy795: - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy807; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy793; - if (yych <= '\n') goto yy804; - goto yy793; - } else { - if (yych <= '\r') goto yy804; - if (yych == ' ') goto yy804; - goto yy793; - } -yy796: - yych = *++p; -yy797: - if (yybm[0+yych] & 32) { - goto yy796; - } - if (yych <= 0x08) goto yy798; - if (yych <= '\n') goto yy799; - if (yych == '\r') goto yy799; -yy798: - p = marker; - goto yy793; -yy799: - ++p; - { return 2; } -yy801: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy796; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy798; - if (yych <= '\n') goto yy799; - goto yy798; - } else { - if (yych <= '\r') goto yy799; - if (yych == '-') goto yy801; - goto yy798; - } -yy803: - yych = *++p; -yy804: - if (yych <= '\f') { - if (yych <= 0x08) goto yy798; - if (yych <= '\t') goto yy803; - if (yych >= '\v') goto yy798; - } else { - if (yych <= '\r') goto yy805; - if (yych == ' ') goto yy803; - goto yy798; - } -yy805: - ++p; - { return 1; } -yy807: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy807; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy798; - if (yych <= '\t') goto yy803; - if (yych <= '\n') goto yy805; - goto yy798; - } else { - if (yych <= '\r') goto yy805; - if (yych == ' ') goto yy803; - goto yy798; - } -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + yych = *p; + if (yych == '-') + goto yy699; + if (yych == '=') + goto yy700; + ++p; + yy698 : { return 0; } + yy699: + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy705; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy698; + if (yych <= '\n') + goto yy702; + goto yy698; + } else { + if (yych <= '\r') + goto yy702; + if (yych == ' ') + goto yy702; + goto yy698; + } + yy700: + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy709; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy698; + if (yych <= '\n') + goto yy707; + goto yy698; + } else { + if (yych <= '\r') + goto yy707; + if (yych == ' ') + goto yy707; + goto yy698; + } + yy701: + yych = *++p; + yy702: + if (yybm[0 + yych] & 32) { + goto yy701; + } + if (yych <= 0x08) + goto yy703; + if (yych <= '\n') + goto yy704; + if (yych == '\r') + goto yy704; + yy703: + p = marker; + goto yy698; + yy704: + ++p; + { return 2; } + yy705: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy701; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy703; + if (yych <= '\n') + goto yy704; + goto yy703; + } else { + if (yych <= '\r') + goto yy704; + if (yych == '-') + goto yy705; + goto yy703; + } + yy706: + yych = *++p; + yy707: + if (yych <= '\f') { + if (yych <= 0x08) + goto yy703; + if (yych <= '\t') + goto yy706; + if (yych >= '\v') + goto yy703; + } else { + if (yych <= '\r') + goto yy708; + if (yych == ' ') + goto yy706; + goto yy703; + } + yy708: + ++p; + { return 1; } + yy709: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy709; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy703; + if (yych <= '\t') + goto yy706; + if (yych <= '\n') + goto yy708; + goto yy703; + } else { + if (yych <= '\r') + goto yy708; + if (yych == ' ') + goto yy706; + goto yy703; + } + } } // Scan an opening code fence. -bufsize_t _scan_open_code_fence(const unsigned char *p) -{ +bufsize_t _scan_open_code_fence(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 0, 192, 192, 0, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 144, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 224, 192, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '`') goto yy813; - if (yych == '~') goto yy814; - ++p; -yy812: - { return 0; } -yy813: - yych = *(marker = ++p); - if (yych == '`') goto yy815; - goto yy812; -yy814: - yych = *(marker = ++p); - if (yych == '~') goto yy817; - goto yy812; -yy815: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy818; - } -yy816: - p = marker; - goto yy812; -yy817: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy820; - } - goto yy816; -yy818: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy818; - } - if (yych <= 0xDF) { - if (yych <= '\f') { - if (yych <= 0x00) goto yy816; - if (yych == '\n') { - marker = p; - goto yy824; - } - marker = p; - goto yy822; - } else { - if (yych <= '\r') { - marker = p; - goto yy824; - } - if (yych <= 0x7F) { - marker = p; - goto yy822; - } - if (yych <= 0xC1) goto yy816; - marker = p; - goto yy826; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) { - marker = p; - goto yy827; - } - if (yych == 0xED) { - marker = p; - goto yy829; - } - marker = p; - goto yy828; - } else { - if (yych <= 0xF0) { - marker = p; - goto yy830; - } - if (yych <= 0xF3) { - marker = p; - goto yy831; - } - if (yych <= 0xF4) { - marker = p; - goto yy832; - } - goto yy816; - } - } -yy820: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy820; - } - if (yych <= 0xDF) { - if (yych <= '\f') { - if (yych <= 0x00) goto yy816; - if (yych == '\n') { - marker = p; - goto yy835; - } - marker = p; - goto yy833; - } else { - if (yych <= '\r') { - marker = p; - goto yy835; - } - if (yych <= 0x7F) { - marker = p; - goto yy833; - } - if (yych <= 0xC1) goto yy816; - marker = p; - goto yy837; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) { - marker = p; - goto yy838; - } - if (yych == 0xED) { - marker = p; - goto yy840; - } - marker = p; - goto yy839; - } else { - if (yych <= 0xF0) { - marker = p; - goto yy841; - } - if (yych <= 0xF3) { - marker = p; - goto yy842; - } - if (yych <= 0xF4) { - marker = p; - goto yy843; - } - goto yy816; - } - } -yy822: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy822; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy816; - if (yych >= 0x0E) goto yy816; - } else { - if (yych <= 0xDF) goto yy826; - if (yych <= 0xE0) goto yy827; - goto yy828; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy829; - if (yych <= 0xEF) goto yy828; - goto yy830; - } else { - if (yych <= 0xF3) goto yy831; - if (yych <= 0xF4) goto yy832; - goto yy816; - } - } -yy824: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -yy826: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy822; - goto yy816; -yy827: - yych = *++p; - if (yych <= 0x9F) goto yy816; - if (yych <= 0xBF) goto yy826; - goto yy816; -yy828: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy826; - goto yy816; -yy829: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x9F) goto yy826; - goto yy816; -yy830: - yych = *++p; - if (yych <= 0x8F) goto yy816; - if (yych <= 0xBF) goto yy828; - goto yy816; -yy831: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy828; - goto yy816; -yy832: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x8F) goto yy828; - goto yy816; -yy833: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy833; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy816; - if (yych >= 0x0E) goto yy816; - } else { - if (yych <= 0xDF) goto yy837; - if (yych <= 0xE0) goto yy838; - goto yy839; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy840; - if (yych <= 0xEF) goto yy839; - goto yy841; - } else { - if (yych <= 0xF3) goto yy842; - if (yych <= 0xF4) goto yy843; - goto yy816; - } - } -yy835: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -yy837: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy833; - goto yy816; -yy838: - yych = *++p; - if (yych <= 0x9F) goto yy816; - if (yych <= 0xBF) goto yy837; - goto yy816; -yy839: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy837; - goto yy816; -yy840: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x9F) goto yy837; - goto yy816; -yy841: - yych = *++p; - if (yych <= 0x8F) goto yy816; - if (yych <= 0xBF) goto yy839; - goto yy816; -yy842: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy839; - goto yy816; -yy843: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x8F) goto yy839; - goto yy816; -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 192, 192, 0, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 144, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 224, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych == '`') + goto yy712; + if (yych == '~') + goto yy713; + ++p; + yy711 : { return 0; } + yy712: + yych = *(marker = ++p); + if (yych == '`') + goto yy714; + goto yy711; + yy713: + yych = *(marker = ++p); + if (yych == '~') + goto yy716; + goto yy711; + yy714: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy717; + } + yy715: + p = marker; + goto yy711; + yy716: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy718; + } + goto yy715; + yy717: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy717; + } + if (yych <= 0xDF) { + if (yych <= '\f') { + if (yych <= 0x00) + goto yy715; + if (yych == '\n') { + marker = p; + goto yy720; + } + marker = p; + goto yy719; + } else { + if (yych <= '\r') { + marker = p; + goto yy720; + } + if (yych <= 0x7F) { + marker = p; + goto yy719; + } + if (yych <= 0xC1) + goto yy715; + marker = p; + goto yy721; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) { + marker = p; + goto yy722; + } + if (yych == 0xED) { + marker = p; + goto yy724; + } + marker = p; + goto yy723; + } else { + if (yych <= 0xF0) { + marker = p; + goto yy725; + } + if (yych <= 0xF3) { + marker = p; + goto yy726; + } + if (yych <= 0xF4) { + marker = p; + goto yy727; + } + goto yy715; + } + } + yy718: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy718; + } + if (yych <= 0xDF) { + if (yych <= '\f') { + if (yych <= 0x00) + goto yy715; + if (yych == '\n') { + marker = p; + goto yy729; + } + marker = p; + goto yy728; + } else { + if (yych <= '\r') { + marker = p; + goto yy729; + } + if (yych <= 0x7F) { + marker = p; + goto yy728; + } + if (yych <= 0xC1) + goto yy715; + marker = p; + goto yy730; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) { + marker = p; + goto yy731; + } + if (yych == 0xED) { + marker = p; + goto yy733; + } + marker = p; + goto yy732; + } else { + if (yych <= 0xF0) { + marker = p; + goto yy734; + } + if (yych <= 0xF3) { + marker = p; + goto yy735; + } + if (yych <= 0xF4) { + marker = p; + goto yy736; + } + goto yy715; + } + } + yy719: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy719; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy715; + if (yych >= 0x0E) + goto yy715; + } else { + if (yych <= 0xDF) + goto yy721; + if (yych <= 0xE0) + goto yy722; + goto yy723; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy724; + if (yych <= 0xEF) + goto yy723; + goto yy725; + } else { + if (yych <= 0xF3) + goto yy726; + if (yych <= 0xF4) + goto yy727; + goto yy715; + } + } + yy720: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + yy721: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy719; + goto yy715; + yy722: + yych = *++p; + if (yych <= 0x9F) + goto yy715; + if (yych <= 0xBF) + goto yy721; + goto yy715; + yy723: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy721; + goto yy715; + yy724: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x9F) + goto yy721; + goto yy715; + yy725: + yych = *++p; + if (yych <= 0x8F) + goto yy715; + if (yych <= 0xBF) + goto yy723; + goto yy715; + yy726: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy723; + goto yy715; + yy727: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x8F) + goto yy723; + goto yy715; + yy728: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy728; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy715; + if (yych >= 0x0E) + goto yy715; + } else { + if (yych <= 0xDF) + goto yy730; + if (yych <= 0xE0) + goto yy731; + goto yy732; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy733; + if (yych <= 0xEF) + goto yy732; + goto yy734; + } else { + if (yych <= 0xF3) + goto yy735; + if (yych <= 0xF4) + goto yy736; + goto yy715; + } + } + yy729: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + yy730: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy728; + goto yy715; + yy731: + yych = *++p; + if (yych <= 0x9F) + goto yy715; + if (yych <= 0xBF) + goto yy730; + goto yy715; + yy732: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy730; + goto yy715; + yy733: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x9F) + goto yy730; + goto yy715; + yy734: + yych = *++p; + if (yych <= 0x8F) + goto yy715; + if (yych <= 0xBF) + goto yy732; + goto yy715; + yy735: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy732; + goto yy715; + yy736: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x8F) + goto yy732; + goto yy715; + } } // Scan a closing code fence with length at least len. -bufsize_t _scan_close_code_fence(const unsigned char *p) -{ +bufsize_t _scan_close_code_fence(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '`') goto yy848; - if (yych == '~') goto yy849; - ++p; -yy847: - { return 0; } -yy848: - yych = *(marker = ++p); - if (yych == '`') goto yy850; - goto yy847; -yy849: - yych = *(marker = ++p); - if (yych == '~') goto yy852; - goto yy847; -yy850: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy853; - } -yy851: - p = marker; - goto yy847; -yy852: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy855; - } - goto yy851; -yy853: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy853; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy851; - if (yych <= '\t') { - marker = p; - goto yy857; - } - if (yych <= '\n') { - marker = p; - goto yy859; - } - goto yy851; - } else { - if (yych <= '\r') { - marker = p; - goto yy859; - } - if (yych == ' ') { - marker = p; - goto yy857; - } - goto yy851; - } -yy855: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy855; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy851; - if (yych <= '\t') { - marker = p; - goto yy861; - } - if (yych <= '\n') { - marker = p; - goto yy863; - } - goto yy851; - } else { - if (yych <= '\r') { - marker = p; - goto yy863; - } - if (yych == ' ') { - marker = p; - goto yy861; - } - goto yy851; - } -yy857: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy857; - } - if (yych <= 0x08) goto yy851; - if (yych <= '\n') goto yy859; - if (yych != '\r') goto yy851; -yy859: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -yy861: - yych = *++p; - if (yych <= '\f') { - if (yych <= 0x08) goto yy851; - if (yych <= '\t') goto yy861; - if (yych >= '\v') goto yy851; - } else { - if (yych <= '\r') goto yy863; - if (yych == ' ') goto yy861; - goto yy851; - } -yy863: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + yych = *p; + if (yych == '`') + goto yy739; + if (yych == '~') + goto yy740; + ++p; + yy738 : { return 0; } + yy739: + yych = *(marker = ++p); + if (yych == '`') + goto yy741; + goto yy738; + yy740: + yych = *(marker = ++p); + if (yych == '~') + goto yy743; + goto yy738; + yy741: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy744; + } + yy742: + p = marker; + goto yy738; + yy743: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy745; + } + goto yy742; + yy744: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy744; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy742; + if (yych <= '\t') { + marker = p; + goto yy746; + } + if (yych <= '\n') { + marker = p; + goto yy747; + } + goto yy742; + } else { + if (yych <= '\r') { + marker = p; + goto yy747; + } + if (yych == ' ') { + marker = p; + goto yy746; + } + goto yy742; + } + yy745: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy745; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy742; + if (yych <= '\t') { + marker = p; + goto yy748; + } + if (yych <= '\n') { + marker = p; + goto yy749; + } + goto yy742; + } else { + if (yych <= '\r') { + marker = p; + goto yy749; + } + if (yych == ' ') { + marker = p; + goto yy748; + } + goto yy742; + } + yy746: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy746; + } + if (yych <= 0x08) + goto yy742; + if (yych <= '\n') + goto yy747; + if (yych != '\r') + goto yy742; + yy747: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + yy748: + yych = *++p; + if (yych <= '\f') { + if (yych <= 0x08) + goto yy742; + if (yych <= '\t') + goto yy748; + if (yych >= '\v') + goto yy742; + } else { + if (yych <= '\r') + goto yy749; + if (yych == ' ') + goto yy748; + goto yy742; + } + yy749: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + } } // Scans an entity. // Returns number of chars matched. -bufsize_t _scan_entity(const unsigned char *p) -{ +bufsize_t _scan_entity(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - yych = *p; - if (yych == '&') goto yy869; - ++p; -yy868: - { return 0; } -yy869: - yych = *(marker = ++p); - if (yych <= '@') { - if (yych != '#') goto yy868; - } else { - if (yych <= 'Z') goto yy872; - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy872; - goto yy868; - } - yych = *++p; - if (yych <= 'W') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy873; - } else { - if (yych <= 'X') goto yy874; - if (yych == 'x') goto yy874; - } -yy871: - p = marker; - goto yy868; -yy872: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy875; - goto yy871; - } else { - if (yych <= 'Z') goto yy875; - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy875; - goto yy871; - } -yy873: - yych = *++p; - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy876; - if (yych == ';') goto yy877; - goto yy871; -yy874: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy879; - goto yy871; - } else { - if (yych <= 'F') goto yy879; - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy879; - goto yy871; - } -yy875: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy880; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy880; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy880; - goto yy871; - } - } -yy876: - yych = *++p; - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy881; - if (yych != ';') goto yy871; -yy877: - ++p; - { return (bufsize_t)(p - start); } -yy879: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy882; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy871; - goto yy882; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy882; - goto yy871; - } - } -yy880: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy883; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy883; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy883; - goto yy871; - } - } -yy881: - yych = *++p; - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy884; - if (yych == ';') goto yy877; - goto yy871; -yy882: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy885; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy871; - goto yy885; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy885; - goto yy871; - } - } -yy883: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy886; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy886; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy886; - goto yy871; - } - } -yy884: - yych = *++p; - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy887; - if (yych == ';') goto yy877; - goto yy871; -yy885: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy888; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy871; - goto yy888; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy888; - goto yy871; - } - } -yy886: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy889; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy889; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy889; - goto yy871; - } - } -yy887: - yych = *++p; - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy890; - if (yych == ';') goto yy877; - goto yy871; -yy888: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy891; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy871; - goto yy891; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy891; - goto yy871; - } - } -yy889: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy892; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy892; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy892; - goto yy871; - } - } -yy890: - yych = *++p; - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy893; - if (yych == ';') goto yy877; - goto yy871; -yy891: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy893; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy871; - goto yy893; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy893; - goto yy871; - } - } -yy892: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy894; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy894; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy894; - goto yy871; - } - } -yy893: - yych = *++p; - if (yych == ';') goto yy877; - goto yy871; -yy894: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy895; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy895: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy896; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy896: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy897; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy897: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy898; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy898: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy899; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy899: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy900; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy900: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy901; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy901: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy902; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy902: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy903; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy903: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy904; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy904: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy905; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy905: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy906; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy906: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy907; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy907: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy908; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy908: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy909; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy909: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy910; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy910: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy911; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy911: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy912; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy912: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy913; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy913: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy914; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy914: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy915; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy915: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy916; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy916: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy917; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy917: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy893; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy893; - } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy893; - goto yy871; - } - } -} - + { + unsigned char yych; + yych = *p; + if (yych == '&') + goto yy752; + ++p; + yy751 : { return 0; } + yy752: + yych = *(marker = ++p); + if (yych <= '@') { + if (yych != '#') + goto yy751; + } else { + if (yych <= 'Z') + goto yy754; + if (yych <= '`') + goto yy751; + if (yych <= 'z') + goto yy754; + goto yy751; + } + yych = *++p; + if (yych <= 'W') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy755; + } else { + if (yych <= 'X') + goto yy756; + if (yych == 'x') + goto yy756; + } + yy753: + p = marker; + goto yy751; + yy754: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy757; + goto yy753; + } else { + if (yych <= 'Z') + goto yy757; + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy757; + goto yy753; + } + yy755: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy758; + if (yych == ';') + goto yy759; + goto yy753; + yy756: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy760; + goto yy753; + } else { + if (yych <= 'F') + goto yy760; + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy760; + goto yy753; + } + yy757: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy761; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy761; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy761; + goto yy753; + } + } + yy758: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy762; + if (yych != ';') + goto yy753; + yy759: + ++p; + { return (bufsize_t)(p - start); } + yy760: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy763; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy763; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy763; + goto yy753; + } + } + yy761: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy764; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy764; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy764; + goto yy753; + } + } + yy762: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy765; + if (yych == ';') + goto yy759; + goto yy753; + yy763: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy766; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy766; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy766; + goto yy753; + } + } + yy764: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy767; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy767; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy767; + goto yy753; + } + } + yy765: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy768; + if (yych == ';') + goto yy759; + goto yy753; + yy766: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy769; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy769; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy769; + goto yy753; + } + } + yy767: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy770; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy770; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy770; + goto yy753; + } + } + yy768: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy771; + if (yych == ';') + goto yy759; + goto yy753; + yy769: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy772; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy772; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy772; + goto yy753; + } + } + yy770: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy773; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy773; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy773; + goto yy753; + } + } + yy771: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy774; + if (yych == ';') + goto yy759; + goto yy753; + yy772: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy774; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy774; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy774; + goto yy753; + } + } + yy773: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy775; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy775; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy775; + goto yy753; + } + } + yy774: + yych = *++p; + if (yych == ';') + goto yy759; + goto yy753; + yy775: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy776; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy776: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy777; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy777: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy778; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy778: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy779; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy779: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy780; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy780: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy781; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy781: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy782; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy782: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy783; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy783: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy784; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy784: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy785; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy785: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy786; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy786: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy787; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy787: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy788; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy788: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy789; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy789: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy790; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy790: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy791; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy791: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy792; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy792: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy793; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy793: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy794; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy794: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy795; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy795: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy796; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy796: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy797; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy797: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy798; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy798: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy774; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy774; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy774; + goto yy753; + } + } + } } // Returns positive value if a URL begins in a way that is potentially // dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0. -bufsize_t _scan_dangerous_url(const unsigned char *p) -{ +bufsize_t _scan_dangerous_url(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - yych = *p; - if (yych <= 'V') { - if (yych <= 'F') { - if (yych == 'D') goto yy922; - if (yych >= 'F') goto yy923; - } else { - if (yych == 'J') goto yy924; - if (yych >= 'V') goto yy925; - } - } else { - if (yych <= 'f') { - if (yych == 'd') goto yy922; - if (yych >= 'f') goto yy923; - } else { - if (yych <= 'j') { - if (yych >= 'j') goto yy924; - } else { - if (yych == 'v') goto yy925; - } - } - } - ++p; -yy921: - { return 0; } -yy922: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'A') goto yy926; - if (yych == 'a') goto yy926; - goto yy921; -yy923: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'I') goto yy928; - if (yych == 'i') goto yy928; - goto yy921; -yy924: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'A') goto yy929; - if (yych == 'a') goto yy929; - goto yy921; -yy925: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'B') goto yy930; - if (yych == 'b') goto yy930; - goto yy921; -yy926: - yych = *++p; - if (yych == 'T') goto yy931; - if (yych == 't') goto yy931; -yy927: - p = marker; - if (yyaccept == 0) { - goto yy921; - } else { - goto yy939; - } -yy928: - yych = *++p; - if (yych == 'L') goto yy932; - if (yych == 'l') goto yy932; - goto yy927; -yy929: - yych = *++p; - if (yych == 'V') goto yy933; - if (yych == 'v') goto yy933; - goto yy927; -yy930: - yych = *++p; - if (yych == 'S') goto yy934; - if (yych == 's') goto yy934; - goto yy927; -yy931: - yych = *++p; - if (yych == 'A') goto yy935; - if (yych == 'a') goto yy935; - goto yy927; -yy932: - yych = *++p; - if (yych == 'E') goto yy936; - if (yych == 'e') goto yy936; - goto yy927; -yy933: - yych = *++p; - if (yych == 'A') goto yy930; - if (yych == 'a') goto yy930; - goto yy927; -yy934: - yych = *++p; - if (yych == 'C') goto yy937; - if (yych == 'c') goto yy937; - goto yy927; -yy935: - yych = *++p; - if (yych == ':') goto yy938; - goto yy927; -yy936: - yych = *++p; - if (yych == ':') goto yy940; - goto yy927; -yy937: - yych = *++p; - if (yych == 'R') goto yy941; - if (yych == 'r') goto yy941; - goto yy927; -yy938: - yyaccept = 1; - yych = *(marker = ++p); - if (yych == 'I') goto yy942; - if (yych == 'i') goto yy942; -yy939: - { return (bufsize_t)(p - start); } -yy940: - ++p; - goto yy939; -yy941: - yych = *++p; - if (yych == 'I') goto yy943; - if (yych == 'i') goto yy943; - goto yy927; -yy942: - yych = *++p; - if (yych == 'M') goto yy944; - if (yych == 'm') goto yy944; - goto yy927; -yy943: - yych = *++p; - if (yych == 'P') goto yy945; - if (yych == 'p') goto yy945; - goto yy927; -yy944: - yych = *++p; - if (yych == 'A') goto yy946; - if (yych == 'a') goto yy946; - goto yy927; -yy945: - yych = *++p; - if (yych == 'T') goto yy936; - if (yych == 't') goto yy936; - goto yy927; -yy946: - yych = *++p; - if (yych == 'G') goto yy947; - if (yych != 'g') goto yy927; -yy947: - yych = *++p; - if (yych == 'E') goto yy948; - if (yych != 'e') goto yy927; -yy948: - yych = *++p; - if (yych != '/') goto yy927; - yych = *++p; - if (yych <= 'W') { - if (yych <= 'J') { - if (yych == 'G') goto yy950; - if (yych <= 'I') goto yy927; - goto yy951; - } else { - if (yych == 'P') goto yy952; - if (yych <= 'V') goto yy927; - goto yy953; - } - } else { - if (yych <= 'j') { - if (yych == 'g') goto yy950; - if (yych <= 'i') goto yy927; - goto yy951; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy927; - goto yy952; - } else { - if (yych == 'w') goto yy953; - goto yy927; - } - } - } -yy950: - yych = *++p; - if (yych == 'I') goto yy954; - if (yych == 'i') goto yy954; - goto yy927; -yy951: - yych = *++p; - if (yych == 'P') goto yy955; - if (yych == 'p') goto yy955; - goto yy927; -yy952: - yych = *++p; - if (yych == 'N') goto yy956; - if (yych == 'n') goto yy956; - goto yy927; -yy953: - yych = *++p; - if (yych == 'E') goto yy957; - if (yych == 'e') goto yy957; - goto yy927; -yy954: - yych = *++p; - if (yych == 'F') goto yy958; - if (yych == 'f') goto yy958; - goto yy927; -yy955: - yych = *++p; - if (yych == 'E') goto yy956; - if (yych != 'e') goto yy927; -yy956: - yych = *++p; - if (yych == 'G') goto yy958; - if (yych == 'g') goto yy958; - goto yy927; -yy957: - yych = *++p; - if (yych == 'B') goto yy960; - if (yych == 'b') goto yy960; - goto yy927; -yy958: - ++p; - { return 0; } -yy960: - yych = *++p; - if (yych == 'P') goto yy958; - if (yych == 'p') goto yy958; - goto yy927; -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + yych = *p; + if (yych <= 'V') { + if (yych <= 'F') { + if (yych == 'D') + goto yy801; + if (yych >= 'F') + goto yy802; + } else { + if (yych == 'J') + goto yy803; + if (yych >= 'V') + goto yy804; + } + } else { + if (yych <= 'f') { + if (yych == 'd') + goto yy801; + if (yych >= 'f') + goto yy802; + } else { + if (yych <= 'j') { + if (yych >= 'j') + goto yy803; + } else { + if (yych == 'v') + goto yy804; + } + } + } + ++p; + yy800 : { return 0; } + yy801: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'A') + goto yy805; + if (yych == 'a') + goto yy805; + goto yy800; + yy802: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'I') + goto yy807; + if (yych == 'i') + goto yy807; + goto yy800; + yy803: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'A') + goto yy808; + if (yych == 'a') + goto yy808; + goto yy800; + yy804: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'B') + goto yy809; + if (yych == 'b') + goto yy809; + goto yy800; + yy805: + yych = *++p; + if (yych == 'T') + goto yy810; + if (yych == 't') + goto yy810; + yy806: + p = marker; + if (yyaccept == 0) { + goto yy800; + } else { + goto yy818; + } + yy807: + yych = *++p; + if (yych == 'L') + goto yy811; + if (yych == 'l') + goto yy811; + goto yy806; + yy808: + yych = *++p; + if (yych == 'V') + goto yy812; + if (yych == 'v') + goto yy812; + goto yy806; + yy809: + yych = *++p; + if (yych == 'S') + goto yy813; + if (yych == 's') + goto yy813; + goto yy806; + yy810: + yych = *++p; + if (yych == 'A') + goto yy814; + if (yych == 'a') + goto yy814; + goto yy806; + yy811: + yych = *++p; + if (yych == 'E') + goto yy815; + if (yych == 'e') + goto yy815; + goto yy806; + yy812: + yych = *++p; + if (yych == 'A') + goto yy809; + if (yych == 'a') + goto yy809; + goto yy806; + yy813: + yych = *++p; + if (yych == 'C') + goto yy816; + if (yych == 'c') + goto yy816; + goto yy806; + yy814: + yych = *++p; + if (yych == ':') + goto yy817; + goto yy806; + yy815: + yych = *++p; + if (yych == ':') + goto yy819; + goto yy806; + yy816: + yych = *++p; + if (yych == 'R') + goto yy820; + if (yych == 'r') + goto yy820; + goto yy806; + yy817: + yyaccept = 1; + yych = *(marker = ++p); + if (yych == 'I') + goto yy821; + if (yych == 'i') + goto yy821; + yy818 : { return (bufsize_t)(p - start); } + yy819: + ++p; + goto yy818; + yy820: + yych = *++p; + if (yych == 'I') + goto yy822; + if (yych == 'i') + goto yy822; + goto yy806; + yy821: + yych = *++p; + if (yych == 'M') + goto yy823; + if (yych == 'm') + goto yy823; + goto yy806; + yy822: + yych = *++p; + if (yych == 'P') + goto yy824; + if (yych == 'p') + goto yy824; + goto yy806; + yy823: + yych = *++p; + if (yych == 'A') + goto yy825; + if (yych == 'a') + goto yy825; + goto yy806; + yy824: + yych = *++p; + if (yych == 'T') + goto yy815; + if (yych == 't') + goto yy815; + goto yy806; + yy825: + yych = *++p; + if (yych == 'G') + goto yy826; + if (yych != 'g') + goto yy806; + yy826: + yych = *++p; + if (yych == 'E') + goto yy827; + if (yych != 'e') + goto yy806; + yy827: + yych = *++p; + if (yych != '/') + goto yy806; + yych = *++p; + if (yych <= 'W') { + if (yych <= 'J') { + if (yych == 'G') + goto yy828; + if (yych <= 'I') + goto yy806; + goto yy829; + } else { + if (yych == 'P') + goto yy830; + if (yych <= 'V') + goto yy806; + goto yy831; + } + } else { + if (yych <= 'j') { + if (yych == 'g') + goto yy828; + if (yych <= 'i') + goto yy806; + goto yy829; + } else { + if (yych <= 'p') { + if (yych <= 'o') + goto yy806; + goto yy830; + } else { + if (yych == 'w') + goto yy831; + goto yy806; + } + } + } + yy828: + yych = *++p; + if (yych == 'I') + goto yy832; + if (yych == 'i') + goto yy832; + goto yy806; + yy829: + yych = *++p; + if (yych == 'P') + goto yy833; + if (yych == 'p') + goto yy833; + goto yy806; + yy830: + yych = *++p; + if (yych == 'N') + goto yy834; + if (yych == 'n') + goto yy834; + goto yy806; + yy831: + yych = *++p; + if (yych == 'E') + goto yy835; + if (yych == 'e') + goto yy835; + goto yy806; + yy832: + yych = *++p; + if (yych == 'F') + goto yy836; + if (yych == 'f') + goto yy836; + goto yy806; + yy833: + yych = *++p; + if (yych == 'E') + goto yy834; + if (yych != 'e') + goto yy806; + yy834: + yych = *++p; + if (yych == 'G') + goto yy836; + if (yych == 'g') + goto yy836; + goto yy806; + yy835: + yych = *++p; + if (yych == 'B') + goto yy837; + if (yych == 'b') + goto yy837; + goto yy806; + yy836: + ++p; + { return 0; } + yy837: + yych = *++p; + if (yych == 'P') + goto yy836; + if (yych == 'p') + goto yy836; + goto yy806; + } } // Scans a footnote definition opening. -bufsize_t _scan_footnote_definition(const unsigned char *p) -{ +bufsize_t _scan_footnote_definition(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 128, 0, 64, 64, 0, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 128, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 0, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '[') goto yy965; - ++p; -yy964: - { return 0; } -yy965: - yych = *(marker = ++p); - if (yych != '^') goto yy964; - yych = *++p; - if (yych != ']') goto yy969; -yy967: - p = marker; - goto yy964; -yy968: - yych = *++p; -yy969: - if (yybm[0+yych] & 64) { - goto yy968; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= ' ') goto yy967; - if (yych <= ']') goto yy977; - goto yy967; - } else { - if (yych <= 0xDF) goto yy970; - if (yych <= 0xE0) goto yy971; - goto yy972; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy973; - if (yych <= 0xEF) goto yy972; - goto yy974; - } else { - if (yych <= 0xF3) goto yy975; - if (yych <= 0xF4) goto yy976; - goto yy967; - } - } -yy970: - yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0xBF) goto yy968; - goto yy967; -yy971: - yych = *++p; - if (yych <= 0x9F) goto yy967; - if (yych <= 0xBF) goto yy970; - goto yy967; -yy972: - yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0xBF) goto yy970; - goto yy967; -yy973: - yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0x9F) goto yy970; - goto yy967; -yy974: - yych = *++p; - if (yych <= 0x8F) goto yy967; - if (yych <= 0xBF) goto yy972; - goto yy967; -yy975: - yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0xBF) goto yy972; - goto yy967; -yy976: - yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0x8F) goto yy972; - goto yy967; -yy977: - yych = *++p; - if (yych != ':') goto yy967; -yy978: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy978; - } - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 128, 0, 64, 64, 0, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + yych = *p; + if (yych == '[') + goto yy840; + ++p; + yy839 : { return 0; } + yy840: + yych = *(marker = ++p); + if (yych != '^') + goto yy839; + yych = *++p; + if (yych != ']') + goto yy843; + yy841: + p = marker; + goto yy839; + yy842: + yych = *++p; + yy843: + if (yybm[0 + yych] & 64) { + goto yy842; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= ' ') + goto yy841; + if (yych <= ']') + goto yy851; + goto yy841; + } else { + if (yych <= 0xDF) + goto yy844; + if (yych <= 0xE0) + goto yy845; + goto yy846; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy847; + if (yych <= 0xEF) + goto yy846; + goto yy848; + } else { + if (yych <= 0xF3) + goto yy849; + if (yych <= 0xF4) + goto yy850; + goto yy841; + } + } + yy844: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0xBF) + goto yy842; + goto yy841; + yy845: + yych = *++p; + if (yych <= 0x9F) + goto yy841; + if (yych <= 0xBF) + goto yy844; + goto yy841; + yy846: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0xBF) + goto yy844; + goto yy841; + yy847: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0x9F) + goto yy844; + goto yy841; + yy848: + yych = *++p; + if (yych <= 0x8F) + goto yy841; + if (yych <= 0xBF) + goto yy846; + goto yy841; + yy849: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0xBF) + goto yy846; + goto yy841; + yy850: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0x8F) + goto yy846; + goto yy841; + yy851: + yych = *++p; + if (yych != ':') + goto yy841; + yy852: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy852; + } + { return (bufsize_t)(p - start); } + } } diff --git a/lib/commonmarker/src/scanners.h b/lib/commonmarker/src/scanners.h index 8861f8dd..7e6a10ae 100644 --- a/lib/commonmarker/src/scanners.h +++ b/lib/commonmarker/src/scanners.h @@ -15,6 +15,10 @@ bufsize_t _scan_autolink_uri(const unsigned char *p); bufsize_t _scan_autolink_email(const unsigned char *p); bufsize_t _scan_html_tag(const unsigned char *p); bufsize_t _scan_liberal_html_tag(const unsigned char *p); +bufsize_t _scan_html_comment(const unsigned char *p); +bufsize_t _scan_html_pi(const unsigned char *p); +bufsize_t _scan_html_declaration(const unsigned char *p); +bufsize_t _scan_html_cdata(const unsigned char *p); bufsize_t _scan_html_block_start(const unsigned char *p); bufsize_t _scan_html_block_start_7(const unsigned char *p); bufsize_t _scan_html_block_end_1(const unsigned char *p); @@ -37,6 +41,10 @@ bufsize_t _scan_footnote_definition(const unsigned char *p); #define scan_autolink_email(c, n) _scan_at(&_scan_autolink_email, c, n) #define scan_html_tag(c, n) _scan_at(&_scan_html_tag, c, n) #define scan_liberal_html_tag(c, n) _scan_at(&_scan_liberal_html_tag, c, n) +#define scan_html_comment(c, n) _scan_at(&_scan_html_comment, c, n) +#define scan_html_pi(c, n) _scan_at(&_scan_html_pi, c, n) +#define scan_html_declaration(c, n) _scan_at(&_scan_html_declaration, c, n) +#define scan_html_cdata(c, n) _scan_at(&_scan_html_cdata, c, n) #define scan_html_block_start(c, n) _scan_at(&_scan_html_block_start, c, n) #define scan_html_block_start_7(c, n) _scan_at(&_scan_html_block_start_7, c, n) #define scan_html_block_end_1(c, n) _scan_at(&_scan_html_block_end_1, c, n) diff --git a/lib/commonmarker/src/scanners.re b/lib/commonmarker/src/scanners.re index c486f362..ac4b9cf4 100644 --- a/lib/commonmarker/src/scanners.re +++ b/lib/commonmarker/src/scanners.re @@ -54,16 +54,15 @@ bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, opentag = tagname attribute* spacechar* [/]? [>]; closetag = [/] tagname spacechar* [>]; - htmlcomment = "!---->" | ("!--" ([-]? [^\x00>-]) ([-]? [^\x00-])* "-->"); + htmlcomment = "--" ([^\x00-]+ | "-" [^\x00-] | "--" [^\x00>])* "-->"; - processinginstruction = "?" ([^?>\x00]+ | [?][^>\x00] | [>])* "?>"; + processinginstruction = ([^?>\x00]+ | [?][^>\x00] | [>])+; - declaration = "!" [A-Z]+ spacechar+ [^>\x00]* ">"; + declaration = [A-Z]+ spacechar+ [^>\x00]*; - cdata = "![CDATA[" ([^\]\x00]+ | "]" [^\]\x00] | "]]" [^>\x00])* "]]>"; + cdata = "CDATA[" ([^\]\x00]+ | "]" [^\]\x00] | "]]" [^>\x00])*; - htmltag = opentag | closetag | htmlcomment | processinginstruction | - declaration | cdata; + htmltag = opentag | closetag; in_parens_nosp = [(] (reg_char|escaped_char|[\\])* [)]; @@ -133,6 +132,46 @@ bufsize_t _scan_liberal_html_tag(const unsigned char *p) */ } +bufsize_t _scan_html_comment(const unsigned char *p) +{ + const unsigned char *marker = NULL; + const unsigned char *start = p; +/*!re2c + htmlcomment { return (bufsize_t)(p - start); } + * { return 0; } +*/ +} + +bufsize_t _scan_html_pi(const unsigned char *p) +{ + const unsigned char *marker = NULL; + const unsigned char *start = p; +/*!re2c + processinginstruction { return (bufsize_t)(p - start); } + * { return 0; } +*/ +} + +bufsize_t _scan_html_declaration(const unsigned char *p) +{ + const unsigned char *marker = NULL; + const unsigned char *start = p; +/*!re2c + declaration { return (bufsize_t)(p - start); } + * { return 0; } +*/ +} + +bufsize_t _scan_html_cdata(const unsigned char *p) +{ + const unsigned char *marker = NULL; + const unsigned char *start = p; +/*!re2c + cdata { return (bufsize_t)(p - start); } + * { return 0; } +*/ +} + // Try to match an HTML block tag start line, returning // an integer code for the type of block (1-6, matching the spec). // #7 is handled by a separate function, below. @@ -140,7 +179,7 @@ bufsize_t _scan_html_block_start(const unsigned char *p) { const unsigned char *marker = NULL; /*!re2c - [<] ('script'|'pre'|'style') (spacechar | [>]) { return 1; } + [<] ('script'|'pre'|'textarea'|'style') (spacechar | [>]) { return 1; } '