user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<_scan_link_url>:
  endbr64
  movzbl (%rdi),%ecx
  mov    %rdi,%rdx
  cmp    $0x28,%cl
  ja     L1513
  cmp    $0x1f,%cl
  ja     L571
  cmp    $0xa,%cl
  je     L278
L1293:
  xor    %r8d,%r8d
L11:
  mov    %r8d,%eax
  ret
  nopl   0x0(%rax)
L1513:
  cmp    $0x3c,%cl
  ja     L400
  xor    %r8d,%r8d
  cmp    $0x29,%cl
  je     L11
  cmp    $0x3c,%cl
  je     L1441
  movzbl 0x1(%rdx),%esi
  lea    0x1(%rdi),%rdi
  jmp    L610
  nopl   0x0(%rax,%rax,1)
L400:
  lea    0x1(%rdi),%rdi
  mov    %rdi,%rax
  cmp    $0x5c,%cl
  je     L1005
  movzbl 0x1(%rdx),%esi
  jmp    L610
  cs nopw 0x0(%rax,%rax,1)
L571:
  movzbl 0x1(%rdx),%r9d
  lea    0x1(%rdi),%rdi
  mov    %rdi,%rax
  mov    %r9d,%esi
  cmp    $0x20,%cl
  je     L1640
  cmp    $0x28,%cl
  je     L424
L610:
  mov    %esi,%ecx
  mov    %rdi,%rax
  xor    %r10d,%r10d
  cmp    $0x28,%cl
  ja     L1665
L199:
  cmp    $0x20,%cl
  jbe    L886
L1210:
  mov    %rax,%rdi
  lea    D11(%rip),%rsi
  cmp    $0x28,%cl
  je     L778
L1818:
  movzbl 0x1(%rax),%ecx
  xor    %r10d,%r10d
  add    $0x1,%rax
  cmp    $0x28,%cl
  jbe    L199
  nopw   0x0(%rax,%rax,1)
L1665:
  cmp    $0x29,%cl
  je     L886
L510:
  cmp    $0x5c,%cl
  jne    L1818
L153:
  movzbl 0x1(%rax),%ecx
  lea    0x1(%rax),%rsi
  cmp    $0x40,%cl
  ja     L1726
  cmp    $0x20,%cl
  jbe    L1429
  sub    $0x30,%ecx
  cmp    $0x9,%cl
  jbe    L1429
L1062:
  mov    %rsi,%rax
  jmp    L1818
  nopl   0x0(%rax)
L1005:
  movzbl 0x1(%rdx),%ecx
  cmp    $0x40,%cl
  ja     L999
  xor    %r8d,%r8d
  cmp    $0x20,%cl
  jbe    L11
  sub    $0x30,%ecx
  cmp    $0x9,%cl
  ja     L1818
  jmp    L11
  cs nopw 0x0(%rax,%rax,1)
L278:
  mov    %rdi,%rax
  lea    D11(%rip),%rsi
L1113:
  movzbl 0x1(%rax),%r9d
  add    $0x1,%rax
L168:
  movzbl %r9b,%ecx
  testb  $0x8,(%rsi,%rcx,1)
  jne    L1113
  cmp    $0x29,%r9b
  ja     L1887
  mov    %eax,%r8d
  sub    %edx,%r8d
  cmp    $0x20,%r9b
  jbe    L11
  cmp    $0x27,%r9b
  jbe    L1818
  cmp    $0x28,%r9b
  jne    L886
  mov    %rax,%rdi
  xor    %r10d,%r10d
  nopl   0x0(%rax)
L778:
  movzbl 0x1(%rax),%r9d
  lea    0x1(%rax),%rcx
L904:
  movzbl %r9b,%eax
  testb  $0x10,(%rsi,%rax,1)
  jne    L1312
  cmp    $0x28,%r9b
  jbe    L363
  lea    0x1(%rcx),%rax
  cmp    $0x29,%r9b
  je     L618
  movzbl 0x1(%rcx),%ecx
  cmp    $0x40,%cl
  ja     L195
  cmp    $0x20,%cl
  jbe    L363
  sub    $0x30,%ecx
  cmp    $0x9,%cl
  ja     L778
  nopl   (%rax)
