packages feed

cmark 0.5.2.1 → 0.5.3

raw patch · 29 files changed

+20375/−20476 lines, 29 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- CMark: instance GHC.Generics.Constructor CMark.C1_0DelimType
- CMark: instance GHC.Generics.Constructor CMark.C1_0ListAttributes
- CMark: instance GHC.Generics.Constructor CMark.C1_0ListType
- CMark: instance GHC.Generics.Constructor CMark.C1_0Node
- CMark: instance GHC.Generics.Constructor CMark.C1_0NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_0PosInfo
- CMark: instance GHC.Generics.Constructor CMark.C1_10NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_11NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_12NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_13NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_14NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_15NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_16NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_17NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_18NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_19NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_1DelimType
- CMark: instance GHC.Generics.Constructor CMark.C1_1ListType
- CMark: instance GHC.Generics.Constructor CMark.C1_1NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_2NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_3NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_4NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_5NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_6NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_7NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_8NodeType
- CMark: instance GHC.Generics.Constructor CMark.C1_9NodeType
- CMark: instance GHC.Generics.Datatype CMark.D1DelimType
- CMark: instance GHC.Generics.Datatype CMark.D1ListAttributes
- CMark: instance GHC.Generics.Datatype CMark.D1ListType
- CMark: instance GHC.Generics.Datatype CMark.D1Node
- CMark: instance GHC.Generics.Datatype CMark.D1NodeType
- CMark: instance GHC.Generics.Datatype CMark.D1PosInfo
- CMark: instance GHC.Generics.Selector CMark.S1_0_0ListAttributes
- CMark: instance GHC.Generics.Selector CMark.S1_0_0PosInfo
- CMark: instance GHC.Generics.Selector CMark.S1_0_1ListAttributes
- CMark: instance GHC.Generics.Selector CMark.S1_0_1PosInfo
- CMark: instance GHC.Generics.Selector CMark.S1_0_2ListAttributes
- CMark: instance GHC.Generics.Selector CMark.S1_0_2PosInfo
- CMark: instance GHC.Generics.Selector CMark.S1_0_3ListAttributes
- CMark: instance GHC.Generics.Selector CMark.S1_0_3PosInfo

Files

README.md view
@@ -3,8 +3,8 @@  This package provides Haskell bindings for [libcmark], the reference parser for [CommonMark], a fully specified variant of Markdown.-It includes sources for [libcmark] (version 0.25.2, implementing-version 0.25 of the spec) and does not require prior installation of+It includes sources for [libcmark] (version 0.26.0, implementing+version 0.26 of the spec) and does not require prior installation of the C library.  cmark provides the following advantages over existing Markdown
cbits/blocks.c view
@@ -30,6 +30,21 @@  #define peek_at(i, n) (i)->data[n] +static bool S_last_line_blank(const cmark_node *node) {+  return (node->flags & CMARK_NODE__LAST_LINE_BLANK) != 0;+}++static CMARK_INLINE cmark_node_type S_type(const cmark_node *node) {+  return (cmark_node_type)node->type;+}++static void S_set_last_line_blank(cmark_node *node, bool is_blank) {+  if (is_blank)+    node->flags |= CMARK_NODE__LAST_LINE_BLANK;+  else+    node->flags &= ~CMARK_NODE__LAST_LINE_BLANK;+}+ static CMARK_INLINE bool S_is_line_end_char(char c) {   return (c == '\n' || c == '\r'); }@@ -44,38 +59,37 @@ static void S_process_line(cmark_parser *parser, const unsigned char *buffer,                            bufsize_t bytes); -static cmark_node *make_block(cmark_node_type tag, int start_line,-                              int start_column) {+static cmark_node *make_block(cmark_mem *mem, cmark_node_type tag,+                              int start_line, int start_column) {   cmark_node *e; -  e = (cmark_node *)calloc(1, sizeof(*e));-  if (e != NULL) {-    e->type = tag;-    e->open = true;-    e->start_line = start_line;-    e->start_column = start_column;-    e->end_line = start_line;-    cmark_strbuf_init(&e->string_content, 32);-  }+  e = (cmark_node *)mem->calloc(1, sizeof(*e));+  cmark_strbuf_init(mem, &e->content, 32);+  e->type = (uint16_t)tag;+  e->flags = CMARK_NODE__OPEN;+  e->start_line = start_line;+  e->start_column = start_column;+  e->end_line = start_line;    return e; }  // Create a root document node.-static cmark_node *make_document() {-  cmark_node *e = make_block(CMARK_NODE_DOCUMENT, 1, 1);+static cmark_node *make_document(cmark_mem *mem) {+  cmark_node *e = make_block(mem, CMARK_NODE_DOCUMENT, 1, 1);   return e; } -cmark_parser *cmark_parser_new(int options) {-  cmark_parser *parser = (cmark_parser *)malloc(sizeof(cmark_parser));-  cmark_node *document = make_document();-  cmark_strbuf *line = (cmark_strbuf *)malloc(sizeof(cmark_strbuf));-  cmark_strbuf *buf = (cmark_strbuf *)malloc(sizeof(cmark_strbuf));-  cmark_strbuf_init(line, 256);-  cmark_strbuf_init(buf, 0);+cmark_parser *cmark_parser_new_with_mem(int options, cmark_mem *mem) {+  cmark_parser *parser = (cmark_parser *)mem->calloc(1, sizeof(cmark_parser));+  parser->mem = mem; -  parser->refmap = cmark_reference_map_new();+  cmark_node *document = make_document(mem);++  cmark_strbuf_init(mem, &parser->curline, 256);+  cmark_strbuf_init(mem, &parser->linebuf, 0);++  parser->refmap = cmark_reference_map_new(mem);   parser->root = document;   parser->current = document;   parser->line_number = 0;@@ -86,22 +100,24 @@   parser->indent = 0;   parser->blank = false;   parser->partially_consumed_tab = false;-  parser->curline = line;   parser->last_line_length = 0;-  parser->linebuf = buf;   parser->options = options;   parser->last_buffer_ended_with_cr = false;    return parser; } +cmark_parser *cmark_parser_new(int options) {+  extern cmark_mem DEFAULT_MEM_ALLOCATOR;+  return cmark_parser_new_with_mem(options, &DEFAULT_MEM_ALLOCATOR);+}+ void cmark_parser_free(cmark_parser *parser) {-  cmark_strbuf_free(parser->curline);-  free(parser->curline);-  cmark_strbuf_free(parser->linebuf);-  free(parser->linebuf);+  cmark_mem *mem = parser->mem;+  cmark_strbuf_free(&parser->curline);+  cmark_strbuf_free(&parser->linebuf);   cmark_reference_map_free(parser->refmap);-  free(parser);+  mem->free(parser); }  static cmark_node *finalize(cmark_parser *parser, cmark_node *b);@@ -128,7 +144,7 @@ }  static CMARK_INLINE bool can_contain(cmark_node_type parent_type,-                               cmark_node_type child_type) {+                                     cmark_node_type child_type) {   return (parent_type == CMARK_NODE_DOCUMENT ||           parent_type == CMARK_NODE_BLOCK_QUOTE ||           parent_type == CMARK_NODE_ITEM ||@@ -149,18 +165,17 @@ static void add_line(cmark_node *node, cmark_chunk *ch, cmark_parser *parser) {   int chars_to_tab;   int i;-  assert(node->open);+  assert(node->flags & CMARK_NODE__OPEN);   if (parser->partially_consumed_tab) {     parser->offset += 1; // skip over tab     // add space characters:     chars_to_tab = TAB_STOP - (parser->column % TAB_STOP);     for (i = 0; i < chars_to_tab; i++) {-      cmark_strbuf_putc(&node->string_content, ' ');+      cmark_strbuf_putc(&node->content, ' ');     }   }-  cmark_strbuf_put(&node->string_content,-		  ch->data + parser->offset,-		  ch->len - parser->offset);+  cmark_strbuf_put(&node->content, ch->data + parser->offset,+                   ch->len - parser->offset); }  static void remove_trailing_blank_lines(cmark_strbuf *ln) {@@ -195,10 +210,10 @@ static bool ends_with_blank_line(cmark_node *node) {   cmark_node *cur = node;   while (cur != NULL) {-    if (cur->last_line_blank) {+    if (S_last_line_blank(cur)) {       return true;     }-    if (cur->type == CMARK_NODE_LIST || cur->type == CMARK_NODE_ITEM) {+    if (S_type(cur) == CMARK_NODE_LIST || S_type(cur) == CMARK_NODE_ITEM) {       cur = cur->last_child;     } else {       cur = NULL;@@ -207,24 +222,6 @@   return false; } -// Break out of all containing lists-static int break_out_of_lists(cmark_parser *parser, cmark_node **bptr) {-  cmark_node *container = *bptr;-  cmark_node *b = parser->root;-  // find first containing NODE_LIST:-  while (b && b->type != CMARK_NODE_LIST) {-    b = b->last_child;-  }-  if (b) {-    while (container && container != b) {-      container = finalize(parser, container);-    }-    finalize(parser, b);-    *bptr = b->parent;-  }-  return 0;-}- static cmark_node *finalize(cmark_parser *parser, cmark_node *b) {   bufsize_t pos;   cmark_node *item;@@ -232,37 +229,39 @@   cmark_node *parent;    parent = b->parent;--  assert(b->open); // shouldn't call finalize on closed blocks-  b->open = false;+  assert(b->flags &+         CMARK_NODE__OPEN); // shouldn't call finalize on closed blocks+  b->flags &= ~CMARK_NODE__OPEN; -  if (parser->curline->size == 0) {+  if (parser->curline.size == 0) {     // end of input - line number has not been incremented     b->end_line = parser->line_number;     b->end_column = parser->last_line_length;-  } else if (b->type == CMARK_NODE_DOCUMENT ||-             (b->type == CMARK_NODE_CODE_BLOCK && b->as.code.fenced) ||-             (b->type == CMARK_NODE_HEADING && b->as.heading.setext)) {+  } else if (S_type(b) == CMARK_NODE_DOCUMENT ||+             (S_type(b) == CMARK_NODE_CODE_BLOCK && b->as.code.fenced) ||+             (S_type(b) == CMARK_NODE_HEADING && b->as.heading.setext)) {     b->end_line = parser->line_number;-    b->end_column = parser->curline->size;-    if (b->end_column && parser->curline->ptr[b->end_column - 1] == '\n')+    b->end_column = parser->curline.size;+    if (b->end_column && parser->curline.ptr[b->end_column - 1] == '\n')       b->end_column -= 1;-    if (b->end_column && parser->curline->ptr[b->end_column - 1] == '\r')+    if (b->end_column && parser->curline.ptr[b->end_column - 1] == '\r')       b->end_column -= 1;   } else {     b->end_line = parser->line_number - 1;     b->end_column = parser->last_line_length;   } -  switch (b->type) {+  cmark_strbuf *node_content = &b->content;++  switch (S_type(b)) {   case CMARK_NODE_PARAGRAPH:-    while (cmark_strbuf_at(&b->string_content, 0) == '[' &&-           (pos = cmark_parse_reference_inline(&b->string_content,+    while (cmark_strbuf_at(node_content, 0) == '[' &&+           (pos = cmark_parse_reference_inline(parser->mem, node_content,                                                parser->refmap))) { -      cmark_strbuf_drop(&b->string_content, pos);+      cmark_strbuf_drop(node_content, pos);     }-    if (is_blank(&b->string_content, 0)) {+    if (is_blank(node_content, 0)) {       // remove blank node (former reference def)       cmark_node_free(b);     }@@ -270,34 +269,33 @@    case CMARK_NODE_CODE_BLOCK:     if (!b->as.code.fenced) { // indented code-      remove_trailing_blank_lines(&b->string_content);-      cmark_strbuf_putc(&b->string_content, '\n');+      remove_trailing_blank_lines(node_content);+      cmark_strbuf_putc(node_content, '\n');     } else {-       // first line of contents becomes info-      for (pos = 0; pos < b->string_content.size; ++pos) {-        if (S_is_line_end_char(b->string_content.ptr[pos]))+      for (pos = 0; pos < node_content->size; ++pos) {+        if (S_is_line_end_char(node_content->ptr[pos]))           break;       }-      assert(pos < b->string_content.size);+      assert(pos < node_content->size); -      cmark_strbuf tmp = GH_BUF_INIT;-      houdini_unescape_html_f(&tmp, b->string_content.ptr, pos);+      cmark_strbuf tmp = CMARK_BUF_INIT(parser->mem);+      houdini_unescape_html_f(&tmp, node_content->ptr, pos);       cmark_strbuf_trim(&tmp);       cmark_strbuf_unescape(&tmp);       b->as.code.info = cmark_chunk_buf_detach(&tmp); -      if (b->string_content.ptr[pos] == '\r')+      if (node_content->ptr[pos] == '\r')         pos += 1;-      if (b->string_content.ptr[pos] == '\n')+      if (node_content->ptr[pos] == '\n')         pos += 1;-      cmark_strbuf_drop(&b->string_content, pos);+      cmark_strbuf_drop(node_content, pos);     }-    b->as.code.literal = cmark_chunk_buf_detach(&b->string_content);+    b->as.code.literal = cmark_chunk_buf_detach(node_content);     break;    case CMARK_NODE_HTML_BLOCK:-    b->as.literal = cmark_chunk_buf_detach(&b->string_content);+    b->as.literal = cmark_chunk_buf_detach(node_content);     break;    case CMARK_NODE_LIST:      // determine tight/loose status@@ -306,7 +304,7 @@      while (item) {       // check for non-final non-empty list item ending with blank line:-      if (item->last_line_blank && item->next) {+      if (S_last_line_blank(item) && item->next) {         b->as.list.tight = false;         break;       }@@ -331,6 +329,7 @@   default:     break;   }+   return parent; } @@ -341,11 +340,12 @@    // if 'parent' isn't the kind of node that can accept this child,   // then back up til we hit a node that can.-  while (!can_contain(parent->type, block_type)) {+  while (!can_contain(S_type(parent), block_type)) {     parent = finalize(parser, parent);   } -  cmark_node *child = make_block(block_type, parser->line_number, start_column);+  cmark_node *child =+      make_block(parser->mem, block_type, parser->line_number, start_column);   child->parent = parent;    if (parent->last_child) {@@ -361,8 +361,8 @@  // Walk through node and all children, recursively, parsing // string content into inline content where appropriate.-static void process_inlines(cmark_node *root, cmark_reference_map *refmap,-                            int options) {+static void process_inlines(cmark_mem *mem, cmark_node *root,+                            cmark_reference_map *refmap, int options) {   cmark_iter *iter = cmark_iter_new(root);   cmark_node *cur;   cmark_event_type ev_type;@@ -370,8 +370,8 @@   while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {     cur = cmark_iter_get_node(iter);     if (ev_type == CMARK_EVENT_ENTER) {-      if (contains_inlines(cur->type)) {-        cmark_parse_inlines(cur, refmap, options);+      if (contains_inlines(S_type(cur))) {+        cmark_parse_inlines(mem, cur, refmap, options);       }     }   }@@ -382,11 +382,13 @@ // Attempts to parse a list item marker (bullet or enumerated). // On success, returns length of the marker, and populates // data with the details.  On failure, returns 0.-static bufsize_t parse_list_marker(cmark_chunk *input, bufsize_t pos,+static bufsize_t parse_list_marker(cmark_mem *mem, cmark_chunk *input,+                                   bufsize_t pos, bool interrupts_paragraph,                                    cmark_list **dataptr) {   unsigned char c;   bufsize_t startpos;   cmark_list *data;+  bufsize_t i;    startpos = pos;   c = peek_at(input, pos);@@ -396,17 +398,25 @@     if (!cmark_isspace(peek_at(input, pos))) {       return 0;     }-    data = (cmark_list *)calloc(1, sizeof(*data));-    if (data == NULL) {-      return 0;-    } else {-      data->marker_offset = 0; // will be adjusted later-      data->list_type = CMARK_BULLET_LIST;-      data->bullet_char = c;-      data->start = 1;-      data->delimiter = CMARK_PERIOD_DELIM;-      data->tight = false;++    if (interrupts_paragraph) {+      i = pos;+      // require non-blank content after list marker:+      while (S_is_space_or_tab(peek_at(input, i))) {+        i++;+      }+      if (peek_at(input, i) == '\n') {+        return 0;+      }     }++    data = (cmark_list *)mem->calloc(1, sizeof(*data));+    data->marker_offset = 0; // will be adjusted later+    data->list_type = CMARK_BULLET_LIST;+    data->bullet_char = c;+    data->start = 1;+    data->delimiter = CMARK_PERIOD_DELIM;+    data->tight = false;   } else if (cmark_isdigit(c)) {     int start = 0;     int digits = 0;@@ -420,27 +430,36 @@       // This also seems to be the limit for 'start' in some browsers.     } while (digits < 9 && cmark_isdigit(peek_at(input, pos))); +    if (interrupts_paragraph && start != 1) {+      return 0;+    }     c = peek_at(input, pos);     if (c == '.' || c == ')') {       pos++;       if (!cmark_isspace(peek_at(input, pos))) {         return 0;       }-      data = (cmark_list *)calloc(1, sizeof(*data));-      if (data == NULL) {-        return 0;-      } else {-        data->marker_offset = 0; // will be adjusted later-        data->list_type = CMARK_ORDERED_LIST;-        data->bullet_char = 0;-        data->start = start;-        data->delimiter = (c == '.' ? CMARK_PERIOD_DELIM : CMARK_PAREN_DELIM);-        data->tight = false;+      if (interrupts_paragraph) {+        // require non-blank content after list marker:+        i = pos;+        while (S_is_space_or_tab(peek_at(input, i))) {+          i++;+        }+        if (S_is_line_end_char(peek_at(input, i))) {+          return 0;+        }       }++      data = (cmark_list *)mem->calloc(1, sizeof(*data));+      data->marker_offset = 0; // will be adjusted later+      data->list_type = CMARK_ORDERED_LIST;+      data->bullet_char = 0;+      data->start = start;+      data->delimiter = (c == '.' ? CMARK_PERIOD_DELIM : CMARK_PAREN_DELIM);+      data->tight = false;     } else {       return 0;     }-   } else {     return 0;   }@@ -463,7 +482,7 @@   }    finalize(parser, parser->root);-  process_inlines(parser->root, parser->refmap, parser->options);+  process_inlines(parser->mem, parser->root, parser->refmap, parser->options);    return parser->root; }@@ -529,24 +548,24 @@       process = true;     } -    chunk_len = cmark_strbuf_check_bufsize(eol - buffer);+    chunk_len = (eol - buffer);     if (process) {-      if (parser->linebuf->size > 0) {-        cmark_strbuf_put(parser->linebuf, buffer, chunk_len);-        S_process_line(parser, parser->linebuf->ptr, parser->linebuf->size);-        cmark_strbuf_clear(parser->linebuf);+      if (parser->linebuf.size > 0) {+        cmark_strbuf_put(&parser->linebuf, buffer, chunk_len);+        S_process_line(parser, parser->linebuf.ptr, parser->linebuf.size);+        cmark_strbuf_clear(&parser->linebuf);       } else {         S_process_line(parser, buffer, chunk_len);       }     } else {       if (eol < end && *eol == '\0') {         // omit NULL byte-        cmark_strbuf_put(parser->linebuf, buffer, chunk_len);+        cmark_strbuf_put(&parser->linebuf, buffer, chunk_len);         // add replacement character-        cmark_strbuf_put(parser->linebuf, repl, 3);+        cmark_strbuf_put(&parser->linebuf, repl, 3);         chunk_len += 1; // so we advance the buffer past NULL       } else {-        cmark_strbuf_put(parser->linebuf, buffer, chunk_len);+        cmark_strbuf_put(&parser->linebuf, buffer, chunk_len);       }     } @@ -555,7 +574,7 @@     if (buffer < end && *buffer == '\r') {       buffer++;       if (buffer == end)-	parser->last_buffer_ended_with_cr = true;+        parser->last_buffer_ended_with_cr = true;     }     if (buffer < end && *buffer == '\n')       buffer++;@@ -627,16 +646,16 @@     if (c == '\t') {       chars_to_tab = TAB_STOP - (parser->column % TAB_STOP);       if (columns) {-	parser->partially_consumed_tab = chars_to_tab > count;-	chars_to_advance = MIN(count, chars_to_tab);-	parser->column += chars_to_advance;+        parser->partially_consumed_tab = chars_to_tab > count;+        chars_to_advance = MIN(count, chars_to_tab);+        parser->column += chars_to_advance;         parser->offset += (parser->partially_consumed_tab ? 0 : 1);-	count -= chars_to_advance;+        count -= chars_to_advance;       } else {-	parser->partially_consumed_tab = false;-	parser->column += chars_to_tab;-	parser->offset += 1;-	count -= 1;+        parser->partially_consumed_tab = false;+        parser->column += chars_to_tab;+        parser->offset += 1;+        count -= 1;       }     } else {       parser->partially_consumed_tab = false;@@ -648,12 +667,11 @@ }  static bool S_last_child_is_open(cmark_node *container) {-  return container->last_child && container->last_child->open;+  return container->last_child &&+         (container->last_child->flags & CMARK_NODE__OPEN); } -static bool parse_block_quote_prefix(cmark_parser *parser,-                                cmark_chunk *input)-{+static bool parse_block_quote_prefix(cmark_parser *parser, cmark_chunk *input) {   bool res = false;   bufsize_t matched = 0; @@ -672,34 +690,30 @@   return res; } -static bool parse_node_item_prefix(cmark_parser *parser,-                              cmark_chunk *input,-                              cmark_node *container)-{+static bool parse_node_item_prefix(cmark_parser *parser, cmark_chunk *input,+                                   cmark_node *container) {   bool res = false;    if (parser->indent >=       container->as.list.marker_offset + container->as.list.padding) {     S_advance_offset(parser, input, container->as.list.marker_offset +-                                         container->as.list.padding,+                                        container->as.list.padding,                      true);     res = true;   } else if (parser->blank && container->first_child != NULL) {     // if container->first_child is NULL, then the opening line     // of the list item was blank after the list marker; in this     // case, we are done with the list item.-    S_advance_offset(parser, input,-                     parser->first_nonspace - parser->offset, false);+    S_advance_offset(parser, input, parser->first_nonspace - parser->offset,+                     false);     res = true;   }   return res; } -static bool parse_code_block_prefix(cmark_parser *parser,-                               cmark_chunk *input,-                               cmark_node *container,-                               bool *should_continue)-{+static bool parse_code_block_prefix(cmark_parser *parser, cmark_chunk *input,+                                    cmark_node *container,+                                    bool *should_continue) {   bool res = false;    if (!container->as.code.fenced) { // indented@@ -707,8 +721,8 @@       S_advance_offset(parser, input, CODE_INDENT, true);       res = true;     } else if (parser->blank) {-      S_advance_offset(parser, input,-                       parser->first_nonspace - parser->offset, false);+      S_advance_offset(parser, input, parser->first_nonspace - parser->offset,+                       false);       res = true;     }   } else { // fenced@@ -741,25 +755,24 @@ }  static bool parse_html_block_prefix(cmark_parser *parser,-                               cmark_node *container)-{+                                    cmark_node *container) {   bool res = false;   int html_block_type = container->as.html_block_type;    assert(html_block_type >= 1 && html_block_type <= 7);   switch (html_block_type) {-    case 1:-    case 2:-    case 3:-    case 4:-    case 5:-      // these types of blocks can accept blanks-      res = true;-      break;-    case 6:-    case 7:-      res = !parser->blank;-      break;+  case 1:+  case 2:+  case 3:+  case 4:+  case 5:+    // these types of blocks can accept blanks+    res = true;+    break;+  case 6:+  case 7:+    res = !parser->blank;+    break;   }    return res;@@ -773,10 +786,8 @@  *  * Returns: The last matching node, or NULL  */-static cmark_node *check_open_blocks(cmark_parser *parser,-                                     cmark_chunk *input,-                                     bool *all_matched)-{+static cmark_node *check_open_blocks(cmark_parser *parser, cmark_chunk *input,+                                     bool *all_matched) {   bool should_continue = true;   *all_matched = false;   cmark_node *container = parser->root;@@ -784,36 +795,36 @@    while (S_last_child_is_open(container)) {     container = container->last_child;-    cont_type = container->type;+    cont_type = S_type(container);      S_find_first_nonspace(parser, input);      switch (cont_type) {-      case CMARK_NODE_BLOCK_QUOTE:-        if (!parse_block_quote_prefix(parser, input))-          goto done;-        break;-      case CMARK_NODE_ITEM:-        if (!parse_node_item_prefix(parser, input, container))-          goto done;-        break;-      case CMARK_NODE_CODE_BLOCK:-        if (!parse_code_block_prefix(parser, input, container, &should_continue))-          goto done;-        break;-      case CMARK_NODE_HEADING:-        // a heading can never contain more than one line+    case CMARK_NODE_BLOCK_QUOTE:+      if (!parse_block_quote_prefix(parser, input))         goto done;-      case CMARK_NODE_HTML_BLOCK:-        if (!parse_html_block_prefix(parser, container))-          goto done;-        break;-      case CMARK_NODE_PARAGRAPH:-        if (parser->blank)-          goto done;-        break;-      default:-        break;+      break;+    case CMARK_NODE_ITEM:+      if (!parse_node_item_prefix(parser, input, container))+        goto done;+      break;+    case CMARK_NODE_CODE_BLOCK:+      if (!parse_code_block_prefix(parser, input, container, &should_continue))+        goto done;+      break;+    case CMARK_NODE_HEADING:+      // a heading can never contain more than one line+      goto done;+    case CMARK_NODE_HTML_BLOCK:+      if (!parse_html_block_prefix(parser, container))+        goto done;+      break;+    case CMARK_NODE_PARAGRAPH:+      if (parser->blank)+        goto done;+      break;+    default:+      break;     }   } @@ -831,15 +842,12 @@   return container; } -static void open_new_blocks(cmark_parser *parser,-                            cmark_node **container,-                            cmark_chunk *input,-                            bool all_matched)-{+static void open_new_blocks(cmark_parser *parser, cmark_node **container,+                            cmark_chunk *input, bool all_matched) {   bool indented;   cmark_list *data = NULL;-  bool maybe_lazy = parser->current->type == CMARK_NODE_PARAGRAPH;-  cmark_node_type cont_type = (*container)->type;+  bool maybe_lazy = S_type(parser->current) == CMARK_NODE_PARAGRAPH;+  cmark_node_type cont_type = S_type(*container);   bufsize_t matched = 0;   int lev = 0;   bool save_partially_consumed_tab;@@ -854,6 +862,8 @@      if (!indented && peek_at(input, parser->first_nonspace) == '>') { +      bufsize_t blockquote_startpos = parser->first_nonspace;+       S_advance_offset(parser, input,                        parser->first_nonspace + 1 - parser->offset, false);       // optional following character@@ -861,18 +871,19 @@         S_advance_offset(parser, input, 1, true);       }       *container = add_child(parser, *container, CMARK_NODE_BLOCK_QUOTE,-                            parser->offset + 1);+                             blockquote_startpos + 1);      } else if (!indented && (matched = scan_atx_heading_start(                                  input, parser->first_nonspace))) {       bufsize_t hashpos;       int level = 0;+      bufsize_t heading_startpos = parser->first_nonspace;        S_advance_offset(parser, input,                        parser->first_nonspace + matched - parser->offset,                        false);-      *container =-          add_child(parser, *container, CMARK_NODE_HEADING, parser->offset + 1);+      *container = add_child(parser, *container, CMARK_NODE_HEADING,+                             heading_startpos + 1);        hashpos = cmark_chunk_strchr(input, '#', parser->first_nonspace); @@ -887,10 +898,10 @@     } else if (!indented && (matched = scan_open_code_fence(                                  input, parser->first_nonspace))) {       *container = add_child(parser, *container, CMARK_NODE_CODE_BLOCK,-                            parser->first_nonspace + 1);+                             parser->first_nonspace + 1);       (*container)->as.code.fenced = true;       (*container)->as.code.fence_char = peek_at(input, parser->first_nonspace);-      (*container)->as.code.fence_length = matched;+      (*container)->as.code.fence_length = (matched > 255) ? 255 : matched;       (*container)->as.code.fence_offset =           (int8_t)(parser->first_nonspace - parser->offset);       (*container)->as.code.info = cmark_chunk_literal("");@@ -904,28 +915,29 @@                               (matched = scan_html_block_start_7(                                    input, parser->first_nonspace))))) {       *container = add_child(parser, *container, CMARK_NODE_HTML_BLOCK,-                            parser->first_nonspace + 1);+                             parser->first_nonspace + 1);       (*container)->as.html_block_type = matched;       // note, we don't adjust parser->offset because the tag is part of the       // text     } else if (!indented && cont_type == CMARK_NODE_PARAGRAPH &&                (lev =                     scan_setext_heading_line(input, parser->first_nonspace))) {-      (*container)->type = CMARK_NODE_HEADING;+      (*container)->type = (uint16_t)CMARK_NODE_HEADING;       (*container)->as.heading.level = lev;       (*container)->as.heading.setext = true;       S_advance_offset(parser, input, input->len - 1 - parser->offset, false);     } else if (!indented &&                !(cont_type == CMARK_NODE_PARAGRAPH && !all_matched) &&-               (matched =-                    scan_thematic_break(input, parser->first_nonspace))) {+               (matched = scan_thematic_break(input, parser->first_nonspace))) {       // it's only now that we know the line is not part of a setext heading:       *container = add_child(parser, *container, CMARK_NODE_THEMATIC_BREAK,-                            parser->first_nonspace + 1);+                             parser->first_nonspace + 1);       S_advance_offset(parser, input, input->len - 1 - parser->offset, false);-    } else if ((matched =-                    parse_list_marker(input, parser->first_nonspace, &data)) &&+    } else if ((matched = parse_list_marker(+                    parser->mem, input, parser->first_nonspace,+                    (*container)->type == CMARK_NODE_PARAGRAPH, &data)) &&                (!indented || cont_type == CMARK_NODE_LIST)) {+       // Note that we can have new list items starting with >= 4       // spaces indent, as long as the list container is still open.       int i = 0;@@ -940,16 +952,18 @@       save_column = parser->column;        while (parser->column - save_column <= 5 &&-		S_is_space_or_tab(peek_at(input, parser->offset))) {+             S_is_space_or_tab(peek_at(input, parser->offset))) {         S_advance_offset(parser, input, 1, true);       }        i = parser->column - save_column;-      if (i >= 5 || i < 1) {+      if (i >= 5 || i < 1 ||+          // only spaces after list marker:+          S_is_line_end_char(peek_at(input, parser->offset))) {         data->padding = matched + 1;-	parser->offset = save_offset;-	parser->column = save_column;-	parser->partially_consumed_tab = save_partially_consumed_tab;+        parser->offset = save_offset;+        parser->column = save_column;+        parser->partially_consumed_tab = save_partially_consumed_tab;         if (i > 0) {           S_advance_offset(parser, input, 1, true);         }@@ -965,21 +979,21 @@       if (cont_type != CMARK_NODE_LIST ||           !lists_match(&((*container)->as.list), data)) {         *container = add_child(parser, *container, CMARK_NODE_LIST,-                              parser->first_nonspace + 1);+                               parser->first_nonspace + 1);          memcpy(&((*container)->as.list), data, sizeof(*data));       }        // add the list item       *container = add_child(parser, *container, CMARK_NODE_ITEM,-                            parser->first_nonspace + 1);+                             parser->first_nonspace + 1);       /* TODO: static */       memcpy(&((*container)->as.list), data, sizeof(*data));       free(data);     } else if (indented && !maybe_lazy && !parser->blank) {       S_advance_offset(parser, input, CODE_INDENT, true);       *container = add_child(parser, *container, CMARK_NODE_CODE_BLOCK,-                            parser->offset + 1);+                             parser->offset + 1);       (*container)->as.code.fenced = false;       (*container)->as.code.fence_char = 0;       (*container)->as.code.fence_length = 0;@@ -990,21 +1004,19 @@       break;     } -    if (accepts_lines((*container)->type)) {+    if (accepts_lines(S_type(*container))) {       // if it's a line container, it can't contain other containers       break;     } -    cont_type = (*container)->type;+    cont_type = S_type(*container);     maybe_lazy = false;   } } -static void add_text_to_container (cmark_parser *parser,-                                   cmark_node *container,-                                   cmark_node *last_matched_container,-                                   cmark_chunk *input)-{+static void add_text_to_container(cmark_parser *parser, cmark_node *container,+                                  cmark_node *last_matched_container,+                                  cmark_chunk *input) {   cmark_node *tmp;   // what remains at parser->offset is a text line.  add the text to the   // appropriate container.@@ -1012,24 +1024,25 @@   S_find_first_nonspace(parser, input);    if (parser->blank && container->last_child)-    container->last_child->last_line_blank = true;+    S_set_last_line_blank(container->last_child, true);    // block quote lines are never blank as they start with >   // and we don't count blanks in fenced code for purposes of tight/loose   // lists or breaking out of lists.  we also don't set last_line_blank   // on an empty list item.-  container->last_line_blank =-      (parser->blank && container->type != CMARK_NODE_BLOCK_QUOTE &&-       container->type != CMARK_NODE_HEADING &&-       container->type != CMARK_NODE_THEMATIC_BREAK &&-       !(container->type == CMARK_NODE_CODE_BLOCK &&-         container->as.code.fenced) &&-       !(container->type == CMARK_NODE_ITEM && container->first_child == NULL &&+  const cmark_node_type ctype = S_type(container);+  const bool last_line_blank =+      (parser->blank && ctype != CMARK_NODE_BLOCK_QUOTE &&+       ctype != CMARK_NODE_HEADING && ctype != CMARK_NODE_THEMATIC_BREAK &&+       !(ctype == CMARK_NODE_CODE_BLOCK && container->as.code.fenced) &&+       !(ctype == CMARK_NODE_ITEM && container->first_child == NULL &&          container->start_line == parser->line_number)); +  S_set_last_line_blank(container, last_line_blank);+   tmp = container;   while (tmp->parent) {-    tmp->parent->last_line_blank = false;+    S_set_last_line_blank(tmp->parent, false);     tmp = tmp->parent;   } @@ -1040,9 +1053,8 @@   // then treat this as a "lazy continuation line" and add it to   // the open paragraph.   if (parser->current != last_matched_container &&-      container == last_matched_container &&-      !parser->blank &&-      parser->current->type == CMARK_NODE_PARAGRAPH) {+      container == last_matched_container && !parser->blank &&+      S_type(parser->current) == CMARK_NODE_PARAGRAPH) {     add_line(parser->current, input, parser);   } else { // not a lazy continuation     // Finalize any blocks that were not matched and set cur to container:@@ -1051,9 +1063,9 @@       assert(parser->current != NULL);     } -    if (container->type == CMARK_NODE_CODE_BLOCK) {+    if (S_type(container) == CMARK_NODE_CODE_BLOCK) {       add_line(container, input, parser);-    } else if (container->type == CMARK_NODE_HTML_BLOCK) {+    } else if (S_type(container) == CMARK_NODE_HTML_BLOCK) {       add_line(container, input, parser);        int matches_end_condition;@@ -1094,18 +1106,20 @@       }     } else if (parser->blank) {       // ??? do nothing-    } else if (accepts_lines(container->type)) {-      if (container->type == CMARK_NODE_HEADING &&+    } else if (accepts_lines(S_type(container))) {+      if (S_type(container) == CMARK_NODE_HEADING &&           container->as.heading.setext == false) {         chop_trailing_hashtags(input);       }-      S_advance_offset(parser, input, parser->first_nonspace - parser->offset, false);+      S_advance_offset(parser, input, parser->first_nonspace - parser->offset,+                       false);       add_line(container, input, parser);     } else {       // create paragraph container for line       container = add_child(parser, container, CMARK_NODE_PARAGRAPH,                             parser->first_nonspace + 1);-      S_advance_offset(parser, input, parser->first_nonspace - parser->offset, false);+      S_advance_offset(parser, input, parser->first_nonspace - parser->offset,+                       false);       add_line(container, input, parser);     } @@ -1122,21 +1136,21 @@   cmark_chunk input;    if (parser->options & CMARK_OPT_VALIDATE_UTF8)-    cmark_utf8proc_check(parser->curline, buffer, bytes);+    cmark_utf8proc_check(&parser->curline, buffer, bytes);   else-    cmark_strbuf_put(parser->curline, buffer, bytes);+    cmark_strbuf_put(&parser->curline, buffer, bytes);    // ensure line ends with a newline:-  if (bytes == 0 || !S_is_line_end_char(parser->curline->ptr[bytes - 1]))-    cmark_strbuf_putc(parser->curline, '\n');+  if (bytes == 0 || !S_is_line_end_char(parser->curline.ptr[bytes - 1]))+    cmark_strbuf_putc(&parser->curline, '\n');    parser->offset = 0;   parser->column = 0;   parser->blank = false;   parser->partially_consumed_tab = false; -  input.data = parser->curline->ptr;-  input.len = parser->curline->size;+  input.data = parser->curline.ptr;+  input.len = parser->curline.size;    parser->line_number++; @@ -1147,10 +1161,6 @@    container = last_matched_container; -  // check to see if we've hit 2nd blank line, break out of list:-  if (parser->blank && container->last_line_blank)-    break_out_of_lists(parser, &container);-   open_new_blocks(parser, &container, &input, all_matched);    add_text_to_container(parser, container, last_matched_container, &input);@@ -1164,13 +1174,13 @@       input.data[parser->last_line_length - 1] == '\r')     parser->last_line_length -= 1; -  cmark_strbuf_clear(parser->curline);+  cmark_strbuf_clear(&parser->curline); }  cmark_node *cmark_parser_finish(cmark_parser *parser) {-  if (parser->linebuf->size) {-    S_process_line(parser, parser->linebuf->ptr, parser->linebuf->size);-    cmark_strbuf_clear(parser->linebuf);+  if (parser->linebuf.size) {+    S_process_line(parser, parser->linebuf.ptr, parser->linebuf.size);+    cmark_strbuf_clear(&parser->linebuf);   }    finalize_document(parser);@@ -1179,7 +1189,7 @@     cmark_consolidate_text_nodes(parser->root);   } -  cmark_strbuf_free(parser->curline);+  cmark_strbuf_free(&parser->curline);  #if CMARK_DEBUG_NODES   if (cmark_node_check(parser->root, stderr)) {
cbits/buffer.c view
@@ -5,10 +5,12 @@ #include <stdio.h> #include <stdlib.h> #include <stdint.h>+#include <limits.h>  #include "config.h" #include "cmark_ctype.h" #include "buffer.h"+#include "memory.h"  /* Used as default value for cmark_strbuf->ptr so that people can always  * assume ptr is non-NULL and zero terminated even for new cmark_strbufs.@@ -19,7 +21,9 @@ #define MIN(x, y) ((x < y) ? x : y) #endif -void cmark_strbuf_init(cmark_strbuf *buf, bufsize_t initial_size) {+void cmark_strbuf_init(cmark_mem *mem, cmark_strbuf *buf,+                       bufsize_t initial_size) {+  buf->mem = mem;   buf->asize = 0;   buf->size = 0;   buf->ptr = cmark_strbuf__initbuf;@@ -28,68 +32,28 @@     cmark_strbuf_grow(buf, initial_size); } -void cmark_strbuf_overflow_err() {-  fprintf(stderr, "String buffer overflow");-  abort();-}--static CMARK_INLINE void S_strbuf_grow_by(cmark_strbuf *buf, size_t add) {-  size_t target_size = (size_t)buf->size + add;--  if (target_size < add            /* Integer overflow. */-      || target_size > BUFSIZE_MAX /* Truncation overflow. */-      ) {-    cmark_strbuf_overflow_err();-    return; /* unreachable */-  }--  if ((bufsize_t)target_size >= buf->asize)-    cmark_strbuf_grow(buf, (bufsize_t)target_size);+static CMARK_INLINE void S_strbuf_grow_by(cmark_strbuf *buf, bufsize_t add) {+  cmark_strbuf_grow(buf, buf->size + add); }  void cmark_strbuf_grow(cmark_strbuf *buf, bufsize_t target_size) {-  unsigned char *new_ptr;+  assert(target_size > 0);    if (target_size < buf->asize)     return; -  if (buf->asize == 0) {-    new_ptr = NULL;-  } else {-    new_ptr = buf->ptr;-  }+  if (target_size > (bufsize_t)(INT32_MAX / 2))+    abort();    /* Oversize the buffer by 50% to guarantee amortized linear time    * complexity on append operations. */-  size_t new_size = (size_t)target_size + (size_t)target_size / 2;--  /* Account for terminating null byte. */+  bufsize_t new_size = target_size + target_size / 2;   new_size += 1;--  /* round allocation up to multiple of 8 */   new_size = (new_size + 7) & ~7; -  if (new_size < (size_t)target_size /* Integer overflow. */-      || new_size > BUFSIZE_MAX      /* Truncation overflow. */-      ) {-    if (target_size >= BUFSIZE_MAX) {-      /* No space for terminating null byte. */-      cmark_strbuf_overflow_err();-      return; /* unreachable */-    }-    /* Oversize by the maximum possible amount. */-    new_size = BUFSIZE_MAX;-  }--  new_ptr = (unsigned char *)realloc(new_ptr, new_size);--  if (!new_ptr) {-    perror("realloc in cmark_strbuf_grow");-    abort();-  }--  buf->asize = (bufsize_t)new_size;-  buf->ptr = new_ptr;+  buf->ptr = (unsigned char *)buf->mem->realloc(buf->asize ? buf->ptr : NULL,+                                                new_size);+  buf->asize = new_size; }  bufsize_t cmark_strbuf_len(const cmark_strbuf *buf) { return buf->size; }@@ -99,9 +63,9 @@     return;    if (buf->ptr != cmark_strbuf__initbuf)-    free(buf->ptr);+    buf->mem->free(buf->ptr); -  cmark_strbuf_init(buf, 0);+  cmark_strbuf_init(buf->mem, buf, 0); }  void cmark_strbuf_clear(cmark_strbuf *buf) {@@ -128,7 +92,7 @@  void cmark_strbuf_sets(cmark_strbuf *buf, const char *string) {   cmark_strbuf_set(buf, (const unsigned char *)string,-                   string ? cmark_strbuf_safe_strlen(string) : 0);+                   string ? strlen(string) : 0); }  void cmark_strbuf_putc(cmark_strbuf *buf, int c) {@@ -149,8 +113,7 @@ }  void cmark_strbuf_puts(cmark_strbuf *buf, const char *string) {-  cmark_strbuf_put(buf, (const unsigned char *)string,-                   cmark_strbuf_safe_strlen(string));+  cmark_strbuf_put(buf, (const unsigned char *)string, strlen(string)); }  void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize,@@ -184,10 +147,10 @@    if (buf->asize == 0) {     /* return an empty string */-    return (unsigned char *)calloc(1, 1);+    return (unsigned char *)buf->mem->calloc(1, 1);   } -  cmark_strbuf_init(buf, 0);+  cmark_strbuf_init(buf->mem, buf, 0);   return data; } 
cbits/buffer.h view
@@ -5,32 +5,35 @@ #include <stdarg.h> #include <string.h> #include <limits.h>+#include <stdint.h> #include "config.h"+#include "cmark.h"  #ifdef __cplusplus extern "C" { #endif -typedef int bufsize_t;+typedef int32_t bufsize_t;  typedef struct {+  cmark_mem *mem;   unsigned char *ptr;   bufsize_t asize, size; } cmark_strbuf;  extern unsigned char cmark_strbuf__initbuf[]; -#define GH_BUF_INIT                                                            \-  { cmark_strbuf__initbuf, 0, 0 }-#define BUFSIZE_MAX INT_MAX+#define CMARK_BUF_INIT(mem)                                                    \+  { mem, cmark_strbuf__initbuf, 0, 0 }  /**  * Initialize a cmark_strbuf structure.  *- * For the cases where GH_BUF_INIT cannot be used to do static+ * For the cases where CMARK_BUF_INIT cannot be used to do static  * initialization.  */-void cmark_strbuf_init(cmark_strbuf *buf, bufsize_t initial_size);+void cmark_strbuf_init(cmark_mem *mem, cmark_strbuf *buf,+                       bufsize_t initial_size);  /**  * Grow the buffer to hold at least `target_size` bytes.@@ -71,20 +74,6 @@ void cmark_strbuf_trim(cmark_strbuf *buf); void cmark_strbuf_normalize_whitespace(cmark_strbuf *s); void cmark_strbuf_unescape(cmark_strbuf *s);--/* Print error and abort. */-void cmark_strbuf_overflow_err(void);--static CMARK_INLINE bufsize_t cmark_strbuf_check_bufsize(size_t size) {-  if (size > BUFSIZE_MAX) {-    cmark_strbuf_overflow_err();-  }-  return (bufsize_t)size;-}--static CMARK_INLINE bufsize_t cmark_strbuf_safe_strlen(const char *str) {-  return cmark_strbuf_check_bufsize(strlen(str));-}  #ifdef __cplusplus }
cbits/chunk.h view
@@ -4,8 +4,10 @@ #include <string.h> #include <stdlib.h> #include <assert.h>-#include "cmark_ctype.h"+#include "cmark.h" #include "buffer.h"+#include "memory.h"+#include "cmark_ctype.h"  #define CMARK_CHUNK_EMPTY                                                      \   { NULL, 0, 0 }@@ -16,9 +18,9 @@   bufsize_t alloc; // also implies a NULL-terminated string } cmark_chunk; -static CMARK_INLINE void cmark_chunk_free(cmark_chunk *c) {+static CMARK_INLINE void cmark_chunk_free(cmark_mem *mem, cmark_chunk *c) {   if (c->alloc)-    free(c->data);+    mem->free(c->data);    c->data = NULL;   c->alloc = 0;@@ -48,56 +50,57 @@   cmark_chunk_rtrim(c); } -static CMARK_INLINE bufsize_t cmark_chunk_strchr(cmark_chunk *ch, int c,-                                                 bufsize_t offset) {+static CMARK_INLINE bufsize_t+    cmark_chunk_strchr(cmark_chunk *ch, int c, bufsize_t offset) {   const unsigned char *p =       (unsigned char *)memchr(ch->data + offset, c, ch->len - offset);   return p ? (bufsize_t)(p - ch->data) : ch->len; } -static CMARK_INLINE const char *cmark_chunk_to_cstr(cmark_chunk *c) {+static CMARK_INLINE const char *cmark_chunk_to_cstr(cmark_mem *mem,+                                                    cmark_chunk *c) {   unsigned char *str;    if (c->alloc) {     return (char *)c->data;   }-  str = (unsigned char *)malloc(c->len + 1);-  if (str != NULL) {-    if (c->len > 0) {-      memcpy(str, c->data, c->len);-    }-    str[c->len] = 0;+  str = (unsigned char *)mem->calloc(c->len + 1, 1);+  if (c->len > 0) {+    memcpy(str, c->data, c->len);   }+  str[c->len] = 0;   c->data = str;   c->alloc = 1;    return (char *)str; } -static CMARK_INLINE void cmark_chunk_set_cstr(cmark_chunk *c, const char *str) {-  if (c->alloc) {-    free(c->data);-  }+static CMARK_INLINE void cmark_chunk_set_cstr(cmark_mem *mem, cmark_chunk *c,+                                              const char *str) {+  unsigned char *old = c->alloc ? c->data : NULL;   if (str == NULL) {     c->len = 0;     c->data = NULL;     c->alloc = 0;   } else {-    c->len = cmark_strbuf_safe_strlen(str);-    c->data = (unsigned char *)malloc(c->len + 1);+    c->len = (bufsize_t)strlen(str);+    c->data = (unsigned char *)mem->calloc(c->len + 1, 1);     c->alloc = 1;     memcpy(c->data, str, c->len + 1);   }+  if (old != NULL) {+    mem->free(old);+  } }  static CMARK_INLINE cmark_chunk cmark_chunk_literal(const char *data) {-  bufsize_t len = data ? cmark_strbuf_safe_strlen(data) : 0;+  bufsize_t len = data ? (bufsize_t)strlen(data) : 0;   cmark_chunk c = {(unsigned char *)data, len, 0};   return c; } -static CMARK_INLINE cmark_chunk cmark_chunk_dup(const cmark_chunk *ch,-                                                bufsize_t pos, bufsize_t len) {+static CMARK_INLINE cmark_chunk+    cmark_chunk_dup(const cmark_chunk *ch, bufsize_t pos, bufsize_t len) {   cmark_chunk c = {ch->data + pos, len, 0};   return c; }
cbits/cmark.c view
@@ -10,6 +10,22 @@  const char *cmark_version_string() { return CMARK_VERSION_STRING; } +static void *xcalloc(size_t nmem, size_t size) {+  void *ptr = calloc(nmem, size);+  if (!ptr)+    abort();+  return ptr;+}++static void *xrealloc(void *ptr, size_t size) {+  void *new_ptr = realloc(ptr, size);+  if (!new_ptr)+    abort();+  return new_ptr;+}++cmark_mem DEFAULT_MEM_ALLOCATOR = {xcalloc, xrealloc, free};+ char *cmark_markdown_to_html(const char *text, size_t len, int options) {   cmark_node *doc;   char *result;
cbits/cmark.h view
@@ -21,7 +21,8 @@  /** Convert 'text' (assumed to be a UTF-8 encoded string with length  * 'len') from CommonMark Markdown to HTML, returning a null-terminated,- * UTF-8-encoded string.+ * UTF-8-encoded string. It is the caller's responsibility+ * to free the returned buffer.  */ CMARK_EXPORT char *cmark_markdown_to_html(const char *text, size_t len, int options);@@ -87,6 +88,19 @@ typedef struct cmark_iter cmark_iter;  /**+ * ## Custom memory allocator support+ */++/** Defines the memory allocation functions to be used by CMark+ * when parsing and allocating a document tree+ */+typedef struct cmark_mem {+  void *(*calloc)(size_t, size_t);+  void *(*realloc)(void *, size_t);+  void (*free)(void *);+} cmark_mem;++/**  * ## Creating and Destroying Nodes  */ @@ -96,6 +110,13 @@  */ CMARK_EXPORT cmark_node *cmark_node_new(cmark_node_type type); +/** Same as `cmark_node_new`, but explicitly listing the memory+ * allocator used to allocate the node.  Note:  be sure to use the same+ * allocator for every node in a tree, or bad things can happen.+ */+CMARK_EXPORT cmark_node *cmark_node_new_with_mem(cmark_node_type type,+                                                 cmark_mem *mem);+ /** Frees the memory allocated for a node and any children.  */ CMARK_EXPORT void cmark_node_free(cmark_node *node);@@ -179,7 +200,9 @@ } cmark_event_type;  /** Creates a new iterator starting at 'root'.  The current node and event- * type are undefined until `cmark_iter_next` is called for the first time.+ * type are undefined until 'cmark_iter_next' is called for the first time.+ * The memory allocated for the iterator should be released using+ * 'cmark_iter_free' when it is no longer needed.  */ CMARK_EXPORT cmark_iter *cmark_iter_new(cmark_node *root);@@ -434,6 +457,11 @@ CMARK_EXPORT cmark_parser *cmark_parser_new(int options); +/** Creates a new parser object with the given memory allocator+ */+CMARK_EXPORT+cmark_parser *cmark_parser_new_with_mem(int options, cmark_mem *mem);+ /** Frees memory allocated for a parser object.  */ CMARK_EXPORT@@ -450,13 +478,16 @@ cmark_node *cmark_parser_finish(cmark_parser *parser);  /** Parse a CommonMark document in 'buffer' of length 'len'.- * Returns a pointer to a tree of nodes.+ * Returns a pointer to a tree of nodes.  The memory allocated for+ * the node tree should be released using 'cmark_node_free'+ * when it is no longer needed.  */ CMARK_EXPORT cmark_node *cmark_parse_document(const char *buffer, size_t len, int options);  /** Parse a CommonMark document in file 'f', returning a pointer to- * a tree of nodes.+ * a tree of nodes.  The memory allocated for the node tree should be+ * released using 'cmark_node_free' when it is no longer needed.  */ CMARK_EXPORT cmark_node *cmark_parse_file(FILE *f, int options);@@ -465,28 +496,33 @@  * ## Rendering  */ -/** Render a 'node' tree as XML.+/** Render a 'node' tree as XML.  It is the caller's responsibility+ * to free the returned buffer.  */ CMARK_EXPORT char *cmark_render_xml(cmark_node *root, int options);  /** Render a 'node' tree as an HTML fragment.  It is up to the user- * to add an appropriate header and footer.+ * to add an appropriate header and footer. It is the caller's+ * responsibility to free the returned buffer.  */ CMARK_EXPORT char *cmark_render_html(cmark_node *root, int options);  /** Render a 'node' tree as a groff man page, without the header.+ * It is the caller's responsibility to free the returned buffer.  */ CMARK_EXPORT char *cmark_render_man(cmark_node *root, int options, int width);  /** Render a 'node' tree as a commonmark document.+ * It is the caller's responsibility to free the returned buffer.  */ CMARK_EXPORT char *cmark_render_commonmark(cmark_node *root, int options, int width);  /** Render a 'node' tree as a LaTeX document.+ * It is the caller's responsibility to free the returned buffer.  */ CMARK_EXPORT char *cmark_render_latex(cmark_node *root, int options, int width);@@ -518,6 +554,10 @@  * empty strings.  */ #define CMARK_OPT_SAFE (1 << 3)++/** Render `softbreak` elements as spaces.+ */+#define CMARK_OPT_NOBREAKS (1 << 4)  /**  * ### Options affecting parsing
cbits/cmark_ctype.c view
@@ -40,3 +40,5 @@ }  int cmark_isdigit(char c) { return cmark_ctype_class[(uint8_t)c] == 3; }++int cmark_isalpha(char c) { return cmark_ctype_class[(uint8_t)c] == 4; }
cbits/cmark_ctype.h view
@@ -17,6 +17,8 @@  int cmark_isdigit(char c); +int cmark_isalpha(char c);+ #ifdef __cplusplus } #endif
cbits/cmark_version.h view
@@ -1,7 +1,7 @@ #ifndef CMARK_VERSION_H #define CMARK_VERSION_H -#define CMARK_VERSION ((0 << 16) | (25 << 8)  | 2)-#define CMARK_VERSION_STRING "0.25.2"+#define CMARK_VERSION ((0 << 16) | (26 << 8)  | 0)+#define CMARK_VERSION_STRING "0.26.0"  #endif
cbits/commonmark.c view
@@ -2,7 +2,6 @@ #include <stdio.h> #include <string.h> #include <assert.h>-#include <ctype.h>  #include "config.h" #include "cmark.h"@@ -12,7 +11,6 @@ #include "scanners.h" #include "render.h" -#define safe_strlen(s) cmark_strbuf_safe_strlen(s) #define OUT(s, wrap, escaping) renderer->out(renderer, s, wrap, escaping) #define LIT(s) renderer->out(renderer, s, false, LITERAL) #define CR() renderer->cr(renderer)@@ -23,7 +21,7 @@ // Functions to convert cmark_nodes to commonmark strings.  static CMARK_INLINE void outc(cmark_renderer *renderer, cmark_escaping escape,-                        int32_t c, unsigned char nextc) {+                              int32_t c, unsigned char nextc) {   bool needs_escaping = false;   bool follows_digit =       renderer->buffer->size > 0 &&@@ -31,24 +29,25 @@   char encoded[ENCODED_SIZE];    needs_escaping =-      escape != LITERAL &&+      c < 0x80 && escape != LITERAL &&       ((escape == NORMAL &&         (c == '*' || c == '_' || c == '[' || c == ']' || c == '#' || c == '<' ||          c == '>' || c == '\\' || c == '`' || c == '!' ||-         (c == '&' && isalpha(nextc)) || (c == '!' && nextc == '[') ||+         (c == '&' && cmark_isalpha(nextc)) || (c == '!' && nextc == '[') ||          (renderer->begin_content && (c == '-' || c == '+' || c == '=') &&           // begin_content doesn't get set to false til we've passed digits           // at the beginning of line, so...           !follows_digit) ||          (renderer->begin_content && (c == '.' || c == ')') && follows_digit &&           (nextc == 0 || cmark_isspace(nextc))))) ||-       (escape == URL && (c == '`' || c == '<' || c == '>' || isspace(c) ||-                          c == '\\' || c == ')' || c == '(')) ||+       (escape == URL &&+        (c == '`' || c == '<' || c == '>' || cmark_isspace(c) || c == '\\' ||+         c == ')' || c == '(')) ||        (escape == TITLE &&         (c == '`' || c == '<' || c == '>' || c == '"' || c == '\\')));    if (needs_escaping) {-    if (isspace(c)) {+    if (cmark_isspace(c)) {       // use percent encoding for spaces       snprintf(encoded, ENCODED_SIZE, "%%%2x", c);       cmark_strbuf_puts(renderer->buffer, encoded);@@ -66,7 +65,7 @@   int longest = 0;   int current = 0;   size_t i = 0;-  size_t code_len = safe_strlen(code);+  size_t code_len = strlen(code);   while (i <= code_len) {     if (code[i] == '`') {       current++;@@ -85,7 +84,7 @@   int32_t used = 1;   int current = 0;   size_t i = 0;-  size_t code_len = safe_strlen(code);+  size_t code_len = strlen(code);   while (i <= code_len) {     if (code[i] == '`') {       current++;@@ -171,7 +170,10 @@   size_t info_len, code_len;   char listmarker[LISTMARKER_SIZE];   char *emph_delim;+  bool first_in_list_item;   bufsize_t marker_width;+  bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options) &&+                    !(CMARK_OPT_HARDBREAKS & options);    // Don't adjust tight list status til we've started the list.   // Otherwise we loose the blank line between a paragraph and@@ -204,7 +206,7 @@   case CMARK_NODE_LIST:     if (!entering && node->next && (node->next->type == CMARK_NODE_CODE_BLOCK ||                                     node->next->type == CMARK_NODE_LIST)) {-      // this ensures that a following code block or list will be+      // this ensures that a following indented code block or list will be       // inteprereted correctly.       CR();       LIT("<!-- end list -->");@@ -229,7 +231,7 @@       snprintf(listmarker, LISTMARKER_SIZE, "%d%s%s", list_number,                list_delim == CMARK_PAREN_DELIM ? ")" : ".",                list_number < 10 ? "  " : " ");-      marker_width = safe_strlen(listmarker);+      marker_width = strlen(listmarker);     }     if (entering) {       if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {@@ -256,27 +258,31 @@       }       LIT(" ");       renderer->begin_content = true;-      renderer->no_wrap = true;+      renderer->no_linebreaks = true;     } else {-      renderer->no_wrap = false;+      renderer->no_linebreaks = false;       BLANKLINE();     }     break;    case CMARK_NODE_CODE_BLOCK:-    BLANKLINE();+    first_in_list_item = node->prev == NULL && node->parent &&+                         node->parent->type == CMARK_NODE_ITEM;++    if (!first_in_list_item) {+      BLANKLINE();+    }     info = cmark_node_get_fence_info(node);-    info_len = safe_strlen(info);+    info_len = strlen(info);     code = cmark_node_get_literal(node);-    code_len = safe_strlen(code);+    code_len = strlen(code);     // use indented form if no info, and code doesn't     // begin or end with a blank line, and code isn't     // first thing in a list item-    if (info_len == 0 &&-        (code_len > 2 && !isspace((unsigned char)code[0]) &&-         !(isspace((unsigned char)code[code_len - 1]) && isspace((unsigned char)code[code_len - 2]))) &&-        !(node->prev == NULL && node->parent &&-          node->parent->type == CMARK_NODE_ITEM)) {+    if (info_len == 0 && (code_len > 2 && !cmark_isspace(code[0]) &&+                          !(cmark_isspace(code[code_len - 1]) &&+                            cmark_isspace(code[code_len - 2]))) &&+        !first_in_list_item) {       LIT("    ");       cmark_strbuf_puts(renderer->prefix, "    ");       OUT(cmark_node_get_literal(node), false, LITERAL);@@ -327,7 +333,7 @@     break;    case CMARK_NODE_TEXT:-    OUT(cmark_node_get_literal(node), true, NORMAL);+    OUT(cmark_node_get_literal(node), allow_wrap, NORMAL);     break;    case CMARK_NODE_LINEBREAK:@@ -338,16 +344,21 @@     break;    case CMARK_NODE_SOFTBREAK:-    if (renderer->width == 0 && !(CMARK_OPT_HARDBREAKS & options)) {+    if (CMARK_OPT_HARDBREAKS & options) {+      LIT("  ");       CR();+    } else if (!renderer->no_linebreaks && renderer->width == 0 &&+               !(CMARK_OPT_HARDBREAKS & options) &&+               !(CMARK_OPT_NOBREAKS & options)) {+      CR();     } else {-      OUT(" ", true, LITERAL);+      OUT(" ", allow_wrap, LITERAL);     }     break;    case CMARK_NODE_CODE:     code = cmark_node_get_literal(node);-    code_len = safe_strlen(code);+    code_len = strlen(code);     numticks = shortest_unused_backtick_sequence(code);     for (i = 0; i < numticks; i++) {       LIT("`");@@ -355,7 +366,7 @@     if (code_len == 0 || code[0] == '`') {       LIT(" ");     }-    OUT(cmark_node_get_literal(node), true, LITERAL);+    OUT(cmark_node_get_literal(node), allow_wrap, LITERAL);     if (code_len == 0 || code[code_len - 1] == '`') {       LIT(" ");     }@@ -417,7 +428,7 @@         LIT("](");         OUT(cmark_node_get_url(node), false, URL);         title = cmark_node_get_title(node);-        if (safe_strlen(title) > 0) {+        if (strlen(title) > 0) {           LIT(" \"");           OUT(title, false, TITLE);           LIT("\"");@@ -434,8 +445,8 @@       LIT("](");       OUT(cmark_node_get_url(node), false, URL);       title = cmark_node_get_title(node);-      if (safe_strlen(title) > 0) {-        OUT(" \"", true, LITERAL);+      if (strlen(title) > 0) {+        OUT(" \"", allow_wrap, LITERAL);         OUT(title, false, TITLE);         LIT("\"");       }
cbits/config.h view
@@ -69,6 +69,14 @@  #endif +#ifdef _WIN32+# include <BaseTsd.h>+  typedef SSIZE_T ssize_t;+  typedef SIZE_T size_t;+#else+# include <sys/types.h>+#endif+ #ifdef __cplusplus } #endif
cbits/html.c view
@@ -228,6 +228,8 @@   case CMARK_NODE_SOFTBREAK:     if (options & CMARK_OPT_HARDBREAKS) {       cmark_strbuf_puts(html, "<br />\n");+    } else if (options & CMARK_OPT_NOBREAKS) {+      cmark_strbuf_putc(html, ' ');     } else {       cmark_strbuf_putc(html, '\n');     }@@ -322,7 +324,7 @@  char *cmark_render_html(cmark_node *root, int options) {   char *result;-  cmark_strbuf html = GH_BUF_INIT;+  cmark_strbuf html = CMARK_BUF_INIT(cmark_node_mem(root));   cmark_event_type ev_type;   cmark_node *cur;   struct render_state state = {&html, NULL};
cbits/inlines.c view
@@ -22,30 +22,40 @@ static const char *RIGHTSINGLEQUOTE = "\xE2\x80\x99";  // Macros for creating various kinds of simple.-#define make_str(s) make_literal(CMARK_NODE_TEXT, s)-#define make_code(s) make_literal(CMARK_NODE_CODE, s)-#define make_raw_html(s) make_literal(CMARK_NODE_HTML_INLINE, s)-#define make_linebreak() make_simple(CMARK_NODE_LINEBREAK)-#define make_softbreak() make_simple(CMARK_NODE_SOFTBREAK)-#define make_emph() make_simple(CMARK_NODE_EMPH)-#define make_strong() make_simple(CMARK_NODE_STRONG)+#define make_str(mem, s) make_literal(mem, CMARK_NODE_TEXT, s)+#define make_code(mem, s) make_literal(mem, CMARK_NODE_CODE, s)+#define make_raw_html(mem, s) make_literal(mem, CMARK_NODE_HTML_INLINE, s)+#define make_linebreak(mem) make_simple(mem, CMARK_NODE_LINEBREAK)+#define make_softbreak(mem) make_simple(mem, CMARK_NODE_SOFTBREAK)+#define make_emph(mem) make_simple(mem, CMARK_NODE_EMPH)+#define make_strong(mem) make_simple(mem, CMARK_NODE_STRONG)  typedef struct delimiter {   struct delimiter *previous;   struct delimiter *next;   cmark_node *inl_text;-  bufsize_t position;   unsigned char delim_char;   bool can_open;   bool can_close;-  bool active; } delimiter; +typedef struct bracket {+  struct bracket *previous;+  struct delimiter *previous_delimiter;+  cmark_node *inl_text;+  bufsize_t position;+  bool image;+  bool active;+  bool bracket_after;+} bracket;+ typedef struct {+  cmark_mem *mem;   cmark_chunk input;   bufsize_t pos;   cmark_reference_map *refmap;   delimiter *last_delim;+  bracket *last_bracket; } subject;  static CMARK_INLINE bool S_is_line_end_char(char c) {@@ -57,66 +67,48 @@  static int parse_inline(subject *subj, cmark_node *parent, int options); -static void subject_from_buf(subject *e, cmark_strbuf *buffer,+static void subject_from_buf(cmark_mem *mem, subject *e, cmark_strbuf *buffer,                              cmark_reference_map *refmap); static bufsize_t subject_find_special_char(subject *subj, int options);  // Create an inline with a literal string value.-static CMARK_INLINE cmark_node *make_literal(cmark_node_type t, cmark_chunk s) {-  cmark_node *e = (cmark_node *)calloc(1, sizeof(*e));-  if (e != NULL) {-    e->type = t;-    e->as.literal = s;-    e->next = NULL;-    e->prev = NULL;-    e->parent = NULL;-    e->first_child = NULL;-    e->last_child = NULL;-    // These fields aren't used for inlines:-    e->start_line = 0;-    e->start_column = 0;-    e->end_line = 0;-  }+static CMARK_INLINE cmark_node *make_literal(cmark_mem *mem, cmark_node_type t,+                                             cmark_chunk s) {+  cmark_node *e = (cmark_node *)mem->calloc(1, sizeof(*e));+  cmark_strbuf_init(mem, &e->content, 0);+  e->type = t;+  e->as.literal = s;   return e; }  // Create an inline with no value.-static CMARK_INLINE cmark_node *make_simple(cmark_node_type t) {-  cmark_node *e = (cmark_node *)calloc(1, sizeof(*e));-  if (e != NULL) {-    e->type = t;-    e->next = NULL;-    e->prev = NULL;-    e->parent = NULL;-    e->first_child = NULL;-    e->last_child = NULL;-    // These fields aren't used for inlines:-    e->start_line = 0;-    e->start_column = 0;-    e->end_line = 0;-  }+static CMARK_INLINE cmark_node *make_simple(cmark_mem *mem, cmark_node_type t) {+  cmark_node *e = (cmark_node *)mem->calloc(1, sizeof(*e));+  cmark_strbuf_init(mem, &e->content, 0);+  e->type = t;   return e; }  // Like make_str, but parses entities.-static cmark_node *make_str_with_entities(cmark_chunk *content) {-  cmark_strbuf unescaped = GH_BUF_INIT;+static cmark_node *make_str_with_entities(cmark_mem *mem,+                                          cmark_chunk *content) {+  cmark_strbuf unescaped = CMARK_BUF_INIT(mem);    if (houdini_unescape_html(&unescaped, content->data, content->len)) {-    return make_str(cmark_chunk_buf_detach(&unescaped));+    return make_str(mem, cmark_chunk_buf_detach(&unescaped));   } else {-    return make_str(*content);+    return make_str(mem, *content);   } }  // 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_chunk *src) {+static cmark_chunk chunk_clone(cmark_mem *mem, cmark_chunk *src) {   cmark_chunk c;   bufsize_t len = src->len;    c.len = len;-  c.data = (unsigned char *)malloc(len + 1);+  c.data = (unsigned char *)mem->calloc(len + 1, 1);   c.alloc = 1;   memcpy(c.data, src->data, len);   c.data[len] = '\0';@@ -124,8 +116,9 @@   return c; } -static cmark_chunk cmark_clean_autolink(cmark_chunk *url, int is_email) {-  cmark_strbuf buf = GH_BUF_INIT;+static cmark_chunk cmark_clean_autolink(cmark_mem *mem, cmark_chunk *url,+                                        int is_email) {+  cmark_strbuf buf = CMARK_BUF_INIT(mem);    cmark_chunk_trim(url); @@ -141,22 +134,25 @@   return cmark_chunk_buf_detach(&buf); } -static CMARK_INLINE cmark_node *make_autolink(cmark_chunk url, int is_email) {-  cmark_node *link = make_simple(CMARK_NODE_LINK);-  link->as.link.url = cmark_clean_autolink(&url, is_email);+static CMARK_INLINE cmark_node *make_autolink(cmark_mem *mem, cmark_chunk url,+                                              int is_email) {+  cmark_node *link = make_simple(mem, CMARK_NODE_LINK);+  link->as.link.url = cmark_clean_autolink(mem, &url, is_email);   link->as.link.title = cmark_chunk_literal("");-  cmark_node_append_child(link, make_str_with_entities(&url));+  cmark_node_append_child(link, make_str_with_entities(mem, &url));   return link; } -static void subject_from_buf(subject *e, cmark_strbuf *buffer,+static void subject_from_buf(cmark_mem *mem, subject *e, cmark_strbuf *buffer,                              cmark_reference_map *refmap) {+  e->mem = mem;   e->input.data = buffer->ptr;   e->input.len = buffer->size;   e->input.alloc = 0;   e->pos = 0;   e->refmap = refmap;   e->last_delim = NULL;+  e->last_bracket = NULL; }  static CMARK_INLINE int isbacktick(int c) { return (c == '`'); }@@ -251,16 +247,16 @@    if (endpos == 0) {      // not found     subj->pos = startpos; // rewind-    return make_str(openticks);+    return make_str(subj->mem, openticks);   } else {-    cmark_strbuf buf = GH_BUF_INIT;+    cmark_strbuf buf = CMARK_BUF_INIT(subj->mem);      cmark_strbuf_set(&buf, subj->input.data + startpos,                      endpos - startpos - openticks.len);     cmark_strbuf_trim(&buf);     cmark_strbuf_normalize_whitespace(&buf); -    return make_code(cmark_chunk_buf_detach(&buf));+    return make_code(subj->mem, cmark_chunk_buf_detach(&buf));   } } @@ -360,12 +356,18 @@   free(delim); } +static void pop_bracket(subject *subj) {+  bracket *b;+  if (subj->last_bracket == NULL)+    return;+  b = subj->last_bracket;+  subj->last_bracket = subj->last_bracket->previous;+  free(b);+}+ static void push_delimiter(subject *subj, unsigned char c, bool can_open,                            bool can_close, cmark_node *inl_text) {-  delimiter *delim = (delimiter *)malloc(sizeof(delimiter));-  if (delim == NULL) {-    return;-  }+  delimiter *delim = (delimiter *)subj->mem->calloc(1, sizeof(delimiter));   delim->delim_char = c;   delim->can_open = can_open;   delim->can_close = can_close;@@ -375,11 +377,24 @@   if (delim->previous != NULL) {     delim->previous->next = delim;   }-  delim->position = subj->pos;-  delim->active = true;   subj->last_delim = delim; } +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->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;+  subj->last_bracket = b;+}+ // Assumes the subject has a c at the current position. static cmark_node *handle_delim(subject *subj, unsigned char c, bool smart) {   bufsize_t numdelims;@@ -398,7 +413,7 @@     contents = cmark_chunk_dup(&subj->input, subj->pos - numdelims, numdelims);   } -  inl_text = make_str(contents);+  inl_text = make_str(subj->mem, contents);    if ((can_open || can_close) && (!(c == '\'' || c == '"') || smart)) {     push_delimiter(subj, c, can_open, can_close, inl_text);@@ -414,7 +429,7 @@   advance(subj);    if (!smart || peek_char(subj) != '-') {-    return make_str(cmark_chunk_literal("-"));+    return make_str(subj->mem, cmark_chunk_literal("-"));   }    while (smart && peek_char(subj) == '-') {@@ -425,7 +440,7 @@   int en_count = 0;   int em_count = 0;   int i;-  cmark_strbuf buf = GH_BUF_INIT;+  cmark_strbuf buf = CMARK_BUF_INIT(subj->mem);    if (numhyphens % 3 == 0) { // if divisible by 3, use all em dashes     em_count = numhyphens / 3;@@ -447,7 +462,7 @@     cmark_strbuf_puts(&buf, ENDASH);   } -  return make_str(cmark_chunk_buf_detach(&buf));+  return make_str(subj->mem, cmark_chunk_buf_detach(&buf)); }  // Assumes we have a period at the current position.@@ -457,12 +472,12 @@     advance(subj);     if (peek_char(subj) == '.') {       advance(subj);-      return make_str(cmark_chunk_literal(ELLIPSES));+      return make_str(subj->mem, cmark_chunk_literal(ELLIPSES));     } else {-      return make_str(cmark_chunk_literal(".."));+      return make_str(subj->mem, cmark_chunk_literal(".."));     }   } else {-    return make_str(cmark_chunk_literal("."));+    return make_str(subj->mem, cmark_chunk_literal("."));   } } @@ -471,6 +486,7 @@   delimiter *opener;   delimiter *old_closer;   bool opener_found;+  bool odd_match;   delimiter *openers_bottom[128];    // initialize openers_bottom:@@ -486,15 +502,22 @@    // now move forward, looking for closers, and handling each   while (closer != NULL) {-    if (closer->can_close &&-        (closer->delim_char == '*' || closer->delim_char == '_' ||-         closer->delim_char == '"' || closer->delim_char == '\'')) {+    if (closer->can_close) {       // Now look backwards for first matching opener:       opener = closer->previous;       opener_found = false;+      odd_match = false;       while (opener != NULL && opener != stack_bottom &&              opener != openers_bottom[closer->delim_char]) {-        if (opener->delim_char == closer->delim_char && opener->can_open) {+        // interior closer of size 2 can't match opener of size 1+        // or of size 1 can't match 2+        odd_match = (closer->can_open || opener->can_close) &&+                    ((opener->inl_text->as.literal.len ++                      closer->inl_text->as.literal.len) %+                         3 ==+                     0);+        if (opener->delim_char == closer->delim_char && opener->can_open &&+            !odd_match) {           opener_found = true;           break;         }@@ -508,24 +531,28 @@           closer = closer->next;         }       } else if (closer->delim_char == '\'') {-        cmark_chunk_free(&closer->inl_text->as.literal);+        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(&opener->inl_text->as.literal);+          cmark_chunk_free(subj->mem, &opener->inl_text->as.literal);           opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE);         }         closer = closer->next;       } else if (closer->delim_char == '"') {-        cmark_chunk_free(&closer->inl_text->as.literal);+        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(&opener->inl_text->as.literal);+          cmark_chunk_free(subj->mem, &opener->inl_text->as.literal);           opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE);         }         closer = closer->next;       }-      if (!opener_found) {-        // set lower bound for future searches for openers:+      if (!opener_found && !odd_match) {+        // set lower bound for future searches for openers+        // (we don't do this with 'odd_match' set because+        // a ** that didn't match an earlier * might turn into+        // an opener, and the * might be matched by something+        // else.         openers_bottom[old_closer->delim_char] = old_closer->previous;         if (!old_closer->can_open) {           // we can remove a closer that can't be an@@ -552,7 +579,7 @@   cmark_node *closer_inl = closer->inl_text;   bufsize_t opener_num_chars = opener_inl->as.literal.len;   bufsize_t closer_num_chars = closer_inl->as.literal.len;-  cmark_node *tmp, *emph, *first_child, *last_child;+  cmark_node *tmp, *tmpnext, *emph;    // calculate the actual number of characters used from this closer   if (closer_num_chars < 3 || opener_num_chars < 3) {@@ -576,39 +603,24 @@     delim = tmp_delim;   } -  first_child = opener_inl->next;-  last_child = closer_inl->prev;+  // create new emph or strong, and splice it in to our inlines+  // between the opener and closer+  emph = use_delims == 1 ? make_emph(subj->mem) : make_strong(subj->mem); +  tmp = opener_inl->next;+  while (tmp && tmp != closer_inl) {+    tmpnext = tmp->next;+    cmark_node_append_child(emph, tmp);+    tmp = tmpnext;+  }+  cmark_node_insert_after(opener_inl, emph);+   // if opener has 0 characters, remove it and its associated inline   if (opener_num_chars == 0) {-    // replace empty opener inline with emph-    cmark_chunk_free(&(opener_inl->as.literal));-    emph = opener_inl;-    emph->type = use_delims == 1 ? CMARK_NODE_EMPH : CMARK_NODE_STRONG;-    // remove opener from list+    cmark_node_free(opener_inl);     remove_delimiter(subj, opener);-  } else {-    // create new emph or strong, and splice it in to our inlines-    // between the opener and closer-    emph = use_delims == 1 ? make_emph() : make_strong();-    emph->parent = opener_inl->parent;-    emph->prev = opener_inl;-    opener_inl->next = emph;   } -  // push children below emph-  emph->next = closer_inl;-  closer_inl->prev = emph;-  emph->first_child = first_child;-  emph->last_child = last_child;--  // fix children pointers-  first_child->prev = NULL;-  last_child->next = NULL;-  for (tmp = first_child; tmp != NULL; tmp = tmp->next) {-    tmp->parent = emph;-  }-   // if closer has 0 characters, remove it and its associated inline   if (closer_num_chars == 0) {     // remove empty closer inline@@ -629,18 +641,18 @@   if (cmark_ispunct(           nextchar)) { // only ascii symbols and newline can be escaped     advance(subj);-    return make_str(cmark_chunk_dup(&subj->input, subj->pos - 1, 1));+    return make_str(subj->mem, cmark_chunk_dup(&subj->input, subj->pos - 1, 1));   } else if (!is_eof(subj) && skip_line_end(subj)) {-    return make_linebreak();+    return make_linebreak(subj->mem);   } else {-    return make_str(cmark_chunk_literal("\\"));+    return make_str(subj->mem, cmark_chunk_literal("\\"));   } }  // Parse an entity or a regular "&" string. // Assumes the subject has an '&' character at the current position. static cmark_node *handle_entity(subject *subj) {-  cmark_strbuf ent = GH_BUF_INIT;+  cmark_strbuf ent = CMARK_BUF_INIT(subj->mem);   bufsize_t len;    advance(subj);@@ -649,16 +661,16 @@                              subj->input.len - subj->pos);    if (len == 0)-    return make_str(cmark_chunk_literal("&"));+    return make_str(subj->mem, cmark_chunk_literal("&"));    subj->pos += len;-  return make_str(cmark_chunk_buf_detach(&ent));+  return make_str(subj->mem, cmark_chunk_buf_detach(&ent)); }  // Clean a URL: remove surrounding whitespace and surrounding <>, // and remove \ that escape punctuation.-cmark_chunk cmark_clean_url(cmark_chunk *url) {-  cmark_strbuf buf = GH_BUF_INIT;+cmark_chunk cmark_clean_url(cmark_mem *mem, cmark_chunk *url) {+  cmark_strbuf buf = CMARK_BUF_INIT(mem);    cmark_chunk_trim(url); @@ -677,8 +689,8 @@   return cmark_chunk_buf_detach(&buf); } -cmark_chunk cmark_clean_title(cmark_chunk *title) {-  cmark_strbuf buf = GH_BUF_INIT;+cmark_chunk cmark_clean_title(cmark_mem *mem, cmark_chunk *title) {+  cmark_strbuf buf = CMARK_BUF_INIT(mem);   unsigned char first, last;    if (title->len == 0) {@@ -715,7 +727,7 @@     contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);     subj->pos += matchlen; -    return make_autolink(contents, 0);+    return make_autolink(subj->mem, contents, 0);   }    // next try to match an email autolink@@ -724,7 +736,7 @@     contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);     subj->pos += matchlen; -    return make_autolink(contents, 1);+    return make_autolink(subj->mem, contents, 1);   }    // finally, try to match an html tag@@ -732,11 +744,11 @@   if (matchlen > 0) {     contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1);     subj->pos += matchlen;-    return make_raw_html(contents);+    return make_raw_html(subj->mem, contents);   }    // if nothing matches, just return the opening <:-  return make_str(cmark_chunk_literal("<"));+  return make_str(subj->mem, cmark_chunk_literal("<")); }  // Parse a link label.  Returns 1 if successful.@@ -786,48 +798,40 @@ }  // Return a link, an image, or a literal close bracket.-static cmark_node *handle_close_bracket(subject *subj, cmark_node *parent) {+static cmark_node *handle_close_bracket(subject *subj) {   bufsize_t initial_pos;   bufsize_t starturl, endurl, starttitle, endtitle, endall;   bufsize_t n;   bufsize_t sps;-  cmark_reference *ref;-  bool is_image = false;+  cmark_reference *ref = NULL;   cmark_chunk url_chunk, title_chunk;   cmark_chunk url, title;-  delimiter *opener;-  cmark_node *link_text;+  bracket *opener;   cmark_node *inl;   cmark_chunk raw_label;   int found_label;+  cmark_node *tmp, *tmpnext;+  bool is_image;    advance(subj); // advance past ]   initial_pos = subj->pos; -  // look through list of delimiters for a [ or !-  opener = subj->last_delim;-  while (opener) {-    if (opener->delim_char == '[' || opener->delim_char == '!') {-      break;-    }-    opener = opener->previous;-  }+  // get last [ or ![+  opener = subj->last_bracket;    if (opener == NULL) {-    return make_str(cmark_chunk_literal("]"));+    return make_str(subj->mem, cmark_chunk_literal("]"));   }    if (!opener->active) {     // take delimiter off stack-    remove_delimiter(subj, opener);-    return make_str(cmark_chunk_literal("]"));+    pop_bracket(subj);+    return make_str(subj->mem, cmark_chunk_literal("]"));   }    // If we got here, we matched a potential link/image text.-  is_image = opener->delim_char == '!';-  link_text = opener->inl_text->next;-   // Now we check to see if it's a link/image.+  is_image = opener->image;    // First, look for an inline link.   if (peek_char(subj) == '(' &&@@ -852,10 +856,10 @@       url_chunk = cmark_chunk_dup(&subj->input, starturl, endurl - starturl);       title_chunk =           cmark_chunk_dup(&subj->input, starttitle, endtitle - starttitle);-      url = cmark_clean_url(&url_chunk);-      title = cmark_clean_title(&title_chunk);-      cmark_chunk_free(&url_chunk);-      cmark_chunk_free(&title_chunk);+      url = cmark_clean_url(subj->mem, &url_chunk);+      title = cmark_clean_title(subj->mem, &title_chunk);+      cmark_chunk_free(subj->mem, &url_chunk);+      cmark_chunk_free(subj->mem, &title_chunk);       goto match;      } else {@@ -867,24 +871,27 @@   // skip spaces   raw_label = cmark_chunk_literal("");   found_label = link_label(subj, &raw_label);-  if (!found_label || raw_label.len == 0) {-    cmark_chunk_free(&raw_label);-    raw_label = cmark_chunk_dup(&subj->input, opener->position,-                                initial_pos - opener->position - 1);-  }-   if (!found_label) {     // If we have a shortcut reference link, back up     // to before the spacse we skipped.     subj->pos = initial_pos;   } -  ref = cmark_reference_lookup(subj->refmap, &raw_label);-  cmark_chunk_free(&raw_label);+  if ((!found_label || raw_label.len == 0) && !opener->bracket_after) {+    cmark_chunk_free(subj->mem, &raw_label);+    raw_label = cmark_chunk_dup(&subj->input, opener->position,+                                initial_pos - opener->position - 1);+    found_label = true;+  } +  if (found_label) {+    ref = cmark_reference_lookup(subj->refmap, &raw_label);+    cmark_chunk_free(subj->mem, &raw_label);+  }+   if (ref != NULL) { // found-    url = chunk_clone(&ref->url);-    title = chunk_clone(&ref->title);+    url = chunk_clone(subj->mem, &ref->url);+    title = chunk_clone(subj->mem, &ref->title);     goto match;   } else {     goto noMatch;@@ -892,38 +899,36 @@  noMatch:   // If we fall through to here, it means we didn't match a link:-  remove_delimiter(subj, opener); // remove this opener from delimiter list+  pop_bracket(subj); // remove this opener from delimiter list   subj->pos = initial_pos;-  return make_str(cmark_chunk_literal("]"));+  return make_str(subj->mem, cmark_chunk_literal("]"));  match:-  inl = opener->inl_text;-  inl->type = is_image ? CMARK_NODE_IMAGE : CMARK_NODE_LINK;-  cmark_chunk_free(&inl->as.literal);-  inl->first_child = link_text;-  process_emphasis(subj, opener);+  inl = make_simple(subj->mem, is_image ? CMARK_NODE_IMAGE : CMARK_NODE_LINK);   inl->as.link.url = url;   inl->as.link.title = title;-  inl->next = NULL;-  if (link_text) {-    cmark_node *tmp;-    link_text->prev = NULL;-    for (tmp = link_text; tmp->next != NULL; tmp = tmp->next) {-      tmp->parent = inl;-    }-    tmp->parent = inl;-    inl->last_child = tmp;+  cmark_node_insert_before(opener->inl_text, inl);+  // Add link text:+  tmp = opener->inl_text->next;+  while (tmp) {+    tmpnext = tmp->next;+    cmark_node_append_child(inl, tmp);+    tmp = tmpnext;   }-  parent->last_child = inl; +  // Free the bracket [:+  cmark_node_free(opener->inl_text);++  process_emphasis(subj, opener->previous_delimiter);+  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   // inside links.)-  remove_delimiter(subj, opener);   if (!is_image) {-    opener = subj->last_delim;+    opener = subj->last_bracket;     while (opener != NULL) {-      if (opener->delim_char == '[') {+      if (!opener->image) {         if (!opener->active) {           break;         } else {@@ -952,9 +957,9 @@   skip_spaces(subj);   if (nlpos > 1 && peek_at(subj, nlpos - 1) == ' ' &&       peek_at(subj, nlpos - 2) == ' ') {-    return make_linebreak();+    return make_linebreak(subj->mem);   } else {-    return make_softbreak();+    return make_softbreak(subj->mem);   } } @@ -1043,20 +1048,20 @@     break;   case '[':     advance(subj);-    new_inl = make_str(cmark_chunk_literal("["));-    push_delimiter(subj, '[', true, false, new_inl);+    new_inl = make_str(subj->mem, cmark_chunk_literal("["));+    push_bracket(subj, false, new_inl);     break;   case ']':-    new_inl = handle_close_bracket(subj, parent);+    new_inl = handle_close_bracket(subj);     break;   case '!':     advance(subj);     if (peek_char(subj) == '[') {       advance(subj);-      new_inl = make_str(cmark_chunk_literal("!["));-      push_delimiter(subj, '!', false, true, new_inl);+      new_inl = make_str(subj->mem, cmark_chunk_literal("!["));+      push_bracket(subj, true, new_inl);     } else {-      new_inl = make_str(cmark_chunk_literal("!"));+      new_inl = make_str(subj->mem, cmark_chunk_literal("!"));     }     break;   default:@@ -1069,7 +1074,7 @@       cmark_chunk_rtrim(&contents);     } -    new_inl = make_str(contents);+    new_inl = make_str(subj->mem, contents);   }   if (new_inl != NULL) {     cmark_node_append_child(parent, new_inl);@@ -1079,16 +1084,20 @@ }  // Parse inlines from parent's string_content, adding as children of parent.-extern void cmark_parse_inlines(cmark_node *parent, cmark_reference_map *refmap,-                                int options) {+extern void cmark_parse_inlines(cmark_mem *mem, cmark_node *parent,+                                cmark_reference_map *refmap, int options) {   subject subj;-  subject_from_buf(&subj, &parent->string_content, refmap);+  subject_from_buf(mem, &subj, &parent->content, refmap);   cmark_chunk_rtrim(&subj.input);    while (!is_eof(&subj) && parse_inline(&subj, parent, options))     ;    process_emphasis(&subj, NULL);+  // free bracket stack+  while (subj.last_bracket) {+    pop_bracket(&subj);+  } }  // Parse zero or more space characters, including at most one newline.@@ -1103,7 +1112,7 @@ // Modify refmap if a reference is encountered. // Return 0 if no reference found, otherwise position of subject // after reference is parsed.-bufsize_t cmark_parse_reference_inline(cmark_strbuf *input,+bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_strbuf *input,                                        cmark_reference_map *refmap) {   subject subj; @@ -1114,7 +1123,7 @@   bufsize_t matchlen = 0;   bufsize_t beforetitle; -  subject_from_buf(&subj, input, NULL);+  subject_from_buf(mem, &subj, input, NULL);    // parse label:   if (!link_label(&subj, &lab) || lab.len == 0)
cbits/inlines.h view
@@ -5,13 +5,13 @@ extern "C" { #endif -cmark_chunk cmark_clean_url(cmark_chunk *url);-cmark_chunk cmark_clean_title(cmark_chunk *title);+cmark_chunk cmark_clean_url(cmark_mem *mem, cmark_chunk *url);+cmark_chunk cmark_clean_title(cmark_mem *mem, cmark_chunk *title); -void cmark_parse_inlines(cmark_node *parent, cmark_reference_map *refmap,-                         int options);+void cmark_parse_inlines(cmark_mem *mem, cmark_node *parent,+                         cmark_reference_map *refmap, int options); -bufsize_t cmark_parse_reference_inline(cmark_strbuf *input,+bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_strbuf *input,                                        cmark_reference_map *refmap);  #ifdef __cplusplus
cbits/iterator.c view
@@ -16,10 +16,9 @@   if (root == NULL) {     return NULL;   }-  cmark_iter *iter = (cmark_iter *)malloc(sizeof(cmark_iter));-  if (iter == NULL) {-    return NULL;-  }+  cmark_mem *mem = root->content.mem;+  cmark_iter *iter = (cmark_iter *)mem->calloc(1, sizeof(cmark_iter));+  iter->mem = mem;   iter->root = root;   iter->cur.ev_type = CMARK_EVENT_NONE;   iter->cur.node = NULL;@@ -28,7 +27,7 @@   return iter; } -void cmark_iter_free(cmark_iter *iter) { free(iter); }+void cmark_iter_free(cmark_iter *iter) { iter->mem->free(iter); }  static bool S_is_leaf(cmark_node *node) {   return ((1 << node->type) & S_leaf_mask) != 0;@@ -93,7 +92,7 @@     return;   }   cmark_iter *iter = cmark_iter_new(root);-  cmark_strbuf buf = GH_BUF_INIT;+  cmark_strbuf buf = CMARK_BUF_INIT(iter->mem);   cmark_event_type ev_type;   cmark_node *cur, *tmp, *next; @@ -111,7 +110,7 @@         cmark_node_free(tmp);         tmp = next;       }-      cmark_chunk_free(&cur->as.literal);+      cmark_chunk_free(iter->mem, &cur->as.literal);       cur->as.literal = cmark_chunk_buf_detach(&buf);     }   }
cbits/iterator.h view
@@ -6,6 +6,7 @@ #endif  #include "cmark.h"+#include "memory.h"  typedef struct {   cmark_event_type ev_type;@@ -13,6 +14,7 @@ } cmark_iter_state;  struct cmark_iter {+  cmark_mem *mem;   cmark_node *root;   cmark_iter_state cur;   cmark_iter_state next;
cbits/latex.c view
@@ -2,7 +2,6 @@ #include <stdio.h> #include <string.h> #include <assert.h>-#include <ctype.h>  #include "config.h" #include "cmark.h"@@ -12,7 +11,6 @@ #include "scanners.h" #include "render.h" -#define safe_strlen(s) cmark_strbuf_safe_strlen(s) #define OUT(s, wrap, escaping) renderer->out(renderer, s, wrap, escaping) #define LIT(s) renderer->out(renderer, s, false, LITERAL) #define CR() renderer->cr(renderer)@@ -20,7 +18,7 @@ #define LIST_NUMBER_STRING_SIZE 20  static CMARK_INLINE void outc(cmark_renderer *renderer, cmark_escaping escape,-                        int32_t c, unsigned char nextc) {+                              int32_t c, unsigned char nextc) {   if (escape == LITERAL) {     cmark_render_code_point(renderer, c);     return;@@ -169,13 +167,13 @@     return INTERNAL_LINK;   } -  url_len = safe_strlen(url);+  url_len = strlen(url);   if (url_len == 0 || scan_scheme(&url_chunk, 0) == 0) {     return NO_LINK;   }    const char *title = cmark_node_get_title(node);-  title_len = safe_strlen(title);+  title_len = strlen(title);   // if it has a title, we can't treat it as an autolink:   if (title_len == 0) { @@ -223,6 +221,7 @@   cmark_list_type list_type;   const char *roman_numerals[] = {"",   "i",   "ii",   "iii", "iv", "v",                                   "vi", "vii", "viii", "ix",  "x"};+  bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options);    // avoid warning about unused parameter:   (void)(options);@@ -334,7 +333,7 @@     break;    case CMARK_NODE_TEXT:-    OUT(cmark_node_get_literal(node), true, NORMAL);+    OUT(cmark_node_get_literal(node), allow_wrap, NORMAL);     break;    case CMARK_NODE_LINEBREAK:@@ -343,10 +342,13 @@     break;    case CMARK_NODE_SOFTBREAK:-    if (renderer->width == 0) {+    if (options & CMARK_OPT_HARDBREAKS) {+      LIT("\\\\");       CR();+    } else if (renderer->width == 0 && !(CMARK_OPT_NOBREAKS & options)) {+      CR();     } else {-      OUT(" ", true, NORMAL);+      OUT(" ", allow_wrap, NORMAL);     }     break; 
cbits/man.c view
@@ -75,6 +75,7 @@   cmark_node *tmp;   int list_number;   bool entering = (ev_type == CMARK_EVENT_ENTER);+  bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options);    // avoid unused parameter error:   (void)(options);@@ -173,7 +174,7 @@     break;    case CMARK_NODE_TEXT:-    OUT(cmark_node_get_literal(node), true, NORMAL);+    OUT(cmark_node_get_literal(node), allow_wrap, NORMAL);     break;    case CMARK_NODE_LINEBREAK:@@ -182,16 +183,19 @@     break;    case CMARK_NODE_SOFTBREAK:-    if (renderer->width == 0) {+    if (options & CMARK_OPT_HARDBREAKS) {+      LIT(".PD 0\n.P\n.PD");       CR();+    } else if (renderer->width == 0 && !(CMARK_OPT_NOBREAKS & options)) {+      CR();     } else {-      OUT(" ", true, LITERAL);+      OUT(" ", allow_wrap, LITERAL);     }     break;    case CMARK_NODE_CODE:     LIT("\\f[C]");-    OUT(cmark_node_get_literal(node), true, NORMAL);+    OUT(cmark_node_get_literal(node), allow_wrap, NORMAL);     LIT("\\f[]");     break; @@ -222,7 +226,7 @@   case CMARK_NODE_LINK:     if (!entering) {       LIT(" (");-      OUT(cmark_node_get_url(node), true, URL);+      OUT(cmark_node_get_url(node), allow_wrap, URL);       LIT(")");     }     break;
cbits/node.c view
@@ -6,6 +6,8 @@  static void S_node_unlink(cmark_node *node); +#define NODE_MEM(node) cmark_node_mem(node)+ static CMARK_INLINE bool S_is_block(cmark_node *node) {   if (node == NULL) {     return false;@@ -70,9 +72,10 @@   return false; } -cmark_node *cmark_node_new(cmark_node_type type) {-  cmark_node *node = (cmark_node *)calloc(1, sizeof(*node));-  node->type = type;+cmark_node *cmark_node_new_with_mem(cmark_node_type type, cmark_mem *mem) {+  cmark_node *node = (cmark_node *)mem->calloc(1, sizeof(*node));+  cmark_strbuf_init(mem, &node->content, 0);+  node->type = (uint16_t)type;    switch (node->type) {   case CMARK_NODE_HEADING:@@ -94,33 +97,36 @@   return node; } +cmark_node *cmark_node_new(cmark_node_type type) {+  extern cmark_mem DEFAULT_MEM_ALLOCATOR;+  return cmark_node_new_with_mem(type, &DEFAULT_MEM_ALLOCATOR);+}+ // Free a cmark_node list and any children. static void S_free_nodes(cmark_node *e) {   cmark_node *next;   while (e != NULL) {-    if (S_is_block(e)) {-      cmark_strbuf_free(&e->string_content);-    }+    cmark_strbuf_free(&e->content);     switch (e->type) {     case CMARK_NODE_CODE_BLOCK:-      cmark_chunk_free(&e->as.code.info);-      cmark_chunk_free(&e->as.code.literal);+      cmark_chunk_free(NODE_MEM(e), &e->as.code.info);+      cmark_chunk_free(NODE_MEM(e), &e->as.code.literal);       break;     case CMARK_NODE_TEXT:     case CMARK_NODE_HTML_INLINE:     case CMARK_NODE_CODE:     case CMARK_NODE_HTML_BLOCK:-      cmark_chunk_free(&e->as.literal);+      cmark_chunk_free(NODE_MEM(e), &e->as.literal);       break;     case CMARK_NODE_LINK:     case CMARK_NODE_IMAGE:-      cmark_chunk_free(&e->as.link.url);-      cmark_chunk_free(&e->as.link.title);+      cmark_chunk_free(NODE_MEM(e), &e->as.link.url);+      cmark_chunk_free(NODE_MEM(e), &e->as.link.title);       break;     case CMARK_NODE_CUSTOM_BLOCK:     case CMARK_NODE_CUSTOM_INLINE:-      cmark_chunk_free(&e->as.custom.on_enter);-      cmark_chunk_free(&e->as.custom.on_exit);+      cmark_chunk_free(NODE_MEM(e), &e->as.custom.on_enter);+      cmark_chunk_free(NODE_MEM(e), &e->as.custom.on_exit);       break;     default:       break;@@ -131,7 +137,7 @@       e->next = e->first_child;     }     next = e->next;-    free(e);+    NODE_MEM(e)->free(e);     e = next;   } }@@ -146,7 +152,7 @@   if (node == NULL) {     return CMARK_NODE_NONE;   } else {-    return node->type;+    return (cmark_node_type)node->type;   } } @@ -269,10 +275,10 @@   case CMARK_NODE_TEXT:   case CMARK_NODE_HTML_INLINE:   case CMARK_NODE_CODE:-    return cmark_chunk_to_cstr(&node->as.literal);+    return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.literal);    case CMARK_NODE_CODE_BLOCK:-    return cmark_chunk_to_cstr(&node->as.code.literal);+    return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.code.literal);    default:     break;@@ -291,11 +297,11 @@   case CMARK_NODE_TEXT:   case CMARK_NODE_HTML_INLINE:   case CMARK_NODE_CODE:-    cmark_chunk_set_cstr(&node->as.literal, content);+    cmark_chunk_set_cstr(NODE_MEM(node), &node->as.literal, content);     return 1;    case CMARK_NODE_CODE_BLOCK:-    cmark_chunk_set_cstr(&node->as.code.literal, content);+    cmark_chunk_set_cstr(NODE_MEM(node), &node->as.code.literal, content);     return 1;    default:@@ -452,7 +458,7 @@   }    if (node->type == CMARK_NODE_CODE_BLOCK) {-    return cmark_chunk_to_cstr(&node->as.code.info);+    return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.code.info);   } else {     return NULL;   }@@ -464,7 +470,7 @@   }    if (node->type == CMARK_NODE_CODE_BLOCK) {-    cmark_chunk_set_cstr(&node->as.code.info, info);+    cmark_chunk_set_cstr(NODE_MEM(node), &node->as.code.info, info);     return 1;   } else {     return 0;@@ -479,7 +485,7 @@   switch (node->type) {   case CMARK_NODE_LINK:   case CMARK_NODE_IMAGE:-    return cmark_chunk_to_cstr(&node->as.link.url);+    return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.link.url);   default:     break;   }@@ -495,7 +501,7 @@   switch (node->type) {   case CMARK_NODE_LINK:   case CMARK_NODE_IMAGE:-    cmark_chunk_set_cstr(&node->as.link.url, url);+    cmark_chunk_set_cstr(NODE_MEM(node), &node->as.link.url, url);     return 1;   default:     break;@@ -512,7 +518,7 @@   switch (node->type) {   case CMARK_NODE_LINK:   case CMARK_NODE_IMAGE:-    return cmark_chunk_to_cstr(&node->as.link.title);+    return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.link.title);   default:     break;   }@@ -528,7 +534,7 @@   switch (node->type) {   case CMARK_NODE_LINK:   case CMARK_NODE_IMAGE:-    cmark_chunk_set_cstr(&node->as.link.title, title);+    cmark_chunk_set_cstr(NODE_MEM(node), &node->as.link.title, title);     return 1;   default:     break;@@ -545,7 +551,7 @@   switch (node->type) {   case CMARK_NODE_CUSTOM_INLINE:   case CMARK_NODE_CUSTOM_BLOCK:-    return cmark_chunk_to_cstr(&node->as.custom.on_enter);+    return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.custom.on_enter);   default:     break;   }@@ -561,7 +567,7 @@   switch (node->type) {   case CMARK_NODE_CUSTOM_INLINE:   case CMARK_NODE_CUSTOM_BLOCK:-    cmark_chunk_set_cstr(&node->as.custom.on_enter, on_enter);+    cmark_chunk_set_cstr(NODE_MEM(node), &node->as.custom.on_enter, on_enter);     return 1;   default:     break;@@ -578,7 +584,7 @@   switch (node->type) {   case CMARK_NODE_CUSTOM_INLINE:   case CMARK_NODE_CUSTOM_BLOCK:-    return cmark_chunk_to_cstr(&node->as.custom.on_exit);+    return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.custom.on_exit);   default:     break;   }@@ -594,7 +600,7 @@   switch (node->type) {   case CMARK_NODE_CUSTOM_INLINE:   case CMARK_NODE_CUSTOM_BLOCK:-    cmark_chunk_set_cstr(&node->as.custom.on_exit, on_exit);+    cmark_chunk_set_cstr(NODE_MEM(node), &node->as.custom.on_exit, on_exit);     return 1;   default:     break;
cbits/node.h view
@@ -25,11 +25,10 @@ typedef struct {   cmark_chunk info;   cmark_chunk literal;-  int fence_length;-  /* fence_offset must be 0-3, so we can use int8_t */-  int8_t fence_offset;+  uint8_t fence_length;+  uint8_t fence_offset;   unsigned char fence_char;-  bool fenced;+  int8_t fenced; } cmark_code;  typedef struct {@@ -47,7 +46,14 @@   cmark_chunk on_exit; } cmark_custom; +enum cmark_node__internal_flags {+  CMARK_NODE__OPEN = (1 << 0),+  CMARK_NODE__LAST_LINE_BLANK = (1 << 1),+};+ struct cmark_node {+  cmark_strbuf content;+   struct cmark_node *next;   struct cmark_node *prev;   struct cmark_node *parent;@@ -60,13 +66,8 @@   int start_column;   int end_line;   int end_column;--  cmark_node_type type;--  bool open;-  bool last_line_blank;--  cmark_strbuf string_content;+  uint16_t type;+  uint16_t flags;    union {     cmark_chunk literal;@@ -79,6 +80,9 @@   } as; }; +static CMARK_INLINE cmark_mem *cmark_node_mem(cmark_node *node) {+  return node->content.mem;+} CMARK_EXPORT int cmark_node_check(cmark_node *node, FILE *out);  #ifdef __cplusplus
cbits/parser.h view
@@ -4,6 +4,7 @@ #include <stdio.h> #include "node.h" #include "buffer.h"+#include "memory.h"  #ifdef __cplusplus extern "C" {@@ -12,6 +13,7 @@ #define MAX_LINK_LABEL_LENGTH 1000  struct cmark_parser {+  struct cmark_mem *mem;   struct cmark_reference_map *refmap;   struct cmark_node *root;   struct cmark_node *current;@@ -23,9 +25,9 @@   int indent;   bool blank;   bool partially_consumed_tab;-  cmark_strbuf *curline;+  cmark_strbuf curline;   bufsize_t last_line_length;-  cmark_strbuf *linebuf;+  cmark_strbuf linebuf;   int options;   bool last_buffer_ended_with_cr; };
cbits/references.c view
@@ -14,12 +14,13 @@   return hash; } -static void reference_free(cmark_reference *ref) {+static void reference_free(cmark_reference_map *map, cmark_reference *ref) {+  cmark_mem *mem = map->mem;   if (ref != NULL) {-    free(ref->label);-    cmark_chunk_free(&ref->url);-    cmark_chunk_free(&ref->title);-    free(ref);+    mem->free(ref->label);+    cmark_chunk_free(mem, &ref->url);+    cmark_chunk_free(mem, &ref->title);+    mem->free(ref);   } } @@ -27,8 +28,8 @@ // remove leading/trailing whitespace, case fold // Return NULL if the reference name is actually empty (i.e. composed // solely from whitespace)-static unsigned char *normalize_reference(cmark_chunk *ref) {-  cmark_strbuf normalized = GH_BUF_INIT;+static unsigned char *normalize_reference(cmark_mem *mem, cmark_chunk *ref) {+  cmark_strbuf normalized = CMARK_BUF_INIT(mem);   unsigned char *result;    if (ref == NULL)@@ -57,7 +58,7 @@    while (t) {     if (t->hash == ref->hash && !strcmp((char *)t->label, (char *)ref->label)) {-      reference_free(ref);+      reference_free(map, ref);       return;     } @@ -70,22 +71,20 @@ void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label,                             cmark_chunk *url, cmark_chunk *title) {   cmark_reference *ref;-  unsigned char *reflabel = normalize_reference(label);+  unsigned char *reflabel = normalize_reference(map->mem, label);    /* empty reference name, or composed from only whitespace */   if (reflabel == NULL)     return; -  ref = (cmark_reference *)calloc(1, sizeof(*ref));-  if (ref != NULL) {-    ref->label = reflabel;-    ref->hash = refhash(ref->label);-    ref->url = cmark_clean_url(url);-    ref->title = cmark_clean_title(title);-    ref->next = NULL;+  ref = (cmark_reference *)map->mem->calloc(1, sizeof(*ref));+  ref->label = reflabel;+  ref->hash = refhash(ref->label);+  ref->url = cmark_clean_url(map->mem, url);+  ref->title = cmark_clean_title(map->mem, title);+  ref->next = NULL; -    add_reference(map, ref);-  }+  add_reference(map, ref); }  // Returns reference if refmap contains a reference with matching@@ -96,13 +95,13 @@   unsigned char *norm;   unsigned int hash; -  if (label->len > MAX_LINK_LABEL_LENGTH)+  if (label->len < 1 || label->len > MAX_LINK_LABEL_LENGTH)     return NULL;    if (map == NULL)     return NULL; -  norm = normalize_reference(label);+  norm = normalize_reference(map->mem, label);   if (norm == NULL)     return NULL; @@ -131,7 +130,7 @@      while (ref) {       next = ref->next;-      reference_free(ref);+      reference_free(map, ref);       ref = next;     }   }@@ -139,6 +138,9 @@   free(map); } -cmark_reference_map *cmark_reference_map_new(void) {-  return (cmark_reference_map *)calloc(1, sizeof(cmark_reference_map));+cmark_reference_map *cmark_reference_map_new(cmark_mem *mem) {+  cmark_reference_map *map =+      (cmark_reference_map *)mem->calloc(1, sizeof(cmark_reference_map));+  map->mem = mem;+  return map; }
cbits/references.h view
@@ -1,6 +1,7 @@ #ifndef CMARK_REFERENCES_H #define CMARK_REFERENCES_H +#include "memory.h" #include "chunk.h"  #ifdef __cplusplus@@ -20,12 +21,13 @@ typedef struct cmark_reference cmark_reference;  struct cmark_reference_map {+  cmark_mem *mem;   cmark_reference *table[REFMAP_SIZE]; };  typedef struct cmark_reference_map cmark_reference_map; -cmark_reference_map *cmark_reference_map_new(void);+cmark_reference_map *cmark_reference_map_new(cmark_mem *mem); void cmark_reference_map_free(cmark_reference_map *map); cmark_reference *cmark_reference_lookup(cmark_reference_map *map,                                         cmark_chunk *label);
cbits/render.c view
@@ -4,6 +4,7 @@ #include "cmark.h" #include "utf8.h" #include "render.h"+#include "node.h"  static CMARK_INLINE void S_cr(cmark_renderer *renderer) {   if (renderer->need_cr < 1) {@@ -19,7 +20,7 @@  static void S_out(cmark_renderer *renderer, const char *source, bool wrap,                   cmark_escaping escape) {-  int length = cmark_strbuf_safe_strlen(source);+  int length = strlen(source);   unsigned char nextc;   int32_t c;   int i = 0;@@ -28,7 +29,7 @@   cmark_chunk remainder = cmark_chunk_literal("");   int k = renderer->buffer->size - 1; -  wrap = wrap && !renderer->no_wrap;+  wrap = wrap && !renderer->no_linebreaks;    if (renderer->in_tight_list_item && renderer->need_cr > 1) {     renderer->need_cr = 1;@@ -108,8 +109,9 @@         !renderer->begin_line && renderer->last_breakable > 0) {        // copy from last_breakable to remainder-      cmark_chunk_set_cstr(&remainder, (char *)renderer->buffer->ptr +-                                           renderer->last_breakable + 1);+      cmark_chunk_set_cstr(renderer->mem, &remainder,+                           (char *)renderer->buffer->ptr ++                               renderer->last_breakable + 1);       // truncate at last_breakable       cmark_strbuf_truncate(renderer->buffer, renderer->last_breakable);       // add newline, prefix, and remainder@@ -118,7 +120,7 @@                        renderer->prefix->size);       cmark_strbuf_put(renderer->buffer, remainder.data, remainder.len);       renderer->column = renderer->prefix->size + remainder.len;-      cmark_chunk_free(&remainder);+      cmark_chunk_free(renderer->mem, &remainder);       renderer->last_breakable = 0;       renderer->begin_line = false;       renderer->begin_content = false;@@ -146,16 +148,17 @@                    int (*render_node)(cmark_renderer *renderer,                                       cmark_node *node,                                       cmark_event_type ev_type, int options)) {-  cmark_strbuf pref = GH_BUF_INIT;-  cmark_strbuf buf = GH_BUF_INIT;+  cmark_mem *mem = cmark_node_mem(root);+  cmark_strbuf pref = CMARK_BUF_INIT(mem);+  cmark_strbuf buf = CMARK_BUF_INIT(mem);   cmark_node *cur;   cmark_event_type ev_type;   char *result;   cmark_iter *iter = cmark_iter_new(root); -  cmark_renderer renderer = {&buf, &pref, 0,           width, 0,-                             0,    true,  true,        false, false,-                             outc, S_cr,  S_blankline, S_out};+  cmark_renderer renderer = {mem,   &buf, &pref, 0,           width,+                             0,     0,    true,  true,        false,+                             false, outc, S_cr,  S_blankline, S_out};    while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {     cur = cmark_iter_get_node(iter);
cbits/render.h view
@@ -8,10 +8,12 @@ #include <stdlib.h> #include "buffer.h" #include "chunk.h"+#include "memory.h"  typedef enum { LITERAL, NORMAL, TITLE, URL } cmark_escaping;  struct cmark_renderer {+  cmark_mem *mem;   cmark_strbuf *buffer;   cmark_strbuf *prefix;   int column;@@ -20,7 +22,7 @@   bufsize_t last_breakable;   bool begin_line;   bool begin_content;-  bool no_wrap;+  bool no_linebreaks;   bool in_tight_list_item;   void (*outc)(struct cmark_renderer *, cmark_escaping, int32_t, unsigned char);   void (*cr)(struct cmark_renderer *);
cbits/scanners.c view
@@ -1,19791 +1,19607 @@-/* Generated by re2c 0.14.3 */-#include <stdlib.h>-#include "chunk.h"-#include "scanners.h"--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];--    ptr[c->len] = '\0';-    res = scanner(ptr + offset);-    ptr[c->len] = lim;-  }--  return res;-}--// Try to match a scheme including colon.-bufsize_t _scan_scheme(const unsigned char *p) {-  const unsigned char *marker = NULL;-  const unsigned char *start = p;--  {-    unsigned char yych;--    yych = *(marker = p);-    if (yych <= 0x7F) {-      if (yych <= ' ') {-        if (yych == '\n')-          goto yy2;-        if (yych <= 0x1F)-          goto yy4;-        goto yy3;-      } else {-        if (yych <= 'Z') {-          if (yych <= '@')-            goto yy4;-          goto yy3;-        } else {-          if (yych <= '`')-            goto yy4;-          if (yych <= 'z')-            goto yy3;-          goto yy4;-        }-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF) {-          if (yych >= 0xC2)-            goto yy5;-        } else {-          if (yych <= 0xE0)-            goto yy7;-          if (yych <= 0xEC)-            goto yy8;-          goto yy12;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy8;-          goto yy9;-        } else {-          if (yych <= 0xF3)-            goto yy10;-          if (yych <= 0xF4)-            goto yy11;-        }-      }-    }-  yy2 : { return 0; }-  yy3:-    yych = *(marker = ++p);-    if (yych <= '.') {-      if (yych == '+')-        goto yy13;-      if (yych <= ',')-        goto yy2;-      goto yy13;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy2;-        goto yy13;-      } else {-        if (yych <= '`')-          goto yy2;-        if (yych <= 'z')-          goto yy13;-        goto yy2;-      }-    }-  yy4:-    yych = *++p;-    goto yy2;-  yy5:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy6;-    if (yych <= 0xBF)-      goto yy4;-  yy6:-    p = marker;-    goto yy2;-  yy7:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy6;-    if (yych <= 0xBF)-      goto yy5;-    goto yy6;-  yy8:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy6;-    if (yych <= 0xBF)-      goto yy5;-    goto yy6;-  yy9:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy6;-    if (yych <= 0xBF)-      goto yy8;-    goto yy6;-  yy10:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy6;-    if (yych <= 0xBF)-      goto yy8;-    goto yy6;-  yy11:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy6;-    if (yych <= 0x8F)-      goto yy8;-    goto yy6;-  yy12:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy6;-    if (yych <= 0x9F)-      goto yy5;-    goto yy6;-  yy13:-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy6;-        goto yy16;-      } else {-        if (yych <= ',')-          goto yy6;-        if (yych <= '.')-          goto yy16;-        goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        if (yych <= '@')-          goto yy6;-        goto yy16;-      } else {-        if (yych <= '`')-          goto yy6;-        if (yych <= 'z')-          goto yy16;-        goto yy6;-      }-    }-  yy14:-    ++p;-    { return (bufsize_t)(p - start); }-  yy16:-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy6;-      } else {-        if (yych <= ',')-          goto yy6;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        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;-        if (yych >= '/')-          goto yy6;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy14;-        if (yych <= '@')-          goto yy6;-      } else {-        if (yych <= '`')-          goto yy6;-        if (yych >= '{')-          goto yy6;-      }-    }-    ++p;-    if ((yych = *p) == ':')-      goto yy14;-    goto yy6;-  }-}--// Try to match URI autolink after first <, returning number of chars matched.-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 = *(marker = p);-    if (yych <= 0x7F) {-      if (yych <= ' ') {-        if (yych == '\n')-          goto yy48;-        if (yych <= 0x1F)-          goto yy50;-        goto yy49;-      } else {-        if (yych <= 'Z') {-          if (yych <= '@')-            goto yy50;-          goto yy49;-        } else {-          if (yych <= '`')-            goto yy50;-          if (yych <= 'z')-            goto yy49;-          goto yy50;-        }-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF) {-          if (yych >= 0xC2)-            goto yy51;-        } else {-          if (yych <= 0xE0)-            goto yy53;-          if (yych <= 0xEC)-            goto yy54;-          goto yy58;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy54;-          goto yy55;-        } else {-          if (yych <= 0xF3)-            goto yy56;-          if (yych <= 0xF4)-            goto yy57;-        }-      }-    }-  yy48 : { return 0; }-  yy49:-    yych = *(marker = ++p);-    if (yych <= '.') {-      if (yych == '+')-        goto yy59;-      if (yych <= ',')-        goto yy48;-      goto yy59;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy48;-        goto yy59;-      } else {-        if (yych <= '`')-          goto yy48;-        if (yych <= 'z')-          goto yy59;-        goto yy48;-      }-    }-  yy50:-    yych = *++p;-    goto yy48;-  yy51:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy52;-    if (yych <= 0xBF)-      goto yy50;-  yy52:-    p = marker;-    goto yy48;-  yy53:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy52;-    if (yych <= 0xBF)-      goto yy51;-    goto yy52;-  yy54:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy52;-    if (yych <= 0xBF)-      goto yy51;-    goto yy52;-  yy55:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy52;-    if (yych <= 0xBF)-      goto yy54;-    goto yy52;-  yy56:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy52;-    if (yych <= 0xBF)-      goto yy54;-    goto yy52;-  yy57:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy52;-    if (yych <= 0x8F)-      goto yy54;-    goto yy52;-  yy58:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy52;-    if (yych <= 0x9F)-      goto yy51;-    goto yy52;-  yy59:-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-        goto yy62;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych <= '.')-          goto yy62;-        goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-        goto yy62;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych <= 'z')-          goto yy62;-        goto yy52;-      }-    }-  yy60:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy60;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '<')-          goto yy52;-        if (yych <= '>')-          goto yy99;-        goto yy52;-      } else {-        if (yych <= 0xDF)-          goto yy92;-        if (yych <= 0xE0)-          goto yy93;-        goto yy94;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy98;-        if (yych <= 0xEF)-          goto yy94;-        goto yy95;-      } else {-        if (yych <= 0xF3)-          goto yy96;-        if (yych <= 0xF4)-          goto yy97;-        goto yy52;-      }-    }-  yy62:-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych <= '+') {-        if (yych <= '*')-          goto yy52;-      } else {-        if (yych <= ',')-          goto yy52;-        if (yych >= '/')-          goto yy52;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= ':')-          goto yy60;-        if (yych <= '@')-          goto yy52;-      } else {-        if (yych <= '`')-          goto yy52;-        if (yych >= '{')-          goto yy52;-      }-    }-    yych = *++p;-    if (yych == ':')-      goto yy60;-    goto yy52;-  yy92:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy52;-    if (yych <= 0xBF)-      goto yy60;-    goto yy52;-  yy93:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy52;-    if (yych <= 0xBF)-      goto yy92;-    goto yy52;-  yy94:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy52;-    if (yych <= 0xBF)-      goto yy92;-    goto yy52;-  yy95:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy52;-    if (yych <= 0xBF)-      goto yy94;-    goto yy52;-  yy96:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy52;-    if (yych <= 0xBF)-      goto yy94;-    goto yy52;-  yy97:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy52;-    if (yych <= 0x8F)-      goto yy94;-    goto yy52;-  yy98:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy52;-    if (yych <= 0x9F)-      goto yy92;-    goto yy52;-  yy99:-    ++p;-    { return (bufsize_t)(p - start); }-  }-}--// 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 = *(marker = p);-    if (yych <= '?') {-      if (yych <= ')') {-        if (yych <= ' ') {-          if (yych != '\n')-            goto yy105;-        } else {-          if (yych == '"')-            goto yy105;-          if (yych <= '\'')-            goto yy104;-          goto yy105;-        }-      } else {-        if (yych <= '9') {-          if (yych == ',')-            goto yy105;-          goto yy104;-        } else {-          if (yych == '=')-            goto yy104;-          if (yych <= '>')-            goto yy105;-          goto yy104;-        }-      }-    } else {-      if (yych <= 0xDF) {-        if (yych <= ']') {-          if (yych <= '@')-            goto yy105;-          if (yych <= 'Z')-            goto yy104;-          goto yy105;-        } else {-          if (yych <= '~')-            goto yy104;-          if (yych <= 0x7F)-            goto yy105;-          if (yych >= 0xC2)-            goto yy106;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych <= 0xE0)-            goto yy108;-          if (yych == 0xED)-            goto yy113;-          goto yy109;-        } else {-          if (yych <= 0xF0)-            goto yy110;-          if (yych <= 0xF3)-            goto yy111;-          if (yych <= 0xF4)-            goto yy112;-        }-      }-    }-  yy103 : { return 0; }-  yy104:-    yych = *(marker = ++p);-    if (yych <= ',') {-      if (yych <= '"') {-        if (yych == '!')-          goto yy116;-        goto yy103;-      } else {-        if (yych <= '\'')-          goto yy116;-        if (yych <= ')')-          goto yy103;-        if (yych <= '+')-          goto yy116;-        goto yy103;-      }-    } else {-      if (yych <= '>') {-        if (yych <= '9')-          goto yy116;-        if (yych == '=')-          goto yy116;-        goto yy103;-      } else {-        if (yych <= 'Z')-          goto yy116;-        if (yych <= ']')-          goto yy103;-        if (yych <= '~')-          goto yy116;-        goto yy103;-      }-    }-  yy105:-    yych = *++p;-    goto yy103;-  yy106:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy107;-    if (yych <= 0xBF)-      goto yy105;-  yy107:-    p = marker;-    goto yy103;-  yy108:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy107;-    if (yych <= 0xBF)-      goto yy106;-    goto yy107;-  yy109:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy107;-    if (yych <= 0xBF)-      goto yy106;-    goto yy107;-  yy110:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy107;-    if (yych <= 0xBF)-      goto yy109;-    goto yy107;-  yy111:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy107;-    if (yych <= 0xBF)-      goto yy109;-    goto yy107;-  yy112:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy107;-    if (yych <= 0x8F)-      goto yy109;-    goto yy107;-  yy113:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy107;-    if (yych <= 0x9F)-      goto yy106;-    goto yy107;-  yy114:-    yych = *++p;-    if (yych <= '@') {-      if (yych <= '/')-        goto yy107;-      if (yych <= '9')-        goto yy117;-      goto yy107;-    } else {-      if (yych <= 'Z')-        goto yy117;-      if (yych <= '`')-        goto yy107;-      if (yych <= 'z')-        goto yy117;-      goto yy107;-    }-  yy115:-    ++p;-    yych = *p;-  yy116:-    if (yybm[0 + yych] & 128) {-      goto yy115;-    }-    if (yych <= '>')-      goto yy107;-    if (yych <= '@')-      goto yy114;-    goto yy107;-  yy117:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy119;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy119;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy119;-        goto yy107;-      }-    }-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy247;-      if (yych <= '/')-        goto yy107;-      goto yy248;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy248;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy248;-        goto yy107;-      }-    }-  yy119:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych <= '-')-          goto yy247;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy248;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy248;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy248;-        goto yy107;-      }-    }-  yy120:-    ++p;-    yych = *p;-    if (yych <= '@') {-      if (yych <= '/')-        goto yy107;-      if (yych <= '9')-        goto yy123;-      goto yy107;-    } else {-      if (yych <= 'Z')-        goto yy123;-      if (yych <= '`')-        goto yy107;-      if (yych <= 'z')-        goto yy123;-      goto yy107;-    }-  yy121:-    ++p;-    { return (bufsize_t)(p - start); }-  yy123:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy125;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy125;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy125;-        goto yy107;-      }-    }-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy126;-      if (yych <= '/')-        goto yy107;-      goto yy127;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy127;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy127;-        goto yy107;-      }-    }-  yy125:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy127;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy127;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy127;-        goto yy107;-      }-    }-  yy126:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy128;-      if (yych <= '/')-        goto yy107;-      goto yy129;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy129;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy129;-        goto yy107;-      }-    }-  yy127:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy129;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy129;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy129;-        goto yy107;-      }-    }-  yy128:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy130;-      if (yych <= '/')-        goto yy107;-      goto yy131;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy131;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy131;-        goto yy107;-      }-    }-  yy129:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy131;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy131;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy131;-        goto yy107;-      }-    }-  yy130:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy132;-      if (yych <= '/')-        goto yy107;-      goto yy133;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy133;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy133;-        goto yy107;-      }-    }-  yy131:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy133;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy133;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy133;-        goto yy107;-      }-    }-  yy132:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy134;-      if (yych <= '/')-        goto yy107;-      goto yy135;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy135;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy135;-        goto yy107;-      }-    }-  yy133:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy135;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy135;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy135;-        goto yy107;-      }-    }-  yy134:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy136;-      if (yych <= '/')-        goto yy107;-      goto yy137;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy137;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy137;-        goto yy107;-      }-    }-  yy135:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy137;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy137;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy137;-        goto yy107;-      }-    }-  yy136:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy138;-      if (yych <= '/')-        goto yy107;-      goto yy139;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy139;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy139;-        goto yy107;-      }-    }-  yy137:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy139;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy139;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy139;-        goto yy107;-      }-    }-  yy138:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy140;-      if (yych <= '/')-        goto yy107;-      goto yy141;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy141;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy141;-        goto yy107;-      }-    }-  yy139:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy141;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy141;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy141;-        goto yy107;-      }-    }-  yy140:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy142;-      if (yych <= '/')-        goto yy107;-      goto yy143;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy143;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy143;-        goto yy107;-      }-    }-  yy141:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy143;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy143;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy143;-        goto yy107;-      }-    }-  yy142:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy144;-      if (yych <= '/')-        goto yy107;-      goto yy145;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy145;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy145;-        goto yy107;-      }-    }-  yy143:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy145;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy145;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy145;-        goto yy107;-      }-    }-  yy144:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy146;-      if (yych <= '/')-        goto yy107;-      goto yy147;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy147;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy147;-        goto yy107;-      }-    }-  yy145:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy147;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy147;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy147;-        goto yy107;-      }-    }-  yy146:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy148;-      if (yych <= '/')-        goto yy107;-      goto yy149;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy149;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy149;-        goto yy107;-      }-    }-  yy147:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy149;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy149;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy149;-        goto yy107;-      }-    }-  yy148:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy150;-      if (yych <= '/')-        goto yy107;-      goto yy151;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy151;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy151;-        goto yy107;-      }-    }-  yy149:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy151;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy151;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy151;-        goto yy107;-      }-    }-  yy150:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy152;-      if (yych <= '/')-        goto yy107;-      goto yy153;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy153;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy153;-        goto yy107;-      }-    }-  yy151:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy153;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy153;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy153;-        goto yy107;-      }-    }-  yy152:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy154;-      if (yych <= '/')-        goto yy107;-      goto yy155;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy155;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy155;-        goto yy107;-      }-    }-  yy153:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy155;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy155;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy155;-        goto yy107;-      }-    }-  yy154:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy156;-      if (yych <= '/')-        goto yy107;-      goto yy157;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy157;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy157;-        goto yy107;-      }-    }-  yy155:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy157;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy157;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy157;-        goto yy107;-      }-    }-  yy156:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy158;-      if (yych <= '/')-        goto yy107;-      goto yy159;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy159;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy159;-        goto yy107;-      }-    }-  yy157:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy159;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy159;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy159;-        goto yy107;-      }-    }-  yy158:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy160;-      if (yych <= '/')-        goto yy107;-      goto yy161;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy161;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy161;-        goto yy107;-      }-    }-  yy159:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy161;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy161;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy161;-        goto yy107;-      }-    }-  yy160:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy162;-      if (yych <= '/')-        goto yy107;-      goto yy163;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy163;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy163;-        goto yy107;-      }-    }-  yy161:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy163;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy163;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy163;-        goto yy107;-      }-    }-  yy162:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy164;-      if (yych <= '/')-        goto yy107;-      goto yy165;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy165;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy165;-        goto yy107;-      }-    }-  yy163:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy165;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy165;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy165;-        goto yy107;-      }-    }-  yy164:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy166;-      if (yych <= '/')-        goto yy107;-      goto yy167;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy167;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy167;-        goto yy107;-      }-    }-  yy165:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy167;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy167;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy167;-        goto yy107;-      }-    }-  yy166:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy168;-      if (yych <= '/')-        goto yy107;-      goto yy169;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy169;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy169;-        goto yy107;-      }-    }-  yy167:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy169;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy169;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy169;-        goto yy107;-      }-    }-  yy168:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy170;-      if (yych <= '/')-        goto yy107;-      goto yy171;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy171;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy171;-        goto yy107;-      }-    }-  yy169:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy171;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy171;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy171;-        goto yy107;-      }-    }-  yy170:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy172;-      if (yych <= '/')-        goto yy107;-      goto yy173;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy173;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy173;-        goto yy107;-      }-    }-  yy171:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy173;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy173;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy173;-        goto yy107;-      }-    }-  yy172:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy174;-      if (yych <= '/')-        goto yy107;-      goto yy175;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy175;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy175;-        goto yy107;-      }-    }-  yy173:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy175;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy175;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy175;-        goto yy107;-      }-    }-  yy174:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy176;-      if (yych <= '/')-        goto yy107;-      goto yy177;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy177;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy177;-        goto yy107;-      }-    }-  yy175:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy177;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy177;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy177;-        goto yy107;-      }-    }-  yy176:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy178;-      if (yych <= '/')-        goto yy107;-      goto yy179;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy179;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy179;-        goto yy107;-      }-    }-  yy177:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy179;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy179;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy179;-        goto yy107;-      }-    }-  yy178:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy180;-      if (yych <= '/')-        goto yy107;-      goto yy181;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy181;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy181;-        goto yy107;-      }-    }-  yy179:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy181;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy181;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy181;-        goto yy107;-      }-    }-  yy180:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy182;-      if (yych <= '/')-        goto yy107;-      goto yy183;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy183;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy183;-        goto yy107;-      }-    }-  yy181:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy183;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy183;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy183;-        goto yy107;-      }-    }-  yy182:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy184;-      if (yych <= '/')-        goto yy107;-      goto yy185;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy185;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy185;-        goto yy107;-      }-    }-  yy183:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy185;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy185;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy185;-        goto yy107;-      }-    }-  yy184:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy186;-      if (yych <= '/')-        goto yy107;-      goto yy187;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy187;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy187;-        goto yy107;-      }-    }-  yy185:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy187;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy187;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy187;-        goto yy107;-      }-    }-  yy186:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy188;-      if (yych <= '/')-        goto yy107;-      goto yy189;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy189;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy189;-        goto yy107;-      }-    }-  yy187:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy189;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy189;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy189;-        goto yy107;-      }-    }-  yy188:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy190;-      if (yych <= '/')-        goto yy107;-      goto yy191;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy191;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy191;-        goto yy107;-      }-    }-  yy189:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy191;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy191;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy191;-        goto yy107;-      }-    }-  yy190:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy192;-      if (yych <= '/')-        goto yy107;-      goto yy193;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy193;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy193;-        goto yy107;-      }-    }-  yy191:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy193;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy193;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy193;-        goto yy107;-      }-    }-  yy192:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy194;-      if (yych <= '/')-        goto yy107;-      goto yy195;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy195;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy195;-        goto yy107;-      }-    }-  yy193:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy195;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy195;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy195;-        goto yy107;-      }-    }-  yy194:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy196;-      if (yych <= '/')-        goto yy107;-      goto yy197;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy197;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy197;-        goto yy107;-      }-    }-  yy195:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy197;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy197;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy197;-        goto yy107;-      }-    }-  yy196:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy198;-      if (yych <= '/')-        goto yy107;-      goto yy199;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy199;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy199;-        goto yy107;-      }-    }-  yy197:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy199;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy199;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy199;-        goto yy107;-      }-    }-  yy198:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy200;-      if (yych <= '/')-        goto yy107;-      goto yy201;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy201;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy201;-        goto yy107;-      }-    }-  yy199:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy201;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy201;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy201;-        goto yy107;-      }-    }-  yy200:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy202;-      if (yych <= '/')-        goto yy107;-      goto yy203;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy203;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy203;-        goto yy107;-      }-    }-  yy201:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy203;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy203;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy203;-        goto yy107;-      }-    }-  yy202:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy204;-      if (yych <= '/')-        goto yy107;-      goto yy205;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy205;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy205;-        goto yy107;-      }-    }-  yy203:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy205;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy205;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy205;-        goto yy107;-      }-    }-  yy204:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy206;-      if (yych <= '/')-        goto yy107;-      goto yy207;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy207;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy207;-        goto yy107;-      }-    }-  yy205:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy207;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy207;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy207;-        goto yy107;-      }-    }-  yy206:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy208;-      if (yych <= '/')-        goto yy107;-      goto yy209;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy209;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy209;-        goto yy107;-      }-    }-  yy207:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy209;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy209;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy209;-        goto yy107;-      }-    }-  yy208:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy210;-      if (yych <= '/')-        goto yy107;-      goto yy211;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy211;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy211;-        goto yy107;-      }-    }-  yy209:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy211;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy211;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy211;-        goto yy107;-      }-    }-  yy210:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy212;-      if (yych <= '/')-        goto yy107;-      goto yy213;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy213;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy213;-        goto yy107;-      }-    }-  yy211:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy213;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy213;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy213;-        goto yy107;-      }-    }-  yy212:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy214;-      if (yych <= '/')-        goto yy107;-      goto yy215;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy215;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy215;-        goto yy107;-      }-    }-  yy213:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy215;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy215;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy215;-        goto yy107;-      }-    }-  yy214:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy216;-      if (yych <= '/')-        goto yy107;-      goto yy217;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy217;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy217;-        goto yy107;-      }-    }-  yy215:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy217;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy217;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy217;-        goto yy107;-      }-    }-  yy216:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy218;-      if (yych <= '/')-        goto yy107;-      goto yy219;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy219;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy219;-        goto yy107;-      }-    }-  yy217:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy219;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy219;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy219;-        goto yy107;-      }-    }-  yy218:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy220;-      if (yych <= '/')-        goto yy107;-      goto yy221;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy221;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy221;-        goto yy107;-      }-    }-  yy219:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy221;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy221;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy221;-        goto yy107;-      }-    }-  yy220:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy222;-      if (yych <= '/')-        goto yy107;-      goto yy223;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy223;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy223;-        goto yy107;-      }-    }-  yy221:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy223;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy223;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy223;-        goto yy107;-      }-    }-  yy222:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy224;-      if (yych <= '/')-        goto yy107;-      goto yy225;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy225;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy225;-        goto yy107;-      }-    }-  yy223:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy225;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy225;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy225;-        goto yy107;-      }-    }-  yy224:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy226;-      if (yych <= '/')-        goto yy107;-      goto yy227;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy227;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy227;-        goto yy107;-      }-    }-  yy225:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy227;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy227;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy227;-        goto yy107;-      }-    }-  yy226:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy228;-      if (yych <= '/')-        goto yy107;-      goto yy229;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy229;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy229;-        goto yy107;-      }-    }-  yy227:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy229;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy229;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy229;-        goto yy107;-      }-    }-  yy228:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy230;-      if (yych <= '/')-        goto yy107;-      goto yy231;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy231;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy231;-        goto yy107;-      }-    }-  yy229:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy231;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy231;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy231;-        goto yy107;-      }-    }-  yy230:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy232;-      if (yych <= '/')-        goto yy107;-      goto yy233;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy233;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy233;-        goto yy107;-      }-    }-  yy231:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy233;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy233;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy233;-        goto yy107;-      }-    }-  yy232:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy234;-      if (yych <= '/')-        goto yy107;-      goto yy235;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy235;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy235;-        goto yy107;-      }-    }-  yy233:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy235;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy235;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy235;-        goto yy107;-      }-    }-  yy234:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy236;-      if (yych <= '/')-        goto yy107;-      goto yy237;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy237;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy237;-        goto yy107;-      }-    }-  yy235:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy237;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy237;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy237;-        goto yy107;-      }-    }-  yy236:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy238;-      if (yych <= '/')-        goto yy107;-      goto yy239;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy239;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy239;-        goto yy107;-      }-    }-  yy237:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy239;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy239;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy239;-        goto yy107;-      }-    }-  yy238:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy240;-      if (yych <= '/')-        goto yy107;-      goto yy241;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy241;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy241;-        goto yy107;-      }-    }-  yy239:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy241;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy241;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy241;-        goto yy107;-      }-    }-  yy240:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy242;-      if (yych <= '/')-        goto yy107;-      goto yy243;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy243;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy243;-        goto yy107;-      }-    }-  yy241:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy243;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy243;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy243;-        goto yy107;-      }-    }-  yy242:-    ++p;-    yych = *p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy244;-      if (yych <= '/')-        goto yy107;-      goto yy245;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy245;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy245;-        goto yy107;-      }-    }-  yy243:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy245;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy245;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy245;-        goto yy107;-      }-    }-  yy244:-    ++p;-    yych = *p;-    if (yych <= '@') {-      if (yych <= '/')-        goto yy107;-      if (yych <= '9')-        goto yy246;-      goto yy107;-    } else {-      if (yych <= 'Z')-        goto yy246;-      if (yych <= '`')-        goto yy107;-      if (yych <= 'z')-        goto yy246;-      goto yy107;-    }-  yy245:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= '-')-          goto yy107;-        goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych >= ':')-          goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych >= '{')-          goto yy107;-      }-    }-  yy246:-    ++p;-    yych = *p;-    if (yych == '.')-      goto yy120;-    if (yych == '>')-      goto yy121;-    goto yy107;-  yy247:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy249;-      if (yych <= '/')-        goto yy107;-      goto yy250;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy250;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy250;-        goto yy107;-      }-    }-  yy248:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy250;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy250;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy250;-        goto yy107;-      }-    }-  yy249:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy251;-      if (yych <= '/')-        goto yy107;-      goto yy252;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy252;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy252;-        goto yy107;-      }-    }-  yy250:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy252;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy252;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy252;-        goto yy107;-      }-    }-  yy251:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy253;-      if (yych <= '/')-        goto yy107;-      goto yy254;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy254;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy254;-        goto yy107;-      }-    }-  yy252:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy254;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy254;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy254;-        goto yy107;-      }-    }-  yy253:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy255;-      if (yych <= '/')-        goto yy107;-      goto yy256;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy256;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy256;-        goto yy107;-      }-    }-  yy254:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy256;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy256;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy256;-        goto yy107;-      }-    }-  yy255:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy257;-      if (yych <= '/')-        goto yy107;-      goto yy258;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy258;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy258;-        goto yy107;-      }-    }-  yy256:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy258;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy258;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy258;-        goto yy107;-      }-    }-  yy257:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy259;-      if (yych <= '/')-        goto yy107;-      goto yy260;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy260;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy260;-        goto yy107;-      }-    }-  yy258:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy260;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy260;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy260;-        goto yy107;-      }-    }-  yy259:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy261;-      if (yych <= '/')-        goto yy107;-      goto yy262;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy262;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy262;-        goto yy107;-      }-    }-  yy260:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy262;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy262;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy262;-        goto yy107;-      }-    }-  yy261:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy263;-      if (yych <= '/')-        goto yy107;-      goto yy264;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy264;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy264;-        goto yy107;-      }-    }-  yy262:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy264;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy264;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy264;-        goto yy107;-      }-    }-  yy263:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy265;-      if (yych <= '/')-        goto yy107;-      goto yy266;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy266;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy266;-        goto yy107;-      }-    }-  yy264:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy266;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy266;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy266;-        goto yy107;-      }-    }-  yy265:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy267;-      if (yych <= '/')-        goto yy107;-      goto yy268;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy268;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy268;-        goto yy107;-      }-    }-  yy266:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy268;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy268;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy268;-        goto yy107;-      }-    }-  yy267:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy269;-      if (yych <= '/')-        goto yy107;-      goto yy270;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy270;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy270;-        goto yy107;-      }-    }-  yy268:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy270;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy270;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy270;-        goto yy107;-      }-    }-  yy269:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy271;-      if (yych <= '/')-        goto yy107;-      goto yy272;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy272;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy272;-        goto yy107;-      }-    }-  yy270:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy272;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy272;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy272;-        goto yy107;-      }-    }-  yy271:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy273;-      if (yych <= '/')-        goto yy107;-      goto yy274;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy274;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy274;-        goto yy107;-      }-    }-  yy272:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy274;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy274;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy274;-        goto yy107;-      }-    }-  yy273:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy275;-      if (yych <= '/')-        goto yy107;-      goto yy276;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy276;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy276;-        goto yy107;-      }-    }-  yy274:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy276;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy276;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy276;-        goto yy107;-      }-    }-  yy275:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy277;-      if (yych <= '/')-        goto yy107;-      goto yy278;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy278;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy278;-        goto yy107;-      }-    }-  yy276:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy278;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy278;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy278;-        goto yy107;-      }-    }-  yy277:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy279;-      if (yych <= '/')-        goto yy107;-      goto yy280;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy280;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy280;-        goto yy107;-      }-    }-  yy278:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy280;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy280;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy280;-        goto yy107;-      }-    }-  yy279:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy281;-      if (yych <= '/')-        goto yy107;-      goto yy282;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy282;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy282;-        goto yy107;-      }-    }-  yy280:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy282;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy282;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy282;-        goto yy107;-      }-    }-  yy281:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy283;-      if (yych <= '/')-        goto yy107;-      goto yy284;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy284;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy284;-        goto yy107;-      }-    }-  yy282:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy284;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy284;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy284;-        goto yy107;-      }-    }-  yy283:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy285;-      if (yych <= '/')-        goto yy107;-      goto yy286;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy286;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy286;-        goto yy107;-      }-    }-  yy284:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy286;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy286;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy286;-        goto yy107;-      }-    }-  yy285:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy287;-      if (yych <= '/')-        goto yy107;-      goto yy288;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy288;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy288;-        goto yy107;-      }-    }-  yy286:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy288;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy288;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy288;-        goto yy107;-      }-    }-  yy287:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy289;-      if (yych <= '/')-        goto yy107;-      goto yy290;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy290;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy290;-        goto yy107;-      }-    }-  yy288:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy290;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy290;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy290;-        goto yy107;-      }-    }-  yy289:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy291;-      if (yych <= '/')-        goto yy107;-      goto yy292;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy292;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy292;-        goto yy107;-      }-    }-  yy290:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy292;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy292;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy292;-        goto yy107;-      }-    }-  yy291:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy293;-      if (yych <= '/')-        goto yy107;-      goto yy294;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy294;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy294;-        goto yy107;-      }-    }-  yy292:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy294;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy294;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy294;-        goto yy107;-      }-    }-  yy293:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy295;-      if (yych <= '/')-        goto yy107;-      goto yy296;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy296;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy296;-        goto yy107;-      }-    }-  yy294:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy296;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy296;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy296;-        goto yy107;-      }-    }-  yy295:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy297;-      if (yych <= '/')-        goto yy107;-      goto yy298;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy298;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy298;-        goto yy107;-      }-    }-  yy296:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy298;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy298;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy298;-        goto yy107;-      }-    }-  yy297:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy299;-      if (yych <= '/')-        goto yy107;-      goto yy300;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy300;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy300;-        goto yy107;-      }-    }-  yy298:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy300;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy300;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy300;-        goto yy107;-      }-    }-  yy299:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy301;-      if (yych <= '/')-        goto yy107;-      goto yy302;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy302;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy302;-        goto yy107;-      }-    }-  yy300:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy302;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy302;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy302;-        goto yy107;-      }-    }-  yy301:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy303;-      if (yych <= '/')-        goto yy107;-      goto yy304;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy304;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy304;-        goto yy107;-      }-    }-  yy302:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy304;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy304;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy304;-        goto yy107;-      }-    }-  yy303:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy305;-      if (yych <= '/')-        goto yy107;-      goto yy306;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy306;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy306;-        goto yy107;-      }-    }-  yy304:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy306;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy306;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy306;-        goto yy107;-      }-    }-  yy305:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy307;-      if (yych <= '/')-        goto yy107;-      goto yy308;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy308;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy308;-        goto yy107;-      }-    }-  yy306:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy308;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy308;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy308;-        goto yy107;-      }-    }-  yy307:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy309;-      if (yych <= '/')-        goto yy107;-      goto yy310;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy310;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy310;-        goto yy107;-      }-    }-  yy308:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy310;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy310;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy310;-        goto yy107;-      }-    }-  yy309:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy311;-      if (yych <= '/')-        goto yy107;-      goto yy312;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy312;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy312;-        goto yy107;-      }-    }-  yy310:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy312;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy312;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy312;-        goto yy107;-      }-    }-  yy311:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy313;-      if (yych <= '/')-        goto yy107;-      goto yy314;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy314;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy314;-        goto yy107;-      }-    }-  yy312:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy314;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy314;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy314;-        goto yy107;-      }-    }-  yy313:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy315;-      if (yych <= '/')-        goto yy107;-      goto yy316;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy316;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy316;-        goto yy107;-      }-    }-  yy314:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy316;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy316;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy316;-        goto yy107;-      }-    }-  yy315:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy317;-      if (yych <= '/')-        goto yy107;-      goto yy318;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy318;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy318;-        goto yy107;-      }-    }-  yy316:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy318;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy318;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy318;-        goto yy107;-      }-    }-  yy317:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy319;-      if (yych <= '/')-        goto yy107;-      goto yy320;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy320;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy320;-        goto yy107;-      }-    }-  yy318:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy320;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy320;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy320;-        goto yy107;-      }-    }-  yy319:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy321;-      if (yych <= '/')-        goto yy107;-      goto yy322;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy322;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy322;-        goto yy107;-      }-    }-  yy320:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy322;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy322;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy322;-        goto yy107;-      }-    }-  yy321:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy323;-      if (yych <= '/')-        goto yy107;-      goto yy324;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy324;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy324;-        goto yy107;-      }-    }-  yy322:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy324;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy324;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy324;-        goto yy107;-      }-    }-  yy323:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy325;-      if (yych <= '/')-        goto yy107;-      goto yy326;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy326;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy326;-        goto yy107;-      }-    }-  yy324:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy326;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy326;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy326;-        goto yy107;-      }-    }-  yy325:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy327;-      if (yych <= '/')-        goto yy107;-      goto yy328;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy328;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy328;-        goto yy107;-      }-    }-  yy326:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy328;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy328;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy328;-        goto yy107;-      }-    }-  yy327:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy329;-      if (yych <= '/')-        goto yy107;-      goto yy330;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy330;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy330;-        goto yy107;-      }-    }-  yy328:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy330;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy330;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy330;-        goto yy107;-      }-    }-  yy329:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy331;-      if (yych <= '/')-        goto yy107;-      goto yy332;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy332;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy332;-        goto yy107;-      }-    }-  yy330:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy332;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy332;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy332;-        goto yy107;-      }-    }-  yy331:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy333;-      if (yych <= '/')-        goto yy107;-      goto yy334;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy334;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy334;-        goto yy107;-      }-    }-  yy332:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy334;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy334;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy334;-        goto yy107;-      }-    }-  yy333:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy335;-      if (yych <= '/')-        goto yy107;-      goto yy336;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy336;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy336;-        goto yy107;-      }-    }-  yy334:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy336;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy336;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy336;-        goto yy107;-      }-    }-  yy335:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy337;-      if (yych <= '/')-        goto yy107;-      goto yy338;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy338;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy338;-        goto yy107;-      }-    }-  yy336:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy338;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy338;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy338;-        goto yy107;-      }-    }-  yy337:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy339;-      if (yych <= '/')-        goto yy107;-      goto yy340;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy340;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy340;-        goto yy107;-      }-    }-  yy338:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy340;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy340;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy340;-        goto yy107;-      }-    }-  yy339:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy341;-      if (yych <= '/')-        goto yy107;-      goto yy342;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy342;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy342;-        goto yy107;-      }-    }-  yy340:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy342;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy342;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy342;-        goto yy107;-      }-    }-  yy341:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy343;-      if (yych <= '/')-        goto yy107;-      goto yy344;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy344;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy344;-        goto yy107;-      }-    }-  yy342:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy344;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy344;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy344;-        goto yy107;-      }-    }-  yy343:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy345;-      if (yych <= '/')-        goto yy107;-      goto yy346;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy346;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy346;-        goto yy107;-      }-    }-  yy344:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy346;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy346;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy346;-        goto yy107;-      }-    }-  yy345:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy347;-      if (yych <= '/')-        goto yy107;-      goto yy348;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy348;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy348;-        goto yy107;-      }-    }-  yy346:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy348;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy348;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy348;-        goto yy107;-      }-    }-  yy347:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy349;-      if (yych <= '/')-        goto yy107;-      goto yy350;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy350;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy350;-        goto yy107;-      }-    }-  yy348:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy350;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy350;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy350;-        goto yy107;-      }-    }-  yy349:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy351;-      if (yych <= '/')-        goto yy107;-      goto yy352;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy352;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy352;-        goto yy107;-      }-    }-  yy350:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy352;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy352;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy352;-        goto yy107;-      }-    }-  yy351:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy353;-      if (yych <= '/')-        goto yy107;-      goto yy354;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy354;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy354;-        goto yy107;-      }-    }-  yy352:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy354;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy354;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy354;-        goto yy107;-      }-    }-  yy353:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy355;-      if (yych <= '/')-        goto yy107;-      goto yy356;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy356;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy356;-        goto yy107;-      }-    }-  yy354:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy356;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy356;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy356;-        goto yy107;-      }-    }-  yy355:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy357;-      if (yych <= '/')-        goto yy107;-      goto yy358;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy358;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy358;-        goto yy107;-      }-    }-  yy356:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy358;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy358;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy358;-        goto yy107;-      }-    }-  yy357:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy359;-      if (yych <= '/')-        goto yy107;-      goto yy360;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy360;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy360;-        goto yy107;-      }-    }-  yy358:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy360;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy360;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy360;-        goto yy107;-      }-    }-  yy359:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy361;-      if (yych <= '/')-        goto yy107;-      goto yy362;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy362;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy362;-        goto yy107;-      }-    }-  yy360:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy362;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy362;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy362;-        goto yy107;-      }-    }-  yy361:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy363;-      if (yych <= '/')-        goto yy107;-      goto yy364;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy364;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy364;-        goto yy107;-      }-    }-  yy362:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy364;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy364;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy364;-        goto yy107;-      }-    }-  yy363:-    yych = *++p;-    if (yych <= '9') {-      if (yych == '-')-        goto yy365;-      if (yych <= '/')-        goto yy107;-      goto yy366;-    } else {-      if (yych <= 'Z') {-        if (yych <= '@')-          goto yy107;-        goto yy366;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy366;-        goto yy107;-      }-    }-  yy364:-    yych = *++p;-    if (yych <= '=') {-      if (yych <= '.') {-        if (yych <= ',')-          goto yy107;-        if (yych >= '.')-          goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy366;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy366;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy366;-        goto yy107;-      }-    }-  yy365:-    yych = *++p;-    if (yych <= '@') {-      if (yych <= '/')-        goto yy107;-      if (yych <= '9')-        goto yy246;-      goto yy107;-    } else {-      if (yych <= 'Z')-        goto yy246;-      if (yych <= '`')-        goto yy107;-      if (yych <= 'z')-        goto yy246;-      goto yy107;-    }-  yy366:-    ++p;-    if ((yych = *p) <= '=') {-      if (yych <= '.') {-        if (yych <= '-')-          goto yy107;-        goto yy120;-      } else {-        if (yych <= '/')-          goto yy107;-        if (yych <= '9')-          goto yy246;-        goto yy107;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy121;-        if (yych <= '@')-          goto yy107;-        goto yy246;-      } else {-        if (yych <= '`')-          goto yy107;-        if (yych <= 'z')-          goto yy246;-        goto yy107;-      }-    }-  }-}--// 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[] = {-        /* table 1 .. 8: 0 */-        0, 230, 230, 230, 230, 230, 230, 230, 230, 199, 199, 199, 199, 199, 230,-        230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,-        230, 230, 230, 199, 230, 70, 230, 230, 230, 230, 134, 230, 230, 230,-        230, 230, 254, 246, 230, 254, 254, 254, 254, 254, 254, 254, 254, 254,-        254, 246, 230, 198, 198, 196, 230, 230, 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, 230, 230, 226, 230, 246, 198, 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, 230, 230, 230, 230,-        230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 32, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 128, 160, 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, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 = *(marker = p);-    if (yych <= '`') {-      if (yych <= '.') {-        if (yych <= '\n') {-          if (yych <= '\t')-            goto yy374;-        } else {-          if (yych == '!')-            goto yy372;-          goto yy374;-        }-      } else {-        if (yych <= '?') {-          if (yych <= '/')-            goto yy371;-          if (yych <= '>')-            goto yy374;-          goto yy373;-        } else {-          if (yych <= '@')-            goto yy374;-          if (yych <= 'Z')-            goto yy370;-          goto yy374;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= 'z')-            goto yy370;-          if (yych <= 0x7F)-            goto yy374;-        } else {-          if (yych <= 0xDF)-            goto yy375;-          if (yych <= 0xE0)-            goto yy377;-          goto yy378;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy382;-          if (yych <= 0xEF)-            goto yy378;-          goto yy379;-        } else {-          if (yych <= 0xF3)-            goto yy380;-          if (yych <= 0xF4)-            goto yy381;-        }-      }-    }-  yy369 : { return 0; }-  yy370:-    yych = *(marker = ++p);-    if (yych <= '/') {-      if (yych <= ' ') {-        if (yych <= 0x08)-          goto yy369;-        if (yych <= '\r')-          goto yy474;-        if (yych <= 0x1F)-          goto yy369;-        goto yy474;-      } else {-        if (yych == '-')-          goto yy472;-        if (yych <= '.')-          goto yy369;-        goto yy476;-      }-    } else {-      if (yych <= '@') {-        if (yych <= '9')-          goto yy472;-        if (yych == '>')-          goto yy393;-        goto yy369;-      } else {-        if (yych <= 'Z')-          goto yy472;-        if (yych <= '`')-          goto yy369;-        if (yych <= 'z')-          goto yy472;-        goto yy369;-      }-    }-  yy371:-    yych = *(marker = ++p);-    if (yych <= '@')-      goto yy369;-    if (yych <= 'Z')-      goto yy468;-    if (yych <= '`')-      goto yy369;-    if (yych <= 'z')-      goto yy468;-    goto yy369;-  yy372:-    yych = *(marker = ++p);-    if (yybm[256 + yych] & 64) {-      goto yy403;-    }-    if (yych == '-')-      goto yy405;-    if (yych <= '@')-      goto yy369;-    if (yych <= '[')-      goto yy402;-    goto yy369;-  yy373:-    yych = *(marker = ++p);-    if (yych <= 0x00)-      goto yy369;-    if (yych <= 0x7F)-      goto yy384;-    if (yych <= 0xC1)-      goto yy369;-    if (yych <= 0xF4)-      goto yy384;-    goto yy369;-  yy374:-    yych = *++p;-    goto yy369;-  yy375:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy374;-  yy376:-    p = marker;-    goto yy369;-  yy377:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy375;-    goto yy376;-  yy378:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy375;-    goto yy376;-  yy379:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy378;-    goto yy376;-  yy380:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy378;-    goto yy376;-  yy381:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy378;-    goto yy376;-  yy382:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy375;-    goto yy376;-  yy383:-    ++p;-    yych = *p;-  yy384:-    if (yybm[256 + yych] & 32) {-      goto yy383;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= '?')-          goto yy392;-        goto yy376;-      } else {-        if (yych <= 0xDF)-          goto yy385;-        if (yych <= 0xE0)-          goto yy386;-        goto yy387;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy391;-        if (yych <= 0xEF)-          goto yy387;-        goto yy388;-      } else {-        if (yych <= 0xF3)-          goto yy389;-        if (yych <= 0xF4)-          goto yy390;-        goto yy376;-      }-    }-  yy385:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy383;-    goto yy376;-  yy386:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy385;-    goto yy376;-  yy387:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy385;-    goto yy376;-  yy388:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy387;-    goto yy376;-  yy389:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy387;-    goto yy376;-  yy390:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy387;-    goto yy376;-  yy391:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy385;-    goto yy376;-  yy392:-    ++p;-    yych = *p;-    if (yych <= 0xE0) {-      if (yych <= '>') {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= '=')-          goto yy383;-      } else {-        if (yych <= 0x7F)-          goto yy383;-        if (yych <= 0xC1)-          goto yy376;-        if (yych <= 0xDF)-          goto yy395;-        goto yy396;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy401;-        goto yy397;-      } else {-        if (yych <= 0xF0)-          goto yy398;-        if (yych <= 0xF3)-          goto yy399;-        if (yych <= 0xF4)-          goto yy400;-        goto yy376;-      }-    }-  yy393:-    ++p;-    { return (bufsize_t)(p - start); }-  yy395:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy383;-    goto yy376;-  yy396:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy395;-    goto yy376;-  yy397:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy395;-    goto yy376;-  yy398:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy397;-    goto yy376;-  yy399:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy397;-    goto yy376;-  yy400:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy397;-    goto yy376;-  yy401:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy395;-    goto yy376;-  yy402:-    yych = *++p;-    if (yych == 'C')-      goto yy438;-    if (yych == 'c')-      goto yy438;-    goto yy376;-  yy403:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 1) {-      goto yy427;-    }-    if (yych <= '@')-      goto yy376;-    if (yych <= 'Z')-      goto yy403;-    goto yy376;-  yy405:-    yych = *++p;-    if (yych != '-')-      goto yy376;-    yych = *++p;-    if (yych <= 0xE0) {-      if (yych <= '=') {-        if (yych != '-')-          goto yy409;-      } else {-        if (yych <= '>')-          goto yy376;-        if (yych <= 0xC1)-          goto yy409;-        if (yych <= 0xDF)-          goto yy410;-        goto yy411;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy416;-        goto yy412;-      } else {-        if (yych <= 0xF0)-          goto yy413;-        if (yych <= 0xF3)-          goto yy414;-        if (yych <= 0xF4)-          goto yy415;-        goto yy409;-      }-    }-    yych = *++p;-    if (yych <= 0xE0) {-      if (yych <= '=') {-        if (yych == '-')-          goto yy426;-        goto yy409;-      } else {-        if (yych <= '>')-          goto yy376;-        if (yych <= 0xC1)-          goto yy409;-        if (yych <= 0xDF)-          goto yy410;-        goto yy411;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy416;-        goto yy412;-      } else {-        if (yych <= 0xF0)-          goto yy413;-        if (yych <= 0xF3)-          goto yy414;-        if (yych <= 0xF4)-          goto yy415;-        goto yy409;-      }-    }-  yy408:-    ++p;-    yych = *p;-  yy409:-    if (yybm[256 + yych] & 128) {-      goto yy408;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= '-')-          goto yy417;-        goto yy376;-      } else {-        if (yych <= 0xDF)-          goto yy418;-        if (yych <= 0xE0)-          goto yy419;-        goto yy420;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy424;-        if (yych <= 0xEF)-          goto yy420;-        goto yy421;-      } else {-        if (yych <= 0xF3)-          goto yy422;-        if (yych <= 0xF4)-          goto yy423;-        goto yy376;-      }-    }-  yy410:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy408;-    goto yy376;-  yy411:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy410;-    goto yy376;-  yy412:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy410;-    goto yy376;-  yy413:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy412;-    goto yy376;-  yy414:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy412;-    goto yy376;-  yy415:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy412;-    goto yy376;-  yy416:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy410;-    goto yy376;-  yy417:-    ++p;-    yych = *p;-    if (yybm[256 + yych] & 128) {-      goto yy408;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= '-')-          goto yy425;-        goto yy376;-      } else {-        if (yych <= 0xDF)-          goto yy418;-        if (yych <= 0xE0)-          goto yy419;-        goto yy420;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy424;-        if (yych <= 0xEF)-          goto yy420;-        goto yy421;-      } else {-        if (yych <= 0xF3)-          goto yy422;-        if (yych <= 0xF4)-          goto yy423;-        goto yy376;-      }-    }-  yy418:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy408;-    goto yy376;-  yy419:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy418;-    goto yy376;-  yy420:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy418;-    goto yy376;-  yy421:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy420;-    goto yy376;-  yy422:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy420;-    goto yy376;-  yy423:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy420;-    goto yy376;-  yy424:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy418;-    goto yy376;-  yy425:-    yych = *++p;-    if (yych == '>')-      goto yy393;-    goto yy376;-  yy426:-    yych = *++p;-    if (yych == '>')-      goto yy393;-    goto yy376;-  yy427:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 1) {-      goto yy427;-    }-    if (yych <= 0xE0) {-      if (yych <= '>') {-        if (yych <= 0x00)-          goto yy376;-        if (yych >= '>')-          goto yy393;-      } else {-        if (yych <= 0x7F)-          goto yy429;-        if (yych <= 0xC1)-          goto yy376;-        if (yych <= 0xDF)-          goto yy431;-        goto yy432;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy437;-        goto yy433;-      } else {-        if (yych <= 0xF0)-          goto yy434;-        if (yych <= 0xF3)-          goto yy435;-        if (yych <= 0xF4)-          goto yy436;-        goto yy376;-      }-    }-  yy429:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 2) {-      goto yy429;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= '>')-          goto yy393;-        goto yy376;-      } else {-        if (yych <= 0xDF)-          goto yy431;-        if (yych <= 0xE0)-          goto yy432;-        goto yy433;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy437;-        if (yych <= 0xEF)-          goto yy433;-        goto yy434;-      } else {-        if (yych <= 0xF3)-          goto yy435;-        if (yych <= 0xF4)-          goto yy436;-        goto yy376;-      }-    }-  yy431:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy429;-    goto yy376;-  yy432:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy431;-    goto yy376;-  yy433:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy431;-    goto yy376;-  yy434:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy433;-    goto yy376;-  yy435:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy433;-    goto yy376;-  yy436:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy433;-    goto yy376;-  yy437:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy431;-    goto yy376;-  yy438:-    yych = *++p;-    if (yych == 'D')-      goto yy439;-    if (yych != 'd')-      goto yy376;-  yy439:-    yych = *++p;-    if (yych == 'A')-      goto yy440;-    if (yych != 'a')-      goto yy376;-  yy440:-    yych = *++p;-    if (yych == 'T')-      goto yy441;-    if (yych != 't')-      goto yy376;-  yy441:-    yych = *++p;-    if (yych == 'A')-      goto yy442;-    if (yych != 'a')-      goto yy376;-  yy442:-    yych = *++p;-    if (yych != '[')-      goto yy376;-  yy443:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 4) {-      goto yy443;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= ']')-          goto yy452;-        goto yy376;-      } else {-        if (yych <= 0xDF)-          goto yy445;-        if (yych <= 0xE0)-          goto yy446;-        goto yy447;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy451;-        if (yych <= 0xEF)-          goto yy447;-        goto yy448;-      } else {-        if (yych <= 0xF3)-          goto yy449;-        if (yych <= 0xF4)-          goto yy450;-        goto yy376;-      }-    }-  yy445:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy443;-    goto yy376;-  yy446:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy445;-    goto yy376;-  yy447:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy445;-    goto yy376;-  yy448:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy447;-    goto yy376;-  yy449:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy447;-    goto yy376;-  yy450:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy447;-    goto yy376;-  yy451:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy445;-    goto yy376;-  yy452:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 4) {-      goto yy443;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy376;-        if (yych >= '^')-          goto yy376;-      } else {-        if (yych <= 0xDF)-          goto yy454;-        if (yych <= 0xE0)-          goto yy455;-        goto yy456;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy460;-        if (yych <= 0xEF)-          goto yy456;-        goto yy457;-      } else {-        if (yych <= 0xF3)-          goto yy458;-        if (yych <= 0xF4)-          goto yy459;-        goto yy376;-      }-    }-    ++p;-    yych = *p;-    if (yych <= 0xE0) {-      if (yych <= '>') {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= '=')-          goto yy443;-        goto yy393;-      } else {-        if (yych <= 0x7F)-          goto yy443;-        if (yych <= 0xC1)-          goto yy376;-        if (yych <= 0xDF)-          goto yy461;-        goto yy462;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy467;-        goto yy463;-      } else {-        if (yych <= 0xF0)-          goto yy464;-        if (yych <= 0xF3)-          goto yy465;-        if (yych <= 0xF4)-          goto yy466;-        goto yy376;-      }-    }-  yy454:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy443;-    goto yy376;-  yy455:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy454;-    goto yy376;-  yy456:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy454;-    goto yy376;-  yy457:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy456;-    goto yy376;-  yy458:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy456;-    goto yy376;-  yy459:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy456;-    goto yy376;-  yy460:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy454;-    goto yy376;-  yy461:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy443;-    goto yy376;-  yy462:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy461;-    goto yy376;-  yy463:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy461;-    goto yy376;-  yy464:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy463;-    goto yy376;-  yy465:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy463;-    goto yy376;-  yy466:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy463;-    goto yy376;-  yy467:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy461;-    goto yy376;-  yy468:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 8) {-      goto yy468;-    }-    if (yych <= 0x1F) {-      if (yych <= 0x08)-        goto yy376;-      if (yych >= 0x0E)-        goto yy376;-    } else {-      if (yych <= ' ')-        goto yy470;-      if (yych == '>')-        goto yy393;-      goto yy376;-    }-  yy470:-    ++p;-    yych = *p;-    if (yych <= 0x1F) {-      if (yych <= 0x08)-        goto yy376;-      if (yych <= '\r')-        goto yy470;-      goto yy376;-    } else {-      if (yych <= ' ')-        goto yy470;-      if (yych == '>')-        goto yy393;-      goto yy376;-    }-  yy472:-    ++p;-    yych = *p;-    if (yych <= '/') {-      if (yych <= ' ') {-        if (yych <= 0x08)-          goto yy376;-        if (yych <= '\r')-          goto yy474;-        if (yych <= 0x1F)-          goto yy376;-      } else {-        if (yych == '-')-          goto yy472;-        if (yych <= '.')-          goto yy376;-        goto yy476;-      }-    } else {-      if (yych <= '@') {-        if (yych <= '9')-          goto yy472;-        if (yych == '>')-          goto yy393;-        goto yy376;-      } else {-        if (yych <= 'Z')-          goto yy472;-        if (yych <= '`')-          goto yy376;-        if (yych <= 'z')-          goto yy472;-        goto yy376;-      }-    }-  yy474:-    ++p;-    yych = *p;-    if (yych <= ':') {-      if (yych <= ' ') {-        if (yych <= 0x08)-          goto yy376;-        if (yych <= '\r')-          goto yy474;-        if (yych <= 0x1F)-          goto yy376;-        goto yy474;-      } else {-        if (yych == '/')-          goto yy476;-        if (yych <= '9')-          goto yy376;-        goto yy477;-      }-    } else {-      if (yych <= 'Z') {-        if (yych == '>')-          goto yy393;-        if (yych <= '@')-          goto yy376;-        goto yy477;-      } else {-        if (yych <= '_') {-          if (yych <= '^')-            goto yy376;-          goto yy477;-        } else {-          if (yych <= '`')-            goto yy376;-          if (yych <= 'z')-            goto yy477;-          goto yy376;-        }-      }-    }-  yy476:-    yych = *++p;-    if (yych == '>')-      goto yy393;-    goto yy376;-  yy477:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 16) {-      goto yy477;-    }-    if (yych <= ',') {-      if (yych <= '\r') {-        if (yych <= 0x08)-          goto yy376;-      } else {-        if (yych != ' ')-          goto yy376;-      }-    } else {-      if (yych <= '<') {-        if (yych <= '/')-          goto yy476;-        goto yy376;-      } else {-        if (yych <= '=')-          goto yy481;-        if (yych <= '>')-          goto yy393;-        goto yy376;-      }-    }-  yy479:-    ++p;-    yych = *p;-    if (yych <= '<') {-      if (yych <= ' ') {-        if (yych <= 0x08)-          goto yy376;-        if (yych <= '\r')-          goto yy479;-        if (yych <= 0x1F)-          goto yy376;-        goto yy479;-      } else {-        if (yych <= '/') {-          if (yych <= '.')-            goto yy376;-          goto yy476;-        } else {-          if (yych == ':')-            goto yy477;-          goto yy376;-        }-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '=')-          goto yy481;-        if (yych <= '>')-          goto yy393;-        if (yych <= '@')-          goto yy376;-        goto yy477;-      } else {-        if (yych <= '_') {-          if (yych <= '^')-            goto yy376;-          goto yy477;-        } else {-          if (yych <= '`')-            goto yy376;-          if (yych <= 'z')-            goto yy477;-          goto yy376;-        }-      }-    }-  yy481:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy483;-    }-    if (yych <= 0xE0) {-      if (yych <= '"') {-        if (yych <= 0x00)-          goto yy376;-        if (yych >= '!')-          goto yy494;-      } else {-        if (yych <= '\'')-          goto yy492;-        if (yych <= 0xC1)-          goto yy376;-        if (yych <= 0xDF)-          goto yy485;-        goto yy486;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy491;-        goto yy487;-      } else {-        if (yych <= 0xF0)-          goto yy488;-        if (yych <= 0xF3)-          goto yy489;-        if (yych <= 0xF4)-          goto yy490;-        goto yy376;-      }-    }-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy483;-    }-    if (yych <= 0xDF) {-      if (yych <= '\'') {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= ' ')-          goto yy517;-        if (yych <= '"')-          goto yy494;-        goto yy492;-      } else {-        if (yych == '>')-          goto yy393;-        if (yych <= 0xC1)-          goto yy376;-        goto yy485;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy486;-        if (yych == 0xED)-          goto yy491;-        goto yy487;-      } else {-        if (yych <= 0xF0)-          goto yy488;-        if (yych <= 0xF3)-          goto yy489;-        if (yych <= 0xF4)-          goto yy490;-        goto yy376;-      }-    }-  yy483:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy483;-    }-    if (yych <= 0xE0) {-      if (yych <= '=') {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= ' ')-          goto yy511;-        goto yy376;-      } else {-        if (yych <= '>')-          goto yy393;-        if (yych <= 0xC1)-          goto yy376;-        if (yych >= 0xE0)-          goto yy486;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy491;-        goto yy487;-      } else {-        if (yych <= 0xF0)-          goto yy488;-        if (yych <= 0xF3)-          goto yy489;-        if (yych <= 0xF4)-          goto yy490;-        goto yy376;-      }-    }-  yy485:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy483;-    goto yy376;-  yy486:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy485;-    goto yy376;-  yy487:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy485;-    goto yy376;-  yy488:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy487;-    goto yy376;-  yy489:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy487;-    goto yy376;-  yy490:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy487;-    goto yy376;-  yy491:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy485;-    goto yy376;-  yy492:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy492;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= '\'')-          goto yy503;-        goto yy376;-      } else {-        if (yych <= 0xDF)-          goto yy504;-        if (yych <= 0xE0)-          goto yy505;-        goto yy506;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy510;-        if (yych <= 0xEF)-          goto yy506;-        goto yy507;-      } else {-        if (yych <= 0xF3)-          goto yy508;-        if (yych <= 0xF4)-          goto yy509;-        goto yy376;-      }-    }-  yy494:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy494;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy376;-        if (yych <= '"')-          goto yy503;-        goto yy376;-      } else {-        if (yych <= 0xDF)-          goto yy496;-        if (yych <= 0xE0)-          goto yy497;-        goto yy498;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy502;-        if (yych <= 0xEF)-          goto yy498;-        goto yy499;-      } else {-        if (yych <= 0xF3)-          goto yy500;-        if (yych <= 0xF4)-          goto yy501;-        goto yy376;-      }-    }-  yy496:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy494;-    goto yy376;-  yy497:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy496;-    goto yy376;-  yy498:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy496;-    goto yy376;-  yy499:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy498;-    goto yy376;-  yy500:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy498;-    goto yy376;-  yy501:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy498;-    goto yy376;-  yy502:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy496;-    goto yy376;-  yy503:-    ++p;-    yych = *p;-    if (yych <= ' ') {-      if (yych <= 0x08)-        goto yy376;-      if (yych <= '\r')-        goto yy474;-      if (yych <= 0x1F)-        goto yy376;-      goto yy474;-    } else {-      if (yych <= '/') {-        if (yych <= '.')-          goto yy376;-        goto yy476;-      } else {-        if (yych == '>')-          goto yy393;-        goto yy376;-      }-    }-  yy504:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy492;-    goto yy376;-  yy505:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy504;-    goto yy376;-  yy506:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy504;-    goto yy376;-  yy507:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy506;-    goto yy376;-  yy508:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0xBF)-      goto yy506;-    goto yy376;-  yy509:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x8F)-      goto yy506;-    goto yy376;-  yy510:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy376;-    if (yych <= 0x9F)-      goto yy504;-    goto yy376;-  yy511:-    ++p;-    yych = *p;-    if (yych <= '@') {-      if (yych <= '"') {-        if (yych <= '\r') {-          if (yych <= 0x00)-            goto yy376;-          if (yych <= 0x08)-            goto yy483;-          goto yy511;-        } else {-          if (yych == ' ')-            goto yy511;-          if (yych <= '!')-            goto yy483;-          goto yy376;-        }-      } else {-        if (yych <= ':') {-          if (yych == '\'')-            goto yy376;-          if (yych <= '9')-            goto yy483;-        } else {-          if (yych <= ';')-            goto yy483;-          if (yych <= '=')-            goto yy376;-          if (yych <= '>')-            goto yy393;-          goto yy483;-        }-      }-    } else {-      if (yych <= 0xDF) {-        if (yych <= '`') {-          if (yych <= 'Z')-            goto yy513;-          if (yych <= '^')-            goto yy483;-          if (yych >= '`')-            goto yy376;-        } else {-          if (yych <= 'z')-            goto yy513;-          if (yych <= 0x7F)-            goto yy483;-          if (yych <= 0xC1)-            goto yy376;-          goto yy485;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych <= 0xE0)-            goto yy486;-          if (yych == 0xED)-            goto yy491;-          goto yy487;-        } else {-          if (yych <= 0xF0)-            goto yy488;-          if (yych <= 0xF3)-            goto yy489;-          if (yych <= 0xF4)-            goto yy490;-          goto yy376;-        }-      }-    }-  yy513:-    ++p;-    yych = *p;-    if (yych <= '>') {-      if (yych <= '&') {-        if (yych <= 0x1F) {-          if (yych <= 0x00)-            goto yy376;-          if (yych <= 0x08)-            goto yy483;-          if (yych >= 0x0E)-            goto yy483;-        } else {-          if (yych <= ' ')-            goto yy515;-          if (yych == '"')-            goto yy376;-          goto yy483;-        }-      } else {-        if (yych <= '/') {-          if (yych <= '\'')-            goto yy376;-          if (yych <= ',')-            goto yy483;-          if (yych <= '.')-            goto yy513;-          goto yy483;-        } else {-          if (yych <= ';') {-            if (yych <= ':')-              goto yy513;-            goto yy483;-          } else {-            if (yych <= '<')-              goto yy376;-            if (yych <= '=')-              goto yy481;-            goto yy393;-          }-        }-      }-    } else {-      if (yych <= 0xC1) {-        if (yych <= '_') {-          if (yych <= '@')-            goto yy483;-          if (yych <= 'Z')-            goto yy513;-          if (yych <= '^')-            goto yy483;-          goto yy513;-        } else {-          if (yych <= '`')-            goto yy376;-          if (yych <= 'z')-            goto yy513;-          if (yych <= 0x7F)-            goto yy483;-          goto yy376;-        }-      } else {-        if (yych <= 0xED) {-          if (yych <= 0xDF)-            goto yy485;-          if (yych <= 0xE0)-            goto yy486;-          if (yych <= 0xEC)-            goto yy487;-          goto yy491;-        } else {-          if (yych <= 0xF0) {-            if (yych <= 0xEF)-              goto yy487;-            goto yy488;-          } else {-            if (yych <= 0xF3)-              goto yy489;-            if (yych <= 0xF4)-              goto yy490;-            goto yy376;-          }-        }-      }-    }-  yy515:-    ++p;-    yych = *p;-    if (yych <= '@') {-      if (yych <= '&') {-        if (yych <= 0x1F) {-          if (yych <= 0x00)-            goto yy376;-          if (yych <= 0x08)-            goto yy483;-          if (yych <= '\r')-            goto yy515;-          goto yy483;-        } else {-          if (yych <= ' ')-            goto yy515;-          if (yych == '"')-            goto yy376;-          goto yy483;-        }-      } else {-        if (yych <= ';') {-          if (yych <= '\'')-            goto yy376;-          if (yych == ':')-            goto yy513;-          goto yy483;-        } else {-          if (yych <= '<')-            goto yy376;-          if (yych <= '=')-            goto yy481;-          if (yych <= '>')-            goto yy393;-          goto yy483;-        }-      }-    } else {-      if (yych <= 0xDF) {-        if (yych <= '`') {-          if (yych <= 'Z')-            goto yy513;-          if (yych <= '^')-            goto yy483;-          if (yych <= '_')-            goto yy513;-          goto yy376;-        } else {-          if (yych <= 'z')-            goto yy513;-          if (yych <= 0x7F)-            goto yy483;-          if (yych <= 0xC1)-            goto yy376;-          goto yy485;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych <= 0xE0)-            goto yy486;-          if (yych == 0xED)-            goto yy491;-          goto yy487;-        } else {-          if (yych <= 0xF0)-            goto yy488;-          if (yych <= 0xF3)-            goto yy489;-          if (yych <= 0xF4)-            goto yy490;-          goto yy376;-        }-      }-    }-  yy517:-    ++p;-    yych = *p;-    if (yych <= '@') {-      if (yych <= '"') {-        if (yych <= '\r') {-          if (yych <= 0x00)-            goto yy376;-          if (yych <= 0x08)-            goto yy483;-          goto yy517;-        } else {-          if (yych == ' ')-            goto yy517;-          if (yych <= '!')-            goto yy483;-          goto yy494;-        }-      } else {-        if (yych <= ':') {-          if (yych == '\'')-            goto yy492;-          if (yych <= '9')-            goto yy483;-          goto yy513;-        } else {-          if (yych <= ';')-            goto yy483;-          if (yych <= '=')-            goto yy376;-          if (yych <= '>')-            goto yy393;-          goto yy483;-        }-      }-    } else {-      if (yych <= 0xDF) {-        if (yych <= '`') {-          if (yych <= 'Z')-            goto yy513;-          if (yych <= '^')-            goto yy483;-          if (yych <= '_')-            goto yy513;-          goto yy376;-        } else {-          if (yych <= 'z')-            goto yy513;-          if (yych <= 0x7F)-            goto yy483;-          if (yych <= 0xC1)-            goto yy376;-          goto yy485;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych <= 0xE0)-            goto yy486;-          if (yych == 0xED)-            goto yy491;-          goto yy487;-        } else {-          if (yych <= 0xF0)-            goto yy488;-          if (yych <= 0xF3)-            goto yy489;-          if (yych <= 0xF4)-            goto yy490;-          goto yy376;-        }-      }-    }-  }-}--// 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) {-  const unsigned char *marker = NULL;--  {-    unsigned char yych;-    yych = *(marker = p);-    if (yych <= 0xDF) {-      if (yych <= ';') {-        if (yych != '\n')-          goto yy523;-      } else {-        if (yych <= '<')-          goto yy522;-        if (yych <= 0x7F)-          goto yy523;-        if (yych >= 0xC2)-          goto yy524;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy526;-        if (yych == 0xED)-          goto yy531;-        goto yy527;-      } else {-        if (yych <= 0xF0)-          goto yy528;-        if (yych <= 0xF3)-          goto yy529;-        if (yych <= 0xF4)-          goto yy530;-      }-    }-  yy521 : { return 0; }-  yy522:-    yych = *(marker = ++p);-    switch (yych) {-    case '!':-      goto yy548;-    case '/':-      goto yy532;-    case '?':-      goto yy549;-    case 'A':-    case 'a':-      goto yy534;-    case 'B':-    case 'b':-      goto yy535;-    case 'C':-    case 'c':-      goto yy536;-    case 'D':-    case 'd':-      goto yy537;-    case 'F':-    case 'f':-      goto yy538;-    case 'H':-    case 'h':-      goto yy539;-    case 'I':-    case 'i':-      goto yy540;-    case 'L':-    case 'l':-      goto yy541;-    case 'M':-    case 'm':-      goto yy542;-    case 'N':-    case 'n':-      goto yy543;-    case 'O':-    case 'o':-      goto yy544;-    case 'P':-    case 'p':-      goto yy533;-    case 'S':-    case 's':-      goto yy545;-    case 'T':-    case 't':-      goto yy546;-    case 'U':-    case 'u':-      goto yy547;-    default:-      goto yy521;-    }-  yy523:-    yych = *++p;-    goto yy521;-  yy524:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy525;-    if (yych <= 0xBF)-      goto yy523;-  yy525:-    p = marker;-    goto yy521;-  yy526:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy525;-    if (yych <= 0xBF)-      goto yy524;-    goto yy525;-  yy527:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy525;-    if (yych <= 0xBF)-      goto yy524;-    goto yy525;-  yy528:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy525;-    if (yych <= 0xBF)-      goto yy527;-    goto yy525;-  yy529:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy525;-    if (yych <= 0xBF)-      goto yy527;-    goto yy525;-  yy530:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy525;-    if (yych <= 0x8F)-      goto yy527;-    goto yy525;-  yy531:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy525;-    if (yych <= 0x9F)-      goto yy524;-    goto yy525;-  yy532:-    yych = *++p;-    switch (yych) {-    case 'A':-    case 'a':-      goto yy534;-    case 'B':-    case 'b':-      goto yy535;-    case 'C':-    case 'c':-      goto yy536;-    case 'D':-    case 'd':-      goto yy537;-    case 'F':-    case 'f':-      goto yy538;-    case 'H':-    case 'h':-      goto yy539;-    case 'I':-    case 'i':-      goto yy540;-    case 'L':-    case 'l':-      goto yy541;-    case 'M':-    case 'm':-      goto yy542;-    case 'N':-    case 'n':-      goto yy543;-    case 'O':-    case 'o':-      goto yy544;-    case 'P':-    case 'p':-      goto yy733;-    case 'S':-    case 's':-      goto yy734;-    case 'T':-    case 't':-      goto yy546;-    case 'U':-    case 'u':-      goto yy547;-    default:-      goto yy525;-    }-  yy533:-    yych = *++p;-    if (yych <= '>') {-      if (yych <= ' ') {-        if (yych <= 0x08)-          goto yy525;-        if (yych <= '\r')-          goto yy565;-        if (yych <= 0x1F)-          goto yy525;-        goto yy565;-      } else {-        if (yych == '/')-          goto yy567;-        if (yych <= '=')-          goto yy525;-        goto yy565;-      }-    } else {-      if (yych <= 'R') {-        if (yych == 'A')-          goto yy730;-        if (yych <= 'Q')-          goto yy525;-        goto yy729;-      } else {-        if (yych <= 'a') {-          if (yych <= '`')-            goto yy525;-          goto yy730;-        } else {-          if (yych == 'r')-            goto yy729;-          goto yy525;-        }-      }-    }-  yy534:-    yych = *++p;-    if (yych <= 'S') {-      if (yych <= 'D') {-        if (yych <= 'C')-          goto yy525;-        goto yy718;-      } else {-        if (yych <= 'Q')-          goto yy525;-        if (yych <= 'R')-          goto yy717;-        goto yy716;-      }-    } else {-      if (yych <= 'q') {-        if (yych == 'd')-          goto yy718;-        goto yy525;-      } else {-        if (yych <= 'r')-          goto yy717;-        if (yych <= 's')-          goto yy716;-        goto yy525;-      }-    }-  yy535:-    yych = *++p;-    if (yych <= 'O') {-      if (yych <= 'K') {-        if (yych == 'A')-          goto yy702;-        goto yy525;-      } else {-        if (yych <= 'L')-          goto yy701;-        if (yych <= 'N')-          goto yy525;-        goto yy700;-      }-    } else {-      if (yych <= 'k') {-        if (yych == 'a')-          goto yy702;-        goto yy525;-      } else {-        if (yych <= 'l')-          goto yy701;-        if (yych == 'o')-          goto yy700;-        goto yy525;-      }-    }-  yy536:-    yych = *++p;-    if (yych <= 'O') {-      if (yych <= 'D') {-        if (yych == 'A')-          goto yy687;-        goto yy525;-      } else {-        if (yych <= 'E')-          goto yy686;-        if (yych <= 'N')-          goto yy525;-        goto yy685;-      }-    } else {-      if (yych <= 'd') {-        if (yych == 'a')-          goto yy687;-        goto yy525;-      } else {-        if (yych <= 'e')-          goto yy686;-        if (yych == 'o')-          goto yy685;-        goto yy525;-      }-    }-  yy537:-    yych = *++p;-    switch (yych) {-    case 'D':-    case 'L':-    case 'T':-    case 'd':-    case 'l':-    case 't':-      goto yy564;-    case 'E':-    case 'e':-      goto yy677;-    case 'I':-    case 'i':-      goto yy676;-    default:-      goto yy525;-    }-  yy538:-    yych = *++p;-    if (yych <= 'R') {-      if (yych <= 'N') {-        if (yych == 'I')-          goto yy652;-        goto yy525;-      } else {-        if (yych <= 'O')-          goto yy651;-        if (yych <= 'Q')-          goto yy525;-        goto yy650;-      }-    } else {-      if (yych <= 'n') {-        if (yych == 'i')-          goto yy652;-        goto yy525;-      } else {-        if (yych <= 'o')-          goto yy651;-        if (yych == 'r')-          goto yy650;-        goto yy525;-      }-    }-  yy539:-    yych = *++p;-    if (yych <= 'S') {-      if (yych <= 'D') {-        if (yych == '1')-          goto yy564;-        goto yy525;-      } else {-        if (yych <= 'E')-          goto yy645;-        if (yych == 'R')-          goto yy564;-        goto yy525;-      }-    } else {-      if (yych <= 'q') {-        if (yych <= 'T')-          goto yy644;-        if (yych == 'e')-          goto yy645;-        goto yy525;-      } else {-        if (yych <= 'r')-          goto yy564;-        if (yych == 't')-          goto yy644;-        goto yy525;-      }-    }-  yy540:-    yych = *++p;-    if (yych == 'F')-      goto yy640;-    if (yych == 'f')-      goto yy640;-    goto yy525;-  yy541:-    yych = *++p;-    if (yych <= 'I') {-      if (yych == 'E')-        goto yy635;-      if (yych <= 'H')-        goto yy525;-      goto yy634;-    } else {-      if (yych <= 'e') {-        if (yych <= 'd')-          goto yy525;-        goto yy635;-      } else {-        if (yych == 'i')-          goto yy634;-        goto yy525;-      }-    }-  yy542:-    yych = *++p;-    if (yych <= 'E') {-      if (yych == 'A')-        goto yy626;-      if (yych <= 'D')-        goto yy525;-      goto yy625;-    } else {-      if (yych <= 'a') {-        if (yych <= '`')-          goto yy525;-        goto yy626;-      } else {-        if (yych == 'e')-          goto yy625;-        goto yy525;-      }-    }-  yy543:-    yych = *++p;-    if (yych <= 'O') {-      if (yych == 'A')-        goto yy619;-      if (yych <= 'N')-        goto yy525;-      goto yy618;-    } else {-      if (yych <= 'a') {-        if (yych <= '`')-          goto yy525;-        goto yy619;-      } else {-        if (yych == 'o')-          goto yy618;-        goto yy525;-      }-    }-  yy544:-    yych = *++p;-    if (yych <= 'P') {-      if (yych == 'L')-        goto yy564;-      if (yych <= 'O')-        goto yy525;-      goto yy610;-    } else {-      if (yych <= 'l') {-        if (yych <= 'k')-          goto yy525;-        goto yy564;-      } else {-        if (yych == 'p')-          goto yy610;-        goto yy525;-      }-    }-  yy545:-    yych = *++p;-    if (yych <= 'U') {-      if (yych <= 'E') {-        if (yych == 'C')-          goto yy587;-        if (yych <= 'D')-          goto yy525;-        goto yy590;-      } else {-        if (yych <= 'O') {-          if (yych <= 'N')-            goto yy525;-          goto yy589;-        } else {-          if (yych <= 'S')-            goto yy525;-          if (yych <= 'T')-            goto yy586;-          goto yy588;-        }-      }-    } else {-      if (yych <= 'n') {-        if (yych <= 'c') {-          if (yych <= 'b')-            goto yy525;-          goto yy587;-        } else {-          if (yych == 'e')-            goto yy590;-          goto yy525;-        }-      } else {-        if (yych <= 's') {-          if (yych <= 'o')-            goto yy589;-          goto yy525;-        } else {-          if (yych <= 't')-            goto yy586;-          if (yych <= 'u')-            goto yy588;-          goto yy525;-        }-      }-    }-  yy546:-    yych = *++p;-    switch (yych) {-    case 'A':-    case 'a':-      goto yy573;-    case 'B':-    case 'b':-      goto yy572;-    case 'D':-    case 'd':-      goto yy564;-    case 'F':-    case 'f':-      goto yy571;-    case 'H':-    case 'h':-      goto yy570;-    case 'I':-    case 'i':-      goto yy569;-    case 'R':-    case 'r':-      goto yy568;-    default:-      goto yy525;-    }-  yy547:-    yych = *++p;-    if (yych == 'L')-      goto yy564;-    if (yych == 'l')-      goto yy564;-    goto yy525;-  yy548:-    yych = *++p;-    if (yych <= '@') {-      if (yych == '-')-        goto yy551;-      goto yy525;-    } else {-      if (yych <= 'Z')-        goto yy552;-      if (yych <= '[')-        goto yy554;-      goto yy525;-    }-  yy549:-    ++p;-    { return 3; }-  yy551:-    yych = *++p;-    if (yych == '-')-      goto yy562;-    goto yy525;-  yy552:-    ++p;-    { return 4; }-  yy554:-    yych = *++p;-    if (yych == 'C')-      goto yy555;-    if (yych != 'c')-      goto yy525;-  yy555:-    yych = *++p;-    if (yych == 'D')-      goto yy556;-    if (yych != 'd')-      goto yy525;-  yy556:-    yych = *++p;-    if (yych == 'A')-      goto yy557;-    if (yych != 'a')-      goto yy525;-  yy557:-    yych = *++p;-    if (yych == 'T')-      goto yy558;-    if (yych != 't')-      goto yy525;-  yy558:-    yych = *++p;-    if (yych == 'A')-      goto yy559;-    if (yych != 'a')-      goto yy525;-  yy559:-    yych = *++p;-    if (yych != '[')-      goto yy525;-    ++p;-    { return 5; }-  yy562:-    ++p;-    { return 2; }-  yy564:-    yych = *++p;-    if (yych <= ' ') {-      if (yych <= 0x08)-        goto yy525;-      if (yych <= '\r')-        goto yy565;-      if (yych <= 0x1F)-        goto yy525;-    } else {-      if (yych <= '/') {-        if (yych <= '.')-          goto yy525;-        goto yy567;-      } else {-        if (yych != '>')-          goto yy525;-      }-    }-  yy565:-    ++p;-    { return 6; }-  yy567:-    yych = *++p;-    if (yych == '>')-      goto yy565;-    goto yy525;-  yy568:-    yych = *++p;-    if (yych <= '/') {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy525;-        if (yych <= '\r')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= ' ')-          goto yy565;-        if (yych <= '.')-          goto yy525;-        goto yy567;-      }-    } else {-      if (yych <= '@') {-        if (yych == '>')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= 'A')-          goto yy584;-        if (yych == 'a')-          goto yy584;-        goto yy525;-      }-    }-  yy569:-    yych = *++p;-    if (yych == 'T')-      goto yy582;-    if (yych == 't')-      goto yy582;-    goto yy525;-  yy570:-    yych = *++p;-    if (yych <= '/') {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy525;-        if (yych <= '\r')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= ' ')-          goto yy565;-        if (yych <= '.')-          goto yy525;-        goto yy567;-      }-    } else {-      if (yych <= 'D') {-        if (yych == '>')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= 'E')-          goto yy580;-        if (yych == 'e')-          goto yy580;-        goto yy525;-      }-    }-  yy571:-    yych = *++p;-    if (yych == 'O')-      goto yy578;-    if (yych == 'o')-      goto yy578;-    goto yy525;-  yy572:-    yych = *++p;-    if (yych == 'O')-      goto yy576;-    if (yych == 'o')-      goto yy576;-    goto yy525;-  yy573:-    yych = *++p;-    if (yych == 'B')-      goto yy574;-    if (yych != 'b')-      goto yy525;-  yy574:-    yych = *++p;-    if (yych == 'L')-      goto yy575;-    if (yych != 'l')-      goto yy525;-  yy575:-    yych = *++p;-    if (yych == 'E')-      goto yy564;-    if (yych == 'e')-      goto yy564;-    goto yy525;-  yy576:-    yych = *++p;-    if (yych == 'D')-      goto yy577;-    if (yych != 'd')-      goto yy525;-  yy577:-    yych = *++p;-    if (yych == 'Y')-      goto yy564;-    if (yych == 'y')-      goto yy564;-    goto yy525;-  yy578:-    yych = *++p;-    if (yych == 'O')-      goto yy579;-    if (yych != 'o')-      goto yy525;-  yy579:-    yych = *++p;-    if (yych == 'T')-      goto yy564;-    if (yych == 't')-      goto yy564;-    goto yy525;-  yy580:-    yych = *++p;-    if (yych == 'A')-      goto yy581;-    if (yych != 'a')-      goto yy525;-  yy581:-    yych = *++p;-    if (yych == 'D')-      goto yy564;-    if (yych == 'd')-      goto yy564;-    goto yy525;-  yy582:-    yych = *++p;-    if (yych == 'L')-      goto yy583;-    if (yych != 'l')-      goto yy525;-  yy583:-    yych = *++p;-    if (yych == 'E')-      goto yy564;-    if (yych == 'e')-      goto yy564;-    goto yy525;-  yy584:-    yych = *++p;-    if (yych == 'C')-      goto yy585;-    if (yych != 'c')-      goto yy525;-  yy585:-    yych = *++p;-    if (yych == 'K')-      goto yy564;-    if (yych == 'k')-      goto yy564;-    goto yy525;-  yy586:-    yych = *++p;-    if (yych == 'Y')-      goto yy608;-    if (yych == 'y')-      goto yy608;-    goto yy525;-  yy587:-    yych = *++p;-    if (yych == 'R')-      goto yy602;-    if (yych == 'r')-      goto yy602;-    goto yy525;-  yy588:-    yych = *++p;-    if (yych == 'M')-      goto yy598;-    if (yych == 'm')-      goto yy598;-    goto yy525;-  yy589:-    yych = *++p;-    if (yych == 'U')-      goto yy595;-    if (yych == 'u')-      goto yy595;-    goto yy525;-  yy590:-    yych = *++p;-    if (yych == 'C')-      goto yy591;-    if (yych != 'c')-      goto yy525;-  yy591:-    yych = *++p;-    if (yych == 'T')-      goto yy592;-    if (yych != 't')-      goto yy525;-  yy592:-    yych = *++p;-    if (yych == 'I')-      goto yy593;-    if (yych != 'i')-      goto yy525;-  yy593:-    yych = *++p;-    if (yych == 'O')-      goto yy594;-    if (yych != 'o')-      goto yy525;-  yy594:-    yych = *++p;-    if (yych == 'N')-      goto yy564;-    if (yych == 'n')-      goto yy564;-    goto yy525;-  yy595:-    yych = *++p;-    if (yych == 'R')-      goto yy596;-    if (yych != 'r')-      goto yy525;-  yy596:-    yych = *++p;-    if (yych == 'C')-      goto yy597;-    if (yych != 'c')-      goto yy525;-  yy597:-    yych = *++p;-    if (yych == 'E')-      goto yy564;-    if (yych == 'e')-      goto yy564;-    goto yy525;-  yy598:-    yych = *++p;-    if (yych == 'M')-      goto yy599;-    if (yych != 'm')-      goto yy525;-  yy599:-    yych = *++p;-    if (yych == 'A')-      goto yy600;-    if (yych != 'a')-      goto yy525;-  yy600:-    yych = *++p;-    if (yych == 'R')-      goto yy601;-    if (yych != 'r')-      goto yy525;-  yy601:-    yych = *++p;-    if (yych == 'Y')-      goto yy564;-    if (yych == 'y')-      goto yy564;-    goto yy525;-  yy602:-    yych = *++p;-    if (yych == 'I')-      goto yy603;-    if (yych != 'i')-      goto yy525;-  yy603:-    yych = *++p;-    if (yych == 'P')-      goto yy604;-    if (yych != 'p')-      goto yy525;-  yy604:-    yych = *++p;-    if (yych == 'T')-      goto yy605;-    if (yych != 't')-      goto yy525;-  yy605:-    yych = *++p;-    if (yych <= 0x1F) {-      if (yych <= 0x08)-        goto yy525;-      if (yych >= 0x0E)-        goto yy525;-    } else {-      if (yych <= ' ')-        goto yy606;-      if (yych != '>')-        goto yy525;-    }-  yy606:-    ++p;-    { return 1; }-  yy608:-    yych = *++p;-    if (yych == 'L')-      goto yy609;-    if (yych != 'l')-      goto yy525;-  yy609:-    yych = *++p;-    if (yych == 'E')-      goto yy605;-    if (yych == 'e')-      goto yy605;-    goto yy525;-  yy610:-    yych = *++p;-    if (yych == 'T')-      goto yy611;-    if (yych != 't')-      goto yy525;-  yy611:-    yych = *++p;-    if (yych <= 'I') {-      if (yych == 'G')-        goto yy613;-      if (yych <= 'H')-        goto yy525;-    } else {-      if (yych <= 'g') {-        if (yych <= 'f')-          goto yy525;-        goto yy613;-      } else {-        if (yych != 'i')-          goto yy525;-      }-    }-    yych = *++p;-    if (yych == 'O')-      goto yy617;-    if (yych == 'o')-      goto yy617;-    goto yy525;-  yy613:-    yych = *++p;-    if (yych == 'R')-      goto yy614;-    if (yych != 'r')-      goto yy525;-  yy614:-    yych = *++p;-    if (yych == 'O')-      goto yy615;-    if (yych != 'o')-      goto yy525;-  yy615:-    yych = *++p;-    if (yych == 'U')-      goto yy616;-    if (yych != 'u')-      goto yy525;-  yy616:-    yych = *++p;-    if (yych == 'P')-      goto yy564;-    if (yych == 'p')-      goto yy564;-    goto yy525;-  yy617:-    yych = *++p;-    if (yych == 'N')-      goto yy564;-    if (yych == 'n')-      goto yy564;-    goto yy525;-  yy618:-    yych = *++p;-    if (yych == 'F')-      goto yy620;-    if (yych == 'f')-      goto yy620;-    goto yy525;-  yy619:-    yych = *++p;-    if (yych == 'V')-      goto yy564;-    if (yych == 'v')-      goto yy564;-    goto yy525;-  yy620:-    yych = *++p;-    if (yych == 'R')-      goto yy621;-    if (yych != 'r')-      goto yy525;-  yy621:-    yych = *++p;-    if (yych == 'A')-      goto yy622;-    if (yych != 'a')-      goto yy525;-  yy622:-    yych = *++p;-    if (yych == 'M')-      goto yy623;-    if (yych != 'm')-      goto yy525;-  yy623:-    yych = *++p;-    if (yych == 'E')-      goto yy624;-    if (yych != 'e')-      goto yy525;-  yy624:-    yych = *++p;-    if (yych == 'S')-      goto yy564;-    if (yych == 's')-      goto yy564;-    goto yy525;-  yy625:-    yych = *++p;-    if (yych <= 'T') {-      if (yych == 'N')-        goto yy628;-      if (yych <= 'S')-        goto yy525;-      goto yy629;-    } else {-      if (yych <= 'n') {-        if (yych <= 'm')-          goto yy525;-        goto yy628;-      } else {-        if (yych == 't')-          goto yy629;-        goto yy525;-      }-    }-  yy626:-    yych = *++p;-    if (yych == 'I')-      goto yy627;-    if (yych != 'i')-      goto yy525;-  yy627:-    yych = *++p;-    if (yych == 'N')-      goto yy564;-    if (yych == 'n')-      goto yy564;-    goto yy525;-  yy628:-    yych = *++p;-    if (yych == 'U')-      goto yy630;-    if (yych == 'u')-      goto yy630;-    goto yy525;-  yy629:-    yych = *++p;-    if (yych == 'A')-      goto yy564;-    if (yych == 'a')-      goto yy564;-    goto yy525;-  yy630:-    yych = *++p;-    if (yych <= '/') {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy525;-        if (yych <= '\r')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= ' ')-          goto yy565;-        if (yych <= '.')-          goto yy525;-        goto yy567;-      }-    } else {-      if (yych <= 'H') {-        if (yych == '>')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= 'I')-          goto yy631;-        if (yych != 'i')-          goto yy525;-      }-    }-  yy631:-    yych = *++p;-    if (yych == 'T')-      goto yy632;-    if (yych != 't')-      goto yy525;-  yy632:-    yych = *++p;-    if (yych == 'E')-      goto yy633;-    if (yych != 'e')-      goto yy525;-  yy633:-    yych = *++p;-    if (yych == 'M')-      goto yy564;-    if (yych == 'm')-      goto yy564;-    goto yy525;-  yy634:-    yych = *++p;-    if (yych <= '/') {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy525;-        if (yych <= '\r')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= ' ')-          goto yy565;-        if (yych <= '.')-          goto yy525;-        goto yy567;-      }-    } else {-      if (yych <= 'M') {-        if (yych == '>')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= 'N')-          goto yy639;-        if (yych == 'n')-          goto yy639;-        goto yy525;-      }-    }-  yy635:-    yych = *++p;-    if (yych == 'G')-      goto yy636;-    if (yych != 'g')-      goto yy525;-  yy636:-    yych = *++p;-    if (yych == 'E')-      goto yy637;-    if (yych != 'e')-      goto yy525;-  yy637:-    yych = *++p;-    if (yych == 'N')-      goto yy638;-    if (yych != 'n')-      goto yy525;-  yy638:-    yych = *++p;-    if (yych == 'D')-      goto yy564;-    if (yych == 'd')-      goto yy564;-    goto yy525;-  yy639:-    yych = *++p;-    if (yych == 'K')-      goto yy564;-    if (yych == 'k')-      goto yy564;-    goto yy525;-  yy640:-    yych = *++p;-    if (yych == 'R')-      goto yy641;-    if (yych != 'r')-      goto yy525;-  yy641:-    yych = *++p;-    if (yych == 'A')-      goto yy642;-    if (yych != 'a')-      goto yy525;-  yy642:-    yych = *++p;-    if (yych == 'M')-      goto yy643;-    if (yych != 'm')-      goto yy525;-  yy643:-    yych = *++p;-    if (yych == 'E')-      goto yy564;-    if (yych == 'e')-      goto yy564;-    goto yy525;-  yy644:-    yych = *++p;-    if (yych == 'M')-      goto yy649;-    if (yych == 'm')-      goto yy649;-    goto yy525;-  yy645:-    yych = *++p;-    if (yych == 'A')-      goto yy646;-    if (yych != 'a')-      goto yy525;-  yy646:-    yych = *++p;-    if (yych == 'D')-      goto yy647;-    if (yych != 'd')-      goto yy525;-  yy647:-    yych = *++p;-    if (yych <= '/') {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy525;-        if (yych <= '\r')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= ' ')-          goto yy565;-        if (yych <= '.')-          goto yy525;-        goto yy567;-      }-    } else {-      if (yych <= 'D') {-        if (yych == '>')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= 'E')-          goto yy648;-        if (yych != 'e')-          goto yy525;-      }-    }-  yy648:-    yych = *++p;-    if (yych == 'R')-      goto yy564;-    if (yych == 'r')-      goto yy564;-    goto yy525;-  yy649:-    yych = *++p;-    if (yych == 'L')-      goto yy564;-    if (yych == 'l')-      goto yy564;-    goto yy525;-  yy650:-    yych = *++p;-    if (yych == 'A')-      goto yy671;-    if (yych == 'a')-      goto yy671;-    goto yy525;-  yy651:-    yych = *++p;-    if (yych <= 'R') {-      if (yych == 'O')-        goto yy667;-      if (yych <= 'Q')-        goto yy525;-      goto yy668;-    } else {-      if (yych <= 'o') {-        if (yych <= 'n')-          goto yy525;-        goto yy667;-      } else {-        if (yych == 'r')-          goto yy668;-        goto yy525;-      }-    }-  yy652:-    yych = *++p;-    if (yych <= 'G') {-      if (yych == 'E')-        goto yy653;-      if (yych <= 'F')-        goto yy525;-      goto yy654;-    } else {-      if (yych <= 'e') {-        if (yych <= 'd')-          goto yy525;-      } else {-        if (yych == 'g')-          goto yy654;-        goto yy525;-      }-    }-  yy653:-    yych = *++p;-    if (yych == 'L')-      goto yy663;-    if (yych == 'l')-      goto yy663;-    goto yy525;-  yy654:-    yych = *++p;-    if (yych <= 'U') {-      if (yych == 'C')-        goto yy656;-      if (yych <= 'T')-        goto yy525;-    } else {-      if (yych <= 'c') {-        if (yych <= 'b')-          goto yy525;-        goto yy656;-      } else {-        if (yych != 'u')-          goto yy525;-      }-    }-    yych = *++p;-    if (yych == 'R')-      goto yy662;-    if (yych == 'r')-      goto yy662;-    goto yy525;-  yy656:-    yych = *++p;-    if (yych == 'A')-      goto yy657;-    if (yych != 'a')-      goto yy525;-  yy657:-    yych = *++p;-    if (yych == 'P')-      goto yy658;-    if (yych != 'p')-      goto yy525;-  yy658:-    yych = *++p;-    if (yych == 'T')-      goto yy659;-    if (yych != 't')-      goto yy525;-  yy659:-    yych = *++p;-    if (yych == 'I')-      goto yy660;-    if (yych != 'i')-      goto yy525;-  yy660:-    yych = *++p;-    if (yych == 'O')-      goto yy661;-    if (yych != 'o')-      goto yy525;-  yy661:-    yych = *++p;-    if (yych == 'N')-      goto yy564;-    if (yych == 'n')-      goto yy564;-    goto yy525;-  yy662:-    yych = *++p;-    if (yych == 'E')-      goto yy564;-    if (yych == 'e')-      goto yy564;-    goto yy525;-  yy663:-    yych = *++p;-    if (yych == 'D')-      goto yy664;-    if (yych != 'd')-      goto yy525;-  yy664:-    yych = *++p;-    if (yych == 'S')-      goto yy665;-    if (yych != 's')-      goto yy525;-  yy665:-    yych = *++p;-    if (yych == 'E')-      goto yy666;-    if (yych != 'e')-      goto yy525;-  yy666:-    yych = *++p;-    if (yych == 'T')-      goto yy564;-    if (yych == 't')-      goto yy564;-    goto yy525;-  yy667:-    yych = *++p;-    if (yych == 'T')-      goto yy669;-    if (yych == 't')-      goto yy669;-    goto yy525;-  yy668:-    yych = *++p;-    if (yych == 'M')-      goto yy564;-    if (yych == 'm')-      goto yy564;-    goto yy525;-  yy669:-    yych = *++p;-    if (yych == 'E')-      goto yy670;-    if (yych != 'e')-      goto yy525;-  yy670:-    yych = *++p;-    if (yych == 'R')-      goto yy564;-    if (yych == 'r')-      goto yy564;-    goto yy525;-  yy671:-    yych = *++p;-    if (yych == 'M')-      goto yy672;-    if (yych != 'm')-      goto yy525;-  yy672:-    yych = *++p;-    if (yych == 'E')-      goto yy673;-    if (yych != 'e')-      goto yy525;-  yy673:-    yych = *++p;-    if (yych <= '/') {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy525;-        if (yych <= '\r')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= ' ')-          goto yy565;-        if (yych <= '.')-          goto yy525;-        goto yy567;-      }-    } else {-      if (yych <= 'R') {-        if (yych == '>')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= 'S')-          goto yy674;-        if (yych != 's')-          goto yy525;-      }-    }-  yy674:-    yych = *++p;-    if (yych == 'E')-      goto yy675;-    if (yych != 'e')-      goto yy525;-  yy675:-    yych = *++p;-    if (yych == 'T')-      goto yy564;-    if (yych == 't')-      goto yy564;-    goto yy525;-  yy676:-    yych = *++p;-    if (yych <= 'V') {-      if (yych <= 'Q') {-        if (yych == 'A')-          goto yy682;-        goto yy525;-      } else {-        if (yych <= 'R')-          goto yy564;-        if (yych <= 'U')-          goto yy525;-        goto yy564;-      }-    } else {-      if (yych <= 'q') {-        if (yych == 'a')-          goto yy682;-        goto yy525;-      } else {-        if (yych <= 'r')-          goto yy564;-        if (yych == 'v')-          goto yy564;-        goto yy525;-      }-    }-  yy677:-    yych = *++p;-    if (yych == 'T')-      goto yy678;-    if (yych != 't')-      goto yy525;-  yy678:-    yych = *++p;-    if (yych == 'A')-      goto yy679;-    if (yych != 'a')-      goto yy525;-  yy679:-    yych = *++p;-    if (yych == 'I')-      goto yy680;-    if (yych != 'i')-      goto yy525;-  yy680:-    yych = *++p;-    if (yych == 'L')-      goto yy681;-    if (yych != 'l')-      goto yy525;-  yy681:-    yych = *++p;-    if (yych == 'S')-      goto yy564;-    if (yych == 's')-      goto yy564;-    goto yy525;-  yy682:-    yych = *++p;-    if (yych == 'L')-      goto yy683;-    if (yych != 'l')-      goto yy525;-  yy683:-    yych = *++p;-    if (yych == 'O')-      goto yy684;-    if (yych != 'o')-      goto yy525;-  yy684:-    yych = *++p;-    if (yych == 'G')-      goto yy564;-    if (yych == 'g')-      goto yy564;-    goto yy525;-  yy685:-    yych = *++p;-    if (yych == 'L')-      goto yy695;-    if (yych == 'l')-      goto yy695;-    goto yy525;-  yy686:-    yych = *++p;-    if (yych == 'N')-      goto yy692;-    if (yych == 'n')-      goto yy692;-    goto yy525;-  yy687:-    yych = *++p;-    if (yych == 'P')-      goto yy688;-    if (yych != 'p')-      goto yy525;-  yy688:-    yych = *++p;-    if (yych == 'T')-      goto yy689;-    if (yych != 't')-      goto yy525;-  yy689:-    yych = *++p;-    if (yych == 'I')-      goto yy690;-    if (yych != 'i')-      goto yy525;-  yy690:-    yych = *++p;-    if (yych == 'O')-      goto yy691;-    if (yych != 'o')-      goto yy525;-  yy691:-    yych = *++p;-    if (yych == 'N')-      goto yy564;-    if (yych == 'n')-      goto yy564;-    goto yy525;-  yy692:-    yych = *++p;-    if (yych == 'T')-      goto yy693;-    if (yych != 't')-      goto yy525;-  yy693:-    yych = *++p;-    if (yych == 'E')-      goto yy694;-    if (yych != 'e')-      goto yy525;-  yy694:-    yych = *++p;-    if (yych == 'R')-      goto yy564;-    if (yych == 'r')-      goto yy564;-    goto yy525;-  yy695:-    yych = *++p;-    if (yych <= '/') {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy525;-        if (yych <= '\r')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= ' ')-          goto yy565;-        if (yych <= '.')-          goto yy525;-        goto yy567;-      }-    } else {-      if (yych <= 'F') {-        if (yych == '>')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= 'G')-          goto yy696;-        if (yych != 'g')-          goto yy525;-      }-    }-  yy696:-    yych = *++p;-    if (yych == 'R')-      goto yy697;-    if (yych != 'r')-      goto yy525;-  yy697:-    yych = *++p;-    if (yych == 'O')-      goto yy698;-    if (yych != 'o')-      goto yy525;-  yy698:-    yych = *++p;-    if (yych == 'U')-      goto yy699;-    if (yych != 'u')-      goto yy525;-  yy699:-    yych = *++p;-    if (yych == 'P')-      goto yy564;-    if (yych == 'p')-      goto yy564;-    goto yy525;-  yy700:-    yych = *++p;-    if (yych == 'D')-      goto yy715;-    if (yych == 'd')-      goto yy715;-    goto yy525;-  yy701:-    yych = *++p;-    if (yych == 'O')-      goto yy708;-    if (yych == 'o')-      goto yy708;-    goto yy525;-  yy702:-    yych = *++p;-    if (yych == 'S')-      goto yy703;-    if (yych != 's')-      goto yy525;-  yy703:-    yych = *++p;-    if (yych == 'E')-      goto yy704;-    if (yych != 'e')-      goto yy525;-  yy704:-    yych = *++p;-    if (yych <= '/') {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy525;-        if (yych <= '\r')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= ' ')-          goto yy565;-        if (yych <= '.')-          goto yy525;-        goto yy567;-      }-    } else {-      if (yych <= 'E') {-        if (yych == '>')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= 'F')-          goto yy705;-        if (yych != 'f')-          goto yy525;-      }-    }-  yy705:-    yych = *++p;-    if (yych == 'O')-      goto yy706;-    if (yych != 'o')-      goto yy525;-  yy706:-    yych = *++p;-    if (yych == 'N')-      goto yy707;-    if (yych != 'n')-      goto yy525;-  yy707:-    yych = *++p;-    if (yych == 'T')-      goto yy564;-    if (yych == 't')-      goto yy564;-    goto yy525;-  yy708:-    yych = *++p;-    if (yych == 'C')-      goto yy709;-    if (yych != 'c')-      goto yy525;-  yy709:-    yych = *++p;-    if (yych == 'K')-      goto yy710;-    if (yych != 'k')-      goto yy525;-  yy710:-    yych = *++p;-    if (yych == 'Q')-      goto yy711;-    if (yych != 'q')-      goto yy525;-  yy711:-    yych = *++p;-    if (yych == 'U')-      goto yy712;-    if (yych != 'u')-      goto yy525;-  yy712:-    yych = *++p;-    if (yych == 'O')-      goto yy713;-    if (yych != 'o')-      goto yy525;-  yy713:-    yych = *++p;-    if (yych == 'T')-      goto yy714;-    if (yych != 't')-      goto yy525;-  yy714:-    yych = *++p;-    if (yych == 'E')-      goto yy564;-    if (yych == 'e')-      goto yy564;-    goto yy525;-  yy715:-    yych = *++p;-    if (yych == 'Y')-      goto yy564;-    if (yych == 'y')-      goto yy564;-    goto yy525;-  yy716:-    yych = *++p;-    if (yych == 'I')-      goto yy727;-    if (yych == 'i')-      goto yy727;-    goto yy525;-  yy717:-    yych = *++p;-    if (yych == 'T')-      goto yy723;-    if (yych == 't')-      goto yy723;-    goto yy525;-  yy718:-    yych = *++p;-    if (yych == 'D')-      goto yy719;-    if (yych != 'd')-      goto yy525;-  yy719:-    yych = *++p;-    if (yych == 'R')-      goto yy720;-    if (yych != 'r')-      goto yy525;-  yy720:-    yych = *++p;-    if (yych == 'E')-      goto yy721;-    if (yych != 'e')-      goto yy525;-  yy721:-    yych = *++p;-    if (yych == 'S')-      goto yy722;-    if (yych != 's')-      goto yy525;-  yy722:-    yych = *++p;-    if (yych == 'S')-      goto yy564;-    if (yych == 's')-      goto yy564;-    goto yy525;-  yy723:-    yych = *++p;-    if (yych == 'I')-      goto yy724;-    if (yych != 'i')-      goto yy525;-  yy724:-    yych = *++p;-    if (yych == 'C')-      goto yy725;-    if (yych != 'c')-      goto yy525;-  yy725:-    yych = *++p;-    if (yych == 'L')-      goto yy726;-    if (yych != 'l')-      goto yy525;-  yy726:-    yych = *++p;-    if (yych == 'E')-      goto yy564;-    if (yych == 'e')-      goto yy564;-    goto yy525;-  yy727:-    yych = *++p;-    if (yych == 'D')-      goto yy728;-    if (yych != 'd')-      goto yy525;-  yy728:-    yych = *++p;-    if (yych == 'E')-      goto yy564;-    if (yych == 'e')-      goto yy564;-    goto yy525;-  yy729:-    yych = *++p;-    if (yych == 'E')-      goto yy605;-    if (yych == 'e')-      goto yy605;-    goto yy525;-  yy730:-    yych = *++p;-    if (yych == 'R')-      goto yy731;-    if (yych != 'r')-      goto yy525;-  yy731:-    yych = *++p;-    if (yych == 'A')-      goto yy732;-    if (yych != 'a')-      goto yy525;-  yy732:-    yych = *++p;-    if (yych == 'M')-      goto yy564;-    if (yych == 'm')-      goto yy564;-    goto yy525;-  yy733:-    yych = *++p;-    if (yych <= '/') {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy525;-        if (yych <= '\r')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= ' ')-          goto yy565;-        if (yych <= '.')-          goto yy525;-        goto yy567;-      }-    } else {-      if (yych <= '@') {-        if (yych == '>')-          goto yy565;-        goto yy525;-      } else {-        if (yych <= 'A')-          goto yy730;-        if (yych == 'a')-          goto yy730;-        goto yy525;-      }-    }-  yy734:-    ++p;-    if ((yych = *p) <= 'U') {-      if (yych <= 'N') {-        if (yych == 'E')-          goto yy590;-        goto yy525;-      } else {-        if (yych <= 'O')-          goto yy589;-        if (yych <= 'T')-          goto yy525;-        goto yy588;-      }-    } else {-      if (yych <= 'n') {-        if (yych == 'e')-          goto yy590;-        goto yy525;-      } else {-        if (yych <= 'o')-          goto yy589;-        if (yych == 'u')-          goto yy588;-        goto yy525;-      }-    }-  }-}--// 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) {-  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, 202, 194, 198, 194,-        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,-        224, 224, 224, 224, 198, 224, 64,  224, 224, 224, 224, 128, 224, 224,-        224, 224, 224, 241, 240, 224, 241, 241, 241, 241, 241, 241, 241, 241,-        241, 241, 240, 224, 192, 192, 192, 224, 224, 241, 241, 241, 241, 241,-        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,-        241, 241, 241, 241, 241, 241, 241, 224, 224, 224, 224, 240, 192, 241,-        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,-        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 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 = *(marker = p);-    if (yych <= 0xDF) {-      if (yych <= ';') {-        if (yych != '\n')-          goto yy739;-      } else {-        if (yych <= '<')-          goto yy738;-        if (yych <= 0x7F)-          goto yy739;-        if (yych >= 0xC2)-          goto yy740;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy742;-        if (yych == 0xED)-          goto yy747;-        goto yy743;-      } else {-        if (yych <= 0xF0)-          goto yy744;-        if (yych <= 0xF3)-          goto yy745;-        if (yych <= 0xF4)-          goto yy746;-      }-    }-  yy737 : { return 0; }-  yy738:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= '@') {-      if (yych == '/')-        goto yy750;-      goto yy737;-    } else {-      if (yych <= 'Z')-        goto yy748;-      if (yych <= '`')-        goto yy737;-      if (yych <= 'z')-        goto yy748;-      goto yy737;-    }-  yy739:-    yych = *++p;-    goto yy737;-  yy740:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy739;-  yy741:-    p = marker;-    if (yyaccept == 0) {-      goto yy737;-    } else {-      goto yy759;-    }-  yy742:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy740;-    goto yy741;-  yy743:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy740;-    goto yy741;-  yy744:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy743;-    goto yy741;-  yy745:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy743;-    goto yy741;-  yy746:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0x8F)-      goto yy743;-    goto yy741;-  yy747:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0x9F)-      goto yy740;-    goto yy741;-  yy748:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 1) {-      goto yy748;-    }-    if (yych <= ' ') {-      if (yych <= 0x08)-        goto yy741;-      if (yych <= '\r')-        goto yy761;-      if (yych <= 0x1F)-        goto yy741;-      goto yy761;-    } else {-      if (yych <= '/') {-        if (yych <= '.')-          goto yy741;-        goto yy763;-      } else {-        if (yych == '>')-          goto yy755;-        goto yy741;-      }-    }-  yy750:-    yych = *++p;-    if (yych <= '@')-      goto yy741;-    if (yych <= 'Z')-      goto yy751;-    if (yych <= '`')-      goto yy741;-    if (yych >= '{')-      goto yy741;-  yy751:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 2) {-      goto yy753;-    }-    if (yych <= '=') {-      if (yych <= '-') {-        if (yych <= ',')-          goto yy741;-        goto yy751;-      } else {-        if (yych <= '/')-          goto yy741;-        if (yych <= '9')-          goto yy751;-        goto yy741;-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '>')-          goto yy755;-        if (yych <= '@')-          goto yy741;-        goto yy751;-      } else {-        if (yych <= '`')-          goto yy741;-        if (yych <= 'z')-          goto yy751;-        goto yy741;-      }-    }-  yy753:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 2) {-      goto yy753;-    }-    if (yych != '>')-      goto yy741;-  yy755:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 4) {-      goto yy755;-    }-    if (yych <= 0x08)-      goto yy741;-    if (yych <= '\n')-      goto yy757;-    if (yych <= '\v')-      goto yy741;-    if (yych <= '\r')-      goto yy760;-    goto yy741;-  yy757:-    yyaccept = 1;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 4) {-      goto yy755;-    }-    if (yych <= 0x08)-      goto yy759;-    if (yych <= '\n')-      goto yy757;-    if (yych <= '\v')-      goto yy759;-    if (yych <= '\r')-      goto yy760;-  yy759 : { return 7; }-  yy760:-    yych = *++p;-    goto yy759;-  yy761:-    ++p;-    yych = *p;-    if (yych <= ':') {-      if (yych <= ' ') {-        if (yych <= 0x08)-          goto yy741;-        if (yych <= '\r')-          goto yy761;-        if (yych <= 0x1F)-          goto yy741;-        goto yy761;-      } else {-        if (yych == '/')-          goto yy763;-        if (yych <= '9')-          goto yy741;-        goto yy764;-      }-    } else {-      if (yych <= 'Z') {-        if (yych == '>')-          goto yy755;-        if (yych <= '@')-          goto yy741;-        goto yy764;-      } else {-        if (yych <= '_') {-          if (yych <= '^')-            goto yy741;-          goto yy764;-        } else {-          if (yych <= '`')-            goto yy741;-          if (yych <= 'z')-            goto yy764;-          goto yy741;-        }-      }-    }-  yy763:-    yych = *++p;-    if (yych == '>')-      goto yy755;-    goto yy741;-  yy764:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 16) {-      goto yy764;-    }-    if (yych <= ',') {-      if (yych <= '\r') {-        if (yych <= 0x08)-          goto yy741;-      } else {-        if (yych != ' ')-          goto yy741;-      }-    } else {-      if (yych <= '<') {-        if (yych <= '/')-          goto yy763;-        goto yy741;-      } else {-        if (yych <= '=')-          goto yy768;-        if (yych <= '>')-          goto yy755;-        goto yy741;-      }-    }-  yy766:-    ++p;-    yych = *p;-    if (yych <= '<') {-      if (yych <= ' ') {-        if (yych <= 0x08)-          goto yy741;-        if (yych <= '\r')-          goto yy766;-        if (yych <= 0x1F)-          goto yy741;-        goto yy766;-      } else {-        if (yych <= '/') {-          if (yych <= '.')-            goto yy741;-          goto yy763;-        } else {-          if (yych == ':')-            goto yy764;-          goto yy741;-        }-      }-    } else {-      if (yych <= 'Z') {-        if (yych <= '=')-          goto yy768;-        if (yych <= '>')-          goto yy755;-        if (yych <= '@')-          goto yy741;-        goto yy764;-      } else {-        if (yych <= '_') {-          if (yych <= '^')-            goto yy741;-          goto yy764;-        } else {-          if (yych <= '`')-            goto yy741;-          if (yych <= 'z')-            goto yy764;-          goto yy741;-        }-      }-    }-  yy768:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy770;-    }-    if (yych <= 0xE0) {-      if (yych <= '"') {-        if (yych <= 0x00)-          goto yy741;-        if (yych >= '!')-          goto yy781;-      } else {-        if (yych <= '\'')-          goto yy779;-        if (yych <= 0xC1)-          goto yy741;-        if (yych <= 0xDF)-          goto yy772;-        goto yy773;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy778;-        goto yy774;-      } else {-        if (yych <= 0xF0)-          goto yy775;-        if (yych <= 0xF3)-          goto yy776;-        if (yych <= 0xF4)-          goto yy777;-        goto yy741;-      }-    }-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy770;-    }-    if (yych <= 0xDF) {-      if (yych <= '\'') {-        if (yych <= 0x00)-          goto yy741;-        if (yych <= ' ')-          goto yy804;-        if (yych <= '"')-          goto yy781;-        goto yy779;-      } else {-        if (yych == '>')-          goto yy755;-        if (yych <= 0xC1)-          goto yy741;-        goto yy772;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy773;-        if (yych == 0xED)-          goto yy778;-        goto yy774;-      } else {-        if (yych <= 0xF0)-          goto yy775;-        if (yych <= 0xF3)-          goto yy776;-        if (yych <= 0xF4)-          goto yy777;-        goto yy741;-      }-    }-  yy770:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy770;-    }-    if (yych <= 0xE0) {-      if (yych <= '=') {-        if (yych <= 0x00)-          goto yy741;-        if (yych <= ' ')-          goto yy798;-        goto yy741;-      } else {-        if (yych <= '>')-          goto yy755;-        if (yych <= 0xC1)-          goto yy741;-        if (yych >= 0xE0)-          goto yy773;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy778;-        goto yy774;-      } else {-        if (yych <= 0xF0)-          goto yy775;-        if (yych <= 0xF3)-          goto yy776;-        if (yych <= 0xF4)-          goto yy777;-        goto yy741;-      }-    }-  yy772:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy770;-    goto yy741;-  yy773:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy772;-    goto yy741;-  yy774:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy772;-    goto yy741;-  yy775:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy774;-    goto yy741;-  yy776:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy774;-    goto yy741;-  yy777:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0x8F)-      goto yy774;-    goto yy741;-  yy778:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0x9F)-      goto yy772;-    goto yy741;-  yy779:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy779;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy741;-        if (yych <= '\'')-          goto yy790;-        goto yy741;-      } else {-        if (yych <= 0xDF)-          goto yy791;-        if (yych <= 0xE0)-          goto yy792;-        goto yy793;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy797;-        if (yych <= 0xEF)-          goto yy793;-        goto yy794;-      } else {-        if (yych <= 0xF3)-          goto yy795;-        if (yych <= 0xF4)-          goto yy796;-        goto yy741;-      }-    }-  yy781:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy781;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy741;-        if (yych <= '"')-          goto yy790;-        goto yy741;-      } else {-        if (yych <= 0xDF)-          goto yy783;-        if (yych <= 0xE0)-          goto yy784;-        goto yy785;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy789;-        if (yych <= 0xEF)-          goto yy785;-        goto yy786;-      } else {-        if (yych <= 0xF3)-          goto yy787;-        if (yych <= 0xF4)-          goto yy788;-        goto yy741;-      }-    }-  yy783:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy781;-    goto yy741;-  yy784:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy783;-    goto yy741;-  yy785:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy783;-    goto yy741;-  yy786:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy785;-    goto yy741;-  yy787:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy785;-    goto yy741;-  yy788:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0x8F)-      goto yy785;-    goto yy741;-  yy789:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0x9F)-      goto yy783;-    goto yy741;-  yy790:-    ++p;-    yych = *p;-    if (yych <= ' ') {-      if (yych <= 0x08)-        goto yy741;-      if (yych <= '\r')-        goto yy761;-      if (yych <= 0x1F)-        goto yy741;-      goto yy761;-    } else {-      if (yych <= '/') {-        if (yych <= '.')-          goto yy741;-        goto yy763;-      } else {-        if (yych == '>')-          goto yy755;-        goto yy741;-      }-    }-  yy791:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy779;-    goto yy741;-  yy792:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy791;-    goto yy741;-  yy793:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy791;-    goto yy741;-  yy794:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy793;-    goto yy741;-  yy795:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0xBF)-      goto yy793;-    goto yy741;-  yy796:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0x8F)-      goto yy793;-    goto yy741;-  yy797:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy741;-    if (yych <= 0x9F)-      goto yy791;-    goto yy741;-  yy798:-    ++p;-    yych = *p;-    if (yych <= '@') {-      if (yych <= '"') {-        if (yych <= '\r') {-          if (yych <= 0x00)-            goto yy741;-          if (yych <= 0x08)-            goto yy770;-          goto yy798;-        } else {-          if (yych == ' ')-            goto yy798;-          if (yych <= '!')-            goto yy770;-          goto yy741;-        }-      } else {-        if (yych <= ':') {-          if (yych == '\'')-            goto yy741;-          if (yych <= '9')-            goto yy770;-        } else {-          if (yych <= ';')-            goto yy770;-          if (yych <= '=')-            goto yy741;-          if (yych <= '>')-            goto yy755;-          goto yy770;-        }-      }-    } else {-      if (yych <= 0xDF) {-        if (yych <= '`') {-          if (yych <= 'Z')-            goto yy800;-          if (yych <= '^')-            goto yy770;-          if (yych >= '`')-            goto yy741;-        } else {-          if (yych <= 'z')-            goto yy800;-          if (yych <= 0x7F)-            goto yy770;-          if (yych <= 0xC1)-            goto yy741;-          goto yy772;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych <= 0xE0)-            goto yy773;-          if (yych == 0xED)-            goto yy778;-          goto yy774;-        } else {-          if (yych <= 0xF0)-            goto yy775;-          if (yych <= 0xF3)-            goto yy776;-          if (yych <= 0xF4)-            goto yy777;-          goto yy741;-        }-      }-    }-  yy800:-    ++p;-    yych = *p;-    if (yych <= '>') {-      if (yych <= '&') {-        if (yych <= 0x1F) {-          if (yych <= 0x00)-            goto yy741;-          if (yych <= 0x08)-            goto yy770;-          if (yych >= 0x0E)-            goto yy770;-        } else {-          if (yych <= ' ')-            goto yy802;-          if (yych == '"')-            goto yy741;-          goto yy770;-        }-      } else {-        if (yych <= '/') {-          if (yych <= '\'')-            goto yy741;-          if (yych <= ',')-            goto yy770;-          if (yych <= '.')-            goto yy800;-          goto yy770;-        } else {-          if (yych <= ';') {-            if (yych <= ':')-              goto yy800;-            goto yy770;-          } else {-            if (yych <= '<')-              goto yy741;-            if (yych <= '=')-              goto yy768;-            goto yy755;-          }-        }-      }-    } else {-      if (yych <= 0xC1) {-        if (yych <= '_') {-          if (yych <= '@')-            goto yy770;-          if (yych <= 'Z')-            goto yy800;-          if (yych <= '^')-            goto yy770;-          goto yy800;-        } else {-          if (yych <= '`')-            goto yy741;-          if (yych <= 'z')-            goto yy800;-          if (yych <= 0x7F)-            goto yy770;-          goto yy741;-        }-      } else {-        if (yych <= 0xED) {-          if (yych <= 0xDF)-            goto yy772;-          if (yych <= 0xE0)-            goto yy773;-          if (yych <= 0xEC)-            goto yy774;-          goto yy778;-        } else {-          if (yych <= 0xF0) {-            if (yych <= 0xEF)-              goto yy774;-            goto yy775;-          } else {-            if (yych <= 0xF3)-              goto yy776;-            if (yych <= 0xF4)-              goto yy777;-            goto yy741;-          }-        }-      }-    }-  yy802:-    ++p;-    yych = *p;-    if (yych <= '@') {-      if (yych <= '&') {-        if (yych <= 0x1F) {-          if (yych <= 0x00)-            goto yy741;-          if (yych <= 0x08)-            goto yy770;-          if (yych <= '\r')-            goto yy802;-          goto yy770;-        } else {-          if (yych <= ' ')-            goto yy802;-          if (yych == '"')-            goto yy741;-          goto yy770;-        }-      } else {-        if (yych <= ';') {-          if (yych <= '\'')-            goto yy741;-          if (yych == ':')-            goto yy800;-          goto yy770;-        } else {-          if (yych <= '<')-            goto yy741;-          if (yych <= '=')-            goto yy768;-          if (yych <= '>')-            goto yy755;-          goto yy770;-        }-      }-    } else {-      if (yych <= 0xDF) {-        if (yych <= '`') {-          if (yych <= 'Z')-            goto yy800;-          if (yych <= '^')-            goto yy770;-          if (yych <= '_')-            goto yy800;-          goto yy741;-        } else {-          if (yych <= 'z')-            goto yy800;-          if (yych <= 0x7F)-            goto yy770;-          if (yych <= 0xC1)-            goto yy741;-          goto yy772;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych <= 0xE0)-            goto yy773;-          if (yych == 0xED)-            goto yy778;-          goto yy774;-        } else {-          if (yych <= 0xF0)-            goto yy775;-          if (yych <= 0xF3)-            goto yy776;-          if (yych <= 0xF4)-            goto yy777;-          goto yy741;-        }-      }-    }-  yy804:-    ++p;-    yych = *p;-    if (yych <= '@') {-      if (yych <= '"') {-        if (yych <= '\r') {-          if (yych <= 0x00)-            goto yy741;-          if (yych <= 0x08)-            goto yy770;-          goto yy804;-        } else {-          if (yych == ' ')-            goto yy804;-          if (yych <= '!')-            goto yy770;-          goto yy781;-        }-      } else {-        if (yych <= ':') {-          if (yych == '\'')-            goto yy779;-          if (yych <= '9')-            goto yy770;-          goto yy800;-        } else {-          if (yych <= ';')-            goto yy770;-          if (yych <= '=')-            goto yy741;-          if (yych <= '>')-            goto yy755;-          goto yy770;-        }-      }-    } else {-      if (yych <= 0xDF) {-        if (yych <= '`') {-          if (yych <= 'Z')-            goto yy800;-          if (yych <= '^')-            goto yy770;-          if (yych <= '_')-            goto yy800;-          goto yy741;-        } else {-          if (yych <= 'z')-            goto yy800;-          if (yych <= 0x7F)-            goto yy770;-          if (yych <= 0xC1)-            goto yy741;-          goto yy772;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych <= 0xE0)-            goto yy773;-          if (yych == 0xED)-            goto yy778;-          goto yy774;-        } else {-          if (yych <= 0xF0)-            goto yy775;-          if (yych <= 0xF3)-            goto yy776;-          if (yych <= 0xF4)-            goto yy777;-          goto yy741;-        }-      }-    }-  }-}--// Try to match an HTML block end line of type 1-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[] = {-        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, 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,-        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 = *(marker = p);-    if (yych <= 0xDF) {-      if (yych <= ';') {-        if (yych != '\n')-          goto yy809;-      } else {-        if (yych <= '<')-          goto yy810;-        if (yych <= 0x7F)-          goto yy809;-        if (yych >= 0xC2)-          goto yy811;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy813;-        if (yych == 0xED)-          goto yy818;-        goto yy814;-      } else {-        if (yych <= 0xF0)-          goto yy815;-        if (yych <= 0xF3)-          goto yy816;-        if (yych <= 0xF4)-          goto yy817;-      }-    }-  yy808 : { return 0; }-  yy809:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= 0x7F) {-      if (yych == '\n')-        goto yy808;-      goto yy823;-    } else {-      if (yych <= 0xC1)-        goto yy808;-      if (yych <= 0xF4)-        goto yy823;-      goto yy808;-    }-  yy810:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= '/') {-      if (yych == '\n')-        goto yy808;-      if (yych <= '.')-        goto yy823;-      goto yy819;-    } else {-      if (yych <= 0x7F)-        goto yy823;-      if (yych <= 0xC1)-        goto yy808;-      if (yych <= 0xF4)-        goto yy823;-      goto yy808;-    }-  yy811:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy812;-    if (yych <= 0xBF)-      goto yy809;-  yy812:-    p = marker;-    if (yyaccept == 0) {-      goto yy808;-    } else {-      goto yy840;-    }-  yy813:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy812;-    if (yych <= 0xBF)-      goto yy811;-    goto yy812;-  yy814:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy812;-    if (yych <= 0xBF)-      goto yy811;-    goto yy812;-  yy815:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy812;-    if (yych <= 0xBF)-      goto yy814;-    goto yy812;-  yy816:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy812;-    if (yych <= 0xBF)-      goto yy814;-    goto yy812;-  yy817:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy812;-    if (yych <= 0x8F)-      goto yy814;-    goto yy812;-  yy818:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy812;-    if (yych <= 0x9F)-      goto yy811;-    goto yy812;-  yy819:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 's') {-      if (yych <= 'R') {-        if (yych <= '\n') {-          if (yych <= '\t')-            goto yy822;-          goto yy812;-        } else {-          if (yych == 'P')-            goto yy831;-          goto yy822;-        }-      } else {-        if (yych <= 'o') {-          if (yych <= 'S')-            goto yy832;-          goto yy822;-        } else {-          if (yych <= 'p')-            goto yy831;-          if (yych <= 'r')-            goto yy822;-          goto yy832;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= 0x7F)-            goto yy822;-          goto yy812;-        } else {-          if (yych <= 0xDF)-            goto yy824;-          if (yych <= 0xE0)-            goto yy825;-          goto yy826;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy830;-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-  yy820:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xDF) {-      if (yych <= '.') {-        if (yych == '\n')-          goto yy812;-      } else {-        if (yych <= '/')-          goto yy819;-        if (yych <= 0x7F)-          goto yy822;-        if (yych <= 0xC1)-          goto yy812;-        goto yy824;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy825;-        if (yych == 0xED)-          goto yy830;-        goto yy826;-      } else {-        if (yych <= 0xF0)-          goto yy827;-        if (yych <= 0xF3)-          goto yy828;-        if (yych <= 0xF4)-          goto yy829;-        goto yy812;-      }-    }-  yy822:-    ++p;-    yych = *p;-  yy823:-    if (yybm[0 + yych] & 128) {-      goto yy822;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy812;-        if (yych <= '<')-          goto yy820;-        goto yy812;-      } else {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        goto yy826;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy830;-        if (yych <= 0xEF)-          goto yy826;-        goto yy827;-      } else {-        if (yych <= 0xF3)-          goto yy828;-        if (yych <= 0xF4)-          goto yy829;-        goto yy812;-      }-    }-  yy824:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy812;-    if (yych <= 0xBF)-      goto yy822;-    goto yy812;-  yy825:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy812;-    if (yych <= 0xBF)-      goto yy824;-    goto yy812;-  yy826:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy812;-    if (yych <= 0xBF)-      goto yy824;-    goto yy812;-  yy827:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy812;-    if (yych <= 0xBF)-      goto yy826;-    goto yy812;-  yy828:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy812;-    if (yych <= 0xBF)-      goto yy826;-    goto yy812;-  yy829:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy812;-    if (yych <= 0x8F)-      goto yy826;-    goto yy812;-  yy830:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy812;-    if (yych <= 0x9F)-      goto yy824;-    goto yy812;-  yy831:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xC1) {-      if (yych <= 'R') {-        if (yych == '\n')-          goto yy812;-        if (yych <= 'Q')-          goto yy822;-        goto yy843;-      } else {-        if (yych == 'r')-          goto yy843;-        if (yych <= 0x7F)-          goto yy822;-        goto yy812;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        if (yych <= 0xEC)-          goto yy826;-        goto yy830;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-  yy832:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 't') {-      if (yych <= 'S') {-        if (yych <= '\n') {-          if (yych <= '\t')-            goto yy822;-          goto yy812;-        } else {-          if (yych == 'C')-            goto yy834;-          goto yy822;-        }-      } else {-        if (yych <= 'b') {-          if (yych >= 'U')-            goto yy822;-        } else {-          if (yych <= 'c')-            goto yy834;-          if (yych <= 's')-            goto yy822;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= 0x7F)-            goto yy822;-          goto yy812;-        } else {-          if (yych <= 0xDF)-            goto yy824;-          if (yych <= 0xE0)-            goto yy825;-          goto yy826;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy830;-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xC1) {-      if (yych <= 'Y') {-        if (yych == '\n')-          goto yy812;-        if (yych <= 'X')-          goto yy822;-        goto yy841;-      } else {-        if (yych == 'y')-          goto yy841;-        if (yych <= 0x7F)-          goto yy822;-        goto yy812;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        if (yych <= 0xEC)-          goto yy826;-        goto yy830;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-  yy834:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xC1) {-      if (yych <= 'R') {-        if (yych == '\n')-          goto yy812;-        if (yych <= 'Q')-          goto yy822;-      } else {-        if (yych == 'r')-          goto yy835;-        if (yych <= 0x7F)-          goto yy822;-        goto yy812;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        if (yych <= 0xEC)-          goto yy826;-        goto yy830;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-  yy835:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xC1) {-      if (yych <= 'I') {-        if (yych == '\n')-          goto yy812;-        if (yych <= 'H')-          goto yy822;-      } else {-        if (yych == 'i')-          goto yy836;-        if (yych <= 0x7F)-          goto yy822;-        goto yy812;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        if (yych <= 0xEC)-          goto yy826;-        goto yy830;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-  yy836:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xC1) {-      if (yych <= 'P') {-        if (yych == '\n')-          goto yy812;-        if (yych <= 'O')-          goto yy822;-      } else {-        if (yych == 'p')-          goto yy837;-        if (yych <= 0x7F)-          goto yy822;-        goto yy812;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        if (yych <= 0xEC)-          goto yy826;-        goto yy830;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-  yy837:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xC1) {-      if (yych <= 'T') {-        if (yych == '\n')-          goto yy812;-        if (yych <= 'S')-          goto yy822;-      } else {-        if (yych == 't')-          goto yy838;-        if (yych <= 0x7F)-          goto yy822;-        goto yy812;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        if (yych <= 0xEC)-          goto yy826;-        goto yy830;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-  yy838:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xDF) {-      if (yych <= '=') {-        if (yych == '\n')-          goto yy812;-        goto yy822;-      } else {-        if (yych <= '>')-          goto yy839;-        if (yych <= 0x7F)-          goto yy822;-        if (yych <= 0xC1)-          goto yy812;-        goto yy824;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy825;-        if (yych == 0xED)-          goto yy830;-        goto yy826;-      } else {-        if (yych <= 0xF0)-          goto yy827;-        if (yych <= 0xF3)-          goto yy828;-        if (yych <= 0xF4)-          goto yy829;-        goto yy812;-      }-    }-  yy839:-    yyaccept = 1;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy822;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy840;-        if (yych <= '<')-          goto yy820;-      } else {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        goto yy826;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy830;-        if (yych <= 0xEF)-          goto yy826;-        goto yy827;-      } else {-        if (yych <= 0xF3)-          goto yy828;-        if (yych <= 0xF4)-          goto yy829;-      }-    }-  yy840 : { return (bufsize_t)(p - start); }-  yy841:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xC1) {-      if (yych <= 'L') {-        if (yych == '\n')-          goto yy812;-        if (yych <= 'K')-          goto yy822;-      } else {-        if (yych == 'l')-          goto yy842;-        if (yych <= 0x7F)-          goto yy822;-        goto yy812;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        if (yych <= 0xEC)-          goto yy826;-        goto yy830;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-  yy842:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xC1) {-      if (yych <= 'E') {-        if (yych == '\n')-          goto yy812;-        if (yych <= 'D')-          goto yy822;-        goto yy838;-      } else {-        if (yych == 'e')-          goto yy838;-        if (yych <= 0x7F)-          goto yy822;-        goto yy812;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        if (yych <= 0xEC)-          goto yy826;-        goto yy830;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-  yy843:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy820;-    }-    if (yych <= 0xC1) {-      if (yych <= 'E') {-        if (yych == '\n')-          goto yy812;-        if (yych <= 'D')-          goto yy822;-        goto yy838;-      } else {-        if (yych == 'e')-          goto yy838;-        if (yych <= 0x7F)-          goto yy822;-        goto yy812;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy824;-        if (yych <= 0xE0)-          goto yy825;-        if (yych <= 0xEC)-          goto yy826;-        goto yy830;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy826;-          goto yy827;-        } else {-          if (yych <= 0xF3)-            goto yy828;-          if (yych <= 0xF4)-            goto yy829;-          goto yy812;-        }-      }-    }-  }-}--// Try to match an HTML block end line of type 2-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[] = {-        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, 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, 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 = *(marker = p);-    if (yych <= 0xDF) {-      if (yych <= ',') {-        if (yych != '\n')-          goto yy847;-      } else {-        if (yych <= '-')-          goto yy848;-        if (yych <= 0x7F)-          goto yy847;-        if (yych >= 0xC2)-          goto yy849;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy851;-        if (yych == 0xED)-          goto yy856;-        goto yy852;-      } else {-        if (yych <= 0xF0)-          goto yy853;-        if (yych <= 0xF3)-          goto yy854;-        if (yych <= 0xF4)-          goto yy855;-      }-    }-  yy846 : { return 0; }-  yy847:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= 0x7F) {-      if (yych == '\n')-        goto yy846;-      goto yy860;-    } else {-      if (yych <= 0xC1)-        goto yy846;-      if (yych <= 0xF4)-        goto yy860;-      goto yy846;-    }-  yy848:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yybm[0 + yych] & 64) {-      goto yy857;-    }-    if (yych <= 0x7F) {-      if (yych == '\n')-        goto yy846;-      goto yy860;-    } else {-      if (yych <= 0xC1)-        goto yy846;-      if (yych <= 0xF4)-        goto yy860;-      goto yy846;-    }-  yy849:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy850;-    if (yych <= 0xBF)-      goto yy847;-  yy850:-    p = marker;-    if (yyaccept == 0) {-      goto yy846;-    } else {-      goto yy870;-    }-  yy851:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy850;-    if (yych <= 0xBF)-      goto yy849;-    goto yy850;-  yy852:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy850;-    if (yych <= 0xBF)-      goto yy849;-    goto yy850;-  yy853:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy850;-    if (yych <= 0xBF)-      goto yy852;-    goto yy850;-  yy854:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy850;-    if (yych <= 0xBF)-      goto yy852;-    goto yy850;-  yy855:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy850;-    if (yych <= 0x8F)-      goto yy852;-    goto yy850;-  yy856:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy850;-    if (yych <= 0x9F)-      goto yy849;-    goto yy850;-  yy857:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy857;-    }-    if (yych <= 0xDF) {-      if (yych <= '=') {-        if (yych == '\n')-          goto yy850;-      } else {-        if (yych <= '>')-          goto yy869;-        if (yych <= 0x7F)-          goto yy859;-        if (yych <= 0xC1)-          goto yy850;-        goto yy861;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy862;-        if (yych == 0xED)-          goto yy867;-        goto yy863;-      } else {-        if (yych <= 0xF0)-          goto yy864;-        if (yych <= 0xF3)-          goto yy865;-        if (yych <= 0xF4)-          goto yy866;-        goto yy850;-      }-    }-  yy859:-    ++p;-    yych = *p;-  yy860:-    if (yybm[0 + yych] & 128) {-      goto yy859;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy850;-        if (yych <= '-')-          goto yy868;-        goto yy850;-      } else {-        if (yych <= 0xDF)-          goto yy861;-        if (yych <= 0xE0)-          goto yy862;-        goto yy863;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy867;-        if (yych <= 0xEF)-          goto yy863;-        goto yy864;-      } else {-        if (yych <= 0xF3)-          goto yy865;-        if (yych <= 0xF4)-          goto yy866;-        goto yy850;-      }-    }-  yy861:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy850;-    if (yych <= 0xBF)-      goto yy859;-    goto yy850;-  yy862:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy850;-    if (yych <= 0xBF)-      goto yy861;-    goto yy850;-  yy863:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy850;-    if (yych <= 0xBF)-      goto yy861;-    goto yy850;-  yy864:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy850;-    if (yych <= 0xBF)-      goto yy863;-    goto yy850;-  yy865:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy850;-    if (yych <= 0xBF)-      goto yy863;-    goto yy850;-  yy866:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy850;-    if (yych <= 0x8F)-      goto yy863;-    goto yy850;-  yy867:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy850;-    if (yych <= 0x9F)-      goto yy861;-    goto yy850;-  yy868:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy859;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy850;-        if (yych <= '-')-          goto yy857;-        goto yy850;-      } else {-        if (yych <= 0xDF)-          goto yy861;-        if (yych <= 0xE0)-          goto yy862;-        goto yy863;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy867;-        if (yych <= 0xEF)-          goto yy863;-        goto yy864;-      } else {-        if (yych <= 0xF3)-          goto yy865;-        if (yych <= 0xF4)-          goto yy866;-        goto yy850;-      }-    }-  yy869:-    yyaccept = 1;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy859;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy870;-        if (yych <= '-')-          goto yy868;-      } else {-        if (yych <= 0xDF)-          goto yy861;-        if (yych <= 0xE0)-          goto yy862;-        goto yy863;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy867;-        if (yych <= 0xEF)-          goto yy863;-        goto yy864;-      } else {-        if (yych <= 0xF3)-          goto yy865;-        if (yych <= 0xF4)-          goto yy866;-      }-    }-  yy870 : { 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) {-  const unsigned char *marker = NULL;-  const unsigned char *start = p;--  {-    unsigned char yych;-    unsigned int yyaccept = 0;-    static const unsigned char yybm[] = {-        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, 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, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);-    if (yych <= 0xDF) {-      if (yych <= '>') {-        if (yych != '\n')-          goto yy874;-      } else {-        if (yych <= '?')-          goto yy875;-        if (yych <= 0x7F)-          goto yy874;-        if (yych >= 0xC2)-          goto yy876;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy878;-        if (yych == 0xED)-          goto yy883;-        goto yy879;-      } else {-        if (yych <= 0xF0)-          goto yy880;-        if (yych <= 0xF3)-          goto yy881;-        if (yych <= 0xF4)-          goto yy882;-      }-    }-  yy873 : { return 0; }-  yy874:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= 0x7F) {-      if (yych == '\n')-        goto yy873;-      goto yy889;-    } else {-      if (yych <= 0xC1)-        goto yy873;-      if (yych <= 0xF4)-        goto yy889;-      goto yy873;-    }-  yy875:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= '>') {-      if (yych == '\n')-        goto yy873;-      if (yych <= '=')-        goto yy889;-      goto yy884;-    } else {-      if (yych <= 0x7F)-        goto yy889;-      if (yych <= 0xC1)-        goto yy873;-      if (yych <= 0xF4)-        goto yy889;-      goto yy873;-    }-  yy876:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy877;-    if (yych <= 0xBF)-      goto yy874;-  yy877:-    p = marker;-    if (yyaccept == 0) {-      goto yy873;-    } else {-      goto yy885;-    }-  yy878:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy877;-    if (yych <= 0xBF)-      goto yy876;-    goto yy877;-  yy879:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy877;-    if (yych <= 0xBF)-      goto yy876;-    goto yy877;-  yy880:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy877;-    if (yych <= 0xBF)-      goto yy879;-    goto yy877;-  yy881:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy877;-    if (yych <= 0xBF)-      goto yy879;-    goto yy877;-  yy882:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy877;-    if (yych <= 0x8F)-      goto yy879;-    goto yy877;-  yy883:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy877;-    if (yych <= 0x9F)-      goto yy876;-    goto yy877;-  yy884:-    yyaccept = 1;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy888;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy885;-        if (yych <= '?')-          goto yy886;-      } else {-        if (yych <= 0xDF)-          goto yy890;-        if (yych <= 0xE0)-          goto yy891;-        goto yy892;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy896;-        if (yych <= 0xEF)-          goto yy892;-        goto yy893;-      } else {-        if (yych <= 0xF3)-          goto yy894;-        if (yych <= 0xF4)-          goto yy895;-      }-    }-  yy885 : { return (bufsize_t)(p - start); }-  yy886:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy886;-    }-    if (yych <= 0xDF) {-      if (yych <= '=') {-        if (yych == '\n')-          goto yy877;-      } else {-        if (yych <= '>')-          goto yy884;-        if (yych <= 0x7F)-          goto yy888;-        if (yych <= 0xC1)-          goto yy877;-        goto yy890;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy891;-        if (yych == 0xED)-          goto yy896;-        goto yy892;-      } else {-        if (yych <= 0xF0)-          goto yy893;-        if (yych <= 0xF3)-          goto yy894;-        if (yych <= 0xF4)-          goto yy895;-        goto yy877;-      }-    }-  yy888:-    ++p;-    yych = *p;-  yy889:-    if (yybm[0 + yych] & 128) {-      goto yy888;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy877;-        if (yych <= '?')-          goto yy886;-        goto yy877;-      } else {-        if (yych <= 0xDF)-          goto yy890;-        if (yych <= 0xE0)-          goto yy891;-        goto yy892;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy896;-        if (yych <= 0xEF)-          goto yy892;-        goto yy893;-      } else {-        if (yych <= 0xF3)-          goto yy894;-        if (yych <= 0xF4)-          goto yy895;-        goto yy877;-      }-    }-  yy890:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy877;-    if (yych <= 0xBF)-      goto yy888;-    goto yy877;-  yy891:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy877;-    if (yych <= 0xBF)-      goto yy890;-    goto yy877;-  yy892:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy877;-    if (yych <= 0xBF)-      goto yy890;-    goto yy877;-  yy893:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy877;-    if (yych <= 0xBF)-      goto yy892;-    goto yy877;-  yy894:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy877;-    if (yych <= 0xBF)-      goto yy892;-    goto yy877;-  yy895:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy877;-    if (yych <= 0x8F)-      goto yy892;-    goto yy877;-  yy896:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy877;-    if (yych <= 0x9F)-      goto yy890;-    goto yy877;-  }-}--// Try to match an HTML block end line of type 4-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[] = {-        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, 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 = *(marker = p);-    if (yych <= 0xDF) {-      if (yych <= '=') {-        if (yych != '\n')-          goto yy900;-      } else {-        if (yych <= '>')-          goto yy901;-        if (yych <= 0x7F)-          goto yy900;-        if (yych >= 0xC2)-          goto yy903;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy905;-        if (yych == 0xED)-          goto yy910;-        goto yy906;-      } else {-        if (yych <= 0xF0)-          goto yy907;-        if (yych <= 0xF3)-          goto yy908;-        if (yych <= 0xF4)-          goto yy909;-      }-    }-  yy899 : { return 0; }-  yy900:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= 0x7F) {-      if (yych == '\n')-        goto yy899;-      goto yy914;-    } else {-      if (yych <= 0xC1)-        goto yy899;-      if (yych <= 0xF4)-        goto yy914;-      goto yy899;-    }-  yy901:-    yyaccept = 1;-    yych = *(marker = ++p);-    if (yych <= 0x7F) {-      if (yych != '\n')-        goto yy914;-    } else {-      if (yych <= 0xC1)-        goto yy902;-      if (yych <= 0xF4)-        goto yy914;-    }-  yy902 : { return (bufsize_t)(p - start); }-  yy903:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy904;-    if (yych <= 0xBF)-      goto yy900;-  yy904:-    p = marker;-    if (yyaccept == 0) {-      goto yy899;-    } else {-      goto yy902;-    }-  yy905:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy904;-    if (yych <= 0xBF)-      goto yy903;-    goto yy904;-  yy906:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy904;-    if (yych <= 0xBF)-      goto yy903;-    goto yy904;-  yy907:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy904;-    if (yych <= 0xBF)-      goto yy906;-    goto yy904;-  yy908:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy904;-    if (yych <= 0xBF)-      goto yy906;-    goto yy904;-  yy909:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy904;-    if (yych <= 0x8F)-      goto yy906;-    goto yy904;-  yy910:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy904;-    if (yych <= 0x9F)-      goto yy903;-    goto yy904;-  yy911:-    yyaccept = 1;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy913;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy902;-        if (yych <= '>')-          goto yy911;-        goto yy902;-      } else {-        if (yych <= 0xDF)-          goto yy915;-        if (yych <= 0xE0)-          goto yy916;-        goto yy917;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy921;-        if (yych <= 0xEF)-          goto yy917;-        goto yy918;-      } else {-        if (yych <= 0xF3)-          goto yy919;-        if (yych <= 0xF4)-          goto yy920;-        goto yy902;-      }-    }-  yy913:-    ++p;-    yych = *p;-  yy914:-    if (yybm[0 + yych] & 128) {-      goto yy913;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy904;-        if (yych <= '>')-          goto yy911;-        goto yy904;-      } else {-        if (yych <= 0xDF)-          goto yy915;-        if (yych <= 0xE0)-          goto yy916;-        goto yy917;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy921;-        if (yych <= 0xEF)-          goto yy917;-        goto yy918;-      } else {-        if (yych <= 0xF3)-          goto yy919;-        if (yych <= 0xF4)-          goto yy920;-        goto yy904;-      }-    }-  yy915:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy904;-    if (yych <= 0xBF)-      goto yy913;-    goto yy904;-  yy916:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy904;-    if (yych <= 0xBF)-      goto yy915;-    goto yy904;-  yy917:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy904;-    if (yych <= 0xBF)-      goto yy915;-    goto yy904;-  yy918:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy904;-    if (yych <= 0xBF)-      goto yy917;-    goto yy904;-  yy919:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy904;-    if (yych <= 0xBF)-      goto yy917;-    goto yy904;-  yy920:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy904;-    if (yych <= 0x8F)-      goto yy917;-    goto yy904;-  yy921:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy904;-    if (yych <= 0x9F)-      goto yy915;-    goto yy904;-  }-}--// Try to match an HTML block end line of type 5-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[] = {-        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, 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, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);-    if (yych <= 0xDF) {-      if (yych <= '\\') {-        if (yych != '\n')-          goto yy925;-      } else {-        if (yych <= ']')-          goto yy926;-        if (yych <= 0x7F)-          goto yy925;-        if (yych >= 0xC2)-          goto yy927;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy929;-        if (yych == 0xED)-          goto yy934;-        goto yy930;-      } else {-        if (yych <= 0xF0)-          goto yy931;-        if (yych <= 0xF3)-          goto yy932;-        if (yych <= 0xF4)-          goto yy933;-      }-    }-  yy924 : { return 0; }-  yy925:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= 0x7F) {-      if (yych == '\n')-        goto yy924;-      goto yy938;-    } else {-      if (yych <= 0xC1)-        goto yy924;-      if (yych <= 0xF4)-        goto yy938;-      goto yy924;-    }-  yy926:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yybm[0 + yych] & 64) {-      goto yy935;-    }-    if (yych <= 0x7F) {-      if (yych == '\n')-        goto yy924;-      goto yy938;-    } else {-      if (yych <= 0xC1)-        goto yy924;-      if (yych <= 0xF4)-        goto yy938;-      goto yy924;-    }-  yy927:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy928;-    if (yych <= 0xBF)-      goto yy925;-  yy928:-    p = marker;-    if (yyaccept == 0) {-      goto yy924;-    } else {-      goto yy948;-    }-  yy929:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy928;-    if (yych <= 0xBF)-      goto yy927;-    goto yy928;-  yy930:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy928;-    if (yych <= 0xBF)-      goto yy927;-    goto yy928;-  yy931:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy928;-    if (yych <= 0xBF)-      goto yy930;-    goto yy928;-  yy932:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy928;-    if (yych <= 0xBF)-      goto yy930;-    goto yy928;-  yy933:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy928;-    if (yych <= 0x8F)-      goto yy930;-    goto yy928;-  yy934:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy928;-    if (yych <= 0x9F)-      goto yy927;-    goto yy928;-  yy935:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy935;-    }-    if (yych <= 0xDF) {-      if (yych <= '=') {-        if (yych == '\n')-          goto yy928;-      } else {-        if (yych <= '>')-          goto yy947;-        if (yych <= 0x7F)-          goto yy937;-        if (yych <= 0xC1)-          goto yy928;-        goto yy939;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy940;-        if (yych == 0xED)-          goto yy945;-        goto yy941;-      } else {-        if (yych <= 0xF0)-          goto yy942;-        if (yych <= 0xF3)-          goto yy943;-        if (yych <= 0xF4)-          goto yy944;-        goto yy928;-      }-    }-  yy937:-    ++p;-    yych = *p;-  yy938:-    if (yybm[0 + yych] & 128) {-      goto yy937;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy928;-        if (yych <= ']')-          goto yy946;-        goto yy928;-      } else {-        if (yych <= 0xDF)-          goto yy939;-        if (yych <= 0xE0)-          goto yy940;-        goto yy941;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy945;-        if (yych <= 0xEF)-          goto yy941;-        goto yy942;-      } else {-        if (yych <= 0xF3)-          goto yy943;-        if (yych <= 0xF4)-          goto yy944;-        goto yy928;-      }-    }-  yy939:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy928;-    if (yych <= 0xBF)-      goto yy937;-    goto yy928;-  yy940:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy928;-    if (yych <= 0xBF)-      goto yy939;-    goto yy928;-  yy941:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy928;-    if (yych <= 0xBF)-      goto yy939;-    goto yy928;-  yy942:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy928;-    if (yych <= 0xBF)-      goto yy941;-    goto yy928;-  yy943:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy928;-    if (yych <= 0xBF)-      goto yy941;-    goto yy928;-  yy944:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy928;-    if (yych <= 0x8F)-      goto yy941;-    goto yy928;-  yy945:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy928;-    if (yych <= 0x9F)-      goto yy939;-    goto yy928;-  yy946:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy937;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy928;-        if (yych <= ']')-          goto yy935;-        goto yy928;-      } else {-        if (yych <= 0xDF)-          goto yy939;-        if (yych <= 0xE0)-          goto yy940;-        goto yy941;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy945;-        if (yych <= 0xEF)-          goto yy941;-        goto yy942;-      } else {-        if (yych <= 0xF3)-          goto yy943;-        if (yych <= 0xF4)-          goto yy944;-        goto yy928;-      }-    }-  yy947:-    yyaccept = 1;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy937;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= '\n')-          goto yy948;-        if (yych <= ']')-          goto yy946;-      } else {-        if (yych <= 0xDF)-          goto yy939;-        if (yych <= 0xE0)-          goto yy940;-        goto yy941;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy945;-        if (yych <= 0xEF)-          goto yy941;-        goto yy942;-      } else {-        if (yych <= 0xF3)-          goto yy943;-        if (yych <= 0xF4)-          goto yy944;-      }-    }-  yy948 : { return (bufsize_t)(p - start); }-  }-}--// Try to match a URL in a link or reference, return number of chars matched.-// This may optionally be contained in <..>; otherwise-// whitespace and unbalanced right parentheses aren't allowed.-// Newlines aren't ever allowed.-bufsize_t _scan_link_url(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, 0,   8,   128, 128, 8,-        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,-        128, 128, 128, 128, 8,   224, 224, 224, 224, 224, 224, 224, 128, 128,-        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,-        224, 224, 224, 224, 32,  224, 32,  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, 224, 224, 224, 16,  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, 224, 224, 224, 224, 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 = *(marker = p);-    if (yych <= '[') {-      if (yych <= ' ') {-        if (yych <= '\f') {-          if (yych == '\n')-            goto yy952;-          goto yy968;-        } else {-          if (yych <= '\r')-            goto yy954;-          if (yych <= 0x1F)-            goto yy968;-          goto yy954;-        }-      } else {-        if (yych <= ')') {-          if (yych <= '\'')-            goto yy956;-          if (yych <= '(')-            goto yy966;-          goto yy968;-        } else {-          if (yych == '<')-            goto yy955;-          goto yy956;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= '\\')-            goto yy965;-          if (yych <= 0x7F)-            goto yy956;-        } else {-          if (yych <= 0xDF)-            goto yy957;-          if (yych <= 0xE0)-            goto yy959;-          goto yy960;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy964;-          if (yych <= 0xEF)-            goto yy960;-          goto yy961;-        } else {-          if (yych <= 0xF3)-            goto yy962;-          if (yych <= 0xF4)-            goto yy963;-        }-      }-    }-  yy951 : { return (bufsize_t)(p - start); }-  yy952:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-  yy953:-    if (yybm[0 + yych] & 8) {-      goto yy952;-    }-    if (yych <= 0x7F) {-      if (yych <= ')') {-        if (yych <= 0x1F)-          goto yy951;-        if (yych <= '\'')-          goto yy980;-        if (yych <= '(')-          goto yy971;-        goto yy951;-      } else {-        if (yych <= '<') {-          if (yych <= ';')-            goto yy980;-          goto yy1016;-        } else {-          if (yych == '\\')-            goto yy982;-          goto yy980;-        }-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF) {-          if (yych <= 0xC1)-            goto yy951;-          goto yy983;-        } else {-          if (yych <= 0xE0)-            goto yy984;-          if (yych <= 0xEC)-            goto yy985;-          goto yy989;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy985;-          goto yy986;-        } else {-          if (yych <= 0xF3)-            goto yy987;-          if (yych <= 0xF4)-            goto yy988;-          goto yy951;-        }-      }-    }-  yy954:-    yyaccept = 0;-    yych = *(marker = ++p);-    goto yy953;-  yy955:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yybm[0 + yych] & 64) {-      goto yy1016;-    }-    if (yych <= '>') {-      if (yych <= '\r') {-        if (yych <= 0x08) {-          if (yych <= 0x00)-            goto yy951;-          goto yy1029;-        } else {-          if (yych <= '\n')-            goto yy951;-          if (yych <= '\f')-            goto yy1029;-          goto yy951;-        }-      } else {-        if (yych <= '(') {-          if (yych <= 0x1F)-            goto yy1029;-          if (yych <= ' ')-            goto yy951;-          goto yy1027;-        } else {-          if (yych <= ')')-            goto yy1029;-          if (yych <= '<')-            goto yy980;-          goto yy1018;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= '\\')-            goto yy1015;-          goto yy951;-        } else {-          if (yych <= 0xDF)-            goto yy1020;-          if (yych <= 0xE0)-            goto yy1021;-          goto yy1022;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy1026;-          if (yych <= 0xEF)-            goto yy1022;-          goto yy1023;-        } else {-          if (yych <= 0xF3)-            goto yy1024;-          if (yych <= 0xF4)-            goto yy1025;-          goto yy951;-        }-      }-    }-  yy956:-    yyaccept = 0;-    yych = *(marker = ++p);-    goto yy981;-  yy957:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy956;-  yy958:-    p = marker;-    if (yyaccept <= 1) {-      if (yyaccept == 0) {-        goto yy951;-      } else {-        goto yy967;-      }-    } else {-      goto yy1019;-    }-  yy959:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy957;-    goto yy958;-  yy960:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy957;-    goto yy958;-  yy961:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy960;-    goto yy958;-  yy962:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy960;-    goto yy958;-  yy963:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy960;-    goto yy958;-  yy964:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy957;-    goto yy958;-  yy965:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= 0xDF) {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy980;-        if (yych <= '\r')-          goto yy951;-        goto yy980;-      } else {-        if (yych <= ' ')-          goto yy951;-        if (yych <= 0x7F)-          goto yy980;-        if (yych <= 0xC1)-          goto yy951;-        goto yy990;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy991;-        if (yych == 0xED)-          goto yy996;-        goto yy992;-      } else {-        if (yych <= 0xF0)-          goto yy993;-        if (yych <= 0xF3)-          goto yy994;-        if (yych <= 0xF4)-          goto yy995;-        goto yy951;-      }-    }-  yy966:-    yyaccept = 1;-    yych = *(marker = ++p);-    if (yych <= '(') {-      if (yych <= ' ')-        goto yy967;-      if (yych <= '\'')-        goto yy972;-    } else {-      if (yych <= 0x7F)-        goto yy972;-      if (yych <= 0xC1)-        goto yy967;-      if (yych <= 0xF4)-        goto yy972;-    }-  yy967 : { return 0; }-  yy968:-    yych = *++p;-    goto yy967;-  yy969:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 16) {-      goto yy969;-    }-    if (yych <= 0xE0) {-      if (yych <= ')') {-        if (yych <= ' ')-          goto yy958;-        if (yych >= ')')-          goto yy997;-      } else {-        if (yych <= 0x7F)-          goto yy971;-        if (yych <= 0xC1)-          goto yy958;-        if (yych <= 0xDF)-          goto yy973;-        goto yy974;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy979;-        goto yy975;-      } else {-        if (yych <= 0xF0)-          goto yy976;-        if (yych <= 0xF3)-          goto yy977;-        if (yych <= 0xF4)-          goto yy978;-        goto yy958;-      }-    }-  yy971:-    ++p;-    yych = *p;-  yy972:-    if (yybm[0 + yych] & 32) {-      goto yy971;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= '(')-          goto yy958;-        if (yych <= ')')-          goto yy980;-        goto yy969;-      } else {-        if (yych <= 0xC1)-          goto yy958;-        if (yych >= 0xE0)-          goto yy974;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy979;-        goto yy975;-      } else {-        if (yych <= 0xF0)-          goto yy976;-        if (yych <= 0xF3)-          goto yy977;-        if (yych <= 0xF4)-          goto yy978;-        goto yy958;-      }-    }-  yy973:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy971;-    goto yy958;-  yy974:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy973;-    goto yy958;-  yy975:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy973;-    goto yy958;-  yy976:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy975;-    goto yy958;-  yy977:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy975;-    goto yy958;-  yy978:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy975;-    goto yy958;-  yy979:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy973;-    goto yy958;-  yy980:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-  yy981:-    if (yych <= 0xC1) {-      if (yych <= ')') {-        if (yych <= ' ')-          goto yy951;-        if (yych <= '\'')-          goto yy980;-        if (yych <= '(')-          goto yy971;-        goto yy951;-      } else {-        if (yych == '\\')-          goto yy982;-        if (yych <= 0x7F)-          goto yy980;-        goto yy951;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy983;-        if (yych <= 0xE0)-          goto yy984;-        if (yych <= 0xEC)-          goto yy985;-        goto yy989;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy985;-          goto yy986;-        } else {-          if (yych <= 0xF3)-            goto yy987;-          if (yych <= 0xF4)-            goto yy988;-          goto yy951;-        }-      }-    }-  yy982:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-    if (yych <= 0xDF) {-      if (yych <= 0x1F) {-        if (yych <= 0x08)-          goto yy980;-        if (yych <= '\r')-          goto yy951;-        goto yy980;-      } else {-        if (yych <= ' ')-          goto yy951;-        if (yych <= 0x7F)-          goto yy980;-        if (yych <= 0xC1)-          goto yy951;-        goto yy990;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy991;-        if (yych == 0xED)-          goto yy996;-        goto yy992;-      } else {-        if (yych <= 0xF0)-          goto yy993;-        if (yych <= 0xF3)-          goto yy994;-        if (yych <= 0xF4)-          goto yy995;-        goto yy951;-      }-    }-  yy983:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy980;-    goto yy958;-  yy984:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy983;-    goto yy958;-  yy985:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy983;-    goto yy958;-  yy986:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy985;-    goto yy958;-  yy987:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy985;-    goto yy958;-  yy988:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy985;-    goto yy958;-  yy989:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy983;-    goto yy958;-  yy990:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy980;-    goto yy958;-  yy991:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy990;-    goto yy958;-  yy992:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy990;-    goto yy958;-  yy993:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy992;-    goto yy958;-  yy994:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy992;-    goto yy958;-  yy995:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy992;-    goto yy958;-  yy996:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy990;-    goto yy958;-  yy997:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-  yy998:-    if (yych <= 0xC1) {-      if (yych <= ')') {-        if (yych <= ' ')-          goto yy951;-        if (yych <= '\'')-          goto yy997;-        if (yych <= '(')-          goto yy971;-        goto yy980;-      } else {-        if (yych == '\\')-          goto yy999;-        if (yych <= 0x7F)-          goto yy997;-        goto yy951;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy1000;-        if (yych <= 0xE0)-          goto yy1001;-        if (yych <= 0xEC)-          goto yy1002;-        goto yy1006;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy1002;-          goto yy1003;-        } else {-          if (yych <= 0xF3)-            goto yy1004;-          if (yych <= 0xF4)-            goto yy1005;-          goto yy951;-        }-      }-    }-  yy999:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-    if (yych <= 0xC1) {-      if (yych <= ' ') {-        if (yych <= 0x08)-          goto yy980;-        if (yych <= '\r')-          goto yy951;-        if (yych <= 0x1F)-          goto yy980;-        goto yy951;-      } else {-        if (yych == '\\')-          goto yy1007;-        if (yych <= 0x7F)-          goto yy997;-        goto yy951;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy1008;-        if (yych <= 0xE0)-          goto yy1009;-        if (yych <= 0xEC)-          goto yy1010;-        goto yy1014;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy1010;-          goto yy1011;-        } else {-          if (yych <= 0xF3)-            goto yy1012;-          if (yych <= 0xF4)-            goto yy1013;-          goto yy951;-        }-      }-    }-  yy1000:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy997;-    goto yy958;-  yy1001:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1000;-    goto yy958;-  yy1002:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1000;-    goto yy958;-  yy1003:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1002;-    goto yy958;-  yy1004:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1002;-    goto yy958;-  yy1005:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy1002;-    goto yy958;-  yy1006:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy1000;-    goto yy958;-  yy1007:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-    if (yych <= 0xDF) {-      if (yych <= '[') {-        if (yych <= ' ')-          goto yy951;-        if (yych == '(')-          goto yy971;-        goto yy997;-      } else {-        if (yych <= '\\')-          goto yy999;-        if (yych <= 0x7F)-          goto yy997;-        if (yych <= 0xC1)-          goto yy951;-        goto yy1000;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy1001;-        if (yych == 0xED)-          goto yy1006;-        goto yy1002;-      } else {-        if (yych <= 0xF0)-          goto yy1003;-        if (yych <= 0xF3)-          goto yy1004;-        if (yych <= 0xF4)-          goto yy1005;-        goto yy951;-      }-    }-  yy1008:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy997;-    goto yy958;-  yy1009:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1008;-    goto yy958;-  yy1010:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1008;-    goto yy958;-  yy1011:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1010;-    goto yy958;-  yy1012:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1010;-    goto yy958;-  yy1013:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy1010;-    goto yy958;-  yy1014:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy1008;-    goto yy958;-  yy1015:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-    if (yych <= '\\') {-      if (yych <= '\r') {-        if (yych <= 0x08) {-          if (yych <= 0x00)-            goto yy980;-        } else {-          if (yych <= '\n')-            goto yy951;-          if (yych <= '\f')-            goto yy1029;-          goto yy951;-        }-      } else {-        if (yych <= '=') {-          if (yych == ' ')-            goto yy951;-        } else {-          if (yych <= '>')-            goto yy1073;-          if (yych >= '\\')-            goto yy1074;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych >= 0x80)-            goto yy951;-        } else {-          if (yych <= 0xDF)-            goto yy1075;-          if (yych <= 0xE0)-            goto yy1076;-          goto yy1077;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy1081;-          if (yych <= 0xEF)-            goto yy1077;-          goto yy1078;-        } else {-          if (yych <= 0xF3)-            goto yy1079;-          if (yych <= 0xF4)-            goto yy1080;-          goto yy951;-        }-      }-    }-  yy1016:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy1016;-    }-    if (yych <= '>') {-      if (yych <= '\r') {-        if (yych <= 0x08) {-          if (yych <= 0x00)-            goto yy951;-          goto yy1029;-        } else {-          if (yych <= '\n')-            goto yy951;-          if (yych <= '\f')-            goto yy1029;-          goto yy951;-        }-      } else {-        if (yych <= '(') {-          if (yych <= 0x1F)-            goto yy1029;-          if (yych <= ' ')-            goto yy951;-          goto yy1027;-        } else {-          if (yych <= ')')-            goto yy1029;-          if (yych <= '<')-            goto yy980;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= '\\')-            goto yy1015;-          goto yy951;-        } else {-          if (yych <= 0xDF)-            goto yy1020;-          if (yych <= 0xE0)-            goto yy1021;-          goto yy1022;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy1026;-          if (yych <= 0xEF)-            goto yy1022;-          goto yy1023;-        } else {-          if (yych <= 0xF3)-            goto yy1024;-          if (yych <= 0xF4)-            goto yy1025;-          goto yy951;-        }-      }-    }-  yy1018:-    yyaccept = 2;-    yych = *(marker = ++p);-    if (yych <= ')') {-      if (yych <= ' ')-        goto yy1019;-      if (yych <= '(')-        goto yy981;-    } else {-      if (yych <= 0x7F)-        goto yy981;-      if (yych <= 0xC1)-        goto yy1019;-      if (yych <= 0xF4)-        goto yy981;-    }-  yy1019 : { return (bufsize_t)(p - start); }-  yy1020:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1016;-    goto yy958;-  yy1021:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1020;-    goto yy958;-  yy1022:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1020;-    goto yy958;-  yy1023:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1022;-    goto yy958;-  yy1024:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1022;-    goto yy958;-  yy1025:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy1022;-    goto yy958;-  yy1026:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy1020;-    goto yy958;-  yy1027:-    ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= 0x1F) {-        if (yych <= '\n') {-          if (yych <= 0x00)-            goto yy958;-          if (yych >= '\t')-            goto yy958;-        } else {-          if (yych == '\r')-            goto yy958;-        }-      } else {-        if (yych <= '(') {-          if (yych <= ' ')-            goto yy958;-          if (yych <= '\'')-            goto yy1027;-        } else {-          if (yych <= ')')-            goto yy1016;-          if (yych == '<')-            goto yy971;-          goto yy1027;-        }-      }-    } else {-      if (yych <= 0xE0) {-        if (yych <= '\\') {-          if (yych <= '>')-            goto yy1042;-          if (yych <= '[')-            goto yy1027;-          goto yy1043;-        } else {-          if (yych <= 0x7F)-            goto yy1027;-          if (yych <= 0xC1)-            goto yy958;-          if (yych <= 0xDF)-            goto yy1045;-          goto yy1046;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych == 0xED)-            goto yy1051;-          goto yy1047;-        } else {-          if (yych <= 0xF0)-            goto yy1048;-          if (yych <= 0xF3)-            goto yy1049;-          if (yych <= 0xF4)-            goto yy1050;-          goto yy958;-        }-      }-    }-  yy1029:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy1029;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= '<')-          goto yy958;-        if (yych >= '?')-          goto yy1032;-      } else {-        if (yych <= 0xC1)-          goto yy958;-        if (yych <= 0xDF)-          goto yy1034;-        goto yy1035;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1040;-        goto yy1036;-      } else {-        if (yych <= 0xF0)-          goto yy1037;-        if (yych <= 0xF3)-          goto yy1038;-        if (yych <= 0xF4)-          goto yy1039;-        goto yy958;-      }-    }-  yy1031:-    yych = *++p;-    goto yy1019;-  yy1032:-    ++p;-    yych = *p;-    if (yych <= '\\') {-      if (yych <= '\r') {-        if (yych <= 0x08) {-          if (yych <= 0x00)-            goto yy958;-          goto yy1029;-        } else {-          if (yych <= '\n')-            goto yy958;-          if (yych <= '\f')-            goto yy1029;-          goto yy958;-        }-      } else {-        if (yych <= '=') {-          if (yych == ' ')-            goto yy958;-          goto yy1029;-        } else {-          if (yych <= '>')-            goto yy1041;-          if (yych <= '[')-            goto yy1029;-          goto yy1032;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= 0x7F)-            goto yy1029;-          goto yy958;-        } else {-          if (yych <= 0xDF)-            goto yy1034;-          if (yych <= 0xE0)-            goto yy1035;-          goto yy1036;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy1040;-          if (yych <= 0xEF)-            goto yy1036;-          goto yy1037;-        } else {-          if (yych <= 0xF3)-            goto yy1038;-          if (yych <= 0xF4)-            goto yy1039;-          goto yy958;-        }-      }-    }-  yy1034:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1029;-    goto yy958;-  yy1035:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1034;-    goto yy958;-  yy1036:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1034;-    goto yy958;-  yy1037:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1036;-    goto yy958;-  yy1038:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1036;-    goto yy958;-  yy1039:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy1036;-    goto yy958;-  yy1040:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy1034;-    goto yy958;-  yy1041:-    yyaccept = 2;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy1029;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= '<')-          goto yy1019;-        if (yych <= '>')-          goto yy1031;-        goto yy1032;-      } else {-        if (yych <= 0xC1)-          goto yy1019;-        if (yych <= 0xDF)-          goto yy1034;-        goto yy1035;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1040;-        goto yy1036;-      } else {-        if (yych <= 0xF0)-          goto yy1037;-        if (yych <= 0xF3)-          goto yy1038;-        if (yych <= 0xF4)-          goto yy1039;-        goto yy1019;-      }-    }-  yy1042:-    yyaccept = 2;-    yych = *(marker = ++p);-    if (yych <= '(') {-      if (yych <= ' ')-        goto yy1019;-      if (yych <= '\'')-        goto yy972;-      goto yy1019;-    } else {-      if (yych <= 0x7F)-        goto yy972;-      if (yych <= 0xC1)-        goto yy1019;-      if (yych <= 0xF4)-        goto yy972;-      goto yy1019;-    }-  yy1043:-    ++p;-    yych = *p;-    if (yych <= '[') {-      if (yych <= 0x1F) {-        if (yych <= '\n') {-          if (yych <= 0x00)-            goto yy958;-          if (yych <= 0x08)-            goto yy1029;-          goto yy958;-        } else {-          if (yych == '\r')-            goto yy958;-          goto yy1029;-        }-      } else {-        if (yych <= ')') {-          if (yych <= ' ')-            goto yy958;-          if (yych <= '(')-            goto yy1027;-          goto yy1052;-        } else {-          if (yych == '>')-            goto yy1054;-          goto yy1027;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= '\\')-            goto yy1043;-          if (yych <= 0x7F)-            goto yy1027;-          goto yy958;-        } else {-          if (yych <= 0xDF)-            goto yy1045;-          if (yych <= 0xE0)-            goto yy1046;-          goto yy1047;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy1051;-          if (yych <= 0xEF)-            goto yy1047;-          goto yy1048;-        } else {-          if (yych <= 0xF3)-            goto yy1049;-          if (yych <= 0xF4)-            goto yy1050;-          goto yy958;-        }-      }-    }-  yy1045:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1027;-    goto yy958;-  yy1046:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1045;-    goto yy958;-  yy1047:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1045;-    goto yy958;-  yy1048:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1047;-    goto yy958;-  yy1049:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1047;-    goto yy958;-  yy1050:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy1047;-    goto yy958;-  yy1051:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy1045;-    goto yy958;-  yy1052:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= 0x1F) {-        if (yych <= '\n') {-          if (yych <= 0x00)-            goto yy951;-          if (yych <= 0x08)-            goto yy1029;-          goto yy951;-        } else {-          if (yych == '\r')-            goto yy951;-          goto yy1029;-        }-      } else {-        if (yych <= '(') {-          if (yych <= ' ')-            goto yy951;-          if (yych <= '\'')-            goto yy1052;-          goto yy1027;-        } else {-          if (yych <= ')')-            goto yy1016;-          if (yych == '<')-            goto yy997;-          goto yy1052;-        }-      }-    } else {-      if (yych <= 0xE0) {-        if (yych <= '\\') {-          if (yych <= '>')-            goto yy1055;-          if (yych <= '[')-            goto yy1052;-          goto yy1056;-        } else {-          if (yych <= 0x7F)-            goto yy1052;-          if (yych <= 0xC1)-            goto yy951;-          if (yych <= 0xDF)-            goto yy1057;-          goto yy1058;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych == 0xED)-            goto yy1063;-          goto yy1059;-        } else {-          if (yych <= 0xF0)-            goto yy1060;-          if (yych <= 0xF3)-            goto yy1061;-          if (yych <= 0xF4)-            goto yy1062;-          goto yy951;-        }-      }-    }-  yy1054:-    yyaccept = 2;-    marker = ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= 0x1F) {-        if (yych <= '\n') {-          if (yych <= 0x00)-            goto yy1019;-          if (yych <= 0x08)-            goto yy1029;-          goto yy1019;-        } else {-          if (yych == '\r')-            goto yy1019;-          goto yy1029;-        }-      } else {-        if (yych <= '(') {-          if (yych <= ' ')-            goto yy1019;-          if (yych <= '\'')-            goto yy1027;-          goto yy1029;-        } else {-          if (yych <= ')')-            goto yy1016;-          if (yych == '<')-            goto yy971;-          goto yy1027;-        }-      }-    } else {-      if (yych <= 0xE0) {-        if (yych <= '\\') {-          if (yych <= '>')-            goto yy1042;-          if (yych <= '[')-            goto yy1027;-          goto yy1043;-        } else {-          if (yych <= 0x7F)-            goto yy1027;-          if (yych <= 0xC1)-            goto yy1019;-          if (yych <= 0xDF)-            goto yy1045;-          goto yy1046;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych == 0xED)-            goto yy1051;-          goto yy1047;-        } else {-          if (yych <= 0xF0)-            goto yy1048;-          if (yych <= 0xF3)-            goto yy1049;-          if (yych <= 0xF4)-            goto yy1050;-          goto yy1019;-        }-      }-    }-  yy1055:-    yyaccept = 2;-    yych = *(marker = ++p);-    if (yych <= ' ')-      goto yy1019;-    if (yych <= 0x7F)-      goto yy998;-    if (yych <= 0xC1)-      goto yy1019;-    if (yych <= 0xF4)-      goto yy998;-    goto yy1019;-  yy1056:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-    if (yych <= '\\') {-      if (yych <= '\r') {-        if (yych <= 0x08) {-          if (yych <= 0x00)-            goto yy980;-          goto yy1016;-        } else {-          if (yych <= '\n')-            goto yy951;-          if (yych <= '\f')-            goto yy1029;-          goto yy951;-        }-      } else {-        if (yych <= '=') {-          if (yych <= 0x1F)-            goto yy1016;-          if (yych <= ' ')-            goto yy951;-          goto yy1052;-        } else {-          if (yych <= '>')-            goto yy1064;-          if (yych <= '[')-            goto yy1052;-          goto yy1065;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= 0x7F)-            goto yy1052;-          goto yy951;-        } else {-          if (yych <= 0xDF)-            goto yy1066;-          if (yych <= 0xE0)-            goto yy1067;-          goto yy1068;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy1072;-          if (yych <= 0xEF)-            goto yy1068;-          goto yy1069;-        } else {-          if (yych <= 0xF3)-            goto yy1070;-          if (yych <= 0xF4)-            goto yy1071;-          goto yy951;-        }-      }-    }-  yy1057:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1052;-    goto yy958;-  yy1058:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1057;-    goto yy958;-  yy1059:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1057;-    goto yy958;-  yy1060:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1059;-    goto yy958;-  yy1061:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1059;-    goto yy958;-  yy1062:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy1059;-    goto yy958;-  yy1063:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy1057;-    goto yy958;-  yy1064:-    yyaccept = 2;-    marker = ++p;-    yych = *p;-    if (yych <= '=') {-      if (yych <= 0x1F) {-        if (yych <= '\n') {-          if (yych <= 0x00)-            goto yy1019;-          if (yych <= 0x08)-            goto yy1029;-          goto yy1019;-        } else {-          if (yych == '\r')-            goto yy1019;-          goto yy1029;-        }-      } else {-        if (yych <= '(') {-          if (yych <= ' ')-            goto yy1019;-          if (yych <= '\'')-            goto yy1052;-          goto yy1027;-        } else {-          if (yych <= ')')-            goto yy1016;-          if (yych == '<')-            goto yy997;-          goto yy1052;-        }-      }-    } else {-      if (yych <= 0xE0) {-        if (yych <= '\\') {-          if (yych <= '>')-            goto yy1055;-          if (yych <= '[')-            goto yy1052;-          goto yy1056;-        } else {-          if (yych <= 0x7F)-            goto yy1052;-          if (yych <= 0xC1)-            goto yy1019;-          if (yych <= 0xDF)-            goto yy1057;-          goto yy1058;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych == 0xED)-            goto yy1063;-          goto yy1059;-        } else {-          if (yych <= 0xF0)-            goto yy1060;-          if (yych <= 0xF3)-            goto yy1061;-          if (yych <= 0xF4)-            goto yy1062;-          goto yy1019;-        }-      }-    }-  yy1065:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-    if (yych <= '[') {-      if (yych <= 0x1F) {-        if (yych <= '\n') {-          if (yych <= 0x00)-            goto yy951;-          if (yych <= 0x08)-            goto yy1029;-          goto yy951;-        } else {-          if (yych == '\r')-            goto yy951;-          goto yy1029;-        }-      } else {-        if (yych <= '(') {-          if (yych <= ' ')-            goto yy951;-          if (yych <= '\'')-            goto yy1052;-          goto yy1027;-        } else {-          if (yych == '>')-            goto yy1064;-          goto yy1052;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= '\\')-            goto yy1056;-          if (yych <= 0x7F)-            goto yy1052;-          goto yy951;-        } else {-          if (yych <= 0xDF)-            goto yy1057;-          if (yych <= 0xE0)-            goto yy1058;-          goto yy1059;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy1063;-          if (yych <= 0xEF)-            goto yy1059;-          goto yy1060;-        } else {-          if (yych <= 0xF3)-            goto yy1061;-          if (yych <= 0xF4)-            goto yy1062;-          goto yy951;-        }-      }-    }-  yy1066:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1052;-    goto yy958;-  yy1067:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1066;-    goto yy958;-  yy1068:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1066;-    goto yy958;-  yy1069:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1068;-    goto yy958;-  yy1070:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1068;-    goto yy958;-  yy1071:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy1068;-    goto yy958;-  yy1072:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy1066;-    goto yy958;-  yy1073:-    yyaccept = 2;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy1016;-    }-    if (yych <= '>') {-      if (yych <= '\r') {-        if (yych <= 0x08) {-          if (yych <= 0x00)-            goto yy1019;-          goto yy1029;-        } else {-          if (yych <= '\n')-            goto yy1019;-          if (yych <= '\f')-            goto yy1029;-          goto yy1019;-        }-      } else {-        if (yych <= '(') {-          if (yych <= 0x1F)-            goto yy1029;-          if (yych <= ' ')-            goto yy1019;-          goto yy1027;-        } else {-          if (yych <= ')')-            goto yy1029;-          if (yych <= '<')-            goto yy980;-          goto yy1018;-        }-      }-    } else {-      if (yych <= 0xEC) {-        if (yych <= 0xC1) {-          if (yych <= '\\')-            goto yy1015;-          goto yy1019;-        } else {-          if (yych <= 0xDF)-            goto yy1020;-          if (yych <= 0xE0)-            goto yy1021;-          goto yy1022;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xED)-            goto yy1026;-          if (yych <= 0xEF)-            goto yy1022;-          goto yy1023;-        } else {-          if (yych <= 0xF3)-            goto yy1024;-          if (yych <= 0xF4)-            goto yy1025;-          goto yy1019;-        }-      }-    }-  yy1074:-    yyaccept = 0;-    marker = ++p;-    yych = *p;-    if (yych <= '>') {-      if (yych <= 0x1F) {-        if (yych <= '\n') {-          if (yych <= 0x00)-            goto yy951;-          if (yych <= 0x08)-            goto yy1029;-          goto yy951;-        } else {-          if (yych == '\r')-            goto yy951;-          goto yy1029;-        }-      } else {-        if (yych <= '(') {-          if (yych <= ' ')-            goto yy951;-          if (yych <= '\'')-            goto yy1016;-          goto yy1027;-        } else {-          if (yych <= ')')-            goto yy1029;-          if (yych <= '=')-            goto yy1016;-          goto yy1073;-        }-      }-    } else {-      if (yych <= 0xE0) {-        if (yych <= 0x7F) {-          if (yych == '\\')-            goto yy1015;-          goto yy1016;-        } else {-          if (yych <= 0xC1)-            goto yy951;-          if (yych <= 0xDF)-            goto yy1020;-          goto yy1021;-        }-      } else {-        if (yych <= 0xEF) {-          if (yych == 0xED)-            goto yy1026;-          goto yy1022;-        } else {-          if (yych <= 0xF0)-            goto yy1023;-          if (yych <= 0xF3)-            goto yy1024;-          if (yych <= 0xF4)-            goto yy1025;-          goto yy951;-        }-      }-    }-  yy1075:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1016;-    goto yy958;-  yy1076:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1075;-    goto yy958;-  yy1077:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1075;-    goto yy958;-  yy1078:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1077;-    goto yy958;-  yy1079:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0xBF)-      goto yy1077;-    goto yy958;-  yy1080:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x8F)-      goto yy1077;-    goto yy958;-  yy1081:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy958;-    if (yych <= 0x9F)-      goto yy1075;-    goto yy958;-  }-}--// 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) {-  const unsigned char *marker = NULL;-  const unsigned char *start = p;--  {-    unsigned char yych;-    unsigned int yyaccept = 0;-    static const unsigned char yybm[] = {-        0,   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, 224,-        224, 224, 224, 224, 224, 224, 96,  224, 224, 224, 224, 160, 224, 192,-        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, 224, 224,-        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,-        224, 224, 224, 224, 224, 224, 224, 224, 16,  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, 224, 224, 224, 224, 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 = *(marker = p);-    if (yych <= 0xC1) {-      if (yych <= '"') {-        if (yych == '\n')-          goto yy1084;-        if (yych <= '!')-          goto yy1088;-        goto yy1085;-      } else {-        if (yych <= '\'') {-          if (yych <= '&')-            goto yy1088;-          goto yy1086;-        } else {-          if (yych <= '(')-            goto yy1087;-          if (yych <= 0x7F)-            goto yy1088;-        }-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy1089;-        if (yych <= 0xE0)-          goto yy1091;-        if (yych <= 0xEC)-          goto yy1092;-        goto yy1096;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy1092;-          goto yy1093;-        } else {-          if (yych <= 0xF3)-            goto yy1094;-          if (yych <= 0xF4)-            goto yy1095;-        }-      }-    }-  yy1084 : { return 0; }-  yy1085:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= 0x00)-      goto yy1084;-    if (yych <= 0x7F)-      goto yy1128;-    if (yych <= 0xC1)-      goto yy1084;-    if (yych <= 0xF4)-      goto yy1128;-    goto yy1084;-  yy1086:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= 0x00)-      goto yy1084;-    if (yych <= 0x7F)-      goto yy1114;-    if (yych <= 0xC1)-      goto yy1084;-    if (yych <= 0xF4)-      goto yy1114;-    goto yy1084;-  yy1087:-    yyaccept = 0;-    yych = *(marker = ++p);-    if (yych <= 0x00)-      goto yy1084;-    if (yych <= 0x7F)-      goto yy1100;-    if (yych <= 0xC1)-      goto yy1084;-    if (yych <= 0xF4)-      goto yy1100;-    goto yy1084;-  yy1088:-    yych = *++p;-    goto yy1084;-  yy1089:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1088;-  yy1090:-    p = marker;-    if (yyaccept <= 1) {-      if (yyaccept == 0) {-        goto yy1084;-      } else {-        goto yy1109;-      }-    } else {-      if (yyaccept == 2) {-        goto yy1123;-      } else {-        goto yy1137;-      }-    }-  yy1091:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1089;-    goto yy1090;-  yy1092:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1089;-    goto yy1090;-  yy1093:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1092;-    goto yy1090;-  yy1094:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1092;-    goto yy1090;-  yy1095:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0x8F)-      goto yy1092;-    goto yy1090;-  yy1096:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0x9F)-      goto yy1089;-    goto yy1090;-  yy1097:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy1099;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= 0x00)-          goto yy1090;-        if (yych <= ')')-          goto yy1110;-        goto yy1097;-      } else {-        if (yych <= 0xC1)-          goto yy1090;-        if (yych <= 0xDF)-          goto yy1101;-        goto yy1102;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1107;-        goto yy1103;-      } else {-        if (yych <= 0xF0)-          goto yy1104;-        if (yych <= 0xF3)-          goto yy1105;-        if (yych <= 0xF4)-          goto yy1106;-        goto yy1090;-      }-    }-  yy1099:-    ++p;-    yych = *p;-  yy1100:-    if (yybm[0 + yych] & 32) {-      goto yy1099;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= 0x00)-          goto yy1090;-        if (yych <= ')')-          goto yy1108;-        goto yy1097;-      } else {-        if (yych <= 0xC1)-          goto yy1090;-        if (yych >= 0xE0)-          goto yy1102;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1107;-        goto yy1103;-      } else {-        if (yych <= 0xF0)-          goto yy1104;-        if (yych <= 0xF3)-          goto yy1105;-        if (yych <= 0xF4)-          goto yy1106;-        goto yy1090;-      }-    }-  yy1101:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1099;-    goto yy1090;-  yy1102:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1101;-    goto yy1090;-  yy1103:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1101;-    goto yy1090;-  yy1104:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1103;-    goto yy1090;-  yy1105:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1103;-    goto yy1090;-  yy1106:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0x8F)-      goto yy1103;-    goto yy1090;-  yy1107:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0x9F)-      goto yy1101;-    goto yy1090;-  yy1108:-    ++p;-  yy1109 : { return (bufsize_t)(p - start); }-  yy1110:-    yyaccept = 1;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy1099;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= 0x00)-          goto yy1109;-        if (yych <= ')')-          goto yy1108;-        goto yy1097;-      } else {-        if (yych <= 0xC1)-          goto yy1109;-        if (yych <= 0xDF)-          goto yy1101;-        goto yy1102;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1107;-        goto yy1103;-      } else {-        if (yych <= 0xF0)-          goto yy1104;-        if (yych <= 0xF3)-          goto yy1105;-        if (yych <= 0xF4)-          goto yy1106;-        goto yy1109;-      }-    }-  yy1111:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy1113;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= 0x00)-          goto yy1090;-        if (yych <= '\'')-          goto yy1124;-        goto yy1111;-      } else {-        if (yych <= 0xC1)-          goto yy1090;-        if (yych <= 0xDF)-          goto yy1115;-        goto yy1116;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1121;-        goto yy1117;-      } else {-        if (yych <= 0xF0)-          goto yy1118;-        if (yych <= 0xF3)-          goto yy1119;-        if (yych <= 0xF4)-          goto yy1120;-        goto yy1090;-      }-    }-  yy1113:-    ++p;-    yych = *p;-  yy1114:-    if (yybm[0 + yych] & 64) {-      goto yy1113;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= 0x00)-          goto yy1090;-        if (yych <= '\'')-          goto yy1122;-        goto yy1111;-      } else {-        if (yych <= 0xC1)-          goto yy1090;-        if (yych >= 0xE0)-          goto yy1116;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1121;-        goto yy1117;-      } else {-        if (yych <= 0xF0)-          goto yy1118;-        if (yych <= 0xF3)-          goto yy1119;-        if (yych <= 0xF4)-          goto yy1120;-        goto yy1090;-      }-    }-  yy1115:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1113;-    goto yy1090;-  yy1116:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1115;-    goto yy1090;-  yy1117:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1115;-    goto yy1090;-  yy1118:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1117;-    goto yy1090;-  yy1119:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1117;-    goto yy1090;-  yy1120:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0x8F)-      goto yy1117;-    goto yy1090;-  yy1121:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0x9F)-      goto yy1115;-    goto yy1090;-  yy1122:-    ++p;-  yy1123 : { return (bufsize_t)(p - start); }-  yy1124:-    yyaccept = 2;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy1113;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= 0x00)-          goto yy1123;-        if (yych <= '\'')-          goto yy1122;-        goto yy1111;-      } else {-        if (yych <= 0xC1)-          goto yy1123;-        if (yych <= 0xDF)-          goto yy1115;-        goto yy1116;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1121;-        goto yy1117;-      } else {-        if (yych <= 0xF0)-          goto yy1118;-        if (yych <= 0xF3)-          goto yy1119;-        if (yych <= 0xF4)-          goto yy1120;-        goto yy1123;-      }-    }-  yy1125:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy1127;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= 0x00)-          goto yy1090;-        if (yych <= '"')-          goto yy1138;-        goto yy1125;-      } else {-        if (yych <= 0xC1)-          goto yy1090;-        if (yych <= 0xDF)-          goto yy1129;-        goto yy1130;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1135;-        goto yy1131;-      } else {-        if (yych <= 0xF0)-          goto yy1132;-        if (yych <= 0xF3)-          goto yy1133;-        if (yych <= 0xF4)-          goto yy1134;-        goto yy1090;-      }-    }-  yy1127:-    ++p;-    yych = *p;-  yy1128:-    if (yybm[0 + yych] & 128) {-      goto yy1127;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= 0x00)-          goto yy1090;-        if (yych <= '"')-          goto yy1136;-        goto yy1125;-      } else {-        if (yych <= 0xC1)-          goto yy1090;-        if (yych >= 0xE0)-          goto yy1130;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1135;-        goto yy1131;-      } else {-        if (yych <= 0xF0)-          goto yy1132;-        if (yych <= 0xF3)-          goto yy1133;-        if (yych <= 0xF4)-          goto yy1134;-        goto yy1090;-      }-    }-  yy1129:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1127;-    goto yy1090;-  yy1130:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1129;-    goto yy1090;-  yy1131:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1129;-    goto yy1090;-  yy1132:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1131;-    goto yy1090;-  yy1133:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0xBF)-      goto yy1131;-    goto yy1090;-  yy1134:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0x8F)-      goto yy1131;-    goto yy1090;-  yy1135:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1090;-    if (yych <= 0x9F)-      goto yy1129;-    goto yy1090;-  yy1136:-    ++p;-  yy1137 : { return (bufsize_t)(p - start); }-  yy1138:-    yyaccept = 3;-    marker = ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy1127;-    }-    if (yych <= 0xE0) {-      if (yych <= '\\') {-        if (yych <= 0x00)-          goto yy1137;-        if (yych <= '"')-          goto yy1136;-        goto yy1125;-      } else {-        if (yych <= 0xC1)-          goto yy1137;-        if (yych <= 0xDF)-          goto yy1129;-        goto yy1130;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1135;-        goto yy1131;-      } else {-        if (yych <= 0xF0)-          goto yy1132;-        if (yych <= 0xF3)-          goto yy1133;-        if (yych <= 0xF4)-          goto yy1134;-        goto yy1137;-      }-    }-  }-}--// Match space characters, including newlines.-bufsize_t _scan_spacechars(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, 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 = *(marker = p);-    if (yych <= 0xC1) {-      if (yych <= '\r') {-        if (yych <= 0x08)-          goto yy1145;-        if (yych == '\n')-          goto yy1143;-        goto yy1142;-      } else {-        if (yych == ' ')-          goto yy1142;-        if (yych <= 0x7F)-          goto yy1145;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy1147;-        if (yych <= 0xE0)-          goto yy1149;-        if (yych <= 0xEC)-          goto yy1150;-        goto yy1154;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy1150;-          goto yy1151;-        } else {-          if (yych <= 0xF3)-            goto yy1152;-          if (yych <= 0xF4)-            goto yy1153;-        }-      }-    }-  yy1141 : { return (bufsize_t)(p - start); }-  yy1142:-    yych = *++p;-    goto yy1144;-  yy1143:-    ++p;-    yych = *p;-  yy1144:-    if (yybm[0 + yych] & 128) {-      goto yy1143;-    }-    goto yy1141;-  yy1145:-    ++p;-    { return 0; }-  yy1147:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1148;-    if (yych <= 0xBF)-      goto yy1145;-  yy1148:-    p = marker;-    goto yy1141;-  yy1149:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy1148;-    if (yych <= 0xBF)-      goto yy1147;-    goto yy1148;-  yy1150:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1148;-    if (yych <= 0xBF)-      goto yy1147;-    goto yy1148;-  yy1151:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy1148;-    if (yych <= 0xBF)-      goto yy1150;-    goto yy1148;-  yy1152:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1148;-    if (yych <= 0xBF)-      goto yy1150;-    goto yy1148;-  yy1153:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1148;-    if (yych <= 0x8F)-      goto yy1150;-    goto yy1148;-  yy1154:-    ++p;-    if ((yych = *p) <= 0x7F)-      goto yy1148;-    if (yych <= 0x9F)-      goto yy1147;-    goto yy1148;-  }-}--// Match ATX heading start.-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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0, 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 = *(marker = p);-    if (yych <= 0xDF) {-      if (yych <= '"') {-        if (yych != '\n')-          goto yy1159;-      } else {-        if (yych <= '#')-          goto yy1158;-        if (yych <= 0x7F)-          goto yy1159;-        if (yych >= 0xC2)-          goto yy1160;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych <= 0xE0)-          goto yy1162;-        if (yych == 0xED)-          goto yy1167;-        goto yy1163;-      } else {-        if (yych <= 0xF0)-          goto yy1164;-        if (yych <= 0xF3)-          goto yy1165;-        if (yych <= 0xF4)-          goto yy1166;-      }-    }-  yy1157 : { return 0; }-  yy1158:-    yych = *(marker = ++p);-    if (yybm[0 + yych] & 128) {-      goto yy1170;-    }-    if (yych <= '\f') {-      if (yych == '\n')-        goto yy1168;-      goto yy1157;-    } else {-      if (yych <= '\r')-        goto yy1168;-      if (yych == '#')-        goto yy1172;-      goto yy1157;-    }-  yy1159:-    yych = *++p;-    goto yy1157;-  yy1160:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1161;-    if (yych <= 0xBF)-      goto yy1159;-  yy1161:-    p = marker;-    goto yy1157;-  yy1162:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy1161;-    if (yych <= 0xBF)-      goto yy1160;-    goto yy1161;-  yy1163:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1161;-    if (yych <= 0xBF)-      goto yy1160;-    goto yy1161;-  yy1164:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy1161;-    if (yych <= 0xBF)-      goto yy1163;-    goto yy1161;-  yy1165:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1161;-    if (yych <= 0xBF)-      goto yy1163;-    goto yy1161;-  yy1166:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1161;-    if (yych <= 0x8F)-      goto yy1163;-    goto yy1161;-  yy1167:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1161;-    if (yych <= 0x9F)-      goto yy1160;-    goto yy1161;-  yy1168:-    ++p;-  yy1169 : { return (bufsize_t)(p - start); }-  yy1170:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy1170;-    }-    goto yy1169;-  yy1172:-    yych = *++p;-    if (yybm[0 + yych] & 128) {-      goto yy1170;-    }-    if (yych <= '\f') {-      if (yych == '\n')-        goto yy1168;-      goto yy1161;-    } else {-      if (yych <= '\r')-        goto yy1168;-      if (yych != '#')-        goto yy1161;-    }-    yych = *++p;-    if (yybm[0 + yych] & 128) {-      goto yy1170;-    }-    if (yych <= '\f') {-      if (yych == '\n')-        goto yy1168;-      goto yy1161;-    } else {-      if (yych <= '\r')-        goto yy1168;-      if (yych != '#')-        goto yy1161;-    }-    yych = *++p;-    if (yybm[0 + yych] & 128) {-      goto yy1170;-    }-    if (yych <= '\f') {-      if (yych == '\n')-        goto yy1168;-      goto yy1161;-    } else {-      if (yych <= '\r')-        goto yy1168;-      if (yych != '#')-        goto yy1161;-    }-    yych = *++p;-    if (yybm[0 + yych] & 128) {-      goto yy1170;-    }-    if (yych <= '\f') {-      if (yych == '\n')-        goto yy1168;-      goto yy1161;-    } else {-      if (yych <= '\r')-        goto yy1168;-      if (yych != '#')-        goto yy1161;-    }-    ++p;-    if (yybm[0 + (yych = *p)] & 128) {-      goto yy1170;-    }-    if (yych == '\n')-      goto yy1168;-    if (yych == '\r')-      goto yy1168;-    goto yy1161;-  }-}--// 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) {-  const unsigned char *marker = NULL;--  {-    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, 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 = *(marker = p);-    if (yych <= 0xC1) {-      if (yych <= '-') {-        if (yych == '\n')-          goto yy1179;-        if (yych <= ',')-          goto yy1182;-        goto yy1181;-      } else {-        if (yych == '=')-          goto yy1180;-        if (yych <= 0x7F)-          goto yy1182;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy1183;-        if (yych <= 0xE0)-          goto yy1185;-        if (yych <= 0xEC)-          goto yy1186;-        goto yy1190;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy1186;-          goto yy1187;-        } else {-          if (yych <= 0xF3)-            goto yy1188;-          if (yych <= 0xF4)-            goto yy1189;-        }-      }-    }-  yy1179 : { return 0; }-  yy1180:-    yych = *(marker = ++p);-    if (yybm[0 + yych] & 128) {-      goto yy1201;-    }-    if (yych <= '\f') {-      if (yych == '\n')-        goto yy1199;-      goto yy1179;-    } else {-      if (yych <= '\r')-        goto yy1199;-      if (yych == ' ')-        goto yy1197;-      goto yy1179;-    }-  yy1181:-    yych = *(marker = ++p);-    if (yybm[0 + yych] & 32) {-      goto yy1191;-    }-    if (yych <= '\f') {-      if (yych == '\n')-        goto yy1193;-      goto yy1179;-    } else {-      if (yych <= '\r')-        goto yy1193;-      if (yych == '-')-        goto yy1195;-      goto yy1179;-    }-  yy1182:-    yych = *++p;-    goto yy1179;-  yy1183:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1184;-    if (yych <= 0xBF)-      goto yy1182;-  yy1184:-    p = marker;-    goto yy1179;-  yy1185:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy1184;-    if (yych <= 0xBF)-      goto yy1183;-    goto yy1184;-  yy1186:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1184;-    if (yych <= 0xBF)-      goto yy1183;-    goto yy1184;-  yy1187:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy1184;-    if (yych <= 0xBF)-      goto yy1186;-    goto yy1184;-  yy1188:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1184;-    if (yych <= 0xBF)-      goto yy1186;-    goto yy1184;-  yy1189:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1184;-    if (yych <= 0x8F)-      goto yy1186;-    goto yy1184;-  yy1190:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1184;-    if (yych <= 0x9F)-      goto yy1183;-    goto yy1184;-  yy1191:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy1191;-    }-    if (yych == '\n')-      goto yy1193;-    if (yych != '\r')-      goto yy1184;-  yy1193:-    ++p;-    { return 2; }-  yy1195:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy1191;-    }-    if (yych <= '\f') {-      if (yych == '\n')-        goto yy1193;-      goto yy1184;-    } else {-      if (yych <= '\r')-        goto yy1193;-      if (yych == '-')-        goto yy1195;-      goto yy1184;-    }-  yy1197:-    ++p;-    yych = *p;-    if (yych <= '\f') {-      if (yych != '\n')-        goto yy1184;-    } else {-      if (yych <= '\r')-        goto yy1199;-      if (yych == ' ')-        goto yy1197;-      goto yy1184;-    }-  yy1199:-    ++p;-    { return 1; }-  yy1201:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy1201;-    }-    if (yych <= '\f') {-      if (yych == '\n')-        goto yy1199;-      goto yy1184;-    } else {-      if (yych <= '\r')-        goto yy1199;-      if (yych == ' ')-        goto yy1197;-      goto yy1184;-    }-  }-}--// Scan a thematic break line: "...three or more hyphens, asterisks,-// or underscores on a line by themselves. If you wish, you may use-// spaces between the hyphens or asterisks."-bufsize_t _scan_thematic_break(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, 32, 0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0,-        0, 0,  0, 0, 0, 0, 0, 0,  0, 0,  248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0,-        0, 16, 0, 0, 0, 0, 0, 0,  0, 0,  0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0,   0,-        0, 0,  0, 0, 0, 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, 0, 0, 0,  0, 0,  0,   0, 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 = *(marker = p);-    if (yych <= 0x7F) {-      if (yych <= '*') {-        if (yych == '\n')-          goto yy1205;-        if (yych <= ')')-          goto yy1209;-        goto yy1206;-      } else {-        if (yych <= '-') {-          if (yych <= ',')-            goto yy1209;-          goto yy1208;-        } else {-          if (yych == '_')-            goto yy1207;-          goto yy1209;-        }-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF) {-          if (yych >= 0xC2)-            goto yy1210;-        } else {-          if (yych <= 0xE0)-            goto yy1212;-          if (yych <= 0xEC)-            goto yy1213;-          goto yy1217;-        }-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy1213;-          goto yy1214;-        } else {-          if (yych <= 0xF3)-            goto yy1215;-          if (yych <= 0xF4)-            goto yy1216;-        }-      }-    }-  yy1205 : { return 0; }-  yy1206:-    yych = *(marker = ++p);-    if (yych == ' ')-      goto yy1238;-    if (yych == '*')-      goto yy1240;-    goto yy1205;-  yy1207:-    yych = *(marker = ++p);-    if (yych == ' ')-      goto yy1228;-    if (yych == '_')-      goto yy1230;-    goto yy1205;-  yy1208:-    yych = *(marker = ++p);-    if (yybm[0 + yych] & 8) {-      goto yy1218;-    }-    if (yych == '-')-      goto yy1220;-    goto yy1205;-  yy1209:-    yych = *++p;-    goto yy1205;-  yy1210:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1211;-    if (yych <= 0xBF)-      goto yy1209;-  yy1211:-    p = marker;-    goto yy1205;-  yy1212:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy1211;-    if (yych <= 0xBF)-      goto yy1210;-    goto yy1211;-  yy1213:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1211;-    if (yych <= 0xBF)-      goto yy1210;-    goto yy1211;-  yy1214:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy1211;-    if (yych <= 0xBF)-      goto yy1213;-    goto yy1211;-  yy1215:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1211;-    if (yych <= 0xBF)-      goto yy1213;-    goto yy1211;-  yy1216:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1211;-    if (yych <= 0x8F)-      goto yy1213;-    goto yy1211;-  yy1217:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1211;-    if (yych <= 0x9F)-      goto yy1210;-    goto yy1211;-  yy1218:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 8) {-      goto yy1218;-    }-    if (yych != '-')-      goto yy1211;-  yy1220:-    ++p;-    yych = *p;-    if (yych == ' ')-      goto yy1220;-    if (yych != '-')-      goto yy1211;-  yy1222:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 16) {-      goto yy1222;-    }-    if (yych <= '\n') {-      if (yych <= 0x08)-        goto yy1211;-      if (yych >= '\n')-        goto yy1226;-    } else {-      if (yych == '\r')-        goto yy1226;-      goto yy1211;-    }-  yy1224:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy1224;-    }-    if (yych <= 0x08)-      goto yy1211;-    if (yych <= '\n')-      goto yy1226;-    if (yych != '\r')-      goto yy1211;-  yy1226:-    ++p;-    { return (bufsize_t)(p - start); }-  yy1228:-    ++p;-    yych = *p;-    if (yych == ' ')-      goto yy1228;-    if (yych != '_')-      goto yy1211;-  yy1230:-    ++p;-    yych = *p;-    if (yych == ' ')-      goto yy1230;-    if (yych != '_')-      goto yy1211;-  yy1232:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy1232;-    }-    if (yych <= '\n') {-      if (yych <= 0x08)-        goto yy1211;-      if (yych >= '\n')-        goto yy1236;-    } else {-      if (yych == '\r')-        goto yy1236;-      goto yy1211;-    }-  yy1234:-    ++p;-    yych = *p;-    if (yych <= '\f') {-      if (yych <= 0x08)-        goto yy1211;-      if (yych <= '\t')-        goto yy1234;-      if (yych >= '\v')-        goto yy1211;-    } else {-      if (yych <= '\r')-        goto yy1236;-      if (yych == ' ')-        goto yy1234;-      goto yy1211;-    }-  yy1236:-    ++p;-    { return (bufsize_t)(p - start); }-  yy1238:-    ++p;-    yych = *p;-    if (yych == ' ')-      goto yy1238;-    if (yych != '*')-      goto yy1211;-  yy1240:-    ++p;-    yych = *p;-    if (yych == ' ')-      goto yy1240;-    if (yych != '*')-      goto yy1211;-  yy1242:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy1242;-    }-    if (yych <= '\n') {-      if (yych <= 0x08)-        goto yy1211;-      if (yych >= '\n')-        goto yy1246;-    } else {-      if (yych == '\r')-        goto yy1246;-      goto yy1211;-    }-  yy1244:-    ++p;-    yych = *p;-    if (yych <= '\f') {-      if (yych <= 0x08)-        goto yy1211;-      if (yych <= '\t')-        goto yy1244;-      if (yych >= '\v')-        goto yy1211;-    } else {-      if (yych <= '\r')-        goto yy1246;-      if (yych == ' ')-        goto yy1244;-      goto yy1211;-    }-  yy1246:-    ++p;-    { return (bufsize_t)(p - start); }-  }-}--// Scan an opening code fence.-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,   160, 160, 160, 160, 160, 160, 160, 160, 160, 0,   160, 160, 0,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 96,  160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,-        144, 160, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,-        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);-    if (yych <= 0xC1) {-      if (yych <= '`') {-        if (yych == '\n')-          goto yy1250;-        if (yych <= '_')-          goto yy1253;-        goto yy1251;-      } else {-        if (yych == '~')-          goto yy1252;-        if (yych <= 0x7F)-          goto yy1253;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy1254;-        if (yych <= 0xE0)-          goto yy1256;-        if (yych <= 0xEC)-          goto yy1257;-        goto yy1261;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy1257;-          goto yy1258;-        } else {-          if (yych <= 0xF3)-            goto yy1259;-          if (yych <= 0xF4)-            goto yy1260;-        }-      }-    }-  yy1250 : { return 0; }-  yy1251:-    yych = *(marker = ++p);-    if (yych == '`')-      goto yy1276;-    goto yy1250;-  yy1252:-    yych = *(marker = ++p);-    if (yych == '~')-      goto yy1262;-    goto yy1250;-  yy1253:-    yych = *++p;-    goto yy1250;-  yy1254:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1253;-  yy1255:-    p = marker;-    goto yy1250;-  yy1256:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1254;-    goto yy1255;-  yy1257:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1254;-    goto yy1255;-  yy1258:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1257;-    goto yy1255;-  yy1259:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1257;-    goto yy1255;-  yy1260:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0x8F)-      goto yy1257;-    goto yy1255;-  yy1261:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0x9F)-      goto yy1254;-    goto yy1255;-  yy1262:-    yych = *++p;-    if (yybm[0 + yych] & 16) {-      goto yy1263;-    }-    goto yy1255;-  yy1263:-    marker = p + 1;-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy1265;-    }-    if (yych <= 0xE0) {-      if (yych <= '~') {-        if (yych <= 0x00)-          goto yy1255;-        if (yych <= '\r')-          goto yy1274;-        goto yy1263;-      } else {-        if (yych <= 0xC1)-          goto yy1255;-        if (yych <= 0xDF)-          goto yy1267;-        goto yy1268;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1273;-        goto yy1269;-      } else {-        if (yych <= 0xF0)-          goto yy1270;-        if (yych <= 0xF3)-          goto yy1271;-        if (yych <= 0xF4)-          goto yy1272;-        goto yy1255;-      }-    }-  yy1265:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 32) {-      goto yy1265;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy1255;-        if (yych <= '\r')-          goto yy1274;-        goto yy1255;-      } else {-        if (yych <= 0xDF)-          goto yy1267;-        if (yych <= 0xE0)-          goto yy1268;-        goto yy1269;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy1273;-        if (yych <= 0xEF)-          goto yy1269;-        goto yy1270;-      } else {-        if (yych <= 0xF3)-          goto yy1271;-        if (yych <= 0xF4)-          goto yy1272;-        goto yy1255;-      }-    }-  yy1267:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1265;-    goto yy1255;-  yy1268:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1267;-    goto yy1255;-  yy1269:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1267;-    goto yy1255;-  yy1270:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1269;-    goto yy1255;-  yy1271:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1269;-    goto yy1255;-  yy1272:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0x8F)-      goto yy1269;-    goto yy1255;-  yy1273:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0x9F)-      goto yy1267;-    goto yy1255;-  yy1274:-    ++p;-    p = marker;-    { return (bufsize_t)(p - start); }-  yy1276:-    yych = *++p;-    if (yybm[0 + yych] & 64) {-      goto yy1277;-    }-    goto yy1255;-  yy1277:-    marker = p + 1;-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy1279;-    }-    if (yych <= 0xE0) {-      if (yych <= '`') {-        if (yych <= 0x00)-          goto yy1255;-        if (yych <= '\r')-          goto yy1288;-        goto yy1277;-      } else {-        if (yych <= 0xC1)-          goto yy1255;-        if (yych <= 0xDF)-          goto yy1281;-        goto yy1282;-      }-    } else {-      if (yych <= 0xEF) {-        if (yych == 0xED)-          goto yy1287;-        goto yy1283;-      } else {-        if (yych <= 0xF0)-          goto yy1284;-        if (yych <= 0xF3)-          goto yy1285;-        if (yych <= 0xF4)-          goto yy1286;-        goto yy1255;-      }-    }-  yy1279:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 128) {-      goto yy1279;-    }-    if (yych <= 0xEC) {-      if (yych <= 0xC1) {-        if (yych <= 0x00)-          goto yy1255;-        if (yych <= '\r')-          goto yy1288;-        goto yy1255;-      } else {-        if (yych <= 0xDF)-          goto yy1281;-        if (yych <= 0xE0)-          goto yy1282;-        goto yy1283;-      }-    } else {-      if (yych <= 0xF0) {-        if (yych <= 0xED)-          goto yy1287;-        if (yych <= 0xEF)-          goto yy1283;-        goto yy1284;-      } else {-        if (yych <= 0xF3)-          goto yy1285;-        if (yych <= 0xF4)-          goto yy1286;-        goto yy1255;-      }-    }-  yy1281:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1279;-    goto yy1255;-  yy1282:-    ++p;-    yych = *p;-    if (yych <= 0x9F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1281;-    goto yy1255;-  yy1283:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1281;-    goto yy1255;-  yy1284:-    ++p;-    yych = *p;-    if (yych <= 0x8F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1283;-    goto yy1255;-  yy1285:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0xBF)-      goto yy1283;-    goto yy1255;-  yy1286:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0x8F)-      goto yy1283;-    goto yy1255;-  yy1287:-    ++p;-    yych = *p;-    if (yych <= 0x7F)-      goto yy1255;-    if (yych <= 0x9F)-      goto yy1281;-    goto yy1255;-  yy1288:-    ++p;-    p = marker;-    { return (bufsize_t)(p - start); }-  }-}--// Scan a closing code fence with length at least len.-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,   64, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,-        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 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 = *(marker = p);-    if (yych <= 0xC1) {-      if (yych <= '`') {-        if (yych == '\n')-          goto yy1292;-        if (yych <= '_')-          goto yy1295;-        goto yy1293;-      } else {-        if (yych == '~')-          goto yy1294;-        if (yych <= 0x7F)-          goto yy1295;-      }-    } else {-      if (yych <= 0xED) {-        if (yych <= 0xDF)-          goto yy1296;-        if (yych <= 0xE0)-          goto yy1298;-        if (yych <= 0xEC)-          goto yy1299;-        goto yy1303;-      } else {-        if (yych <= 0xF0) {-          if (yych <= 0xEF)-            goto yy1299;-          goto yy1300;-        } else {-          if (yych <= 0xF3)-            goto yy1301;-          if (yych <= 0xF4)-            goto yy1302;-        }-      }-    }-  yy1292 : { return 0; }-  yy1293:-    yych = *(marker = ++p);-    if (yych == '`')-      goto yy1311;-    goto yy1292;-  yy1294:-    yych = *(marker = ++p);-    if (yych == '~')-      goto yy1304;-    goto yy1292;-  yy1295:-    yych = *++p;-    goto yy1292;-  yy1296:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1297;-    if (yych <= 0xBF)-      goto yy1295;-  yy1297:-    p = marker;-    goto yy1292;-  yy1298:-    yych = *++p;-    if (yych <= 0x9F)-      goto yy1297;-    if (yych <= 0xBF)-      goto yy1296;-    goto yy1297;-  yy1299:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1297;-    if (yych <= 0xBF)-      goto yy1296;-    goto yy1297;-  yy1300:-    yych = *++p;-    if (yych <= 0x8F)-      goto yy1297;-    if (yych <= 0xBF)-      goto yy1299;-    goto yy1297;-  yy1301:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1297;-    if (yych <= 0xBF)-      goto yy1299;-    goto yy1297;-  yy1302:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1297;-    if (yych <= 0x8F)-      goto yy1299;-    goto yy1297;-  yy1303:-    yych = *++p;-    if (yych <= 0x7F)-      goto yy1297;-    if (yych <= 0x9F)-      goto yy1296;-    goto yy1297;-  yy1304:-    yych = *++p;-    if (yybm[0 + yych] & 32) {-      goto yy1305;-    }-    goto yy1297;-  yy1305:-    marker = p + 1;-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy1307;-    }-    if (yych <= '\f') {-      if (yych <= 0x08)-        goto yy1297;-      if (yych <= '\n')-        goto yy1309;-      goto yy1297;-    } else {-      if (yych <= '\r')-        goto yy1309;-      if (yych == '~')-        goto yy1305;-      goto yy1297;-    }-  yy1307:-    ++p;-    yych = *p;-    if (yybm[0 + yych] & 64) {-      goto yy1307;-    }-    if (yych <= 0x08)-      goto yy1297;-    if (yych <= '\n')-      goto yy1309;-    if (yych != '\r')-      goto yy1297;-  yy1309:-    ++p;-    p = marker;-    { return (bufsize_t)(p - start); }-  yy1311:-    yych = *++p;-    if (yybm[0 + yych] & 128) {-      goto yy1312;-    }-    goto yy1297;-  yy1312:-    marker = p + 1;-    ++p;-    yych = *p;+/* Generated by re2c 0.15.3 */+#include <stdlib.h>+#include "chunk.h"+#include "scanners.h"++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];++    ptr[c->len] = '\0';+    res = scanner(ptr + offset);+    ptr[c->len] = lim;+  }++  return res;+}++// Try to match a scheme including colon.+bufsize_t _scan_scheme(const unsigned char *p) {+  const unsigned char *marker = NULL;+  const unsigned char *start = p;++  {+    unsigned char yych;+    yych = *(marker = p);+    if (yych <= 0x7F) {+      if (yych <= ' ') {+        if (yych == '\n')+          goto yy2;+        if (yych <= 0x1F)+          goto yy4;+        goto yy3;+      } else {+        if (yych <= 'Z') {+          if (yych <= '@')+            goto yy4;+          goto yy3;+        } else {+          if (yych <= '`')+            goto yy4;+          if (yych <= 'z')+            goto yy3;+          goto yy4;+        }+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF) {+          if (yych >= 0xC2)+            goto yy5;+        } else {+          if (yych <= 0xE0)+            goto yy7;+          if (yych <= 0xEC)+            goto yy8;+          goto yy12;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy8;+          goto yy9;+        } else {+          if (yych <= 0xF3)+            goto yy10;+          if (yych <= 0xF4)+            goto yy11;+        }+      }+    }+  yy2 : { return 0; }+  yy3:+    yych = *(marker = ++p);+    if (yych <= '.') {+      if (yych == '+')+        goto yy13;+      if (yych <= ',')+        goto yy2;+      goto yy13;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy2;+        goto yy13;+      } else {+        if (yych <= '`')+          goto yy2;+        if (yych <= 'z')+          goto yy13;+        goto yy2;+      }+    }+  yy4:+    yych = *++p;+    goto yy2;+  yy5:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy6;+    if (yych <= 0xBF)+      goto yy4;+  yy6:+    p = marker;+    goto yy2;+  yy7:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy6;+    if (yych <= 0xBF)+      goto yy5;+    goto yy6;+  yy8:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy6;+    if (yych <= 0xBF)+      goto yy5;+    goto yy6;+  yy9:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy6;+    if (yych <= 0xBF)+      goto yy8;+    goto yy6;+  yy10:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy6;+    if (yych <= 0xBF)+      goto yy8;+    goto yy6;+  yy11:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy6;+    if (yych <= 0x8F)+      goto yy8;+    goto yy6;+  yy12:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy6;+    if (yych <= 0x9F)+      goto yy5;+    goto yy6;+  yy13:+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy6;+        goto yy16;+      } else {+        if (yych <= ',')+          goto yy6;+        if (yych <= '.')+          goto yy16;+        goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        if (yych <= '@')+          goto yy6;+        goto yy16;+      } else {+        if (yych <= '`')+          goto yy6;+        if (yych <= 'z')+          goto yy16;+        goto yy6;+      }+    }+  yy14:+    ++p;+    { return (bufsize_t)(p - start); }+  yy16:+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy6;+      } else {+        if (yych <= ',')+          goto yy6;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        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;+        if (yych >= '/')+          goto yy6;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy14;+        if (yych <= '@')+          goto yy6;+      } else {+        if (yych <= '`')+          goto yy6;+        if (yych >= '{')+          goto yy6;+      }+    }+    ++p;+    if ((yych = *p) == ':')+      goto yy14;+    goto yy6;+  }+}++// Try to match URI autolink after first <, returning number of chars matched.+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 = *(marker = p);+    if (yych <= 0x7F) {+      if (yych <= ' ') {+        if (yych == '\n')+          goto yy48;+        if (yych <= 0x1F)+          goto yy50;+        goto yy49;+      } else {+        if (yych <= 'Z') {+          if (yych <= '@')+            goto yy50;+          goto yy49;+        } else {+          if (yych <= '`')+            goto yy50;+          if (yych <= 'z')+            goto yy49;+          goto yy50;+        }+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF) {+          if (yych >= 0xC2)+            goto yy51;+        } else {+          if (yych <= 0xE0)+            goto yy53;+          if (yych <= 0xEC)+            goto yy54;+          goto yy58;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy54;+          goto yy55;+        } else {+          if (yych <= 0xF3)+            goto yy56;+          if (yych <= 0xF4)+            goto yy57;+        }+      }+    }+  yy48 : { return 0; }+  yy49:+    yych = *(marker = ++p);+    if (yych <= '.') {+      if (yych == '+')+        goto yy59;+      if (yych <= ',')+        goto yy48;+      goto yy59;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy48;+        goto yy59;+      } else {+        if (yych <= '`')+          goto yy48;+        if (yych <= 'z')+          goto yy59;+        goto yy48;+      }+    }+  yy50:+    yych = *++p;+    goto yy48;+  yy51:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy52;+    if (yych <= 0xBF)+      goto yy50;+  yy52:+    p = marker;+    goto yy48;+  yy53:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy52;+    if (yych <= 0xBF)+      goto yy51;+    goto yy52;+  yy54:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy52;+    if (yych <= 0xBF)+      goto yy51;+    goto yy52;+  yy55:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy52;+    if (yych <= 0xBF)+      goto yy54;+    goto yy52;+  yy56:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy52;+    if (yych <= 0xBF)+      goto yy54;+    goto yy52;+  yy57:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy52;+    if (yych <= 0x8F)+      goto yy54;+    goto yy52;+  yy58:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy52;+    if (yych <= 0x9F)+      goto yy51;+    goto yy52;+  yy59:+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+        goto yy62;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych <= '.')+          goto yy62;+        goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+        goto yy62;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych <= 'z')+          goto yy62;+        goto yy52;+      }+    }+  yy60:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy60;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '<')+          goto yy52;+        if (yych <= '>')+          goto yy99;+        goto yy52;+      } else {+        if (yych <= 0xDF)+          goto yy92;+        if (yych <= 0xE0)+          goto yy93;+        goto yy94;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy98;+        if (yych <= 0xEF)+          goto yy94;+        goto yy95;+      } else {+        if (yych <= 0xF3)+          goto yy96;+        if (yych <= 0xF4)+          goto yy97;+        goto yy52;+      }+    }+  yy62:+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych <= '9') {+      if (yych <= '+') {+        if (yych <= '*')+          goto yy52;+      } else {+        if (yych <= ',')+          goto yy52;+        if (yych >= '/')+          goto yy52;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= ':')+          goto yy60;+        if (yych <= '@')+          goto yy52;+      } else {+        if (yych <= '`')+          goto yy52;+        if (yych >= '{')+          goto yy52;+      }+    }+    yych = *++p;+    if (yych == ':')+      goto yy60;+    goto yy52;+  yy92:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy52;+    if (yych <= 0xBF)+      goto yy60;+    goto yy52;+  yy93:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy52;+    if (yych <= 0xBF)+      goto yy92;+    goto yy52;+  yy94:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy52;+    if (yych <= 0xBF)+      goto yy92;+    goto yy52;+  yy95:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy52;+    if (yych <= 0xBF)+      goto yy94;+    goto yy52;+  yy96:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy52;+    if (yych <= 0xBF)+      goto yy94;+    goto yy52;+  yy97:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy52;+    if (yych <= 0x8F)+      goto yy94;+    goto yy52;+  yy98:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy52;+    if (yych <= 0x9F)+      goto yy92;+    goto yy52;+  yy99:+    ++p;+    { return (bufsize_t)(p - start); }+  }+}++// 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 = *(marker = p);+    if (yych <= '?') {+      if (yych <= ')') {+        if (yych <= ' ') {+          if (yych != '\n')+            goto yy105;+        } else {+          if (yych == '"')+            goto yy105;+          if (yych <= '\'')+            goto yy104;+          goto yy105;+        }+      } else {+        if (yych <= '9') {+          if (yych == ',')+            goto yy105;+          goto yy104;+        } else {+          if (yych == '=')+            goto yy104;+          if (yych <= '>')+            goto yy105;+          goto yy104;+        }+      }+    } else {+      if (yych <= 0xDF) {+        if (yych <= ']') {+          if (yych <= '@')+            goto yy105;+          if (yych <= 'Z')+            goto yy104;+          goto yy105;+        } else {+          if (yych <= '~')+            goto yy104;+          if (yych <= 0x7F)+            goto yy105;+          if (yych >= 0xC2)+            goto yy106;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych <= 0xE0)+            goto yy108;+          if (yych == 0xED)+            goto yy113;+          goto yy109;+        } else {+          if (yych <= 0xF0)+            goto yy110;+          if (yych <= 0xF3)+            goto yy111;+          if (yych <= 0xF4)+            goto yy112;+        }+      }+    }+  yy103 : { return 0; }+  yy104:+    yych = *(marker = ++p);+    if (yych <= ',') {+      if (yych <= '"') {+        if (yych == '!')+          goto yy116;+        goto yy103;+      } else {+        if (yych <= '\'')+          goto yy116;+        if (yych <= ')')+          goto yy103;+        if (yych <= '+')+          goto yy116;+        goto yy103;+      }+    } else {+      if (yych <= '>') {+        if (yych <= '9')+          goto yy116;+        if (yych == '=')+          goto yy116;+        goto yy103;+      } else {+        if (yych <= 'Z')+          goto yy116;+        if (yych <= ']')+          goto yy103;+        if (yych <= '~')+          goto yy116;+        goto yy103;+      }+    }+  yy105:+    yych = *++p;+    goto yy103;+  yy106:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy107;+    if (yych <= 0xBF)+      goto yy105;+  yy107:+    p = marker;+    goto yy103;+  yy108:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy107;+    if (yych <= 0xBF)+      goto yy106;+    goto yy107;+  yy109:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy107;+    if (yych <= 0xBF)+      goto yy106;+    goto yy107;+  yy110:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy107;+    if (yych <= 0xBF)+      goto yy109;+    goto yy107;+  yy111:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy107;+    if (yych <= 0xBF)+      goto yy109;+    goto yy107;+  yy112:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy107;+    if (yych <= 0x8F)+      goto yy109;+    goto yy107;+  yy113:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy107;+    if (yych <= 0x9F)+      goto yy106;+    goto yy107;+  yy114:+    yych = *++p;+    if (yych <= '@') {+      if (yych <= '/')+        goto yy107;+      if (yych <= '9')+        goto yy117;+      goto yy107;+    } else {+      if (yych <= 'Z')+        goto yy117;+      if (yych <= '`')+        goto yy107;+      if (yych <= 'z')+        goto yy117;+      goto yy107;+    }+  yy115:+    ++p;+    yych = *p;+  yy116:+    if (yybm[0 + yych] & 128) {+      goto yy115;+    }+    if (yych <= '>')+      goto yy107;+    if (yych <= '@')+      goto yy114;+    goto yy107;+  yy117:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy119;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych >= ':')+          goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy248;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy247;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy247;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy247;+        goto yy107;+      }+    }+  yy119:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy248;+      if (yych <= '/')+        goto yy107;+      goto yy247;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+        goto yy247;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy247;+        goto yy107;+      }+    }+  yy120:+    ++p;+    yych = *p;+    if (yych <= '@') {+      if (yych <= '/')+        goto yy107;+      if (yych <= '9')+        goto yy123;+      goto yy107;+    } else {+      if (yych <= 'Z')+        goto yy123;+      if (yych <= '`')+        goto yy107;+      if (yych <= 'z')+        goto yy123;+      goto yy107;+    }+  yy121:+    ++p;+    { return (bufsize_t)(p - start); }+  yy123:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy125;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych >= ':')+          goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy127;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy126;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy126;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy126;+        goto yy107;+      }+    }+  yy125:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy127;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy126:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy129;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy128;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy128;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy128;+        goto yy107;+      }+    }+  yy127:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy129;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy128:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy131;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy130;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy130;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy130;+        goto yy107;+      }+    }+  yy129:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy131;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy130:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy133;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy132;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy132;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy132;+        goto yy107;+      }+    }+  yy131:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy133;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy132:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy135;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy134;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy134;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy134;+        goto yy107;+      }+    }+  yy133:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy135;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy134:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy137;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy136;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy136;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy136;+        goto yy107;+      }+    }+  yy135:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy137;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy136:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy139;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy138;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy138;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy138;+        goto yy107;+      }+    }+  yy137:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy139;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy138:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy141;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy140;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy140;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy140;+        goto yy107;+      }+    }+  yy139:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy141;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy140:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy143;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy142;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy142;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy142;+        goto yy107;+      }+    }+  yy141:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy143;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy142:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy145;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy144;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy144;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy144;+        goto yy107;+      }+    }+  yy143:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy145;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy144:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy147;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy146;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy146;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy146;+        goto yy107;+      }+    }+  yy145:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy147;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy146:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy149;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy148;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy148;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy148;+        goto yy107;+      }+    }+  yy147:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy149;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy148:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy151;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy150;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy150;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy150;+        goto yy107;+      }+    }+  yy149:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy151;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy150:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy153;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy152;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy152;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy152;+        goto yy107;+      }+    }+  yy151:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy153;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy152:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy155;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy154;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy154;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy154;+        goto yy107;+      }+    }+  yy153:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy155;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy154:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy157;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy156;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy156;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy156;+        goto yy107;+      }+    }+  yy155:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy157;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy156:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy159;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy158;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy158;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy158;+        goto yy107;+      }+    }+  yy157:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy159;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy158:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy161;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy160;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy160;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy160;+        goto yy107;+      }+    }+  yy159:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy161;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy160:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy163;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy162;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy162;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy162;+        goto yy107;+      }+    }+  yy161:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy163;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy162:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy165;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy164;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy164;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy164;+        goto yy107;+      }+    }+  yy163:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy165;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy164:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy167;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy166;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy166;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy166;+        goto yy107;+      }+    }+  yy165:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy167;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy166:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy169;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy168;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy168;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy168;+        goto yy107;+      }+    }+  yy167:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy169;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy168:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy171;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy170;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy170;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy170;+        goto yy107;+      }+    }+  yy169:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy171;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy170:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy173;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy172;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy172;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy172;+        goto yy107;+      }+    }+  yy171:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy173;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy172:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy175;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy174;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy174;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy174;+        goto yy107;+      }+    }+  yy173:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy175;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy174:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy177;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy176;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy176;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy176;+        goto yy107;+      }+    }+  yy175:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy177;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy176:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy179;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy178;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy178;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy178;+        goto yy107;+      }+    }+  yy177:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy179;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy178:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy181;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy180;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy180;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy180;+        goto yy107;+      }+    }+  yy179:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy181;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy180:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy183;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy182;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy182;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy182;+        goto yy107;+      }+    }+  yy181:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy183;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy182:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy185;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy184;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy184;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy184;+        goto yy107;+      }+    }+  yy183:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy185;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy184:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy187;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy186;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy186;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy186;+        goto yy107;+      }+    }+  yy185:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy187;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy186:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy189;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy188;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy188;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy188;+        goto yy107;+      }+    }+  yy187:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy189;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy188:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy191;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy190;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy190;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy190;+        goto yy107;+      }+    }+  yy189:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy191;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy190:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy193;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy192;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy192;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy192;+        goto yy107;+      }+    }+  yy191:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy193;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy192:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy195;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy194;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy194;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy194;+        goto yy107;+      }+    }+  yy193:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy195;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy194:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy197;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy196;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy196;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy196;+        goto yy107;+      }+    }+  yy195:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy197;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy196:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy199;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy198;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy198;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy198;+        goto yy107;+      }+    }+  yy197:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy199;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy198:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy201;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy200;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy200;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy200;+        goto yy107;+      }+    }+  yy199:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy201;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy200:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy203;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy202;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy202;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy202;+        goto yy107;+      }+    }+  yy201:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy203;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy202:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy205;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy204;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy204;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy204;+        goto yy107;+      }+    }+  yy203:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy205;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy204:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy207;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy206;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy206;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy206;+        goto yy107;+      }+    }+  yy205:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy207;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy206:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy209;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy208;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy208;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy208;+        goto yy107;+      }+    }+  yy207:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy209;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy208:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy211;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy210;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy210;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy210;+        goto yy107;+      }+    }+  yy209:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy211;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy210:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy213;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy212;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy212;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy212;+        goto yy107;+      }+    }+  yy211:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy213;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy212:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy215;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy214;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy214;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy214;+        goto yy107;+      }+    }+  yy213:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy215;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy214:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy217;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy216;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy216;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy216;+        goto yy107;+      }+    }+  yy215:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy217;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy216:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy219;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy218;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy218;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy218;+        goto yy107;+      }+    }+  yy217:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy219;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy218:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy221;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy220;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy220;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy220;+        goto yy107;+      }+    }+  yy219:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy221;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy220:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy223;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy222;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy222;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy222;+        goto yy107;+      }+    }+  yy221:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy223;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy222:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy225;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy224;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy224;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy224;+        goto yy107;+      }+    }+  yy223:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy225;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy224:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy227;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy226;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy226;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy226;+        goto yy107;+      }+    }+  yy225:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy227;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy226:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy229;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy228;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy228;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy228;+        goto yy107;+      }+    }+  yy227:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy229;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy228:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy231;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy230;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy230;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy230;+        goto yy107;+      }+    }+  yy229:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy231;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy230:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy233;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy232;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy232;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy232;+        goto yy107;+      }+    }+  yy231:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy233;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy232:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy235;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy234;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy234;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy234;+        goto yy107;+      }+    }+  yy233:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy235;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy234:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy237;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy236;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy236;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy236;+        goto yy107;+      }+    }+  yy235:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy237;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy236:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy239;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy238;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy238;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy238;+        goto yy107;+      }+    }+  yy237:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy239;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy238:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy241;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy240;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy240;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy240;+        goto yy107;+      }+    }+  yy239:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy241;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy240:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy243;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy242;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy242;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy242;+        goto yy107;+      }+    }+  yy241:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy243;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy242:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy245;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy244;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy244;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy244;+        goto yy107;+      }+    }+  yy243:+    ++p;+    yych = *p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy245;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy244:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= '-')+          goto yy107;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy246;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy246;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy246;+        goto yy107;+      }+    }+  yy245:+    ++p;+    yych = *p;+    if (yych <= '@') {+      if (yych <= '/')+        goto yy107;+      if (yych >= ':')+        goto yy107;+    } else {+      if (yych <= 'Z')+        goto yy246;+      if (yych <= '`')+        goto yy107;+      if (yych >= '{')+        goto yy107;+    }+  yy246:+    ++p;+    yych = *p;+    if (yych == '.')+      goto yy120;+    if (yych == '>')+      goto yy121;+    goto yy107;+  yy247:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy250;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy249;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy249;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy249;+        goto yy107;+      }+    }+  yy248:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy250;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy249:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy252;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy251;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy251;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy251;+        goto yy107;+      }+    }+  yy250:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy252;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy251:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy254;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy253;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy253;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy253;+        goto yy107;+      }+    }+  yy252:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy254;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy253:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy256;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy255;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy255;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy255;+        goto yy107;+      }+    }+  yy254:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy256;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy255:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy258;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy257;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy257;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy257;+        goto yy107;+      }+    }+  yy256:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy258;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy257:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy260;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy259;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy259;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy259;+        goto yy107;+      }+    }+  yy258:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy260;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy259:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy262;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy261;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy261;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy261;+        goto yy107;+      }+    }+  yy260:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy262;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy261:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy264;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy263;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy263;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy263;+        goto yy107;+      }+    }+  yy262:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy264;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy263:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy266;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy265;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy265;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy265;+        goto yy107;+      }+    }+  yy264:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy266;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy265:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy268;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy267;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy267;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy267;+        goto yy107;+      }+    }+  yy266:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy268;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy267:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy270;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy269;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy269;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy269;+        goto yy107;+      }+    }+  yy268:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy270;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy269:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy272;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy271;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy271;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy271;+        goto yy107;+      }+    }+  yy270:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy272;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy271:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy274;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy273;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy273;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy273;+        goto yy107;+      }+    }+  yy272:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy274;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy273:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy276;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy275;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy275;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy275;+        goto yy107;+      }+    }+  yy274:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy276;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy275:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy278;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy277;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy277;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy277;+        goto yy107;+      }+    }+  yy276:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy278;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy277:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy280;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy279;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy279;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy279;+        goto yy107;+      }+    }+  yy278:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy280;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy279:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy282;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy281;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy281;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy281;+        goto yy107;+      }+    }+  yy280:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy282;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy281:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy284;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy283;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy283;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy283;+        goto yy107;+      }+    }+  yy282:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy284;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy283:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy286;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy285;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy285;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy285;+        goto yy107;+      }+    }+  yy284:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy286;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy285:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy288;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy287;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy287;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy287;+        goto yy107;+      }+    }+  yy286:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy288;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy287:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy290;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy289;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy289;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy289;+        goto yy107;+      }+    }+  yy288:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy290;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy289:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy292;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy291;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy291;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy291;+        goto yy107;+      }+    }+  yy290:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy292;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy291:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy294;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy293;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy293;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy293;+        goto yy107;+      }+    }+  yy292:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy294;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy293:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy296;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy295;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy295;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy295;+        goto yy107;+      }+    }+  yy294:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy296;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy295:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy298;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy297;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy297;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy297;+        goto yy107;+      }+    }+  yy296:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy298;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy297:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy300;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy299;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy299;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy299;+        goto yy107;+      }+    }+  yy298:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy300;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy299:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy302;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy301;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy301;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy301;+        goto yy107;+      }+    }+  yy300:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy302;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy301:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy304;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy303;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy303;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy303;+        goto yy107;+      }+    }+  yy302:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy304;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy303:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy306;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy305;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy305;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy305;+        goto yy107;+      }+    }+  yy304:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy306;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy305:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy308;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy307;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy307;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy307;+        goto yy107;+      }+    }+  yy306:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy308;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy307:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy310;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy309;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy309;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy309;+        goto yy107;+      }+    }+  yy308:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy310;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy309:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy312;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy311;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy311;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy311;+        goto yy107;+      }+    }+  yy310:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy312;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy311:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy314;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy313;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy313;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy313;+        goto yy107;+      }+    }+  yy312:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy314;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy313:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy316;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy315;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy315;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy315;+        goto yy107;+      }+    }+  yy314:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy316;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy315:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy318;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy317;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy317;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy317;+        goto yy107;+      }+    }+  yy316:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy318;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy317:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy320;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy319;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy319;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy319;+        goto yy107;+      }+    }+  yy318:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy320;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy319:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy322;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy321;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy321;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy321;+        goto yy107;+      }+    }+  yy320:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy322;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy321:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy324;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy323;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy323;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy323;+        goto yy107;+      }+    }+  yy322:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy324;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy323:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy326;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy325;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy325;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy325;+        goto yy107;+      }+    }+  yy324:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy326;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy325:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy328;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy327;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy327;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy327;+        goto yy107;+      }+    }+  yy326:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy328;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy327:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy330;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy329;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy329;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy329;+        goto yy107;+      }+    }+  yy328:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy330;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy329:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy332;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy331;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy331;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy331;+        goto yy107;+      }+    }+  yy330:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy332;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy331:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy334;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy333;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy333;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy333;+        goto yy107;+      }+    }+  yy332:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy334;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy333:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy336;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy335;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy335;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy335;+        goto yy107;+      }+    }+  yy334:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy336;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy335:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy338;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy337;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy337;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy337;+        goto yy107;+      }+    }+  yy336:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy338;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy337:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy340;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy339;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy339;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy339;+        goto yy107;+      }+    }+  yy338:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy340;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy339:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy342;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy341;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy341;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy341;+        goto yy107;+      }+    }+  yy340:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy342;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy341:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy344;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy343;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy343;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy343;+        goto yy107;+      }+    }+  yy342:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy344;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy343:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy346;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy345;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy345;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy345;+        goto yy107;+      }+    }+  yy344:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy346;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy345:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy348;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy347;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy347;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy347;+        goto yy107;+      }+    }+  yy346:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy348;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy347:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy350;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy349;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy349;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy349;+        goto yy107;+      }+    }+  yy348:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy350;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy349:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy352;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy351;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy351;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy351;+        goto yy107;+      }+    }+  yy350:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy352;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy351:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy354;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy353;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy353;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy353;+        goto yy107;+      }+    }+  yy352:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy354;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy353:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy356;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy355;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy355;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy355;+        goto yy107;+      }+    }+  yy354:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy356;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy355:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy358;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy357;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy357;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy357;+        goto yy107;+      }+    }+  yy356:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy358;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy357:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy360;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy359;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy359;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy359;+        goto yy107;+      }+    }+  yy358:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy360;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy359:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy362;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy361;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy361;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy361;+        goto yy107;+      }+    }+  yy360:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy362;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy361:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy364;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy363;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy363;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy363;+        goto yy107;+      }+    }+  yy362:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy364;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy363:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= ',')+          goto yy107;+        if (yych <= '-')+          goto yy366;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy365;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy365;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy365;+        goto yy107;+      }+    }+  yy364:+    yych = *++p;+    if (yych <= '9') {+      if (yych == '-')+        goto yy366;+      if (yych <= '/')+        goto yy107;+    } else {+      if (yych <= 'Z') {+        if (yych <= '@')+          goto yy107;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych >= '{')+          goto yy107;+      }+    }+  yy365:+    yych = *++p;+    if (yych <= '=') {+      if (yych <= '.') {+        if (yych <= '-')+          goto yy107;+        goto yy120;+      } else {+        if (yych <= '/')+          goto yy107;+        if (yych <= '9')+          goto yy246;+        goto yy107;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy121;+        if (yych <= '@')+          goto yy107;+        goto yy246;+      } else {+        if (yych <= '`')+          goto yy107;+        if (yych <= 'z')+          goto yy246;+        goto yy107;+      }+    }+  yy366:+    ++p;+    if ((yych = *p) <= '@') {+      if (yych <= '/')+        goto yy107;+      if (yych <= '9')+        goto yy246;+      goto yy107;+    } else {+      if (yych <= 'Z')+        goto yy246;+      if (yych <= '`')+        goto yy107;+      if (yych <= 'z')+        goto yy246;+      goto yy107;+    }+  }+}++// 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[] = {+        /* table 1 .. 8: 0 */+        0,   230, 230, 230, 230, 230, 230, 230, 230, 199, 199, 199, 199, 199,+        230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,+        230, 230, 230, 230, 199, 230, 70,  230, 230, 230, 230, 134, 230, 230,+        230, 230, 230, 254, 246, 230, 254, 254, 254, 254, 254, 254, 254, 254,+        254, 254, 246, 230, 198, 198, 196, 230, 230, 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, 230, 230, 226, 230, 246, 198, 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, 230, 230, 230,+        230, 230, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   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,   160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 32,  160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 128, 160, 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, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);+    if (yych <= '`') {+      if (yych <= '.') {+        if (yych <= '\n') {+          if (yych <= '\t')+            goto yy374;+        } else {+          if (yych == '!')+            goto yy372;+          goto yy374;+        }+      } else {+        if (yych <= '?') {+          if (yych <= '/')+            goto yy371;+          if (yych <= '>')+            goto yy374;+          goto yy373;+        } else {+          if (yych <= '@')+            goto yy374;+          if (yych <= 'Z')+            goto yy370;+          goto yy374;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= 'z')+            goto yy370;+          if (yych <= 0x7F)+            goto yy374;+        } else {+          if (yych <= 0xDF)+            goto yy375;+          if (yych <= 0xE0)+            goto yy377;+          goto yy378;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy382;+          if (yych <= 0xEF)+            goto yy378;+          goto yy379;+        } else {+          if (yych <= 0xF3)+            goto yy380;+          if (yych <= 0xF4)+            goto yy381;+        }+      }+    }+  yy369 : { return 0; }+  yy370:+    yych = *(marker = ++p);+    if (yych <= '/') {+      if (yych <= ' ') {+        if (yych <= 0x08)+          goto yy369;+        if (yych <= '\r')+          goto yy474;+        if (yych <= 0x1F)+          goto yy369;+        goto yy474;+      } else {+        if (yych == '-')+          goto yy472;+        if (yych <= '.')+          goto yy369;+        goto yy476;+      }+    } else {+      if (yych <= '@') {+        if (yych <= '9')+          goto yy472;+        if (yych == '>')+          goto yy393;+        goto yy369;+      } else {+        if (yych <= 'Z')+          goto yy472;+        if (yych <= '`')+          goto yy369;+        if (yych <= 'z')+          goto yy472;+        goto yy369;+      }+    }+  yy371:+    yych = *(marker = ++p);+    if (yych <= '@')+      goto yy369;+    if (yych <= 'Z')+      goto yy468;+    if (yych <= '`')+      goto yy369;+    if (yych <= 'z')+      goto yy468;+    goto yy369;+  yy372:+    yych = *(marker = ++p);+    if (yybm[256 + yych] & 64) {+      goto yy403;+    }+    if (yych == '-')+      goto yy405;+    if (yych <= '@')+      goto yy369;+    if (yych <= '[')+      goto yy402;+    goto yy369;+  yy373:+    yych = *(marker = ++p);+    if (yych <= 0x00)+      goto yy369;+    if (yych <= 0x7F)+      goto yy384;+    if (yych <= 0xC1)+      goto yy369;+    if (yych <= 0xF4)+      goto yy384;+    goto yy369;+  yy374:+    yych = *++p;+    goto yy369;+  yy375:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy374;+  yy376:+    p = marker;+    goto yy369;+  yy377:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy375;+    goto yy376;+  yy378:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy375;+    goto yy376;+  yy379:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy378;+    goto yy376;+  yy380:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy378;+    goto yy376;+  yy381:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy378;+    goto yy376;+  yy382:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy375;+    goto yy376;+  yy383:+    ++p;+    yych = *p;+  yy384:+    if (yybm[256 + yych] & 32) {+      goto yy383;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= '?')+          goto yy392;+        goto yy376;+      } else {+        if (yych <= 0xDF)+          goto yy385;+        if (yych <= 0xE0)+          goto yy386;+        goto yy387;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy391;+        if (yych <= 0xEF)+          goto yy387;+        goto yy388;+      } else {+        if (yych <= 0xF3)+          goto yy389;+        if (yych <= 0xF4)+          goto yy390;+        goto yy376;+      }+    }+  yy385:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy383;+    goto yy376;+  yy386:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy385;+    goto yy376;+  yy387:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy385;+    goto yy376;+  yy388:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy387;+    goto yy376;+  yy389:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy387;+    goto yy376;+  yy390:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy387;+    goto yy376;+  yy391:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy385;+    goto yy376;+  yy392:+    ++p;+    yych = *p;+    if (yych <= 0xE0) {+      if (yych <= '>') {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= '=')+          goto yy383;+      } else {+        if (yych <= 0x7F)+          goto yy383;+        if (yych <= 0xC1)+          goto yy376;+        if (yych <= 0xDF)+          goto yy395;+        goto yy396;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy401;+        goto yy397;+      } else {+        if (yych <= 0xF0)+          goto yy398;+        if (yych <= 0xF3)+          goto yy399;+        if (yych <= 0xF4)+          goto yy400;+        goto yy376;+      }+    }+  yy393:+    ++p;+    { return (bufsize_t)(p - start); }+  yy395:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy383;+    goto yy376;+  yy396:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy395;+    goto yy376;+  yy397:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy395;+    goto yy376;+  yy398:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy397;+    goto yy376;+  yy399:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy397;+    goto yy376;+  yy400:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy397;+    goto yy376;+  yy401:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy395;+    goto yy376;+  yy402:+    yych = *++p;+    if (yych == 'C')+      goto yy438;+    if (yych == 'c')+      goto yy438;+    goto yy376;+  yy403:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 1) {+      goto yy427;+    }+    if (yych <= '@')+      goto yy376;+    if (yych <= 'Z')+      goto yy403;+    goto yy376;+  yy405:+    yych = *++p;+    if (yych != '-')+      goto yy376;+    yych = *++p;+    if (yych <= 0xE0) {+      if (yych <= '=') {+        if (yych != '-')+          goto yy409;+      } else {+        if (yych <= '>')+          goto yy376;+        if (yych <= 0xC1)+          goto yy409;+        if (yych <= 0xDF)+          goto yy410;+        goto yy411;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy416;+        goto yy412;+      } else {+        if (yych <= 0xF0)+          goto yy413;+        if (yych <= 0xF3)+          goto yy414;+        if (yych <= 0xF4)+          goto yy415;+        goto yy409;+      }+    }+    yych = *++p;+    if (yych <= 0xE0) {+      if (yych <= '=') {+        if (yych == '-')+          goto yy426;+        goto yy409;+      } else {+        if (yych <= '>')+          goto yy376;+        if (yych <= 0xC1)+          goto yy409;+        if (yych <= 0xDF)+          goto yy410;+        goto yy411;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy416;+        goto yy412;+      } else {+        if (yych <= 0xF0)+          goto yy413;+        if (yych <= 0xF3)+          goto yy414;+        if (yych <= 0xF4)+          goto yy415;+        goto yy409;+      }+    }+  yy408:+    ++p;+    yych = *p;+  yy409:+    if (yybm[256 + yych] & 128) {+      goto yy408;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= '-')+          goto yy417;+        goto yy376;+      } else {+        if (yych <= 0xDF)+          goto yy418;+        if (yych <= 0xE0)+          goto yy419;+        goto yy420;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy424;+        if (yych <= 0xEF)+          goto yy420;+        goto yy421;+      } else {+        if (yych <= 0xF3)+          goto yy422;+        if (yych <= 0xF4)+          goto yy423;+        goto yy376;+      }+    }+  yy410:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy408;+    goto yy376;+  yy411:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy410;+    goto yy376;+  yy412:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy410;+    goto yy376;+  yy413:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy412;+    goto yy376;+  yy414:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy412;+    goto yy376;+  yy415:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy412;+    goto yy376;+  yy416:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy410;+    goto yy376;+  yy417:+    ++p;+    yych = *p;+    if (yybm[256 + yych] & 128) {+      goto yy408;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= '-')+          goto yy425;+        goto yy376;+      } else {+        if (yych <= 0xDF)+          goto yy418;+        if (yych <= 0xE0)+          goto yy419;+        goto yy420;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy424;+        if (yych <= 0xEF)+          goto yy420;+        goto yy421;+      } else {+        if (yych <= 0xF3)+          goto yy422;+        if (yych <= 0xF4)+          goto yy423;+        goto yy376;+      }+    }+  yy418:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy408;+    goto yy376;+  yy419:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy418;+    goto yy376;+  yy420:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy418;+    goto yy376;+  yy421:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy420;+    goto yy376;+  yy422:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy420;+    goto yy376;+  yy423:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy420;+    goto yy376;+  yy424:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy418;+    goto yy376;+  yy425:+    yych = *++p;+    if (yych == '>')+      goto yy393;+    goto yy376;+  yy426:+    yych = *++p;+    if (yych == '>')+      goto yy393;+    goto yy376;+  yy427:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 1) {+      goto yy427;+    }+    if (yych <= 0xE0) {+      if (yych <= '>') {+        if (yych <= 0x00)+          goto yy376;+        if (yych >= '>')+          goto yy393;+      } else {+        if (yych <= 0x7F)+          goto yy429;+        if (yych <= 0xC1)+          goto yy376;+        if (yych <= 0xDF)+          goto yy431;+        goto yy432;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy437;+        goto yy433;+      } else {+        if (yych <= 0xF0)+          goto yy434;+        if (yych <= 0xF3)+          goto yy435;+        if (yych <= 0xF4)+          goto yy436;+        goto yy376;+      }+    }+  yy429:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 2) {+      goto yy429;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= '>')+          goto yy393;+        goto yy376;+      } else {+        if (yych <= 0xDF)+          goto yy431;+        if (yych <= 0xE0)+          goto yy432;+        goto yy433;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy437;+        if (yych <= 0xEF)+          goto yy433;+        goto yy434;+      } else {+        if (yych <= 0xF3)+          goto yy435;+        if (yych <= 0xF4)+          goto yy436;+        goto yy376;+      }+    }+  yy431:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy429;+    goto yy376;+  yy432:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy431;+    goto yy376;+  yy433:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy431;+    goto yy376;+  yy434:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy433;+    goto yy376;+  yy435:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy433;+    goto yy376;+  yy436:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy433;+    goto yy376;+  yy437:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy431;+    goto yy376;+  yy438:+    yych = *++p;+    if (yych == 'D')+      goto yy439;+    if (yych != 'd')+      goto yy376;+  yy439:+    yych = *++p;+    if (yych == 'A')+      goto yy440;+    if (yych != 'a')+      goto yy376;+  yy440:+    yych = *++p;+    if (yych == 'T')+      goto yy441;+    if (yych != 't')+      goto yy376;+  yy441:+    yych = *++p;+    if (yych == 'A')+      goto yy442;+    if (yych != 'a')+      goto yy376;+  yy442:+    yych = *++p;+    if (yych != '[')+      goto yy376;+  yy443:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 4) {+      goto yy443;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= ']')+          goto yy452;+        goto yy376;+      } else {+        if (yych <= 0xDF)+          goto yy445;+        if (yych <= 0xE0)+          goto yy446;+        goto yy447;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy451;+        if (yych <= 0xEF)+          goto yy447;+        goto yy448;+      } else {+        if (yych <= 0xF3)+          goto yy449;+        if (yych <= 0xF4)+          goto yy450;+        goto yy376;+      }+    }+  yy445:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy443;+    goto yy376;+  yy446:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy445;+    goto yy376;+  yy447:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy445;+    goto yy376;+  yy448:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy447;+    goto yy376;+  yy449:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy447;+    goto yy376;+  yy450:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy447;+    goto yy376;+  yy451:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy445;+    goto yy376;+  yy452:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 4) {+      goto yy443;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy376;+        if (yych >= '^')+          goto yy376;+      } else {+        if (yych <= 0xDF)+          goto yy454;+        if (yych <= 0xE0)+          goto yy455;+        goto yy456;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy460;+        if (yych <= 0xEF)+          goto yy456;+        goto yy457;+      } else {+        if (yych <= 0xF3)+          goto yy458;+        if (yych <= 0xF4)+          goto yy459;+        goto yy376;+      }+    }+    ++p;+    yych = *p;+    if (yych <= 0xE0) {+      if (yych <= '>') {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= '=')+          goto yy443;+        goto yy393;+      } else {+        if (yych <= 0x7F)+          goto yy443;+        if (yych <= 0xC1)+          goto yy376;+        if (yych <= 0xDF)+          goto yy461;+        goto yy462;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy467;+        goto yy463;+      } else {+        if (yych <= 0xF0)+          goto yy464;+        if (yych <= 0xF3)+          goto yy465;+        if (yych <= 0xF4)+          goto yy466;+        goto yy376;+      }+    }+  yy454:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy443;+    goto yy376;+  yy455:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy454;+    goto yy376;+  yy456:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy454;+    goto yy376;+  yy457:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy456;+    goto yy376;+  yy458:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy456;+    goto yy376;+  yy459:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy456;+    goto yy376;+  yy460:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy454;+    goto yy376;+  yy461:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy443;+    goto yy376;+  yy462:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy461;+    goto yy376;+  yy463:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy461;+    goto yy376;+  yy464:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy463;+    goto yy376;+  yy465:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy463;+    goto yy376;+  yy466:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy463;+    goto yy376;+  yy467:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy461;+    goto yy376;+  yy468:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 8) {+      goto yy468;+    }+    if (yych <= 0x1F) {+      if (yych <= 0x08)+        goto yy376;+      if (yych >= 0x0E)+        goto yy376;+    } else {+      if (yych <= ' ')+        goto yy470;+      if (yych == '>')+        goto yy393;+      goto yy376;+    }+  yy470:+    ++p;+    yych = *p;+    if (yych <= 0x1F) {+      if (yych <= 0x08)+        goto yy376;+      if (yych <= '\r')+        goto yy470;+      goto yy376;+    } else {+      if (yych <= ' ')+        goto yy470;+      if (yych == '>')+        goto yy393;+      goto yy376;+    }+  yy472:+    ++p;+    yych = *p;+    if (yych <= '/') {+      if (yych <= ' ') {+        if (yych <= 0x08)+          goto yy376;+        if (yych <= '\r')+          goto yy474;+        if (yych <= 0x1F)+          goto yy376;+      } else {+        if (yych == '-')+          goto yy472;+        if (yych <= '.')+          goto yy376;+        goto yy476;+      }+    } else {+      if (yych <= '@') {+        if (yych <= '9')+          goto yy472;+        if (yych == '>')+          goto yy393;+        goto yy376;+      } else {+        if (yych <= 'Z')+          goto yy472;+        if (yych <= '`')+          goto yy376;+        if (yych <= 'z')+          goto yy472;+        goto yy376;+      }+    }+  yy474:+    ++p;+    yych = *p;+    if (yych <= ':') {+      if (yych <= ' ') {+        if (yych <= 0x08)+          goto yy376;+        if (yych <= '\r')+          goto yy474;+        if (yych <= 0x1F)+          goto yy376;+        goto yy474;+      } else {+        if (yych == '/')+          goto yy476;+        if (yych <= '9')+          goto yy376;+        goto yy477;+      }+    } else {+      if (yych <= 'Z') {+        if (yych == '>')+          goto yy393;+        if (yych <= '@')+          goto yy376;+        goto yy477;+      } else {+        if (yych <= '_') {+          if (yych <= '^')+            goto yy376;+          goto yy477;+        } else {+          if (yych <= '`')+            goto yy376;+          if (yych <= 'z')+            goto yy477;+          goto yy376;+        }+      }+    }+  yy476:+    yych = *++p;+    if (yych == '>')+      goto yy393;+    goto yy376;+  yy477:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 16) {+      goto yy477;+    }+    if (yych <= ',') {+      if (yych <= '\r') {+        if (yych <= 0x08)+          goto yy376;+      } else {+        if (yych != ' ')+          goto yy376;+      }+    } else {+      if (yych <= '<') {+        if (yych <= '/')+          goto yy476;+        goto yy376;+      } else {+        if (yych <= '=')+          goto yy481;+        if (yych <= '>')+          goto yy393;+        goto yy376;+      }+    }+  yy479:+    ++p;+    yych = *p;+    if (yych <= '<') {+      if (yych <= ' ') {+        if (yych <= 0x08)+          goto yy376;+        if (yych <= '\r')+          goto yy479;+        if (yych <= 0x1F)+          goto yy376;+        goto yy479;+      } else {+        if (yych <= '/') {+          if (yych <= '.')+            goto yy376;+          goto yy476;+        } else {+          if (yych == ':')+            goto yy477;+          goto yy376;+        }+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '=')+          goto yy481;+        if (yych <= '>')+          goto yy393;+        if (yych <= '@')+          goto yy376;+        goto yy477;+      } else {+        if (yych <= '_') {+          if (yych <= '^')+            goto yy376;+          goto yy477;+        } else {+          if (yych <= '`')+            goto yy376;+          if (yych <= 'z')+            goto yy477;+          goto yy376;+        }+      }+    }+  yy481:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy483;+    }+    if (yych <= 0xE0) {+      if (yych <= '"') {+        if (yych <= 0x00)+          goto yy376;+        if (yych >= '!')+          goto yy494;+      } else {+        if (yych <= '\'')+          goto yy492;+        if (yych <= 0xC1)+          goto yy376;+        if (yych <= 0xDF)+          goto yy485;+        goto yy486;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy491;+        goto yy487;+      } else {+        if (yych <= 0xF0)+          goto yy488;+        if (yych <= 0xF3)+          goto yy489;+        if (yych <= 0xF4)+          goto yy490;+        goto yy376;+      }+    }+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy483;+    }+    if (yych <= 0xDF) {+      if (yych <= '\'') {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= ' ')+          goto yy517;+        if (yych <= '"')+          goto yy494;+        goto yy492;+      } else {+        if (yych == '>')+          goto yy393;+        if (yych <= 0xC1)+          goto yy376;+        goto yy485;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy486;+        if (yych == 0xED)+          goto yy491;+        goto yy487;+      } else {+        if (yych <= 0xF0)+          goto yy488;+        if (yych <= 0xF3)+          goto yy489;+        if (yych <= 0xF4)+          goto yy490;+        goto yy376;+      }+    }+  yy483:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy483;+    }+    if (yych <= 0xE0) {+      if (yych <= '=') {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= ' ')+          goto yy511;+        goto yy376;+      } else {+        if (yych <= '>')+          goto yy393;+        if (yych <= 0xC1)+          goto yy376;+        if (yych >= 0xE0)+          goto yy486;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy491;+        goto yy487;+      } else {+        if (yych <= 0xF0)+          goto yy488;+        if (yych <= 0xF3)+          goto yy489;+        if (yych <= 0xF4)+          goto yy490;+        goto yy376;+      }+    }+  yy485:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy483;+    goto yy376;+  yy486:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy485;+    goto yy376;+  yy487:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy485;+    goto yy376;+  yy488:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy487;+    goto yy376;+  yy489:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy487;+    goto yy376;+  yy490:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy487;+    goto yy376;+  yy491:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy485;+    goto yy376;+  yy492:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy492;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= '\'')+          goto yy503;+        goto yy376;+      } else {+        if (yych <= 0xDF)+          goto yy504;+        if (yych <= 0xE0)+          goto yy505;+        goto yy506;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy510;+        if (yych <= 0xEF)+          goto yy506;+        goto yy507;+      } else {+        if (yych <= 0xF3)+          goto yy508;+        if (yych <= 0xF4)+          goto yy509;+        goto yy376;+      }+    }+  yy494:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy494;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy376;+        if (yych <= '"')+          goto yy503;+        goto yy376;+      } else {+        if (yych <= 0xDF)+          goto yy496;+        if (yych <= 0xE0)+          goto yy497;+        goto yy498;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy502;+        if (yych <= 0xEF)+          goto yy498;+        goto yy499;+      } else {+        if (yych <= 0xF3)+          goto yy500;+        if (yych <= 0xF4)+          goto yy501;+        goto yy376;+      }+    }+  yy496:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy494;+    goto yy376;+  yy497:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy496;+    goto yy376;+  yy498:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy496;+    goto yy376;+  yy499:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy498;+    goto yy376;+  yy500:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy498;+    goto yy376;+  yy501:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy498;+    goto yy376;+  yy502:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy496;+    goto yy376;+  yy503:+    ++p;+    yych = *p;+    if (yych <= ' ') {+      if (yych <= 0x08)+        goto yy376;+      if (yych <= '\r')+        goto yy474;+      if (yych <= 0x1F)+        goto yy376;+      goto yy474;+    } else {+      if (yych <= '/') {+        if (yych <= '.')+          goto yy376;+        goto yy476;+      } else {+        if (yych == '>')+          goto yy393;+        goto yy376;+      }+    }+  yy504:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy492;+    goto yy376;+  yy505:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy504;+    goto yy376;+  yy506:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy504;+    goto yy376;+  yy507:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy506;+    goto yy376;+  yy508:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0xBF)+      goto yy506;+    goto yy376;+  yy509:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x8F)+      goto yy506;+    goto yy376;+  yy510:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy376;+    if (yych <= 0x9F)+      goto yy504;+    goto yy376;+  yy511:+    ++p;+    yych = *p;+    if (yych <= '@') {+      if (yych <= '"') {+        if (yych <= '\r') {+          if (yych <= 0x00)+            goto yy376;+          if (yych <= 0x08)+            goto yy483;+          goto yy511;+        } else {+          if (yych == ' ')+            goto yy511;+          if (yych <= '!')+            goto yy483;+          goto yy376;+        }+      } else {+        if (yych <= ':') {+          if (yych == '\'')+            goto yy376;+          if (yych <= '9')+            goto yy483;+        } else {+          if (yych <= ';')+            goto yy483;+          if (yych <= '=')+            goto yy376;+          if (yych <= '>')+            goto yy393;+          goto yy483;+        }+      }+    } else {+      if (yych <= 0xDF) {+        if (yych <= '`') {+          if (yych <= 'Z')+            goto yy513;+          if (yych <= '^')+            goto yy483;+          if (yych >= '`')+            goto yy376;+        } else {+          if (yych <= 'z')+            goto yy513;+          if (yych <= 0x7F)+            goto yy483;+          if (yych <= 0xC1)+            goto yy376;+          goto yy485;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych <= 0xE0)+            goto yy486;+          if (yych == 0xED)+            goto yy491;+          goto yy487;+        } else {+          if (yych <= 0xF0)+            goto yy488;+          if (yych <= 0xF3)+            goto yy489;+          if (yych <= 0xF4)+            goto yy490;+          goto yy376;+        }+      }+    }+  yy513:+    ++p;+    yych = *p;+    if (yych <= '>') {+      if (yych <= '&') {+        if (yych <= 0x1F) {+          if (yych <= 0x00)+            goto yy376;+          if (yych <= 0x08)+            goto yy483;+          if (yych >= 0x0E)+            goto yy483;+        } else {+          if (yych <= ' ')+            goto yy515;+          if (yych == '"')+            goto yy376;+          goto yy483;+        }+      } else {+        if (yych <= '/') {+          if (yych <= '\'')+            goto yy376;+          if (yych <= ',')+            goto yy483;+          if (yych <= '.')+            goto yy513;+          goto yy483;+        } else {+          if (yych <= ';') {+            if (yych <= ':')+              goto yy513;+            goto yy483;+          } else {+            if (yych <= '<')+              goto yy376;+            if (yych <= '=')+              goto yy481;+            goto yy393;+          }+        }+      }+    } else {+      if (yych <= 0xC1) {+        if (yych <= '_') {+          if (yych <= '@')+            goto yy483;+          if (yych <= 'Z')+            goto yy513;+          if (yych <= '^')+            goto yy483;+          goto yy513;+        } else {+          if (yych <= '`')+            goto yy376;+          if (yych <= 'z')+            goto yy513;+          if (yych <= 0x7F)+            goto yy483;+          goto yy376;+        }+      } else {+        if (yych <= 0xED) {+          if (yych <= 0xDF)+            goto yy485;+          if (yych <= 0xE0)+            goto yy486;+          if (yych <= 0xEC)+            goto yy487;+          goto yy491;+        } else {+          if (yych <= 0xF0) {+            if (yych <= 0xEF)+              goto yy487;+            goto yy488;+          } else {+            if (yych <= 0xF3)+              goto yy489;+            if (yych <= 0xF4)+              goto yy490;+            goto yy376;+          }+        }+      }+    }+  yy515:+    ++p;+    yych = *p;+    if (yych <= '@') {+      if (yych <= '&') {+        if (yych <= 0x1F) {+          if (yych <= 0x00)+            goto yy376;+          if (yych <= 0x08)+            goto yy483;+          if (yych <= '\r')+            goto yy515;+          goto yy483;+        } else {+          if (yych <= ' ')+            goto yy515;+          if (yych == '"')+            goto yy376;+          goto yy483;+        }+      } else {+        if (yych <= ';') {+          if (yych <= '\'')+            goto yy376;+          if (yych == ':')+            goto yy513;+          goto yy483;+        } else {+          if (yych <= '<')+            goto yy376;+          if (yych <= '=')+            goto yy481;+          if (yych <= '>')+            goto yy393;+          goto yy483;+        }+      }+    } else {+      if (yych <= 0xDF) {+        if (yych <= '`') {+          if (yych <= 'Z')+            goto yy513;+          if (yych <= '^')+            goto yy483;+          if (yych <= '_')+            goto yy513;+          goto yy376;+        } else {+          if (yych <= 'z')+            goto yy513;+          if (yych <= 0x7F)+            goto yy483;+          if (yych <= 0xC1)+            goto yy376;+          goto yy485;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych <= 0xE0)+            goto yy486;+          if (yych == 0xED)+            goto yy491;+          goto yy487;+        } else {+          if (yych <= 0xF0)+            goto yy488;+          if (yych <= 0xF3)+            goto yy489;+          if (yych <= 0xF4)+            goto yy490;+          goto yy376;+        }+      }+    }+  yy517:+    ++p;+    yych = *p;+    if (yych <= '@') {+      if (yych <= '"') {+        if (yych <= '\r') {+          if (yych <= 0x00)+            goto yy376;+          if (yych <= 0x08)+            goto yy483;+          goto yy517;+        } else {+          if (yych == ' ')+            goto yy517;+          if (yych <= '!')+            goto yy483;+          goto yy494;+        }+      } else {+        if (yych <= ':') {+          if (yych == '\'')+            goto yy492;+          if (yych <= '9')+            goto yy483;+          goto yy513;+        } else {+          if (yych <= ';')+            goto yy483;+          if (yych <= '=')+            goto yy376;+          if (yych <= '>')+            goto yy393;+          goto yy483;+        }+      }+    } else {+      if (yych <= 0xDF) {+        if (yych <= '`') {+          if (yych <= 'Z')+            goto yy513;+          if (yych <= '^')+            goto yy483;+          if (yych <= '_')+            goto yy513;+          goto yy376;+        } else {+          if (yych <= 'z')+            goto yy513;+          if (yych <= 0x7F)+            goto yy483;+          if (yych <= 0xC1)+            goto yy376;+          goto yy485;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych <= 0xE0)+            goto yy486;+          if (yych == 0xED)+            goto yy491;+          goto yy487;+        } else {+          if (yych <= 0xF0)+            goto yy488;+          if (yych <= 0xF3)+            goto yy489;+          if (yych <= 0xF4)+            goto yy490;+          goto yy376;+        }+      }+    }+  }+}++// 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) {+  const unsigned char *marker = NULL;++  {+    unsigned char yych;+    yych = *(marker = p);+    if (yych <= 0xDF) {+      if (yych <= ';') {+        if (yych != '\n')+          goto yy523;+      } else {+        if (yych <= '<')+          goto yy522;+        if (yych <= 0x7F)+          goto yy523;+        if (yych >= 0xC2)+          goto yy524;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy526;+        if (yych == 0xED)+          goto yy531;+        goto yy527;+      } else {+        if (yych <= 0xF0)+          goto yy528;+        if (yych <= 0xF3)+          goto yy529;+        if (yych <= 0xF4)+          goto yy530;+      }+    }+  yy521 : { return 0; }+  yy522:+    yych = *(marker = ++p);+    switch (yych) {+    case '!':+      goto yy548;+    case '/':+      goto yy532;+    case '?':+      goto yy549;+    case 'A':+    case 'a':+      goto yy534;+    case 'B':+    case 'b':+      goto yy535;+    case 'C':+    case 'c':+      goto yy536;+    case 'D':+    case 'd':+      goto yy537;+    case 'F':+    case 'f':+      goto yy538;+    case 'H':+    case 'h':+      goto yy539;+    case 'I':+    case 'i':+      goto yy540;+    case 'L':+    case 'l':+      goto yy541;+    case 'M':+    case 'm':+      goto yy542;+    case 'N':+    case 'n':+      goto yy543;+    case 'O':+    case 'o':+      goto yy544;+    case 'P':+    case 'p':+      goto yy533;+    case 'S':+    case 's':+      goto yy545;+    case 'T':+    case 't':+      goto yy546;+    case 'U':+    case 'u':+      goto yy547;+    default:+      goto yy521;+    }+  yy523:+    yych = *++p;+    goto yy521;+  yy524:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy525;+    if (yych <= 0xBF)+      goto yy523;+  yy525:+    p = marker;+    goto yy521;+  yy526:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy525;+    if (yych <= 0xBF)+      goto yy524;+    goto yy525;+  yy527:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy525;+    if (yych <= 0xBF)+      goto yy524;+    goto yy525;+  yy528:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy525;+    if (yych <= 0xBF)+      goto yy527;+    goto yy525;+  yy529:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy525;+    if (yych <= 0xBF)+      goto yy527;+    goto yy525;+  yy530:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy525;+    if (yych <= 0x8F)+      goto yy527;+    goto yy525;+  yy531:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy525;+    if (yych <= 0x9F)+      goto yy524;+    goto yy525;+  yy532:+    yych = *++p;+    switch (yych) {+    case 'A':+    case 'a':+      goto yy534;+    case 'B':+    case 'b':+      goto yy535;+    case 'C':+    case 'c':+      goto yy536;+    case 'D':+    case 'd':+      goto yy537;+    case 'F':+    case 'f':+      goto yy538;+    case 'H':+    case 'h':+      goto yy539;+    case 'I':+    case 'i':+      goto yy540;+    case 'L':+    case 'l':+      goto yy541;+    case 'M':+    case 'm':+      goto yy542;+    case 'N':+    case 'n':+      goto yy543;+    case 'O':+    case 'o':+      goto yy544;+    case 'P':+    case 'p':+      goto yy733;+    case 'S':+    case 's':+      goto yy734;+    case 'T':+    case 't':+      goto yy546;+    case 'U':+    case 'u':+      goto yy547;+    default:+      goto yy525;+    }+  yy533:+    yych = *++p;+    if (yych <= '>') {+      if (yych <= ' ') {+        if (yych <= 0x08)+          goto yy525;+        if (yych <= '\r')+          goto yy565;+        if (yych <= 0x1F)+          goto yy525;+        goto yy565;+      } else {+        if (yych == '/')+          goto yy567;+        if (yych <= '=')+          goto yy525;+        goto yy565;+      }+    } else {+      if (yych <= 'R') {+        if (yych == 'A')+          goto yy730;+        if (yych <= 'Q')+          goto yy525;+        goto yy729;+      } else {+        if (yych <= 'a') {+          if (yych <= '`')+            goto yy525;+          goto yy730;+        } else {+          if (yych == 'r')+            goto yy729;+          goto yy525;+        }+      }+    }+  yy534:+    yych = *++p;+    if (yych <= 'S') {+      if (yych <= 'D') {+        if (yych <= 'C')+          goto yy525;+        goto yy718;+      } else {+        if (yych <= 'Q')+          goto yy525;+        if (yych <= 'R')+          goto yy717;+        goto yy716;+      }+    } else {+      if (yych <= 'q') {+        if (yych == 'd')+          goto yy718;+        goto yy525;+      } else {+        if (yych <= 'r')+          goto yy717;+        if (yych <= 's')+          goto yy716;+        goto yy525;+      }+    }+  yy535:+    yych = *++p;+    if (yych <= 'O') {+      if (yych <= 'K') {+        if (yych == 'A')+          goto yy702;+        goto yy525;+      } else {+        if (yych <= 'L')+          goto yy701;+        if (yych <= 'N')+          goto yy525;+        goto yy700;+      }+    } else {+      if (yych <= 'k') {+        if (yych == 'a')+          goto yy702;+        goto yy525;+      } else {+        if (yych <= 'l')+          goto yy701;+        if (yych == 'o')+          goto yy700;+        goto yy525;+      }+    }+  yy536:+    yych = *++p;+    if (yych <= 'O') {+      if (yych <= 'D') {+        if (yych == 'A')+          goto yy687;+        goto yy525;+      } else {+        if (yych <= 'E')+          goto yy686;+        if (yych <= 'N')+          goto yy525;+        goto yy685;+      }+    } else {+      if (yych <= 'd') {+        if (yych == 'a')+          goto yy687;+        goto yy525;+      } else {+        if (yych <= 'e')+          goto yy686;+        if (yych == 'o')+          goto yy685;+        goto yy525;+      }+    }+  yy537:+    yych = *++p;+    switch (yych) {+    case 'D':+    case 'L':+    case 'T':+    case 'd':+    case 'l':+    case 't':+      goto yy564;+    case 'E':+    case 'e':+      goto yy677;+    case 'I':+    case 'i':+      goto yy676;+    default:+      goto yy525;+    }+  yy538:+    yych = *++p;+    if (yych <= 'R') {+      if (yych <= 'N') {+        if (yych == 'I')+          goto yy652;+        goto yy525;+      } else {+        if (yych <= 'O')+          goto yy651;+        if (yych <= 'Q')+          goto yy525;+        goto yy650;+      }+    } else {+      if (yych <= 'n') {+        if (yych == 'i')+          goto yy652;+        goto yy525;+      } else {+        if (yych <= 'o')+          goto yy651;+        if (yych == 'r')+          goto yy650;+        goto yy525;+      }+    }+  yy539:+    yych = *++p;+    if (yych <= 'S') {+      if (yych <= 'D') {+        if (yych == '1')+          goto yy564;+        goto yy525;+      } else {+        if (yych <= 'E')+          goto yy645;+        if (yych == 'R')+          goto yy564;+        goto yy525;+      }+    } else {+      if (yych <= 'q') {+        if (yych <= 'T')+          goto yy644;+        if (yych == 'e')+          goto yy645;+        goto yy525;+      } else {+        if (yych <= 'r')+          goto yy564;+        if (yych == 't')+          goto yy644;+        goto yy525;+      }+    }+  yy540:+    yych = *++p;+    if (yych == 'F')+      goto yy640;+    if (yych == 'f')+      goto yy640;+    goto yy525;+  yy541:+    yych = *++p;+    if (yych <= 'I') {+      if (yych == 'E')+        goto yy635;+      if (yych <= 'H')+        goto yy525;+      goto yy634;+    } else {+      if (yych <= 'e') {+        if (yych <= 'd')+          goto yy525;+        goto yy635;+      } else {+        if (yych == 'i')+          goto yy634;+        goto yy525;+      }+    }+  yy542:+    yych = *++p;+    if (yych <= 'E') {+      if (yych == 'A')+        goto yy626;+      if (yych <= 'D')+        goto yy525;+      goto yy625;+    } else {+      if (yych <= 'a') {+        if (yych <= '`')+          goto yy525;+        goto yy626;+      } else {+        if (yych == 'e')+          goto yy625;+        goto yy525;+      }+    }+  yy543:+    yych = *++p;+    if (yych <= 'O') {+      if (yych == 'A')+        goto yy619;+      if (yych <= 'N')+        goto yy525;+      goto yy618;+    } else {+      if (yych <= 'a') {+        if (yych <= '`')+          goto yy525;+        goto yy619;+      } else {+        if (yych == 'o')+          goto yy618;+        goto yy525;+      }+    }+  yy544:+    yych = *++p;+    if (yych <= 'P') {+      if (yych == 'L')+        goto yy564;+      if (yych <= 'O')+        goto yy525;+      goto yy610;+    } else {+      if (yych <= 'l') {+        if (yych <= 'k')+          goto yy525;+        goto yy564;+      } else {+        if (yych == 'p')+          goto yy610;+        goto yy525;+      }+    }+  yy545:+    yych = *++p;+    switch (yych) {+    case 'C':+    case 'c':+      goto yy587;+    case 'E':+    case 'e':+      goto yy590;+    case 'O':+    case 'o':+      goto yy589;+    case 'T':+    case 't':+      goto yy586;+    case 'U':+    case 'u':+      goto yy588;+    default:+      goto yy525;+    }+  yy546:+    yych = *++p;+    switch (yych) {+    case 'A':+    case 'a':+      goto yy573;+    case 'B':+    case 'b':+      goto yy572;+    case 'D':+    case 'd':+      goto yy564;+    case 'F':+    case 'f':+      goto yy571;+    case 'H':+    case 'h':+      goto yy570;+    case 'I':+    case 'i':+      goto yy569;+    case 'R':+    case 'r':+      goto yy568;+    default:+      goto yy525;+    }+  yy547:+    yych = *++p;+    if (yych == 'L')+      goto yy564;+    if (yych == 'l')+      goto yy564;+    goto yy525;+  yy548:+    yych = *++p;+    if (yych <= '@') {+      if (yych == '-')+        goto yy551;+      goto yy525;+    } else {+      if (yych <= 'Z')+        goto yy552;+      if (yych <= '[')+        goto yy554;+      goto yy525;+    }+  yy549:+    ++p;+    { return 3; }+  yy551:+    yych = *++p;+    if (yych == '-')+      goto yy562;+    goto yy525;+  yy552:+    ++p;+    { return 4; }+  yy554:+    yych = *++p;+    if (yych == 'C')+      goto yy555;+    if (yych != 'c')+      goto yy525;+  yy555:+    yych = *++p;+    if (yych == 'D')+      goto yy556;+    if (yych != 'd')+      goto yy525;+  yy556:+    yych = *++p;+    if (yych == 'A')+      goto yy557;+    if (yych != 'a')+      goto yy525;+  yy557:+    yych = *++p;+    if (yych == 'T')+      goto yy558;+    if (yych != 't')+      goto yy525;+  yy558:+    yych = *++p;+    if (yych == 'A')+      goto yy559;+    if (yych != 'a')+      goto yy525;+  yy559:+    yych = *++p;+    if (yych != '[')+      goto yy525;+    ++p;+    { return 5; }+  yy562:+    ++p;+    { return 2; }+  yy564:+    yych = *++p;+    if (yych <= ' ') {+      if (yych <= 0x08)+        goto yy525;+      if (yych <= '\r')+        goto yy565;+      if (yych <= 0x1F)+        goto yy525;+    } else {+      if (yych <= '/') {+        if (yych <= '.')+          goto yy525;+        goto yy567;+      } else {+        if (yych != '>')+          goto yy525;+      }+    }+  yy565:+    ++p;+    { return 6; }+  yy567:+    yych = *++p;+    if (yych == '>')+      goto yy565;+    goto yy525;+  yy568:+    yych = *++p;+    if (yych <= '/') {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy525;+        if (yych <= '\r')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= ' ')+          goto yy565;+        if (yych <= '.')+          goto yy525;+        goto yy567;+      }+    } else {+      if (yych <= '@') {+        if (yych == '>')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= 'A')+          goto yy584;+        if (yych == 'a')+          goto yy584;+        goto yy525;+      }+    }+  yy569:+    yych = *++p;+    if (yych == 'T')+      goto yy582;+    if (yych == 't')+      goto yy582;+    goto yy525;+  yy570:+    yych = *++p;+    if (yych <= '/') {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy525;+        if (yych <= '\r')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= ' ')+          goto yy565;+        if (yych <= '.')+          goto yy525;+        goto yy567;+      }+    } else {+      if (yych <= 'D') {+        if (yych == '>')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= 'E')+          goto yy580;+        if (yych == 'e')+          goto yy580;+        goto yy525;+      }+    }+  yy571:+    yych = *++p;+    if (yych == 'O')+      goto yy578;+    if (yych == 'o')+      goto yy578;+    goto yy525;+  yy572:+    yych = *++p;+    if (yych == 'O')+      goto yy576;+    if (yych == 'o')+      goto yy576;+    goto yy525;+  yy573:+    yych = *++p;+    if (yych == 'B')+      goto yy574;+    if (yych != 'b')+      goto yy525;+  yy574:+    yych = *++p;+    if (yych == 'L')+      goto yy575;+    if (yych != 'l')+      goto yy525;+  yy575:+    yych = *++p;+    if (yych == 'E')+      goto yy564;+    if (yych == 'e')+      goto yy564;+    goto yy525;+  yy576:+    yych = *++p;+    if (yych == 'D')+      goto yy577;+    if (yych != 'd')+      goto yy525;+  yy577:+    yych = *++p;+    if (yych == 'Y')+      goto yy564;+    if (yych == 'y')+      goto yy564;+    goto yy525;+  yy578:+    yych = *++p;+    if (yych == 'O')+      goto yy579;+    if (yych != 'o')+      goto yy525;+  yy579:+    yych = *++p;+    if (yych == 'T')+      goto yy564;+    if (yych == 't')+      goto yy564;+    goto yy525;+  yy580:+    yych = *++p;+    if (yych == 'A')+      goto yy581;+    if (yych != 'a')+      goto yy525;+  yy581:+    yych = *++p;+    if (yych == 'D')+      goto yy564;+    if (yych == 'd')+      goto yy564;+    goto yy525;+  yy582:+    yych = *++p;+    if (yych == 'L')+      goto yy583;+    if (yych != 'l')+      goto yy525;+  yy583:+    yych = *++p;+    if (yych == 'E')+      goto yy564;+    if (yych == 'e')+      goto yy564;+    goto yy525;+  yy584:+    yych = *++p;+    if (yych == 'C')+      goto yy585;+    if (yych != 'c')+      goto yy525;+  yy585:+    yych = *++p;+    if (yych == 'K')+      goto yy564;+    if (yych == 'k')+      goto yy564;+    goto yy525;+  yy586:+    yych = *++p;+    if (yych == 'Y')+      goto yy608;+    if (yych == 'y')+      goto yy608;+    goto yy525;+  yy587:+    yych = *++p;+    if (yych == 'R')+      goto yy602;+    if (yych == 'r')+      goto yy602;+    goto yy525;+  yy588:+    yych = *++p;+    if (yych == 'M')+      goto yy598;+    if (yych == 'm')+      goto yy598;+    goto yy525;+  yy589:+    yych = *++p;+    if (yych == 'U')+      goto yy595;+    if (yych == 'u')+      goto yy595;+    goto yy525;+  yy590:+    yych = *++p;+    if (yych == 'C')+      goto yy591;+    if (yych != 'c')+      goto yy525;+  yy591:+    yych = *++p;+    if (yych == 'T')+      goto yy592;+    if (yych != 't')+      goto yy525;+  yy592:+    yych = *++p;+    if (yych == 'I')+      goto yy593;+    if (yych != 'i')+      goto yy525;+  yy593:+    yych = *++p;+    if (yych == 'O')+      goto yy594;+    if (yych != 'o')+      goto yy525;+  yy594:+    yych = *++p;+    if (yych == 'N')+      goto yy564;+    if (yych == 'n')+      goto yy564;+    goto yy525;+  yy595:+    yych = *++p;+    if (yych == 'R')+      goto yy596;+    if (yych != 'r')+      goto yy525;+  yy596:+    yych = *++p;+    if (yych == 'C')+      goto yy597;+    if (yych != 'c')+      goto yy525;+  yy597:+    yych = *++p;+    if (yych == 'E')+      goto yy564;+    if (yych == 'e')+      goto yy564;+    goto yy525;+  yy598:+    yych = *++p;+    if (yych == 'M')+      goto yy599;+    if (yych != 'm')+      goto yy525;+  yy599:+    yych = *++p;+    if (yych == 'A')+      goto yy600;+    if (yych != 'a')+      goto yy525;+  yy600:+    yych = *++p;+    if (yych == 'R')+      goto yy601;+    if (yych != 'r')+      goto yy525;+  yy601:+    yych = *++p;+    if (yych == 'Y')+      goto yy564;+    if (yych == 'y')+      goto yy564;+    goto yy525;+  yy602:+    yych = *++p;+    if (yych == 'I')+      goto yy603;+    if (yych != 'i')+      goto yy525;+  yy603:+    yych = *++p;+    if (yych == 'P')+      goto yy604;+    if (yych != 'p')+      goto yy525;+  yy604:+    yych = *++p;+    if (yych == 'T')+      goto yy605;+    if (yych != 't')+      goto yy525;+  yy605:+    yych = *++p;+    if (yych <= 0x1F) {+      if (yych <= 0x08)+        goto yy525;+      if (yych >= 0x0E)+        goto yy525;+    } else {+      if (yych <= ' ')+        goto yy606;+      if (yych != '>')+        goto yy525;+    }+  yy606:+    ++p;+    { return 1; }+  yy608:+    yych = *++p;+    if (yych == 'L')+      goto yy609;+    if (yych != 'l')+      goto yy525;+  yy609:+    yych = *++p;+    if (yych == 'E')+      goto yy605;+    if (yych == 'e')+      goto yy605;+    goto yy525;+  yy610:+    yych = *++p;+    if (yych == 'T')+      goto yy611;+    if (yych != 't')+      goto yy525;+  yy611:+    yych = *++p;+    if (yych <= 'I') {+      if (yych == 'G')+        goto yy613;+      if (yych <= 'H')+        goto yy525;+    } else {+      if (yych <= 'g') {+        if (yych <= 'f')+          goto yy525;+        goto yy613;+      } else {+        if (yych != 'i')+          goto yy525;+      }+    }+    yych = *++p;+    if (yych == 'O')+      goto yy617;+    if (yych == 'o')+      goto yy617;+    goto yy525;+  yy613:+    yych = *++p;+    if (yych == 'R')+      goto yy614;+    if (yych != 'r')+      goto yy525;+  yy614:+    yych = *++p;+    if (yych == 'O')+      goto yy615;+    if (yych != 'o')+      goto yy525;+  yy615:+    yych = *++p;+    if (yych == 'U')+      goto yy616;+    if (yych != 'u')+      goto yy525;+  yy616:+    yych = *++p;+    if (yych == 'P')+      goto yy564;+    if (yych == 'p')+      goto yy564;+    goto yy525;+  yy617:+    yych = *++p;+    if (yych == 'N')+      goto yy564;+    if (yych == 'n')+      goto yy564;+    goto yy525;+  yy618:+    yych = *++p;+    if (yych == 'F')+      goto yy620;+    if (yych == 'f')+      goto yy620;+    goto yy525;+  yy619:+    yych = *++p;+    if (yych == 'V')+      goto yy564;+    if (yych == 'v')+      goto yy564;+    goto yy525;+  yy620:+    yych = *++p;+    if (yych == 'R')+      goto yy621;+    if (yych != 'r')+      goto yy525;+  yy621:+    yych = *++p;+    if (yych == 'A')+      goto yy622;+    if (yych != 'a')+      goto yy525;+  yy622:+    yych = *++p;+    if (yych == 'M')+      goto yy623;+    if (yych != 'm')+      goto yy525;+  yy623:+    yych = *++p;+    if (yych == 'E')+      goto yy624;+    if (yych != 'e')+      goto yy525;+  yy624:+    yych = *++p;+    if (yych == 'S')+      goto yy564;+    if (yych == 's')+      goto yy564;+    goto yy525;+  yy625:+    yych = *++p;+    if (yych <= 'T') {+      if (yych == 'N')+        goto yy628;+      if (yych <= 'S')+        goto yy525;+      goto yy629;+    } else {+      if (yych <= 'n') {+        if (yych <= 'm')+          goto yy525;+        goto yy628;+      } else {+        if (yych == 't')+          goto yy629;+        goto yy525;+      }+    }+  yy626:+    yych = *++p;+    if (yych == 'I')+      goto yy627;+    if (yych != 'i')+      goto yy525;+  yy627:+    yych = *++p;+    if (yych == 'N')+      goto yy564;+    if (yych == 'n')+      goto yy564;+    goto yy525;+  yy628:+    yych = *++p;+    if (yych == 'U')+      goto yy630;+    if (yych == 'u')+      goto yy630;+    goto yy525;+  yy629:+    yych = *++p;+    if (yych == 'A')+      goto yy564;+    if (yych == 'a')+      goto yy564;+    goto yy525;+  yy630:+    yych = *++p;+    if (yych <= '/') {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy525;+        if (yych <= '\r')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= ' ')+          goto yy565;+        if (yych <= '.')+          goto yy525;+        goto yy567;+      }+    } else {+      if (yych <= 'H') {+        if (yych == '>')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= 'I')+          goto yy631;+        if (yych != 'i')+          goto yy525;+      }+    }+  yy631:+    yych = *++p;+    if (yych == 'T')+      goto yy632;+    if (yych != 't')+      goto yy525;+  yy632:+    yych = *++p;+    if (yych == 'E')+      goto yy633;+    if (yych != 'e')+      goto yy525;+  yy633:+    yych = *++p;+    if (yych == 'M')+      goto yy564;+    if (yych == 'm')+      goto yy564;+    goto yy525;+  yy634:+    yych = *++p;+    if (yych <= '/') {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy525;+        if (yych <= '\r')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= ' ')+          goto yy565;+        if (yych <= '.')+          goto yy525;+        goto yy567;+      }+    } else {+      if (yych <= 'M') {+        if (yych == '>')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= 'N')+          goto yy639;+        if (yych == 'n')+          goto yy639;+        goto yy525;+      }+    }+  yy635:+    yych = *++p;+    if (yych == 'G')+      goto yy636;+    if (yych != 'g')+      goto yy525;+  yy636:+    yych = *++p;+    if (yych == 'E')+      goto yy637;+    if (yych != 'e')+      goto yy525;+  yy637:+    yych = *++p;+    if (yych == 'N')+      goto yy638;+    if (yych != 'n')+      goto yy525;+  yy638:+    yych = *++p;+    if (yych == 'D')+      goto yy564;+    if (yych == 'd')+      goto yy564;+    goto yy525;+  yy639:+    yych = *++p;+    if (yych == 'K')+      goto yy564;+    if (yych == 'k')+      goto yy564;+    goto yy525;+  yy640:+    yych = *++p;+    if (yych == 'R')+      goto yy641;+    if (yych != 'r')+      goto yy525;+  yy641:+    yych = *++p;+    if (yych == 'A')+      goto yy642;+    if (yych != 'a')+      goto yy525;+  yy642:+    yych = *++p;+    if (yych == 'M')+      goto yy643;+    if (yych != 'm')+      goto yy525;+  yy643:+    yych = *++p;+    if (yych == 'E')+      goto yy564;+    if (yych == 'e')+      goto yy564;+    goto yy525;+  yy644:+    yych = *++p;+    if (yych == 'M')+      goto yy649;+    if (yych == 'm')+      goto yy649;+    goto yy525;+  yy645:+    yych = *++p;+    if (yych == 'A')+      goto yy646;+    if (yych != 'a')+      goto yy525;+  yy646:+    yych = *++p;+    if (yych == 'D')+      goto yy647;+    if (yych != 'd')+      goto yy525;+  yy647:+    yych = *++p;+    if (yych <= '/') {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy525;+        if (yych <= '\r')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= ' ')+          goto yy565;+        if (yych <= '.')+          goto yy525;+        goto yy567;+      }+    } else {+      if (yych <= 'D') {+        if (yych == '>')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= 'E')+          goto yy648;+        if (yych != 'e')+          goto yy525;+      }+    }+  yy648:+    yych = *++p;+    if (yych == 'R')+      goto yy564;+    if (yych == 'r')+      goto yy564;+    goto yy525;+  yy649:+    yych = *++p;+    if (yych == 'L')+      goto yy564;+    if (yych == 'l')+      goto yy564;+    goto yy525;+  yy650:+    yych = *++p;+    if (yych == 'A')+      goto yy671;+    if (yych == 'a')+      goto yy671;+    goto yy525;+  yy651:+    yych = *++p;+    if (yych <= 'R') {+      if (yych == 'O')+        goto yy667;+      if (yych <= 'Q')+        goto yy525;+      goto yy668;+    } else {+      if (yych <= 'o') {+        if (yych <= 'n')+          goto yy525;+        goto yy667;+      } else {+        if (yych == 'r')+          goto yy668;+        goto yy525;+      }+    }+  yy652:+    yych = *++p;+    if (yych <= 'G') {+      if (yych == 'E')+        goto yy653;+      if (yych <= 'F')+        goto yy525;+      goto yy654;+    } else {+      if (yych <= 'e') {+        if (yych <= 'd')+          goto yy525;+      } else {+        if (yych == 'g')+          goto yy654;+        goto yy525;+      }+    }+  yy653:+    yych = *++p;+    if (yych == 'L')+      goto yy663;+    if (yych == 'l')+      goto yy663;+    goto yy525;+  yy654:+    yych = *++p;+    if (yych <= 'U') {+      if (yych == 'C')+        goto yy656;+      if (yych <= 'T')+        goto yy525;+    } else {+      if (yych <= 'c') {+        if (yych <= 'b')+          goto yy525;+        goto yy656;+      } else {+        if (yych != 'u')+          goto yy525;+      }+    }+    yych = *++p;+    if (yych == 'R')+      goto yy662;+    if (yych == 'r')+      goto yy662;+    goto yy525;+  yy656:+    yych = *++p;+    if (yych == 'A')+      goto yy657;+    if (yych != 'a')+      goto yy525;+  yy657:+    yych = *++p;+    if (yych == 'P')+      goto yy658;+    if (yych != 'p')+      goto yy525;+  yy658:+    yych = *++p;+    if (yych == 'T')+      goto yy659;+    if (yych != 't')+      goto yy525;+  yy659:+    yych = *++p;+    if (yych == 'I')+      goto yy660;+    if (yych != 'i')+      goto yy525;+  yy660:+    yych = *++p;+    if (yych == 'O')+      goto yy661;+    if (yych != 'o')+      goto yy525;+  yy661:+    yych = *++p;+    if (yych == 'N')+      goto yy564;+    if (yych == 'n')+      goto yy564;+    goto yy525;+  yy662:+    yych = *++p;+    if (yych == 'E')+      goto yy564;+    if (yych == 'e')+      goto yy564;+    goto yy525;+  yy663:+    yych = *++p;+    if (yych == 'D')+      goto yy664;+    if (yych != 'd')+      goto yy525;+  yy664:+    yych = *++p;+    if (yych == 'S')+      goto yy665;+    if (yych != 's')+      goto yy525;+  yy665:+    yych = *++p;+    if (yych == 'E')+      goto yy666;+    if (yych != 'e')+      goto yy525;+  yy666:+    yych = *++p;+    if (yych == 'T')+      goto yy564;+    if (yych == 't')+      goto yy564;+    goto yy525;+  yy667:+    yych = *++p;+    if (yych == 'T')+      goto yy669;+    if (yych == 't')+      goto yy669;+    goto yy525;+  yy668:+    yych = *++p;+    if (yych == 'M')+      goto yy564;+    if (yych == 'm')+      goto yy564;+    goto yy525;+  yy669:+    yych = *++p;+    if (yych == 'E')+      goto yy670;+    if (yych != 'e')+      goto yy525;+  yy670:+    yych = *++p;+    if (yych == 'R')+      goto yy564;+    if (yych == 'r')+      goto yy564;+    goto yy525;+  yy671:+    yych = *++p;+    if (yych == 'M')+      goto yy672;+    if (yych != 'm')+      goto yy525;+  yy672:+    yych = *++p;+    if (yych == 'E')+      goto yy673;+    if (yych != 'e')+      goto yy525;+  yy673:+    yych = *++p;+    if (yych <= '/') {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy525;+        if (yych <= '\r')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= ' ')+          goto yy565;+        if (yych <= '.')+          goto yy525;+        goto yy567;+      }+    } else {+      if (yych <= 'R') {+        if (yych == '>')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= 'S')+          goto yy674;+        if (yych != 's')+          goto yy525;+      }+    }+  yy674:+    yych = *++p;+    if (yych == 'E')+      goto yy675;+    if (yych != 'e')+      goto yy525;+  yy675:+    yych = *++p;+    if (yych == 'T')+      goto yy564;+    if (yych == 't')+      goto yy564;+    goto yy525;+  yy676:+    yych = *++p;+    if (yych <= 'V') {+      if (yych <= 'Q') {+        if (yych == 'A')+          goto yy682;+        goto yy525;+      } else {+        if (yych <= 'R')+          goto yy564;+        if (yych <= 'U')+          goto yy525;+        goto yy564;+      }+    } else {+      if (yych <= 'q') {+        if (yych == 'a')+          goto yy682;+        goto yy525;+      } else {+        if (yych <= 'r')+          goto yy564;+        if (yych == 'v')+          goto yy564;+        goto yy525;+      }+    }+  yy677:+    yych = *++p;+    if (yych == 'T')+      goto yy678;+    if (yych != 't')+      goto yy525;+  yy678:+    yych = *++p;+    if (yych == 'A')+      goto yy679;+    if (yych != 'a')+      goto yy525;+  yy679:+    yych = *++p;+    if (yych == 'I')+      goto yy680;+    if (yych != 'i')+      goto yy525;+  yy680:+    yych = *++p;+    if (yych == 'L')+      goto yy681;+    if (yych != 'l')+      goto yy525;+  yy681:+    yych = *++p;+    if (yych == 'S')+      goto yy564;+    if (yych == 's')+      goto yy564;+    goto yy525;+  yy682:+    yych = *++p;+    if (yych == 'L')+      goto yy683;+    if (yych != 'l')+      goto yy525;+  yy683:+    yych = *++p;+    if (yych == 'O')+      goto yy684;+    if (yych != 'o')+      goto yy525;+  yy684:+    yych = *++p;+    if (yych == 'G')+      goto yy564;+    if (yych == 'g')+      goto yy564;+    goto yy525;+  yy685:+    yych = *++p;+    if (yych == 'L')+      goto yy695;+    if (yych == 'l')+      goto yy695;+    goto yy525;+  yy686:+    yych = *++p;+    if (yych == 'N')+      goto yy692;+    if (yych == 'n')+      goto yy692;+    goto yy525;+  yy687:+    yych = *++p;+    if (yych == 'P')+      goto yy688;+    if (yych != 'p')+      goto yy525;+  yy688:+    yych = *++p;+    if (yych == 'T')+      goto yy689;+    if (yych != 't')+      goto yy525;+  yy689:+    yych = *++p;+    if (yych == 'I')+      goto yy690;+    if (yych != 'i')+      goto yy525;+  yy690:+    yych = *++p;+    if (yych == 'O')+      goto yy691;+    if (yych != 'o')+      goto yy525;+  yy691:+    yych = *++p;+    if (yych == 'N')+      goto yy564;+    if (yych == 'n')+      goto yy564;+    goto yy525;+  yy692:+    yych = *++p;+    if (yych == 'T')+      goto yy693;+    if (yych != 't')+      goto yy525;+  yy693:+    yych = *++p;+    if (yych == 'E')+      goto yy694;+    if (yych != 'e')+      goto yy525;+  yy694:+    yych = *++p;+    if (yych == 'R')+      goto yy564;+    if (yych == 'r')+      goto yy564;+    goto yy525;+  yy695:+    yych = *++p;+    if (yych <= '/') {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy525;+        if (yych <= '\r')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= ' ')+          goto yy565;+        if (yych <= '.')+          goto yy525;+        goto yy567;+      }+    } else {+      if (yych <= 'F') {+        if (yych == '>')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= 'G')+          goto yy696;+        if (yych != 'g')+          goto yy525;+      }+    }+  yy696:+    yych = *++p;+    if (yych == 'R')+      goto yy697;+    if (yych != 'r')+      goto yy525;+  yy697:+    yych = *++p;+    if (yych == 'O')+      goto yy698;+    if (yych != 'o')+      goto yy525;+  yy698:+    yych = *++p;+    if (yych == 'U')+      goto yy699;+    if (yych != 'u')+      goto yy525;+  yy699:+    yych = *++p;+    if (yych == 'P')+      goto yy564;+    if (yych == 'p')+      goto yy564;+    goto yy525;+  yy700:+    yych = *++p;+    if (yych == 'D')+      goto yy715;+    if (yych == 'd')+      goto yy715;+    goto yy525;+  yy701:+    yych = *++p;+    if (yych == 'O')+      goto yy708;+    if (yych == 'o')+      goto yy708;+    goto yy525;+  yy702:+    yych = *++p;+    if (yych == 'S')+      goto yy703;+    if (yych != 's')+      goto yy525;+  yy703:+    yych = *++p;+    if (yych == 'E')+      goto yy704;+    if (yych != 'e')+      goto yy525;+  yy704:+    yych = *++p;+    if (yych <= '/') {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy525;+        if (yych <= '\r')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= ' ')+          goto yy565;+        if (yych <= '.')+          goto yy525;+        goto yy567;+      }+    } else {+      if (yych <= 'E') {+        if (yych == '>')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= 'F')+          goto yy705;+        if (yych != 'f')+          goto yy525;+      }+    }+  yy705:+    yych = *++p;+    if (yych == 'O')+      goto yy706;+    if (yych != 'o')+      goto yy525;+  yy706:+    yych = *++p;+    if (yych == 'N')+      goto yy707;+    if (yych != 'n')+      goto yy525;+  yy707:+    yych = *++p;+    if (yych == 'T')+      goto yy564;+    if (yych == 't')+      goto yy564;+    goto yy525;+  yy708:+    yych = *++p;+    if (yych == 'C')+      goto yy709;+    if (yych != 'c')+      goto yy525;+  yy709:+    yych = *++p;+    if (yych == 'K')+      goto yy710;+    if (yych != 'k')+      goto yy525;+  yy710:+    yych = *++p;+    if (yych == 'Q')+      goto yy711;+    if (yych != 'q')+      goto yy525;+  yy711:+    yych = *++p;+    if (yych == 'U')+      goto yy712;+    if (yych != 'u')+      goto yy525;+  yy712:+    yych = *++p;+    if (yych == 'O')+      goto yy713;+    if (yych != 'o')+      goto yy525;+  yy713:+    yych = *++p;+    if (yych == 'T')+      goto yy714;+    if (yych != 't')+      goto yy525;+  yy714:+    yych = *++p;+    if (yych == 'E')+      goto yy564;+    if (yych == 'e')+      goto yy564;+    goto yy525;+  yy715:+    yych = *++p;+    if (yych == 'Y')+      goto yy564;+    if (yych == 'y')+      goto yy564;+    goto yy525;+  yy716:+    yych = *++p;+    if (yych == 'I')+      goto yy727;+    if (yych == 'i')+      goto yy727;+    goto yy525;+  yy717:+    yych = *++p;+    if (yych == 'T')+      goto yy723;+    if (yych == 't')+      goto yy723;+    goto yy525;+  yy718:+    yych = *++p;+    if (yych == 'D')+      goto yy719;+    if (yych != 'd')+      goto yy525;+  yy719:+    yych = *++p;+    if (yych == 'R')+      goto yy720;+    if (yych != 'r')+      goto yy525;+  yy720:+    yych = *++p;+    if (yych == 'E')+      goto yy721;+    if (yych != 'e')+      goto yy525;+  yy721:+    yych = *++p;+    if (yych == 'S')+      goto yy722;+    if (yych != 's')+      goto yy525;+  yy722:+    yych = *++p;+    if (yych == 'S')+      goto yy564;+    if (yych == 's')+      goto yy564;+    goto yy525;+  yy723:+    yych = *++p;+    if (yych == 'I')+      goto yy724;+    if (yych != 'i')+      goto yy525;+  yy724:+    yych = *++p;+    if (yych == 'C')+      goto yy725;+    if (yych != 'c')+      goto yy525;+  yy725:+    yych = *++p;+    if (yych == 'L')+      goto yy726;+    if (yych != 'l')+      goto yy525;+  yy726:+    yych = *++p;+    if (yych == 'E')+      goto yy564;+    if (yych == 'e')+      goto yy564;+    goto yy525;+  yy727:+    yych = *++p;+    if (yych == 'D')+      goto yy728;+    if (yych != 'd')+      goto yy525;+  yy728:+    yych = *++p;+    if (yych == 'E')+      goto yy564;+    if (yych == 'e')+      goto yy564;+    goto yy525;+  yy729:+    yych = *++p;+    if (yych == 'E')+      goto yy605;+    if (yych == 'e')+      goto yy605;+    goto yy525;+  yy730:+    yych = *++p;+    if (yych == 'R')+      goto yy731;+    if (yych != 'r')+      goto yy525;+  yy731:+    yych = *++p;+    if (yych == 'A')+      goto yy732;+    if (yych != 'a')+      goto yy525;+  yy732:+    yych = *++p;+    if (yych == 'M')+      goto yy564;+    if (yych == 'm')+      goto yy564;+    goto yy525;+  yy733:+    yych = *++p;+    if (yych <= '/') {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy525;+        if (yych <= '\r')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= ' ')+          goto yy565;+        if (yych <= '.')+          goto yy525;+        goto yy567;+      }+    } else {+      if (yych <= '@') {+        if (yych == '>')+          goto yy565;+        goto yy525;+      } else {+        if (yych <= 'A')+          goto yy730;+        if (yych == 'a')+          goto yy730;+        goto yy525;+      }+    }+  yy734:+    ++p;+    if ((yych = *p) <= 'U') {+      if (yych <= 'N') {+        if (yych == 'E')+          goto yy590;+        goto yy525;+      } else {+        if (yych <= 'O')+          goto yy589;+        if (yych <= 'T')+          goto yy525;+        goto yy588;+      }+    } else {+      if (yych <= 'n') {+        if (yych == 'e')+          goto yy590;+        goto yy525;+      } else {+        if (yych <= 'o')+          goto yy589;+        if (yych == 'u')+          goto yy588;+        goto yy525;+      }+    }+  }+}++// 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) {+  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, 202, 194, 198, 194,+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,+        224, 224, 224, 224, 198, 224, 64,  224, 224, 224, 224, 128, 224, 224,+        224, 224, 224, 241, 240, 224, 241, 241, 241, 241, 241, 241, 241, 241,+        241, 241, 240, 224, 192, 192, 192, 224, 224, 241, 241, 241, 241, 241,+        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,+        241, 241, 241, 241, 241, 241, 241, 224, 224, 224, 224, 240, 192, 241,+        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,+        241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 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 = *(marker = p);+    if (yych <= 0xDF) {+      if (yych <= ';') {+        if (yych != '\n')+          goto yy739;+      } else {+        if (yych <= '<')+          goto yy738;+        if (yych <= 0x7F)+          goto yy739;+        if (yych >= 0xC2)+          goto yy740;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy742;+        if (yych == 0xED)+          goto yy747;+        goto yy743;+      } else {+        if (yych <= 0xF0)+          goto yy744;+        if (yych <= 0xF3)+          goto yy745;+        if (yych <= 0xF4)+          goto yy746;+      }+    }+  yy737 : { return 0; }+  yy738:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= '@') {+      if (yych == '/')+        goto yy750;+      goto yy737;+    } else {+      if (yych <= 'Z')+        goto yy748;+      if (yych <= '`')+        goto yy737;+      if (yych <= 'z')+        goto yy748;+      goto yy737;+    }+  yy739:+    yych = *++p;+    goto yy737;+  yy740:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy739;+  yy741:+    p = marker;+    if (yyaccept == 0) {+      goto yy737;+    } else {+      goto yy759;+    }+  yy742:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy740;+    goto yy741;+  yy743:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy740;+    goto yy741;+  yy744:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy743;+    goto yy741;+  yy745:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy743;+    goto yy741;+  yy746:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0x8F)+      goto yy743;+    goto yy741;+  yy747:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0x9F)+      goto yy740;+    goto yy741;+  yy748:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 1) {+      goto yy748;+    }+    if (yych <= ' ') {+      if (yych <= 0x08)+        goto yy741;+      if (yych <= '\r')+        goto yy761;+      if (yych <= 0x1F)+        goto yy741;+      goto yy761;+    } else {+      if (yych <= '/') {+        if (yych <= '.')+          goto yy741;+        goto yy763;+      } else {+        if (yych == '>')+          goto yy755;+        goto yy741;+      }+    }+  yy750:+    yych = *++p;+    if (yych <= '@')+      goto yy741;+    if (yych <= 'Z')+      goto yy751;+    if (yych <= '`')+      goto yy741;+    if (yych >= '{')+      goto yy741;+  yy751:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 2) {+      goto yy753;+    }+    if (yych <= '=') {+      if (yych <= '-') {+        if (yych <= ',')+          goto yy741;+        goto yy751;+      } else {+        if (yych <= '/')+          goto yy741;+        if (yych <= '9')+          goto yy751;+        goto yy741;+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '>')+          goto yy755;+        if (yych <= '@')+          goto yy741;+        goto yy751;+      } else {+        if (yych <= '`')+          goto yy741;+        if (yych <= 'z')+          goto yy751;+        goto yy741;+      }+    }+  yy753:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 2) {+      goto yy753;+    }+    if (yych != '>')+      goto yy741;+  yy755:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 4) {+      goto yy755;+    }+    if (yych <= 0x08)+      goto yy741;+    if (yych <= '\n')+      goto yy757;+    if (yych <= '\v')+      goto yy741;+    if (yych <= '\r')+      goto yy760;+    goto yy741;+  yy757:+    yyaccept = 1;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 4) {+      goto yy755;+    }+    if (yych <= 0x08)+      goto yy759;+    if (yych <= '\n')+      goto yy757;+    if (yych <= '\v')+      goto yy759;+    if (yych <= '\r')+      goto yy760;+  yy759 : { return 7; }+  yy760:+    yych = *++p;+    goto yy759;+  yy761:+    ++p;+    yych = *p;+    if (yych <= ':') {+      if (yych <= ' ') {+        if (yych <= 0x08)+          goto yy741;+        if (yych <= '\r')+          goto yy761;+        if (yych <= 0x1F)+          goto yy741;+        goto yy761;+      } else {+        if (yych == '/')+          goto yy763;+        if (yych <= '9')+          goto yy741;+        goto yy764;+      }+    } else {+      if (yych <= 'Z') {+        if (yych == '>')+          goto yy755;+        if (yych <= '@')+          goto yy741;+        goto yy764;+      } else {+        if (yych <= '_') {+          if (yych <= '^')+            goto yy741;+          goto yy764;+        } else {+          if (yych <= '`')+            goto yy741;+          if (yych <= 'z')+            goto yy764;+          goto yy741;+        }+      }+    }+  yy763:+    yych = *++p;+    if (yych == '>')+      goto yy755;+    goto yy741;+  yy764:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 16) {+      goto yy764;+    }+    if (yych <= ',') {+      if (yych <= '\r') {+        if (yych <= 0x08)+          goto yy741;+      } else {+        if (yych != ' ')+          goto yy741;+      }+    } else {+      if (yych <= '<') {+        if (yych <= '/')+          goto yy763;+        goto yy741;+      } else {+        if (yych <= '=')+          goto yy768;+        if (yych <= '>')+          goto yy755;+        goto yy741;+      }+    }+  yy766:+    ++p;+    yych = *p;+    if (yych <= '<') {+      if (yych <= ' ') {+        if (yych <= 0x08)+          goto yy741;+        if (yych <= '\r')+          goto yy766;+        if (yych <= 0x1F)+          goto yy741;+        goto yy766;+      } else {+        if (yych <= '/') {+          if (yych <= '.')+            goto yy741;+          goto yy763;+        } else {+          if (yych == ':')+            goto yy764;+          goto yy741;+        }+      }+    } else {+      if (yych <= 'Z') {+        if (yych <= '=')+          goto yy768;+        if (yych <= '>')+          goto yy755;+        if (yych <= '@')+          goto yy741;+        goto yy764;+      } else {+        if (yych <= '_') {+          if (yych <= '^')+            goto yy741;+          goto yy764;+        } else {+          if (yych <= '`')+            goto yy741;+          if (yych <= 'z')+            goto yy764;+          goto yy741;+        }+      }+    }+  yy768:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy770;+    }+    if (yych <= 0xE0) {+      if (yych <= '"') {+        if (yych <= 0x00)+          goto yy741;+        if (yych >= '!')+          goto yy781;+      } else {+        if (yych <= '\'')+          goto yy779;+        if (yych <= 0xC1)+          goto yy741;+        if (yych <= 0xDF)+          goto yy772;+        goto yy773;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy778;+        goto yy774;+      } else {+        if (yych <= 0xF0)+          goto yy775;+        if (yych <= 0xF3)+          goto yy776;+        if (yych <= 0xF4)+          goto yy777;+        goto yy741;+      }+    }+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy770;+    }+    if (yych <= 0xDF) {+      if (yych <= '\'') {+        if (yych <= 0x00)+          goto yy741;+        if (yych <= ' ')+          goto yy804;+        if (yych <= '"')+          goto yy781;+        goto yy779;+      } else {+        if (yych == '>')+          goto yy755;+        if (yych <= 0xC1)+          goto yy741;+        goto yy772;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy773;+        if (yych == 0xED)+          goto yy778;+        goto yy774;+      } else {+        if (yych <= 0xF0)+          goto yy775;+        if (yych <= 0xF3)+          goto yy776;+        if (yych <= 0xF4)+          goto yy777;+        goto yy741;+      }+    }+  yy770:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy770;+    }+    if (yych <= 0xE0) {+      if (yych <= '=') {+        if (yych <= 0x00)+          goto yy741;+        if (yych <= ' ')+          goto yy798;+        goto yy741;+      } else {+        if (yych <= '>')+          goto yy755;+        if (yych <= 0xC1)+          goto yy741;+        if (yych >= 0xE0)+          goto yy773;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy778;+        goto yy774;+      } else {+        if (yych <= 0xF0)+          goto yy775;+        if (yych <= 0xF3)+          goto yy776;+        if (yych <= 0xF4)+          goto yy777;+        goto yy741;+      }+    }+  yy772:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy770;+    goto yy741;+  yy773:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy772;+    goto yy741;+  yy774:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy772;+    goto yy741;+  yy775:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy774;+    goto yy741;+  yy776:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy774;+    goto yy741;+  yy777:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0x8F)+      goto yy774;+    goto yy741;+  yy778:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0x9F)+      goto yy772;+    goto yy741;+  yy779:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy779;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy741;+        if (yych <= '\'')+          goto yy790;+        goto yy741;+      } else {+        if (yych <= 0xDF)+          goto yy791;+        if (yych <= 0xE0)+          goto yy792;+        goto yy793;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy797;+        if (yych <= 0xEF)+          goto yy793;+        goto yy794;+      } else {+        if (yych <= 0xF3)+          goto yy795;+        if (yych <= 0xF4)+          goto yy796;+        goto yy741;+      }+    }+  yy781:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy781;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy741;+        if (yych <= '"')+          goto yy790;+        goto yy741;+      } else {+        if (yych <= 0xDF)+          goto yy783;+        if (yych <= 0xE0)+          goto yy784;+        goto yy785;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy789;+        if (yych <= 0xEF)+          goto yy785;+        goto yy786;+      } else {+        if (yych <= 0xF3)+          goto yy787;+        if (yych <= 0xF4)+          goto yy788;+        goto yy741;+      }+    }+  yy783:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy781;+    goto yy741;+  yy784:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy783;+    goto yy741;+  yy785:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy783;+    goto yy741;+  yy786:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy785;+    goto yy741;+  yy787:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy785;+    goto yy741;+  yy788:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0x8F)+      goto yy785;+    goto yy741;+  yy789:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0x9F)+      goto yy783;+    goto yy741;+  yy790:+    ++p;+    yych = *p;+    if (yych <= ' ') {+      if (yych <= 0x08)+        goto yy741;+      if (yych <= '\r')+        goto yy761;+      if (yych <= 0x1F)+        goto yy741;+      goto yy761;+    } else {+      if (yych <= '/') {+        if (yych <= '.')+          goto yy741;+        goto yy763;+      } else {+        if (yych == '>')+          goto yy755;+        goto yy741;+      }+    }+  yy791:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy779;+    goto yy741;+  yy792:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy791;+    goto yy741;+  yy793:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy791;+    goto yy741;+  yy794:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy793;+    goto yy741;+  yy795:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0xBF)+      goto yy793;+    goto yy741;+  yy796:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0x8F)+      goto yy793;+    goto yy741;+  yy797:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy741;+    if (yych <= 0x9F)+      goto yy791;+    goto yy741;+  yy798:+    ++p;+    yych = *p;+    if (yych <= '@') {+      if (yych <= '"') {+        if (yych <= '\r') {+          if (yych <= 0x00)+            goto yy741;+          if (yych <= 0x08)+            goto yy770;+          goto yy798;+        } else {+          if (yych == ' ')+            goto yy798;+          if (yych <= '!')+            goto yy770;+          goto yy741;+        }+      } else {+        if (yych <= ':') {+          if (yych == '\'')+            goto yy741;+          if (yych <= '9')+            goto yy770;+        } else {+          if (yych <= ';')+            goto yy770;+          if (yych <= '=')+            goto yy741;+          if (yych <= '>')+            goto yy755;+          goto yy770;+        }+      }+    } else {+      if (yych <= 0xDF) {+        if (yych <= '`') {+          if (yych <= 'Z')+            goto yy800;+          if (yych <= '^')+            goto yy770;+          if (yych >= '`')+            goto yy741;+        } else {+          if (yych <= 'z')+            goto yy800;+          if (yych <= 0x7F)+            goto yy770;+          if (yych <= 0xC1)+            goto yy741;+          goto yy772;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych <= 0xE0)+            goto yy773;+          if (yych == 0xED)+            goto yy778;+          goto yy774;+        } else {+          if (yych <= 0xF0)+            goto yy775;+          if (yych <= 0xF3)+            goto yy776;+          if (yych <= 0xF4)+            goto yy777;+          goto yy741;+        }+      }+    }+  yy800:+    ++p;+    yych = *p;+    if (yych <= '>') {+      if (yych <= '&') {+        if (yych <= 0x1F) {+          if (yych <= 0x00)+            goto yy741;+          if (yych <= 0x08)+            goto yy770;+          if (yych >= 0x0E)+            goto yy770;+        } else {+          if (yych <= ' ')+            goto yy802;+          if (yych == '"')+            goto yy741;+          goto yy770;+        }+      } else {+        if (yych <= '/') {+          if (yych <= '\'')+            goto yy741;+          if (yych <= ',')+            goto yy770;+          if (yych <= '.')+            goto yy800;+          goto yy770;+        } else {+          if (yych <= ';') {+            if (yych <= ':')+              goto yy800;+            goto yy770;+          } else {+            if (yych <= '<')+              goto yy741;+            if (yych <= '=')+              goto yy768;+            goto yy755;+          }+        }+      }+    } else {+      if (yych <= 0xC1) {+        if (yych <= '_') {+          if (yych <= '@')+            goto yy770;+          if (yych <= 'Z')+            goto yy800;+          if (yych <= '^')+            goto yy770;+          goto yy800;+        } else {+          if (yych <= '`')+            goto yy741;+          if (yych <= 'z')+            goto yy800;+          if (yych <= 0x7F)+            goto yy770;+          goto yy741;+        }+      } else {+        if (yych <= 0xED) {+          if (yych <= 0xDF)+            goto yy772;+          if (yych <= 0xE0)+            goto yy773;+          if (yych <= 0xEC)+            goto yy774;+          goto yy778;+        } else {+          if (yych <= 0xF0) {+            if (yych <= 0xEF)+              goto yy774;+            goto yy775;+          } else {+            if (yych <= 0xF3)+              goto yy776;+            if (yych <= 0xF4)+              goto yy777;+            goto yy741;+          }+        }+      }+    }+  yy802:+    ++p;+    yych = *p;+    if (yych <= '@') {+      if (yych <= '&') {+        if (yych <= 0x1F) {+          if (yych <= 0x00)+            goto yy741;+          if (yych <= 0x08)+            goto yy770;+          if (yych <= '\r')+            goto yy802;+          goto yy770;+        } else {+          if (yych <= ' ')+            goto yy802;+          if (yych == '"')+            goto yy741;+          goto yy770;+        }+      } else {+        if (yych <= ';') {+          if (yych <= '\'')+            goto yy741;+          if (yych == ':')+            goto yy800;+          goto yy770;+        } else {+          if (yych <= '<')+            goto yy741;+          if (yych <= '=')+            goto yy768;+          if (yych <= '>')+            goto yy755;+          goto yy770;+        }+      }+    } else {+      if (yych <= 0xDF) {+        if (yych <= '`') {+          if (yych <= 'Z')+            goto yy800;+          if (yych <= '^')+            goto yy770;+          if (yych <= '_')+            goto yy800;+          goto yy741;+        } else {+          if (yych <= 'z')+            goto yy800;+          if (yych <= 0x7F)+            goto yy770;+          if (yych <= 0xC1)+            goto yy741;+          goto yy772;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych <= 0xE0)+            goto yy773;+          if (yych == 0xED)+            goto yy778;+          goto yy774;+        } else {+          if (yych <= 0xF0)+            goto yy775;+          if (yych <= 0xF3)+            goto yy776;+          if (yych <= 0xF4)+            goto yy777;+          goto yy741;+        }+      }+    }+  yy804:+    ++p;+    yych = *p;+    if (yych <= '@') {+      if (yych <= '"') {+        if (yych <= '\r') {+          if (yych <= 0x00)+            goto yy741;+          if (yych <= 0x08)+            goto yy770;+          goto yy804;+        } else {+          if (yych == ' ')+            goto yy804;+          if (yych <= '!')+            goto yy770;+          goto yy781;+        }+      } else {+        if (yych <= ':') {+          if (yych == '\'')+            goto yy779;+          if (yych <= '9')+            goto yy770;+          goto yy800;+        } else {+          if (yych <= ';')+            goto yy770;+          if (yych <= '=')+            goto yy741;+          if (yych <= '>')+            goto yy755;+          goto yy770;+        }+      }+    } else {+      if (yych <= 0xDF) {+        if (yych <= '`') {+          if (yych <= 'Z')+            goto yy800;+          if (yych <= '^')+            goto yy770;+          if (yych <= '_')+            goto yy800;+          goto yy741;+        } else {+          if (yych <= 'z')+            goto yy800;+          if (yych <= 0x7F)+            goto yy770;+          if (yych <= 0xC1)+            goto yy741;+          goto yy772;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych <= 0xE0)+            goto yy773;+          if (yych == 0xED)+            goto yy778;+          goto yy774;+        } else {+          if (yych <= 0xF0)+            goto yy775;+          if (yych <= 0xF3)+            goto yy776;+          if (yych <= 0xF4)+            goto yy777;+          goto yy741;+        }+      }+    }+  }+}++// Try to match an HTML block end line of type 1+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[] = {+        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, 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,+        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 = *(marker = p);+    if (yych <= 0xDF) {+      if (yych <= ';') {+        if (yych != '\n')+          goto yy809;+      } else {+        if (yych <= '<')+          goto yy810;+        if (yych <= 0x7F)+          goto yy809;+        if (yych >= 0xC2)+          goto yy811;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy813;+        if (yych == 0xED)+          goto yy818;+        goto yy814;+      } else {+        if (yych <= 0xF0)+          goto yy815;+        if (yych <= 0xF3)+          goto yy816;+        if (yych <= 0xF4)+          goto yy817;+      }+    }+  yy808 : { return 0; }+  yy809:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= 0x7F) {+      if (yych == '\n')+        goto yy808;+      goto yy823;+    } else {+      if (yych <= 0xC1)+        goto yy808;+      if (yych <= 0xF4)+        goto yy823;+      goto yy808;+    }+  yy810:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= '/') {+      if (yych == '\n')+        goto yy808;+      if (yych <= '.')+        goto yy823;+      goto yy819;+    } else {+      if (yych <= 0x7F)+        goto yy823;+      if (yych <= 0xC1)+        goto yy808;+      if (yych <= 0xF4)+        goto yy823;+      goto yy808;+    }+  yy811:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy812;+    if (yych <= 0xBF)+      goto yy809;+  yy812:+    p = marker;+    if (yyaccept == 0) {+      goto yy808;+    } else {+      goto yy840;+    }+  yy813:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy812;+    if (yych <= 0xBF)+      goto yy811;+    goto yy812;+  yy814:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy812;+    if (yych <= 0xBF)+      goto yy811;+    goto yy812;+  yy815:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy812;+    if (yych <= 0xBF)+      goto yy814;+    goto yy812;+  yy816:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy812;+    if (yych <= 0xBF)+      goto yy814;+    goto yy812;+  yy817:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy812;+    if (yych <= 0x8F)+      goto yy814;+    goto yy812;+  yy818:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy812;+    if (yych <= 0x9F)+      goto yy811;+    goto yy812;+  yy819:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 's') {+      if (yych <= 'R') {+        if (yych <= '\n') {+          if (yych <= '\t')+            goto yy822;+          goto yy812;+        } else {+          if (yych == 'P')+            goto yy831;+          goto yy822;+        }+      } else {+        if (yych <= 'o') {+          if (yych <= 'S')+            goto yy832;+          goto yy822;+        } else {+          if (yych <= 'p')+            goto yy831;+          if (yych <= 'r')+            goto yy822;+          goto yy832;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= 0x7F)+            goto yy822;+          goto yy812;+        } else {+          if (yych <= 0xDF)+            goto yy824;+          if (yych <= 0xE0)+            goto yy825;+          goto yy826;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy830;+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+  yy820:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xDF) {+      if (yych <= '.') {+        if (yych == '\n')+          goto yy812;+      } else {+        if (yych <= '/')+          goto yy819;+        if (yych <= 0x7F)+          goto yy822;+        if (yych <= 0xC1)+          goto yy812;+        goto yy824;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy825;+        if (yych == 0xED)+          goto yy830;+        goto yy826;+      } else {+        if (yych <= 0xF0)+          goto yy827;+        if (yych <= 0xF3)+          goto yy828;+        if (yych <= 0xF4)+          goto yy829;+        goto yy812;+      }+    }+  yy822:+    ++p;+    yych = *p;+  yy823:+    if (yybm[0 + yych] & 128) {+      goto yy822;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy812;+        if (yych <= '<')+          goto yy820;+        goto yy812;+      } else {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        goto yy826;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy830;+        if (yych <= 0xEF)+          goto yy826;+        goto yy827;+      } else {+        if (yych <= 0xF3)+          goto yy828;+        if (yych <= 0xF4)+          goto yy829;+        goto yy812;+      }+    }+  yy824:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy812;+    if (yych <= 0xBF)+      goto yy822;+    goto yy812;+  yy825:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy812;+    if (yych <= 0xBF)+      goto yy824;+    goto yy812;+  yy826:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy812;+    if (yych <= 0xBF)+      goto yy824;+    goto yy812;+  yy827:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy812;+    if (yych <= 0xBF)+      goto yy826;+    goto yy812;+  yy828:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy812;+    if (yych <= 0xBF)+      goto yy826;+    goto yy812;+  yy829:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy812;+    if (yych <= 0x8F)+      goto yy826;+    goto yy812;+  yy830:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy812;+    if (yych <= 0x9F)+      goto yy824;+    goto yy812;+  yy831:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xC1) {+      if (yych <= 'R') {+        if (yych == '\n')+          goto yy812;+        if (yych <= 'Q')+          goto yy822;+        goto yy843;+      } else {+        if (yych == 'r')+          goto yy843;+        if (yych <= 0x7F)+          goto yy822;+        goto yy812;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        if (yych <= 0xEC)+          goto yy826;+        goto yy830;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+  yy832:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 't') {+      if (yych <= 'S') {+        if (yych <= '\n') {+          if (yych <= '\t')+            goto yy822;+          goto yy812;+        } else {+          if (yych == 'C')+            goto yy834;+          goto yy822;+        }+      } else {+        if (yych <= 'b') {+          if (yych >= 'U')+            goto yy822;+        } else {+          if (yych <= 'c')+            goto yy834;+          if (yych <= 's')+            goto yy822;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= 0x7F)+            goto yy822;+          goto yy812;+        } else {+          if (yych <= 0xDF)+            goto yy824;+          if (yych <= 0xE0)+            goto yy825;+          goto yy826;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy830;+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xC1) {+      if (yych <= 'Y') {+        if (yych == '\n')+          goto yy812;+        if (yych <= 'X')+          goto yy822;+        goto yy841;+      } else {+        if (yych == 'y')+          goto yy841;+        if (yych <= 0x7F)+          goto yy822;+        goto yy812;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        if (yych <= 0xEC)+          goto yy826;+        goto yy830;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+  yy834:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xC1) {+      if (yych <= 'R') {+        if (yych == '\n')+          goto yy812;+        if (yych <= 'Q')+          goto yy822;+      } else {+        if (yych == 'r')+          goto yy835;+        if (yych <= 0x7F)+          goto yy822;+        goto yy812;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        if (yych <= 0xEC)+          goto yy826;+        goto yy830;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+  yy835:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xC1) {+      if (yych <= 'I') {+        if (yych == '\n')+          goto yy812;+        if (yych <= 'H')+          goto yy822;+      } else {+        if (yych == 'i')+          goto yy836;+        if (yych <= 0x7F)+          goto yy822;+        goto yy812;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        if (yych <= 0xEC)+          goto yy826;+        goto yy830;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+  yy836:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xC1) {+      if (yych <= 'P') {+        if (yych == '\n')+          goto yy812;+        if (yych <= 'O')+          goto yy822;+      } else {+        if (yych == 'p')+          goto yy837;+        if (yych <= 0x7F)+          goto yy822;+        goto yy812;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        if (yych <= 0xEC)+          goto yy826;+        goto yy830;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+  yy837:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xC1) {+      if (yych <= 'T') {+        if (yych == '\n')+          goto yy812;+        if (yych <= 'S')+          goto yy822;+      } else {+        if (yych == 't')+          goto yy838;+        if (yych <= 0x7F)+          goto yy822;+        goto yy812;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        if (yych <= 0xEC)+          goto yy826;+        goto yy830;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+  yy838:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xDF) {+      if (yych <= '=') {+        if (yych == '\n')+          goto yy812;+        goto yy822;+      } else {+        if (yych <= '>')+          goto yy839;+        if (yych <= 0x7F)+          goto yy822;+        if (yych <= 0xC1)+          goto yy812;+        goto yy824;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy825;+        if (yych == 0xED)+          goto yy830;+        goto yy826;+      } else {+        if (yych <= 0xF0)+          goto yy827;+        if (yych <= 0xF3)+          goto yy828;+        if (yych <= 0xF4)+          goto yy829;+        goto yy812;+      }+    }+  yy839:+    yyaccept = 1;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy822;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy840;+        if (yych <= '<')+          goto yy820;+      } else {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        goto yy826;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy830;+        if (yych <= 0xEF)+          goto yy826;+        goto yy827;+      } else {+        if (yych <= 0xF3)+          goto yy828;+        if (yych <= 0xF4)+          goto yy829;+      }+    }+  yy840 : { return (bufsize_t)(p - start); }+  yy841:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xC1) {+      if (yych <= 'L') {+        if (yych == '\n')+          goto yy812;+        if (yych <= 'K')+          goto yy822;+      } else {+        if (yych == 'l')+          goto yy842;+        if (yych <= 0x7F)+          goto yy822;+        goto yy812;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        if (yych <= 0xEC)+          goto yy826;+        goto yy830;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+  yy842:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xC1) {+      if (yych <= 'E') {+        if (yych == '\n')+          goto yy812;+        if (yych <= 'D')+          goto yy822;+        goto yy838;+      } else {+        if (yych == 'e')+          goto yy838;+        if (yych <= 0x7F)+          goto yy822;+        goto yy812;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        if (yych <= 0xEC)+          goto yy826;+        goto yy830;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+  yy843:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy820;+    }+    if (yych <= 0xC1) {+      if (yych <= 'E') {+        if (yych == '\n')+          goto yy812;+        if (yych <= 'D')+          goto yy822;+        goto yy838;+      } else {+        if (yych == 'e')+          goto yy838;+        if (yych <= 0x7F)+          goto yy822;+        goto yy812;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy824;+        if (yych <= 0xE0)+          goto yy825;+        if (yych <= 0xEC)+          goto yy826;+        goto yy830;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy826;+          goto yy827;+        } else {+          if (yych <= 0xF3)+            goto yy828;+          if (yych <= 0xF4)+            goto yy829;+          goto yy812;+        }+      }+    }+  }+}++// Try to match an HTML block end line of type 2+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[] = {+        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, 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, 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 = *(marker = p);+    if (yych <= 0xDF) {+      if (yych <= ',') {+        if (yych != '\n')+          goto yy847;+      } else {+        if (yych <= '-')+          goto yy848;+        if (yych <= 0x7F)+          goto yy847;+        if (yych >= 0xC2)+          goto yy849;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy851;+        if (yych == 0xED)+          goto yy856;+        goto yy852;+      } else {+        if (yych <= 0xF0)+          goto yy853;+        if (yych <= 0xF3)+          goto yy854;+        if (yych <= 0xF4)+          goto yy855;+      }+    }+  yy846 : { return 0; }+  yy847:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= 0x7F) {+      if (yych == '\n')+        goto yy846;+      goto yy860;+    } else {+      if (yych <= 0xC1)+        goto yy846;+      if (yych <= 0xF4)+        goto yy860;+      goto yy846;+    }+  yy848:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yybm[0 + yych] & 64) {+      goto yy857;+    }+    if (yych <= 0x7F) {+      if (yych == '\n')+        goto yy846;+      goto yy860;+    } else {+      if (yych <= 0xC1)+        goto yy846;+      if (yych <= 0xF4)+        goto yy860;+      goto yy846;+    }+  yy849:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy850;+    if (yych <= 0xBF)+      goto yy847;+  yy850:+    p = marker;+    if (yyaccept == 0) {+      goto yy846;+    } else {+      goto yy870;+    }+  yy851:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy850;+    if (yych <= 0xBF)+      goto yy849;+    goto yy850;+  yy852:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy850;+    if (yych <= 0xBF)+      goto yy849;+    goto yy850;+  yy853:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy850;+    if (yych <= 0xBF)+      goto yy852;+    goto yy850;+  yy854:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy850;+    if (yych <= 0xBF)+      goto yy852;+    goto yy850;+  yy855:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy850;+    if (yych <= 0x8F)+      goto yy852;+    goto yy850;+  yy856:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy850;+    if (yych <= 0x9F)+      goto yy849;+    goto yy850;+  yy857:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy857;+    }+    if (yych <= 0xDF) {+      if (yych <= '=') {+        if (yych == '\n')+          goto yy850;+      } else {+        if (yych <= '>')+          goto yy869;+        if (yych <= 0x7F)+          goto yy859;+        if (yych <= 0xC1)+          goto yy850;+        goto yy861;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy862;+        if (yych == 0xED)+          goto yy867;+        goto yy863;+      } else {+        if (yych <= 0xF0)+          goto yy864;+        if (yych <= 0xF3)+          goto yy865;+        if (yych <= 0xF4)+          goto yy866;+        goto yy850;+      }+    }+  yy859:+    ++p;+    yych = *p;+  yy860:+    if (yybm[0 + yych] & 128) {+      goto yy859;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy850;+        if (yych <= '-')+          goto yy868;+        goto yy850;+      } else {+        if (yych <= 0xDF)+          goto yy861;+        if (yych <= 0xE0)+          goto yy862;+        goto yy863;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy867;+        if (yych <= 0xEF)+          goto yy863;+        goto yy864;+      } else {+        if (yych <= 0xF3)+          goto yy865;+        if (yych <= 0xF4)+          goto yy866;+        goto yy850;+      }+    }+  yy861:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy850;+    if (yych <= 0xBF)+      goto yy859;+    goto yy850;+  yy862:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy850;+    if (yych <= 0xBF)+      goto yy861;+    goto yy850;+  yy863:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy850;+    if (yych <= 0xBF)+      goto yy861;+    goto yy850;+  yy864:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy850;+    if (yych <= 0xBF)+      goto yy863;+    goto yy850;+  yy865:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy850;+    if (yych <= 0xBF)+      goto yy863;+    goto yy850;+  yy866:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy850;+    if (yych <= 0x8F)+      goto yy863;+    goto yy850;+  yy867:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy850;+    if (yych <= 0x9F)+      goto yy861;+    goto yy850;+  yy868:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy859;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy850;+        if (yych <= '-')+          goto yy857;+        goto yy850;+      } else {+        if (yych <= 0xDF)+          goto yy861;+        if (yych <= 0xE0)+          goto yy862;+        goto yy863;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy867;+        if (yych <= 0xEF)+          goto yy863;+        goto yy864;+      } else {+        if (yych <= 0xF3)+          goto yy865;+        if (yych <= 0xF4)+          goto yy866;+        goto yy850;+      }+    }+  yy869:+    yyaccept = 1;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy859;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy870;+        if (yych <= '-')+          goto yy868;+      } else {+        if (yych <= 0xDF)+          goto yy861;+        if (yych <= 0xE0)+          goto yy862;+        goto yy863;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy867;+        if (yych <= 0xEF)+          goto yy863;+        goto yy864;+      } else {+        if (yych <= 0xF3)+          goto yy865;+        if (yych <= 0xF4)+          goto yy866;+      }+    }+  yy870 : { 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) {+  const unsigned char *marker = NULL;+  const unsigned char *start = p;++  {+    unsigned char yych;+    unsigned int yyaccept = 0;+    static const unsigned char yybm[] = {+        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, 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, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);+    if (yych <= 0xDF) {+      if (yych <= '>') {+        if (yych != '\n')+          goto yy874;+      } else {+        if (yych <= '?')+          goto yy875;+        if (yych <= 0x7F)+          goto yy874;+        if (yych >= 0xC2)+          goto yy876;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy878;+        if (yych == 0xED)+          goto yy883;+        goto yy879;+      } else {+        if (yych <= 0xF0)+          goto yy880;+        if (yych <= 0xF3)+          goto yy881;+        if (yych <= 0xF4)+          goto yy882;+      }+    }+  yy873 : { return 0; }+  yy874:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= 0x7F) {+      if (yych == '\n')+        goto yy873;+      goto yy889;+    } else {+      if (yych <= 0xC1)+        goto yy873;+      if (yych <= 0xF4)+        goto yy889;+      goto yy873;+    }+  yy875:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= '>') {+      if (yych == '\n')+        goto yy873;+      if (yych <= '=')+        goto yy889;+      goto yy884;+    } else {+      if (yych <= 0x7F)+        goto yy889;+      if (yych <= 0xC1)+        goto yy873;+      if (yych <= 0xF4)+        goto yy889;+      goto yy873;+    }+  yy876:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy877;+    if (yych <= 0xBF)+      goto yy874;+  yy877:+    p = marker;+    if (yyaccept == 0) {+      goto yy873;+    } else {+      goto yy885;+    }+  yy878:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy877;+    if (yych <= 0xBF)+      goto yy876;+    goto yy877;+  yy879:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy877;+    if (yych <= 0xBF)+      goto yy876;+    goto yy877;+  yy880:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy877;+    if (yych <= 0xBF)+      goto yy879;+    goto yy877;+  yy881:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy877;+    if (yych <= 0xBF)+      goto yy879;+    goto yy877;+  yy882:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy877;+    if (yych <= 0x8F)+      goto yy879;+    goto yy877;+  yy883:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy877;+    if (yych <= 0x9F)+      goto yy876;+    goto yy877;+  yy884:+    yyaccept = 1;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy888;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy885;+        if (yych <= '?')+          goto yy886;+      } else {+        if (yych <= 0xDF)+          goto yy890;+        if (yych <= 0xE0)+          goto yy891;+        goto yy892;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy896;+        if (yych <= 0xEF)+          goto yy892;+        goto yy893;+      } else {+        if (yych <= 0xF3)+          goto yy894;+        if (yych <= 0xF4)+          goto yy895;+      }+    }+  yy885 : { return (bufsize_t)(p - start); }+  yy886:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy886;+    }+    if (yych <= 0xDF) {+      if (yych <= '=') {+        if (yych == '\n')+          goto yy877;+      } else {+        if (yych <= '>')+          goto yy884;+        if (yych <= 0x7F)+          goto yy888;+        if (yych <= 0xC1)+          goto yy877;+        goto yy890;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy891;+        if (yych == 0xED)+          goto yy896;+        goto yy892;+      } else {+        if (yych <= 0xF0)+          goto yy893;+        if (yych <= 0xF3)+          goto yy894;+        if (yych <= 0xF4)+          goto yy895;+        goto yy877;+      }+    }+  yy888:+    ++p;+    yych = *p;+  yy889:+    if (yybm[0 + yych] & 128) {+      goto yy888;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy877;+        if (yych <= '?')+          goto yy886;+        goto yy877;+      } else {+        if (yych <= 0xDF)+          goto yy890;+        if (yych <= 0xE0)+          goto yy891;+        goto yy892;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy896;+        if (yych <= 0xEF)+          goto yy892;+        goto yy893;+      } else {+        if (yych <= 0xF3)+          goto yy894;+        if (yych <= 0xF4)+          goto yy895;+        goto yy877;+      }+    }+  yy890:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy877;+    if (yych <= 0xBF)+      goto yy888;+    goto yy877;+  yy891:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy877;+    if (yych <= 0xBF)+      goto yy890;+    goto yy877;+  yy892:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy877;+    if (yych <= 0xBF)+      goto yy890;+    goto yy877;+  yy893:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy877;+    if (yych <= 0xBF)+      goto yy892;+    goto yy877;+  yy894:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy877;+    if (yych <= 0xBF)+      goto yy892;+    goto yy877;+  yy895:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy877;+    if (yych <= 0x8F)+      goto yy892;+    goto yy877;+  yy896:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy877;+    if (yych <= 0x9F)+      goto yy890;+    goto yy877;+  }+}++// Try to match an HTML block end line of type 4+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[] = {+        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, 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 = *(marker = p);+    if (yych <= 0xDF) {+      if (yych <= '=') {+        if (yych != '\n')+          goto yy900;+      } else {+        if (yych <= '>')+          goto yy901;+        if (yych <= 0x7F)+          goto yy900;+        if (yych >= 0xC2)+          goto yy903;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy905;+        if (yych == 0xED)+          goto yy910;+        goto yy906;+      } else {+        if (yych <= 0xF0)+          goto yy907;+        if (yych <= 0xF3)+          goto yy908;+        if (yych <= 0xF4)+          goto yy909;+      }+    }+  yy899 : { return 0; }+  yy900:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= 0x7F) {+      if (yych == '\n')+        goto yy899;+      goto yy914;+    } else {+      if (yych <= 0xC1)+        goto yy899;+      if (yych <= 0xF4)+        goto yy914;+      goto yy899;+    }+  yy901:+    yyaccept = 1;+    yych = *(marker = ++p);+    if (yych <= 0x7F) {+      if (yych != '\n')+        goto yy914;+    } else {+      if (yych <= 0xC1)+        goto yy902;+      if (yych <= 0xF4)+        goto yy914;+    }+  yy902 : { return (bufsize_t)(p - start); }+  yy903:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy904;+    if (yych <= 0xBF)+      goto yy900;+  yy904:+    p = marker;+    if (yyaccept == 0) {+      goto yy899;+    } else {+      goto yy902;+    }+  yy905:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy904;+    if (yych <= 0xBF)+      goto yy903;+    goto yy904;+  yy906:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy904;+    if (yych <= 0xBF)+      goto yy903;+    goto yy904;+  yy907:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy904;+    if (yych <= 0xBF)+      goto yy906;+    goto yy904;+  yy908:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy904;+    if (yych <= 0xBF)+      goto yy906;+    goto yy904;+  yy909:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy904;+    if (yych <= 0x8F)+      goto yy906;+    goto yy904;+  yy910:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy904;+    if (yych <= 0x9F)+      goto yy903;+    goto yy904;+  yy911:+    yyaccept = 1;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy913;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy902;+        if (yych <= '>')+          goto yy911;+        goto yy902;+      } else {+        if (yych <= 0xDF)+          goto yy915;+        if (yych <= 0xE0)+          goto yy916;+        goto yy917;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy921;+        if (yych <= 0xEF)+          goto yy917;+        goto yy918;+      } else {+        if (yych <= 0xF3)+          goto yy919;+        if (yych <= 0xF4)+          goto yy920;+        goto yy902;+      }+    }+  yy913:+    ++p;+    yych = *p;+  yy914:+    if (yybm[0 + yych] & 128) {+      goto yy913;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy904;+        if (yych <= '>')+          goto yy911;+        goto yy904;+      } else {+        if (yych <= 0xDF)+          goto yy915;+        if (yych <= 0xE0)+          goto yy916;+        goto yy917;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy921;+        if (yych <= 0xEF)+          goto yy917;+        goto yy918;+      } else {+        if (yych <= 0xF3)+          goto yy919;+        if (yych <= 0xF4)+          goto yy920;+        goto yy904;+      }+    }+  yy915:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy904;+    if (yych <= 0xBF)+      goto yy913;+    goto yy904;+  yy916:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy904;+    if (yych <= 0xBF)+      goto yy915;+    goto yy904;+  yy917:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy904;+    if (yych <= 0xBF)+      goto yy915;+    goto yy904;+  yy918:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy904;+    if (yych <= 0xBF)+      goto yy917;+    goto yy904;+  yy919:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy904;+    if (yych <= 0xBF)+      goto yy917;+    goto yy904;+  yy920:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy904;+    if (yych <= 0x8F)+      goto yy917;+    goto yy904;+  yy921:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy904;+    if (yych <= 0x9F)+      goto yy915;+    goto yy904;+  }+}++// Try to match an HTML block end line of type 5+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[] = {+        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, 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, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);+    if (yych <= 0xDF) {+      if (yych <= '\\') {+        if (yych != '\n')+          goto yy925;+      } else {+        if (yych <= ']')+          goto yy926;+        if (yych <= 0x7F)+          goto yy925;+        if (yych >= 0xC2)+          goto yy927;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy929;+        if (yych == 0xED)+          goto yy934;+        goto yy930;+      } else {+        if (yych <= 0xF0)+          goto yy931;+        if (yych <= 0xF3)+          goto yy932;+        if (yych <= 0xF4)+          goto yy933;+      }+    }+  yy924 : { return 0; }+  yy925:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= 0x7F) {+      if (yych == '\n')+        goto yy924;+      goto yy938;+    } else {+      if (yych <= 0xC1)+        goto yy924;+      if (yych <= 0xF4)+        goto yy938;+      goto yy924;+    }+  yy926:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yybm[0 + yych] & 64) {+      goto yy935;+    }+    if (yych <= 0x7F) {+      if (yych == '\n')+        goto yy924;+      goto yy938;+    } else {+      if (yych <= 0xC1)+        goto yy924;+      if (yych <= 0xF4)+        goto yy938;+      goto yy924;+    }+  yy927:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy928;+    if (yych <= 0xBF)+      goto yy925;+  yy928:+    p = marker;+    if (yyaccept == 0) {+      goto yy924;+    } else {+      goto yy948;+    }+  yy929:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy928;+    if (yych <= 0xBF)+      goto yy927;+    goto yy928;+  yy930:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy928;+    if (yych <= 0xBF)+      goto yy927;+    goto yy928;+  yy931:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy928;+    if (yych <= 0xBF)+      goto yy930;+    goto yy928;+  yy932:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy928;+    if (yych <= 0xBF)+      goto yy930;+    goto yy928;+  yy933:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy928;+    if (yych <= 0x8F)+      goto yy930;+    goto yy928;+  yy934:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy928;+    if (yych <= 0x9F)+      goto yy927;+    goto yy928;+  yy935:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy935;+    }+    if (yych <= 0xDF) {+      if (yych <= '=') {+        if (yych == '\n')+          goto yy928;+      } else {+        if (yych <= '>')+          goto yy947;+        if (yych <= 0x7F)+          goto yy937;+        if (yych <= 0xC1)+          goto yy928;+        goto yy939;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy940;+        if (yych == 0xED)+          goto yy945;+        goto yy941;+      } else {+        if (yych <= 0xF0)+          goto yy942;+        if (yych <= 0xF3)+          goto yy943;+        if (yych <= 0xF4)+          goto yy944;+        goto yy928;+      }+    }+  yy937:+    ++p;+    yych = *p;+  yy938:+    if (yybm[0 + yych] & 128) {+      goto yy937;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy928;+        if (yych <= ']')+          goto yy946;+        goto yy928;+      } else {+        if (yych <= 0xDF)+          goto yy939;+        if (yych <= 0xE0)+          goto yy940;+        goto yy941;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy945;+        if (yych <= 0xEF)+          goto yy941;+        goto yy942;+      } else {+        if (yych <= 0xF3)+          goto yy943;+        if (yych <= 0xF4)+          goto yy944;+        goto yy928;+      }+    }+  yy939:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy928;+    if (yych <= 0xBF)+      goto yy937;+    goto yy928;+  yy940:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy928;+    if (yych <= 0xBF)+      goto yy939;+    goto yy928;+  yy941:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy928;+    if (yych <= 0xBF)+      goto yy939;+    goto yy928;+  yy942:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy928;+    if (yych <= 0xBF)+      goto yy941;+    goto yy928;+  yy943:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy928;+    if (yych <= 0xBF)+      goto yy941;+    goto yy928;+  yy944:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy928;+    if (yych <= 0x8F)+      goto yy941;+    goto yy928;+  yy945:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy928;+    if (yych <= 0x9F)+      goto yy939;+    goto yy928;+  yy946:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy937;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy928;+        if (yych <= ']')+          goto yy935;+        goto yy928;+      } else {+        if (yych <= 0xDF)+          goto yy939;+        if (yych <= 0xE0)+          goto yy940;+        goto yy941;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy945;+        if (yych <= 0xEF)+          goto yy941;+        goto yy942;+      } else {+        if (yych <= 0xF3)+          goto yy943;+        if (yych <= 0xF4)+          goto yy944;+        goto yy928;+      }+    }+  yy947:+    yyaccept = 1;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy937;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= '\n')+          goto yy948;+        if (yych <= ']')+          goto yy946;+      } else {+        if (yych <= 0xDF)+          goto yy939;+        if (yych <= 0xE0)+          goto yy940;+        goto yy941;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy945;+        if (yych <= 0xEF)+          goto yy941;+        goto yy942;+      } else {+        if (yych <= 0xF3)+          goto yy943;+        if (yych <= 0xF4)+          goto yy944;+      }+    }+  yy948 : { return (bufsize_t)(p - start); }+  }+}++// Try to match a URL in a link or reference, return number of chars matched.+// This may optionally be contained in <..>; otherwise+// whitespace and unbalanced right parentheses aren't allowed.+// Newlines aren't ever allowed.+bufsize_t _scan_link_url(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, 0,   8,   128, 128, 8,+        128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,+        128, 128, 128, 128, 8,   224, 224, 224, 224, 224, 224, 224, 128, 128,+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,+        224, 224, 224, 224, 32,  224, 32,  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, 224, 224, 224, 16,  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, 224, 224, 224, 224, 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 = *(marker = p);+    if (yych <= '[') {+      if (yych <= ' ') {+        if (yych <= '\f') {+          if (yych == '\n')+            goto yy952;+          goto yy968;+        } else {+          if (yych <= '\r')+            goto yy954;+          if (yych <= 0x1F)+            goto yy968;+          goto yy954;+        }+      } else {+        if (yych <= ')') {+          if (yych <= '\'')+            goto yy956;+          if (yych <= '(')+            goto yy966;+          goto yy968;+        } else {+          if (yych == '<')+            goto yy955;+          goto yy956;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= '\\')+            goto yy965;+          if (yych <= 0x7F)+            goto yy956;+        } else {+          if (yych <= 0xDF)+            goto yy957;+          if (yych <= 0xE0)+            goto yy959;+          goto yy960;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy964;+          if (yych <= 0xEF)+            goto yy960;+          goto yy961;+        } else {+          if (yych <= 0xF3)+            goto yy962;+          if (yych <= 0xF4)+            goto yy963;+        }+      }+    }+  yy951 : { return (bufsize_t)(p - start); }+  yy952:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+  yy953:+    if (yybm[0 + yych] & 8) {+      goto yy952;+    }+    if (yych <= 0x7F) {+      if (yych <= ')') {+        if (yych <= 0x1F)+          goto yy951;+        if (yych <= '\'')+          goto yy980;+        if (yych <= '(')+          goto yy971;+        goto yy951;+      } else {+        if (yych <= '<') {+          if (yych <= ';')+            goto yy980;+          goto yy1016;+        } else {+          if (yych == '\\')+            goto yy982;+          goto yy980;+        }+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF) {+          if (yych <= 0xC1)+            goto yy951;+          goto yy983;+        } else {+          if (yych <= 0xE0)+            goto yy984;+          if (yych <= 0xEC)+            goto yy985;+          goto yy989;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy985;+          goto yy986;+        } else {+          if (yych <= 0xF3)+            goto yy987;+          if (yych <= 0xF4)+            goto yy988;+          goto yy951;+        }+      }+    }+  yy954:+    yyaccept = 0;+    yych = *(marker = ++p);+    goto yy953;+  yy955:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yybm[0 + yych] & 64) {+      goto yy1016;+    }+    if (yych <= '>') {+      if (yych <= '\r') {+        if (yych <= 0x08) {+          if (yych <= 0x00)+            goto yy951;+          goto yy1029;+        } else {+          if (yych <= '\n')+            goto yy951;+          if (yych <= '\f')+            goto yy1029;+          goto yy951;+        }+      } else {+        if (yych <= '(') {+          if (yych <= 0x1F)+            goto yy1029;+          if (yych <= ' ')+            goto yy951;+          goto yy1027;+        } else {+          if (yych <= ')')+            goto yy1029;+          if (yych <= '<')+            goto yy980;+          goto yy1018;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= '\\')+            goto yy1015;+          goto yy951;+        } else {+          if (yych <= 0xDF)+            goto yy1020;+          if (yych <= 0xE0)+            goto yy1021;+          goto yy1022;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy1026;+          if (yych <= 0xEF)+            goto yy1022;+          goto yy1023;+        } else {+          if (yych <= 0xF3)+            goto yy1024;+          if (yych <= 0xF4)+            goto yy1025;+          goto yy951;+        }+      }+    }+  yy956:+    yyaccept = 0;+    yych = *(marker = ++p);+    goto yy981;+  yy957:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy956;+  yy958:+    p = marker;+    if (yyaccept <= 1) {+      if (yyaccept == 0) {+        goto yy951;+      } else {+        goto yy967;+      }+    } else {+      goto yy1019;+    }+  yy959:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy957;+    goto yy958;+  yy960:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy957;+    goto yy958;+  yy961:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy960;+    goto yy958;+  yy962:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy960;+    goto yy958;+  yy963:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy960;+    goto yy958;+  yy964:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy957;+    goto yy958;+  yy965:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= 0xDF) {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy980;+        if (yych <= '\r')+          goto yy951;+        goto yy980;+      } else {+        if (yych <= ' ')+          goto yy951;+        if (yych <= 0x7F)+          goto yy980;+        if (yych <= 0xC1)+          goto yy951;+        goto yy990;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy991;+        if (yych == 0xED)+          goto yy996;+        goto yy992;+      } else {+        if (yych <= 0xF0)+          goto yy993;+        if (yych <= 0xF3)+          goto yy994;+        if (yych <= 0xF4)+          goto yy995;+        goto yy951;+      }+    }+  yy966:+    yyaccept = 1;+    yych = *(marker = ++p);+    if (yych <= '(') {+      if (yych <= ' ')+        goto yy967;+      if (yych <= '\'')+        goto yy972;+    } else {+      if (yych <= 0x7F)+        goto yy972;+      if (yych <= 0xC1)+        goto yy967;+      if (yych <= 0xF4)+        goto yy972;+    }+  yy967 : { return 0; }+  yy968:+    yych = *++p;+    goto yy967;+  yy969:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 16) {+      goto yy969;+    }+    if (yych <= 0xE0) {+      if (yych <= ')') {+        if (yych <= ' ')+          goto yy958;+        if (yych >= ')')+          goto yy997;+      } else {+        if (yych <= 0x7F)+          goto yy971;+        if (yych <= 0xC1)+          goto yy958;+        if (yych <= 0xDF)+          goto yy973;+        goto yy974;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy979;+        goto yy975;+      } else {+        if (yych <= 0xF0)+          goto yy976;+        if (yych <= 0xF3)+          goto yy977;+        if (yych <= 0xF4)+          goto yy978;+        goto yy958;+      }+    }+  yy971:+    ++p;+    yych = *p;+  yy972:+    if (yybm[0 + yych] & 32) {+      goto yy971;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= '(')+          goto yy958;+        if (yych <= ')')+          goto yy980;+        goto yy969;+      } else {+        if (yych <= 0xC1)+          goto yy958;+        if (yych >= 0xE0)+          goto yy974;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy979;+        goto yy975;+      } else {+        if (yych <= 0xF0)+          goto yy976;+        if (yych <= 0xF3)+          goto yy977;+        if (yych <= 0xF4)+          goto yy978;+        goto yy958;+      }+    }+  yy973:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy971;+    goto yy958;+  yy974:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy973;+    goto yy958;+  yy975:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy973;+    goto yy958;+  yy976:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy975;+    goto yy958;+  yy977:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy975;+    goto yy958;+  yy978:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy975;+    goto yy958;+  yy979:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy973;+    goto yy958;+  yy980:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+  yy981:+    if (yych <= 0xC1) {+      if (yych <= ')') {+        if (yych <= ' ')+          goto yy951;+        if (yych <= '\'')+          goto yy980;+        if (yych <= '(')+          goto yy971;+        goto yy951;+      } else {+        if (yych == '\\')+          goto yy982;+        if (yych <= 0x7F)+          goto yy980;+        goto yy951;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy983;+        if (yych <= 0xE0)+          goto yy984;+        if (yych <= 0xEC)+          goto yy985;+        goto yy989;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy985;+          goto yy986;+        } else {+          if (yych <= 0xF3)+            goto yy987;+          if (yych <= 0xF4)+            goto yy988;+          goto yy951;+        }+      }+    }+  yy982:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+    if (yych <= 0xDF) {+      if (yych <= 0x1F) {+        if (yych <= 0x08)+          goto yy980;+        if (yych <= '\r')+          goto yy951;+        goto yy980;+      } else {+        if (yych <= ' ')+          goto yy951;+        if (yych <= 0x7F)+          goto yy980;+        if (yych <= 0xC1)+          goto yy951;+        goto yy990;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy991;+        if (yych == 0xED)+          goto yy996;+        goto yy992;+      } else {+        if (yych <= 0xF0)+          goto yy993;+        if (yych <= 0xF3)+          goto yy994;+        if (yych <= 0xF4)+          goto yy995;+        goto yy951;+      }+    }+  yy983:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy980;+    goto yy958;+  yy984:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy983;+    goto yy958;+  yy985:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy983;+    goto yy958;+  yy986:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy985;+    goto yy958;+  yy987:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy985;+    goto yy958;+  yy988:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy985;+    goto yy958;+  yy989:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy983;+    goto yy958;+  yy990:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy980;+    goto yy958;+  yy991:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy990;+    goto yy958;+  yy992:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy990;+    goto yy958;+  yy993:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy992;+    goto yy958;+  yy994:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy992;+    goto yy958;+  yy995:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy992;+    goto yy958;+  yy996:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy990;+    goto yy958;+  yy997:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+  yy998:+    if (yych <= 0xC1) {+      if (yych <= ')') {+        if (yych <= ' ')+          goto yy951;+        if (yych <= '\'')+          goto yy997;+        if (yych <= '(')+          goto yy971;+        goto yy980;+      } else {+        if (yych == '\\')+          goto yy999;+        if (yych <= 0x7F)+          goto yy997;+        goto yy951;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy1000;+        if (yych <= 0xE0)+          goto yy1001;+        if (yych <= 0xEC)+          goto yy1002;+        goto yy1006;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy1002;+          goto yy1003;+        } else {+          if (yych <= 0xF3)+            goto yy1004;+          if (yych <= 0xF4)+            goto yy1005;+          goto yy951;+        }+      }+    }+  yy999:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+    if (yych <= 0xC1) {+      if (yych <= ' ') {+        if (yych <= 0x08)+          goto yy980;+        if (yych <= '\r')+          goto yy951;+        if (yych <= 0x1F)+          goto yy980;+        goto yy951;+      } else {+        if (yych == '\\')+          goto yy1007;+        if (yych <= 0x7F)+          goto yy997;+        goto yy951;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy1008;+        if (yych <= 0xE0)+          goto yy1009;+        if (yych <= 0xEC)+          goto yy1010;+        goto yy1014;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy1010;+          goto yy1011;+        } else {+          if (yych <= 0xF3)+            goto yy1012;+          if (yych <= 0xF4)+            goto yy1013;+          goto yy951;+        }+      }+    }+  yy1000:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy997;+    goto yy958;+  yy1001:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1000;+    goto yy958;+  yy1002:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1000;+    goto yy958;+  yy1003:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1002;+    goto yy958;+  yy1004:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1002;+    goto yy958;+  yy1005:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy1002;+    goto yy958;+  yy1006:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy1000;+    goto yy958;+  yy1007:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+    if (yych <= 0xDF) {+      if (yych <= '[') {+        if (yych <= ' ')+          goto yy951;+        if (yych == '(')+          goto yy971;+        goto yy997;+      } else {+        if (yych <= '\\')+          goto yy999;+        if (yych <= 0x7F)+          goto yy997;+        if (yych <= 0xC1)+          goto yy951;+        goto yy1000;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy1001;+        if (yych == 0xED)+          goto yy1006;+        goto yy1002;+      } else {+        if (yych <= 0xF0)+          goto yy1003;+        if (yych <= 0xF3)+          goto yy1004;+        if (yych <= 0xF4)+          goto yy1005;+        goto yy951;+      }+    }+  yy1008:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy997;+    goto yy958;+  yy1009:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1008;+    goto yy958;+  yy1010:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1008;+    goto yy958;+  yy1011:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1010;+    goto yy958;+  yy1012:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1010;+    goto yy958;+  yy1013:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy1010;+    goto yy958;+  yy1014:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy1008;+    goto yy958;+  yy1015:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+    if (yych <= '\\') {+      if (yych <= '\r') {+        if (yych <= 0x08) {+          if (yych <= 0x00)+            goto yy980;+        } else {+          if (yych <= '\n')+            goto yy951;+          if (yych <= '\f')+            goto yy1029;+          goto yy951;+        }+      } else {+        if (yych <= '=') {+          if (yych == ' ')+            goto yy951;+        } else {+          if (yych <= '>')+            goto yy1073;+          if (yych >= '\\')+            goto yy1074;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych >= 0x80)+            goto yy951;+        } else {+          if (yych <= 0xDF)+            goto yy1075;+          if (yych <= 0xE0)+            goto yy1076;+          goto yy1077;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy1081;+          if (yych <= 0xEF)+            goto yy1077;+          goto yy1078;+        } else {+          if (yych <= 0xF3)+            goto yy1079;+          if (yych <= 0xF4)+            goto yy1080;+          goto yy951;+        }+      }+    }+  yy1016:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy1016;+    }+    if (yych <= '>') {+      if (yych <= '\r') {+        if (yych <= 0x08) {+          if (yych <= 0x00)+            goto yy951;+          goto yy1029;+        } else {+          if (yych <= '\n')+            goto yy951;+          if (yych <= '\f')+            goto yy1029;+          goto yy951;+        }+      } else {+        if (yych <= '(') {+          if (yych <= 0x1F)+            goto yy1029;+          if (yych <= ' ')+            goto yy951;+          goto yy1027;+        } else {+          if (yych <= ')')+            goto yy1029;+          if (yych <= '<')+            goto yy980;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= '\\')+            goto yy1015;+          goto yy951;+        } else {+          if (yych <= 0xDF)+            goto yy1020;+          if (yych <= 0xE0)+            goto yy1021;+          goto yy1022;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy1026;+          if (yych <= 0xEF)+            goto yy1022;+          goto yy1023;+        } else {+          if (yych <= 0xF3)+            goto yy1024;+          if (yych <= 0xF4)+            goto yy1025;+          goto yy951;+        }+      }+    }+  yy1018:+    yyaccept = 2;+    yych = *(marker = ++p);+    if (yych <= ')') {+      if (yych <= ' ')+        goto yy1019;+      if (yych <= '(')+        goto yy981;+    } else {+      if (yych <= 0x7F)+        goto yy981;+      if (yych <= 0xC1)+        goto yy1019;+      if (yych <= 0xF4)+        goto yy981;+    }+  yy1019 : { return (bufsize_t)(p - start); }+  yy1020:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1016;+    goto yy958;+  yy1021:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1020;+    goto yy958;+  yy1022:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1020;+    goto yy958;+  yy1023:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1022;+    goto yy958;+  yy1024:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1022;+    goto yy958;+  yy1025:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy1022;+    goto yy958;+  yy1026:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy1020;+    goto yy958;+  yy1027:+    ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= 0x1F) {+        if (yych <= '\n') {+          if (yych <= 0x00)+            goto yy958;+          if (yych >= '\t')+            goto yy958;+        } else {+          if (yych == '\r')+            goto yy958;+        }+      } else {+        if (yych <= '(') {+          if (yych <= ' ')+            goto yy958;+          if (yych <= '\'')+            goto yy1027;+        } else {+          if (yych <= ')')+            goto yy1016;+          if (yych == '<')+            goto yy971;+          goto yy1027;+        }+      }+    } else {+      if (yych <= 0xE0) {+        if (yych <= '\\') {+          if (yych <= '>')+            goto yy1042;+          if (yych <= '[')+            goto yy1027;+          goto yy1043;+        } else {+          if (yych <= 0x7F)+            goto yy1027;+          if (yych <= 0xC1)+            goto yy958;+          if (yych <= 0xDF)+            goto yy1045;+          goto yy1046;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych == 0xED)+            goto yy1051;+          goto yy1047;+        } else {+          if (yych <= 0xF0)+            goto yy1048;+          if (yych <= 0xF3)+            goto yy1049;+          if (yych <= 0xF4)+            goto yy1050;+          goto yy958;+        }+      }+    }+  yy1029:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy1029;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= '<')+          goto yy958;+        if (yych >= '?')+          goto yy1032;+      } else {+        if (yych <= 0xC1)+          goto yy958;+        if (yych <= 0xDF)+          goto yy1034;+        goto yy1035;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1040;+        goto yy1036;+      } else {+        if (yych <= 0xF0)+          goto yy1037;+        if (yych <= 0xF3)+          goto yy1038;+        if (yych <= 0xF4)+          goto yy1039;+        goto yy958;+      }+    }+  yy1031:+    yych = *++p;+    goto yy1019;+  yy1032:+    ++p;+    yych = *p;+    if (yych <= '\\') {+      if (yych <= '\r') {+        if (yych <= 0x08) {+          if (yych <= 0x00)+            goto yy958;+          goto yy1029;+        } else {+          if (yych <= '\n')+            goto yy958;+          if (yych <= '\f')+            goto yy1029;+          goto yy958;+        }+      } else {+        if (yych <= '=') {+          if (yych == ' ')+            goto yy958;+          goto yy1029;+        } else {+          if (yych <= '>')+            goto yy1041;+          if (yych <= '[')+            goto yy1029;+          goto yy1032;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= 0x7F)+            goto yy1029;+          goto yy958;+        } else {+          if (yych <= 0xDF)+            goto yy1034;+          if (yych <= 0xE0)+            goto yy1035;+          goto yy1036;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy1040;+          if (yych <= 0xEF)+            goto yy1036;+          goto yy1037;+        } else {+          if (yych <= 0xF3)+            goto yy1038;+          if (yych <= 0xF4)+            goto yy1039;+          goto yy958;+        }+      }+    }+  yy1034:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1029;+    goto yy958;+  yy1035:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1034;+    goto yy958;+  yy1036:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1034;+    goto yy958;+  yy1037:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1036;+    goto yy958;+  yy1038:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1036;+    goto yy958;+  yy1039:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy1036;+    goto yy958;+  yy1040:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy1034;+    goto yy958;+  yy1041:+    yyaccept = 2;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy1029;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= '<')+          goto yy1019;+        if (yych <= '>')+          goto yy1031;+        goto yy1032;+      } else {+        if (yych <= 0xC1)+          goto yy1019;+        if (yych <= 0xDF)+          goto yy1034;+        goto yy1035;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1040;+        goto yy1036;+      } else {+        if (yych <= 0xF0)+          goto yy1037;+        if (yych <= 0xF3)+          goto yy1038;+        if (yych <= 0xF4)+          goto yy1039;+        goto yy1019;+      }+    }+  yy1042:+    yyaccept = 2;+    yych = *(marker = ++p);+    if (yych <= '(') {+      if (yych <= ' ')+        goto yy1019;+      if (yych <= '\'')+        goto yy972;+      goto yy1019;+    } else {+      if (yych <= 0x7F)+        goto yy972;+      if (yych <= 0xC1)+        goto yy1019;+      if (yych <= 0xF4)+        goto yy972;+      goto yy1019;+    }+  yy1043:+    ++p;+    yych = *p;+    if (yych <= '[') {+      if (yych <= 0x1F) {+        if (yych <= '\n') {+          if (yych <= 0x00)+            goto yy958;+          if (yych <= 0x08)+            goto yy1029;+          goto yy958;+        } else {+          if (yych == '\r')+            goto yy958;+          goto yy1029;+        }+      } else {+        if (yych <= ')') {+          if (yych <= ' ')+            goto yy958;+          if (yych <= '(')+            goto yy1027;+          goto yy1052;+        } else {+          if (yych == '>')+            goto yy1054;+          goto yy1027;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= '\\')+            goto yy1043;+          if (yych <= 0x7F)+            goto yy1027;+          goto yy958;+        } else {+          if (yych <= 0xDF)+            goto yy1045;+          if (yych <= 0xE0)+            goto yy1046;+          goto yy1047;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy1051;+          if (yych <= 0xEF)+            goto yy1047;+          goto yy1048;+        } else {+          if (yych <= 0xF3)+            goto yy1049;+          if (yych <= 0xF4)+            goto yy1050;+          goto yy958;+        }+      }+    }+  yy1045:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1027;+    goto yy958;+  yy1046:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1045;+    goto yy958;+  yy1047:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1045;+    goto yy958;+  yy1048:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1047;+    goto yy958;+  yy1049:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1047;+    goto yy958;+  yy1050:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy1047;+    goto yy958;+  yy1051:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy1045;+    goto yy958;+  yy1052:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= 0x1F) {+        if (yych <= '\n') {+          if (yych <= 0x00)+            goto yy951;+          if (yych <= 0x08)+            goto yy1029;+          goto yy951;+        } else {+          if (yych == '\r')+            goto yy951;+          goto yy1029;+        }+      } else {+        if (yych <= '(') {+          if (yych <= ' ')+            goto yy951;+          if (yych <= '\'')+            goto yy1052;+          goto yy1027;+        } else {+          if (yych <= ')')+            goto yy1016;+          if (yych == '<')+            goto yy997;+          goto yy1052;+        }+      }+    } else {+      if (yych <= 0xE0) {+        if (yych <= '\\') {+          if (yych <= '>')+            goto yy1055;+          if (yych <= '[')+            goto yy1052;+          goto yy1056;+        } else {+          if (yych <= 0x7F)+            goto yy1052;+          if (yych <= 0xC1)+            goto yy951;+          if (yych <= 0xDF)+            goto yy1057;+          goto yy1058;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych == 0xED)+            goto yy1063;+          goto yy1059;+        } else {+          if (yych <= 0xF0)+            goto yy1060;+          if (yych <= 0xF3)+            goto yy1061;+          if (yych <= 0xF4)+            goto yy1062;+          goto yy951;+        }+      }+    }+  yy1054:+    yyaccept = 2;+    marker = ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= 0x1F) {+        if (yych <= '\n') {+          if (yych <= 0x00)+            goto yy1019;+          if (yych <= 0x08)+            goto yy1029;+          goto yy1019;+        } else {+          if (yych == '\r')+            goto yy1019;+          goto yy1029;+        }+      } else {+        if (yych <= '(') {+          if (yych <= ' ')+            goto yy1019;+          if (yych <= '\'')+            goto yy1027;+          goto yy1029;+        } else {+          if (yych <= ')')+            goto yy1016;+          if (yych == '<')+            goto yy971;+          goto yy1027;+        }+      }+    } else {+      if (yych <= 0xE0) {+        if (yych <= '\\') {+          if (yych <= '>')+            goto yy1042;+          if (yych <= '[')+            goto yy1027;+          goto yy1043;+        } else {+          if (yych <= 0x7F)+            goto yy1027;+          if (yych <= 0xC1)+            goto yy1019;+          if (yych <= 0xDF)+            goto yy1045;+          goto yy1046;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych == 0xED)+            goto yy1051;+          goto yy1047;+        } else {+          if (yych <= 0xF0)+            goto yy1048;+          if (yych <= 0xF3)+            goto yy1049;+          if (yych <= 0xF4)+            goto yy1050;+          goto yy1019;+        }+      }+    }+  yy1055:+    yyaccept = 2;+    yych = *(marker = ++p);+    if (yych <= ' ')+      goto yy1019;+    if (yych <= 0x7F)+      goto yy998;+    if (yych <= 0xC1)+      goto yy1019;+    if (yych <= 0xF4)+      goto yy998;+    goto yy1019;+  yy1056:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+    if (yych <= '\\') {+      if (yych <= '\r') {+        if (yych <= 0x08) {+          if (yych <= 0x00)+            goto yy980;+          goto yy1016;+        } else {+          if (yych <= '\n')+            goto yy951;+          if (yych <= '\f')+            goto yy1029;+          goto yy951;+        }+      } else {+        if (yych <= '=') {+          if (yych <= 0x1F)+            goto yy1016;+          if (yych <= ' ')+            goto yy951;+          goto yy1052;+        } else {+          if (yych <= '>')+            goto yy1064;+          if (yych <= '[')+            goto yy1052;+          goto yy1065;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= 0x7F)+            goto yy1052;+          goto yy951;+        } else {+          if (yych <= 0xDF)+            goto yy1066;+          if (yych <= 0xE0)+            goto yy1067;+          goto yy1068;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy1072;+          if (yych <= 0xEF)+            goto yy1068;+          goto yy1069;+        } else {+          if (yych <= 0xF3)+            goto yy1070;+          if (yych <= 0xF4)+            goto yy1071;+          goto yy951;+        }+      }+    }+  yy1057:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1052;+    goto yy958;+  yy1058:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1057;+    goto yy958;+  yy1059:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1057;+    goto yy958;+  yy1060:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1059;+    goto yy958;+  yy1061:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1059;+    goto yy958;+  yy1062:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy1059;+    goto yy958;+  yy1063:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy1057;+    goto yy958;+  yy1064:+    yyaccept = 2;+    marker = ++p;+    yych = *p;+    if (yych <= '=') {+      if (yych <= 0x1F) {+        if (yych <= '\n') {+          if (yych <= 0x00)+            goto yy1019;+          if (yych <= 0x08)+            goto yy1029;+          goto yy1019;+        } else {+          if (yych == '\r')+            goto yy1019;+          goto yy1029;+        }+      } else {+        if (yych <= '(') {+          if (yych <= ' ')+            goto yy1019;+          if (yych <= '\'')+            goto yy1052;+          goto yy1027;+        } else {+          if (yych <= ')')+            goto yy1016;+          if (yych == '<')+            goto yy997;+          goto yy1052;+        }+      }+    } else {+      if (yych <= 0xE0) {+        if (yych <= '\\') {+          if (yych <= '>')+            goto yy1055;+          if (yych <= '[')+            goto yy1052;+          goto yy1056;+        } else {+          if (yych <= 0x7F)+            goto yy1052;+          if (yych <= 0xC1)+            goto yy1019;+          if (yych <= 0xDF)+            goto yy1057;+          goto yy1058;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych == 0xED)+            goto yy1063;+          goto yy1059;+        } else {+          if (yych <= 0xF0)+            goto yy1060;+          if (yych <= 0xF3)+            goto yy1061;+          if (yych <= 0xF4)+            goto yy1062;+          goto yy1019;+        }+      }+    }+  yy1065:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+    if (yych <= '[') {+      if (yych <= 0x1F) {+        if (yych <= '\n') {+          if (yych <= 0x00)+            goto yy951;+          if (yych <= 0x08)+            goto yy1029;+          goto yy951;+        } else {+          if (yych == '\r')+            goto yy951;+          goto yy1029;+        }+      } else {+        if (yych <= '(') {+          if (yych <= ' ')+            goto yy951;+          if (yych <= '\'')+            goto yy1052;+          goto yy1027;+        } else {+          if (yych == '>')+            goto yy1064;+          goto yy1052;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= '\\')+            goto yy1056;+          if (yych <= 0x7F)+            goto yy1052;+          goto yy951;+        } else {+          if (yych <= 0xDF)+            goto yy1057;+          if (yych <= 0xE0)+            goto yy1058;+          goto yy1059;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy1063;+          if (yych <= 0xEF)+            goto yy1059;+          goto yy1060;+        } else {+          if (yych <= 0xF3)+            goto yy1061;+          if (yych <= 0xF4)+            goto yy1062;+          goto yy951;+        }+      }+    }+  yy1066:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1052;+    goto yy958;+  yy1067:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1066;+    goto yy958;+  yy1068:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1066;+    goto yy958;+  yy1069:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1068;+    goto yy958;+  yy1070:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1068;+    goto yy958;+  yy1071:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy1068;+    goto yy958;+  yy1072:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy1066;+    goto yy958;+  yy1073:+    yyaccept = 2;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy1016;+    }+    if (yych <= '>') {+      if (yych <= '\r') {+        if (yych <= 0x08) {+          if (yych <= 0x00)+            goto yy1019;+          goto yy1029;+        } else {+          if (yych <= '\n')+            goto yy1019;+          if (yych <= '\f')+            goto yy1029;+          goto yy1019;+        }+      } else {+        if (yych <= '(') {+          if (yych <= 0x1F)+            goto yy1029;+          if (yych <= ' ')+            goto yy1019;+          goto yy1027;+        } else {+          if (yych <= ')')+            goto yy1029;+          if (yych <= '<')+            goto yy980;+          goto yy1018;+        }+      }+    } else {+      if (yych <= 0xEC) {+        if (yych <= 0xC1) {+          if (yych <= '\\')+            goto yy1015;+          goto yy1019;+        } else {+          if (yych <= 0xDF)+            goto yy1020;+          if (yych <= 0xE0)+            goto yy1021;+          goto yy1022;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xED)+            goto yy1026;+          if (yych <= 0xEF)+            goto yy1022;+          goto yy1023;+        } else {+          if (yych <= 0xF3)+            goto yy1024;+          if (yych <= 0xF4)+            goto yy1025;+          goto yy1019;+        }+      }+    }+  yy1074:+    yyaccept = 0;+    marker = ++p;+    yych = *p;+    if (yych <= '>') {+      if (yych <= 0x1F) {+        if (yych <= '\n') {+          if (yych <= 0x00)+            goto yy951;+          if (yych <= 0x08)+            goto yy1029;+          goto yy951;+        } else {+          if (yych == '\r')+            goto yy951;+          goto yy1029;+        }+      } else {+        if (yych <= '(') {+          if (yych <= ' ')+            goto yy951;+          if (yych <= '\'')+            goto yy1016;+          goto yy1027;+        } else {+          if (yych <= ')')+            goto yy1029;+          if (yych <= '=')+            goto yy1016;+          goto yy1073;+        }+      }+    } else {+      if (yych <= 0xE0) {+        if (yych <= 0x7F) {+          if (yych == '\\')+            goto yy1015;+          goto yy1016;+        } else {+          if (yych <= 0xC1)+            goto yy951;+          if (yych <= 0xDF)+            goto yy1020;+          goto yy1021;+        }+      } else {+        if (yych <= 0xEF) {+          if (yych == 0xED)+            goto yy1026;+          goto yy1022;+        } else {+          if (yych <= 0xF0)+            goto yy1023;+          if (yych <= 0xF3)+            goto yy1024;+          if (yych <= 0xF4)+            goto yy1025;+          goto yy951;+        }+      }+    }+  yy1075:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1016;+    goto yy958;+  yy1076:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1075;+    goto yy958;+  yy1077:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1075;+    goto yy958;+  yy1078:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1077;+    goto yy958;+  yy1079:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0xBF)+      goto yy1077;+    goto yy958;+  yy1080:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x8F)+      goto yy1077;+    goto yy958;+  yy1081:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy958;+    if (yych <= 0x9F)+      goto yy1075;+    goto yy958;+  }+}++// 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) {+  const unsigned char *marker = NULL;+  const unsigned char *start = p;++  {+    unsigned char yych;+    unsigned int yyaccept = 0;+    static const unsigned char yybm[] = {+        0,   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, 224,+        224, 224, 224, 224, 224, 224, 96,  224, 224, 224, 224, 160, 224, 192,+        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, 224, 224,+        224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,+        224, 224, 224, 224, 224, 224, 224, 224, 16,  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, 224, 224, 224, 224, 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 = *(marker = p);+    if (yych <= 0xC1) {+      if (yych <= '"') {+        if (yych == '\n')+          goto yy1084;+        if (yych <= '!')+          goto yy1088;+        goto yy1085;+      } else {+        if (yych <= '\'') {+          if (yych <= '&')+            goto yy1088;+          goto yy1086;+        } else {+          if (yych <= '(')+            goto yy1087;+          if (yych <= 0x7F)+            goto yy1088;+        }+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy1089;+        if (yych <= 0xE0)+          goto yy1091;+        if (yych <= 0xEC)+          goto yy1092;+        goto yy1096;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy1092;+          goto yy1093;+        } else {+          if (yych <= 0xF3)+            goto yy1094;+          if (yych <= 0xF4)+            goto yy1095;+        }+      }+    }+  yy1084 : { return 0; }+  yy1085:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= 0x00)+      goto yy1084;+    if (yych <= 0x7F)+      goto yy1128;+    if (yych <= 0xC1)+      goto yy1084;+    if (yych <= 0xF4)+      goto yy1128;+    goto yy1084;+  yy1086:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= 0x00)+      goto yy1084;+    if (yych <= 0x7F)+      goto yy1114;+    if (yych <= 0xC1)+      goto yy1084;+    if (yych <= 0xF4)+      goto yy1114;+    goto yy1084;+  yy1087:+    yyaccept = 0;+    yych = *(marker = ++p);+    if (yych <= 0x00)+      goto yy1084;+    if (yych <= 0x7F)+      goto yy1100;+    if (yych <= 0xC1)+      goto yy1084;+    if (yych <= 0xF4)+      goto yy1100;+    goto yy1084;+  yy1088:+    yych = *++p;+    goto yy1084;+  yy1089:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1088;+  yy1090:+    p = marker;+    if (yyaccept <= 1) {+      if (yyaccept == 0) {+        goto yy1084;+      } else {+        goto yy1109;+      }+    } else {+      if (yyaccept == 2) {+        goto yy1123;+      } else {+        goto yy1137;+      }+    }+  yy1091:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1089;+    goto yy1090;+  yy1092:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1089;+    goto yy1090;+  yy1093:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1092;+    goto yy1090;+  yy1094:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1092;+    goto yy1090;+  yy1095:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0x8F)+      goto yy1092;+    goto yy1090;+  yy1096:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0x9F)+      goto yy1089;+    goto yy1090;+  yy1097:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy1099;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= 0x00)+          goto yy1090;+        if (yych <= ')')+          goto yy1110;+        goto yy1097;+      } else {+        if (yych <= 0xC1)+          goto yy1090;+        if (yych <= 0xDF)+          goto yy1101;+        goto yy1102;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1107;+        goto yy1103;+      } else {+        if (yych <= 0xF0)+          goto yy1104;+        if (yych <= 0xF3)+          goto yy1105;+        if (yych <= 0xF4)+          goto yy1106;+        goto yy1090;+      }+    }+  yy1099:+    ++p;+    yych = *p;+  yy1100:+    if (yybm[0 + yych] & 32) {+      goto yy1099;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= 0x00)+          goto yy1090;+        if (yych <= ')')+          goto yy1108;+        goto yy1097;+      } else {+        if (yych <= 0xC1)+          goto yy1090;+        if (yych >= 0xE0)+          goto yy1102;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1107;+        goto yy1103;+      } else {+        if (yych <= 0xF0)+          goto yy1104;+        if (yych <= 0xF3)+          goto yy1105;+        if (yych <= 0xF4)+          goto yy1106;+        goto yy1090;+      }+    }+  yy1101:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1099;+    goto yy1090;+  yy1102:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1101;+    goto yy1090;+  yy1103:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1101;+    goto yy1090;+  yy1104:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1103;+    goto yy1090;+  yy1105:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1103;+    goto yy1090;+  yy1106:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0x8F)+      goto yy1103;+    goto yy1090;+  yy1107:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0x9F)+      goto yy1101;+    goto yy1090;+  yy1108:+    ++p;+  yy1109 : { return (bufsize_t)(p - start); }+  yy1110:+    yyaccept = 1;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy1099;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= 0x00)+          goto yy1109;+        if (yych <= ')')+          goto yy1108;+        goto yy1097;+      } else {+        if (yych <= 0xC1)+          goto yy1109;+        if (yych <= 0xDF)+          goto yy1101;+        goto yy1102;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1107;+        goto yy1103;+      } else {+        if (yych <= 0xF0)+          goto yy1104;+        if (yych <= 0xF3)+          goto yy1105;+        if (yych <= 0xF4)+          goto yy1106;+        goto yy1109;+      }+    }+  yy1111:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy1113;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= 0x00)+          goto yy1090;+        if (yych <= '\'')+          goto yy1124;+        goto yy1111;+      } else {+        if (yych <= 0xC1)+          goto yy1090;+        if (yych <= 0xDF)+          goto yy1115;+        goto yy1116;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1121;+        goto yy1117;+      } else {+        if (yych <= 0xF0)+          goto yy1118;+        if (yych <= 0xF3)+          goto yy1119;+        if (yych <= 0xF4)+          goto yy1120;+        goto yy1090;+      }+    }+  yy1113:+    ++p;+    yych = *p;+  yy1114:+    if (yybm[0 + yych] & 64) {+      goto yy1113;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= 0x00)+          goto yy1090;+        if (yych <= '\'')+          goto yy1122;+        goto yy1111;+      } else {+        if (yych <= 0xC1)+          goto yy1090;+        if (yych >= 0xE0)+          goto yy1116;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1121;+        goto yy1117;+      } else {+        if (yych <= 0xF0)+          goto yy1118;+        if (yych <= 0xF3)+          goto yy1119;+        if (yych <= 0xF4)+          goto yy1120;+        goto yy1090;+      }+    }+  yy1115:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1113;+    goto yy1090;+  yy1116:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1115;+    goto yy1090;+  yy1117:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1115;+    goto yy1090;+  yy1118:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1117;+    goto yy1090;+  yy1119:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1117;+    goto yy1090;+  yy1120:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0x8F)+      goto yy1117;+    goto yy1090;+  yy1121:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0x9F)+      goto yy1115;+    goto yy1090;+  yy1122:+    ++p;+  yy1123 : { return (bufsize_t)(p - start); }+  yy1124:+    yyaccept = 2;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy1113;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= 0x00)+          goto yy1123;+        if (yych <= '\'')+          goto yy1122;+        goto yy1111;+      } else {+        if (yych <= 0xC1)+          goto yy1123;+        if (yych <= 0xDF)+          goto yy1115;+        goto yy1116;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1121;+        goto yy1117;+      } else {+        if (yych <= 0xF0)+          goto yy1118;+        if (yych <= 0xF3)+          goto yy1119;+        if (yych <= 0xF4)+          goto yy1120;+        goto yy1123;+      }+    }+  yy1125:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy1127;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= 0x00)+          goto yy1090;+        if (yych <= '"')+          goto yy1138;+        goto yy1125;+      } else {+        if (yych <= 0xC1)+          goto yy1090;+        if (yych <= 0xDF)+          goto yy1129;+        goto yy1130;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1135;+        goto yy1131;+      } else {+        if (yych <= 0xF0)+          goto yy1132;+        if (yych <= 0xF3)+          goto yy1133;+        if (yych <= 0xF4)+          goto yy1134;+        goto yy1090;+      }+    }+  yy1127:+    ++p;+    yych = *p;+  yy1128:+    if (yybm[0 + yych] & 128) {+      goto yy1127;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= 0x00)+          goto yy1090;+        if (yych <= '"')+          goto yy1136;+        goto yy1125;+      } else {+        if (yych <= 0xC1)+          goto yy1090;+        if (yych >= 0xE0)+          goto yy1130;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1135;+        goto yy1131;+      } else {+        if (yych <= 0xF0)+          goto yy1132;+        if (yych <= 0xF3)+          goto yy1133;+        if (yych <= 0xF4)+          goto yy1134;+        goto yy1090;+      }+    }+  yy1129:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1127;+    goto yy1090;+  yy1130:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1129;+    goto yy1090;+  yy1131:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1129;+    goto yy1090;+  yy1132:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1131;+    goto yy1090;+  yy1133:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0xBF)+      goto yy1131;+    goto yy1090;+  yy1134:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0x8F)+      goto yy1131;+    goto yy1090;+  yy1135:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1090;+    if (yych <= 0x9F)+      goto yy1129;+    goto yy1090;+  yy1136:+    ++p;+  yy1137 : { return (bufsize_t)(p - start); }+  yy1138:+    yyaccept = 3;+    marker = ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy1127;+    }+    if (yych <= 0xE0) {+      if (yych <= '\\') {+        if (yych <= 0x00)+          goto yy1137;+        if (yych <= '"')+          goto yy1136;+        goto yy1125;+      } else {+        if (yych <= 0xC1)+          goto yy1137;+        if (yych <= 0xDF)+          goto yy1129;+        goto yy1130;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1135;+        goto yy1131;+      } else {+        if (yych <= 0xF0)+          goto yy1132;+        if (yych <= 0xF3)+          goto yy1133;+        if (yych <= 0xF4)+          goto yy1134;+        goto yy1137;+      }+    }+  }+}++// Match space characters, including newlines.+bufsize_t _scan_spacechars(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, 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 = *(marker = p);+    if (yych <= 0xC1) {+      if (yych <= '\r') {+        if (yych <= 0x08)+          goto yy1145;+        if (yych == '\n')+          goto yy1143;+        goto yy1142;+      } else {+        if (yych == ' ')+          goto yy1142;+        if (yych <= 0x7F)+          goto yy1145;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy1147;+        if (yych <= 0xE0)+          goto yy1149;+        if (yych <= 0xEC)+          goto yy1150;+        goto yy1154;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy1150;+          goto yy1151;+        } else {+          if (yych <= 0xF3)+            goto yy1152;+          if (yych <= 0xF4)+            goto yy1153;+        }+      }+    }+  yy1141 : { return (bufsize_t)(p - start); }+  yy1142:+    yych = *++p;+    goto yy1144;+  yy1143:+    ++p;+    yych = *p;+  yy1144:+    if (yybm[0 + yych] & 128) {+      goto yy1143;+    }+    goto yy1141;+  yy1145:+    ++p;+    { return 0; }+  yy1147:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1148;+    if (yych <= 0xBF)+      goto yy1145;+  yy1148:+    p = marker;+    goto yy1141;+  yy1149:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy1148;+    if (yych <= 0xBF)+      goto yy1147;+    goto yy1148;+  yy1150:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1148;+    if (yych <= 0xBF)+      goto yy1147;+    goto yy1148;+  yy1151:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy1148;+    if (yych <= 0xBF)+      goto yy1150;+    goto yy1148;+  yy1152:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1148;+    if (yych <= 0xBF)+      goto yy1150;+    goto yy1148;+  yy1153:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1148;+    if (yych <= 0x8F)+      goto yy1150;+    goto yy1148;+  yy1154:+    ++p;+    if ((yych = *p) <= 0x7F)+      goto yy1148;+    if (yych <= 0x9F)+      goto yy1147;+    goto yy1148;+  }+}++// Match ATX heading start.+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 = *(marker = p);+    if (yych <= 0xDF) {+      if (yych <= '"') {+        if (yych != '\n')+          goto yy1159;+      } else {+        if (yych <= '#')+          goto yy1158;+        if (yych <= 0x7F)+          goto yy1159;+        if (yych >= 0xC2)+          goto yy1160;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych <= 0xE0)+          goto yy1162;+        if (yych == 0xED)+          goto yy1167;+        goto yy1163;+      } else {+        if (yych <= 0xF0)+          goto yy1164;+        if (yych <= 0xF3)+          goto yy1165;+        if (yych <= 0xF4)+          goto yy1166;+      }+    }+  yy1157 : { return 0; }+  yy1158:+    yych = *(marker = ++p);+    if (yybm[0 + yych] & 128) {+      goto yy1170;+    }+    if (yych <= '\f') {+      if (yych <= 0x08)+        goto yy1157;+      if (yych <= '\n')+        goto yy1168;+      goto yy1157;+    } else {+      if (yych <= '\r')+        goto yy1168;+      if (yych == '#')+        goto yy1172;+      goto yy1157;+    }+  yy1159:+    yych = *++p;+    goto yy1157;+  yy1160:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1161;+    if (yych <= 0xBF)+      goto yy1159;+  yy1161:+    p = marker;+    goto yy1157;+  yy1162:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy1161;+    if (yych <= 0xBF)+      goto yy1160;+    goto yy1161;+  yy1163:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1161;+    if (yych <= 0xBF)+      goto yy1160;+    goto yy1161;+  yy1164:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy1161;+    if (yych <= 0xBF)+      goto yy1163;+    goto yy1161;+  yy1165:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1161;+    if (yych <= 0xBF)+      goto yy1163;+    goto yy1161;+  yy1166:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1161;+    if (yych <= 0x8F)+      goto yy1163;+    goto yy1161;+  yy1167:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1161;+    if (yych <= 0x9F)+      goto yy1160;+    goto yy1161;+  yy1168:+    ++p;+  yy1169 : { return (bufsize_t)(p - start); }+  yy1170:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy1170;+    }+    goto yy1169;+  yy1172:+    yych = *++p;+    if (yybm[0 + yych] & 128) {+      goto yy1170;+    }+    if (yych <= '\f') {+      if (yych <= 0x08)+        goto yy1161;+      if (yych <= '\n')+        goto yy1168;+      goto yy1161;+    } else {+      if (yych <= '\r')+        goto yy1168;+      if (yych != '#')+        goto yy1161;+    }+    yych = *++p;+    if (yybm[0 + yych] & 128) {+      goto yy1170;+    }+    if (yych <= '\f') {+      if (yych <= 0x08)+        goto yy1161;+      if (yych <= '\n')+        goto yy1168;+      goto yy1161;+    } else {+      if (yych <= '\r')+        goto yy1168;+      if (yych != '#')+        goto yy1161;+    }+    yych = *++p;+    if (yybm[0 + yych] & 128) {+      goto yy1170;+    }+    if (yych <= '\f') {+      if (yych <= 0x08)+        goto yy1161;+      if (yych <= '\n')+        goto yy1168;+      goto yy1161;+    } else {+      if (yych <= '\r')+        goto yy1168;+      if (yych != '#')+        goto yy1161;+    }+    yych = *++p;+    if (yybm[0 + yych] & 128) {+      goto yy1170;+    }+    if (yych <= '\f') {+      if (yych <= 0x08)+        goto yy1161;+      if (yych <= '\n')+        goto yy1168;+      goto yy1161;+    } else {+      if (yych <= '\r')+        goto yy1168;+      if (yych != '#')+        goto yy1161;+    }+    ++p;+    if (yybm[0 + (yych = *p)] & 128) {+      goto yy1170;+    }+    if (yych <= 0x08)+      goto yy1161;+    if (yych <= '\n')+      goto yy1168;+    if (yych == '\r')+      goto yy1168;+    goto yy1161;+  }+}++// 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) {+  const unsigned char *marker = NULL;++  {+    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, 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 = *(marker = p);+    if (yych <= 0xC1) {+      if (yych <= '-') {+        if (yych == '\n')+          goto yy1179;+        if (yych <= ',')+          goto yy1182;+        goto yy1181;+      } else {+        if (yych == '=')+          goto yy1180;+        if (yych <= 0x7F)+          goto yy1182;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy1183;+        if (yych <= 0xE0)+          goto yy1185;+        if (yych <= 0xEC)+          goto yy1186;+        goto yy1190;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy1186;+          goto yy1187;+        } else {+          if (yych <= 0xF3)+            goto yy1188;+          if (yych <= 0xF4)+            goto yy1189;+        }+      }+    }+  yy1179 : { return 0; }+  yy1180:+    yych = *(marker = ++p);+    if (yybm[0 + yych] & 128) {+      goto yy1201;+    }+    if (yych <= '\f') {+      if (yych == '\n')+        goto yy1199;+      goto yy1179;+    } else {+      if (yych <= '\r')+        goto yy1199;+      if (yych == ' ')+        goto yy1197;+      goto yy1179;+    }+  yy1181:+    yych = *(marker = ++p);+    if (yybm[0 + yych] & 32) {+      goto yy1191;+    }+    if (yych <= '\f') {+      if (yych == '\n')+        goto yy1193;+      goto yy1179;+    } else {+      if (yych <= '\r')+        goto yy1193;+      if (yych == '-')+        goto yy1195;+      goto yy1179;+    }+  yy1182:+    yych = *++p;+    goto yy1179;+  yy1183:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1184;+    if (yych <= 0xBF)+      goto yy1182;+  yy1184:+    p = marker;+    goto yy1179;+  yy1185:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy1184;+    if (yych <= 0xBF)+      goto yy1183;+    goto yy1184;+  yy1186:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1184;+    if (yych <= 0xBF)+      goto yy1183;+    goto yy1184;+  yy1187:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy1184;+    if (yych <= 0xBF)+      goto yy1186;+    goto yy1184;+  yy1188:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1184;+    if (yych <= 0xBF)+      goto yy1186;+    goto yy1184;+  yy1189:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1184;+    if (yych <= 0x8F)+      goto yy1186;+    goto yy1184;+  yy1190:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1184;+    if (yych <= 0x9F)+      goto yy1183;+    goto yy1184;+  yy1191:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy1191;+    }+    if (yych == '\n')+      goto yy1193;+    if (yych != '\r')+      goto yy1184;+  yy1193:+    ++p;+    { return 2; }+  yy1195:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy1191;+    }+    if (yych <= '\f') {+      if (yych == '\n')+        goto yy1193;+      goto yy1184;+    } else {+      if (yych <= '\r')+        goto yy1193;+      if (yych == '-')+        goto yy1195;+      goto yy1184;+    }+  yy1197:+    ++p;+    yych = *p;+    if (yych <= '\f') {+      if (yych != '\n')+        goto yy1184;+    } else {+      if (yych <= '\r')+        goto yy1199;+      if (yych == ' ')+        goto yy1197;+      goto yy1184;+    }+  yy1199:+    ++p;+    { return 1; }+  yy1201:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy1201;+    }+    if (yych <= '\f') {+      if (yych == '\n')+        goto yy1199;+      goto yy1184;+    } else {+      if (yych <= '\r')+        goto yy1199;+      if (yych == ' ')+        goto yy1197;+      goto yy1184;+    }+  }+}++// Scan a thematic break line: "...three or more hyphens, asterisks,+// or underscores on a line by themselves. If you wish, you may use+// spaces between the hyphens or asterisks."+bufsize_t _scan_thematic_break(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, 240, 0, 0, 0,   0, 0, 0,  0, 0, 0, 0,+        0, 0, 0,   0, 0, 0,  0, 0, 0, 0,   0, 0, 240, 0, 0, 0,  0, 0, 0, 0,+        0, 0, 128, 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, 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, 0,  0, 0, 0, 0,   0, 0, 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 = *(marker = p);+    if (yych <= 0x7F) {+      if (yych <= '*') {+        if (yych == '\n')+          goto yy1205;+        if (yych <= ')')+          goto yy1209;+        goto yy1206;+      } else {+        if (yych <= '-') {+          if (yych <= ',')+            goto yy1209;+          goto yy1208;+        } else {+          if (yych == '_')+            goto yy1207;+          goto yy1209;+        }+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF) {+          if (yych >= 0xC2)+            goto yy1210;+        } else {+          if (yych <= 0xE0)+            goto yy1212;+          if (yych <= 0xEC)+            goto yy1213;+          goto yy1217;+        }+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy1213;+          goto yy1214;+        } else {+          if (yych <= 0xF3)+            goto yy1215;+          if (yych <= 0xF4)+            goto yy1216;+        }+      }+    }+  yy1205 : { return 0; }+  yy1206:+    yych = *(marker = ++p);+    if (yych <= 0x1F) {+      if (yych == '\t')+        goto yy1238;+      goto yy1205;+    } else {+      if (yych <= ' ')+        goto yy1238;+      if (yych == '*')+        goto yy1240;+      goto yy1205;+    }+  yy1207:+    yych = *(marker = ++p);+    if (yych <= 0x1F) {+      if (yych == '\t')+        goto yy1228;+      goto yy1205;+    } else {+      if (yych <= ' ')+        goto yy1228;+      if (yych == '_')+        goto yy1230;+      goto yy1205;+    }+  yy1208:+    yych = *(marker = ++p);+    if (yybm[0 + yych] & 16) {+      goto yy1218;+    }+    if (yych == '-')+      goto yy1220;+    goto yy1205;+  yy1209:+    yych = *++p;+    goto yy1205;+  yy1210:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1211;+    if (yych <= 0xBF)+      goto yy1209;+  yy1211:+    p = marker;+    goto yy1205;+  yy1212:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy1211;+    if (yych <= 0xBF)+      goto yy1210;+    goto yy1211;+  yy1213:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1211;+    if (yych <= 0xBF)+      goto yy1210;+    goto yy1211;+  yy1214:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy1211;+    if (yych <= 0xBF)+      goto yy1213;+    goto yy1211;+  yy1215:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1211;+    if (yych <= 0xBF)+      goto yy1213;+    goto yy1211;+  yy1216:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1211;+    if (yych <= 0x8F)+      goto yy1213;+    goto yy1211;+  yy1217:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1211;+    if (yych <= 0x9F)+      goto yy1210;+    goto yy1211;+  yy1218:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 16) {+      goto yy1218;+    }+    if (yych != '-')+      goto yy1211;+  yy1220:+    ++p;+    yych = *p;+    if (yych <= 0x1F) {+      if (yych == '\t')+        goto yy1220;+      goto yy1211;+    } else {+      if (yych <= ' ')+        goto yy1220;+      if (yych != '-')+        goto yy1211;+    }+  yy1222:+    ++p;+    yych = *p;+    if (yych <= '\r') {+      if (yych <= '\t') {+        if (yych <= 0x08)+          goto yy1211;+        goto yy1222;+      } else {+        if (yych <= '\n')+          goto yy1224;+        if (yych <= '\f')+          goto yy1211;+      }+    } else {+      if (yych <= ' ') {+        if (yych <= 0x1F)+          goto yy1211;+        goto yy1222;+      } else {+        if (yych == '-')+          goto yy1226;+        goto yy1211;+      }+    }+  yy1224:+    ++p;+    { return (bufsize_t)(p - start); }+  yy1226:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy1226;+    }+    if (yych <= 0x08)+      goto yy1211;+    if (yych <= '\n')+      goto yy1224;+    if (yych == '\r')+      goto yy1224;+    goto yy1211;+  yy1228:+    ++p;+    yych = *p;+    if (yych <= 0x1F) {+      if (yych == '\t')+        goto yy1228;+      goto yy1211;+    } else {+      if (yych <= ' ')+        goto yy1228;+      if (yych != '_')+        goto yy1211;+    }+  yy1230:+    ++p;+    yych = *p;+    if (yych <= 0x1F) {+      if (yych == '\t')+        goto yy1230;+      goto yy1211;+    } else {+      if (yych <= ' ')+        goto yy1230;+      if (yych != '_')+        goto yy1211;+    }+  yy1232:+    ++p;+    yych = *p;+    if (yych <= '\r') {+      if (yych <= '\t') {+        if (yych <= 0x08)+          goto yy1211;+        goto yy1232;+      } else {+        if (yych <= '\n')+          goto yy1234;+        if (yych <= '\f')+          goto yy1211;+      }+    } else {+      if (yych <= ' ') {+        if (yych <= 0x1F)+          goto yy1211;+        goto yy1232;+      } else {+        if (yych == '_')+          goto yy1236;+        goto yy1211;+      }+    }+  yy1234:+    ++p;+    { return (bufsize_t)(p - start); }+  yy1236:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy1236;+    }+    if (yych <= 0x08)+      goto yy1211;+    if (yych <= '\n')+      goto yy1234;+    if (yych == '\r')+      goto yy1234;+    goto yy1211;+  yy1238:+    ++p;+    yych = *p;+    if (yych <= 0x1F) {+      if (yych == '\t')+        goto yy1238;+      goto yy1211;+    } else {+      if (yych <= ' ')+        goto yy1238;+      if (yych != '*')+        goto yy1211;+    }+  yy1240:+    ++p;+    yych = *p;+    if (yych <= 0x1F) {+      if (yych == '\t')+        goto yy1240;+      goto yy1211;+    } else {+      if (yych <= ' ')+        goto yy1240;+      if (yych != '*')+        goto yy1211;+    }+  yy1242:+    ++p;+    yych = *p;+    if (yych <= '\r') {+      if (yych <= '\t') {+        if (yych <= 0x08)+          goto yy1211;+        goto yy1242;+      } else {+        if (yych <= '\n')+          goto yy1244;+        if (yych <= '\f')+          goto yy1211;+      }+    } else {+      if (yych <= ' ') {+        if (yych <= 0x1F)+          goto yy1211;+        goto yy1242;+      } else {+        if (yych == '*')+          goto yy1246;+        goto yy1211;+      }+    }+  yy1244:+    ++p;+    { return (bufsize_t)(p - start); }+  yy1246:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy1246;+    }+    if (yych <= 0x08)+      goto yy1211;+    if (yych <= '\n')+      goto yy1244;+    if (yych == '\r')+      goto yy1244;+    goto yy1211;+  }+}++// Scan an opening code fence.+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,   160, 160, 160, 160, 160, 160, 160, 160, 160, 0,   160, 160, 0,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 96,  160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+        144, 160, 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,+        0,   0,   0,   0,   0,   0,   0,   0,   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 = *(marker = p);+    if (yych <= 0xC1) {+      if (yych <= '`') {+        if (yych == '\n')+          goto yy1250;+        if (yych <= '_')+          goto yy1253;+        goto yy1251;+      } else {+        if (yych == '~')+          goto yy1252;+        if (yych <= 0x7F)+          goto yy1253;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy1254;+        if (yych <= 0xE0)+          goto yy1256;+        if (yych <= 0xEC)+          goto yy1257;+        goto yy1261;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy1257;+          goto yy1258;+        } else {+          if (yych <= 0xF3)+            goto yy1259;+          if (yych <= 0xF4)+            goto yy1260;+        }+      }+    }+  yy1250 : { return 0; }+  yy1251:+    yych = *(marker = ++p);+    if (yych == '`')+      goto yy1276;+    goto yy1250;+  yy1252:+    yych = *(marker = ++p);+    if (yych == '~')+      goto yy1262;+    goto yy1250;+  yy1253:+    yych = *++p;+    goto yy1250;+  yy1254:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1253;+  yy1255:+    p = marker;+    goto yy1250;+  yy1256:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1254;+    goto yy1255;+  yy1257:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1254;+    goto yy1255;+  yy1258:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1257;+    goto yy1255;+  yy1259:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1257;+    goto yy1255;+  yy1260:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0x8F)+      goto yy1257;+    goto yy1255;+  yy1261:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0x9F)+      goto yy1254;+    goto yy1255;+  yy1262:+    yych = *++p;+    if (yybm[0 + yych] & 16) {+      goto yy1263;+    }+    goto yy1255;+  yy1263:+    ++p;+    yych = *p;+    marker = p;+    if (yybm[0 + yych] & 32) {+      goto yy1265;+    }+    if (yych <= 0xE0) {+      if (yych <= '~') {+        if (yych <= 0x00)+          goto yy1255;+        if (yych <= '\r')+          goto yy1274;+        goto yy1263;+      } else {+        if (yych <= 0xC1)+          goto yy1255;+        if (yych <= 0xDF)+          goto yy1267;+        goto yy1268;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1273;+        goto yy1269;+      } else {+        if (yych <= 0xF0)+          goto yy1270;+        if (yych <= 0xF3)+          goto yy1271;+        if (yych <= 0xF4)+          goto yy1272;+        goto yy1255;+      }+    }+  yy1265:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 32) {+      goto yy1265;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy1255;+        if (yych <= '\r')+          goto yy1274;+        goto yy1255;+      } else {+        if (yych <= 0xDF)+          goto yy1267;+        if (yych <= 0xE0)+          goto yy1268;+        goto yy1269;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy1273;+        if (yych <= 0xEF)+          goto yy1269;+        goto yy1270;+      } else {+        if (yych <= 0xF3)+          goto yy1271;+        if (yych <= 0xF4)+          goto yy1272;+        goto yy1255;+      }+    }+  yy1267:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1265;+    goto yy1255;+  yy1268:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1267;+    goto yy1255;+  yy1269:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1267;+    goto yy1255;+  yy1270:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1269;+    goto yy1255;+  yy1271:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1269;+    goto yy1255;+  yy1272:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0x8F)+      goto yy1269;+    goto yy1255;+  yy1273:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0x9F)+      goto yy1267;+    goto yy1255;+  yy1274:+    ++p;+    p = marker;+    { return (bufsize_t)(p - start); }+  yy1276:+    yych = *++p;+    if (yybm[0 + yych] & 64) {+      goto yy1277;+    }+    goto yy1255;+  yy1277:+    ++p;+    yych = *p;+    marker = p;+    if (yybm[0 + yych] & 128) {+      goto yy1279;+    }+    if (yych <= 0xE0) {+      if (yych <= '`') {+        if (yych <= 0x00)+          goto yy1255;+        if (yych <= '\r')+          goto yy1288;+        goto yy1277;+      } else {+        if (yych <= 0xC1)+          goto yy1255;+        if (yych <= 0xDF)+          goto yy1281;+        goto yy1282;+      }+    } else {+      if (yych <= 0xEF) {+        if (yych == 0xED)+          goto yy1287;+        goto yy1283;+      } else {+        if (yych <= 0xF0)+          goto yy1284;+        if (yych <= 0xF3)+          goto yy1285;+        if (yych <= 0xF4)+          goto yy1286;+        goto yy1255;+      }+    }+  yy1279:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 128) {+      goto yy1279;+    }+    if (yych <= 0xEC) {+      if (yych <= 0xC1) {+        if (yych <= 0x00)+          goto yy1255;+        if (yych <= '\r')+          goto yy1288;+        goto yy1255;+      } else {+        if (yych <= 0xDF)+          goto yy1281;+        if (yych <= 0xE0)+          goto yy1282;+        goto yy1283;+      }+    } else {+      if (yych <= 0xF0) {+        if (yych <= 0xED)+          goto yy1287;+        if (yych <= 0xEF)+          goto yy1283;+        goto yy1284;+      } else {+        if (yych <= 0xF3)+          goto yy1285;+        if (yych <= 0xF4)+          goto yy1286;+        goto yy1255;+      }+    }+  yy1281:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1279;+    goto yy1255;+  yy1282:+    ++p;+    yych = *p;+    if (yych <= 0x9F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1281;+    goto yy1255;+  yy1283:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1281;+    goto yy1255;+  yy1284:+    ++p;+    yych = *p;+    if (yych <= 0x8F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1283;+    goto yy1255;+  yy1285:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0xBF)+      goto yy1283;+    goto yy1255;+  yy1286:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0x8F)+      goto yy1283;+    goto yy1255;+  yy1287:+    ++p;+    yych = *p;+    if (yych <= 0x7F)+      goto yy1255;+    if (yych <= 0x9F)+      goto yy1281;+    goto yy1255;+  yy1288:+    ++p;+    p = marker;+    { return (bufsize_t)(p - start); }+  }+}++// Scan a closing code fence with length at least len.+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,   64, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,+        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,+        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0,+        0, 0, 0, 0, 0, 0, 0, 0, 0,   0,  0,  0, 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 = *(marker = p);+    if (yych <= 0xC1) {+      if (yych <= '`') {+        if (yych == '\n')+          goto yy1292;+        if (yych <= '_')+          goto yy1295;+        goto yy1293;+      } else {+        if (yych == '~')+          goto yy1294;+        if (yych <= 0x7F)+          goto yy1295;+      }+    } else {+      if (yych <= 0xED) {+        if (yych <= 0xDF)+          goto yy1296;+        if (yych <= 0xE0)+          goto yy1298;+        if (yych <= 0xEC)+          goto yy1299;+        goto yy1303;+      } else {+        if (yych <= 0xF0) {+          if (yych <= 0xEF)+            goto yy1299;+          goto yy1300;+        } else {+          if (yych <= 0xF3)+            goto yy1301;+          if (yych <= 0xF4)+            goto yy1302;+        }+      }+    }+  yy1292 : { return 0; }+  yy1293:+    yych = *(marker = ++p);+    if (yych == '`')+      goto yy1311;+    goto yy1292;+  yy1294:+    yych = *(marker = ++p);+    if (yych == '~')+      goto yy1304;+    goto yy1292;+  yy1295:+    yych = *++p;+    goto yy1292;+  yy1296:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1297;+    if (yych <= 0xBF)+      goto yy1295;+  yy1297:+    p = marker;+    goto yy1292;+  yy1298:+    yych = *++p;+    if (yych <= 0x9F)+      goto yy1297;+    if (yych <= 0xBF)+      goto yy1296;+    goto yy1297;+  yy1299:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1297;+    if (yych <= 0xBF)+      goto yy1296;+    goto yy1297;+  yy1300:+    yych = *++p;+    if (yych <= 0x8F)+      goto yy1297;+    if (yych <= 0xBF)+      goto yy1299;+    goto yy1297;+  yy1301:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1297;+    if (yych <= 0xBF)+      goto yy1299;+    goto yy1297;+  yy1302:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1297;+    if (yych <= 0x8F)+      goto yy1299;+    goto yy1297;+  yy1303:+    yych = *++p;+    if (yych <= 0x7F)+      goto yy1297;+    if (yych <= 0x9F)+      goto yy1296;+    goto yy1297;+  yy1304:+    yych = *++p;+    if (yybm[0 + yych] & 32) {+      goto yy1305;+    }+    goto yy1297;+  yy1305:+    ++p;+    yych = *p;+    marker = p;+    if (yybm[0 + yych] & 64) {+      goto yy1307;+    }+    if (yych <= '\f') {+      if (yych <= 0x08)+        goto yy1297;+      if (yych <= '\n')+        goto yy1309;+      goto yy1297;+    } else {+      if (yych <= '\r')+        goto yy1309;+      if (yych == '~')+        goto yy1305;+      goto yy1297;+    }+  yy1307:+    ++p;+    yych = *p;+    if (yybm[0 + yych] & 64) {+      goto yy1307;+    }+    if (yych <= 0x08)+      goto yy1297;+    if (yych <= '\n')+      goto yy1309;+    if (yych != '\r')+      goto yy1297;+  yy1309:+    ++p;+    p = marker;+    { return (bufsize_t)(p - start); }+  yy1311:+    yych = *++p;+    if (yybm[0 + yych] & 128) {+      goto yy1312;+    }+    goto yy1297;+  yy1312:+    ++p;+    yych = *p;+    marker = p;     if (yybm[0 + yych] & 128) {       goto yy1312;     }
cbits/xml.c view
@@ -149,7 +149,7 @@  char *cmark_render_xml(cmark_node *root, int options) {   char *result;-  cmark_strbuf xml = GH_BUF_INIT;+  cmark_strbuf xml = CMARK_BUF_INIT(cmark_node_mem(root));   cmark_event_type ev_type;   cmark_node *cur;   struct render_state state = {&xml, 0};
cmark.cabal view
@@ -1,12 +1,12 @@ name:                cmark-version:             0.5.2.1+version:             0.5.3 synopsis:            Fast, accurate CommonMark (Markdown) parser and renderer description:   This package provides Haskell bindings for   <https://github.com/jgm/cmark libcmark>, the reference   parser for <http://commonmark.org CommonMark>, a fully   specified variant of Markdown. It includes sources for-  libcmark (0.25.2) and does not require prior installation of the+  libcmark (0.26.0) and does not require prior installation of the   C library.  homepage:            https://github.com/jgm/commonmark-hs