L363:
  mov    %rdi,%rax
L1429:
  cmp    $0x2,%r10d
  je     L886
  sub    %rdx,%rax
  xor    %r8d,%r8d
  test   %r10d,%r10d
  cmove  %eax,%r8d
  jmp    L11
  nopl   0x0(%rax,%rax,1)
L1640:
  lea    D11(%rip),%rsi
  jmp    L168
  nopl   0x0(%rax)
L478:
  add    $0x1,%rax
L886:
  mov    %eax,%r8d
  sub    %edx,%r8d
  mov    %r8d,%eax
  ret
  xchg   %ax,%ax
L1441:
  lea    0x1(%rdi),%rax
  movzbl 0x1(%rdi),%edi
  lea    D11(%rip),%rsi
  mov    %rdi,%rcx
  testb  $0x20,(%rsi,%rdi,1)
  jne    L0
  cmp    $0x27,%dil
  ja     L1129
  test   %dil,%dil
  je     L492
  cmp    $0xa,%dil
  je     L492
L1823:
  mov    %rax,%r8
  xor    %r10d,%r10d
  nop
L127:
  movzbl 0x1(%rax),%edi
  add    $0x1,%rax
  testb  $0x40,(%rsi,%rdi,1)
  jne    L127
  cmp    $0x3d,%dil
  jbe    L1004
  cmp    $0x3e,%dil
  je     L478
  xchg   %ax,%ax
L1595:
  mov    %rax,%rdi
  movzbl 0x1(%rax),%r9d
  add    $0x1,%rax
  cmpb   $0x0,(%rsi,%r9,1)
  mov    %r9,%rcx
  js     L1595
  cmp    $0xa,%r9b
  jbe    L86
  cmp    $0x3e,%r9b
  jne    L127
  lea    0x2(%rdi),%rax
  movzbl 0x2(%rdi),%edi
  testb  $0x40,(%rsi,%rdi,1)
  jne    L1202
  cmp    $0x3d,%dil
  jbe    L886
  mov    $0x2,%r10d
  cmp    $0x3e,%dil
  je     L478
  mov    %rax,%r8
  jmp    L1595
  nopw   0x0(%rax,%rax,1)
L1887:
  cmp    $0x3c,%r9b
  ja     L1488
  jne    L1818
L0:
  movzbl 0x1(%rax),%edi
  add    $0x1,%rax
  mov    %rdi,%rcx
  testb  $0x20,(%rsi,%rdi,1)
  jne    L0
  cmp    $0x27,%dil
  ja     L1129
  cmp    $0xa,%dil
  je     L886
  mov    %rax,%r8
  xor    %r10d,%r10d
  test   %dil,%dil
  jne    L127
  jmp    L886
  nopl   0x0(%rax)
L424:
  cmp    $0x28,%r9b
  je     L1293
  cmp    $0x20,%r9b
  jbe    L1293
  mov    %rdi,%rcx
  mov    $0x1,%r10d
  lea    D11(%rip),%rsi
  jmp    L904
  nopl   0x0(%rax)
L1726:
  cmp    $0x60,%cl
  ja     L311
  cmp    $0x5a,%cl
  jbe    L1429
  jmp    L1062
  nopl   0x0(%rax,%rax,1)
L999:
  cmp    $0x60,%cl
  ja     L1264
  cmp    $0x5a,%cl
  jbe    L1293
  jmp    L1818
  nop
L311:
  sub    $0x7b,%ecx
  cmp    $0x3,%cl
  ja     L1429
  jmp    L1062
  nopl   0x0(%rax)
L1129:
  cmp    $0x29,%cl
  ja     L1350
  cmp    $0x28,%cl
  jne    L1823
L1245:
  xor    %r10d,%r10d
L472:
  mov    %rax,%r8
  jmp    L214
  nopw   0x0(%rax,%rax,1)
L1767:
  cmp    $0xa,%al
  jbe    L530
  cmp    $0x20,%al
  jbe    L319
  cmp    $0x27,%al
  ja     L1252
L1133:
  mov    %rdi,%rax
L214:
  lea    0x1(%rax),%rdi
  movzbl 0x1(%rax),%eax
  cmp    $0x29,%al
  jbe    L1767
  cmp    $0x3d,%al
  ja     L960
  cmp    $0x3c,%al
  jne    L1133
  mov    %rdi,%rax
  mov    %r8,%rdi
  jmp    L778
  nopw   0x0(%rax,%rax,1)
L1312:
  mov    %rcx,%rax
  jmp    L778
L960:
  cmp    $0x3e,%al
  je     L1591
  cmp    $0x5c,%al
  jne    L1133
L1540:
  movzbl 0x1(%rdi),%ecx
  lea    0x1(%rdi),%rax
  cmp    $0x3e,%cl
  ja     L1054
L881:
  cmp    $0x20,%cl
  jbe    L1084
  cmp    $0x2f,%cl
  jbe    L1223
  cmp    $0x39,%cl
  jbe    L127
L1560:
  cmp    $0x3e,%cl
  jne    L1223
  lea    0x1(%rax),%rdi
  movzbl 0x1(%rax),%eax
  cmp    $0x29,%al
  jbe    L1445
  cmp    $0x3d,%al
  jbe    L151
  cmp    $0x3e,%al
  je     L1591
  cmp    $0x5c,%al
  jne    L703
  movzbl 0x1(%rdi),%ecx
  mov    %rdi,%r8
  mov    $0x2,%r10d
  lea    0x1(%rdi),%rax
  cmp    $0x3e,%cl
  jbe    L881
L1054:
  cmp    $0x5c,%cl
  ja     L1328
  cmp    $0x40,%cl
  jbe    L1223
  cmp    $0x5a,%cl
  jbe    L127
  cmp    $0x5b,%cl
  je     L1223
  movzbl 0x2(%rdi),%ecx
  lea    0x2(%rdi),%rax
  cmp    $0x28,%cl
  jbe    L753
  cmp    $0x3e,%cl
  ja     L1865
  cmp    $0x29,%cl
  jne    L1560
  jmp    L0
  nopw   0x0(%rax,%rax,1)
L1488:
  cmp    $0x5c,%r9b
  jne    L1818
  xor    %r10d,%r10d
  jmp    L153
  nopw   0x0(%rax,%rax,1)
L1264:
  sub    $0x7b,%ecx
  cmp    $0x3,%cl
  ja     L1293
  jmp    L1818
  nopl   0x0(%rax)
L1350:
  cmp    $0x3d,%cl
  jbe    L1818
  cmp    $0x3e,%cl
  je     L1554
L80:
  movzbl 0x1(%rax),%ecx
  xor    %r10d,%r10d
  lea    0x1(%rax),%r8
  cmp    $0x3e,%cl
  ja     L349
L1687:
  cmp    $0x20,%cl
  jbe    L839
  cmp    $0x2f,%cl
  jbe    L1404
  cmp    $0x39,%cl
  jbe    L582
L21:
  cmp    $0x3e,%cl
  jne    L1404
  movzbl 0x1(%r8),%edi
  lea    0x1(%r8),%rax
  testb  $0x20,(%rsi,%rdi,1)
  jne    L0
  cmp    $0x27,%dil
  jbe    L1450
  cmp    $0x29,%dil
  jbe    L1805
  cmp    $0x3d,%dil
  jbe    L1818
  cmp    $0x3e,%dil
  je     L1554
  movzbl 0x1(%rax),%ecx
  mov    $0x2,%r10d
  lea    0x1(%rax),%r8
  cmp    $0x3e,%cl
  jbe    L1687
L349:
  cmp    $0x5c,%cl
  ja     L468
  cmp    $0x40,%cl
  jbe    L1404
  cmp    $0x5a,%cl
  jbe    L582
  cmp    $0x5b,%cl
  je     L1404
  movzbl 0x2(%rax),%ecx
  lea    0x2(%rax),%r8
  cmp    $0x28,%cl
  jbe    L63
  cmp    $0x3e,%cl
  ja     L442
  cmp    $0x29,%cl
  jne    L21
L495:
  mov    %r8,%rax
  xor    %r10d,%r10d
  jmp    L127
  cs nopw 0x0(%rax,%rax,1)
L86:
  je     L1004
  test   %cl,%cl
  jne    L127
L1004:
  mov    %r8,%rax
  jmp    L1429
L1450:
  test   %dil,%dil
  je     L886
  cmp    $0xa,%dil
  je     L886
  nopl   (%rax)
L1202:
  mov    %rax,%r8
  mov    $0x2,%r10d
  jmp    L127
  cs nopw 0x0(%rax,%rax,1)
L618:
  mov    %rcx,%rax
  jmp    L1818
  nopl   0x0(%rax,%rax,1)
L195:
  cmp    $0x60,%cl
  ja     L1032
  cmp    $0x5a,%cl
  jbe    L363
  jmp    L778
  nopl   0x0(%rax,%rax,1)
L492:
  mov    $0x1,%r8d
  jmp    L11
L442:
  cmp    $0x5c,%cl
  jne    L1404
  mov    %r8,%rax
  jmp    L80
L1865:
  cmp    $0x5c,%cl
  jne    L1223
  mov    %rax,%rdi
  jmp    L1540
L1032:
  sub    $0x7b,%ecx
  cmp    $0x3,%cl
  ja     L363
  jmp    L778
L1554:
  mov    %rax,%rcx
  add    $0x1,%rax
  movzbl 0x1(%rcx),%ecx
  cmp    $0x29,%cl
  je     L886
  cmp    $0x20,%cl
  jbe    L886
  mov    $0x2,%r10d
  cmp    $0x28,%cl
  ja     L510
  jmp    L1210
L530:
  je     L1004
  test   %al,%al
  je     L1004
L319:
  mov    %rdi,%rax
  jmp    L127
L468:
  cmp    $0x60,%cl
  jbe    L1404
  sub    $0x7b,%ecx
  cmp    $0x3,%cl
  ja     L582
L1404:
  mov    %r8,%rax
  jmp    L0
L753:
  cmp    $0xa,%cl
  jbe    L86
  cmp    $0x28,%cl
  je     L127
  cmp    $0x20,%cl
  jbe    L127
L1223:
  mov    %rax,%rdi
  jmp    L1133
L839:
  test   %cl,%cl
  je     L1429
  cmp    $0xa,%cl
  je     L1429
L582:
  mov    %rax,%rcx
  mov    %r8,%rax
  mov    %rcx,%r8
  jmp    L127
L703:
  mov    %rdi,%r8
  mov    $0x2,%r10d
  jmp    L1133
L1252:
  cmp    $0x29,%al
  jne    L319
L634:
  mov    %rdi,%rax
  jmp    L0
L1591:
  movzbl 0x1(%rdi),%r9d
  lea    0x1(%rdi),%rax
  cmp    $0x20,%r9b
  jbe    L886
  cmp    $0x28,%r9b
  je     L886
  mov    %rax,%rdi
  mov    %rax,%rcx
  mov    $0x2,%r10d
  jmp    L904
L1805:
  cmp    $0x28,%dil
  jne    L1202
  mov    $0x2,%r10d
  jmp    L472
L63:
  cmp    $0xa,%cl
  ja     L678
  test   %cl,%cl
  je     L1691
  cmp    $0xa,%cl
  jne    L495
L1691:
  sub    %edx,%r8d
  jmp    L11
L151:
  cmp    $0x3c,%al
  jne    L703
  mov    %rdi,%rax
  mov    $0x2,%r10d
  jmp    L778
L1445:
  cmp    $0xa,%al
  jbe    L708
  cmp    $0x20,%al
  jbe    L984
  cmp    $0x27,%al
  jbe    L703
  cmp    $0x28,%al
  jne    L634
L984:
  mov    %rdi,%rax
  mov    %rdi,%r8
  mov    $0x2,%r10d
  jmp    L127
L1084:
  test   %cl,%cl
  je     L1004
  cmp    $0xa,%cl
  jne    L127
  jmp    L1004
L1328:
  cmp    $0x60,%cl
  jbe    L1223
  sub    $0x7b,%ecx
  cmp    $0x3,%cl
  jbe    L1223
  jmp    L127
L678:
  cmp    $0x20,%cl
  jbe    L495
  mov    %r8,%rax
  cmp    $0x28,%cl
  jne    L0
  jmp    L1245
L708:
  je     L1387
  test   %al,%al
  jne    L984
L1387:
  mov    %rdi,%rax
  jmp    L886
```

tool_calls: name: read_data
arguments: data_label: D11
data_type: string

tool: 

assistant: ```c
extern int _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, 64, 64, 64, 64, 64, 64, 64, 64, 64, 8, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 72, 112, 112, 112, 112, 112, 112, 112, 64, 64, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 16, 112, 16, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 128, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    };
    yych = *p;
    if (yych <= '(') {
      if (yych <= 0x1F) {
        if (yych == '\n')
          goto yy1104;
        goto yy1112;
      } else {
        if (yych <= ' ')
          goto yy1106;
        if (yych <= '\'')
          goto yy1108;
        goto yy1111;
      }
    } else {
      if (yych <= '<') {
        if (yych <= ')')
          goto yy1112;
        if (yych <= ';')
          goto yy1108;
        goto yy1107;
      } else {
        if (yych == '\\')
          goto yy1109;
        goto yy1108;
      }
    }
  yy1103 : { return (p - start); }
  yy1104:
    yyaccept = 0;
    marker = ++p;
    yych = *p;
  yy1105:
    if (yybm[0 + yych] & 8) {
      goto yy1104;
    }
    if (yych <= ')') {
      if (yych <= ' ')
        goto yy1103;
      if (yych <= '\'')
        goto yy1117;
      if (yych <= '(')
        goto yy1113;
      goto yy1103;
    } else {
      if (yych <= '<') {
        if (yych <= ';')
          goto yy1117;
        goto yy1120;
      } else {
        if (yych == '\\')
          goto yy1119;
        goto yy1117;
      }
    }
  yy1106:
    yyaccept = 0;
    yych = *(marker = ++p);
    goto yy1105;
  yy1107:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yybm[0 + yych] & 32) {
      goto yy1120;
    }
    if (yych <= '\'') {
      if (yych <= 0x00)
        goto yy1103;
      if (yych == '\n')
        goto yy1103;
      goto yy1127;
    } else {
      if (yych <= ')') {
        if (yych <= '(')
          goto yy1125;
        goto yy1127;
      } else {
        if (yych <= '=')
          goto yy1117;
        if (yych <= '>')
          goto yy1122;
        goto yy1124;
      }
    }
  yy1108:
    yyaccept = 0;
    yych = *(marker = ++p);
    goto yy1118;
  yy1109:
    ++p;
    if ((yych = *p) <= '@') {
      if (yych <= ' ')
        goto yy1110;
      if (yych <= '/')
        goto yy1117;
      if (yych >= ':')
        goto yy1117;
    } else {
      if (yych <= '`') {
        if (yych >= '[')
          goto yy1117;
      } else {
        if (yych <= 'z')
          goto yy1110;
        if (yych <= '~')
          goto yy1117;
      }
    }
  yy1110 : { return 0; }
  yy1111:
    yyaccept = 1;
    yych = *(marker = ++p);
    if (yych <= ' ')
      goto yy1110;
    if (yych == '(')
      goto yy1110;
    goto yy1114;
  yy1112:
    yych = *++p;
    goto yy1110;
  yy1113:
    ++p;
    yych = *p;
  yy1114:
    if (yybm[0 + yych] & 16) {
      goto yy1113;
    }
    if (yych <= '(')
      goto yy1115;
    if (yych <= ')')
      goto yy1117;
    goto yy1116;
  yy1115:
    p = marker;
    if (yyaccept <= 1) {
      if (yyaccept == 0) {
        goto yy1103;
      } else {
        goto yy1110;
      }
    } else {
      goto yy1123;
    }
  yy1116:
    ++p;
    yych = *p;
    if (yych <= '@') {
      if (yych <= ' ')
        goto yy1115;
      if (yych <= '/')
        goto yy1113;
      if (yych <= '9')
        goto yy1115;
      goto yy1113;
    } else {
      if (yych <= '`') {
        if (yych <= 'Z')
          goto yy1115;
        goto yy1113;
      } else {
        if (yych <= 'z')
          goto yy1115;
        if (yych <= '~')
          goto yy1113;
        goto yy1115;
      }
    }
  yy1117:
    yyaccept = 0;
    marker = ++p;
    yych = *p;
  yy1118:
    if (yych <= '(') {
      if (yych <= ' ')
        goto yy1103;
      if (yych <= '\'')
        goto yy1117;
      goto yy1113;
    } else {
      if (yych <= ')')
        goto yy1103;
      if (yych != '\\')
        goto yy1117;
    }
  yy1119:
    ++p;
    yych = *p;
    if (yych <= '@') {
      if (yych <= ' ')
        goto yy1115;
      if (yych <= '/')
        goto yy1117;
      if (yych <= '9')
        goto yy1115;
      goto yy1117;
    } else {
      if (yych <= '`') {
        if (yych <= 'Z')
          goto yy1115;
        goto yy1117;
      } else {
        if (yych <= 'z')
          goto yy1115;
        if (yych <= '~')
          goto yy1117;
        goto yy1115;
      }
    }
  yy1120:
    yyaccept = 0;
    marker = ++p;
    yych = *p;
    if (yybm[0 + yych] & 32) {
      goto yy1120;
    }
    if (yych <= '\'') {
      if (yych <= 0x00)
        goto yy1103;
      if (yych == '\n')
        goto yy1103;
      goto yy1127;
    } else {
      if (yych <= ')') {
        if (yych <= '(')
          goto yy1125;
        goto yy1127;
      } else {
        if (yych <= '=')
          goto yy1117;
        if (yych >= '?')
          goto yy1124;
      }
    }
  yy1122:
    yyaccept = 2;
    yych = *(marker = ++p);
    if (yych <= ' ')
      goto yy1123;
    if (yych != ')')
      goto yy1118;
  yy1123 : { return (p - start); }
  yy1124:
    ++p;
    yych = *p;
    if (yych <= '>') {
      if (yych <= ' ') {
        if (yych <= 0x00)
          goto yy1115;
        if (yych == '\n')
          goto yy1115;
        goto yy1127;
      } else {
        if (yych <= '/')
          goto yy1120;
        if (yych <= '9')
          goto yy1127;
        if (yych <= '=')
          goto yy1120;
        goto yy1137;
      }
    } else {
      if (yych <= '\\') {
        if (yych <= '@')
          goto yy1120;
        if (yych <= 'Z')
          goto yy1127;
        if (yych <= '[')
          goto yy1120;
        goto yy1138;
      } else {
        if (yych <= '`')
          goto yy1120;
        if (yych <= 'z')
          goto yy1127;
        if (yych <= '~')
          goto yy1120;
        goto yy1127;
      }
    }
  yy1125:
    ++p;
    yych = *p;
    if (yych <= ')') {
      if (yych <= '\n') {
        if (yych <= 0x00)
          goto yy1115;
        if (yych >= '\n')
          goto yy1115;
      } else {
        if (yych <= ' ')
          goto yy1127;
        if (yych <= '\'')
          goto yy1125;
        if (yych >= ')')
          goto yy1120;
      }
    } else {
      if (yych <= '=') {
        if (yych == '<')
          goto yy1113;
        goto yy1125;
      } else {
        if (yych <= '>')
          goto yy1133;
        if (yych == '\\')
          goto yy1134;
        goto yy1125;
      }
    }
  yy1127:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 64) {
      goto yy1127;
    }
    if (yych <= '=')
      goto yy1115;
    if (yych >= '?')
      goto yy1130;
  yy1129:
    yych = *++p;
    goto yy1123;
  yy1130:
    ++p;
    yych = *p;
    if (yybm[0 + yych] & 128) {
      goto yy1130;
    }
    if (yych <= '\n') {
      if (yych <= 0x00)
        goto yy1115;
      if (yych <= '\t')
        goto yy1127;
      goto yy1115;
    } else {
      if (yych != '>')
        goto yy1127;
    }
    yyaccept = 2;
    marker = ++p;
    yych = *p;
    if (yybm[0 + yych] & 64) {
      goto yy1127;
    }
    if (yych <= '=')
      goto yy1123;
    if (yych <= '>')
      goto yy1129;
    goto yy1130;
  yy1133:
    yyaccept = 2;
    yych = *(marker = ++p);
    if (yych <= ' ')
      goto yy1123;
    if (yych == '(')
      goto yy1123;
    goto yy1114;
  yy1134:
    ++p;
    yych = *p;
    if (yych <= '>') {
      if (yych <= ' ') {
        if (yych <= 0x00)
          goto yy1115;
        if (yych == '\n')
          goto yy1115;
        goto yy1127;
      } else {
        if (yych <= '/')
          goto yy1125;
        if (yych <= '9')
          goto yy1127;
        if (yych <= '=')
          goto yy1125;
      }
    } else {
      if (yych <= '\\') {
        if (yych <= '@')
          goto yy1125;
        if (yych <= 'Z')
          goto yy1127;
        if (yych <= '[')
          goto yy1125;
        goto yy1136;
      } else {
        if (yych <= '`')
          goto yy1125;
        if (yych <= 'z')
          goto yy1127;
        if (yych <= '~')
          goto yy1125;
        goto yy1127;
      }
    }
  yy1135:
    yyaccept = 2;
    marker = ++p;
    yych = *p;
    if (yych <= ')') {
      if (yych <= '\n') {
        if (yych <= 0x00)
          goto yy1123;
        if (yych <= '\t')
          goto yy1127;
        goto yy1123;
      } else {
        if (yych <= ' ')
          goto yy1127;
        if (yych <= '\'')
          goto yy1125;
        if (yych <= '(')
          goto yy1127;
        goto yy1120;
      }
    } else {
      if (yych <= '=') {
        if (yych == '<')
          goto yy1113;
        goto yy1125;
      } else {
        if (yych <= '>')
          goto yy1133;
        if (yych == '\\')
          goto yy1134;
        goto yy1125;
      }
    }
  yy1136:
    ++p;
    yych = *p;
    if (yych <= '(') {
      if (yych <= '\n') {
        if (yych <= 0x00)
          goto yy1115;
        if (yych <= '\t')
          goto yy1127;
        goto yy1115;
      } else {
        if (yych <= ' ')
          goto yy1127;
        if (yych <= '\'')
          goto yy1125;
        goto yy1127;
      }
    } else {
      if (yych <= '>') {
        if (yych <= ')')
          goto yy1120;
        if (yych <= '=')
          goto yy1125;
        goto yy1135;
      } else {
        if (yych == '\\')
          goto yy1134;
        goto yy1125;
      }
    }
  yy1137:
    yyaccept = 2;
    marker = ++p;
    yych = *p;
    if (yybm[0 + yych] & 32) {
      goto yy1120;
    }
    if (yych <= '\'') {
      if (yych <= 0x00)
        goto yy1123;
      if (yych == '\n')
        goto yy1123;
      goto yy1127;
    } else {
      if (yych <= ')') {
        if (yych <= '(')
          goto yy1125;
        goto yy1127;
      } else {
        if (yych <= '=')
          goto yy1117;
        if (yych <= '>')
          goto yy1122;
        goto yy1124;
      }
    }
  yy1138:
    yyaccept = 0;
    marker = ++p;
    yych = *p;
    if (yych <= '(') {
      if (yych <= '\n') {
        if (yych <= 0x00)
          goto yy1103;
        if (yych <= '\t')
          goto yy1127;
        goto yy1103;
      } else {
        if (yych <= ' ')
          goto yy1127;
        if (yych <= '\'')
          goto yy1120;
        goto yy1125;
      }
    } else {
      if (yych <= '>') {
        if (yych <= ')')
          goto yy1127;
        if (yych <= '=')
          goto yy1120;
        goto yy1137;
      } else {
        if (yych == '\\')
          goto yy1124;
        goto yy1120;
      }
    }
  }
}
```